in src/main/java/com/uber/rss/decoders/StreamServerMessageDecoder.java [317:376]
private Object getControlMessage(ChannelHandlerContext ctx,
int controlMessageType,
ByteBuf in) {
switch (controlMessageType) {
case MessageConstants.MESSAGE_ConnectUploadRequest:
ConnectUploadRequest connectUploadRequest = ConnectUploadRequest.deserialize(in);
metricGroupContainer.removeMetricGroup(user);
user = connectUploadRequest.getUser();
metrics = metricGroupContainer.getMetricGroup(user);
return connectUploadRequest;
case MessageConstants.MESSAGE_ConnectUploadResponse:
return ConnectUploadResponse.deserialize(in);
case MessageConstants.MESSAGE_StartUploadMessage:
return StartUploadMessage.deserialize(in);
case MessageConstants.MESSAGE_FinishUploadMessage:
return FinishUploadMessage.deserialize(in);
case MessageConstants.MESSAGE_HeartbeatMessage:
HeartbeatMessage heartbeatMessage = HeartbeatMessage.deserialize(in);
return heartbeatMessage;
case MessageConstants.MESSAGE_GetBusyStatusRequest:
GetBusyStatusRequest getBusyStatusRequest = GetBusyStatusRequest.deserialize(in);
return getBusyStatusRequest;
case MessageConstants.MESSAGE_GetBusyStatusResponse:
GetBusyStatusResponse getBusyStatusResponse = GetBusyStatusResponse.deserialize(in);
return getBusyStatusResponse;
case MessageConstants.MESSAGE_ConnectDownloadRequest:
ConnectDownloadRequest connectDownloadRequest = ConnectDownloadRequest.deserialize(in);
metricGroupContainer.removeMetricGroup(user);
user = connectDownloadRequest.getUser();
metrics = metricGroupContainer.getMetricGroup(user);
return connectDownloadRequest;
case MessageConstants.MESSAGE_ConnectDownloadResponse:
return ConnectDownloadResponse.deserialize(in);
case MessageConstants.MESSAGE_GetDataAvailabilityRequest:
return GetDataAvailabilityRequest.deserialize(in);
case MessageConstants.MESSAGE_GetDataAvailabilityResponse:
return GetDataAvailabilityResponse.deserialize(in);
case MessageConstants.MESSAGE_ConnectNotifyRequest:
return ConnectNotifyRequest.deserialize(in);
case MessageConstants.MESSAGE_ConnectNotifyResponse:
return ConnectNotifyResponse.deserialize(in);
case MessageConstants.MESSAGE_FinishApplicationJobRequest:
return FinishApplicationJobRequestMessage.deserialize(in);
case MessageConstants.MESSAGE_FinishApplicationAttemptRequest:
return FinishApplicationAttemptRequestMessage.deserialize(in);
case MessageConstants.MESSAGE_ConnectRegistryRequest:
return ConnectRegistryRequest.deserialize(in);
case MessageConstants.MESSAGE_ConnectRegistryResponse:
return ConnectRegistryResponse.deserialize(in);
case MessageConstants.MESSAGE_RegisterServerRequest:
return RegisterServerRequestMessage.deserialize(in);
case MessageConstants.MESSAGE_GetServersRequest:
return GetServersRequestMessage.deserialize(in);
default:
throw new RssException(String.format(
"Unsupported control message type %s from client %s",
controlMessageType,
NettyUtils.getServerConnectionInfo(ctx)));
}
}