How to add a int array in protobuf message

javaMan picture javaMan · Sep 13, 2011 · Viewed 52.8k times · Source

I have to compose a protobuf message which should have 1 integer variables and a integer array.

package protobuf;

message myProto {

optional uint32 message_id =1;
optional int update = 2;
//here I have to add a array of integers
//can I write like     optional int[] array =3;
//or should I use      optional repeated array;
//where array is another message with int variable

}

Is my approach correct? Please help me

Thanks

Answer

Marc Gravell picture Marc Gravell · Sep 13, 2011

Array is mapped via "repeated":

 repeated int32 data = 4;

Note you might want sint32/uint32. Also note that in all three cases "packed arrays" can be used, which are more efficient;

repeated int32 data = 4 [packed=true];