Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: remove hasMetaData, clarify descriptions.

...

Every message will adhere to the following generic message definition. A Message will comprise of a MessageHeader and either a Request or Response component.

Message = MessageHeader  MessageHeader (Request Response)Description
MessageHeadertype = MessageHeaderThe MessageHeader corresponding to this Message.
Requesttype = RequestThis field will contain the Request component.
Responsetype = ResponseThis field will contain the Response component.

...

MessageHeader = Size CorrelationId isPartialMessage hasMetaDataDescription
Sizetype = int32Size of request or response (not including this header)
CorrelationIdtype = int32The correlationID used to track match a request /responseto its corresponding response. This will be important if/when we allow for out-of-order messages in the future.
isPartialMessagetype = booleanIs this a partial message? hasMetaDatatype = booleanDoes the message have meta data associated with itThe exact semantics of partial messages is to be determined.

Request

The request would contain the fixed size request header, optional metadata and request API parameters. 

...

The ResponseHeader corresponding to this Response
Response = [MetaData] APIResponseDescription
ResponseHeadertype = ResponseHeader
MetaDataoptional, type = MetaDataThis field is optional and will be populated if the MessageHeader.hasMeta is true
APIResponsetype = variable

The Api specific Reponse message. Here are some examples of Response messages

PutResponse GetResponse | PutAllResponse | GetAllResponse | ServerConfigResposne | ClientConfigResponse | AuthResponse | ErrorResponse

...