The delimiter is actually a varint
<https://developers.google.com/protocol-buffers/docs/encoding#varints>
(variable-sized int), which can store values up to 127 in a single byte. So
it sounds plausible that your delimited message only required 3 bytes. That
could be one byte for the delimiter indicating a 2-byte message, and then
the message itself consisting of a one-byte tag and a one-byte RequestId.

On Tue, Jun 26, 2018 at 8:16 AM Natalia Zhukova <natalia27...@gmail.com>
wrote:

> Hello,
> I use SerializeDelimitedToCodedStream function to serialize message with
> one RequestId field  and send it over socket
>
> message resMessage
> {
>     bytes RequestId = 1;
> }
>
>
> ArrayOutputStream  arr(buffer, buffer_size);
> CodedOutputStream output(&arr);
>
> SerializeDelimitedToCodedStream(message, &output);
>
> *int retb *= output.ByteCount();
>
>
> Is it possible that *retb *is  only 3 bytes, if delimiter itself is 4
> bytes.
>
>
> --
> 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 protobuf+unsubscr...@googlegroups.com.
> To post to this group, send email to protobuf@googlegroups.com.
> 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 protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to