Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

gRPC/Protobuf 3 syntax: what is the difference between rpc lines that end with semicolon vs '{}'?

I've seen two different ways of declaring an gRPC service using Protobuf v3. Some code has the rpc line end with a semicolon (such as the current proto3 documentation):

service SearchService {
  rpc Search (SearchRequest) returns (SearchResponse);
}

Other code has the rpc line end with {}:

service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

Both of these compile with the protoc v3.0.0-alpha-2 compiler and produce the same (go) code.

What is the difference between the two syntaxes?

like image 669
psanford Avatar asked May 07 '15 16:05

psanford


1 Answers

Nothing, really; they are equivalent.

The {} syntax is used when there are options. If you don't specify any options, either syntax works (just like in C!).

like image 184
Eric Anderson Avatar answered Dec 31 '22 23:12

Eric Anderson