序列化由SerializationTraits的专门化控制。存在built-in one for the grpc::ByteBuffer type。 因此,如果可以使用grpc::ByteBuffer作为缓冲区类型,那么使用grpc::ServerAsyncResponseWriter<grpc::ByteBuffer>或grpc::ServerWriteReactor<grpc::ByteBuffer>之类的类型应该已经可以工作了。 如果没有,您可以提供自己的专门化。 注:ProtoBuf代码生成器编写了大量的粘合代码来为您想要公开的各种方法注册"处理程序"代码。2如果您想要使用原始字节缓冲区,你需要自己编写这些代码。我已经有一段时间没有看到protoc生成什么了。我会从在helloworld上运行codegen开始。proto文件,并查看它为Greeter::AsyncService和Greeter::CallbackService基类发出的内容。 我也没有在C++中使用回调/React器模型,只有"异步"/完成队列模型。我 * 假设 * 回调/React器模型也使用SerializationTraits。
1条答案
按热度按时间b4qexyjb1#
序列化由
SerializationTraits
的专门化控制。存在built-in one for thegrpc::ByteBuffer
type。因此,如果可以使用
grpc::ByteBuffer
作为缓冲区类型,那么使用grpc::ServerAsyncResponseWriter<grpc::ByteBuffer>
或grpc::ServerWriteReactor<grpc::ByteBuffer>
之类的类型应该已经可以工作了。如果没有,您可以提供自己的专门化。
注:ProtoBuf代码生成器编写了大量的粘合代码来为您想要公开的各种方法注册"处理程序"代码。2如果您想要使用原始字节缓冲区,你需要自己编写这些代码。我已经有一段时间没有看到protoc生成什么了。我会从在helloworld上运行codegen开始。proto文件,并查看它为
Greeter::AsyncService
和Greeter::CallbackService
基类发出的内容。我也没有在C++中使用回调/React器模型,只有"异步"/完成队列模型。我 * 假设 * 回调/React器模型也使用
SerializationTraits
。