diff options
author | 2017-04-12 14:08:27 -0700 | |
---|---|---|
committer | 2017-04-12 14:08:27 -0700 | |
commit | f452cc5f9a7f51f5b034db643f90217961f3dfc8 (patch) | |
tree | d59e0c2dc17e1c6c4bf6581e2ef0867df1c5a4d6 /src/core/ext/transport/cronet | |
parent | becd3a46983d853345291e01da63e666cea9bd20 (diff) | |
parent | 50858f51c1146f02c24145d033f10b8b1eaa3e45 (diff) |
Merge pull request #9626 from muxi/lazy-deframe
Implement lazy deframe
Diffstat (limited to 'src/core/ext/transport/cronet')
-rw-r--r-- | src/core/ext/transport/cronet/transport/cronet_transport.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/core/ext/transport/cronet/transport/cronet_transport.c b/src/core/ext/transport/cronet/transport/cronet_transport.c index 88335ecd0b..7896c70f9e 100644 --- a/src/core/ext/transport/cronet/transport/cronet_transport.c +++ b/src/core/ext/transport/cronet/transport/cronet_transport.c @@ -973,9 +973,20 @@ static enum e_op_result execute_stream_op(grpc_exec_ctx *exec_ctx, grpc_slice_buffer write_slice_buffer; grpc_slice slice; grpc_slice_buffer_init(&write_slice_buffer); - grpc_byte_stream_next( - NULL, stream_op->payload->send_message.send_message, &slice, - stream_op->payload->send_message.send_message->length, NULL); + if (1 != grpc_byte_stream_next( + exec_ctx, stream_op->payload->send_message.send_message, + stream_op->payload->send_message.send_message->length, + NULL)) { + /* Should never reach here */ + GPR_ASSERT(false); + } + if (GRPC_ERROR_NONE != + grpc_byte_stream_pull(exec_ctx, + stream_op->payload->send_message.send_message, + &slice)) { + /* Should never reach here */ + GPR_ASSERT(false); + } grpc_slice_buffer_add(&write_slice_buffer, slice); if (write_slice_buffer.count != 1) { /* Empty request not handled yet */ |