Thanks, I'm trying to do this with proto2.

On Sun, Mar 5, 2017 at 6:03 PM Josh Humphries <[email protected]> wrote:

> Are you using syntax = "proto3" in your file? I believe the docs state
> that proto3 does not require unknown fields to be preserved when a message
> is de-serialized and re-serialized. So this behavior, IIRC, only works for
> messages generated from proto2 files.
>
> ----
> *Josh Humphries*
> [email protected]
>
> On Sun, Mar 5, 2017 at 2:10 PM, jkg589ih <[email protected]> wrote:
>
> Hi,
>
> Developers guide says:
>
> "Messages created by your new code can be parsed by your old code: old
> binaries simply ignore the new field when parsing. However, the unknown
> fields are not discarded, and if the message is later serialized, the
> unknown fields are serialized along with it – so if the message is passed
> on to new code, the new fields are still available."
>
>
> I'm interested in exactly this scenario - old client gets a message from
> the new client, changes something, and sends it back.
>
> I gave it a try, and what I saw is that new proto fields are stored in
> unknownFields. But when I do build(), these fields are discarded.
>
> So when the message is serialized, the new fields are gone. Am I doing it
> wrong ?
>
>
> I found that I could simply serialize the message, and then separately
> serialize the unknownFieldSet, so they are concatenated to the message.
>
> But this doesn't feel like the right way. Is it ?
>
>
> I also found this: https://github.com/bivas/protobuf-java-format/pull/26,
> but last activity was a year ago.
>
>
> What's the right way of having the old client serialize a message
> including fields it doesn't understand ?
>
>
> Thanks,
>
> Alex
>
> --
> 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.
> 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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to