diff options
author | Makarand Dharmapurikar <makarandd@google.com> | 2016-08-16 16:29:08 -0700 |
---|---|---|
committer | Makarand Dharmapurikar <makarandd@google.com> | 2016-08-16 16:29:08 -0700 |
commit | 1b8deaa407e46a32559ad220c58b26f68e14c1dc (patch) | |
tree | 4063aabea56ef2d8144b93f7b961d6260649f243 /src/core | |
parent | 3578c5e592e168b64c64d72d9c2af1dba7ec0812 (diff) |
addressed review feedback.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/ext/transport/cronet/transport/cronet_transport.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/core/ext/transport/cronet/transport/cronet_transport.c b/src/core/ext/transport/cronet/transport/cronet_transport.c index 50f8df5243..0fa7987076 100644 --- a/src/core/ext/transport/cronet/transport/cronet_transport.c +++ b/src/core/ext/transport/cronet/transport/cronet_transport.c @@ -52,12 +52,12 @@ #define GRPC_HEADER_SIZE_IN_BYTES 5 #define CRONET_LOG(...) \ - { \ + do { \ if (grpc_cronet_trace) gpr_log(__VA_ARGS__); \ - } + } while (0) /* TODO (makdharma): Hook up into the wider tracing mechanism */ -int grpc_cronet_trace = 1; +int grpc_cronet_trace = 0; enum OP_RESULT { ACTION_TAKEN_WITH_CALLBACK, @@ -192,8 +192,6 @@ struct stream_obj { cronet_bidirectional_stream *cbs; cronet_bidirectional_stream_header_array header_array; - /* Used for executing callbacks for ops */ - grpc_exec_ctx exec_ctx; /* Stream level state. Some state will be tracked both at stream and stream_op * level */ struct op_state state; @@ -206,7 +204,8 @@ struct stream_obj { }; typedef struct stream_obj stream_obj; -static enum OP_RESULT execute_stream_op(struct op_and_state *oas); +static enum OP_RESULT execute_stream_op(grpc_exec_ctx *exec_ctx, + struct op_and_state *oas); /* Add a new stream op to op storage. @@ -267,11 +266,12 @@ static void remove_from_storage(struct stream_obj *s, or on the application supplied thread via the perform_stream_op function. */ static void execute_from_storage(stream_obj *s) { + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; gpr_mu_lock(&s->mu); for (struct op_and_state *curr = s->storage.head; curr != NULL;) { CRONET_LOG(GPR_DEBUG, "calling op at %p. done = %d", curr, curr->done); GPR_ASSERT(curr->done == 0); - enum OP_RESULT result = execute_stream_op(curr); + enum OP_RESULT result = execute_stream_op(&exec_ctx, curr); CRONET_LOG(GPR_DEBUG, "execute_stream_op[%p] returns %s", curr, op_result_string[result]); /* if this op is done, then remove it and free memory */ @@ -288,7 +288,7 @@ static void execute_from_storage(stream_obj *s) { } } gpr_mu_unlock(&s->mu); - grpc_exec_ctx_finish(&s->exec_ctx); + grpc_exec_ctx_finish(&exec_ctx); } /* @@ -683,7 +683,8 @@ static bool op_can_be_run(grpc_transport_stream_op *curr_op, return result; } -static enum OP_RESULT execute_stream_op(struct op_and_state *oas) { +static enum OP_RESULT execute_stream_op(grpc_exec_ctx *exec_ctx, + struct op_and_state *oas) { grpc_transport_stream_op *stream_op = &oas->op; struct stream_obj *s = oas->s; struct op_state *stream_state = &s->state; @@ -724,10 +725,10 @@ static enum OP_RESULT execute_stream_op(struct op_and_state *oas) { if (!stream_state->state_op_done[OP_CANCEL_ERROR]) { grpc_chttp2_incoming_metadata_buffer_publish( &oas->s->state.rs.initial_metadata, stream_op->recv_initial_metadata); - grpc_exec_ctx_sched(&s->exec_ctx, stream_op->recv_initial_metadata_ready, + grpc_exec_ctx_sched(exec_ctx, stream_op->recv_initial_metadata_ready, GRPC_ERROR_NONE, NULL); } else { - grpc_exec_ctx_sched(&s->exec_ctx, stream_op->recv_initial_metadata_ready, + grpc_exec_ctx_sched(exec_ctx, stream_op->recv_initial_metadata_ready, GRPC_ERROR_CANCELLED, NULL); } stream_state->state_op_done[OP_RECV_INITIAL_METADATA] = true; @@ -764,13 +765,13 @@ static enum OP_RESULT execute_stream_op(struct op_and_state *oas) { OP_RECV_MESSAGE)) { CRONET_LOG(GPR_DEBUG, "running: %p OP_RECV_MESSAGE", oas); if (stream_state->state_op_done[OP_CANCEL_ERROR]) { - grpc_exec_ctx_sched(&s->exec_ctx, stream_op->recv_message_ready, + grpc_exec_ctx_sched(exec_ctx, stream_op->recv_message_ready, GRPC_ERROR_CANCELLED, NULL); stream_state->state_op_done[OP_RECV_MESSAGE] = true; } else if (stream_state->rs.read_stream_closed == true) { /* No more data will be received */ CRONET_LOG(GPR_DEBUG, "read stream closed"); - grpc_exec_ctx_sched(&s->exec_ctx, stream_op->recv_message_ready, + grpc_exec_ctx_sched(exec_ctx, stream_op->recv_message_ready, GRPC_ERROR_NONE, NULL); stream_state->state_op_done[OP_RECV_MESSAGE] = true; oas->state.state_op_done[OP_RECV_MESSAGE] = true; @@ -803,7 +804,7 @@ static enum OP_RESULT execute_stream_op(struct op_and_state *oas) { &stream_state->rs.read_slice_buffer, 0); *((grpc_byte_buffer **)stream_op->recv_message) = (grpc_byte_buffer *)&stream_state->rs.sbs; - grpc_exec_ctx_sched(&s->exec_ctx, stream_op->recv_message_ready, + grpc_exec_ctx_sched(exec_ctx, stream_op->recv_message_ready, GRPC_ERROR_NONE, NULL); stream_state->state_op_done[OP_RECV_MESSAGE] = true; oas->state.state_op_done[OP_RECV_MESSAGE] = true; @@ -835,7 +836,7 @@ static enum OP_RESULT execute_stream_op(struct op_and_state *oas) { &stream_state->rs.read_slice_buffer, 0); *((grpc_byte_buffer **)stream_op->recv_message) = (grpc_byte_buffer *)&stream_state->rs.sbs; - grpc_exec_ctx_sched(&s->exec_ctx, stream_op->recv_message_ready, + grpc_exec_ctx_sched(exec_ctx, stream_op->recv_message_ready, GRPC_ERROR_NONE, NULL); stream_state->state_op_done[OP_RECV_MESSAGE] = true; oas->state.state_op_done[OP_RECV_MESSAGE] = true; @@ -882,7 +883,7 @@ static enum OP_RESULT execute_stream_op(struct op_and_state *oas) { /* All actions in this stream_op are complete. Call the on_complete callback */ CRONET_LOG(GPR_DEBUG, "running: %p OP_ON_COMPLETE", oas); - grpc_exec_ctx_sched(&s->exec_ctx, stream_op->on_complete, GRPC_ERROR_NONE, + grpc_exec_ctx_sched(exec_ctx, stream_op->on_complete, GRPC_ERROR_NONE, NULL); oas->state.state_op_done[OP_ON_COMPLETE] = true; oas->done = true; @@ -923,7 +924,6 @@ static int init_stream(grpc_exec_ctx *exec_ctx, grpc_transport *gt, memset(s->state.state_callback_received, 0, sizeof(s->state.state_callback_received)); gpr_mu_init(&s->mu); - s->exec_ctx = *exec_ctx; return 0; } |