We should consider adding full Protobuf support, i.e.:
add a protoc plugin that generates C# code for Protobuf services
I anticipate this code would be similar to the C# code generated for Slice interfaces, with client-side IName and NameProxy and server-side INameService.
add an IceRpc.Protobuf.Tools assembly/package for the MSBuild integration and distribution of this native protoc plugin
add examples and documentation (a new top-level Protobuf chapter next to Slice)
One open question is how to deal with failure responses for Protobuf service RPCs (status code > Success). We could for example mimic gRPC's "richer error model": https://grpc.io/docs/guides/error/
We should consider adding full Protobuf support, i.e.:
I anticipate this code would be similar to the C# code generated for Slice interfaces, with client-side IName and NameProxy and server-side INameService.
add an IceRpc.Protobuf.Tools assembly/package for the MSBuild integration and distribution of this native protoc plugin
add examples and documentation (a new top-level Protobuf chapter next to Slice)
One open question is how to deal with failure responses for Protobuf service RPCs (status code > Success). We could for example mimic gRPC's "richer error model": https://grpc.io/docs/guides/error/
It relies heavily on Any, which is a concern for languages such as Rust: https://cloud.google.com/apis/design/errors#error_model