aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/surface/call.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/surface/call.c')
-rw-r--r--src/core/surface/call.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/core/surface/call.c b/src/core/surface/call.c
index 4308325621..733c980502 100644
--- a/src/core/surface/call.c
+++ b/src/core/surface/call.c
@@ -55,8 +55,8 @@ typedef struct {
grpc_byte_buffer *msg_out;
/* input buffers */
- grpc_metadata_array md_in;
- grpc_metadata_array trail_md_in;
+ grpc_metadata_array initial_md_in;
+ grpc_metadata_array trailing_md_in;
grpc_recv_status status_in;
size_t msg_in_read_idx;
grpc_byte_buffer_array msg_in;
@@ -224,8 +224,8 @@ static void destroy_call(void *call, int ignored_success) {
}
gpr_free(c->legacy_state->md_out[i]);
}
- gpr_free(c->legacy_state->md_in.metadata);
- gpr_free(c->legacy_state->trail_md_in.metadata);
+ gpr_free(c->legacy_state->initial_md_in.metadata);
+ gpr_free(c->legacy_state->trailing_md_in.metadata);
destroy_message_array(&c->legacy_state->msg_in,
c->legacy_state->msg_in_read_idx);
gpr_free(c->legacy_state);
@@ -765,7 +765,7 @@ static void maybe_finish_legacy(grpc_call *call) {
if (ls->got_status && ls->msg_in_read_idx == ls->msg_in.count) {
grpc_cq_end_finished(call->cq, ls->finished_tag, call, do_nothing, NULL,
ls->status_in.status, ls->status_in.details,
- ls->trail_md_in.metadata, ls->trail_md_in.count);
+ ls->trailing_md_in.metadata, ls->trailing_md_in.count);
}
}
@@ -788,7 +788,7 @@ static void finish_recv_metadata(grpc_call *call, grpc_op_error status,
ls = get_legacy_state(call);
if (status == GRPC_OP_OK) {
grpc_cq_end_client_metadata_read(call->cq, tag, call, do_nothing, NULL,
- ls->md_in.count, ls->md_in.metadata);
+ ls->initial_md_in.count, ls->initial_md_in.metadata);
} else {
grpc_cq_end_client_metadata_read(call->cq, tag, call, do_nothing, NULL, 0,
@@ -825,12 +825,12 @@ grpc_call_error grpc_call_invoke(grpc_call *call, grpc_completion_queue *cq,
if (err != GRPC_CALL_OK) goto done;
reqs[0].op = GRPC_IOREQ_RECV_INITIAL_METADATA;
- reqs[0].data.recv_metadata = &ls->md_in;
+ reqs[0].data.recv_metadata = &ls->initial_md_in;
err = start_ioreq(call, reqs, 1, finish_recv_metadata, metadata_read_tag);
if (err != GRPC_CALL_OK) goto done;
reqs[0].op = GRPC_IOREQ_RECV_TRAILING_METADATA;
- reqs[0].data.recv_metadata = &ls->trail_md_in;
+ reqs[0].data.recv_metadata = &ls->trailing_md_in;
reqs[1].op = GRPC_IOREQ_RECV_STATUS;
reqs[1].data.recv_status = &ls->status_in;
err = start_ioreq(call, reqs, 2, finish_status, NULL);
@@ -1117,12 +1117,15 @@ void grpc_call_recv_metadata(grpc_call_element *elem, grpc_mdelem *md) {
set_status_details(call, STATUS_FROM_WIRE, grpc_mdstr_ref(md->value));
grpc_mdelem_unref(md);
} else {
+ char *sel;
if (!call->got_initial_metadata) {
+ sel = call->requests[GRPC_IOREQ_RECV_INITIAL_METADATA].state == REQ_READY? "req_init" : "buf_init";
dest = call->requests[GRPC_IOREQ_RECV_INITIAL_METADATA].state == REQ_READY
? call->requests[GRPC_IOREQ_RECV_INITIAL_METADATA]
.data.recv_metadata
: &call->buffered_initial_metadata;
} else {
+ sel = call->requests[GRPC_IOREQ_RECV_TRAILING_METADATA].state == REQ_READY? "req_trail" : "buf_trail";
dest =
call->requests[GRPC_IOREQ_RECV_TRAILING_METADATA].state == REQ_READY
? call->requests[GRPC_IOREQ_RECV_TRAILING_METADATA]