Yakov, Yes, explicit protocol versioning already used in ODBC/JDBC. Looks like we should continue this practice in this protocol as well.
On Wed, Aug 2, 2017 at 10:44 AM, Yakov Zhdanov <yzhda...@apache.org> wrote: > Here are my observations. > > 1. Let's create wiki page where we will keep the protocol definition and > reflect all the changes. > > 2. I would put op_code to the first place. This will make possible to > eliminate length field for many messages. Look at your handshake request - > it is always of fixed length. Why do we need length then? Variable length > operations - puts, putalls, getalls, etc will definitely need length field > (or keys count and length of each key separately in each binary object - > let's discuss it later). > > 3. I would also add build date and revision hash to handshake. Same as we > do for Ignite. > > 4. I would like to have explicit protocol version for client to make > possible for newer clients to work with older servers. Moreover, I think > there may be some third party protocol implementations on other platforms > which may not be driven by Ignite community and their versioning may be > different. So, explicit protocol version is really handy here. > > Thanks! > > --Yakov >