Thanks!
Given that, is there any advantage to a "header message" as opposed to just
hand-serializing everything in the header?


On Sat, Jul 7, 2018 at 12:45 PM Ilia Mirkin <[email protected]> wrote:

> You need explicit lengths. Usually this is done as <header length
> varint><header><body>. And the header contains the body length in it.
> In Java, there's a CodedInputStream/OutputStream which makes it easy
> to consume fixed lengths (push/popLimit) as well as raw varints (as
> for the initial header length). Other languages have similar
> abstractions.
>
> On Sat, Jul 7, 2018 at 2:26 PM, John Lilley <[email protected]> wrote:
> > I am posting protobuf messages to a message broker, and in order to
> identify
> > them, I prefix the message bytes with the serialized result of a "header"
> > message:
> >
> > message Header {
> >    int version = 1;
> >    string message_type = 2;
> > }
> >
> > It is easy, to concatenate the header+actual message bytes and post the
> > resulting block to a queue. But how do I take these apart on the
> receiving
> > end? Suppose I get a byte-buffer consisting of:
> >
> > ---------------
> > | header      |
> > ---------------
> > | body        |
> > ---------------
> >
> > Is it OK to throw this oversized buffer at the Header deserialization?
> Will
> > the extra bytes hurt anything?
> >
> > Then, once I extract the Header message, how do I know where the body
> > begins? I could turn around and ask the Header object "how big would you
> be
> > if serialized?".  Is that reliable?  Is there a better way?
> >
> > Thanks
> > john
> >
> > --
> > 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