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.