Declare sub_refcnt field

reviewable/pr8842/r1
Craig Tiller 8 years ago
parent 0960818e54
commit 43a5169292
  1. 5
      include/grpc/impl/codegen/slice.h
  2. 2
      src/core/ext/transport/chttp2/transport/hpack_encoder.c
  3. 3
      src/core/lib/slice/slice.c
  4. 952
      src/core/lib/transport/static_metadata.c
  5. 13
      src/core/lib/transport/static_metadata.h
  6. 32
      tools/codegen/core/gen_static_metadata.py

@ -68,6 +68,11 @@ typedef struct grpc_slice_refcount_vtable {
grpc_slice_new, or grpc_slice_new_with_len instead. */ grpc_slice_new, or grpc_slice_new_with_len instead. */
typedef struct grpc_slice_refcount { typedef struct grpc_slice_refcount {
const grpc_slice_refcount_vtable *vtable; const grpc_slice_refcount_vtable *vtable;
/* If a subset of this slice is taken, use this pointer for the refcount.
Typically points back to the refcount itself, however iterning
implementations can use this to avoid a verification step on each hash
or equality check */
struct grpc_slice_refcount *sub_refcount;
} grpc_slice_refcount; } grpc_slice_refcount;
#define GRPC_SLICE_INLINED_SIZE (sizeof(size_t) + sizeof(uint8_t *) - 1) #define GRPC_SLICE_INLINED_SIZE (sizeof(size_t) + sizeof(uint8_t *) - 1)

@ -65,7 +65,7 @@
/* don't consider adding anything bigger than this to the hpack table */ /* don't consider adding anything bigger than this to the hpack table */
#define MAX_DECODER_SPACE_USAGE 512 #define MAX_DECODER_SPACE_USAGE 512
static grpc_slice_refcount terminal_slice_refcount = {NULL}; static grpc_slice_refcount terminal_slice_refcount = {NULL, NULL};
static const grpc_slice terminal_slice = {&terminal_slice_refcount, static const grpc_slice terminal_slice = {&terminal_slice_refcount,
.data.refcounted = {0, 0}}; .data.refcounted = {0, 0}};

@ -81,7 +81,8 @@ static void noop_unref(grpc_exec_ctx *exec_ctx, void *unused) {}
static const grpc_slice_refcount_vtable noop_refcount_vtable = { static const grpc_slice_refcount_vtable noop_refcount_vtable = {
noop_ref, noop_unref, grpc_slice_default_eq_impl, noop_ref, noop_unref, grpc_slice_default_eq_impl,
grpc_slice_default_hash_impl}; grpc_slice_default_hash_impl};
static grpc_slice_refcount noop_refcount = {&noop_refcount_vtable}; static grpc_slice_refcount noop_refcount = {&noop_refcount_vtable,
&noop_refcount};
grpc_slice grpc_slice_from_static_buffer(const void *s, size_t len) { grpc_slice grpc_slice_from_static_buffer(const void *s, size_t len) {
grpc_slice slice; grpc_slice slice;

@ -116,178 +116,313 @@ static uint8_t g_bytes[] = {
static void static_ref(void *unused) {} static void static_ref(void *unused) {}
static void static_unref(grpc_exec_ctx *exec_ctx, void *unused) {} static void static_unref(grpc_exec_ctx *exec_ctx, void *unused) {}
static const grpc_slice_refcount_vtable static_vtable = { static const grpc_slice_refcount_vtable static_sub_vtable = {
static_ref, static_unref, grpc_slice_default_eq_impl,
grpc_slice_default_hash_impl};
const grpc_slice_refcount_vtable grpc_static_metadata_vtable = {
static_ref, static_unref, grpc_static_slice_eq, grpc_static_slice_hash}; static_ref, static_unref, grpc_static_slice_eq, grpc_static_slice_hash};
typedef struct { static grpc_slice_refcount static_sub_refcnt = {&static_sub_vtable,
grpc_slice_refcount base; &static_sub_refcnt};
const uint16_t offset; grpc_slice_refcount grpc_static_metadata_refcounts[GRPC_STATIC_MDSTR_COUNT] = {
const uint16_t length; {&grpc_static_metadata_vtable, &static_sub_refcnt},
} static_slice_refcount; {&grpc_static_metadata_vtable, &static_sub_refcnt},
static static_slice_refcount g_refcnts[GRPC_STATIC_MDSTR_COUNT] = { {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 0, 5}, {{&static_vtable}, 5, 7}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 12, 7}, {{&static_vtable}, 19, 10}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 29, 7}, {{&static_vtable}, 36, 2}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 38, 12}, {{&static_vtable}, 50, 11}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 61, 16}, {{&static_vtable}, 77, 13}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 90, 20}, {{&static_vtable}, 110, 12}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 122, 30}, {{&static_vtable}, 152, 10}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 162, 4}, {{&static_vtable}, 166, 8}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 174, 11}, {{&static_vtable}, 185, 12}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 197, 16}, {{&static_vtable}, 213, 14}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 227, 0}, {{&static_vtable}, 227, 19}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 246, 12}, {{&static_vtable}, 258, 30}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 288, 31}, {{&static_vtable}, 319, 36}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 355, 1}, {{&static_vtable}, 356, 1}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 357, 1}, {{&static_vtable}, 358, 8}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 366, 4}, {{&static_vtable}, 370, 7}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 377, 8}, {{&static_vtable}, 385, 16}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 401, 4}, {{&static_vtable}, 405, 3}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 408, 3}, {{&static_vtable}, 411, 4}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 415, 5}, {{&static_vtable}, 420, 4}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 424, 3}, {{&static_vtable}, 427, 3}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 430, 1}, {{&static_vtable}, 431, 11}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 442, 3}, {{&static_vtable}, 445, 3}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 448, 3}, {{&static_vtable}, 451, 3}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 454, 3}, {{&static_vtable}, 457, 14}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 471, 15}, {{&static_vtable}, 486, 13}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 499, 15}, {{&static_vtable}, 514, 13}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 527, 6}, {{&static_vtable}, 533, 27}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 560, 3}, {{&static_vtable}, 563, 5}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 568, 13}, {{&static_vtable}, 581, 13}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 594, 19}, {{&static_vtable}, 613, 16}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 629, 16}, {{&static_vtable}, 645, 14}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 659, 16}, {{&static_vtable}, 675, 13}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 688, 6}, {{&static_vtable}, 694, 4}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 698, 4}, {{&static_vtable}, 702, 6}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 708, 7}, {{&static_vtable}, 715, 4}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 719, 8}, {{&static_vtable}, 727, 17}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 744, 13}, {{&static_vtable}, 757, 8}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 765, 19}, {{&static_vtable}, 784, 13}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 797, 4}, {{&static_vtable}, 801, 8}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 809, 12}, {{&static_vtable}, 821, 18}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 839, 19}, {{&static_vtable}, 858, 5}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 863, 7}, {{&static_vtable}, 870, 7}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 877, 11}, {{&static_vtable}, 888, 6}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 894, 10}, {{&static_vtable}, 904, 25}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 929, 17}, {{&static_vtable}, 946, 4}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 950, 3}, {{&static_vtable}, 953, 16}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 969, 16}, {{&static_vtable}, 985, 13}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{{&static_vtable}, 998, 12}, {{&static_vtable}, 1010, 21}, {&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
{&grpc_static_metadata_vtable, &static_sub_refcnt},
}; };
bool grpc_is_static_metadata_string(grpc_slice slice) {
return slice.refcount != NULL && slice.refcount->vtable == &static_vtable;
}
const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT] = { const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT] = {
{.refcount = &g_refcnts[0].base, .data.refcounted = {g_bytes + 0, 5}}, {.refcount = &grpc_static_metadata_refcounts[0],
{.refcount = &g_refcnts[1].base, .data.refcounted = {g_bytes + 5, 7}}, .data.refcounted = {g_bytes + 0, 5}},
{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}}, {.refcount = &grpc_static_metadata_refcounts[1],
{.refcount = &g_refcnts[3].base, .data.refcounted = {g_bytes + 19, 10}}, .data.refcounted = {g_bytes + 5, 7}},
{.refcount = &g_refcnts[4].base, .data.refcounted = {g_bytes + 29, 7}}, {.refcount = &grpc_static_metadata_refcounts[2],
{.refcount = &g_refcnts[5].base, .data.refcounted = {g_bytes + 36, 2}}, .data.refcounted = {g_bytes + 12, 7}},
{.refcount = &g_refcnts[6].base, .data.refcounted = {g_bytes + 38, 12}}, {.refcount = &grpc_static_metadata_refcounts[3],
{.refcount = &g_refcnts[7].base, .data.refcounted = {g_bytes + 50, 11}}, .data.refcounted = {g_bytes + 19, 10}},
{.refcount = &g_refcnts[8].base, .data.refcounted = {g_bytes + 61, 16}}, {.refcount = &grpc_static_metadata_refcounts[4],
{.refcount = &g_refcnts[9].base, .data.refcounted = {g_bytes + 77, 13}}, .data.refcounted = {g_bytes + 29, 7}},
{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}}, {.refcount = &grpc_static_metadata_refcounts[5],
{.refcount = &g_refcnts[11].base, .data.refcounted = {g_bytes + 110, 12}}, .data.refcounted = {g_bytes + 36, 2}},
{.refcount = &g_refcnts[12].base, .data.refcounted = {g_bytes + 122, 30}}, {.refcount = &grpc_static_metadata_refcounts[6],
{.refcount = &g_refcnts[13].base, .data.refcounted = {g_bytes + 152, 10}}, .data.refcounted = {g_bytes + 38, 12}},
{.refcount = &g_refcnts[14].base, .data.refcounted = {g_bytes + 162, 4}}, {.refcount = &grpc_static_metadata_refcounts[7],
{.refcount = &g_refcnts[15].base, .data.refcounted = {g_bytes + 166, 8}}, .data.refcounted = {g_bytes + 50, 11}},
{.refcount = &g_refcnts[16].base, .data.refcounted = {g_bytes + 174, 11}}, {.refcount = &grpc_static_metadata_refcounts[8],
{.refcount = &g_refcnts[17].base, .data.refcounted = {g_bytes + 185, 12}}, .data.refcounted = {g_bytes + 61, 16}},
{.refcount = &g_refcnts[18].base, .data.refcounted = {g_bytes + 197, 16}}, {.refcount = &grpc_static_metadata_refcounts[9],
{.refcount = &g_refcnts[19].base, .data.refcounted = {g_bytes + 213, 14}}, .data.refcounted = {g_bytes + 77, 13}},
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}, {.refcount = &grpc_static_metadata_refcounts[10],
{.refcount = &g_refcnts[21].base, .data.refcounted = {g_bytes + 227, 19}}, .data.refcounted = {g_bytes + 90, 20}},
{.refcount = &g_refcnts[22].base, .data.refcounted = {g_bytes + 246, 12}}, {.refcount = &grpc_static_metadata_refcounts[11],
{.refcount = &g_refcnts[23].base, .data.refcounted = {g_bytes + 258, 30}}, .data.refcounted = {g_bytes + 110, 12}},
{.refcount = &g_refcnts[24].base, .data.refcounted = {g_bytes + 288, 31}}, {.refcount = &grpc_static_metadata_refcounts[12],
{.refcount = &g_refcnts[25].base, .data.refcounted = {g_bytes + 319, 36}}, .data.refcounted = {g_bytes + 122, 30}},
{.refcount = &g_refcnts[26].base, .data.refcounted = {g_bytes + 355, 1}}, {.refcount = &grpc_static_metadata_refcounts[13],
{.refcount = &g_refcnts[27].base, .data.refcounted = {g_bytes + 356, 1}}, .data.refcounted = {g_bytes + 152, 10}},
{.refcount = &g_refcnts[28].base, .data.refcounted = {g_bytes + 357, 1}}, {.refcount = &grpc_static_metadata_refcounts[14],
{.refcount = &g_refcnts[29].base, .data.refcounted = {g_bytes + 358, 8}}, .data.refcounted = {g_bytes + 162, 4}},
{.refcount = &g_refcnts[30].base, .data.refcounted = {g_bytes + 366, 4}}, {.refcount = &grpc_static_metadata_refcounts[15],
{.refcount = &g_refcnts[31].base, .data.refcounted = {g_bytes + 370, 7}}, .data.refcounted = {g_bytes + 166, 8}},
{.refcount = &g_refcnts[32].base, .data.refcounted = {g_bytes + 377, 8}}, {.refcount = &grpc_static_metadata_refcounts[16],
{.refcount = &g_refcnts[33].base, .data.refcounted = {g_bytes + 385, 16}}, .data.refcounted = {g_bytes + 174, 11}},
{.refcount = &g_refcnts[34].base, .data.refcounted = {g_bytes + 401, 4}}, {.refcount = &grpc_static_metadata_refcounts[17],
{.refcount = &g_refcnts[35].base, .data.refcounted = {g_bytes + 405, 3}}, .data.refcounted = {g_bytes + 185, 12}},
{.refcount = &g_refcnts[36].base, .data.refcounted = {g_bytes + 408, 3}}, {.refcount = &grpc_static_metadata_refcounts[18],
{.refcount = &g_refcnts[37].base, .data.refcounted = {g_bytes + 411, 4}}, .data.refcounted = {g_bytes + 197, 16}},
{.refcount = &g_refcnts[38].base, .data.refcounted = {g_bytes + 415, 5}}, {.refcount = &grpc_static_metadata_refcounts[19],
{.refcount = &g_refcnts[39].base, .data.refcounted = {g_bytes + 420, 4}}, .data.refcounted = {g_bytes + 213, 14}},
{.refcount = &g_refcnts[40].base, .data.refcounted = {g_bytes + 424, 3}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[41].base, .data.refcounted = {g_bytes + 427, 3}}, .data.refcounted = {g_bytes + 227, 0}},
{.refcount = &g_refcnts[42].base, .data.refcounted = {g_bytes + 430, 1}}, {.refcount = &grpc_static_metadata_refcounts[21],
{.refcount = &g_refcnts[43].base, .data.refcounted = {g_bytes + 431, 11}}, .data.refcounted = {g_bytes + 227, 19}},
{.refcount = &g_refcnts[44].base, .data.refcounted = {g_bytes + 442, 3}}, {.refcount = &grpc_static_metadata_refcounts[22],
{.refcount = &g_refcnts[45].base, .data.refcounted = {g_bytes + 445, 3}}, .data.refcounted = {g_bytes + 246, 12}},
{.refcount = &g_refcnts[46].base, .data.refcounted = {g_bytes + 448, 3}}, {.refcount = &grpc_static_metadata_refcounts[23],
{.refcount = &g_refcnts[47].base, .data.refcounted = {g_bytes + 451, 3}}, .data.refcounted = {g_bytes + 258, 30}},
{.refcount = &g_refcnts[48].base, .data.refcounted = {g_bytes + 454, 3}}, {.refcount = &grpc_static_metadata_refcounts[24],
{.refcount = &g_refcnts[49].base, .data.refcounted = {g_bytes + 457, 14}}, .data.refcounted = {g_bytes + 288, 31}},
{.refcount = &g_refcnts[50].base, .data.refcounted = {g_bytes + 471, 15}}, {.refcount = &grpc_static_metadata_refcounts[25],
{.refcount = &g_refcnts[51].base, .data.refcounted = {g_bytes + 486, 13}}, .data.refcounted = {g_bytes + 319, 36}},
{.refcount = &g_refcnts[52].base, .data.refcounted = {g_bytes + 499, 15}}, {.refcount = &grpc_static_metadata_refcounts[26],
{.refcount = &g_refcnts[53].base, .data.refcounted = {g_bytes + 514, 13}}, .data.refcounted = {g_bytes + 355, 1}},
{.refcount = &g_refcnts[54].base, .data.refcounted = {g_bytes + 527, 6}}, {.refcount = &grpc_static_metadata_refcounts[27],
{.refcount = &g_refcnts[55].base, .data.refcounted = {g_bytes + 533, 27}}, .data.refcounted = {g_bytes + 356, 1}},
{.refcount = &g_refcnts[56].base, .data.refcounted = {g_bytes + 560, 3}}, {.refcount = &grpc_static_metadata_refcounts[28],
{.refcount = &g_refcnts[57].base, .data.refcounted = {g_bytes + 563, 5}}, .data.refcounted = {g_bytes + 357, 1}},
{.refcount = &g_refcnts[58].base, .data.refcounted = {g_bytes + 568, 13}}, {.refcount = &grpc_static_metadata_refcounts[29],
{.refcount = &g_refcnts[59].base, .data.refcounted = {g_bytes + 581, 13}}, .data.refcounted = {g_bytes + 358, 8}},
{.refcount = &g_refcnts[60].base, .data.refcounted = {g_bytes + 594, 19}}, {.refcount = &grpc_static_metadata_refcounts[30],
{.refcount = &g_refcnts[61].base, .data.refcounted = {g_bytes + 613, 16}}, .data.refcounted = {g_bytes + 366, 4}},
{.refcount = &g_refcnts[62].base, .data.refcounted = {g_bytes + 629, 16}}, {.refcount = &grpc_static_metadata_refcounts[31],
{.refcount = &g_refcnts[63].base, .data.refcounted = {g_bytes + 645, 14}}, .data.refcounted = {g_bytes + 370, 7}},
{.refcount = &g_refcnts[64].base, .data.refcounted = {g_bytes + 659, 16}}, {.refcount = &grpc_static_metadata_refcounts[32],
{.refcount = &g_refcnts[65].base, .data.refcounted = {g_bytes + 675, 13}}, .data.refcounted = {g_bytes + 377, 8}},
{.refcount = &g_refcnts[66].base, .data.refcounted = {g_bytes + 688, 6}}, {.refcount = &grpc_static_metadata_refcounts[33],
{.refcount = &g_refcnts[67].base, .data.refcounted = {g_bytes + 694, 4}}, .data.refcounted = {g_bytes + 385, 16}},
{.refcount = &g_refcnts[68].base, .data.refcounted = {g_bytes + 698, 4}}, {.refcount = &grpc_static_metadata_refcounts[34],
{.refcount = &g_refcnts[69].base, .data.refcounted = {g_bytes + 702, 6}}, .data.refcounted = {g_bytes + 401, 4}},
{.refcount = &g_refcnts[70].base, .data.refcounted = {g_bytes + 708, 7}}, {.refcount = &grpc_static_metadata_refcounts[35],
{.refcount = &g_refcnts[71].base, .data.refcounted = {g_bytes + 715, 4}}, .data.refcounted = {g_bytes + 405, 3}},
{.refcount = &g_refcnts[72].base, .data.refcounted = {g_bytes + 719, 8}}, {.refcount = &grpc_static_metadata_refcounts[36],
{.refcount = &g_refcnts[73].base, .data.refcounted = {g_bytes + 727, 17}}, .data.refcounted = {g_bytes + 408, 3}},
{.refcount = &g_refcnts[74].base, .data.refcounted = {g_bytes + 744, 13}}, {.refcount = &grpc_static_metadata_refcounts[37],
{.refcount = &g_refcnts[75].base, .data.refcounted = {g_bytes + 757, 8}}, .data.refcounted = {g_bytes + 411, 4}},
{.refcount = &g_refcnts[76].base, .data.refcounted = {g_bytes + 765, 19}}, {.refcount = &grpc_static_metadata_refcounts[38],
{.refcount = &g_refcnts[77].base, .data.refcounted = {g_bytes + 784, 13}}, .data.refcounted = {g_bytes + 415, 5}},
{.refcount = &g_refcnts[78].base, .data.refcounted = {g_bytes + 797, 4}}, {.refcount = &grpc_static_metadata_refcounts[39],
{.refcount = &g_refcnts[79].base, .data.refcounted = {g_bytes + 801, 8}}, .data.refcounted = {g_bytes + 420, 4}},
{.refcount = &g_refcnts[80].base, .data.refcounted = {g_bytes + 809, 12}}, {.refcount = &grpc_static_metadata_refcounts[40],
{.refcount = &g_refcnts[81].base, .data.refcounted = {g_bytes + 821, 18}}, .data.refcounted = {g_bytes + 424, 3}},
{.refcount = &g_refcnts[82].base, .data.refcounted = {g_bytes + 839, 19}}, {.refcount = &grpc_static_metadata_refcounts[41],
{.refcount = &g_refcnts[83].base, .data.refcounted = {g_bytes + 858, 5}}, .data.refcounted = {g_bytes + 427, 3}},
{.refcount = &g_refcnts[84].base, .data.refcounted = {g_bytes + 863, 7}}, {.refcount = &grpc_static_metadata_refcounts[42],
{.refcount = &g_refcnts[85].base, .data.refcounted = {g_bytes + 870, 7}}, .data.refcounted = {g_bytes + 430, 1}},
{.refcount = &g_refcnts[86].base, .data.refcounted = {g_bytes + 877, 11}}, {.refcount = &grpc_static_metadata_refcounts[43],
{.refcount = &g_refcnts[87].base, .data.refcounted = {g_bytes + 888, 6}}, .data.refcounted = {g_bytes + 431, 11}},
{.refcount = &g_refcnts[88].base, .data.refcounted = {g_bytes + 894, 10}}, {.refcount = &grpc_static_metadata_refcounts[44],
{.refcount = &g_refcnts[89].base, .data.refcounted = {g_bytes + 904, 25}}, .data.refcounted = {g_bytes + 442, 3}},
{.refcount = &g_refcnts[90].base, .data.refcounted = {g_bytes + 929, 17}}, {.refcount = &grpc_static_metadata_refcounts[45],
{.refcount = &g_refcnts[91].base, .data.refcounted = {g_bytes + 946, 4}}, .data.refcounted = {g_bytes + 445, 3}},
{.refcount = &g_refcnts[92].base, .data.refcounted = {g_bytes + 950, 3}}, {.refcount = &grpc_static_metadata_refcounts[46],
{.refcount = &g_refcnts[93].base, .data.refcounted = {g_bytes + 953, 16}}, .data.refcounted = {g_bytes + 448, 3}},
{.refcount = &g_refcnts[94].base, .data.refcounted = {g_bytes + 969, 16}}, {.refcount = &grpc_static_metadata_refcounts[47],
{.refcount = &g_refcnts[95].base, .data.refcounted = {g_bytes + 985, 13}}, .data.refcounted = {g_bytes + 451, 3}},
{.refcount = &g_refcnts[96].base, .data.refcounted = {g_bytes + 998, 12}}, {.refcount = &grpc_static_metadata_refcounts[48],
{.refcount = &g_refcnts[97].base, .data.refcounted = {g_bytes + 1010, 21}}, .data.refcounted = {g_bytes + 454, 3}},
{.refcount = &grpc_static_metadata_refcounts[49],
.data.refcounted = {g_bytes + 457, 14}},
{.refcount = &grpc_static_metadata_refcounts[50],
.data.refcounted = {g_bytes + 471, 15}},
{.refcount = &grpc_static_metadata_refcounts[51],
.data.refcounted = {g_bytes + 486, 13}},
{.refcount = &grpc_static_metadata_refcounts[52],
.data.refcounted = {g_bytes + 499, 15}},
{.refcount = &grpc_static_metadata_refcounts[53],
.data.refcounted = {g_bytes + 514, 13}},
{.refcount = &grpc_static_metadata_refcounts[54],
.data.refcounted = {g_bytes + 527, 6}},
{.refcount = &grpc_static_metadata_refcounts[55],
.data.refcounted = {g_bytes + 533, 27}},
{.refcount = &grpc_static_metadata_refcounts[56],
.data.refcounted = {g_bytes + 560, 3}},
{.refcount = &grpc_static_metadata_refcounts[57],
.data.refcounted = {g_bytes + 563, 5}},
{.refcount = &grpc_static_metadata_refcounts[58],
.data.refcounted = {g_bytes + 568, 13}},
{.refcount = &grpc_static_metadata_refcounts[59],
.data.refcounted = {g_bytes + 581, 13}},
{.refcount = &grpc_static_metadata_refcounts[60],
.data.refcounted = {g_bytes + 594, 19}},
{.refcount = &grpc_static_metadata_refcounts[61],
.data.refcounted = {g_bytes + 613, 16}},
{.refcount = &grpc_static_metadata_refcounts[62],
.data.refcounted = {g_bytes + 629, 16}},
{.refcount = &grpc_static_metadata_refcounts[63],
.data.refcounted = {g_bytes + 645, 14}},
{.refcount = &grpc_static_metadata_refcounts[64],
.data.refcounted = {g_bytes + 659, 16}},
{.refcount = &grpc_static_metadata_refcounts[65],
.data.refcounted = {g_bytes + 675, 13}},
{.refcount = &grpc_static_metadata_refcounts[66],
.data.refcounted = {g_bytes + 688, 6}},
{.refcount = &grpc_static_metadata_refcounts[67],
.data.refcounted = {g_bytes + 694, 4}},
{.refcount = &grpc_static_metadata_refcounts[68],
.data.refcounted = {g_bytes + 698, 4}},
{.refcount = &grpc_static_metadata_refcounts[69],
.data.refcounted = {g_bytes + 702, 6}},
{.refcount = &grpc_static_metadata_refcounts[70],
.data.refcounted = {g_bytes + 708, 7}},
{.refcount = &grpc_static_metadata_refcounts[71],
.data.refcounted = {g_bytes + 715, 4}},
{.refcount = &grpc_static_metadata_refcounts[72],
.data.refcounted = {g_bytes + 719, 8}},
{.refcount = &grpc_static_metadata_refcounts[73],
.data.refcounted = {g_bytes + 727, 17}},
{.refcount = &grpc_static_metadata_refcounts[74],
.data.refcounted = {g_bytes + 744, 13}},
{.refcount = &grpc_static_metadata_refcounts[75],
.data.refcounted = {g_bytes + 757, 8}},
{.refcount = &grpc_static_metadata_refcounts[76],
.data.refcounted = {g_bytes + 765, 19}},
{.refcount = &grpc_static_metadata_refcounts[77],
.data.refcounted = {g_bytes + 784, 13}},
{.refcount = &grpc_static_metadata_refcounts[78],
.data.refcounted = {g_bytes + 797, 4}},
{.refcount = &grpc_static_metadata_refcounts[79],
.data.refcounted = {g_bytes + 801, 8}},
{.refcount = &grpc_static_metadata_refcounts[80],
.data.refcounted = {g_bytes + 809, 12}},
{.refcount = &grpc_static_metadata_refcounts[81],
.data.refcounted = {g_bytes + 821, 18}},
{.refcount = &grpc_static_metadata_refcounts[82],
.data.refcounted = {g_bytes + 839, 19}},
{.refcount = &grpc_static_metadata_refcounts[83],
.data.refcounted = {g_bytes + 858, 5}},
{.refcount = &grpc_static_metadata_refcounts[84],
.data.refcounted = {g_bytes + 863, 7}},
{.refcount = &grpc_static_metadata_refcounts[85],
.data.refcounted = {g_bytes + 870, 7}},
{.refcount = &grpc_static_metadata_refcounts[86],
.data.refcounted = {g_bytes + 877, 11}},
{.refcount = &grpc_static_metadata_refcounts[87],
.data.refcounted = {g_bytes + 888, 6}},
{.refcount = &grpc_static_metadata_refcounts[88],
.data.refcounted = {g_bytes + 894, 10}},
{.refcount = &grpc_static_metadata_refcounts[89],
.data.refcounted = {g_bytes + 904, 25}},
{.refcount = &grpc_static_metadata_refcounts[90],
.data.refcounted = {g_bytes + 929, 17}},
{.refcount = &grpc_static_metadata_refcounts[91],
.data.refcounted = {g_bytes + 946, 4}},
{.refcount = &grpc_static_metadata_refcounts[92],
.data.refcounted = {g_bytes + 950, 3}},
{.refcount = &grpc_static_metadata_refcounts[93],
.data.refcounted = {g_bytes + 953, 16}},
{.refcount = &grpc_static_metadata_refcounts[94],
.data.refcounted = {g_bytes + 969, 16}},
{.refcount = &grpc_static_metadata_refcounts[95],
.data.refcounted = {g_bytes + 985, 13}},
{.refcount = &grpc_static_metadata_refcounts[96],
.data.refcounted = {g_bytes + 998, 12}},
{.refcount = &grpc_static_metadata_refcounts[97],
.data.refcounted = {g_bytes + 1010, 21}},
}; };
int grpc_static_metadata_index(grpc_slice slice) {
static_slice_refcount *r = (static_slice_refcount *)slice.refcount;
if (slice.data.refcounted.bytes == g_bytes + r->offset &&
slice.data.refcounted.length == r->length)
return (int)(r - g_refcnts);
return -1;
}
uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT] = { uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@ -347,168 +482,329 @@ grpc_mdelem grpc_static_mdelem_for_static_strings(int a, int b) {
} }
grpc_mdelem_data grpc_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT] = { grpc_mdelem_data grpc_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT] = {
{{.refcount = &g_refcnts[7].base, .data.refcounted = {g_bytes + 50, 11}}, {{.refcount = &grpc_static_metadata_refcounts[7],
{.refcount = &g_refcnts[26].base, .data.refcounted = {g_bytes + 355, 1}}}, .data.refcounted = {g_bytes + 50, 11}},
{{.refcount = &g_refcnts[7].base, .data.refcounted = {g_bytes + 50, 11}}, {.refcount = &grpc_static_metadata_refcounts[26],
{.refcount = &g_refcnts[27].base, .data.refcounted = {g_bytes + 356, 1}}}, .data.refcounted = {g_bytes + 355, 1}}},
{{.refcount = &g_refcnts[7].base, .data.refcounted = {g_bytes + 50, 11}}, {{.refcount = &grpc_static_metadata_refcounts[7],
{.refcount = &g_refcnts[28].base, .data.refcounted = {g_bytes + 357, 1}}}, .data.refcounted = {g_bytes + 50, 11}},
{{.refcount = &g_refcnts[9].base, .data.refcounted = {g_bytes + 77, 13}}, {.refcount = &grpc_static_metadata_refcounts[27],
{.refcount = &g_refcnts[29].base, .data.refcounted = {g_bytes + 358, 8}}}, .data.refcounted = {g_bytes + 356, 1}}},
{{.refcount = &g_refcnts[9].base, .data.refcounted = {g_bytes + 77, 13}}, {{.refcount = &grpc_static_metadata_refcounts[7],
{.refcount = &g_refcnts[30].base, .data.refcounted = {g_bytes + 366, 4}}}, .data.refcounted = {g_bytes + 50, 11}},
{{.refcount = &g_refcnts[9].base, .data.refcounted = {g_bytes + 77, 13}}, {.refcount = &grpc_static_metadata_refcounts[28],
{.refcount = &g_refcnts[31].base, .data.refcounted = {g_bytes + 370, 7}}}, .data.refcounted = {g_bytes + 357, 1}}},
{{.refcount = &g_refcnts[5].base, .data.refcounted = {g_bytes + 36, 2}}, {{.refcount = &grpc_static_metadata_refcounts[9],
{.refcount = &g_refcnts[32].base, .data.refcounted = {g_bytes + 377, 8}}}, .data.refcounted = {g_bytes + 77, 13}},
{{.refcount = &g_refcnts[11].base, .data.refcounted = {g_bytes + 110, 12}}, {.refcount = &grpc_static_metadata_refcounts[29],
{.refcount = &g_refcnts[33].base, .data.refcounted = {g_bytes + 385, 16}}}, .data.refcounted = {g_bytes + 358, 8}}},
{{.refcount = &g_refcnts[1].base, .data.refcounted = {g_bytes + 5, 7}}, {{.refcount = &grpc_static_metadata_refcounts[9],
{.refcount = &g_refcnts[34].base, .data.refcounted = {g_bytes + 401, 4}}}, .data.refcounted = {g_bytes + 77, 13}},
{{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}}, {.refcount = &grpc_static_metadata_refcounts[30],
{.refcount = &g_refcnts[35].base, .data.refcounted = {g_bytes + 405, 3}}}, .data.refcounted = {g_bytes + 366, 4}}},
{{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}}, {{.refcount = &grpc_static_metadata_refcounts[9],
{.refcount = &g_refcnts[36].base, .data.refcounted = {g_bytes + 408, 3}}}, .data.refcounted = {g_bytes + 77, 13}},
{{.refcount = &g_refcnts[4].base, .data.refcounted = {g_bytes + 29, 7}}, {.refcount = &grpc_static_metadata_refcounts[31],
{.refcount = &g_refcnts[37].base, .data.refcounted = {g_bytes + 411, 4}}}, .data.refcounted = {g_bytes + 370, 7}}},
{{.refcount = &g_refcnts[4].base, .data.refcounted = {g_bytes + 29, 7}}, {{.refcount = &grpc_static_metadata_refcounts[5],
{.refcount = &g_refcnts[38].base, .data.refcounted = {g_bytes + 415, 5}}}, .data.refcounted = {g_bytes + 36, 2}},
{{.refcount = &g_refcnts[4].base, .data.refcounted = {g_bytes + 29, 7}}, {.refcount = &grpc_static_metadata_refcounts[32],
{.refcount = &g_refcnts[39].base, .data.refcounted = {g_bytes + 420, 4}}}, .data.refcounted = {g_bytes + 377, 8}}},
{{.refcount = &g_refcnts[3].base, .data.refcounted = {g_bytes + 19, 10}}, {{.refcount = &grpc_static_metadata_refcounts[11],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 110, 12}},
{{.refcount = &g_refcnts[1].base, .data.refcounted = {g_bytes + 5, 7}}, {.refcount = &grpc_static_metadata_refcounts[33],
{.refcount = &g_refcnts[40].base, .data.refcounted = {g_bytes + 424, 3}}}, .data.refcounted = {g_bytes + 385, 16}}},
{{.refcount = &g_refcnts[1].base, .data.refcounted = {g_bytes + 5, 7}}, {{.refcount = &grpc_static_metadata_refcounts[1],
{.refcount = &g_refcnts[41].base, .data.refcounted = {g_bytes + 427, 3}}}, .data.refcounted = {g_bytes + 5, 7}},
{{.refcount = &g_refcnts[0].base, .data.refcounted = {g_bytes + 0, 5}}, {.refcount = &grpc_static_metadata_refcounts[34],
{.refcount = &g_refcnts[42].base, .data.refcounted = {g_bytes + 430, 1}}}, .data.refcounted = {g_bytes + 401, 4}}},
{{.refcount = &g_refcnts[0].base, .data.refcounted = {g_bytes + 0, 5}}, {{.refcount = &grpc_static_metadata_refcounts[2],
{.refcount = &g_refcnts[43].base, .data.refcounted = {g_bytes + 431, 11}}}, .data.refcounted = {g_bytes + 12, 7}},
{{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}}, {.refcount = &grpc_static_metadata_refcounts[35],
{.refcount = &g_refcnts[44].base, .data.refcounted = {g_bytes + 442, 3}}}, .data.refcounted = {g_bytes + 405, 3}}},
{{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}}, {{.refcount = &grpc_static_metadata_refcounts[2],
{.refcount = &g_refcnts[45].base, .data.refcounted = {g_bytes + 445, 3}}}, .data.refcounted = {g_bytes + 12, 7}},
{{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}}, {.refcount = &grpc_static_metadata_refcounts[36],
{.refcount = &g_refcnts[46].base, .data.refcounted = {g_bytes + 448, 3}}}, .data.refcounted = {g_bytes + 408, 3}}},
{{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}}, {{.refcount = &grpc_static_metadata_refcounts[4],
{.refcount = &g_refcnts[47].base, .data.refcounted = {g_bytes + 451, 3}}}, .data.refcounted = {g_bytes + 29, 7}},
{{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}}, {.refcount = &grpc_static_metadata_refcounts[37],
{.refcount = &g_refcnts[48].base, .data.refcounted = {g_bytes + 454, 3}}}, .data.refcounted = {g_bytes + 411, 4}}},
{{.refcount = &g_refcnts[49].base, .data.refcounted = {g_bytes + 457, 14}}, {{.refcount = &grpc_static_metadata_refcounts[4],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 29, 7}},
{{.refcount = &g_refcnts[50].base, .data.refcounted = {g_bytes + 471, 15}}, {.refcount = &grpc_static_metadata_refcounts[38],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 415, 5}}},
{{.refcount = &g_refcnts[50].base, .data.refcounted = {g_bytes + 471, 15}}, {{.refcount = &grpc_static_metadata_refcounts[4],
{.refcount = &g_refcnts[51].base, .data.refcounted = {g_bytes + 486, 13}}}, .data.refcounted = {g_bytes + 29, 7}},
{{.refcount = &g_refcnts[52].base, .data.refcounted = {g_bytes + 499, 15}}, {.refcount = &grpc_static_metadata_refcounts[39],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 420, 4}}},
{{.refcount = &g_refcnts[53].base, .data.refcounted = {g_bytes + 514, 13}}, {{.refcount = &grpc_static_metadata_refcounts[3],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 19, 10}},
{{.refcount = &g_refcnts[54].base, .data.refcounted = {g_bytes + 527, 6}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[55].base, .data.refcounted = {g_bytes + 533, 27}}, {{.refcount = &grpc_static_metadata_refcounts[1],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 5, 7}},
{{.refcount = &g_refcnts[56].base, .data.refcounted = {g_bytes + 560, 3}}, {.refcount = &grpc_static_metadata_refcounts[40],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 424, 3}}},
{{.refcount = &g_refcnts[57].base, .data.refcounted = {g_bytes + 563, 5}}, {{.refcount = &grpc_static_metadata_refcounts[1],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 5, 7}},
{{.refcount = &g_refcnts[58].base, .data.refcounted = {g_bytes + 568, 13}}, {.refcount = &grpc_static_metadata_refcounts[41],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 427, 3}}},
{{.refcount = &g_refcnts[59].base, .data.refcounted = {g_bytes + 581, 13}}, {{.refcount = &grpc_static_metadata_refcounts[0],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 0, 5}},
{{.refcount = &g_refcnts[60].base, .data.refcounted = {g_bytes + 594, 19}}, {.refcount = &grpc_static_metadata_refcounts[42],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 430, 1}}},
{{.refcount = &g_refcnts[61].base, .data.refcounted = {g_bytes + 613, 16}}, {{.refcount = &grpc_static_metadata_refcounts[0],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 0, 5}},
{{.refcount = &g_refcnts[62].base, .data.refcounted = {g_bytes + 629, 16}}, {.refcount = &grpc_static_metadata_refcounts[43],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 431, 11}}},
{{.refcount = &g_refcnts[63].base, .data.refcounted = {g_bytes + 645, 14}}, {{.refcount = &grpc_static_metadata_refcounts[2],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 12, 7}},
{{.refcount = &g_refcnts[64].base, .data.refcounted = {g_bytes + 659, 16}}, {.refcount = &grpc_static_metadata_refcounts[44],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 442, 3}}},
{{.refcount = &g_refcnts[65].base, .data.refcounted = {g_bytes + 675, 13}}, {{.refcount = &grpc_static_metadata_refcounts[2],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 12, 7}},
{{.refcount = &g_refcnts[11].base, .data.refcounted = {g_bytes + 110, 12}}, {.refcount = &grpc_static_metadata_refcounts[45],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 445, 3}}},
{{.refcount = &g_refcnts[66].base, .data.refcounted = {g_bytes + 688, 6}}, {{.refcount = &grpc_static_metadata_refcounts[2],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 12, 7}},
{{.refcount = &g_refcnts[67].base, .data.refcounted = {g_bytes + 694, 4}}, {.refcount = &grpc_static_metadata_refcounts[46],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 448, 3}}},
{{.refcount = &g_refcnts[68].base, .data.refcounted = {g_bytes + 698, 4}}, {{.refcount = &grpc_static_metadata_refcounts[2],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 12, 7}},
{{.refcount = &g_refcnts[69].base, .data.refcounted = {g_bytes + 702, 6}}, {.refcount = &grpc_static_metadata_refcounts[47],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 451, 3}}},
{{.refcount = &g_refcnts[70].base, .data.refcounted = {g_bytes + 708, 7}}, {{.refcount = &grpc_static_metadata_refcounts[2],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 12, 7}},
{{.refcount = &g_refcnts[71].base, .data.refcounted = {g_bytes + 715, 4}}, {.refcount = &grpc_static_metadata_refcounts[48],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 454, 3}}},
{{.refcount = &g_refcnts[14].base, .data.refcounted = {g_bytes + 162, 4}}, {{.refcount = &grpc_static_metadata_refcounts[49],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 457, 14}},
{{.refcount = &g_refcnts[72].base, .data.refcounted = {g_bytes + 719, 8}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[73].base, .data.refcounted = {g_bytes + 727, 17}}, {{.refcount = &grpc_static_metadata_refcounts[50],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 471, 15}},
{{.refcount = &g_refcnts[74].base, .data.refcounted = {g_bytes + 744, 13}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[75].base, .data.refcounted = {g_bytes + 757, 8}}, {{.refcount = &grpc_static_metadata_refcounts[50],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 471, 15}},
{{.refcount = &g_refcnts[76].base, .data.refcounted = {g_bytes + 765, 19}}, {.refcount = &grpc_static_metadata_refcounts[51],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 486, 13}}},
{{.refcount = &g_refcnts[77].base, .data.refcounted = {g_bytes + 784, 13}}, {{.refcount = &grpc_static_metadata_refcounts[52],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 499, 15}},
{{.refcount = &g_refcnts[15].base, .data.refcounted = {g_bytes + 166, 8}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[16].base, .data.refcounted = {g_bytes + 174, 11}}, {{.refcount = &grpc_static_metadata_refcounts[53],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 514, 13}},
{{.refcount = &g_refcnts[78].base, .data.refcounted = {g_bytes + 797, 4}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[79].base, .data.refcounted = {g_bytes + 801, 8}}, {{.refcount = &grpc_static_metadata_refcounts[54],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 527, 6}},
{{.refcount = &g_refcnts[80].base, .data.refcounted = {g_bytes + 809, 12}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[81].base, .data.refcounted = {g_bytes + 821, 18}}, {{.refcount = &grpc_static_metadata_refcounts[55],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 533, 27}},
{{.refcount = &g_refcnts[82].base, .data.refcounted = {g_bytes + 839, 19}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[83].base, .data.refcounted = {g_bytes + 858, 5}}, {{.refcount = &grpc_static_metadata_refcounts[56],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 560, 3}},
{{.refcount = &g_refcnts[84].base, .data.refcounted = {g_bytes + 863, 7}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[85].base, .data.refcounted = {g_bytes + 870, 7}}, {{.refcount = &grpc_static_metadata_refcounts[57],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 563, 5}},
{{.refcount = &g_refcnts[86].base, .data.refcounted = {g_bytes + 877, 11}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[87].base, .data.refcounted = {g_bytes + 888, 6}}, {{.refcount = &grpc_static_metadata_refcounts[58],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 568, 13}},
{{.refcount = &g_refcnts[88].base, .data.refcounted = {g_bytes + 894, 10}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[89].base, .data.refcounted = {g_bytes + 904, 25}}, {{.refcount = &grpc_static_metadata_refcounts[59],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 581, 13}},
{{.refcount = &g_refcnts[90].base, .data.refcounted = {g_bytes + 929, 17}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[13].base, .data.refcounted = {g_bytes + 152, 10}}, {{.refcount = &grpc_static_metadata_refcounts[60],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 594, 19}},
{{.refcount = &g_refcnts[91].base, .data.refcounted = {g_bytes + 946, 4}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[92].base, .data.refcounted = {g_bytes + 950, 3}}, {{.refcount = &grpc_static_metadata_refcounts[61],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 613, 16}},
{{.refcount = &g_refcnts[93].base, .data.refcounted = {g_bytes + 953, 16}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}}, {{.refcount = &grpc_static_metadata_refcounts[62],
{.refcount = &g_refcnts[29].base, .data.refcounted = {g_bytes + 358, 8}}}, .data.refcounted = {g_bytes + 629, 16}},
{{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[31].base, .data.refcounted = {g_bytes + 370, 7}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}}, {{.refcount = &grpc_static_metadata_refcounts[63],
{.refcount = &g_refcnts[94].base, .data.refcounted = {g_bytes + 969, 16}}}, .data.refcounted = {g_bytes + 645, 14}},
{{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[30].base, .data.refcounted = {g_bytes + 366, 4}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}}, {{.refcount = &grpc_static_metadata_refcounts[64],
{.refcount = &g_refcnts[95].base, .data.refcounted = {g_bytes + 985, 13}}}, .data.refcounted = {g_bytes + 659, 16}},
{{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}}, {.refcount = &grpc_static_metadata_refcounts[20],
{.refcount = &g_refcnts[96].base, .data.refcounted = {g_bytes + 998, 12}}}, .data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}}, {{.refcount = &grpc_static_metadata_refcounts[65],
{.refcount = &g_refcnts[97].base, .data.refcounted = {g_bytes + 675, 13}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[11],
.data.refcounted = {g_bytes + 110, 12}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[66],
.data.refcounted = {g_bytes + 688, 6}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[67],
.data.refcounted = {g_bytes + 694, 4}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[68],
.data.refcounted = {g_bytes + 698, 4}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[69],
.data.refcounted = {g_bytes + 702, 6}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[70],
.data.refcounted = {g_bytes + 708, 7}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[71],
.data.refcounted = {g_bytes + 715, 4}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[14],
.data.refcounted = {g_bytes + 162, 4}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[72],
.data.refcounted = {g_bytes + 719, 8}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[73],
.data.refcounted = {g_bytes + 727, 17}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[74],
.data.refcounted = {g_bytes + 744, 13}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[75],
.data.refcounted = {g_bytes + 757, 8}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[76],
.data.refcounted = {g_bytes + 765, 19}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[77],
.data.refcounted = {g_bytes + 784, 13}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[15],
.data.refcounted = {g_bytes + 166, 8}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[16],
.data.refcounted = {g_bytes + 174, 11}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[78],
.data.refcounted = {g_bytes + 797, 4}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[79],
.data.refcounted = {g_bytes + 801, 8}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[80],
.data.refcounted = {g_bytes + 809, 12}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[81],
.data.refcounted = {g_bytes + 821, 18}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[82],
.data.refcounted = {g_bytes + 839, 19}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[83],
.data.refcounted = {g_bytes + 858, 5}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[84],
.data.refcounted = {g_bytes + 863, 7}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[85],
.data.refcounted = {g_bytes + 870, 7}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[86],
.data.refcounted = {g_bytes + 877, 11}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[87],
.data.refcounted = {g_bytes + 888, 6}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[88],
.data.refcounted = {g_bytes + 894, 10}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[89],
.data.refcounted = {g_bytes + 904, 25}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[90],
.data.refcounted = {g_bytes + 929, 17}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[13],
.data.refcounted = {g_bytes + 152, 10}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[91],
.data.refcounted = {g_bytes + 946, 4}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[92],
.data.refcounted = {g_bytes + 950, 3}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[93],
.data.refcounted = {g_bytes + 953, 16}},
{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 227, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[29],
.data.refcounted = {g_bytes + 358, 8}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[31],
.data.refcounted = {g_bytes + 370, 7}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[94],
.data.refcounted = {g_bytes + 969, 16}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[30],
.data.refcounted = {g_bytes + 366, 4}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[95],
.data.refcounted = {g_bytes + 985, 13}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[96],
.data.refcounted = {g_bytes + 998, 12}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[97],
.data.refcounted = {g_bytes + 1010, 21}}}, .data.refcounted = {g_bytes + 1010, 21}}},
}; };
#define BATCH_PHASHLEN 0x10 #define BATCH_PHASHLEN 0x10

@ -249,7 +249,18 @@ extern const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT];
bool grpc_is_static_metadata_string(grpc_slice slice); bool grpc_is_static_metadata_string(grpc_slice slice);
int grpc_static_metadata_index(grpc_slice slice); extern const grpc_slice_refcount_vtable grpc_static_metadata_vtable;
extern grpc_slice_refcount
grpc_static_metadata_refcounts[GRPC_STATIC_MDSTR_COUNT];
bool grpc_is_static_metadata_string(grpc_slice slice) {
return slice.refcount != NULL &&
slice.refcount->vtable == &grpc_static_metadata_vtable;
}
inline int grpc_static_metadata_index(grpc_slice slice) {
return (int)(slice.refcount - grpc_static_metadata_refcounts);
}
#define GRPC_STATIC_MDELEM_COUNT 81 #define GRPC_STATIC_MDELEM_COUNT 81
extern grpc_mdelem_data grpc_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT]; extern grpc_mdelem_data grpc_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT];
extern uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT]; extern uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT];

@ -331,7 +331,7 @@ for i, elem in enumerate(all_strs):
id2strofs[i] = str_ofs id2strofs[i] = str_ofs
str_ofs += len(elem); str_ofs += len(elem);
def slice_def(i): def slice_def(i):
return '{.refcount = &g_refcnts[%d].base, .data.refcounted = {g_bytes+%d, %d}}' % (i, id2strofs[i], len(all_strs[i])) return '{.refcount = &grpc_static_metadata_refcounts[%d], .data.refcounted = {g_bytes+%d, %d}}' % (i, id2strofs[i], len(all_strs[i]))
# validate configuration # validate configuration
for elem in METADATA_BATCH_CALLOUTS: for elem in METADATA_BATCH_CALLOUTS:
@ -349,29 +349,29 @@ print >>C, 'static uint8_t g_bytes[] = {%s};' % (','.join('%d' % ord(c) for c in
print >>C print >>C
print >>C, 'static void static_ref(void *unused) {}' print >>C, 'static void static_ref(void *unused) {}'
print >>C, 'static void static_unref(grpc_exec_ctx *exec_ctx, void *unused) {}' print >>C, 'static void static_unref(grpc_exec_ctx *exec_ctx, void *unused) {}'
print >>C, 'static const grpc_slice_refcount_vtable static_vtable = {static_ref, static_unref, grpc_static_slice_eq, grpc_static_slice_hash};'; print >>C, 'static const grpc_slice_refcount_vtable static_sub_vtable = {static_ref, static_unref, grpc_slice_default_eq_impl, grpc_slice_default_hash_impl};';
print >>C, 'typedef struct { grpc_slice_refcount base; const uint16_t offset; const uint16_t length; } static_slice_refcount;' print >>H, 'extern const grpc_slice_refcount_vtable grpc_static_metadata_vtable;';
print >>C, 'static static_slice_refcount g_refcnts[GRPC_STATIC_MDSTR_COUNT] = {' print >>C, 'const grpc_slice_refcount_vtable grpc_static_metadata_vtable = {static_ref, static_unref, grpc_static_slice_eq, grpc_static_slice_hash};';
print >>C, 'static grpc_slice_refcount static_sub_refcnt = {&static_sub_vtable, &static_sub_refcnt};';
print >>H, 'extern grpc_slice_refcount grpc_static_metadata_refcounts[GRPC_STATIC_MDSTR_COUNT];'
print >>C, 'grpc_slice_refcount grpc_static_metadata_refcounts[GRPC_STATIC_MDSTR_COUNT] = {'
for i, elem in enumerate(all_strs): for i, elem in enumerate(all_strs):
print >>C, ' {{&static_vtable}, %d, %d},' % (id2strofs[i], len(elem)) print >>C, ' {&grpc_static_metadata_vtable, &static_sub_refcnt},'
print >>C, '};' print >>C, '};'
print >>C print >>C
print >>C, 'bool grpc_is_static_metadata_string(grpc_slice slice) {' print >>H, 'bool grpc_is_static_metadata_string(grpc_slice slice) {'
print >>C, ' return slice.refcount != NULL && slice.refcount->vtable == &static_vtable;' print >>H, ' return slice.refcount != NULL && slice.refcount->vtable == &grpc_static_metadata_vtable;'
print >>C, '}' print >>H, '}'
print >>C print >>H
print >>C, 'const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT] = {' print >>C, 'const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT] = {'
for i, elem in enumerate(all_strs): for i, elem in enumerate(all_strs):
print >>C, slice_def(i) + ',' print >>C, slice_def(i) + ','
print >>C, '};' print >>C, '};'
print >>C print >>C
print >>H, 'int grpc_static_metadata_index(grpc_slice slice);' print >>H, 'inline int grpc_static_metadata_index(grpc_slice slice) {'
print >>C, 'int grpc_static_metadata_index(grpc_slice slice) {' print >>H, ' return (int)(slice.refcount - grpc_static_metadata_refcounts);'
print >>C, ' static_slice_refcount *r = (static_slice_refcount *)slice.refcount;' print >>H, '}'
print >>C, ' if (slice.data.refcounted.bytes == g_bytes + r->offset && slice.data.refcounted.length == r->length) return (int)(r - g_refcnts);' print >>H
print >>C, ' return -1;'
print >>C, '}'
print >>C
print >>D, '# hpack fuzzing dictionary' print >>D, '# hpack fuzzing dictionary'
for i, elem in enumerate(all_strs): for i, elem in enumerate(all_strs):

Loading…
Cancel
Save