...
RequestHeader => ApiId apiVersion hasMetaData | Description |
---|---|
ApiId -- => fixedSize = 2 bytes, type = int16 | |
apiVersion --=> fixedSize = 2 bytes, type = int16 | |
hasMetaData --=> fixedSize = 1 byte, type = boolean | if there is any meta data associated with this request |
...
Response => ResponseHeader [MetaData] APIResponse |
---|
MetaData --=> Optional |
APIResponse –> => (PutResponse | GetResponse | PutAlLRequest | GetAllRequest) |
Response Header
The The response header will have resposneType, which indicates its partial response, full response or error. A hasMetaData flag indicates whether the response contains some metadata.
ResponseHeader => (ResponseTypeId | ErrorCode) hasMetaData | Description |
---|---|
ResponseTypeId --=> fixedSize = 2 bytes, type = int16 | |
ErrorCode -- => fixedSize = 2 bytes, type = int16 | |
hasMetaData --=> fixedSize = 1 byte, type = boolean | if there is any meta data associated with this request |
ValueBytes
ValueBytes => ValueHeader bytes [ValueHeader bytes] | Description |
---|---|
Valueheader => defined below | |
bytes => series of bytes | Serialized bytes which Geode can understand |
...
ValueHeader
The purpose of ValueObject to divide the large serialized value into small value chunks. We will have SerializedBytesHeader with each partial serialized bytes. It would contain size of value header contains the value bytes size and a flag indicates whether it contains all the value bytes.
ValueHeader => Size hasPartialBytes | Description |
---|---|
Size => fixedSize = 4 bytes, type = int32 | Number of serialized bytes |
hasPartialBytes => fixedSize = 1 byte, type = boolean | Whether this contains partial bytes of value |
ValueObject --> Serializedbytes | |
Serializedbytes --> SerializedBytesHeader PartialSerializedBytes {SerializedBytesHeader PartialSerializedBytes} | |
SerializedBytesHeader --> Size isPartialBytes | |
Size --> int32 (Number of serialized bytes) | |
isPartialBytes --> boolean |
APIS
PutRequestResponse
PutRequest --> RegionName KeyObject CallbackArg ValueObject |
---|
RegionName --> String |
KeyObject --> Serialized bytes of Geode key object type |
CallbackArg –-> Serialized bytes of Geode object type |
...