Sintaxe do gRPC / Protobuf 3: qual é a diferença entre as linhas rpc que terminam com ponto-e-vírgula vs '{}'?
Eu já vi duas maneiras diferentes de declarar um serviço gRPC usando o Protobuf v3. Algum código tem ofinal da linha rpc com ponto e vírgula (como a documentação atual do proto3):
service SearchService {
rpc Search (SearchRequest) returns (SearchResponse);
}
De outroscódigo tem o final da linha rpc com {}
:
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
Ambos são compilados com o compilador protoc v3.0.0-alpha-2 e produzem o mesmo código (go).
Qual é a diferença entre as duas sintaxes?