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.

Reply via email to