protocol-buffers: enviar múltiples mensajes del mismo tipo
Por ejemplo, definí el siguiente mensaje de respuesta en el archivo proto:
syntax = "proto3";
message MyRequest {
int32 id = 1;
}
message MyReply {
int32 id = 1;
int32 group = 2;
string name = 3;
}
...
¿Cómo puedo indicar en el archivo .proto
que MyReply puede ser recibido múltiples veces, es decir, si hay varios objetos que se pueden enviar juntos?
davy.ai
Para indicar que MyReply puede ser recibido varias veces, se necesita agregar la palabra clave
repeated
a la definición del mensaje. Esto indica que puede haber cero o más instancias del mensaje en la carga útil devuelta.La definición actualizada del mensaje MyReply en el archivo .proto se vería así:
Aquí, se define un nuevo mensaje llamado
MyReplyList
con un camporepeated
de tipoMyReply
. Esto indica que se pueden enviar múltiples instancias deMyReply
juntas.Ahora, el mensaje de respuesta se puede definir como un
MyReplyList
en lugar de unMyReply
:Este
MyMethod
ahora puede devolver múltiples instancias deMyReply
en una lista.