Igniters,
The document for Binary Client Protocol (awaiting 2.4 release) is ready on Apache Ignite 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-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 |
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 <[hidden email]> wrote: > Igniters, > > The document for Binary Client Protocol (awaiting 2.4 release) is ready on > Apache Ignite 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- > 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 |
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 > On Jan 18, 2018, at 6:47 PM, Alexey Kuznetsov <[hidden email]> 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 <[hidden email]> wrote: > >> Igniters, >> >> The document for Binary Client Protocol (awaiting 2.4 release) is ready on >> Apache Ignite 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- >> 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 |
In reply to this post by Alexey Kuznetsov
Documentation consists of a set of unrelated code snippets for various operations. Do not treat it as a complete application or sample (the protocol is huge). This is why it’s totally fine to use numerical constants in the doc and leave it as as responsibility of a developer to define and use customs constants such as TYPE_INT.
— Denis > On Jan 18, 2018, at 6:47 PM, Alexey Kuznetsov <[hidden email]> 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 <[hidden email] <mailto:[hidden email]>> 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-key-value-operations> > > https://apacheignite.readme.io/docs/binary-client-protocol-sql-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-binary-type-operations> > > https://apacheignite.readme.io/docs/binary-client-protocol-cache-configuration-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 |
In reply to this post by Lucas Beeler
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 <[hidden email]> 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 <[hidden email] <mailto:[hidden email]>> 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 <[hidden email] <mailto:[hidden email]>> 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 > |
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 <[hidden email]> 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 <[hidden email]> > 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 <[hidden email] > <mailto:[hidden email]>> 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 <[hidden email] > <mailto:[hidden email]>> 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 > > > > |
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> >> 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 <[hidden email] >> <mailto:[hidden email]>> 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 <[hidden email] >> <mailto:[hidden email]>> 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 >>> >> >> |
Added the proposed callout to the top of the page:
https://cwiki.apache.org/confluence/display/IGNITE/IEP-9+Thin+Client+Protocol > On Jan 19, 2018, at 9:36 AM, Denis Magda <[hidden email]> wrote: > > 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> >>> 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 <[hidden email] >>> <mailto:[hidden email]>> 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 <[hidden email] >>> <mailto:[hidden email]>> 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 >>>> >>> >>> > |
Thanks Denis, makes sense.
On Fri, Jan 19, 2018 at 10:55 PM, Denis Magda <[hidden email]> wrote: > Added the proposed callout to the top of the page: > https://cwiki.apache.org/confluence/display/IGNITE/IEP- > 9+Thin+Client+Protocol > > > On Jan 19, 2018, at 9:36 AM, Denis Magda <[hidden email]> wrote: > > > > 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 <[hidden email]> > 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 <[hidden email]> 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 <[hidden email]> > >>> 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 <[hidden email] > >>> <mailto:[hidden email]>> 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 <[hidden email] > >>> <mailto:[hidden email]>> 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 > >>>> > >>> > >>> > > > > |
Free forum by Nabble | Edit this page |