Protocol buffers grpc c+中的零拷贝字节+; 我刚开始使用GRPC,我注意到C++中的字节编译成了代码> STD::String ,这意味着每个服务的GRPC对象都需要复制到一个新的缓冲区,因为 STD::String
我不想在使用前将每个对象复制到新缓冲区(分配过多)Protocol buffers grpc c+中的零拷贝字节+; 我刚开始使用GRPC,我注意到C++中的字节编译成了代码> STD::String ,这意味着每个服务的GRPC对象都需要复制到一个新的缓冲区,因为 STD::String,protocol-buffers,grpc,Protocol Buffers,Grpc,我不想在使用前将每个对象复制到新缓冲区(分配过多) 是否有已知的解决方案,或者我使用gRPC是错误的?gRPC只使用protobufs。通过调用生成的release\u XXX()方法,可以将内容移出protobuf消息 string*release\u foo():释放字段的所有权并返回string对象的指针。调用此函数后,调用者获得分配的string对象的所有权,foo()将返回空字符串/空字节 gRPC只使用protobufs。通过调用生成的release\u XXX()方法,可以将内容移
是否有已知的解决方案,或者我使用gRPC是错误的?gRPC只使用protobufs。通过调用生成的
release\u XXX()
方法,可以将内容移出protobuf消息
string*release\u foo()
:释放字段的所有权并返回string
对象的指针。调用此函数后,调用者获得分配的string
对象的所有权,foo()
将返回空字符串/空字节
gRPC只使用protobufs。通过调用生成的release\u XXX()
方法,可以将内容移出protobuf消息
string*release\u foo()
:释放字段的所有权并返回string
对象的指针。调用此函数后,调用者获得分配的string
对象的所有权,foo()
将返回空字符串/空字节
我需要从std::string而不是protobuf生成的对象释放二进制数据。无法从std::string
释放二进制数据。如果您想在没有任何副本的情况下使用gRPC,则需要组织存储以在内部使用std::string
。我需要从std::string释放二进制数据,而不是从protobuf生成的对象释放二进制数据。无法从std::string
释放二进制数据。如果您想在没有任何副本的情况下使用gRPC,则需要组织存储以在内部使用std::string
。