On Fri, Aug 19, 2016 at 10:50 AM, <job4char...@gmail.com> wrote:

> The question is:
>
> My message looks like:
>
> Message data
> {
>     optional uint32 object_id = 1;
>     optional uint32 next_id = 2;
> }
>
> I might define my message object like below:
>
> data;
> size_t msg_size_before = data.ByteSize();
>
> uint32 id = CreateNewId();
> uint32 next_id = GetCurNextId();
>
> data.set_object_id(id);
> data.set_next_id(next_id);
>
> size_t msg_size_after = data.ByteSize();
>
>
> Since I defined only integers in my message type, can I always assume
> assert "msg_size_before == msg_size_after" ????
>
No, you can't.

In protobuf an uint32 field type uses variable-length encoding. That means
its byte size depends on the actual value of the field. If you set a new
value, the byte size can change as well.


> --
> 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