Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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 well.

...

Request MetaData KeyMetaData KeyIdMetaData ValueDescription
JSON_KEY

1

fixedSize = 2 bytes, type = int16

true

fixedSize = 1 byte, type = boolean

Geode will expect key as JSON string(or bytes) and convert that into pdx key.

If the response will require requires a key, then it wil will convert pdx key to JSON string(or bytes) back.

JSON_VALUE

2

fixedSize = 2 bytes, type = int16

true

fixedSize = 1 byte, type = boolean

Geode will expect Value as JSON string(or bytes) and convert that into pdx value.

If the response will require requires a value, then it will convert pdx value to JSON string(or bytes) back.

EVENT_ID

3

fixedSize = 2 bytes, type = int16

EventId {

uniqueId: type = String

ThreadId:type=int64

SequenceId: type=int64

}

The eventid is used to identify same region event in Geode. Geode keeps map of "uniqueId + threadId" Vs

"SequenceId" to know whether region event has been already seen or not.

 

...

The purpose of ServerConfigRequest request to get server config from the server. The client needs to send this request after connecting to the server.  If the client knows server properties, then there is no need to send this request.

ServerConfigRequestNumberOfProperties PropertyId PropertyValue{ PropertyId PropertyValue}
NumberOfPropertiesfixedSize = 2 bytes, type = int16
PropertyidfixedSize = 2 bytes, type = int16
PropertyValuevariable, Value as defined in table below

...

Client Request PropertiesPropertyIdPropertyValueDescription 
CLIENT_ID1string

Unique id for the client; if client doesn't send this property then server

will just create id (client-host, client-port, server-host, server-port).

 
ClIENT_READ_TIMEOUT2int32

The client will wait for ClIENT_READ_TIMEOUT for server response. It's a optional

property.

 
DIFFIE_HELLMAN_KEY3byte[]

The client Diffie-Hellman key if the credential is required to encrypt. If server

has enabled Diffie-Hellman then client must send this to server.

 

AuthRequest

The purpose of AuthRequest to authenticate the client connection. A client can send the auth request in the following format. Before sending the auth request a client can verify the server config by sending the ServerConfigRequest. A client can send key-value pair of credentials to authenticate itself.

...