Not well documented is the technique for defaulting message fields in protobuf. Say you have a field of message type, named "start" here:
message Complex { required int64 real = 1; optional int64 imaginary = 2 [default = 0]; } message Vector { required Complex start = 1; required int64 length = 2; }
How to you provide a default value, say at the origin? Like this:
import "google/protobuf/descriptor.proto"; extend google.protobuf.FieldOptions { // Pick the field number that is right for you! optional Complex complex = 50000; } message Vector { optional Complex start = 1 [(complex) = { real: 0 imaginary: 0 }]; required int64 length = 2; }
See the Custom Options section for details.
No comments:
Post a Comment