private Object getControlMessage()

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)));
    }
  }