diff options
Diffstat (limited to 'test/cpp/util')
-rw-r--r-- | test/cpp/util/byte_buffer_proto_helper.cc | 13 | ||||
-rw-r--r-- | test/cpp/util/byte_buffer_proto_helper.h | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/test/cpp/util/byte_buffer_proto_helper.cc b/test/cpp/util/byte_buffer_proto_helper.cc index bb5162f86e..37098955d4 100644 --- a/test/cpp/util/byte_buffer_proto_helper.cc +++ b/test/cpp/util/byte_buffer_proto_helper.cc @@ -40,5 +40,18 @@ std::unique_ptr<ByteBuffer> SerializeToByteBuffer( return std::unique_ptr<ByteBuffer>(new ByteBuffer(&slice, 1)); } +bool SerializeToByteBufferInPlace(grpc::protobuf::Message* message, + ByteBuffer* buffer) { + grpc::string buf; + if (!message->SerializeToString(&buf)) { + return false; + } + buffer->Clear(); + Slice slice(buf); + ByteBuffer tmp(&slice, 1); + buffer->Swap(&tmp); + return true; +} + } // namespace testing } // namespace grpc diff --git a/test/cpp/util/byte_buffer_proto_helper.h b/test/cpp/util/byte_buffer_proto_helper.h index 94603db110..eb923eccb5 100644 --- a/test/cpp/util/byte_buffer_proto_helper.h +++ b/test/cpp/util/byte_buffer_proto_helper.h @@ -32,6 +32,9 @@ bool ParseFromByteBuffer(ByteBuffer* buffer, grpc::protobuf::Message* message); std::unique_ptr<ByteBuffer> SerializeToByteBuffer( grpc::protobuf::Message* message); +bool SerializeToByteBufferInPlace(grpc::protobuf::Message* message, + ByteBuffer* buffer); + } // namespace testing } // namespace grpc |