...
Format is described using Extended Backus–Naur form grammar.
Usage | Notation |
---|---|
definition | = |
alteration | | |
optional | [ ... ] |
repetition | { ... } |
ProtocolType
The format contains following fixed and variable types. They need to serialize in Big Endian byte order as showed for the example.
...
A message is series of bytes which contains the request or response. If the message is large, then we will have provision to divide the message into small messages. The message will be sent in following way. A client can send the multiple messages on the connection and server will respond to those messages in same order.
Message => MessageHeader (Request | Response) |
---|
MessageHeader => defined below |
Request => defined below |
Response => defined below |
...
- If a message is sent in multiple sub-messages, then it will be used for combining the whole message.
- The Client would use correlation id to match the response to its request as wellIt will be used for correlating the request to its response.
MessageHeader => Size isPartialMessage CorrelationId | Description |
---|---|
Size => fixedSize = 4 bytes, type = int32 | Size of request or response |
isPartialMessage => fixedSize = 1 byte, type = boolean | |
CorrelationId => fixedSize = 4 bytes, type = int32 |
...