Pavel, Do you plan to maintain this page? Frankly, since it’s an IEP and Prachi already prepared an official documentation I would suggest us to but a teaser on the top of the page saying that the most up-to-date and detailed information about the protocol is on readme.io <http://readme.io/>. Agree?
— Denis > On Jan 18, 2018, at 11:37 PM, Pavel Tupitsyn <ptupit...@apache.org> wrote: > > Hi everyone, > > Just a reminder that initial spec is on wiki: > https://cwiki.apache.org/confluence/display/IGNITE/IEP-9+Thin+Client+Protocol > > It is quite terse and may be harder to understand. > Prachi tried to document all of this in a more user-friendly manner with > examples and so on. > > On Fri, Jan 19, 2018 at 6:30 AM, Denis Magda <dma...@apache.org> wrote: > >> 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 >>> >> >>