Lucas, thanks for chiming in, The protocol itself consists of all these magic constants (type and operations codes). See type codes table from this section: https://apacheignite.readme.io/docs/binary-client-protocol#section-data-objects <https://apacheignite.readme.io/docs/binary-client-protocol>
Hope that my explanation given to Alexey makes sense to both of you. Initially, we didn’t plan to have the code snippets at all and wanted to document the protocol in a way similar to Mongo’s protocol: https://docs.mongodb.com/manual/reference/mongodb-wire-protocol/ <https://docs.mongodb.com/manual/reference/mongodb-wire-protocol/> But after several iterations we agreed to simplify a life of those who will be developing thin clients on top of the protocol and filled out the doc with as many code snippets as possible. Again, the snippets are not a complete application and this is why we ignored some of the best practices used by Java developers. — Denis > On Jan 18, 2018, at 7:11 PM, Lucas Beeler <lucas.bee...@gridgain.com> wrote: > > Hi Igniters, > > I’m with Alexey here: hard-coded “magic” literals make code hard to read and > neither communicate coding professionalism nor comport with published > Sun/Oracle style guides. So I suggest that: > For already defined symbolic constants, let’s use them instead of literal > values > If there are literal values for which symbolic constants haven’t yet been > defined, let’s define symbolic constants for them, commit this change to > master, and start using the newly defined symbolic constants > Anyhoo, that’s just my two cents. > > As always, it’s a pleasure to be a part of Ignite development... > > Cheers guys & gals, > Lucas > > -- > Lucas BEELER > Technical Consultant, Professional Services > GridGain Systems > www.gridgain.com <http://www.gridgain.com/> > >> On Jan 18, 2018, at 6:47 PM, Alexey Kuznetsov <akuznet...@apache.org >> <mailto:akuznet...@apache.org>> wrote: >> >> Prachi, Denis, >> >> >> It is OK that we are using numbers in code samples instead of named >> constants? >> >> For example: >> writeByteLittleEndian(3, out); // Integer type code >> >> It could be smth. like this: >> writeByteLittleEndian(TYPE_INT, out); // Integer type code >> >> Where TYPE_INT is declared at some place: >> .... >> public static final int TYPE_INT = 3; >> .... >> >> Make sense? >> >> >> On Fri, Jan 19, 2018 at 4:47 AM, Prachi Garg <pg...@gridgain.com >> <mailto:pg...@gridgain.com>> wrote: >> >>> Igniters, >>> >>> The document for Binary Client Protocol (awaiting 2.4 release) is ready on >>> Apache Ignite readme.io <http://readme.io/>. This document explains: >>> >>> - How to connect to Ignite cluster >>> - Common message format (Request/Response header) >>> - Supported Data types and their format >>> - Request/Response format for each message type >>> >>> Here are the links - >>> >>> https://apacheignite.readme.io/docs/binary-client-protocol >>> <https://apacheignite.readme.io/docs/binary-client-protocol> >>> >>> https://apacheignite.readme.io/docs/binary-client-protocol- >>> key-value-operations >>> >>> https://apacheignite.readme.io/docs/binary-client-protocol-sql-operations >>> >>> https://apacheignite.readme.io/docs/binary-client-protocol- >>> binary-type-operations >>> >>> https://apacheignite.readme.io/docs/binary-client-protocol- >>> cache-configuration-operations >>> >>> >>> Currently these pages are hidden and are accessible only with the link. >>> They will be active after the release. >>> >>> -Prachi >>> >> >> >> >> -- >> Alexey Kuznetsov >