You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »

 

Client Protocol 

The new client/server protocol should be simple enough to implement in any programming language.

Streaming/ Continuous Response

The protocol should be able to send partial or chunked response to the client in order to reduce the need for large buffers. It should have the ability to implement the Observer pattern. 

Framing

If an Object is large then client/server should be able to send that object in chunks.

Pluggable

The server-side implementation should be pluggable. In particular, we should be able to optimize both the encoding and the network stack for speed and garbage creation.

JSON Support

The server should be able to interpret JSON documents in a client request, and then convert that to PDX using the REST-API's JSONFormatter and vice-versa.

Region Key as byte[]

We should be able to support byte[] as a region key.  This involves storage components and is primarily a goal in order to reduce cache overhead.

Performance

The new protocol implementation It should perform similar to the current protocol.  That is, applications shouldn't take a performance hit if they switch from the old client-APIs to those based on the new protocol.

Versioning

Should we need to add features or functionality to the client, it should be easy to add a new version of the protocol, and allows both to operate with different clients on a single server

Authentication/Security

It must be possible to transmit the protocol over TLS. We will also support Diffie-Hellman key exchange; this should be supported (however, this mostly just means exchanging some bytes).

 

  • No labels