But in your previous example code the original protobuf message was pObj->_objectSetType so I don't see how that could affect pObj->PriceTicMIObject_public, which seems to be a separate class member. Is pObj->PriceTicMIObject_public also a protobuf message?
On Wed, May 29, 2019 at 11:25 AM Boris Pitel <[email protected]> wrote: > example : > I initialize my fields to certain values like this: > pObj->PriceTicMIObject_public->set_ContentDelayed("True"); > pObj->PriceTicMIObject_public->set_KeyExchangeSource("558"); > pObj->PriceTicMIObject_public->set_TradingSymbol("BAC"); > pObj->PriceTicMIObject_public->set_CUSIP("VaskaKushaetISpit"); > > after serialization and deserialization newObj has all this fields equal > to NULL. > > Thanks, > > Boris > > On Wednesday, May 29, 2019 at 2:13:40 PM UTC-4, Adam Cozzette wrote: >> >> Can you give an example of a specific field that has different values >> between the old and new messages? I suspect the problem might be that >> you're expecting them to be equal on a byte-for-byte comparison of their >> in-memory structure, and that will usually not be the case because the >> messages will contain things like pointers to submessages. >> >> On Wed, May 29, 2019 at 11:06 AM Boris Pitel <[email protected]> wrote: >> >>> Adam, the new deserealized object doesn't contain ANY data which was in >>> original object instance. >>> >>> To put it simple >>> 1) we have obj >>> 2) we make a string obj.SerializetoString ( & body) >>> 3) We parse the string into new object : newobj.ParseFromString ( body). >>> 4) I expect obj == newobj. But it isn't so. newobj is not equal to obj ( >>> in terms of content - field value) >>> >>> Thanks, >>> Boris >>> >>> >>> On Wednesday, May 29, 2019 at 1:41:48 PM UTC-4, Adam Cozzette wrote: >>>> >>>> Hmm, that makes me think perhaps everything is working then. What is >>>> different about the messages in a way that you didn't expect? >>>> >>>> On Wed, May 29, 2019 at 10:37 AM Boris Pitel <[email protected]> >>>> wrote: >>>> >>>>> 89. The same as original object. >>>>> It is strange. Isn't it? >>>>> >>>>> >>>>> >>>>> On Wednesday, May 29, 2019 at 1:12:35 PM UTC-4, Adam Cozzette wrote: >>>>>> >>>>>> What's the value of pnewObj->_objectSetType.ByteSizeLong() after the >>>>>> parse? >>>>>> >>>>>> On Wed, May 29, 2019 at 10:01 AM Boris Pitel <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Thank you, Adam! >>>>>>> Yes, both returns values are true, and size is very reasonable - 89. >>>>>>> Any other ideas? :( >>>>>>> -Boris >>>>>>> >>>>>>> >>>>>>> On Wednesday, May 29, 2019 at 12:57:49 PM UTC-4, Adam Cozzette wrote: >>>>>>>> >>>>>>>> So after parsing, the message is just empty? The first thing I >>>>>>>> would do is double-check that SerializeToString() and >>>>>>>> ParseFromString() are >>>>>>>> returning true and also verify that the length of the serialized >>>>>>>> string is >>>>>>>> reasonable. >>>>>>>> >>>>>>>> On Wed, May 29, 2019 at 9:48 AM Boris Pitel <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Ok, let me explain. I have a class let's call >>>>>>>>> it PriceTicObjectSet. This class is a wrapper around protobuf class. >>>>>>>>> This PriceTicObjectSet has member variables which are directly point >>>>>>>>> to >>>>>>>>> protobuf class variables - just setters and getters. Function >>>>>>>>> toString is >>>>>>>>> for convenience only, all it does it is dumps the content of the >>>>>>>>> instance >>>>>>>>> of PriceTicObjectSet. Its implementation is like : >>>>>>>>> ..... >>>>>>>>> if ( name_internal != NULL ) toReturn += ("name=" + >>>>>>>>> name_internal->value() ); >>>>>>>>> .... >>>>>>>>> >>>>>>>>> in other words toString() is just not essential here. We could >>>>>>>>> just use debugger and see that after ParseFromString the object >>>>>>>>> doesn't >>>>>>>>> change at all. >>>>>>>>> >>>>>>>>> Sorry for not being clear. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> -Boris >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wednesday, May 29, 2019 at 12:15:02 PM UTC-4, Adam Cozzette >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Could you provide some more details on what that function does >>>>>>>>>> and what its outputting? Without that it is hard to know what the >>>>>>>>>> problem >>>>>>>>>> is. >>>>>>>>>> >>>>>>>>>> On Wed, May 29, 2019 at 8:04 AM Boris Pitel <[email protected]> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> toString is just a function which dumps the object >>>>>>>>>>> ( PriceTicObjectSet ) - PriceTicObjectSet is just a very thin >>>>>>>>>>> wrapper >>>>>>>>>>> around protobuf class. I use toString to see the content of the >>>>>>>>>>> message. >>>>>>>>>>> >>>>>>>>>>> -Boris >>>>>>>>>>> >>>>>>>>>>> On Wednesday, May 29, 2019 at 10:40:02 AM UTC-4, Adam Cozzette >>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> What does your toString() function do? >>>>>>>>>>>> >>>>>>>>>>>> On Wed, May 29, 2019 at 7:32 AM Boris Pitel <[email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hello team, >>>>>>>>>>>>> I am new to C++ protobuf. library. >>>>>>>>>>>>> I experience following difficulty. >>>>>>>>>>>>> I have an pObj, i serialize it using SerializeToString, then >>>>>>>>>>>>> as a test i try to deserialize the string using ParseFromString. >>>>>>>>>>>>> I expect >>>>>>>>>>>>> that after deserialization the object will contain the same data >>>>>>>>>>>>> as >>>>>>>>>>>>> original pObj. It doesn't happen. The new object contains nulls. >>>>>>>>>>>>> The >>>>>>>>>>>>> ParseFromString return true. Here is the pseudo-code: >>>>>>>>>>>>> >>>>>>>>>>>>> string body; >>>>>>>>>>>>> int n1 = pObj->_objectSetType.ByteSizeLong(); >>>>>>>>>>>>> result = pObj->_objectSetType.SerializeToString(&body); >>>>>>>>>>>>> PriceTicObjectSet* pnewObj = new PriceTicObjectSet; >>>>>>>>>>>>> result = pnewObj->_objectSetType.ParseFromString(body); >>>>>>>>>>>>> >>>>>>>>>>>>> string dump1 = toString(pObj); >>>>>>>>>>>>> printf("Dump1:\n%s\n", dump1.c_str()); >>>>>>>>>>>>> string dump2 = toString(pnewObj); >>>>>>>>>>>>> printf("Dump2:\n%s\n", dump2.c_str()); >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Again, I expect that after deserialization objects pObj and >>>>>>>>>>>>> pnewObj contain same data. >>>>>>>>>>>>> This issue puzzles me and it is really important to solve it. >>>>>>>>>>>>> >>>>>>>>>>>>> Please can somebody help me - probably I am doing something >>>>>>>>>>>>> wrong. >>>>>>>>>>>>> >>>>>>>>>>>>> Thank you >>>>>>>>>>>>> >>>>>>>>>>>>> Boris Pitel >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>> Google Groups "Protocol Buffers" group. >>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>>> it, send an email to [email protected]. >>>>>>>>>>>>> To post to this group, send email to [email protected]. >>>>>>>>>>>>> Visit this group at https://groups.google.com/group/protobuf. >>>>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>>>> https://groups.google.com/d/msgid/protobuf/dfae067f-71ec-4550-b18e-aa8aabab0af2%40googlegroups.com >>>>>>>>>>>>> <https://groups.google.com/d/msgid/protobuf/dfae067f-71ec-4550-b18e-aa8aabab0af2%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>>>> . >>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> On Wednesday, May 29, 2019 at 10:40:02 AM UTC-4, Adam Cozzette >>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> What does your toString() function do? >>>>>>>>>>>> >>>>>>>>>>>> On Wed, May 29, 2019 at 7:32 AM Boris Pitel <[email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hello team, >>>>>>>>>>>>> I am new to C++ protobuf. library. >>>>>>>>>>>>> I experience following difficulty. >>>>>>>>>>>>> I have an pObj, i serialize it using SerializeToString, then >>>>>>>>>>>>> as a test i try to deserialize the string using ParseFromString. >>>>>>>>>>>>> I expect >>>>>>>>>>>>> that after deserialization the object will contain the same data >>>>>>>>>>>>> as >>>>>>>>>>>>> original pObj. It doesn't happen. The new object contains nulls. >>>>>>>>>>>>> The >>>>>>>>>>>>> ParseFromString return true. Here is the pseudo-code: >>>>>>>>>>>>> >>>>>>>>>>>>> string body; >>>>>>>>>>>>> int n1 = pObj->_objectSetType.ByteSizeLong(); >>>>>>>>>>>>> result = pObj->_objectSetType.SerializeToString(&body); >>>>>>>>>>>>> PriceTicObjectSet* pnewObj = new PriceTicObjectSet; >>>>>>>>>>>>> result = pnewObj->_objectSetType.ParseFromString(body); >>>>>>>>>>>>> >>>>>>>>>>>>> string dump1 = toString(pObj); >>>>>>>>>>>>> printf("Dump1:\n%s\n", dump1.c_str()); >>>>>>>>>>>>> string dump2 = toString(pnewObj); >>>>>>>>>>>>> printf("Dump2:\n%s\n", dump2.c_str()); >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Again, I expect that after deserialization objects pObj and >>>>>>>>>>>>> pnewObj contain same data. >>>>>>>>>>>>> This issue puzzles me and it is really important to solve it. >>>>>>>>>>>>> >>>>>>>>>>>>> Please can somebody help me - probably I am doing something >>>>>>>>>>>>> wrong. >>>>>>>>>>>>> >>>>>>>>>>>>> Thank you >>>>>>>>>>>>> >>>>>>>>>>>>> Boris Pitel >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>> Google Groups "Protocol Buffers" group. >>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>>> it, send an email to [email protected]. >>>>>>>>>>>>> To post to this group, send email to [email protected]. >>>>>>>>>>>>> Visit this group at https://groups.google.com/group/protobuf. >>>>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>>>> https://groups.google.com/d/msgid/protobuf/dfae067f-71ec-4550-b18e-aa8aabab0af2%40googlegroups.com >>>>>>>>>>>>> <https://groups.google.com/d/msgid/protobuf/dfae067f-71ec-4550-b18e-aa8aabab0af2%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>>>> . >>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>> Google Groups "Protocol Buffers" group. >>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>> it, send an email to [email protected]. >>>>>>>>>>> To post to this group, send email to [email protected]. >>>>>>>>>>> Visit this group at https://groups.google.com/group/protobuf. >>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>> https://groups.google.com/d/msgid/protobuf/d3e71b81-66db-48d9-8cc3-640aee92919a%40googlegroups.com >>>>>>>>>>> <https://groups.google.com/d/msgid/protobuf/d3e71b81-66db-48d9-8cc3-640aee92919a%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>> . >>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>> >>>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "Protocol Buffers" group. >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to [email protected]. >>>>>>>>> To post to this group, send email to [email protected]. >>>>>>>>> Visit this group at https://groups.google.com/group/protobuf. >>>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/d/msgid/protobuf/bb594c06-2d62-46b6-9f53-b65f26af4dd8%40googlegroups.com >>>>>>>>> <https://groups.google.com/d/msgid/protobuf/bb594c06-2d62-46b6-9f53-b65f26af4dd8%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "Protocol Buffers" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected]. >>>>>>> To post to this group, send email to [email protected]. >>>>>>> Visit this group at https://groups.google.com/group/protobuf. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/protobuf/41c133de-c9f7-478c-a910-446248251197%40googlegroups.com >>>>>>> <https://groups.google.com/d/msgid/protobuf/41c133de-c9f7-478c-a910-446248251197%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Protocol Buffers" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> To post to this group, send email to [email protected]. >>>>> Visit this group at https://groups.google.com/group/protobuf. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/protobuf/32df94fb-c76d-4916-bbe2-9ef70bb06ae8%40googlegroups.com >>>>> <https://groups.google.com/d/msgid/protobuf/32df94fb-c76d-4916-bbe2-9ef70bb06ae8%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Protocol Buffers" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at https://groups.google.com/group/protobuf. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/protobuf/0375fb61-963a-4127-bb8a-c44ba6237ffa%40googlegroups.com >>> <https://groups.google.com/d/msgid/protobuf/0375fb61-963a-4127-bb8a-c44ba6237ffa%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > You received this message because you are subscribed to the Google Groups > "Protocol Buffers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/protobuf. > To view this discussion on the web visit > https://groups.google.com/d/msgid/protobuf/ba431b04-9f86-435c-a29f-1ec460b828f1%40googlegroups.com > <https://groups.google.com/d/msgid/protobuf/ba431b04-9f86-435c-a29f-1ec460b828f1%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. To view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/CADqAXr6G1PvszuyLNv61cJajeKcYDa-buTGUEe8d5La59J%3DVJQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
