- Acquire Protobuf libraries for the target language of choice.
Download the latest release of Geode and start a Geode server with the following
gfsh
commands:Code Block language bash theme Emacs title Start Server gfsh>start locator --name=locator --bind-address=localhost --port=10334 ... gfsh>start server --name=server --server-port=40404 --bind-address=localhost ... gfsh>create region --name=SampleData --type=REPLICATE Member | Status ------ | ---------------------------------------- server | Region "/SampleData" created on "server"
- Locate Protobuf message definition artifact from the downloaded Geode release. Directory
$GEODE_HOME/tools/ClientProtocol/geode-protobuf-definitions-{versionNumber}.zip
Unzip protobuf protocol message definitions. Using the relevant target language Protobuf library, generate the language bindings from the message definitions.
- Create your application that connects a TCP socket to the server running on the
localhost
, on port40404
. - Write byte
110
to the socket. - Build a handshake request message and write it in a delimited fashion to the socket.
- Read the handshake response message in a delimited fashion from the socket and check the response for success.
Build a put request message to put the value
bar
for the keyfoo
and write it in a delimited fashion to the socket.Code Block language js theme Emacs title putRequest putRequest { regionName: "testRegion" entry { key { stringResult: "foo" } value { stringResult: "bar" } } }
Read the put response message in a delimited fashion from the socket and verify the put with the following
gfsh
command:Code Block language bash theme Emacs title Verify Put gfsh>get --region=SampleData --key=foo Result : true Key Class : java.lang.String Key : foo Value Class : java.lang.String Value : bar
...