aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/surface/call.c
diff options
context:
space:
mode:
authorGravatar Craig Tiller <craig.tiller@gmail.com>2015-02-03 20:14:41 -0800
committerGravatar Craig Tiller <craig.tiller@gmail.com>2015-02-03 20:14:41 -0800
commit166e25002cd9a01e68b67ce41c347abadbe648ea (patch)
tree83026420a8e37776ce02bb9fa9eea88ab35c7789 /src/core/surface/call.c
parent5b9efed999c0d3b7708ab275eb96a8122b67beb6 (diff)
First test passes
Diffstat (limited to 'src/core/surface/call.c')
-rw-r--r--src/core/surface/call.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/core/surface/call.c b/src/core/surface/call.c
index 1aecd3400a..1cd5e3d684 100644
--- a/src/core/surface/call.c
+++ b/src/core/surface/call.c
@@ -155,7 +155,7 @@ struct grpc_call {
legacy_state *legacy_state;
};
-#define CALL_STACK_FROM_CALL(call) ((grpc_call_stack *)((call) + 1))
+#define CALL_STACK_FROM_CALL(call) ((grpc_call_stack *)((call)+1))
#define CALL_FROM_CALL_STACK(call_stack) (((grpc_call *)(call_stack)) - 1)
#define CALL_ELEM_FROM_CALL(call, idx) \
grpc_call_stack_element(CALL_STACK_FROM_CALL(call), idx)
@@ -201,6 +201,11 @@ grpc_call *grpc_call_create(grpc_channel *channel, grpc_completion_queue *cq,
return call;
}
+void grpc_call_set_completion_queue(grpc_call *call,
+ grpc_completion_queue *cq) {
+ call->cq = cq;
+}
+
void grpc_call_internal_ref(grpc_call *c) { gpr_ref(&c->internal_refcount); }
static void destroy_call(void *call, int ignored_success) {
@@ -284,8 +289,8 @@ static void unlock(grpc_call *call) {
send_action sa = SEND_NOTHING;
completed_request completed_requests[GRPC_IOREQ_OP_COUNT];
int num_completed_requests = call->num_completed_requests;
- int need_more_data =
- call->need_more_data && !is_op_live(call, GRPC_IOREQ_SEND_INITIAL_METADATA);
+ int need_more_data = call->need_more_data &&
+ !is_op_live(call, GRPC_IOREQ_SEND_INITIAL_METADATA);
int i;
if (need_more_data) {
@@ -461,8 +466,7 @@ static void finish_start_step(void *pc, grpc_op_error error) {
static send_action choose_send_action(grpc_call *call) {
switch (call->write_state) {
case WRITE_STATE_INITIAL:
- if (call->request_set[GRPC_IOREQ_SEND_INITIAL_METADATA] !=
- REQSET_EMPTY) {
+ if (call->request_set[GRPC_IOREQ_SEND_INITIAL_METADATA] != REQSET_EMPTY) {
call->write_state = WRITE_STATE_STARTED;
return SEND_INITIAL_METADATA;
}
@@ -807,7 +811,7 @@ static gpr_uint32 decode_status(grpc_mdelem *md) {
gpr_uint32 status;
void *user_data = grpc_mdelem_get_user_data(md, destroy_status);
if (user_data) {
- status = ((gpr_uint32)(gpr_intptr)user_data) - STATUS_OFFSET;
+ status = ((gpr_uint32)(gpr_intptr) user_data) - STATUS_OFFSET;
} else {
if (!gpr_parse_bytes_to_uint32(grpc_mdstr_as_c_string(md->value),
GPR_SLICE_LENGTH(md->value->slice),
@@ -887,7 +891,9 @@ static void set_cancelled_value(grpc_status_code status, void *dest) {
*(grpc_status_code *)dest = (status != GRPC_STATUS_OK);
}
-static void finish_batch(grpc_call *call, grpc_op_error result, void *tag) {}
+static void finish_batch(grpc_call *call, grpc_op_error result, void *tag) {
+ grpc_cq_end_op_complete(call->cq, tag, call, do_nothing, NULL, GRPC_OP_OK);
+}
grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops,
size_t nops, void *tag) {