您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GPR_SLICE_START_PTR函数代码示例

51自学网 2021-06-01 20:54:59
  C++
这篇教程C++ GPR_SLICE_START_PTR函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GPR_SLICE_START_PTR函数的典型用法代码示例。如果您正苦于以下问题:C++ GPR_SLICE_START_PTR函数的具体用法?C++ GPR_SLICE_START_PTR怎么用?C++ GPR_SLICE_START_PTR使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GPR_SLICE_START_PTR函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: grpc_chttp2_rst_stream_create

gpr_slice grpc_chttp2_rst_stream_create(uint32_t id, uint32_t code,                                        grpc_transport_one_way_stats *stats) {  static const size_t frame_size = 13;  gpr_slice slice = gpr_slice_malloc(frame_size);  stats->framing_bytes += frame_size;  uint8_t *p = GPR_SLICE_START_PTR(slice);  *p++ = 0;  *p++ = 0;  *p++ = 4;  *p++ = GRPC_CHTTP2_FRAME_RST_STREAM;  *p++ = 0;  *p++ = (uint8_t)(id >> 24);  *p++ = (uint8_t)(id >> 16);  *p++ = (uint8_t)(id >> 8);  *p++ = (uint8_t)(id);  *p++ = (uint8_t)(code >> 24);  *p++ = (uint8_t)(code >> 16);  *p++ = (uint8_t)(code >> 8);  *p++ = (uint8_t)(code);  return slice;}
开发者ID:Aj0Ay,项目名称:grpc,代码行数:23,


示例2: malloc

static gpr_slice *allocate_blocks(size_t num_bytes, size_t slice_size,                                  size_t *num_blocks, uint8_t *current_data) {  size_t nslices = num_bytes / slice_size + (num_bytes % slice_size ? 1 : 0);  gpr_slice *slices = malloc(sizeof(gpr_slice) * nslices);  size_t num_bytes_left = num_bytes;  size_t i;  size_t j;  unsigned char *buf;  *num_blocks = nslices;  for (i = 0; i < nslices; ++i) {    slices[i] = gpr_slice_malloc(slice_size > num_bytes_left ? num_bytes_left                                                             : slice_size);    num_bytes_left -= GPR_SLICE_LENGTH(slices[i]);    buf = GPR_SLICE_START_PTR(slices[i]);    for (j = 0; j < GPR_SLICE_LENGTH(slices[i]); ++j) {      buf[j] = *current_data;      (*current_data)++;    }  }  GPR_ASSERT(num_bytes_left == 0);  return slices;}
开发者ID:An-mol,项目名称:grpc,代码行数:23,


示例3: gpr_empty_slice

/* Takes ownership of creds_path if not NULL. */static grpc_call_credentials *create_default_creds_from_path(char *creds_path) {  grpc_json *json = NULL;  grpc_auth_json_key key;  grpc_auth_refresh_token token;  grpc_call_credentials *result = NULL;  gpr_slice creds_data = gpr_empty_slice();  int file_ok = 0;  if (creds_path == NULL) goto end;  creds_data = gpr_load_file(creds_path, 0, &file_ok);  if (!file_ok) goto end;  json = grpc_json_parse_string_with_len(      (char *)GPR_SLICE_START_PTR(creds_data), GPR_SLICE_LENGTH(creds_data));  if (json == NULL) goto end;  /* First, try an auth json key. */  key = grpc_auth_json_key_create_from_json(json);  if (grpc_auth_json_key_is_valid(&key)) {    result =        grpc_service_account_jwt_access_credentials_create_from_auth_json_key(            key, grpc_max_auth_token_lifetime());    goto end;  }  /* Then try a refresh token if the auth json key was invalid. */  token = grpc_auth_refresh_token_create_from_json(json);  if (grpc_auth_refresh_token_is_valid(&token)) {    result =        grpc_refresh_token_credentials_create_from_auth_refresh_token(token);    goto end;  }end:  if (creds_path != NULL) gpr_free(creds_path);  gpr_slice_unref(creds_data);  if (json != NULL) grpc_json_destroy(json);  return result;}
开发者ID:AlexTalks,项目名称:bazel,代码行数:38,


示例4: check_jwt_signature

static void check_jwt_signature(const char *b64_signature, RSA *rsa_key,                                const char *signed_data,                                size_t signed_data_size) {  EVP_MD_CTX *md_ctx = EVP_MD_CTX_create();  EVP_PKEY *key = EVP_PKEY_new();  gpr_slice sig = grpc_base64_decode(b64_signature, 1);  GPR_ASSERT(!GPR_SLICE_IS_EMPTY(sig));  GPR_ASSERT(GPR_SLICE_LENGTH(sig) == 128);  GPR_ASSERT(md_ctx != NULL);  GPR_ASSERT(key != NULL);  EVP_PKEY_set1_RSA(key, rsa_key);  GPR_ASSERT(EVP_DigestVerifyInit(md_ctx, NULL, EVP_sha256(), NULL, key) == 1);  GPR_ASSERT(EVP_DigestVerifyUpdate(md_ctx, signed_data, signed_data_size) ==             1);  GPR_ASSERT(EVP_DigestVerifyFinal(md_ctx, GPR_SLICE_START_PTR(sig),                                   GPR_SLICE_LENGTH(sig)) == 1);  gpr_slice_unref(sig);  if (key != NULL) EVP_PKEY_free(key);  if (md_ctx != NULL) EVP_MD_CTX_destroy(md_ctx);}
开发者ID:Abioy,项目名称:kythe,代码行数:24,


示例5: test_expired_claims_failure

static void test_expired_claims_failure(void) {  grpc_jwt_claims *claims;  gpr_slice s = gpr_slice_from_copied_string(expired_claims);  grpc_json *json = grpc_json_parse_string_with_len(      (char *)GPR_SLICE_START_PTR(s), GPR_SLICE_LENGTH(s));  gpr_timespec exp_iat = {100, 0, GPR_CLOCK_REALTIME};  gpr_timespec exp_exp = {120, 0, GPR_CLOCK_REALTIME};  gpr_timespec exp_nbf = {60, 0, GPR_CLOCK_REALTIME};  GPR_ASSERT(json != NULL);  claims = grpc_jwt_claims_from_json(json, s);  GPR_ASSERT(claims != NULL);  GPR_ASSERT(grpc_jwt_claims_json(claims) == json);  GPR_ASSERT(strcmp(grpc_jwt_claims_audience(claims), "https://foo.com") == 0);  GPR_ASSERT(strcmp(grpc_jwt_claims_issuer(claims), "blah.foo.com") == 0);  GPR_ASSERT(strcmp(grpc_jwt_claims_subject(claims), "[email
C++ GPR_TIMER_BEGIN函数代码示例
C++ GPR_SLICE_LENGTH函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。