Merge pull request #12624 from yashykt/ctocc6

C to C++ compilation
pull/12634/merge
Yash Tibrewal 8 years ago committed by GitHub
commit 81e476e6d6
  1. 6
      include/grpc/slice.h
  2. 4
      src/core/ext/filters/client_channel/http_proxy.c
  3. 25
      src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c
  4. 3
      src/core/ext/transport/chttp2/server/chttp2_server.c
  5. 14
      src/core/ext/transport/chttp2/transport/chttp2_transport.c
  6. 35
      src/core/ext/transport/chttp2/transport/hpack_encoder.c
  7. 2
      src/core/lib/http/httpcli.c
  8. 71
      src/core/lib/iomgr/ev_epoll1_linux.c
  9. 72
      src/core/lib/iomgr/ev_epollex_linux.c
  10. 59
      src/core/lib/iomgr/ev_epollsig_linux.c
  11. 56
      src/core/lib/iomgr/ev_poll_posix.c
  12. 2
      src/core/lib/iomgr/iomgr.c
  13. 12
      src/core/lib/iomgr/is_epollexclusive_available.c
  14. 4
      src/core/lib/iomgr/socket_factory_posix.c
  15. 4
      src/core/lib/iomgr/socket_mutator.c
  16. 4
      src/core/lib/iomgr/tcp_server_posix.c
  17. 5
      src/core/lib/iomgr/timer_generic.c
  18. 31
      src/core/lib/surface/call.c
  19. 23
      src/core/lib/surface/completion_queue.c
  20. 816
      src/core/lib/transport/static_metadata.c
  21. 2
      src/core/lib/transport/status_conversion.c
  22. 8
      src/core/lib/transport/transport.c
  23. 4
      tools/codegen/core/gen_static_metadata.py

