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. */
typedef struct grpc_slice_refcount {
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;
#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 */
#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,
.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 = {
noop_ref, noop_unref, grpc_slice_default_eq_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 slice;

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

Loading…
Cancel
Save