|
|
@ -1128,8 +1128,7 @@ static size_t batch_slot_for_op(grpc_op_type type) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static batch_control* reuse_or_allocate_batch_control(grpc_call* call, |
|
|
|
static batch_control* reuse_or_allocate_batch_control(grpc_call* call, |
|
|
|
const grpc_op* ops, |
|
|
|
const grpc_op* ops) { |
|
|
|
size_t num_ops) { |
|
|
|
|
|
|
|
size_t slot_idx = batch_slot_for_op(ops[0].op); |
|
|
|
size_t slot_idx = batch_slot_for_op(ops[0].op); |
|
|
|
batch_control** pslot = &call->active_batches[slot_idx]; |
|
|
|
batch_control** pslot = &call->active_batches[slot_idx]; |
|
|
|
batch_control* bctl; |
|
|
|
batch_control* bctl; |
|
|
@ -1545,7 +1544,7 @@ static grpc_call_error call_start_batch(grpc_call* call, const grpc_op* ops, |
|
|
|
goto done; |
|
|
|
goto done; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
bctl = reuse_or_allocate_batch_control(call, ops, nops); |
|
|
|
bctl = reuse_or_allocate_batch_control(call, ops); |
|
|
|
if (bctl == nullptr) { |
|
|
|
if (bctl == nullptr) { |
|
|
|
return GRPC_CALL_ERROR_TOO_MANY_OPERATIONS; |
|
|
|
return GRPC_CALL_ERROR_TOO_MANY_OPERATIONS; |
|
|
|
} |
|
|
|
} |
|
|
|