protoful 中的 rpc定义公式

通过vs2019的.net core3.1 的项目试错,我发现的相关proto rpc的规则是
rpc 方法名称(输入消息) returns(输出消息)
上面公式全部不能省略,并且 输入输出消息 全部只能是1,为了计为方便记忆 可以表达 为下面这个样子:
rpc RemoteCallName(InputMessage<1>) returns(ReturnMessage<1>);

RemoteCallName 这是用户自己编辑的名称 InputMessage,ReturnMessage是 proto 文件中定义的message 的名称

下面这些全部是错的

 rpc RemoteCallName(InputMessage<0>) returns(ReturnMessage<1>);

 rpc RemoteCallName(InputMessage<0>);

 rpc RemoteCallName(InputMessage<1>);

 rpc RemoteCallName(InputMessage<n>);

 rpc RemoteCallName(InputMessage<0>) returns(ReturnMessage<0>);

 rpc RemoteCallName(InputMessage<n>) returns(ReturnMessage<1>);

这些签名在大部分语言中是常情,但proto里不能 

<n> 就是 InputMessage1,InputMessage2, .. 用逗号分开的message类型,这里也不允许多个

所以grpc的形式非常固定