...
Protocol Terms
Any binary protocol will require following things
Version: This indicates the API version.
Command IdRequest Type: This indicates API needs to invoke.
Request Correltaion Id: This helps to relate request-response.
Object Type: What is the type of serialized object.
Error Handling: It indicates the problem with API invocation.
Streaming support: To support the large response or continuous response.
Command Format: Api request and response.
Byte Order(Big Endian)
...
The new protocol will be integrated with current Geode server. The new client driver can connect with Geode server by sending byte “110”.
Command Id
Following command(RequestTypes) will be supported
Request Type
Following table contains the request type and its corresponding id. RequestTypeId would recognize the API client want to invoke at server type. This would consume two bytes in request format.
RequestType | RequestTypeId | RequestType | Request Type ID |
---|---|---|---|
MetaDataConfigRequestType | 1 | ||
AuthenticationRequestType | 2 | ||
PutRequestType | 3 | ||
GetRequestType | 4 | ||
PutAllRequestType | 5 | ||
GetAllRequestType | 6 | ||
FunctionRequestType | 7 | ||
CreateRequestType | 8 | ||
InvalidateRequestType | 9 | ||
DestroyRequestType | 10 | ||
KeySetRequestType | 11 | ||
ValuesRequestType | 12 | ||
EntrySetRequestType | 13 | ||
ContainsValueForKeyRequestType | 14 | ||
ContainsKeyRequestType | 15 | ||
ContainsValueRequestType | 16 | ||
RemoveAllRequestType | 17 | ||
SizeRequestType | 18 | ||
PutIfAbsentRequestType | 19 | ||
RemoveIfValueIsSameRequestType | 20 | ||
ReplaceIfValueIsSameRequestType | 21 | ||
ReplaceIfValueExistType | 22 |
...
Correlation Id
Object Type
Error Codes
Exception Type | Error CodeErrorCode |
---|---|
AUTHENICATION_REQUIRED_EXCEPTION | 1 |
AUTHORIZATION_FAILED_EXCEPTION | 2 |
AUTHETICATIONFAILED_EXCEPTION | 3 |
BUCKET_MOVED_EXCEPTION | 4 |
SERIALIZATION_EXCEPTION | 5 |
INTERRUPTED_EXCEPTION | 6 |
ILLEGAL_ARGUMNET_EXCEPTION | 7 |
ILLEGAL_STATE_EXCEPTION | 8 |
TIMEOUT_EXCEPTION | 9 |
CACHE_WRITER_EXCEPTION | 10 |
REGION_EXIST_EXCEPTION | 11 |
REGION_NOT_EXIST_EXCEPTION | 12 |
LEASE_EXPIRED_EXCEPTION | 13 |
CACHE_LOADER_EXCEPTION | 14 |
REGION_DESTROYED_EXCEPTION | 15 |
ENTRY_DESTROYED_EXCEPTION | 16 |
ENTRY_NOT_FOUND_EXCEPTION | 17 |
FUNCTION_NOT_FOUND_EXCEPTION | 18 |
FUNCTION_ATTRIBUTE_MISMATCH_EXCEPTION | 19 |
FUNCTION_EXECUTION_EXCEPTION | 20 |
CONCURRENT_MODIFICATION_EXCEPTION | 21 |
UNKNOWN_EXCEPTION | 22 |
CLASS_CAST_EXCEPTION | 23 |
GEODE_IO_EXCEPTION | 24 |
NULL_POINTER_EXCEPTION | 25 |
ENTRY_EXIST_EXCEPTION | 26 |
DISK_ACCESS_EXCEPTION | 27 |
QUERY_EXCEPTION | 28 |
CACHE_CLOSED_EXCEPTION | 29 |
MESSAGE_FORMAT_EXCEPTION | 30 |
CACHE_LISTENER_EXCEPTION | 31 |
CQ_EXCEPTION | 32 |
CQ_CLOSED_EXCEPTION | 33 |
CQ_QUERY_EXCEPTION | 34 |
CQ_EXIST_EXCEPTION | 35 |
CQ_INVALID_EXCEPTION | 36 |
INVALID_DELTA_EXCEPTION | 37 |
TRANSACTION_EXCEPTION | 38 |
TRANSACTION_DATA_NODE_DEPARTED_EXCEPTION | 39 |
TRANSACTION_REBALANCED_EXCEPTION | 40 |
COMMIT_CONFLICT_EXCEPTION | 41 |
PUTALL_PARTIAL_RESULT_EXCEPTION | 42 |
...