예제 #1
0
static void client_mutate_op(grpc_call_element *elem,
                             grpc_transport_stream_op *op) {
  call_data *calld = elem->call_data;
  channel_data *chand = elem->channel_data;
  if (op->send_initial_metadata) {
    extract_and_annotate_method_tag(op->send_initial_metadata, calld, chand);
  }
}
예제 #2
0
static void server_on_done_recv(void* ptr, int success) {
  grpc_call_element* elem = ptr;
  call_data* calld = elem->call_data;
  channel_data* chand = elem->channel_data;
  if (success) {
    extract_and_annotate_method_tag(calld->recv_ops, calld, chand);
  }
  calld->on_done_recv->cb(calld->on_done_recv->cb_arg, success);
}
예제 #3
0
static void server_on_done_recv(grpc_exec_ctx *exec_ctx, void *ptr,
                                bool success) {
    grpc_call_element *elem = ptr;
    call_data *calld = elem->call_data;
    channel_data *chand = elem->channel_data;
    if (success) {
        extract_and_annotate_method_tag(calld->recv_initial_metadata, calld, chand);
    }
    calld->on_done_recv->cb(exec_ctx, calld->on_done_recv->cb_arg, success);
}
예제 #4
0
static void server_on_done_recv(grpc_exec_ctx *exec_ctx, void *ptr,
                                grpc_error *error) {
  GPR_TIMER_BEGIN("census-server:server_on_done_recv", 0);
  grpc_call_element *elem = ptr;
  call_data *calld = elem->call_data;
  channel_data *chand = elem->channel_data;
  if (error == GRPC_ERROR_NONE) {
    extract_and_annotate_method_tag(calld->recv_initial_metadata, calld, chand);
  }
  calld->on_done_recv->cb(exec_ctx, calld->on_done_recv->cb_arg, error);
  GPR_TIMER_END("census-server:server_on_done_recv", 0);
}
예제 #5
0
static void server_call_op(grpc_call_element* elem,
                           grpc_call_element* from_elem, grpc_call_op* op) {
  call_data* calld = elem->call_data;
  channel_data* chand = elem->channel_data;
  GPR_ASSERT(calld != NULL);
  GPR_ASSERT(chand != NULL);
  GPR_ASSERT((calld->op_id.upper != 0) || (calld->op_id.lower != 0));
  switch (op->type) {
    case GRPC_RECV_METADATA:
      extract_and_annotate_method_tag(op, calld, chand);
      break;
    case GRPC_SEND_FINISH:
      /* Should we stop timing the rpc here? */
      break;
    default:
      break;
  }
  /* Always pass control up or down the stack depending on op->dir */
  grpc_call_next_op(elem, op);
}