Yes, in your case the serialized size will remain the same because you are using simple fixed-size fields and always initializing them.
There are a few things to watch out for, though: - If you use proto3 syntax, zero-valued fields will be omitted from the serialized output because zero is the default anyway. (But based on your example you're using proto2, so that's not an issue.) - Varints of course will be variable sized, so you will have to avoid those and stick to fixed-size types. - If you parse a message that has any unknown fields then those unknown fields could take up an arbitrary amount of space when you reserialize the message. On Mon, Sep 26, 2016 at 12:06 PM, <[email protected]> wrote: > > > 在 2016年9月26日星期一 UTC-4下午2:57:14,[email protected]写道: >> >> Will Google Protocol Buffer ensure this? This is a very important I think. >> > > > Notes: My message only uses fixed32 and all fields are initialized(values > might vary) > > Message test_msg > { > optional fixed32 field1 = 1; > optional fixed32 field2 = 2; > } > > test_msg msg; > msg.set_field1(0); > msg.set_field2(1); > > int size = msg.ByteSize(); // will this be a fixed length even if I > upgrade Google Protocol Buffer? > > -- > 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.