@ -65,11 +65,7 @@ GPRAPI grpc_slice grpc_slice_new_with_len(void *p, size_t len,
GPRAPI grpc_slice grpc_slice_malloc(size_t length); GPRAPI grpc_slice grpc_slice_malloc(size_t length);
GPRAPI grpc_slice grpc_slice_malloc_large(size_t length); GPRAPI grpc_slice grpc_slice_malloc_large(size_t length);
#define GRPC_SLICE_MALLOC(len) \ #define GRPC_SLICE_MALLOC(len) grpc_slice_malloc(len)
((len) <= GRPC_SLICE_INLINED_SIZE \
? (grpc_slice){.refcount = NULL, \
.data.inlined = {.length = (uint8_t)(len)}} \
: grpc_slice_malloc_large((len)))
/** Intern a slice: /** Intern a slice:

@ -44,6 +44,8 @@ static char* get_http_proxy_server(grpc_exec_ctx* exec_ctx, char** user_cred) {
GPR_ASSERT(user_cred != NULL); GPR_ASSERT(user_cred != NULL);
char* proxy_name = NULL; char* proxy_name = NULL;
char* uri_str = gpr_getenv("http_proxy"); char* uri_str = gpr_getenv("http_proxy");
char** authority_strs = NULL;
size_t authority_nstrs;
if (uri_str == NULL) return NULL; if (uri_str == NULL) return NULL;
grpc_uri* uri = grpc_uri* uri =
grpc_uri_parse(exec_ctx, uri_str, false /* suppress_errors */); grpc_uri_parse(exec_ctx, uri_str, false /* suppress_errors */);
@ -56,8 +58,6 @@ static char* get_http_proxy_server(grpc_exec_ctx* exec_ctx, char** user_cred) {
goto done; goto done;
} }
/* Split on '@' to separate user credentials from host */ /* Split on '@' to separate user credentials from host */
char** authority_strs = NULL;
size_t authority_nstrs;
gpr_string_split(uri->authority, "@", &authority_strs, &authority_nstrs); gpr_string_split(uri->authority, "@", &authority_strs, &authority_nstrs);
GPR_ASSERT(authority_nstrs != 0); /* should have at least 1 string */ GPR_ASSERT(authority_nstrs != 0); /* should have at least 1 string */
if (authority_nstrs == 1) { if (authority_nstrs == 1) {

@ -275,14 +275,15 @@ static void on_txt_done_cb(void *arg, int status, int timeouts,
gpr_log(GPR_DEBUG, "on_txt_done_cb"); gpr_log(GPR_DEBUG, "on_txt_done_cb");
char *error_msg; char *error_msg;
grpc_ares_request *r = (grpc_ares_request *)arg; grpc_ares_request *r = (grpc_ares_request *)arg;
const size_t prefix_len = sizeof(g_service_config_attribute_prefix) - 1;
struct ares_txt_ext *result = NULL;
struct ares_txt_ext *reply = NULL;
grpc_error *error = GRPC_ERROR_NONE;
gpr_mu_lock(&r->mu); gpr_mu_lock(&r->mu);
if (status != ARES_SUCCESS) goto fail; if (status != ARES_SUCCESS) goto fail;
struct ares_txt_ext *reply = NULL;
status = ares_parse_txt_reply_ext(buf, len, &reply); status = ares_parse_txt_reply_ext(buf, len, &reply);
if (status != ARES_SUCCESS) goto fail; if (status != ARES_SUCCESS) goto fail;
// Find service config in TXT record. // Find service config in TXT record.
const size_t prefix_len = sizeof(g_service_config_attribute_prefix) - 1;
struct ares_txt_ext *result;
for (result = reply; result != NULL; result = result->next) { for (result = reply; result != NULL; result = result->next) {
if (result->record_start && if (result->record_start &&
memcmp(result->txt, g_service_config_attribute_prefix, prefix_len) == memcmp(result->txt, g_service_config_attribute_prefix, prefix_len) ==
@ -313,7 +314,7 @@ static void on_txt_done_cb(void *arg, int status, int timeouts,
fail: fail:
gpr_asprintf(&error_msg, "C-ares TXT lookup status is not ARES_SUCCESS: %s", gpr_asprintf(&error_msg, "C-ares TXT lookup status is not ARES_SUCCESS: %s",
ares_strerror(status)); ares_strerror(status));
grpc_error *error = GRPC_ERROR_CREATE_FROM_COPIED_STRING(error_msg); error = GRPC_ERROR_CREATE_FROM_COPIED_STRING(error_msg);
gpr_free(error_msg); gpr_free(error_msg);
if (r->error == GRPC_ERROR_NONE) { if (r->error == GRPC_ERROR_NONE) {
r->error = error; r->error = error;
@ -331,6 +332,9 @@ static grpc_ares_request *grpc_dns_lookup_ares_impl(
grpc_closure *on_done, grpc_lb_addresses **addrs, bool check_grpclb, grpc_closure *on_done, grpc_lb_addresses **addrs, bool check_grpclb,
char **service_config_json) { char **service_config_json) {
grpc_error *error = GRPC_ERROR_NONE; grpc_error *error = GRPC_ERROR_NONE;
grpc_ares_hostbyname_request *hr = NULL;
grpc_ares_request *r = NULL;
ares_channel *channel = NULL;
/* TODO(zyc): Enable tracing after #9603 is checked in */ /* TODO(zyc): Enable tracing after #9603 is checked in */
/* if (grpc_dns_trace) { /* if (grpc_dns_trace) {
gpr_log(GPR_DEBUG, "resolve_address (blocking): name=%s, default_port=%s", gpr_log(GPR_DEBUG, "resolve_address (blocking): name=%s, default_port=%s",
@ -360,8 +364,7 @@ static grpc_ares_request *grpc_dns_lookup_ares_impl(
error = grpc_ares_ev_driver_create(&ev_driver, interested_parties); error = grpc_ares_ev_driver_create(&ev_driver, interested_parties);
if (error != GRPC_ERROR_NONE) goto error_cleanup; if (error != GRPC_ERROR_NONE) goto error_cleanup;
grpc_ares_request *r = r = (grpc_ares_request *)gpr_zalloc(sizeof(grpc_ares_request));
(grpc_ares_request *)gpr_zalloc(sizeof(grpc_ares_request));
gpr_mu_init(&r->mu); gpr_mu_init(&r->mu);
r->ev_driver = ev_driver; r->ev_driver = ev_driver;
r->on_done = on_done; r->on_done = on_done;
@ -369,7 +372,7 @@ static grpc_ares_request *grpc_dns_lookup_ares_impl(
r->service_config_json_out = service_config_json; r->service_config_json_out = service_config_json;
r->success = false; r->success = false;
r->error = GRPC_ERROR_NONE; r->error = GRPC_ERROR_NONE;
ares_channel *channel = grpc_ares_ev_driver_get_channel(r->ev_driver); channel = grpc_ares_ev_driver_get_channel(r->ev_driver);
// If dns_server is specified, use it. // If dns_server is specified, use it.
if (dns_server != NULL) { if (dns_server != NULL) {
@ -410,12 +413,12 @@ static grpc_ares_request *grpc_dns_lookup_ares_impl(
} }
gpr_ref_init(&r->pending_queries, 1); gpr_ref_init(&r->pending_queries, 1);
if (grpc_ipv6_loopback_available()) { if (grpc_ipv6_loopback_available()) {
grpc_ares_hostbyname_request *hr = create_hostbyname_request( hr = create_hostbyname_request(r, host, strhtons(port),
r, host, strhtons(port), false /* is_balancer */); false /* is_balancer */);
ares_gethostbyname(*channel, hr->host, AF_INET6, on_hostbyname_done_cb, hr); ares_gethostbyname(*channel, hr->host, AF_INET6, on_hostbyname_done_cb, hr);
} }
grpc_ares_hostbyname_request *hr = create_hostbyname_request( hr = create_hostbyname_request(r, host, strhtons(port),
r, host, strhtons(port), false /* is_balancer */); false /* is_balancer */);
ares_gethostbyname(*channel, hr->host, AF_INET, on_hostbyname_done_cb, hr); ares_gethostbyname(*channel, hr->host, AF_INET, on_hostbyname_done_cb, hr);
if (check_grpclb) { if (check_grpclb) {
/* Query the SRV record */ /* Query the SRV record */

@ -201,6 +201,7 @@ grpc_error *grpc_chttp2_server_add_port(grpc_exec_ctx *exec_ctx,
grpc_error *err = GRPC_ERROR_NONE; grpc_error *err = GRPC_ERROR_NONE;
server_state *state = NULL; server_state *state = NULL;
grpc_error **errors = NULL; grpc_error **errors = NULL;
size_t naddrs = 0;
*port_num = -1; *port_num = -1;
@ -225,7 +226,7 @@ grpc_error *grpc_chttp2_server_add_port(grpc_exec_ctx *exec_ctx,
state->shutdown = true; state->shutdown = true;
gpr_mu_init(&state->mu); gpr_mu_init(&state->mu);
const size_t naddrs = resolved->naddrs; naddrs = resolved->naddrs;
errors = (grpc_error **)gpr_malloc(sizeof(*errors) * naddrs); errors = (grpc_error **)gpr_malloc(sizeof(*errors) * naddrs);
for (i = 0; i < naddrs; i++) { for (i = 0; i < naddrs; i++) {
errors[i] = errors[i] =

@ -369,14 +369,12 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t,
queue_setting_update(exec_ctx, t, queue_setting_update(exec_ctx, t,
GRPC_CHTTP2_SETTINGS_GRPC_ALLOW_TRUE_BINARY_METADATA, 1); GRPC_CHTTP2_SETTINGS_GRPC_ALLOW_TRUE_BINARY_METADATA, 1);
t->ping_policy = (grpc_chttp2_repeated_ping_policy){ t->ping_policy.max_pings_without_data = g_default_max_pings_without_data;
.max_pings_without_data = g_default_max_pings_without_data, t->ping_policy.min_sent_ping_interval_without_data = gpr_time_from_millis(
.min_sent_ping_interval_without_data = gpr_time_from_millis( g_default_min_sent_ping_interval_without_data_ms, GPR_TIMESPAN);
g_default_min_sent_ping_interval_without_data_ms, GPR_TIMESPAN), t->ping_policy.max_ping_strikes = g_default_max_ping_strikes;
.max_ping_strikes = g_default_max_ping_strikes, t->ping_policy.min_recv_ping_interval_without_data = gpr_time_from_millis(
.min_recv_ping_interval_without_data = gpr_time_from_millis( g_default_min_recv_ping_interval_without_data_ms, GPR_TIMESPAN);
g_default_min_recv_ping_interval_without_data_ms, GPR_TIMESPAN),
};
/* Keepalive setting */ /* Keepalive setting */
if (t->is_client) { if (t->is_client) {

@ -51,8 +51,10 @@
#define MAX_DECODER_SPACE_USAGE 512 #define MAX_DECODER_SPACE_USAGE 512
static grpc_slice_refcount terminal_slice_refcount = {NULL, 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 = {
.data.refcounted = {0, 0}}; &terminal_slice_refcount, /* refcount */
{{0, 0}} /* data.refcounted */
};
extern grpc_tracer_flag grpc_http_trace; extern grpc_tracer_flag grpc_http_trace;
@ -283,29 +285,26 @@ typedef struct {
} wire_value; } wire_value;
static wire_value get_wire_value(grpc_mdelem elem, bool true_binary_enabled) { static wire_value get_wire_value(grpc_mdelem elem, bool true_binary_enabled) {
wire_value wire_val;
if (grpc_is_binary_header(GRPC_MDKEY(elem))) { if (grpc_is_binary_header(GRPC_MDKEY(elem))) {
if (true_binary_enabled) { if (true_binary_enabled) {
return (wire_value){ wire_val.huffman_prefix = 0x00;
.huffman_prefix = 0x00, wire_val.insert_null_before_wire_value = true;
.insert_null_before_wire_value = true, wire_val.data = grpc_slice_ref_internal(GRPC_MDVALUE(elem));
.data = grpc_slice_ref_internal(GRPC_MDVALUE(elem)),
};
} else { } else {
return (wire_value){ wire_val.huffman_prefix = 0x80;
.huffman_prefix = 0x80, wire_val.insert_null_before_wire_value = false;
.insert_null_before_wire_value = false, wire_val.data =
.data = grpc_chttp2_base64_encode_and_huffman_compress( grpc_chttp2_base64_encode_and_huffman_compress(GRPC_MDVALUE(elem));
GRPC_MDVALUE(elem)),
};
} }
} else { } else {
/* TODO(ctiller): opportunistically compress non-binary headers */ /* TODO(ctiller): opportunistically compress non-binary headers */
return (wire_value){ wire_val.huffman_prefix = 0x00;
.huffman_prefix = 0x00, wire_val.insert_null_before_wire_value = false;
.insert_null_before_wire_value = false, wire_val.data = grpc_slice_ref_internal(GRPC_MDVALUE(elem));
.data = grpc_slice_ref_internal(GRPC_MDVALUE(elem)),
};
} }
return wire_val;
} }
static size_t wire_value_length(wire_value v) { static size_t wire_value_length(wire_value v) {

@ -217,7 +217,7 @@ static void next_address(grpc_exec_ctx *exec_ctx, internal_request *req,
GRPC_CLOSURE_INIT(&req->connected, on_connected, req, GRPC_CLOSURE_INIT(&req->connected, on_connected, req,
grpc_schedule_on_exec_ctx); grpc_schedule_on_exec_ctx);
grpc_arg arg = grpc_channel_arg_pointer_create( grpc_arg arg = grpc_channel_arg_pointer_create(
GRPC_ARG_RESOURCE_QUOTA, req->resource_quota, (char *)GRPC_ARG_RESOURCE_QUOTA, req->resource_quota,
grpc_resource_quota_arg_vtable()); grpc_resource_quota_arg_vtable());
grpc_channel_args args = {1, &arg}; grpc_channel_args args = {1, &arg};
grpc_tcp_client_connect(exec_ctx, &req->connected, &req->ep, grpc_tcp_client_connect(exec_ctx, &req->connected, &req->ep,

@ -280,8 +280,9 @@ static grpc_fd *fd_create(int fd, const char *name) {
#endif #endif
gpr_free(fd_name); gpr_free(fd_name);
struct epoll_event ev = {.events = (uint32_t)(EPOLLIN | EPOLLOUT | EPOLLET), struct epoll_event ev;
.data.ptr = new_fd}; ev.events = (uint32_t)(EPOLLIN | EPOLLOUT | EPOLLET);
ev.data.ptr = new_fd;
if (epoll_ctl(g_epoll_set.epfd, EPOLL_CTL_ADD, fd, &ev) != 0) { if (epoll_ctl(g_epoll_set.epfd, EPOLL_CTL_ADD, fd, &ev) != 0) {
gpr_log(GPR_ERROR, "epoll_ctl failed: %s", strerror(errno)); gpr_log(GPR_ERROR, "epoll_ctl failed: %s", strerror(errno));
} }
@ -435,8 +436,9 @@ static grpc_error *pollset_global_init(void) {
global_wakeup_fd.read_fd = -1; global_wakeup_fd.read_fd = -1;
grpc_error *err = grpc_wakeup_fd_init(&global_wakeup_fd); grpc_error *err = grpc_wakeup_fd_init(&global_wakeup_fd);
if (err != GRPC_ERROR_NONE) return err; if (err != GRPC_ERROR_NONE) return err;
struct epoll_event ev = {.events = (uint32_t)(EPOLLIN | EPOLLET), struct epoll_event ev;
.data.ptr = &global_wakeup_fd}; ev.events = (uint32_t)(EPOLLIN | EPOLLET);
ev.data.ptr = &global_wakeup_fd;
if (epoll_ctl(g_epoll_set.epfd, EPOLL_CTL_ADD, global_wakeup_fd.read_fd, if (epoll_ctl(g_epoll_set.epfd, EPOLL_CTL_ADD, global_wakeup_fd.read_fd,
&ev) != 0) { &ev) != 0) {
return GRPC_OS_ERROR(errno, "epoll_ctl"); return GRPC_OS_ERROR(errno, "epoll_ctl");
@ -572,7 +574,10 @@ static int poll_deadline_to_millis_timeout(gpr_timespec deadline,
} }
static const gpr_timespec round_up = { static const gpr_timespec round_up = {
.clock_type = GPR_TIMESPAN, .tv_sec = 0, .tv_nsec = GPR_NS_PER_MS - 1}; 0, /* tv_sec */
GPR_NS_PER_MS - 1, /* tv_nsec */
GPR_TIMESPAN /* clock_type */
};
timeout = gpr_time_sub(deadline, now); timeout = gpr_time_sub(deadline, now);
int millis = gpr_time_to_millis(gpr_time_add(timeout, round_up)); int millis = gpr_time_to_millis(gpr_time_add(timeout, round_up));
return millis >= 1 ? millis : 1; return millis >= 1 ? millis : 1;
@ -1197,34 +1202,34 @@ static void shutdown_engine(void) {
} }
static const grpc_event_engine_vtable vtable = { static const grpc_event_engine_vtable vtable = {
.pollset_size = sizeof(grpc_pollset), sizeof(grpc_pollset),
.fd_create = fd_create, fd_create,
.fd_wrapped_fd = fd_wrapped_fd, fd_wrapped_fd,
.fd_orphan = fd_orphan, fd_orphan,
.fd_shutdown = fd_shutdown, fd_shutdown,
.fd_is_shutdown = fd_is_shutdown, fd_notify_on_read,
.fd_notify_on_read = fd_notify_on_read, fd_notify_on_write,
.fd_notify_on_write = fd_notify_on_write, fd_is_shutdown,
.fd_get_read_notifier_pollset = fd_get_read_notifier_pollset, fd_get_read_notifier_pollset,
.pollset_init = pollset_init, pollset_init,
.pollset_shutdown = pollset_shutdown, pollset_shutdown,
.pollset_destroy = pollset_destroy, pollset_destroy,
.pollset_work = pollset_work, pollset_work,
.pollset_kick = pollset_kick, pollset_kick,
.pollset_add_fd = pollset_add_fd, pollset_add_fd,
.pollset_set_create = pollset_set_create, pollset_set_create,
.pollset_set_destroy = pollset_set_destroy, pollset_set_destroy,
.pollset_set_add_pollset = pollset_set_add_pollset, pollset_set_add_pollset,
.pollset_set_del_pollset = pollset_set_del_pollset, pollset_set_del_pollset,
.pollset_set_add_pollset_set = pollset_set_add_pollset_set, pollset_set_add_pollset_set,
.pollset_set_del_pollset_set = pollset_set_del_pollset_set, pollset_set_del_pollset_set,
.pollset_set_add_fd = pollset_set_add_fd, pollset_set_add_fd,
.pollset_set_del_fd = pollset_set_del_fd, pollset_set_del_fd,
.shutdown_engine = shutdown_engine, shutdown_engine,
}; };
/* It is possible that GLIBC has epoll but the underlying kernel doesn't. /* It is possible that GLIBC has epoll but the underlying kernel doesn't.

@ -477,8 +477,9 @@ static grpc_error *pollable_materialize(pollable *p) {
close(new_epfd); close(new_epfd);
return err; return err;
} }
struct epoll_event ev = {.events = (uint32_t)(EPOLLIN | EPOLLET), struct epoll_event ev;
.data.ptr = (void *)(1 | (intptr_t)&p->wakeup)}; ev.events = (uint32_t)(EPOLLIN | EPOLLET);
ev.data.ptr = (void *)(1 | (intptr_t)&p->wakeup);
if (epoll_ctl(new_epfd, EPOLL_CTL_ADD, p->wakeup.read_fd, &ev) != 0) { if (epoll_ctl(new_epfd, EPOLL_CTL_ADD, p->wakeup.read_fd, &ev) != 0) {
err = GRPC_OS_ERROR(errno, "epoll_ctl"); err = GRPC_OS_ERROR(errno, "epoll_ctl");
close(new_epfd); close(new_epfd);
@ -507,9 +508,9 @@ static grpc_error *pollable_add_fd(pollable *p, grpc_fd *fd) {
gpr_mu_unlock(&fd->orphaned_mu); gpr_mu_unlock(&fd->orphaned_mu);
return GRPC_ERROR_NONE; return GRPC_ERROR_NONE;
} }
struct epoll_event ev_fd = { struct epoll_event ev_fd;
.events = (uint32_t)(EPOLLET | EPOLLIN | EPOLLOUT | EPOLLEXCLUSIVE), ev_fd.events = (uint32_t)(EPOLLET | EPOLLIN | EPOLLOUT | EPOLLEXCLUSIVE);
.data.ptr = fd}; ev_fd.data.ptr = fd;
if (epoll_ctl(epfd, EPOLL_CTL_ADD, fd->fd, &ev_fd) != 0) { if (epoll_ctl(epfd, EPOLL_CTL_ADD, fd->fd, &ev_fd) != 0) {
switch (errno) { switch (errno) {
case EEXIST: case EEXIST:
@ -708,7 +709,10 @@ static int poll_deadline_to_millis_timeout(gpr_timespec deadline,
} }
static const gpr_timespec round_up = { static const gpr_timespec round_up = {
.clock_type = GPR_TIMESPAN, .tv_sec = 0, .tv_nsec = GPR_NS_PER_MS - 1}; 0, /* tv_sec */
GPR_NS_PER_MS - 1, /* tv_nsec */
GPR_TIMESPAN /* clock_type */
};
timeout = gpr_time_sub(deadline, now); timeout = gpr_time_sub(deadline, now);
int millis = gpr_time_to_millis(gpr_time_add(timeout, round_up)); int millis = gpr_time_to_millis(gpr_time_add(timeout, round_up));
return millis >= 1 ? millis : 1; return millis >= 1 ? millis : 1;
@ -1392,34 +1396,34 @@ static void shutdown_engine(void) {
} }
static const grpc_event_engine_vtable vtable = { static const grpc_event_engine_vtable vtable = {
.pollset_size = sizeof(grpc_pollset), sizeof(grpc_pollset),
.fd_create = fd_create, fd_create,
.fd_wrapped_fd = fd_wrapped_fd, fd_wrapped_fd,
.fd_orphan = fd_orphan, fd_orphan,
.fd_shutdown = fd_shutdown, fd_shutdown,
.fd_is_shutdown = fd_is_shutdown, fd_notify_on_read,
.fd_notify_on_read = fd_notify_on_read, fd_notify_on_write,
.fd_notify_on_write = fd_notify_on_write, fd_is_shutdown,
.fd_get_read_notifier_pollset = fd_get_read_notifier_pollset, fd_get_read_notifier_pollset,
.pollset_init = pollset_init, pollset_init,
.pollset_shutdown = pollset_shutdown, pollset_shutdown,
.pollset_destroy = pollset_destroy, pollset_destroy,
.pollset_work = pollset_work, pollset_work,
.pollset_kick = pollset_kick, pollset_kick,
.pollset_add_fd = pollset_add_fd, pollset_add_fd,
.pollset_set_create = pollset_set_create, pollset_set_create,
.pollset_set_destroy = pollset_set_destroy, pollset_set_destroy,
.pollset_set_add_pollset = pollset_set_add_pollset, pollset_set_add_pollset,
.pollset_set_del_pollset = pollset_set_del_pollset, pollset_set_del_pollset,
.pollset_set_add_pollset_set = pollset_set_add_pollset_set, pollset_set_add_pollset_set,
.pollset_set_del_pollset_set = pollset_set_del_pollset_set, pollset_set_del_pollset_set,
.pollset_set_add_fd = pollset_set_add_fd, pollset_set_add_fd,
.pollset_set_del_fd = pollset_set_del_fd, pollset_set_del_fd,
.shutdown_engine = shutdown_engine, shutdown_engine,
}; };
const grpc_event_engine_vtable *grpc_init_epollex_linux( const grpc_event_engine_vtable *grpc_init_epollex_linux(

@ -1133,7 +1133,8 @@ static void fd_become_writable(grpc_exec_ctx *exec_ctx, grpc_fd *fd) {
} }
static void pollset_release_polling_island(grpc_exec_ctx *exec_ctx, static void pollset_release_polling_island(grpc_exec_ctx *exec_ctx,
grpc_pollset *ps, char *reason) { grpc_pollset *ps,
const char *reason) {
if (ps->po.pi != NULL) { if (ps->po.pi != NULL) {
PI_UNREF(exec_ctx, ps->po.pi, reason); PI_UNREF(exec_ctx, ps->po.pi, reason);
} }
@ -1671,34 +1672,34 @@ static void shutdown_engine(void) {
} }
static const grpc_event_engine_vtable vtable = { static const grpc_event_engine_vtable vtable = {
.pollset_size = sizeof(grpc_pollset), sizeof(grpc_pollset),
.fd_create = fd_create, fd_create,
.fd_wrapped_fd = fd_wrapped_fd, fd_wrapped_fd,
.fd_orphan = fd_orphan, fd_orphan,
.fd_shutdown = fd_shutdown, fd_shutdown,
.fd_is_shutdown = fd_is_shutdown, fd_notify_on_read,
.fd_notify_on_read = fd_notify_on_read, fd_notify_on_write,
.fd_notify_on_write = fd_notify_on_write, fd_is_shutdown,
.fd_get_read_notifier_pollset = fd_get_read_notifier_pollset, fd_get_read_notifier_pollset,
.pollset_init = pollset_init, pollset_init,
.pollset_shutdown = pollset_shutdown, pollset_shutdown,
.pollset_destroy = pollset_destroy, pollset_destroy,
.pollset_work = pollset_work, pollset_work,
.pollset_kick = pollset_kick, pollset_kick,
.pollset_add_fd = pollset_add_fd, pollset_add_fd,
.pollset_set_create = pollset_set_create, pollset_set_create,
.pollset_set_destroy = pollset_set_destroy, pollset_set_destroy,
.pollset_set_add_pollset = pollset_set_add_pollset, pollset_set_add_pollset,
.pollset_set_del_pollset = pollset_set_del_pollset, pollset_set_del_pollset,
.pollset_set_add_pollset_set = pollset_set_add_pollset_set, pollset_set_add_pollset_set,
.pollset_set_del_pollset_set = pollset_set_del_pollset_set, pollset_set_del_pollset_set,
.pollset_set_add_fd = pollset_set_add_fd, pollset_set_add_fd,
.pollset_set_del_fd = pollset_set_del_fd, pollset_set_del_fd,
.shutdown_engine = shutdown_engine, shutdown_engine,
}; };
/* It is possible that GLIBC has epoll but the underlying kernel doesn't. /* It is possible that GLIBC has epoll but the underlying kernel doesn't.

@ -1692,34 +1692,34 @@ static void shutdown_engine(void) {
} }
static const grpc_event_engine_vtable vtable = { static const grpc_event_engine_vtable vtable = {
.pollset_size = sizeof(grpc_pollset), sizeof(grpc_pollset),
.fd_create = fd_create, fd_create,
.fd_wrapped_fd = fd_wrapped_fd, fd_wrapped_fd,
.fd_orphan = fd_orphan, fd_orphan,
.fd_shutdown = fd_shutdown, fd_shutdown,
.fd_is_shutdown = fd_is_shutdown, fd_notify_on_read,
.fd_notify_on_read = fd_notify_on_read, fd_notify_on_write,
.fd_notify_on_write = fd_notify_on_write, fd_is_shutdown,
.fd_get_read_notifier_pollset = fd_get_read_notifier_pollset, fd_get_read_notifier_pollset,
.pollset_init = pollset_init, pollset_init,
.pollset_shutdown = pollset_shutdown, pollset_shutdown,
.pollset_destroy = pollset_destroy, pollset_destroy,
.pollset_work = pollset_work, pollset_work,
.pollset_kick = pollset_kick, pollset_kick,
.pollset_add_fd = pollset_add_fd, pollset_add_fd,
.pollset_set_create = pollset_set_create, pollset_set_create,
.pollset_set_destroy = pollset_set_destroy, pollset_set_destroy,
.pollset_set_add_pollset = pollset_set_add_pollset, pollset_set_add_pollset,
.pollset_set_del_pollset = pollset_set_del_pollset, pollset_set_del_pollset,
.pollset_set_add_pollset_set = pollset_set_add_pollset_set, pollset_set_add_pollset_set,
.pollset_set_del_pollset_set = pollset_set_del_pollset_set, pollset_set_del_pollset_set,
.pollset_set_add_fd = pollset_set_add_fd, pollset_set_add_fd,
.pollset_set_del_fd = pollset_set_del_fd, pollset_set_del_fd,
.shutdown_engine = shutdown_engine, shutdown_engine,
}; };
const grpc_event_engine_vtable *grpc_init_poll_posix(bool explicit_request) { const grpc_event_engine_vtable *grpc_init_poll_posix(bool explicit_request) {

@ -50,7 +50,7 @@ void grpc_iomgr_init(grpc_exec_ctx *exec_ctx) {
grpc_executor_init(exec_ctx); grpc_executor_init(exec_ctx);
grpc_timer_list_init(gpr_now(GPR_CLOCK_MONOTONIC)); grpc_timer_list_init(gpr_now(GPR_CLOCK_MONOTONIC));
g_root_object.next = g_root_object.prev = &g_root_object; g_root_object.next = g_root_object.prev = &g_root_object;
g_root_object.name = "root"; g_root_object.name = (char *)"root";
grpc_network_status_init(); grpc_network_status_init();
grpc_iomgr_platform_init(); grpc_iomgr_platform_init();
} }

@ -57,12 +57,12 @@ bool grpc_is_epollexclusive_available(void) {
close(fd); close(fd);
return false; return false;
} }
struct epoll_event ev = { struct epoll_event ev;
/* choose events that should cause an error on /* choose events that should cause an error on
EPOLLEXCLUSIVE enabled kernels - specifically the combination of EPOLLEXCLUSIVE enabled kernels - specifically the combination of
EPOLLONESHOT and EPOLLEXCLUSIVE */ EPOLLONESHOT and EPOLLEXCLUSIVE */
.events = (uint32_t)(EPOLLET | EPOLLIN | EPOLLEXCLUSIVE | EPOLLONESHOT), ev.events = (uint32_t)(EPOLLET | EPOLLIN | EPOLLEXCLUSIVE | EPOLLONESHOT);
.data.ptr = NULL}; ev.data.ptr = NULL;
if (epoll_ctl(fd, EPOLL_CTL_ADD, evfd, &ev) != 0) { if (epoll_ctl(fd, EPOLL_CTL_ADD, evfd, &ev) != 0) {
if (errno != EINVAL) { if (errno != EINVAL) {
if (!logged_why_not) { if (!logged_why_not) {

@ -85,8 +85,8 @@ static const grpc_arg_pointer_vtable socket_factory_arg_vtable = {
socket_factory_arg_copy, socket_factory_arg_destroy, socket_factory_cmp}; socket_factory_arg_copy, socket_factory_arg_destroy, socket_factory_cmp};
grpc_arg grpc_socket_factory_to_arg(grpc_socket_factory *factory) { grpc_arg grpc_socket_factory_to_arg(grpc_socket_factory *factory) {
return grpc_channel_arg_pointer_create(GRPC_ARG_SOCKET_FACTORY, factory, return grpc_channel_arg_pointer_create((char *)GRPC_ARG_SOCKET_FACTORY,
&socket_factory_arg_vtable); factory, &socket_factory_arg_vtable);
} }
#endif #endif

@ -76,6 +76,6 @@ static const grpc_arg_pointer_vtable socket_mutator_arg_vtable = {
socket_mutator_arg_copy, socket_mutator_arg_destroy, socket_mutator_cmp}; socket_mutator_arg_copy, socket_mutator_arg_destroy, socket_mutator_cmp};
grpc_arg grpc_socket_mutator_to_arg(grpc_socket_mutator *mutator) { grpc_arg grpc_socket_mutator_to_arg(grpc_socket_mutator *mutator) {
return grpc_channel_arg_pointer_create(GRPC_ARG_SOCKET_MUTATOR, mutator, return grpc_channel_arg_pointer_create((char *)GRPC_ARG_SOCKET_MUTATOR,
&socket_mutator_arg_vtable); mutator, &socket_mutator_arg_vtable);
} }

@ -198,12 +198,12 @@ static void tcp_server_destroy(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) {
/* event manager callback when reads are ready */ /* event manager callback when reads are ready */
static void on_read(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *err) { static void on_read(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *err) {
grpc_tcp_listener *sp = (grpc_tcp_listener *)arg; grpc_tcp_listener *sp = (grpc_tcp_listener *)arg;
grpc_pollset *read_notifier_pollset;
if (err != GRPC_ERROR_NONE) { if (err != GRPC_ERROR_NONE) {
goto error; goto error;
} }
grpc_pollset *read_notifier_pollset = read_notifier_pollset =
sp->server->pollsets[(size_t)gpr_atm_no_barrier_fetch_add( sp->server->pollsets[(size_t)gpr_atm_no_barrier_fetch_add(
&sp->server->next_pollset_to_assign, 1) % &sp->server->next_pollset_to_assign, 1) %
sp->server->pollset_count]; sp->server->pollset_count];

@ -95,9 +95,7 @@ struct shared_mutables {
gpr_mu mu; gpr_mu mu;
} GPR_ALIGN_STRUCT(GPR_CACHELINE_SIZE); } GPR_ALIGN_STRUCT(GPR_CACHELINE_SIZE);
static struct shared_mutables g_shared_mutables = { static struct shared_mutables g_shared_mutables;
.checker_mu = GPR_SPINLOCK_STATIC_INITIALIZER, .initialized = false,
};
static gpr_clock_type g_clock_type; static gpr_clock_type g_clock_type;
static gpr_timespec g_start_time; static gpr_timespec g_start_time;
@ -155,6 +153,7 @@ void grpc_timer_list_init(gpr_timespec now) {
uint32_t i; uint32_t i;
g_shared_mutables.initialized = true; g_shared_mutables.initialized = true;
g_shared_mutables.checker_mu = GPR_SPINLOCK_INITIALIZER;
gpr_mu_init(&g_shared_mutables.mu); gpr_mu_init(&g_shared_mutables.mu);
g_clock_type = now.clock_type; g_clock_type = now.clock_type;
g_start_time = now; g_start_time = now;

@ -1674,6 +1674,8 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
batch_control *bctl; batch_control *bctl;
int num_completion_callbacks_needed = 1; int num_completion_callbacks_needed = 1;
grpc_call_error error = GRPC_CALL_OK; grpc_call_error error = GRPC_CALL_OK;
grpc_transport_stream_op_batch *stream_op;
grpc_transport_stream_op_batch_payload *stream_op_payload;
GPR_TIMER_BEGIN("grpc_call_start_batch", 0); GPR_TIMER_BEGIN("grpc_call_start_batch", 0);
GRPC_CALL_LOG_BATCH(GPR_INFO, call, ops, nops, notify_tag); GRPC_CALL_LOG_BATCH(GPR_INFO, call, ops, nops, notify_tag);
@ -1700,9 +1702,8 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
bctl->completion_data.notify_tag.is_closure = bctl->completion_data.notify_tag.is_closure =
(uint8_t)(is_notify_tag_closure != 0); (uint8_t)(is_notify_tag_closure != 0);
grpc_transport_stream_op_batch *stream_op = &bctl->op; stream_op = &bctl->op;
grpc_transport_stream_op_batch_payload *stream_op_payload = stream_op_payload = &call->stream_op_payload;
&call->stream_op_payload;
/* rewrite batch ops into a transport op */ /* rewrite batch ops into a transport op */
for (i = 0; i < nops; i++) { for (i = 0; i < nops; i++) {
@ -1712,7 +1713,7 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
goto done_with_error; goto done_with_error;
} }
switch (op->op) { switch (op->op) {
case GRPC_OP_SEND_INITIAL_METADATA: case GRPC_OP_SEND_INITIAL_METADATA: {
/* Flag validation: currently allow no flags */ /* Flag validation: currently allow no flags */
if (!are_initial_metadata_flags_valid(op->flags, call->is_client)) { if (!are_initial_metadata_flags_valid(op->flags, call->is_client)) {
error = GRPC_CALL_ERROR_INVALID_FLAGS; error = GRPC_CALL_ERROR_INVALID_FLAGS;
@ -1806,7 +1807,8 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
&call->peer_string; &call->peer_string;
} }
break; break;
case GRPC_OP_SEND_MESSAGE: }
case GRPC_OP_SEND_MESSAGE: {
if (!are_write_flags_valid(op->flags)) { if (!are_write_flags_valid(op->flags)) {
error = GRPC_CALL_ERROR_INVALID_FLAGS; error = GRPC_CALL_ERROR_INVALID_FLAGS;
goto done_with_error; goto done_with_error;
@ -1835,7 +1837,8 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
stream_op_payload->send_message.send_message = stream_op_payload->send_message.send_message =
&call->sending_stream.base; &call->sending_stream.base;
break; break;
case GRPC_OP_SEND_CLOSE_FROM_CLIENT: }
case GRPC_OP_SEND_CLOSE_FROM_CLIENT: {
/* Flag validation: currently allow no flags */ /* Flag validation: currently allow no flags */
if (op->flags != 0) { if (op->flags != 0) {
error = GRPC_CALL_ERROR_INVALID_FLAGS; error = GRPC_CALL_ERROR_INVALID_FLAGS;
@ -1854,7 +1857,8 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
stream_op_payload->send_trailing_metadata.send_trailing_metadata = stream_op_payload->send_trailing_metadata.send_trailing_metadata =
&call->metadata_batch[0 /* is_receiving */][1 /* is_trailing */]; &call->metadata_batch[0 /* is_receiving */][1 /* is_trailing */];
break; break;
case GRPC_OP_SEND_STATUS_FROM_SERVER: }
case GRPC_OP_SEND_STATUS_FROM_SERVER: {
/* Flag validation: currently allow no flags */ /* Flag validation: currently allow no flags */
if (op->flags != 0) { if (op->flags != 0) {
error = GRPC_CALL_ERROR_INVALID_FLAGS; error = GRPC_CALL_ERROR_INVALID_FLAGS;
@ -1916,7 +1920,8 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
stream_op_payload->send_trailing_metadata.send_trailing_metadata = stream_op_payload->send_trailing_metadata.send_trailing_metadata =
&call->metadata_batch[0 /* is_receiving */][1 /* is_trailing */]; &call->metadata_batch[0 /* is_receiving */][1 /* is_trailing */];
break; break;
case GRPC_OP_RECV_INITIAL_METADATA: }
case GRPC_OP_RECV_INITIAL_METADATA: {
/* Flag validation: currently allow no flags */ /* Flag validation: currently allow no flags */
if (op->flags != 0) { if (op->flags != 0) {
error = GRPC_CALL_ERROR_INVALID_FLAGS; error = GRPC_CALL_ERROR_INVALID_FLAGS;
@ -1943,7 +1948,8 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
} }
num_completion_callbacks_needed++; num_completion_callbacks_needed++;
break; break;
case GRPC_OP_RECV_MESSAGE: }
case GRPC_OP_RECV_MESSAGE: {
/* Flag validation: currently allow no flags */ /* Flag validation: currently allow no flags */
if (op->flags != 0) { if (op->flags != 0) {
error = GRPC_CALL_ERROR_INVALID_FLAGS; error = GRPC_CALL_ERROR_INVALID_FLAGS;
@ -1964,7 +1970,8 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
&call->receiving_stream_ready; &call->receiving_stream_ready;
num_completion_callbacks_needed++; num_completion_callbacks_needed++;
break; break;
case GRPC_OP_RECV_STATUS_ON_CLIENT: }
case GRPC_OP_RECV_STATUS_ON_CLIENT: {
/* Flag validation: currently allow no flags */ /* Flag validation: currently allow no flags */
if (op->flags != 0) { if (op->flags != 0) {
error = GRPC_CALL_ERROR_INVALID_FLAGS; error = GRPC_CALL_ERROR_INVALID_FLAGS;
@ -1991,7 +1998,8 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
stream_op_payload->collect_stats.collect_stats = stream_op_payload->collect_stats.collect_stats =
&call->final_info.stats.transport_stream_stats; &call->final_info.stats.transport_stream_stats;
break; break;
case GRPC_OP_RECV_CLOSE_ON_SERVER: }
case GRPC_OP_RECV_CLOSE_ON_SERVER: {
/* Flag validation: currently allow no flags */ /* Flag validation: currently allow no flags */
if (op->flags != 0) { if (op->flags != 0) {
error = GRPC_CALL_ERROR_INVALID_FLAGS; error = GRPC_CALL_ERROR_INVALID_FLAGS;
@ -2015,6 +2023,7 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
stream_op_payload->collect_stats.collect_stats = stream_op_payload->collect_stats.collect_stats =
&call->final_info.stats.transport_stream_stats; &call->final_info.stats.transport_stream_stats;
break; break;
}
} }
} }

@ -329,25 +329,12 @@ static void cq_destroy_pluck(void *data);
/* Completion queue vtables based on the completion-type */ /* Completion queue vtables based on the completion-type */
static const cq_vtable g_cq_vtable[] = { static const cq_vtable g_cq_vtable[] = {
/* GRPC_CQ_NEXT */ /* GRPC_CQ_NEXT */
{.data_size = sizeof(cq_next_data), {GRPC_CQ_NEXT, sizeof(cq_next_data), cq_init_next, cq_shutdown_next,
.cq_completion_type = GRPC_CQ_NEXT, cq_destroy_next, cq_begin_op_for_next, cq_end_op_for_next, cq_next, NULL},
.init = cq_init_next,
.shutdown = cq_shutdown_next,
.destroy = cq_destroy_next,
.begin_op = cq_begin_op_for_next,
.end_op = cq_end_op_for_next,
.next = cq_next,
.pluck = NULL},
/* GRPC_CQ_PLUCK */ /* GRPC_CQ_PLUCK */
{.data_size = sizeof(cq_pluck_data), {GRPC_CQ_PLUCK, sizeof(cq_pluck_data), cq_init_pluck, cq_shutdown_pluck,
.cq_completion_type = GRPC_CQ_PLUCK, cq_destroy_pluck, cq_begin_op_for_pluck, cq_end_op_for_pluck, NULL,
.init = cq_init_pluck, cq_pluck},
.shutdown = cq_shutdown_pluck,
.destroy = cq_destroy_pluck,
.begin_op = cq_begin_op_for_pluck,
.end_op = cq_end_op_for_pluck,
.next = NULL,
.pluck = cq_pluck},
}; };
#define DATA_FROM_CQ(cq) ((void *)(cq + 1)) #define DATA_FROM_CQ(cq) ((void *)(cq + 1))

@ -216,206 +216,106 @@ grpc_slice_refcount grpc_static_metadata_refcounts[GRPC_STATIC_MDSTR_COUNT] = {
}; };
const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT] = { const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT] = {
{.refcount = &grpc_static_metadata_refcounts[0], {&grpc_static_metadata_refcounts[0], {{g_bytes + 0, 5}}},
.data.refcounted = {g_bytes + 0, 5}}, {&grpc_static_metadata_refcounts[1], {{g_bytes + 5, 7}}},
{.refcount = &grpc_static_metadata_refcounts[1], {&grpc_static_metadata_refcounts[2], {{g_bytes + 12, 7}}},
.data.refcounted = {g_bytes + 5, 7}}, {&grpc_static_metadata_refcounts[3], {{g_bytes + 19, 10}}},
{.refcount = &grpc_static_metadata_refcounts[2], {&grpc_static_metadata_refcounts[4], {{g_bytes + 29, 7}}},
.data.refcounted = {g_bytes + 12, 7}}, {&grpc_static_metadata_refcounts[5], {{g_bytes + 36, 2}}},
{.refcount = &grpc_static_metadata_refcounts[3], {&grpc_static_metadata_refcounts[6], {{g_bytes + 38, 12}}},
.data.refcounted = {g_bytes + 19, 10}}, {&grpc_static_metadata_refcounts[7], {{g_bytes + 50, 11}}},
{.refcount = &grpc_static_metadata_refcounts[4], {&grpc_static_metadata_refcounts[8], {{g_bytes + 61, 16}}},
.data.refcounted = {g_bytes + 29, 7}}, {&grpc_static_metadata_refcounts[9], {{g_bytes + 77, 13}}},
{.refcount = &grpc_static_metadata_refcounts[5], {&grpc_static_metadata_refcounts[10], {{g_bytes + 90, 20}}},
.data.refcounted = {g_bytes + 36, 2}}, {&grpc_static_metadata_refcounts[11], {{g_bytes + 110, 21}}},
{.refcount = &grpc_static_metadata_refcounts[6], {&grpc_static_metadata_refcounts[12], {{g_bytes + 131, 13}}},
.data.refcounted = {g_bytes + 38, 12}}, {&grpc_static_metadata_refcounts[13], {{g_bytes + 144, 14}}},
{.refcount = &grpc_static_metadata_refcounts[7], {&grpc_static_metadata_refcounts[14], {{g_bytes + 158, 12}}},
.data.refcounted = {g_bytes + 50, 11}}, {&grpc_static_metadata_refcounts[15], {{g_bytes + 170, 16}}},
{.refcount = &grpc_static_metadata_refcounts[8], {&grpc_static_metadata_refcounts[16], {{g_bytes + 186, 15}}},
.data.refcounted = {g_bytes + 61, 16}}, {&grpc_static_metadata_refcounts[17], {{g_bytes + 201, 30}}},
{.refcount = &grpc_static_metadata_refcounts[9], {&grpc_static_metadata_refcounts[18], {{g_bytes + 231, 37}}},
.data.refcounted = {g_bytes + 77, 13}}, {&grpc_static_metadata_refcounts[19], {{g_bytes + 268, 10}}},
{.refcount = &grpc_static_metadata_refcounts[10], {&grpc_static_metadata_refcounts[20], {{g_bytes + 278, 4}}},
.data.refcounted = {g_bytes + 90, 20}}, {&grpc_static_metadata_refcounts[21], {{g_bytes + 282, 8}}},
{.refcount = &grpc_static_metadata_refcounts[11], {&grpc_static_metadata_refcounts[22], {{g_bytes + 290, 12}}},
.data.refcounted = {g_bytes + 110, 21}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}},
{.refcount = &grpc_static_metadata_refcounts[12], {&grpc_static_metadata_refcounts[24], {{g_bytes + 302, 19}}},
.data.refcounted = {g_bytes + 131, 13}}, {&grpc_static_metadata_refcounts[25], {{g_bytes + 321, 12}}},
{.refcount = &grpc_static_metadata_refcounts[13], {&grpc_static_metadata_refcounts[26], {{g_bytes + 333, 30}}},
.data.refcounted = {g_bytes + 144, 14}}, {&grpc_static_metadata_refcounts[27], {{g_bytes + 363, 31}}},
{.refcount = &grpc_static_metadata_refcounts[14], {&grpc_static_metadata_refcounts[28], {{g_bytes + 394, 36}}},
.data.refcounted = {g_bytes + 158, 12}}, {&grpc_static_metadata_refcounts[29], {{g_bytes + 430, 1}}},
{.refcount = &grpc_static_metadata_refcounts[15], {&grpc_static_metadata_refcounts[30], {{g_bytes + 431, 1}}},
.data.refcounted = {g_bytes + 170, 16}}, {&grpc_static_metadata_refcounts[31], {{g_bytes + 432, 1}}},
{.refcount = &grpc_static_metadata_refcounts[16], {&grpc_static_metadata_refcounts[32], {{g_bytes + 433, 8}}},
.data.refcounted = {g_bytes + 186, 15}}, {&grpc_static_metadata_refcounts[33], {{g_bytes + 441, 4}}},
{.refcount = &grpc_static_metadata_refcounts[17], {&grpc_static_metadata_refcounts[34], {{g_bytes + 445, 7}}},
.data.refcounted = {g_bytes + 201, 30}}, {&grpc_static_metadata_refcounts[35], {{g_bytes + 452, 8}}},
{.refcount = &grpc_static_metadata_refcounts[18], {&grpc_static_metadata_refcounts[36], {{g_bytes + 460, 16}}},
.data.refcounted = {g_bytes + 231, 37}}, {&grpc_static_metadata_refcounts[37], {{g_bytes + 476, 4}}},
{.refcount = &grpc_static_metadata_refcounts[19], {&grpc_static_metadata_refcounts[38], {{g_bytes + 480, 3}}},
.data.refcounted = {g_bytes + 268, 10}}, {&grpc_static_metadata_refcounts[39], {{g_bytes + 483, 3}}},
{.refcount = &grpc_static_metadata_refcounts[20], {&grpc_static_metadata_refcounts[40], {{g_bytes + 486, 4}}},
.data.refcounted = {g_bytes + 278, 4}}, {&grpc_static_metadata_refcounts[41], {{g_bytes + 490, 5}}},
{.refcount = &grpc_static_metadata_refcounts[21], {&grpc_static_metadata_refcounts[42], {{g_bytes + 495, 4}}},
.data.refcounted = {g_bytes + 282, 8}}, {&grpc_static_metadata_refcounts[43], {{g_bytes + 499, 3}}},
{.refcount = &grpc_static_metadata_refcounts[22], {&grpc_static_metadata_refcounts[44], {{g_bytes + 502, 3}}},
.data.refcounted = {g_bytes + 290, 12}}, {&grpc_static_metadata_refcounts[45], {{g_bytes + 505, 1}}},
{.refcount = &grpc_static_metadata_refcounts[23], {&grpc_static_metadata_refcounts[46], {{g_bytes + 506, 11}}},
.data.refcounted = {g_bytes + 302, 0}}, {&grpc_static_metadata_refcounts[47], {{g_bytes + 517, 3}}},
{.refcount = &grpc_static_metadata_refcounts[24], {&grpc_static_metadata_refcounts[48], {{g_bytes + 520, 3}}},
.data.refcounted = {g_bytes + 302, 19}}, {&grpc_static_metadata_refcounts[49], {{g_bytes + 523, 3}}},
{.refcount = &grpc_static_metadata_refcounts[25], {&grpc_static_metadata_refcounts[50], {{g_bytes + 526, 3}}},
.data.refcounted = {g_bytes + 321, 12}}, {&grpc_static_metadata_refcounts[51], {{g_bytes + 529, 3}}},
{.refcount = &grpc_static_metadata_refcounts[26], {&grpc_static_metadata_refcounts[52], {{g_bytes + 532, 14}}},
.data.refcounted = {g_bytes + 333, 30}}, {&grpc_static_metadata_refcounts[53], {{g_bytes + 546, 13}}},
{.refcount = &grpc_static_metadata_refcounts[27], {&grpc_static_metadata_refcounts[54], {{g_bytes + 559, 15}}},
.data.refcounted = {g_bytes + 363, 31}}, {&grpc_static_metadata_refcounts[55], {{g_bytes + 574, 13}}},
{.refcount = &grpc_static_metadata_refcounts[28], {&grpc_static_metadata_refcounts[56], {{g_bytes + 587, 6}}},
.data.refcounted = {g_bytes + 394, 36}}, {&grpc_static_metadata_refcounts[57], {{g_bytes + 593, 27}}},
{.refcount = &grpc_static_metadata_refcounts[29], {&grpc_static_metadata_refcounts[58], {{g_bytes + 620, 3}}},
.data.refcounted = {g_bytes + 430, 1}}, {&grpc_static_metadata_refcounts[59], {{g_bytes + 623, 5}}},
{.refcount = &grpc_static_metadata_refcounts[30], {&grpc_static_metadata_refcounts[60], {{g_bytes + 628, 13}}},
.data.refcounted = {g_bytes + 431, 1}}, {&grpc_static_metadata_refcounts[61], {{g_bytes + 641, 13}}},
{.refcount = &grpc_static_metadata_refcounts[31], {&grpc_static_metadata_refcounts[62], {{g_bytes + 654, 19}}},
.data.refcounted = {g_bytes + 432, 1}}, {&grpc_static_metadata_refcounts[63], {{g_bytes + 673, 16}}},
{.refcount = &grpc_static_metadata_refcounts[32], {&grpc_static_metadata_refcounts[64], {{g_bytes + 689, 14}}},
.data.refcounted = {g_bytes + 433, 8}}, {&grpc_static_metadata_refcounts[65], {{g_bytes + 703, 16}}},
{.refcount = &grpc_static_metadata_refcounts[33], {&grpc_static_metadata_refcounts[66], {{g_bytes + 719, 13}}},
.data.refcounted = {g_bytes + 441, 4}}, {&grpc_static_metadata_refcounts[67], {{g_bytes + 732, 6}}},
{.refcount = &grpc_static_metadata_refcounts[34], {&grpc_static_metadata_refcounts[68], {{g_bytes + 738, 4}}},
.data.refcounted = {g_bytes + 445, 7}}, {&grpc_static_metadata_refcounts[69], {{g_bytes + 742, 4}}},
{.refcount = &grpc_static_metadata_refcounts[35], {&grpc_static_metadata_refcounts[70], {{g_bytes + 746, 6}}},
.data.refcounted = {g_bytes + 452, 8}}, {&grpc_static_metadata_refcounts[71], {{g_bytes + 752, 7}}},
{.refcount = &grpc_static_metadata_refcounts[36], {&grpc_static_metadata_refcounts[72], {{g_bytes + 759, 4}}},
.data.refcounted = {g_bytes + 460, 16}}, {&grpc_static_metadata_refcounts[73], {{g_bytes + 763, 8}}},
{.refcount = &grpc_static_metadata_refcounts[37], {&grpc_static_metadata_refcounts[74], {{g_bytes + 771, 17}}},
.data.refcounted = {g_bytes + 476, 4}}, {&grpc_static_metadata_refcounts[75], {{g_bytes + 788, 13}}},
{.refcount = &grpc_static_metadata_refcounts[38], {&grpc_static_metadata_refcounts[76], {{g_bytes + 801, 8}}},
.data.refcounted = {g_bytes + 480, 3}}, {&grpc_static_metadata_refcounts[77], {{g_bytes + 809, 19}}},
{.refcount = &grpc_static_metadata_refcounts[39], {&grpc_static_metadata_refcounts[78], {{g_bytes + 828, 13}}},
.data.refcounted = {g_bytes + 483, 3}}, {&grpc_static_metadata_refcounts[79], {{g_bytes + 841, 11}}},
{.refcount = &grpc_static_metadata_refcounts[40], {&grpc_static_metadata_refcounts[80], {{g_bytes + 852, 4}}},
.data.refcounted = {g_bytes + 486, 4}}, {&grpc_static_metadata_refcounts[81], {{g_bytes + 856, 8}}},
{.refcount = &grpc_static_metadata_refcounts[41], {&grpc_static_metadata_refcounts[82], {{g_bytes + 864, 12}}},
.data.refcounted = {g_bytes + 490, 5}}, {&grpc_static_metadata_refcounts[83], {{g_bytes + 876, 18}}},
{.refcount = &grpc_static_metadata_refcounts[42], {&grpc_static_metadata_refcounts[84], {{g_bytes + 894, 19}}},
.data.refcounted = {g_bytes + 495, 4}}, {&grpc_static_metadata_refcounts[85], {{g_bytes + 913, 5}}},
{.refcount = &grpc_static_metadata_refcounts[43], {&grpc_static_metadata_refcounts[86], {{g_bytes + 918, 7}}},
.data.refcounted = {g_bytes + 499, 3}}, {&grpc_static_metadata_refcounts[87], {{g_bytes + 925, 7}}},
{.refcount = &grpc_static_metadata_refcounts[44], {&grpc_static_metadata_refcounts[88], {{g_bytes + 932, 11}}},
.data.refcounted = {g_bytes + 502, 3}}, {&grpc_static_metadata_refcounts[89], {{g_bytes + 943, 6}}},
{.refcount = &grpc_static_metadata_refcounts[45], {&grpc_static_metadata_refcounts[90], {{g_bytes + 949, 10}}},
.data.refcounted = {g_bytes + 505, 1}}, {&grpc_static_metadata_refcounts[91], {{g_bytes + 959, 25}}},
{.refcount = &grpc_static_metadata_refcounts[46], {&grpc_static_metadata_refcounts[92], {{g_bytes + 984, 17}}},
.data.refcounted = {g_bytes + 506, 11}}, {&grpc_static_metadata_refcounts[93], {{g_bytes + 1001, 4}}},
{.refcount = &grpc_static_metadata_refcounts[47], {&grpc_static_metadata_refcounts[94], {{g_bytes + 1005, 3}}},
.data.refcounted = {g_bytes + 517, 3}}, {&grpc_static_metadata_refcounts[95], {{g_bytes + 1008, 16}}},
{.refcount = &grpc_static_metadata_refcounts[48], {&grpc_static_metadata_refcounts[96], {{g_bytes + 1024, 16}}},
.data.refcounted = {g_bytes + 520, 3}}, {&grpc_static_metadata_refcounts[97], {{g_bytes + 1040, 13}}},
{.refcount = &grpc_static_metadata_refcounts[49], {&grpc_static_metadata_refcounts[98], {{g_bytes + 1053, 12}}},
.data.refcounted = {g_bytes + 523, 3}}, {&grpc_static_metadata_refcounts[99], {{g_bytes + 1065, 21}}},
{.refcount = &grpc_static_metadata_refcounts[50],
.data.refcounted = {g_bytes + 526, 3}},
{.refcount = &grpc_static_metadata_refcounts[51],
.data.refcounted = {g_bytes + 529, 3}},
{.refcount = &grpc_static_metadata_refcounts[52],
.data.refcounted = {g_bytes + 532, 14}},
{.refcount = &grpc_static_metadata_refcounts[53],
.data.refcounted = {g_bytes + 546, 13}},
{.refcount = &grpc_static_metadata_refcounts[54],
.data.refcounted = {g_bytes + 559, 15}},
{.refcount = &grpc_static_metadata_refcounts[55],
.data.refcounted = {g_bytes + 574, 13}},
{.refcount = &grpc_static_metadata_refcounts[56],
.data.refcounted = {g_bytes + 587, 6}},
{.refcount = &grpc_static_metadata_refcounts[57],
.data.refcounted = {g_bytes + 593, 27}},
{.refcount = &grpc_static_metadata_refcounts[58],
.data.refcounted = {g_bytes + 620, 3}},
{.refcount = &grpc_static_metadata_refcounts[59],
.data.refcounted = {g_bytes + 623, 5}},
{.refcount = &grpc_static_metadata_refcounts[60],
.data.refcounted = {g_bytes + 628, 13}},
{.refcount = &grpc_static_metadata_refcounts[61],
.data.refcounted = {g_bytes + 641, 13}},
{.refcount = &grpc_static_metadata_refcounts[62],
.data.refcounted = {g_bytes + 654, 19}},
{.refcount = &grpc_static_metadata_refcounts[63],
.data.refcounted = {g_bytes + 673, 16}},
{.refcount = &grpc_static_metadata_refcounts[64],
.data.refcounted = {g_bytes + 689, 14}},
{.refcount = &grpc_static_metadata_refcounts[65],
.data.refcounted = {g_bytes + 703, 16}},
{.refcount = &grpc_static_metadata_refcounts[66],
.data.refcounted = {g_bytes + 719, 13}},
{.refcount = &grpc_static_metadata_refcounts[67],
.data.refcounted = {g_bytes + 732, 6}},
{.refcount = &grpc_static_metadata_refcounts[68],
.data.refcounted = {g_bytes + 738, 4}},
{.refcount = &grpc_static_metadata_refcounts[69],
.data.refcounted = {g_bytes + 742, 4}},
{.refcount = &grpc_static_metadata_refcounts[70],
.data.refcounted = {g_bytes + 746, 6}},
{.refcount = &grpc_static_metadata_refcounts[71],
.data.refcounted = {g_bytes + 752, 7}},
{.refcount = &grpc_static_metadata_refcounts[72],
.data.refcounted = {g_bytes + 759, 4}},
{.refcount = &grpc_static_metadata_refcounts[73],
.data.refcounted = {g_bytes + 763, 8}},
{.refcount = &grpc_static_metadata_refcounts[74],
.data.refcounted = {g_bytes + 771, 17}},
{.refcount = &grpc_static_metadata_refcounts[75],
.data.refcounted = {g_bytes + 788, 13}},
{.refcount = &grpc_static_metadata_refcounts[76],
.data.refcounted = {g_bytes + 801, 8}},
{.refcount = &grpc_static_metadata_refcounts[77],
.data.refcounted = {g_bytes + 809, 19}},
{.refcount = &grpc_static_metadata_refcounts[78],
.data.refcounted = {g_bytes + 828, 13}},
{.refcount = &grpc_static_metadata_refcounts[79],
.data.refcounted = {g_bytes + 841, 11}},
{.refcount = &grpc_static_metadata_refcounts[80],
.data.refcounted = {g_bytes + 852, 4}},
{.refcount = &grpc_static_metadata_refcounts[81],
.data.refcounted = {g_bytes + 856, 8}},
{.refcount = &grpc_static_metadata_refcounts[82],
.data.refcounted = {g_bytes + 864, 12}},
{.refcount = &grpc_static_metadata_refcounts[83],
.data.refcounted = {g_bytes + 876, 18}},
{.refcount = &grpc_static_metadata_refcounts[84],
.data.refcounted = {g_bytes + 894, 19}},
{.refcount = &grpc_static_metadata_refcounts[85],
.data.refcounted = {g_bytes + 913, 5}},
{.refcount = &grpc_static_metadata_refcounts[86],
.data.refcounted = {g_bytes + 918, 7}},
{.refcount = &grpc_static_metadata_refcounts[87],
.data.refcounted = {g_bytes + 925, 7}},
{.refcount = &grpc_static_metadata_refcounts[88],
.data.refcounted = {g_bytes + 932, 11}},
{.refcount = &grpc_static_metadata_refcounts[89],
.data.refcounted = {g_bytes + 943, 6}},
{.refcount = &grpc_static_metadata_refcounts[90],
.data.refcounted = {g_bytes + 949, 10}},
{.refcount = &grpc_static_metadata_refcounts[91],
.data.refcounted = {g_bytes + 959, 25}},
{.refcount = &grpc_static_metadata_refcounts[92],
.data.refcounted = {g_bytes + 984, 17}},
{.refcount = &grpc_static_metadata_refcounts[93],
.data.refcounted = {g_bytes + 1001, 4}},
{.refcount = &grpc_static_metadata_refcounts[94],
.data.refcounted = {g_bytes + 1005, 3}},
{.refcount = &grpc_static_metadata_refcounts[95],
.data.refcounted = {g_bytes + 1008, 16}},
{.refcount = &grpc_static_metadata_refcounts[96],
.data.refcounted = {g_bytes + 1024, 16}},
{.refcount = &grpc_static_metadata_refcounts[97],
.data.refcounted = {g_bytes + 1040, 13}},
{.refcount = &grpc_static_metadata_refcounts[98],
.data.refcounted = {g_bytes + 1053, 12}},
{.refcount = &grpc_static_metadata_refcounts[99],
.data.refcounted = {g_bytes + 1065, 21}},
}; };
uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT] = { uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT] = {
@ -478,350 +378,178 @@ 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 = &grpc_static_metadata_refcounts[7], {{&grpc_static_metadata_refcounts[7], {{g_bytes + 50, 11}}},
.data.refcounted = {g_bytes + 50, 11}}, {&grpc_static_metadata_refcounts[29], {{g_bytes + 430, 1}}}},
{.refcount = &grpc_static_metadata_refcounts[29], {{&grpc_static_metadata_refcounts[7], {{g_bytes + 50, 11}}},
.data.refcounted = {g_bytes + 430, 1}}}, {&grpc_static_metadata_refcounts[30], {{g_bytes + 431, 1}}}},
{{.refcount = &grpc_static_metadata_refcounts[7], {{&grpc_static_metadata_refcounts[7], {{g_bytes + 50, 11}}},
.data.refcounted = {g_bytes + 50, 11}}, {&grpc_static_metadata_refcounts[31], {{g_bytes + 432, 1}}}},
{.refcount = &grpc_static_metadata_refcounts[30], {{&grpc_static_metadata_refcounts[9], {{g_bytes + 77, 13}}},
.data.refcounted = {g_bytes + 431, 1}}}, {&grpc_static_metadata_refcounts[32], {{g_bytes + 433, 8}}}},
{{.refcount = &grpc_static_metadata_refcounts[7], {{&grpc_static_metadata_refcounts[9], {{g_bytes + 77, 13}}},
.data.refcounted = {g_bytes + 50, 11}}, {&grpc_static_metadata_refcounts[33], {{g_bytes + 441, 4}}}},
{.refcount = &grpc_static_metadata_refcounts[31], {{&grpc_static_metadata_refcounts[9], {{g_bytes + 77, 13}}},
.data.refcounted = {g_bytes + 432, 1}}}, {&grpc_static_metadata_refcounts[34], {{g_bytes + 445, 7}}}},
{{.refcount = &grpc_static_metadata_refcounts[9], {{&grpc_static_metadata_refcounts[5], {{g_bytes + 36, 2}}},
.data.refcounted = {g_bytes + 77, 13}}, {&grpc_static_metadata_refcounts[35], {{g_bytes + 452, 8}}}},
{.refcount = &grpc_static_metadata_refcounts[32], {{&grpc_static_metadata_refcounts[14], {{g_bytes + 158, 12}}},
.data.refcounted = {g_bytes + 433, 8}}}, {&grpc_static_metadata_refcounts[36], {{g_bytes + 460, 16}}}},
{{.refcount = &grpc_static_metadata_refcounts[9], {{&grpc_static_metadata_refcounts[1], {{g_bytes + 5, 7}}},
.data.refcounted = {g_bytes + 77, 13}}, {&grpc_static_metadata_refcounts[37], {{g_bytes + 476, 4}}}},
{.refcount = &grpc_static_metadata_refcounts[33], {{&grpc_static_metadata_refcounts[2], {{g_bytes + 12, 7}}},
.data.refcounted = {g_bytes + 441, 4}}}, {&grpc_static_metadata_refcounts[38], {{g_bytes + 480, 3}}}},
{{.refcount = &grpc_static_metadata_refcounts[9], {{&grpc_static_metadata_refcounts[2], {{g_bytes + 12, 7}}},
.data.refcounted = {g_bytes + 77, 13}}, {&grpc_static_metadata_refcounts[39], {{g_bytes + 483, 3}}}},
{.refcount = &grpc_static_metadata_refcounts[34], {{&grpc_static_metadata_refcounts[4], {{g_bytes + 29, 7}}},
.data.refcounted = {g_bytes + 445, 7}}}, {&grpc_static_metadata_refcounts[40], {{g_bytes + 486, 4}}}},
{{.refcount = &grpc_static_metadata_refcounts[5], {{&grpc_static_metadata_refcounts[4], {{g_bytes + 29, 7}}},
.data.refcounted = {g_bytes + 36, 2}}, {&grpc_static_metadata_refcounts[41], {{g_bytes + 490, 5}}}},
{.refcount = &grpc_static_metadata_refcounts[35], {{&grpc_static_metadata_refcounts[4], {{g_bytes + 29, 7}}},
.data.refcounted = {g_bytes + 452, 8}}}, {&grpc_static_metadata_refcounts[42], {{g_bytes + 495, 4}}}},
{{.refcount = &grpc_static_metadata_refcounts[14], {{&grpc_static_metadata_refcounts[3], {{g_bytes + 19, 10}}},
.data.refcounted = {g_bytes + 158, 12}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[36], {{&grpc_static_metadata_refcounts[1], {{g_bytes + 5, 7}}},
.data.refcounted = {g_bytes + 460, 16}}}, {&grpc_static_metadata_refcounts[43], {{g_bytes + 499, 3}}}},
{{.refcount = &grpc_static_metadata_refcounts[1], {{&grpc_static_metadata_refcounts[1], {{g_bytes + 5, 7}}},
.data.refcounted = {g_bytes + 5, 7}}, {&grpc_static_metadata_refcounts[44], {{g_bytes + 502, 3}}}},
{.refcount = &grpc_static_metadata_refcounts[37], {{&grpc_static_metadata_refcounts[0], {{g_bytes + 0, 5}}},
.data.refcounted = {g_bytes + 476, 4}}}, {&grpc_static_metadata_refcounts[45], {{g_bytes + 505, 1}}}},
{{.refcount = &grpc_static_metadata_refcounts[2], {{&grpc_static_metadata_refcounts[0], {{g_bytes + 0, 5}}},
.data.refcounted = {g_bytes + 12, 7}}, {&grpc_static_metadata_refcounts[46], {{g_bytes + 506, 11}}}},
{.refcount = &grpc_static_metadata_refcounts[38], {{&grpc_static_metadata_refcounts[2], {{g_bytes + 12, 7}}},
.data.refcounted = {g_bytes + 480, 3}}}, {&grpc_static_metadata_refcounts[47], {{g_bytes + 517, 3}}}},
{{.refcount = &grpc_static_metadata_refcounts[2], {{&grpc_static_metadata_refcounts[2], {{g_bytes + 12, 7}}},
.data.refcounted = {g_bytes + 12, 7}}, {&grpc_static_metadata_refcounts[48], {{g_bytes + 520, 3}}}},
{.refcount = &grpc_static_metadata_refcounts[39], {{&grpc_static_metadata_refcounts[2], {{g_bytes + 12, 7}}},
.data.refcounted = {g_bytes + 483, 3}}}, {&grpc_static_metadata_refcounts[49], {{g_bytes + 523, 3}}}},
{{.refcount = &grpc_static_metadata_refcounts[4], {{&grpc_static_metadata_refcounts[2], {{g_bytes + 12, 7}}},
.data.refcounted = {g_bytes + 29, 7}}, {&grpc_static_metadata_refcounts[50], {{g_bytes + 526, 3}}}},
{.refcount = &grpc_static_metadata_refcounts[40], {{&grpc_static_metadata_refcounts[2], {{g_bytes + 12, 7}}},
.data.refcounted = {g_bytes + 486, 4}}}, {&grpc_static_metadata_refcounts[51], {{g_bytes + 529, 3}}}},
{{.refcount = &grpc_static_metadata_refcounts[4], {{&grpc_static_metadata_refcounts[52], {{g_bytes + 532, 14}}},
.data.refcounted = {g_bytes + 29, 7}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[41], {{&grpc_static_metadata_refcounts[16], {{g_bytes + 186, 15}}},
.data.refcounted = {g_bytes + 490, 5}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[4], {{&grpc_static_metadata_refcounts[16], {{g_bytes + 186, 15}}},
.data.refcounted = {g_bytes + 29, 7}}, {&grpc_static_metadata_refcounts[53], {{g_bytes + 546, 13}}}},
{.refcount = &grpc_static_metadata_refcounts[42], {{&grpc_static_metadata_refcounts[54], {{g_bytes + 559, 15}}},
.data.refcounted = {g_bytes + 495, 4}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[3], {{&grpc_static_metadata_refcounts[55], {{g_bytes + 574, 13}}},
.data.refcounted = {g_bytes + 19, 10}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[56], {{g_bytes + 587, 6}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[1], {{&grpc_static_metadata_refcounts[57], {{g_bytes + 593, 27}}},
.data.refcounted = {g_bytes + 5, 7}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[43], {{&grpc_static_metadata_refcounts[58], {{g_bytes + 620, 3}}},
.data.refcounted = {g_bytes + 499, 3}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[1], {{&grpc_static_metadata_refcounts[59], {{g_bytes + 623, 5}}},
.data.refcounted = {g_bytes + 5, 7}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[44], {{&grpc_static_metadata_refcounts[60], {{g_bytes + 628, 13}}},
.data.refcounted = {g_bytes + 502, 3}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[0], {{&grpc_static_metadata_refcounts[61], {{g_bytes + 641, 13}}},
.data.refcounted = {g_bytes + 0, 5}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[45], {{&grpc_static_metadata_refcounts[62], {{g_bytes + 654, 19}}},
.data.refcounted = {g_bytes + 505, 1}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[0], {{&grpc_static_metadata_refcounts[15], {{g_bytes + 170, 16}}},
.data.refcounted = {g_bytes + 0, 5}}, {&grpc_static_metadata_refcounts[32], {{g_bytes + 433, 8}}}},
{.refcount = &grpc_static_metadata_refcounts[46], {{&grpc_static_metadata_refcounts[15], {{g_bytes + 170, 16}}},
.data.refcounted = {g_bytes + 506, 11}}}, {&grpc_static_metadata_refcounts[33], {{g_bytes + 441, 4}}}},
{{.refcount = &grpc_static_metadata_refcounts[2], {{&grpc_static_metadata_refcounts[15], {{g_bytes + 170, 16}}},
.data.refcounted = {g_bytes + 12, 7}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[47], {{&grpc_static_metadata_refcounts[63], {{g_bytes + 673, 16}}},
.data.refcounted = {g_bytes + 517, 3}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[2], {{&grpc_static_metadata_refcounts[64], {{g_bytes + 689, 14}}},
.data.refcounted = {g_bytes + 12, 7}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[48], {{&grpc_static_metadata_refcounts[65], {{g_bytes + 703, 16}}},
.data.refcounted = {g_bytes + 520, 3}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[2], {{&grpc_static_metadata_refcounts[66], {{g_bytes + 719, 13}}},
.data.refcounted = {g_bytes + 12, 7}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[49], {{&grpc_static_metadata_refcounts[14], {{g_bytes + 158, 12}}},
.data.refcounted = {g_bytes + 523, 3}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[2], {{&grpc_static_metadata_refcounts[67], {{g_bytes + 732, 6}}},
.data.refcounted = {g_bytes + 12, 7}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[50], {{&grpc_static_metadata_refcounts[68], {{g_bytes + 738, 4}}},
.data.refcounted = {g_bytes + 526, 3}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[2], {{&grpc_static_metadata_refcounts[69], {{g_bytes + 742, 4}}},
.data.refcounted = {g_bytes + 12, 7}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[51], {{&grpc_static_metadata_refcounts[70], {{g_bytes + 746, 6}}},
.data.refcounted = {g_bytes + 529, 3}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[52], {{&grpc_static_metadata_refcounts[71], {{g_bytes + 752, 7}}},
.data.refcounted = {g_bytes + 532, 14}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[72], {{g_bytes + 759, 4}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[16], {{&grpc_static_metadata_refcounts[20], {{g_bytes + 278, 4}}},
.data.refcounted = {g_bytes + 186, 15}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[73], {{g_bytes + 763, 8}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[16], {{&grpc_static_metadata_refcounts[74], {{g_bytes + 771, 17}}},
.data.refcounted = {g_bytes + 186, 15}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[53], {{&grpc_static_metadata_refcounts[75], {{g_bytes + 788, 13}}},
.data.refcounted = {g_bytes + 546, 13}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[54], {{&grpc_static_metadata_refcounts[76], {{g_bytes + 801, 8}}},
.data.refcounted = {g_bytes + 559, 15}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[77], {{g_bytes + 809, 19}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[55], {{&grpc_static_metadata_refcounts[78], {{g_bytes + 828, 13}}},
.data.refcounted = {g_bytes + 574, 13}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[21], {{g_bytes + 282, 8}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[56], {{&grpc_static_metadata_refcounts[79], {{g_bytes + 841, 11}}},
.data.refcounted = {g_bytes + 587, 6}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[80], {{g_bytes + 852, 4}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[57], {{&grpc_static_metadata_refcounts[81], {{g_bytes + 856, 8}}},
.data.refcounted = {g_bytes + 593, 27}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[82], {{g_bytes + 864, 12}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[58], {{&grpc_static_metadata_refcounts[83], {{g_bytes + 876, 18}}},
.data.refcounted = {g_bytes + 620, 3}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[84], {{g_bytes + 894, 19}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[59], {{&grpc_static_metadata_refcounts[85], {{g_bytes + 913, 5}}},
.data.refcounted = {g_bytes + 623, 5}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[86], {{g_bytes + 918, 7}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[60], {{&grpc_static_metadata_refcounts[87], {{g_bytes + 925, 7}}},
.data.refcounted = {g_bytes + 628, 13}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[88], {{g_bytes + 932, 11}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[61], {{&grpc_static_metadata_refcounts[89], {{g_bytes + 943, 6}}},
.data.refcounted = {g_bytes + 641, 13}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[90], {{g_bytes + 949, 10}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[62], {{&grpc_static_metadata_refcounts[91], {{g_bytes + 959, 25}}},
.data.refcounted = {g_bytes + 654, 19}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[92], {{g_bytes + 984, 17}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[15], {{&grpc_static_metadata_refcounts[19], {{g_bytes + 268, 10}}},
.data.refcounted = {g_bytes + 170, 16}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[32], {{&grpc_static_metadata_refcounts[93], {{g_bytes + 1001, 4}}},
.data.refcounted = {g_bytes + 433, 8}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[15], {{&grpc_static_metadata_refcounts[94], {{g_bytes + 1005, 3}}},
.data.refcounted = {g_bytes + 170, 16}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{.refcount = &grpc_static_metadata_refcounts[33], {{&grpc_static_metadata_refcounts[95], {{g_bytes + 1008, 16}}},
.data.refcounted = {g_bytes + 441, 4}}}, {&grpc_static_metadata_refcounts[23], {{g_bytes + 302, 0}}}},
{{.refcount = &grpc_static_metadata_refcounts[15], {{&grpc_static_metadata_refcounts[10], {{g_bytes + 90, 20}}},
.data.refcounted = {g_bytes + 170, 16}}, {&grpc_static_metadata_refcounts[32], {{g_bytes + 433, 8}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[10], {{g_bytes + 90, 20}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[34], {{g_bytes + 445, 7}}}},
{{.refcount = &grpc_static_metadata_refcounts[63], {{&grpc_static_metadata_refcounts[10], {{g_bytes + 90, 20}}},
.data.refcounted = {g_bytes + 673, 16}}, {&grpc_static_metadata_refcounts[96], {{g_bytes + 1024, 16}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[10], {{g_bytes + 90, 20}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[33], {{g_bytes + 441, 4}}}},
{{.refcount = &grpc_static_metadata_refcounts[64], {{&grpc_static_metadata_refcounts[10], {{g_bytes + 90, 20}}},
.data.refcounted = {g_bytes + 689, 14}}, {&grpc_static_metadata_refcounts[97], {{g_bytes + 1040, 13}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[10], {{g_bytes + 90, 20}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[98], {{g_bytes + 1053, 12}}}},
{{.refcount = &grpc_static_metadata_refcounts[65], {{&grpc_static_metadata_refcounts[10], {{g_bytes + 90, 20}}},
.data.refcounted = {g_bytes + 703, 16}}, {&grpc_static_metadata_refcounts[99], {{g_bytes + 1065, 21}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[16], {{g_bytes + 186, 15}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[32], {{g_bytes + 433, 8}}}},
{{.refcount = &grpc_static_metadata_refcounts[66], {{&grpc_static_metadata_refcounts[16], {{g_bytes + 186, 15}}},
.data.refcounted = {g_bytes + 719, 13}}, {&grpc_static_metadata_refcounts[33], {{g_bytes + 441, 4}}}},
{.refcount = &grpc_static_metadata_refcounts[23], {{&grpc_static_metadata_refcounts[16], {{g_bytes + 186, 15}}},
.data.refcounted = {g_bytes + 302, 0}}}, {&grpc_static_metadata_refcounts[97], {{g_bytes + 1040, 13}}}},
{{.refcount = &grpc_static_metadata_refcounts[14],
.data.refcounted = {g_bytes + 158, 12}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[67],
.data.refcounted = {g_bytes + 732, 6}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[68],
.data.refcounted = {g_bytes + 738, 4}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[69],
.data.refcounted = {g_bytes + 742, 4}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[70],
.data.refcounted = {g_bytes + 746, 6}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[71],
.data.refcounted = {g_bytes + 752, 7}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[72],
.data.refcounted = {g_bytes + 759, 4}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[20],
.data.refcounted = {g_bytes + 278, 4}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[73],
.data.refcounted = {g_bytes + 763, 8}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[74],
.data.refcounted = {g_bytes + 771, 17}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[75],
.data.refcounted = {g_bytes + 788, 13}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[76],
.data.refcounted = {g_bytes + 801, 8}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[77],
.data.refcounted = {g_bytes + 809, 19}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[78],
.data.refcounted = {g_bytes + 828, 13}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[21],
.data.refcounted = {g_bytes + 282, 8}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[79],
.data.refcounted = {g_bytes + 841, 11}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[80],
.data.refcounted = {g_bytes + 852, 4}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[81],
.data.refcounted = {g_bytes + 856, 8}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[82],
.data.refcounted = {g_bytes + 864, 12}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[83],
.data.refcounted = {g_bytes + 876, 18}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[84],
.data.refcounted = {g_bytes + 894, 19}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[85],
.data.refcounted = {g_bytes + 913, 5}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[86],
.data.refcounted = {g_bytes + 918, 7}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[87],
.data.refcounted = {g_bytes + 925, 7}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[88],
.data.refcounted = {g_bytes + 932, 11}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[89],
.data.refcounted = {g_bytes + 943, 6}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[90],
.data.refcounted = {g_bytes + 949, 10}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[91],
.data.refcounted = {g_bytes + 959, 25}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[92],
.data.refcounted = {g_bytes + 984, 17}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[19],
.data.refcounted = {g_bytes + 268, 10}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[93],
.data.refcounted = {g_bytes + 1001, 4}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[94],
.data.refcounted = {g_bytes + 1005, 3}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[95],
.data.refcounted = {g_bytes + 1008, 16}},
{.refcount = &grpc_static_metadata_refcounts[23],
.data.refcounted = {g_bytes + 302, 0}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[32],
.data.refcounted = {g_bytes + 433, 8}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[34],
.data.refcounted = {g_bytes + 445, 7}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[96],
.data.refcounted = {g_bytes + 1024, 16}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[33],
.data.refcounted = {g_bytes + 441, 4}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[97],
.data.refcounted = {g_bytes + 1040, 13}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[98],
.data.refcounted = {g_bytes + 1053, 12}}},
{{.refcount = &grpc_static_metadata_refcounts[10],
.data.refcounted = {g_bytes + 90, 20}},
{.refcount = &grpc_static_metadata_refcounts[99],
.data.refcounted = {g_bytes + 1065, 21}}},
{{.refcount = &grpc_static_metadata_refcounts[16],
.data.refcounted = {g_bytes + 186, 15}},
{.refcount = &grpc_static_metadata_refcounts[32],
.data.refcounted = {g_bytes + 433, 8}}},
{{.refcount = &grpc_static_metadata_refcounts[16],
.data.refcounted = {g_bytes + 186, 15}},
{.refcount = &grpc_static_metadata_refcounts[33],
.data.refcounted = {g_bytes + 441, 4}}},
{{.refcount = &grpc_static_metadata_refcounts[16],
.data.refcounted = {g_bytes + 186, 15}},
{.refcount = &grpc_static_metadata_refcounts[97],
.data.refcounted = {g_bytes + 1040, 13}}},
}; };
bool grpc_static_callout_is_default[GRPC_BATCH_CALLOUTS_COUNT] = { bool grpc_static_callout_is_default[GRPC_BATCH_CALLOUTS_COUNT] = {
true, // :path true, // :path

@ -18,7 +18,7 @@
#include "src/core/lib/transport/status_conversion.h" #include "src/core/lib/transport/status_conversion.h"
int grpc_status_to_http2_error(grpc_status_code status) { grpc_http2_error_code grpc_status_to_http2_error(grpc_status_code status) {
switch (status) { switch (status) {
case GRPC_STATUS_OK: case GRPC_STATUS_OK:
return GRPC_HTTP2_NO_ERROR; return GRPC_HTTP2_NO_ERROR;

@ -102,9 +102,11 @@ static void slice_stream_unref(grpc_exec_ctx *exec_ctx, void *p) {
grpc_slice grpc_slice_from_stream_owned_buffer(grpc_stream_refcount *refcount, grpc_slice grpc_slice_from_stream_owned_buffer(grpc_stream_refcount *refcount,
void *buffer, size_t length) { void *buffer, size_t length) {
slice_stream_ref(&refcount->slice_refcount); slice_stream_ref(&refcount->slice_refcount);
return (grpc_slice){ grpc_slice res;
.refcount = &refcount->slice_refcount, res.refcount = &refcount->slice_refcount,
.data.refcounted = {.bytes = (uint8_t *)buffer, .length = length}}; res.data.refcounted.bytes = (uint8_t *)buffer;
res.data.refcounted.length = length;
return res;
} }
static const grpc_slice_refcount_vtable stream_ref_slice_vtable = { static const grpc_slice_refcount_vtable stream_ref_slice_vtable = {

@ -370,8 +370,8 @@ for i, elem in enumerate(all_strs):
def slice_def(i): def slice_def(i):
return ('{.refcount = &grpc_static_metadata_refcounts[%d], .data.refcounted =' return ('{&grpc_static_metadata_refcounts[%d],'
' {g_bytes+%d, %d}}') % ( ' {{g_bytes+%d, %d}}}') % (
i, id2strofs[i], len(all_strs[i])) i, id2strofs[i], len(all_strs[i]))

Loading…
Cancel
Save