@@ -80,10 +80,25 @@ class GrpcBufferWriter GRPC_FINAL
80
80
81
81
class GrpcBufferReader GRPC_FINAL
82
82
: public ::grpc::protobuf::io::ZeroCopyInputStream {
83
+ typedef void (CoreCodegenInterface::*OldReaderInitAPI)(
84
+ grpc_byte_buffer_reader* reader, grpc_byte_buffer* buffer);
85
+ typedef int (CoreCodegenInterface::*NewReaderInitAPI)(
86
+ grpc_byte_buffer_reader* reader, grpc_byte_buffer* buffer);
87
+ void ReaderInit (OldReaderInitAPI ptr, grpc_byte_buffer_reader* reader,
88
+ grpc_byte_buffer* buffer) {
89
+ (g_core_codegen_interface->*ptr)(reader, buffer);
90
+ }
91
+ void ReaderInit (NewReaderInitAPI ptr, grpc_byte_buffer_reader* reader,
92
+ grpc_byte_buffer* buffer) {
93
+ int result = (g_core_codegen_interface->*ptr)(reader, buffer);
94
+ (void )result;
95
+ }
96
+
83
97
public:
84
98
explicit GrpcBufferReader (grpc_byte_buffer* buffer)
85
99
: byte_count_(0 ), backup_count_(0 ) {
86
- g_core_codegen_interface->grpc_byte_buffer_reader_init (&reader_, buffer);
100
+ ReaderInit (&CoreCodegenInterface::grpc_byte_buffer_reader_init, &reader_,
101
+ buffer);
87
102
}
88
103
~GrpcBufferReader () GRPC_OVERRIDE {
89
104
g_core_codegen_interface->grpc_byte_buffer_reader_destroy (&reader_);
0 commit comments