在 Protocol Buffers 的 proto3
语法中,service
用于定义一个 gRPC 服务。一个 service
包含了一组可以远程调用的 RPC 方法,每个方法有请求类型和响应类型。
基本语法
syntax = "proto3";
service ServiceName {
rpc MethodName(RequestType) returns (ResponseType);
}
// service ServiceName:定义服务的名称。
// rpc MethodName:定义 RPC 方法的名称。
// RequestType:请求消息类型。
// ResponseType:响应消息类型。
示例
下面是一个完整的proto3
示例文件,定义了一个基于Chord
的简单gRPC
服务。
syntax = "proto3";
package protos;
// DHT Common RPCs
message Key {
string key = 1;
}
message Pair {
string key = 1;
string value = 2;
}
message Result {
string result = 1;
}
message Void {
}
message ControlRequest {
string control = 1;
}
// Chord RPCs
message Find