handle 0 byte size message...

pull/13315/head
yang-g 7 years ago
parent 272eebbbcd
commit c88185900d
  1. 5
      include/grpc++/impl/codegen/proto_utils.h

@ -188,6 +188,11 @@ Status GenericSerialize(const grpc::protobuf::Message& msg,
"BufferWriter must be a subclass of io::ZeroCopyOutputStream");
*own_buffer = true;
int byte_size = msg.ByteSize();
if (byte_size == 0) {
grpc_slice empty_slice = g_core_codegen_interface->grpc_empty_slice();
*bp = g_core_codegen_interface->grpc_raw_byte_buffer_create(&empty_slice, 1);
return g_core_codegen_interface->ok();
}
BufferWriter writer(bp, kGrpcBufferWriterMaxBufferLength, byte_size);
return msg.SerializeToZeroCopyStream(&writer)
? g_core_codegen_interface->ok()

Loading…
Cancel
Save