Пример #1
0
char *grpc_transport_stream_op_string(grpc_transport_stream_op *op) {
  char *tmp;
  char *out;

  gpr_strvec b;
  gpr_strvec_init(&b);

  gpr_strvec_add(
      &b, gpr_strdup(op->covered_by_poller ? "[COVERED]" : "[UNCOVERED]"));

  if (op->send_initial_metadata != NULL) {
    gpr_strvec_add(&b, gpr_strdup(" "));
    gpr_strvec_add(&b, gpr_strdup("SEND_INITIAL_METADATA{"));
    put_metadata_list(&b, *op->send_initial_metadata);
    gpr_strvec_add(&b, gpr_strdup("}"));
  }

  if (op->send_message != NULL) {
    gpr_strvec_add(&b, gpr_strdup(" "));
    gpr_asprintf(&tmp, "SEND_MESSAGE:flags=0x%08x:len=%d",
                 op->send_message->flags, op->send_message->length);
    gpr_strvec_add(&b, tmp);
  }

  if (op->send_trailing_metadata != NULL) {
    gpr_strvec_add(&b, gpr_strdup(" "));
    gpr_strvec_add(&b, gpr_strdup("SEND_TRAILING_METADATA{"));
    put_metadata_list(&b, *op->send_trailing_metadata);
    gpr_strvec_add(&b, gpr_strdup("}"));
  }

  if (op->recv_initial_metadata != NULL) {
    gpr_strvec_add(&b, gpr_strdup(" "));
    gpr_strvec_add(&b, gpr_strdup("RECV_INITIAL_METADATA"));
  }

  if (op->recv_message != NULL) {
    gpr_strvec_add(&b, gpr_strdup(" "));
    gpr_strvec_add(&b, gpr_strdup("RECV_MESSAGE"));
  }

  if (op->recv_trailing_metadata != NULL) {
    gpr_strvec_add(&b, gpr_strdup(" "));
    gpr_strvec_add(&b, gpr_strdup("RECV_TRAILING_METADATA"));
  }

  if (op->cancel_error != GRPC_ERROR_NONE) {
    gpr_strvec_add(&b, gpr_strdup(" "));
    const char *msg = grpc_error_string(op->cancel_error);
    gpr_asprintf(&tmp, "CANCEL:%s", msg);

    gpr_strvec_add(&b, tmp);
  }

  out = gpr_strvec_flatten(&b, NULL);
  gpr_strvec_destroy(&b);

  return out;
}
Пример #2
0
char *grpc_sopb_string(grpc_stream_op_buffer *sopb) {
  char *out;
  char *tmp;
  size_t i;
  gpr_strvec b;
  gpr_strvec_init(&b);

  for (i = 0; i < sopb->nops; i++) {
    grpc_stream_op *op = &sopb->ops[i];
    if (i > 0) gpr_strvec_add(&b, gpr_strdup(", "));
    switch (op->type) {
      case GRPC_NO_OP:
        gpr_strvec_add(&b, gpr_strdup("NO_OP"));
        break;
      case GRPC_OP_BEGIN_MESSAGE:
        gpr_asprintf(&tmp, "BEGIN_MESSAGE:%d", op->data.begin_message.length);
        gpr_strvec_add(&b, tmp);
        break;
      case GRPC_OP_SLICE:
        gpr_asprintf(&tmp, "SLICE:%d", GPR_SLICE_LENGTH(op->data.slice));
        gpr_strvec_add(&b, tmp);
        break;
      case GRPC_OP_METADATA:
        gpr_strvec_add(&b, gpr_strdup("METADATA{"));
        put_metadata_list(&b, op->data.metadata);
        gpr_strvec_add(&b, gpr_strdup("}"));
        break;
    }
  }

  out = gpr_strvec_flatten(&b, NULL);
  gpr_strvec_destroy(&b);

  return out;
}
Пример #3
0
char *grpc_transport_stream_op_string(grpc_transport_stream_op *op) {
  char *tmp;
  char *out;
  int first = 1;

  gpr_strvec b;
  gpr_strvec_init(&b);

  if (op->send_initial_metadata != NULL) {
    if (!first) gpr_strvec_add(&b, gpr_strdup(" "));
    first = 0;
    gpr_strvec_add(&b, gpr_strdup("SEND_INITIAL_METADATA{"));
    put_metadata_list(&b, *op->send_initial_metadata);
    gpr_strvec_add(&b, gpr_strdup("}"));
  }

  if (op->send_message != NULL) {
    if (!first) gpr_strvec_add(&b, gpr_strdup(" "));
    first = 0;
    gpr_asprintf(&tmp, "SEND_MESSAGE:flags=0x%08x:len=%d",
                 op->send_message->flags, op->send_message->length);
    gpr_strvec_add(&b, tmp);
  }

  if (op->send_trailing_metadata != NULL) {
    if (!first) gpr_strvec_add(&b, gpr_strdup(" "));
    first = 0;
    gpr_strvec_add(&b, gpr_strdup("SEND_TRAILING_METADATA{"));
    put_metadata_list(&b, *op->send_trailing_metadata);
    gpr_strvec_add(&b, gpr_strdup("}"));
  }

  if (op->recv_initial_metadata != NULL) {
    if (!first) gpr_strvec_add(&b, gpr_strdup(" "));
    first = 0;
    gpr_strvec_add(&b, gpr_strdup("RECV_INITIAL_METADATA"));
  }

  if (op->recv_message != NULL) {
    if (!first) gpr_strvec_add(&b, gpr_strdup(" "));
    first = 0;
    gpr_strvec_add(&b, gpr_strdup("RECV_MESSAGE"));
  }

  if (op->recv_trailing_metadata != NULL) {
    if (!first) gpr_strvec_add(&b, gpr_strdup(" "));
    first = 0;
    gpr_strvec_add(&b, gpr_strdup("RECV_TRAILING_METADATA"));
  }

  if (op->cancel_with_status != GRPC_STATUS_OK) {
    if (!first) gpr_strvec_add(&b, gpr_strdup(" "));
    first = 0;
    gpr_asprintf(&tmp, "CANCEL:%d", op->cancel_with_status);
    gpr_strvec_add(&b, tmp);
  }

  out = gpr_strvec_flatten(&b, NULL);
  gpr_strvec_destroy(&b);

  return out;
}