diff options
author | Craig Tiller <ctiller@google.com> | 2015-07-05 13:30:39 -0700 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2015-07-05 13:30:39 -0700 |
commit | d1dd3a68a2d4af56f1409327c197590dac6968cb (patch) | |
tree | b4269bb0f9aa0dbbdc2e906e4a2f405428e09b6a /src | |
parent | 05c97690630640ab41df37858ea23ffce870a509 (diff) | |
parent | c5444224538165ccabd005c5f7f50a4f4627a32a (diff) |
Merge pull request #2117 from dgquintas/bb_from_bbreader
Introduced function to create byte buffers from the output of a byte buffer reader.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/surface/byte_buffer.c | 14 | ||||
-rw-r--r-- | src/ruby/ext/grpc/extconf.rb | 2 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/core/surface/byte_buffer.c b/src/core/surface/byte_buffer.c index 4817e00454..a930949f2d 100644 --- a/src/core/surface/byte_buffer.c +++ b/src/core/surface/byte_buffer.c @@ -55,6 +55,20 @@ grpc_byte_buffer *grpc_raw_compressed_byte_buffer_create( return bb; } +grpc_byte_buffer *grpc_raw_byte_buffer_from_reader( + grpc_byte_buffer_reader *reader) { + grpc_byte_buffer *bb = malloc(sizeof(grpc_byte_buffer)); + gpr_slice slice; + bb->type = GRPC_BB_RAW; + bb->data.raw.compression = GRPC_COMPRESS_NONE; + gpr_slice_buffer_init(&bb->data.raw.slice_buffer); + + while (grpc_byte_buffer_reader_next(reader, &slice)) { + gpr_slice_buffer_add(&bb->data.raw.slice_buffer, slice); + } + return bb; +} + grpc_byte_buffer *grpc_byte_buffer_copy(grpc_byte_buffer *bb) { switch (bb->type) { case GRPC_BB_RAW: diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb index 0ff8bb9aa7..6dd0234489 100644 --- a/src/ruby/ext/grpc/extconf.rb +++ b/src/ruby/ext/grpc/extconf.rb @@ -89,7 +89,7 @@ $CFLAGS << ' -Wno-return-type ' $CFLAGS << ' -Wall ' $CFLAGS << ' -pedantic ' -$LDFLAGS << ' -lgrpc -lgpr -ldl' +$LDFLAGS << ' -lgrpc -lgpr -lz -ldl' crash('need grpc lib') unless have_library('grpc', 'grpc_channel_destroy') have_library('grpc', 'grpc_channel_destroy') |