From c0fa4da234d06eb33857569fd36b9d353d66fe3e Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 11 May 2017 16:27:08 -0700 Subject: [PATCH 001/180] Fix run_tests for non-C/C++ --- tools/run_tests/run_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 83a83948a57..a0782d68ba7 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -1457,7 +1457,7 @@ def _build_and_run( suite_name=args.report_suite_name) return [] - if not args.travis and not _has_epollexclusive() and 'epollex' in _POLLING_STRATEGIES[platform_string()]: + if 'epollex' in _POLLING_STRATEGIES[platform_string()] and not args.travis and not _has_epollexclusive(): print('\n\nOmitting EPOLLEXCLUSIVE tests\n\n') _POLLING_STRATEGIES[platform_string()].remove('epollex') From 909a984a9248a7ccfc6aadb750dcf9e689b208bd Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 11 May 2017 16:32:58 -0700 Subject: [PATCH 002/180] A few tweaks for EPOLLEXCLUSIVE checks in gRPC --- tools/run_tests/run_tests.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index a0782d68ba7..0f88e18e413 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -1433,8 +1433,11 @@ class BuildAndRunError(object): def _has_epollexclusive(): + binary = 'bins/%s/check_epollexclusive' % args.config + if not os.path.exists(binary): + return False try: - subprocess.check_call('bins/%s/check_epollexclusive' % args.config) + subprocess.check_call(binary) return True except subprocess.CalledProcessError, e: return False From dc3998e7103a0f5e325787da3ab0a32ec402468e Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 12 May 2017 09:55:30 -0700 Subject: [PATCH 003/180] Converting code --- .../client_channel/channel_connectivity.c | 3 +- .../ext/filters/client_channel/subchannel.c | 3 +- .../transport/chttp2/server/chttp2_server.c | 4 +- .../chttp2/transport/chttp2_transport.c | 112 +++++++---------- .../transport/chttp2/transport/frame_ping.c | 14 +-- .../ext/transport/chttp2/transport/internal.h | 12 +- .../ext/transport/chttp2/transport/writing.c | 27 ++--- src/core/lib/channel/handshaker.c | 6 +- src/core/lib/channel/handshaker.h | 2 +- src/core/lib/http/httpcli.c | 13 +- src/core/lib/http/httpcli.h | 12 +- .../lib/http/httpcli_security_connector.c | 2 +- src/core/lib/iomgr/ev_poll_posix.c | 37 +++--- src/core/lib/iomgr/ev_posix.c | 6 +- src/core/lib/iomgr/ev_posix.h | 4 +- src/core/lib/iomgr/exec_ctx.c | 35 +++++- src/core/lib/iomgr/exec_ctx.h | 23 +++- src/core/lib/iomgr/iomgr.c | 8 +- src/core/lib/iomgr/pollset.h | 4 +- src/core/lib/iomgr/tcp_client.h | 2 +- src/core/lib/iomgr/tcp_client_posix.c | 10 +- src/core/lib/iomgr/timer.h | 8 +- src/core/lib/iomgr/timer_generic.c | 114 +++++------------- src/core/lib/iomgr/timer_manager.c | 17 ++- .../google_default_credentials.c | 7 +- .../security/credentials/jwt/jwt_verifier.c | 12 +- .../security/credentials/jwt/jwt_verifier.h | 2 +- .../credentials/oauth2/oauth2_credentials.c | 30 ++--- .../credentials/oauth2/oauth2_credentials.h | 6 +- src/core/lib/surface/alarm.c | 4 +- src/core/lib/surface/completion_queue.c | 45 ++++--- .../end2end/fixtures/http_proxy_fixture.c | 10 +- test/core/iomgr/endpoint_tests.c | 14 +-- test/core/security/oauth2_utils.c | 3 +- test/core/util/port_server_client.c | 14 +-- 35 files changed, 280 insertions(+), 345 deletions(-) diff --git a/src/core/ext/filters/client_channel/channel_connectivity.c b/src/core/ext/filters/client_channel/channel_connectivity.c index f83670db82e..4ccbd5c13d3 100644 --- a/src/core/ext/filters/client_channel/channel_connectivity.c +++ b/src/core/ext/filters/client_channel/channel_connectivity.c @@ -210,8 +210,7 @@ void grpc_channel_watch_connectivity_state( w->channel = channel; grpc_timer_init(&exec_ctx, &w->alarm, - gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC), - &w->on_timeout, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timespec_to_millis(&exec_ctx, deadline), &w->on_timeout); if (client_channel_elem->filter == &grpc_client_channel_filter) { GRPC_CHANNEL_INTERNAL_REF(channel, "watch_channel_connectivity"); diff --git a/src/core/ext/filters/client_channel/subchannel.c b/src/core/ext/filters/client_channel/subchannel.c index 1af3393a62c..ddc24f7c713 100644 --- a/src/core/ext/filters/client_channel/subchannel.c +++ b/src/core/ext/filters/client_channel/subchannel.c @@ -131,7 +131,7 @@ struct grpc_subchannel { external_state_watcher root_external_state_watcher; /** next connect attempt time */ - gpr_timespec next_attempt; + grpc_millis next_attempt; /** backoff state */ gpr_backoff backoff_state; /** do we have an active alarm? */ @@ -486,7 +486,6 @@ static void maybe_start_connecting_locked(grpc_exec_ctx *exec_ctx, c->connecting = true; GRPC_SUBCHANNEL_WEAK_REF(c, "connecting"); - gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); if (!c->backoff_begun) { c->backoff_begun = true; c->next_attempt = gpr_backoff_begin(&c->backoff_state, now); diff --git a/src/core/ext/transport/chttp2/server/chttp2_server.c b/src/core/ext/transport/chttp2/server/chttp2_server.c index b9c62c376a1..a888dc02646 100644 --- a/src/core/ext/transport/chttp2/server/chttp2_server.c +++ b/src/core/ext/transport/chttp2/server/chttp2_server.c @@ -146,8 +146,8 @@ static void on_accept(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *tcp, connection_state->handshake_mgr); // TODO(roth): We should really get this timeout value from channel // args instead of hard-coding it. - const gpr_timespec deadline = gpr_time_add( - gpr_now(GPR_CLOCK_MONOTONIC), gpr_time_from_seconds(120, GPR_TIMESPAN)); + const grpc_millis deadline = + grpc_exec_ctx_now(exec_ctx) + 120 * GPR_MS_PER_SEC; grpc_handshake_manager_do_handshake(exec_ctx, connection_state->handshake_mgr, tcp, state->args, deadline, acceptor, on_handshake_done, connection_state); diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index fb8ceaecb06..eaf880708f9 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -370,36 +370,27 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, t->ping_policy = (grpc_chttp2_repeated_ping_policy){ .max_pings_without_data = DEFAULT_MAX_PINGS_BETWEEN_DATA, - .min_time_between_pings = - gpr_time_from_millis(DEFAULT_MIN_TIME_BETWEEN_PINGS_MS, GPR_TIMESPAN), + .min_time_between_pings = DEFAULT_MIN_TIME_BETWEEN_PINGS_MS, .max_ping_strikes = DEFAULT_MAX_PING_STRIKES, - .min_ping_interval_without_data = gpr_time_from_millis( - DEFAULT_MIN_PING_INTERVAL_WITHOUT_DATA_MS, GPR_TIMESPAN), + .min_ping_interval_without_data = + DEFAULT_MIN_PING_INTERVAL_WITHOUT_DATA_MS, }; /* Keepalive setting */ if (t->is_client) { - t->keepalive_time = - g_default_client_keepalive_time_ms == INT_MAX - ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis(g_default_client_keepalive_time_ms, - GPR_TIMESPAN); - t->keepalive_timeout = - g_default_client_keepalive_timeout_ms == INT_MAX - ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis(g_default_client_keepalive_timeout_ms, - GPR_TIMESPAN); + t->keepalive_time = g_default_client_keepalive_time_ms == INT_MAX + ? GRPC_MILLIS_INF_FUTURE + : g_default_client_keepalive_time_ms; + t->keepalive_timeout = g_default_client_keepalive_timeout_ms == INT_MAX + ? GRPC_MILLIS_INF_FUTURE + : g_default_client_keepalive_timeout_ms; } else { - t->keepalive_time = - g_default_server_keepalive_time_ms == INT_MAX - ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis(g_default_server_keepalive_time_ms, - GPR_TIMESPAN); - t->keepalive_timeout = - g_default_server_keepalive_timeout_ms == INT_MAX - ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis(g_default_server_keepalive_timeout_ms, - GPR_TIMESPAN); + t->keepalive_time = g_default_server_keepalive_time_ms == INT_MAX + ? GRPC_MILLIS_INF_FUTURE + : g_default_server_keepalive_time_ms; + t->keepalive_timeout = g_default_server_keepalive_timeout_ms == INT_MAX + ? GRPC_MILLIS_INF_FUTURE + : g_default_server_keepalive_timeout_ms; } t->keepalive_permit_without_calls = g_default_keepalive_permit_without_calls; @@ -440,21 +431,18 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, (grpc_integer_options){DEFAULT_MAX_PING_STRIKES, 0, INT_MAX}); } else if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_HTTP2_MIN_TIME_BETWEEN_PINGS_MS)) { - t->ping_policy.min_time_between_pings = gpr_time_from_millis( - grpc_channel_arg_get_integer( - &channel_args->args[i], - (grpc_integer_options){DEFAULT_MIN_TIME_BETWEEN_PINGS_MS, 0, - INT_MAX}), - GPR_TIMESPAN); + t->ping_policy.min_time_between_pings = grpc_channel_arg_get_integer( + &channel_args->args[i], + (grpc_integer_options){DEFAULT_MIN_TIME_BETWEEN_PINGS_MS, 0, + INT_MAX}); } else if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_HTTP2_MIN_PING_INTERVAL_WITHOUT_DATA_MS)) { - t->ping_policy.min_ping_interval_without_data = gpr_time_from_millis( + t->ping_policy.min_ping_interval_without_data = grpc_channel_arg_get_integer( &channel_args->args[i], (grpc_integer_options){ - DEFAULT_MIN_PING_INTERVAL_WITHOUT_DATA_MS, 0, INT_MAX}), - GPR_TIMESPAN); + DEFAULT_MIN_PING_INTERVAL_WITHOUT_DATA_MS, 0, INT_MAX}); } else if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_HTTP2_WRITE_BUFFER_SIZE)) { t->write_buffer_size = (uint32_t)grpc_channel_arg_get_integer( @@ -472,9 +460,7 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, ? g_default_client_keepalive_time_ms : g_default_server_keepalive_time_ms, 1, INT_MAX}); - t->keepalive_time = value == INT_MAX - ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis(value, GPR_TIMESPAN); + t->keepalive_time = value == INT_MAX ? GRPC_MILLIS_INF_FUTURE : value; } else if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_KEEPALIVE_TIMEOUT_MS)) { const int value = grpc_channel_arg_get_integer( @@ -483,9 +469,8 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, ? g_default_client_keepalive_timeout_ms : g_default_server_keepalive_timeout_ms, 0, INT_MAX}); - t->keepalive_timeout = value == INT_MAX - ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis(value, GPR_TIMESPAN); + t->keepalive_timeout = + value == INT_MAX ? GRPC_MILLIS_INF_FUTURE : value; } else if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS)) { t->keepalive_permit_without_calls = @@ -548,17 +533,16 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, t->ping_policy.max_pings_without_data; t->ping_state.is_delayed_ping_timer_set = false; - t->ping_recv_state.last_ping_recv_time = gpr_inf_past(GPR_CLOCK_MONOTONIC); + t->ping_recv_state.last_ping_recv_time = 0; t->ping_recv_state.ping_strikes = 0; /* Start keepalive pings */ - if (gpr_time_cmp(t->keepalive_time, gpr_inf_future(GPR_TIMESPAN)) != 0) { + if (t->keepalive_time != GRPC_MILLIS_INF_FUTURE) { t->keepalive_state = GRPC_CHTTP2_KEEPALIVE_STATE_WAITING; GRPC_CHTTP2_REF_TRANSPORT(t, "init keepalive ping"); - grpc_timer_init( - exec_ctx, &t->keepalive_ping_timer, - gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), t->keepalive_time), - &t->init_keepalive_ping_locked, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timer_init(exec_ctx, &t->keepalive_ping_timer, + grpc_exec_ctx_now(exec_ctx) + t->keepalive_time, + &t->init_keepalive_ping_locked); } else { /* Use GRPC_CHTTP2_KEEPALIVE_STATE_DISABLED to indicate there are no inflight keeaplive timers */ @@ -1005,14 +989,12 @@ void grpc_chttp2_add_incoming_goaway(grpc_exec_ctx *exec_ctx, gpr_log(GPR_ERROR, "Received a GOAWAY with error code ENHANCE_YOUR_CALM and debug " "data equal to \"too_many_pings\""); - double current_keepalive_time_ms = - gpr_timespec_to_micros(t->keepalive_time) / 1000; + double current_keepalive_time_ms = (double)t->keepalive_time; t->keepalive_time = current_keepalive_time_ms > INT_MAX / KEEPALIVE_TIME_BACKOFF_MULTIPLIER - ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis((int64_t)(current_keepalive_time_ms * - KEEPALIVE_TIME_BACKOFF_MULTIPLIER), - GPR_TIMESPAN); + ? GRPC_MILLIS_INF_FUTURE + : (grpc_millis)(current_keepalive_time_ms * + KEEPALIVE_TIME_BACKOFF_MULTIPLIER); } /* lie: use transient failure from the transport to indicate goaway has been @@ -2391,18 +2373,16 @@ static void init_keepalive_ping_locked(grpc_exec_ctx *exec_ctx, void *arg, &t->finish_keepalive_ping_locked); } else { GRPC_CHTTP2_REF_TRANSPORT(t, "init keepalive ping"); - grpc_timer_init( - exec_ctx, &t->keepalive_ping_timer, - gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), t->keepalive_time), - &t->init_keepalive_ping_locked, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timer_init(exec_ctx, &t->keepalive_ping_timer, + grpc_exec_ctx_now(exec_ctx) + t->keepalive_time, + &t->init_keepalive_ping_locked); } } else if (error == GRPC_ERROR_CANCELLED) { /* The keepalive ping timer may be cancelled by bdp */ GRPC_CHTTP2_REF_TRANSPORT(t, "init keepalive ping"); - grpc_timer_init( - exec_ctx, &t->keepalive_ping_timer, - gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), t->keepalive_time), - &t->init_keepalive_ping_locked, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timer_init(exec_ctx, &t->keepalive_ping_timer, + grpc_exec_ctx_now(exec_ctx) + t->keepalive_time, + &t->init_keepalive_ping_locked); } GRPC_CHTTP2_UNREF_TRANSPORT(exec_ctx, t, "init keepalive ping"); } @@ -2411,10 +2391,9 @@ static void start_keepalive_ping_locked(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { grpc_chttp2_transport *t = arg; GRPC_CHTTP2_REF_TRANSPORT(t, "keepalive watchdog"); - grpc_timer_init( - exec_ctx, &t->keepalive_watchdog_timer, - gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), t->keepalive_timeout), - &t->keepalive_watchdog_fired_locked, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timer_init(exec_ctx, &t->keepalive_watchdog_timer, + grpc_exec_ctx_now(exec_ctx) + t->keepalive_time, + &t->keepalive_watchdog_fired_locked); } static void finish_keepalive_ping_locked(grpc_exec_ctx *exec_ctx, void *arg, @@ -2425,10 +2404,9 @@ static void finish_keepalive_ping_locked(grpc_exec_ctx *exec_ctx, void *arg, t->keepalive_state = GRPC_CHTTP2_KEEPALIVE_STATE_WAITING; grpc_timer_cancel(exec_ctx, &t->keepalive_watchdog_timer); GRPC_CHTTP2_REF_TRANSPORT(t, "init keepalive ping"); - grpc_timer_init( - exec_ctx, &t->keepalive_ping_timer, - gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), t->keepalive_time), - &t->init_keepalive_ping_locked, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timer_init(exec_ctx, &t->keepalive_ping_timer, + grpc_exec_ctx_now(exec_ctx) + t->keepalive_time, + &t->init_keepalive_ping_locked); } } GRPC_CHTTP2_UNREF_TRANSPORT(exec_ctx, t, "keepalive ping end"); diff --git a/src/core/ext/transport/chttp2/transport/frame_ping.c b/src/core/ext/transport/chttp2/transport/frame_ping.c index f09ca607397..41337749865 100644 --- a/src/core/ext/transport/chttp2/transport/frame_ping.c +++ b/src/core/ext/transport/chttp2/transport/frame_ping.c @@ -104,10 +104,9 @@ grpc_error *grpc_chttp2_ping_parser_parse(grpc_exec_ctx *exec_ctx, void *parser, grpc_chttp2_ack_ping(exec_ctx, t, p->opaque_8bytes); } else { if (!t->is_client) { - gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); - gpr_timespec next_allowed_ping = - gpr_time_add(t->ping_recv_state.last_ping_recv_time, - t->ping_policy.min_ping_interval_without_data); + grpc_millis next_allowed_ping = + t->ping_recv_state.last_ping_recv_time + + t->ping_policy.min_ping_interval_without_data; if (t->keepalive_permit_without_calls == 0 && grpc_chttp2_stream_map_size(&t->stream_map) == 0) { @@ -115,15 +114,14 @@ grpc_error *grpc_chttp2_ping_parser_parse(grpc_exec_ctx *exec_ctx, void *parser, no less than two hours. When there is no outstanding streams, we restrict the number of PINGS equivalent to TCP Keep-Alive. */ next_allowed_ping = - gpr_time_add(t->ping_recv_state.last_ping_recv_time, - gpr_time_from_seconds(7200, GPR_TIMESPAN)); + t->ping_recv_state.last_ping_recv_time + 7200 * GPR_MS_PER_SEC; } - if (gpr_time_cmp(next_allowed_ping, now) > 0) { + if (next_allowed_ping > grpc_exec_ctx_now(exec_ctx)) { grpc_chttp2_add_ping_strike(exec_ctx, t); } - t->ping_recv_state.last_ping_recv_time = now; + t->ping_recv_state.last_ping_recv_time = grpc_exec_ctx_now(exec_ctx); } if (!g_disable_ping_ack) { if (t->ping_ack_count == t->ping_ack_capacity) { diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h index 8d66e396ee8..9eed73cd717 100644 --- a/src/core/ext/transport/chttp2/transport/internal.h +++ b/src/core/ext/transport/chttp2/transport/internal.h @@ -95,21 +95,21 @@ typedef struct { } grpc_chttp2_ping_queue; typedef struct { - gpr_timespec min_time_between_pings; + grpc_millis min_time_between_pings; int max_pings_without_data; int max_ping_strikes; - gpr_timespec min_ping_interval_without_data; + grpc_millis min_ping_interval_without_data; } grpc_chttp2_repeated_ping_policy; typedef struct { - gpr_timespec last_ping_sent_time; + grpc_millis last_ping_sent_time; int pings_before_data_required; grpc_timer delayed_ping_timer; bool is_delayed_ping_timer_set; } grpc_chttp2_repeated_ping_state; typedef struct { - gpr_timespec last_ping_recv_time; + grpc_millis last_ping_recv_time; int ping_strikes; } grpc_chttp2_server_ping_recv_state; @@ -414,9 +414,9 @@ struct grpc_chttp2_transport { /** watchdog to kill the transport when waiting for the keepalive ping */ grpc_timer keepalive_watchdog_timer; /** time duration in between pings */ - gpr_timespec keepalive_time; + grpc_millis keepalive_time; /** grace period for a ping to complete before watchdog kicks in */ - gpr_timespec keepalive_timeout; + grpc_millis keepalive_timeout; /** if keepalive pings are allowed when there's no outstanding streams */ bool keepalive_permit_without_calls; /** keep-alive state machine state */ diff --git a/src/core/ext/transport/chttp2/transport/writing.c b/src/core/ext/transport/chttp2/transport/writing.c index 5be1092946a..1ab94ca54f5 100644 --- a/src/core/ext/transport/chttp2/transport/writing.c +++ b/src/core/ext/transport/chttp2/transport/writing.c @@ -91,12 +91,12 @@ static void maybe_initiate_ping(grpc_exec_ctx *exec_ctx, } return; } - gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); - gpr_timespec elapsed = gpr_time_sub(now, t->ping_state.last_ping_sent_time); + grpc_millis elapsed = + grpc_exec_ctx_now(exec_ctx) - t->ping_state.last_ping_sent_time; /*gpr_log(GPR_DEBUG, "elapsed:%d.%09d min:%d.%09d", (int)elapsed.tv_sec, elapsed.tv_nsec, (int)t->ping_policy.min_time_between_pings.tv_sec, (int)t->ping_policy.min_time_between_pings.tv_nsec);*/ - if (gpr_time_cmp(elapsed, t->ping_policy.min_time_between_pings) < 0) { + if (elapsed < t->ping_policy.min_time_between_pings) { /* not enough elapsed time between successive pings */ if (GRPC_TRACER_ON(grpc_http_trace) || GRPC_TRACER_ON(grpc_bdp_estimator_trace)) { @@ -107,10 +107,9 @@ static void maybe_initiate_ping(grpc_exec_ctx *exec_ctx, if (!t->ping_state.is_delayed_ping_timer_set) { t->ping_state.is_delayed_ping_timer_set = true; grpc_timer_init(exec_ctx, &t->ping_state.delayed_ping_timer, - gpr_time_add(t->ping_state.last_ping_sent_time, - t->ping_policy.min_time_between_pings), - &t->retry_initiate_ping_locked, - gpr_now(GPR_CLOCK_MONOTONIC)); + t->ping_state.last_ping_sent_time + + t->ping_policy.min_time_between_pings, + &t->retry_initiate_ping_locked); } return; } @@ -131,7 +130,7 @@ static void maybe_initiate_ping(grpc_exec_ctx *exec_ctx, &pq->lists[GRPC_CHTTP2_PCL_INFLIGHT]); grpc_slice_buffer_add(&t->outbuf, grpc_chttp2_ping_create(false, pq->inflight_id)); - t->ping_state.last_ping_sent_time = now; + t->ping_state.last_ping_sent_time = grpc_exec_ctx_now(exec_ctx); t->ping_state.pings_before_data_required -= (t->ping_state.pings_before_data_required != 0); } @@ -255,8 +254,7 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( t->ping_state.pings_before_data_required = t->ping_policy.max_pings_without_data; if (!t->is_client) { - t->ping_recv_state.last_ping_recv_time = - gpr_inf_past(GPR_CLOCK_MONOTONIC); + t->ping_recv_state.last_ping_recv_time = 0; t->ping_recv_state.ping_strikes = 0; } } @@ -269,8 +267,7 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( t->ping_state.pings_before_data_required = t->ping_policy.max_pings_without_data; if (!t->is_client) { - t->ping_recv_state.last_ping_recv_time = - gpr_inf_past(GPR_CLOCK_MONOTONIC); + t->ping_recv_state.last_ping_recv_time = 0; t->ping_recv_state.ping_strikes = 0; } GRPC_CHTTP2_FLOW_DEBIT_STREAM("write", t, s, announce_window, announce); @@ -306,8 +303,7 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( t->ping_state.pings_before_data_required = t->ping_policy.max_pings_without_data; if (!t->is_client) { - t->ping_recv_state.last_ping_recv_time = - gpr_inf_past(GPR_CLOCK_MONOTONIC); + t->ping_recv_state.last_ping_recv_time = 0; t->ping_recv_state.ping_strikes = 0; } if (is_last_frame) { @@ -396,8 +392,7 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( t->ping_state.pings_before_data_required = t->ping_policy.max_pings_without_data; if (!t->is_client) { - t->ping_recv_state.last_ping_recv_time = - gpr_inf_past(GPR_CLOCK_MONOTONIC); + t->ping_recv_state.last_ping_recv_time = 0; t->ping_recv_state.ping_strikes = 0; } } diff --git a/src/core/lib/channel/handshaker.c b/src/core/lib/channel/handshaker.c index 5861fa6f54c..ed05b26458a 100644 --- a/src/core/lib/channel/handshaker.c +++ b/src/core/lib/channel/handshaker.c @@ -246,7 +246,7 @@ static void on_timeout(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) { void grpc_handshake_manager_do_handshake( grpc_exec_ctx* exec_ctx, grpc_handshake_manager* mgr, grpc_endpoint* endpoint, const grpc_channel_args* channel_args, - gpr_timespec deadline, grpc_tcp_server_acceptor* acceptor, + grpc_millis deadline, grpc_tcp_server_acceptor* acceptor, grpc_iomgr_cb_func on_handshake_done, void* user_data) { gpr_mu_lock(&mgr->mu); GPR_ASSERT(mgr->index == 0); @@ -268,9 +268,7 @@ void grpc_handshake_manager_do_handshake( gpr_ref(&mgr->refs); grpc_closure_init(&mgr->on_timeout, on_timeout, mgr, grpc_schedule_on_exec_ctx); - grpc_timer_init(exec_ctx, &mgr->deadline_timer, - gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC), - &mgr->on_timeout, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timer_init(exec_ctx, &mgr->deadline_timer, deadline, &mgr->on_timeout); // Start first handshaker, which also owns a ref. gpr_ref(&mgr->refs); bool done = call_next_handshaker_locked(exec_ctx, mgr, GRPC_ERROR_NONE); diff --git a/src/core/lib/channel/handshaker.h b/src/core/lib/channel/handshaker.h index 5f97c3fc736..4abbbd0e7ba 100644 --- a/src/core/lib/channel/handshaker.h +++ b/src/core/lib/channel/handshaker.h @@ -160,7 +160,7 @@ void grpc_handshake_manager_shutdown(grpc_exec_ctx* exec_ctx, void grpc_handshake_manager_do_handshake( grpc_exec_ctx* exec_ctx, grpc_handshake_manager* mgr, grpc_endpoint* endpoint, const grpc_channel_args* channel_args, - gpr_timespec deadline, grpc_tcp_server_acceptor* acceptor, + grpc_millis deadline, grpc_tcp_server_acceptor* acceptor, grpc_iomgr_cb_func on_handshake_done, void* user_data); /// Add \a mgr to the server side list of all pending handshake managers, the diff --git a/src/core/lib/http/httpcli.c b/src/core/lib/http/httpcli.c index 0ac2c2ad52a..f1a3abd1e95 100644 --- a/src/core/lib/http/httpcli.c +++ b/src/core/lib/http/httpcli.c @@ -58,7 +58,7 @@ typedef struct { grpc_endpoint *ep; char *host; char *ssl_host_override; - gpr_timespec deadline; + grpc_millis deadline; int have_read_byte; const grpc_httpcli_handshaker *handshaker; grpc_closure *on_done; @@ -79,7 +79,7 @@ static grpc_httpcli_post_override g_post_override = NULL; static void plaintext_handshake(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *endpoint, const char *host, - gpr_timespec deadline, + grpc_millis deadline, void (*on_done)(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *endpoint)) { @@ -256,7 +256,7 @@ static void internal_request_begin(grpc_exec_ctx *exec_ctx, grpc_polling_entity *pollent, grpc_resource_quota *resource_quota, const grpc_httpcli_request *request, - gpr_timespec deadline, grpc_closure *on_done, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response, const char *name, grpc_slice request_text) { internal_request *req = gpr_malloc(sizeof(internal_request)); @@ -293,9 +293,8 @@ static void internal_request_begin(grpc_exec_ctx *exec_ctx, void grpc_httpcli_get(grpc_exec_ctx *exec_ctx, grpc_httpcli_context *context, grpc_polling_entity *pollent, grpc_resource_quota *resource_quota, - const grpc_httpcli_request *request, - gpr_timespec deadline, grpc_closure *on_done, - grpc_httpcli_response *response) { + const grpc_httpcli_request *request, grpc_millis deadline, + grpc_closure *on_done, grpc_httpcli_response *response) { char *name; if (g_get_override && g_get_override(exec_ctx, request, deadline, on_done, response)) { @@ -313,7 +312,7 @@ void grpc_httpcli_post(grpc_exec_ctx *exec_ctx, grpc_httpcli_context *context, grpc_resource_quota *resource_quota, const grpc_httpcli_request *request, const char *body_bytes, size_t body_size, - gpr_timespec deadline, grpc_closure *on_done, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { char *name; if (g_post_override && diff --git a/src/core/lib/http/httpcli.h b/src/core/lib/http/httpcli.h index 8ae03ee78f4..ad994fd811c 100644 --- a/src/core/lib/http/httpcli.h +++ b/src/core/lib/http/httpcli.h @@ -57,7 +57,7 @@ typedef struct grpc_httpcli_context { typedef struct { const char *default_port; void (*handshake)(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *endpoint, - const char *host, gpr_timespec deadline, + const char *host, grpc_millis deadline, void (*on_done)(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *endpoint)); } grpc_httpcli_handshaker; @@ -98,8 +98,8 @@ void grpc_httpcli_context_destroy(grpc_exec_ctx *exec_ctx, void grpc_httpcli_get(grpc_exec_ctx *exec_ctx, grpc_httpcli_context *context, grpc_polling_entity *pollent, grpc_resource_quota *resource_quota, - const grpc_httpcli_request *request, - gpr_timespec deadline, grpc_closure *on_complete, + const grpc_httpcli_request *request, grpc_millis deadline, + grpc_closure *on_complete, grpc_httpcli_response *response); /* Asynchronously perform a HTTP POST. @@ -121,18 +121,18 @@ void grpc_httpcli_post(grpc_exec_ctx *exec_ctx, grpc_httpcli_context *context, grpc_resource_quota *resource_quota, const grpc_httpcli_request *request, const char *body_bytes, size_t body_size, - gpr_timespec deadline, grpc_closure *on_complete, + grpc_millis deadline, grpc_closure *on_complete, grpc_httpcli_response *response); /* override functions return 1 if they handled the request, 0 otherwise */ typedef int (*grpc_httpcli_get_override)(grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - gpr_timespec deadline, + grpc_millis deadline, grpc_closure *on_complete, grpc_httpcli_response *response); typedef int (*grpc_httpcli_post_override)( grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - const char *body_bytes, size_t body_size, gpr_timespec deadline, + const char *body_bytes, size_t body_size, grpc_millis deadline, grpc_closure *on_complete, grpc_httpcli_response *response); void grpc_httpcli_set_override(grpc_httpcli_get_override get, diff --git a/src/core/lib/http/httpcli_security_connector.c b/src/core/lib/http/httpcli_security_connector.c index 76946434f06..fd25a8d3e07 100644 --- a/src/core/lib/http/httpcli_security_connector.c +++ b/src/core/lib/http/httpcli_security_connector.c @@ -167,7 +167,7 @@ static void on_handshake_done(grpc_exec_ctx *exec_ctx, void *arg, static void ssl_handshake(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *tcp, const char *host, - gpr_timespec deadline, + grpc_millis deadline, void (*on_done)(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *endpoint)) { grpc_channel_security_connector *sc = NULL; diff --git a/src/core/lib/iomgr/ev_poll_posix.c b/src/core/lib/iomgr/ev_poll_posix.c index 3a7648ac329..19a80ce2355 100644 --- a/src/core/lib/iomgr/ev_poll_posix.c +++ b/src/core/lib/iomgr/ev_poll_posix.c @@ -39,6 +39,7 @@ #include #include +#include #include #include #include @@ -215,8 +216,8 @@ static void pollset_set_add_fd(grpc_exec_ctx *exec_ctx, - longer than a millisecond polls are rounded up to the next nearest millisecond to avoid spinning - infinite timeouts are converted to -1 */ -static int poll_deadline_to_millis_timeout(gpr_timespec deadline, - gpr_timespec now); +static int poll_deadline_to_millis_timeout(grpc_exec_ctx *exec_ctx, + grpc_millis deadline); /* Allow kick to wakeup the currently polling worker */ #define GRPC_POLLSET_CAN_KICK_SELF 1 @@ -864,7 +865,7 @@ static void work_combine_error(grpc_error **composite, grpc_error *error) { static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker **worker_hdl, - gpr_timespec now, gpr_timespec deadline) { + grpc_millis deadline) { grpc_pollset_worker worker; if (worker_hdl) *worker_hdl = &worker; grpc_error *error = GRPC_ERROR_NONE; @@ -932,7 +933,7 @@ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_fd_watcher *watchers; struct pollfd *pfds; - timeout = poll_deadline_to_millis_timeout(deadline, now); + timeout = poll_deadline_to_millis_timeout(exec_ctx, deadline); if (pollset->fd_count + 2 <= inline_elements) { pfds = pollfd_space; @@ -1042,13 +1043,10 @@ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, if (queued_work || worker.kicked_specifically) { /* If there's queued work on the list, then set the deadline to be immediate so we get back out of the polling loop quickly */ - deadline = gpr_inf_past(GPR_CLOCK_MONOTONIC); + deadline = 0; } keep_polling = 1; } - if (keep_polling) { - now = gpr_now(now.clock_type); - } } gpr_tls_set(&g_current_thread_poller, 0); if (added_worker) { @@ -1100,21 +1098,14 @@ static void pollset_shutdown(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, } } -static int poll_deadline_to_millis_timeout(gpr_timespec deadline, - gpr_timespec now) { - gpr_timespec timeout; - static const int64_t max_spin_polling_us = 10; - if (gpr_time_cmp(deadline, gpr_inf_future(deadline.clock_type)) == 0) { - return -1; - } - if (gpr_time_cmp(deadline, gpr_time_add(now, gpr_time_from_micros( - max_spin_polling_us, - GPR_TIMESPAN))) <= 0) { - return 0; - } - timeout = gpr_time_sub(deadline, now); - return gpr_time_to_millis(gpr_time_add( - timeout, gpr_time_from_nanos(GPR_NS_PER_MS - 1, GPR_TIMESPAN))); +static int poll_deadline_to_millis_timeout(grpc_exec_ctx *exec_ctx, + grpc_millis deadline) { + if (deadline == GRPC_MILLIS_INF_FUTURE) return -1; + if (deadline == 0) return 0; + grpc_millis n = deadline - grpc_exec_ctx_now(exec_ctx); + if (n < 0) return 0; + if (n > INT_MAX) return -1; + return (int)n; } /******************************************************************************* diff --git a/src/core/lib/iomgr/ev_posix.c b/src/core/lib/iomgr/ev_posix.c index c4d2f23e291..e79cec640c2 100644 --- a/src/core/lib/iomgr/ev_posix.c +++ b/src/core/lib/iomgr/ev_posix.c @@ -218,9 +218,9 @@ void grpc_pollset_destroy(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset) { } grpc_error *grpc_pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - grpc_pollset_worker **worker, gpr_timespec now, - gpr_timespec deadline) { - return g_event_engine->pollset_work(exec_ctx, pollset, worker, now, deadline); + grpc_pollset_worker **worker, + grpc_millis deadline) { + return g_event_engine->pollset_work(exec_ctx, pollset, worker, deadline); } grpc_error *grpc_pollset_kick(grpc_pollset *pollset, diff --git a/src/core/lib/iomgr/ev_posix.h b/src/core/lib/iomgr/ev_posix.h index 80619aab5fc..e505e704123 100644 --- a/src/core/lib/iomgr/ev_posix.h +++ b/src/core/lib/iomgr/ev_posix.h @@ -69,8 +69,8 @@ typedef struct grpc_event_engine_vtable { grpc_closure *closure); void (*pollset_destroy)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset); grpc_error *(*pollset_work)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - grpc_pollset_worker **worker, gpr_timespec now, - gpr_timespec deadline); + grpc_pollset_worker **worker, + grpc_millis deadline); grpc_error *(*pollset_kick)(grpc_pollset *pollset, grpc_pollset_worker *specific_worker); void (*pollset_add_fd)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, diff --git a/src/core/lib/iomgr/exec_ctx.c b/src/core/lib/iomgr/exec_ctx.c index 318bb2b7133..3423379e8dc 100644 --- a/src/core/lib/iomgr/exec_ctx.c +++ b/src/core/lib/iomgr/exec_ctx.c @@ -113,9 +113,42 @@ static void exec_ctx_sched(grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_closure_list_append(&exec_ctx->closure_list, closure, error); } -void grpc_exec_ctx_global_init(void) {} +static gpr_timespec g_start_time; + +void grpc_exec_ctx_global_init(void) { + g_start_time = gpr_now(GPR_CLOCK_MONOTONIC); +} + void grpc_exec_ctx_global_shutdown(void) {} +static gpr_atm timespec_to_atm_round_down(gpr_timespec ts) { + ts = gpr_time_sub(ts, g_start_time); + double x = + GPR_MS_PER_SEC * (double)ts.tv_sec + (double)ts.tv_nsec / GPR_NS_PER_MS; + if (x < 0) return 0; + if (x > GPR_ATM_MAX) return GPR_ATM_MAX; + return (gpr_atm)x; +} + +grpc_millis grpc_exec_ctx_now(grpc_exec_ctx *exec_ctx) { + if (!exec_ctx->now_is_valid) { + exec_ctx->now = timespec_to_atm_round_down(gpr_now(GPR_CLOCK_MONOTONIC)); + exec_ctx->now_is_valid = true; + } + return exec_ctx->now; +} + +void grpc_exec_ctx_invalidate_now(grpc_exec_ctx *exec_ctx) { + exec_ctx->now_is_valid = false; +} + +gpr_timespec grpc_millis_to_timespec(grpc_exec_ctx *exec_ctx, + grpc_millis millis, + gpr_clock_type clock_type) { + return gpr_time_add(gpr_convert_clock_type(g_start_time, clock_type), + gpr_time_from_millis(millis, GPR_TIMESPAN)); +} + static const grpc_closure_scheduler_vtable exec_ctx_scheduler_vtable = { exec_ctx_run, exec_ctx_sched, "exec_ctx"}; static grpc_closure_scheduler exec_ctx_scheduler = {&exec_ctx_scheduler_vtable}; diff --git a/src/core/lib/iomgr/exec_ctx.h b/src/core/lib/iomgr/exec_ctx.h index 759a3ae2d56..26da4d0a731 100644 --- a/src/core/lib/iomgr/exec_ctx.h +++ b/src/core/lib/iomgr/exec_ctx.h @@ -34,9 +34,13 @@ #ifndef GRPC_CORE_LIB_IOMGR_EXEC_CTX_H #define GRPC_CORE_LIB_IOMGR_EXEC_CTX_H +#include + #include "src/core/lib/iomgr/closure.h" -/* #define GRPC_EXECUTION_CONTEXT_SANITIZER 1 */ +typedef gpr_atm grpc_millis; + +#define GRPC_MILLIS_INF_FUTURE GPR_ATM_MAX /** A workqueue represents a list of work to be executed asynchronously. Forward declared here to avoid a circular dependency with workqueue.h. */ @@ -79,12 +83,18 @@ struct grpc_exec_ctx { uintptr_t flags; void *check_ready_to_finish_arg; bool (*check_ready_to_finish)(grpc_exec_ctx *exec_ctx, void *arg); + + bool now_is_valid; + grpc_millis now; }; /* initializer for grpc_exec_ctx: prefer to use GRPC_EXEC_CTX_INIT whenever possible */ -#define GRPC_EXEC_CTX_INITIALIZER(flags, finish_check, finish_check_arg) \ - { GRPC_CLOSURE_LIST_INIT, NULL, NULL, flags, finish_check_arg, finish_check } +#define GRPC_EXEC_CTX_INITIALIZER(flags, finish_check, finish_check_arg) \ + { \ + GRPC_CLOSURE_LIST_INIT, NULL, NULL, flags, finish_check_arg, finish_check, \ + false, 0 \ + } /* initialize an execution context at the top level of an API call into grpc (this is safe to use elsewhere, though possibly not as efficient) */ @@ -116,4 +126,11 @@ void grpc_exec_ctx_global_init(void); void grpc_exec_ctx_global_init(void); void grpc_exec_ctx_global_shutdown(void); +grpc_millis grpc_exec_ctx_now(grpc_exec_ctx *exec_ctx); +void grpc_exec_ctx_invalidate_now(grpc_exec_ctx *exec_ctx); +gpr_timespec grpc_millis_to_timespec(grpc_exec_ctx *exec_ctx, + grpc_millis millis, gpr_clock_type clock); +grpc_millis grpc_timespec_to_millis(grpc_exec_ctx *exec_ctx, + gpr_timespec timespec); + #endif /* GRPC_CORE_LIB_IOMGR_EXEC_CTX_H */ diff --git a/src/core/lib/iomgr/iomgr.c b/src/core/lib/iomgr/iomgr.c index 1fd41c2f880..bdee4b3e523 100644 --- a/src/core/lib/iomgr/iomgr.c +++ b/src/core/lib/iomgr/iomgr.c @@ -61,7 +61,9 @@ void grpc_iomgr_init(void) { gpr_mu_init(&g_mu); gpr_cv_init(&g_rcv); grpc_exec_ctx_global_init(); - grpc_timer_list_init(gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + grpc_timer_list_init(&exec_ctx); + grpc_exec_ctx_finish(&exec_ctx); g_root_object.next = g_root_object.prev = &g_root_object; g_root_object.name = "root"; grpc_network_status_init(); @@ -107,7 +109,9 @@ void grpc_iomgr_shutdown(grpc_exec_ctx *exec_ctx) { } last_warning_time = gpr_now(GPR_CLOCK_REALTIME); } - if (grpc_timer_check(exec_ctx, gpr_inf_future(GPR_CLOCK_MONOTONIC), NULL)) { + exec_ctx->now_is_valid = true; + exec_ctx->now = GRPC_MILLIS_INF_FUTURE; + if (grpc_timer_check(exec_ctx, NULL)) { gpr_mu_unlock(&g_mu); grpc_exec_ctx_flush(exec_ctx); grpc_iomgr_platform_flush(); diff --git a/src/core/lib/iomgr/pollset.h b/src/core/lib/iomgr/pollset.h index 69e20098d70..e771ecf7a55 100644 --- a/src/core/lib/iomgr/pollset.h +++ b/src/core/lib/iomgr/pollset.h @@ -82,8 +82,8 @@ void grpc_pollset_destroy(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset); pollset lock */ grpc_error *grpc_pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - grpc_pollset_worker **worker, gpr_timespec now, - gpr_timespec deadline) GRPC_MUST_USE_RESULT; + grpc_pollset_worker **worker, + grpc_millis deadline) GRPC_MUST_USE_RESULT; /* Break one polling thread out of polling work for this pollset. If specific_worker is non-NULL, then kick that worker. */ diff --git a/src/core/lib/iomgr/tcp_client.h b/src/core/lib/iomgr/tcp_client.h index bc367bdfa5d..6f05967fac6 100644 --- a/src/core/lib/iomgr/tcp_client.h +++ b/src/core/lib/iomgr/tcp_client.h @@ -50,6 +50,6 @@ void grpc_tcp_client_connect(grpc_exec_ctx *exec_ctx, grpc_closure *on_connect, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, const grpc_resolved_address *addr, - gpr_timespec deadline); + grpc_millis deadline); #endif /* GRPC_CORE_LIB_IOMGR_TCP_CLIENT_H */ diff --git a/src/core/lib/iomgr/tcp_client_posix.c b/src/core/lib/iomgr/tcp_client_posix.c index 5c7da999e0e..9ce7f8904de 100644 --- a/src/core/lib/iomgr/tcp_client_posix.c +++ b/src/core/lib/iomgr/tcp_client_posix.c @@ -257,7 +257,7 @@ static void tcp_client_connect_impl(grpc_exec_ctx *exec_ctx, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, const grpc_resolved_address *addr, - gpr_timespec deadline) { + grpc_millis deadline) { int fd; grpc_dualstack_mode dsmode; int err; @@ -337,9 +337,7 @@ static void tcp_client_connect_impl(grpc_exec_ctx *exec_ctx, gpr_mu_lock(&ac->mu); grpc_closure_init(&ac->on_alarm, tc_on_alarm, ac, grpc_schedule_on_exec_ctx); - grpc_timer_init(exec_ctx, &ac->alarm, - gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC), - &ac->on_alarm, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timer_init(exec_ctx, &ac->alarm, deadline, &ac->on_alarm); grpc_fd_notify_on_write(exec_ctx, ac->fd, &ac->write_closure); gpr_mu_unlock(&ac->mu); @@ -353,14 +351,14 @@ void (*grpc_tcp_client_connect_impl)( grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, const grpc_resolved_address *addr, - gpr_timespec deadline) = tcp_client_connect_impl; + grpc_millis deadline) = tcp_client_connect_impl; void grpc_tcp_client_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, const grpc_resolved_address *addr, - gpr_timespec deadline) { + grpc_millis deadline) { grpc_tcp_client_connect_impl(exec_ctx, closure, ep, interested_parties, channel_args, addr, deadline); } diff --git a/src/core/lib/iomgr/timer.h b/src/core/lib/iomgr/timer.h index e0338f93c7d..8ce785629d6 100644 --- a/src/core/lib/iomgr/timer.h +++ b/src/core/lib/iomgr/timer.h @@ -56,8 +56,7 @@ typedef struct grpc_timer grpc_timer; application callback is also responsible for maintaining information about when to free up any user-level state. */ void grpc_timer_init(grpc_exec_ctx *exec_ctx, grpc_timer *timer, - gpr_timespec deadline, grpc_closure *closure, - gpr_timespec now); + grpc_millis deadline, grpc_closure *closure); /* Note that there is no timer destroy function. This is because the timer is a one-time occurrence with a guarantee that the callback will @@ -96,9 +95,8 @@ void grpc_timer_cancel(grpc_exec_ctx *exec_ctx, grpc_timer *timer); *next is never guaranteed to be updated on any given execution; however, with high probability at least one thread in the system will see an update at any time slice. */ -bool grpc_timer_check(grpc_exec_ctx *exec_ctx, gpr_timespec now, - gpr_timespec *next); -void grpc_timer_list_init(gpr_timespec now); +bool grpc_timer_check(grpc_exec_ctx *exec_ctx, grpc_millis *next); +void grpc_timer_list_init(grpc_exec_ctx *exec_ctx); void grpc_timer_list_shutdown(grpc_exec_ctx *exec_ctx); /* Consume a kick issued by grpc_kick_poller */ diff --git a/src/core/lib/iomgr/timer_generic.c b/src/core/lib/iomgr/timer_generic.c index b28340b71c7..bca05bd07df 100644 --- a/src/core/lib/iomgr/timer_generic.c +++ b/src/core/lib/iomgr/timer_generic.c @@ -86,11 +86,9 @@ struct 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 shard_type g_shards[NUM_SHARDS]; /* Protected by g_shared_mutables.mu */ static shard_type *g_shard_queue[NUM_SHARDS]; -static gpr_timespec g_start_time; GPR_TLS_DECL(g_last_seen_min_timer); @@ -104,51 +102,18 @@ static gpr_atm saturating_add(gpr_atm a, gpr_atm b) { static int run_some_expired_timers(grpc_exec_ctx *exec_ctx, gpr_atm now, gpr_atm *next, grpc_error *error); -static gpr_timespec dbl_to_ts(double d) { - gpr_timespec ts; - ts.tv_sec = (int64_t)d; - ts.tv_nsec = (int32_t)(1e9 * (d - (double)ts.tv_sec)); - ts.clock_type = GPR_TIMESPAN; - return ts; -} - -static gpr_atm timespec_to_atm_round_up(gpr_timespec ts) { - ts = gpr_time_sub(ts, g_start_time); - double x = GPR_MS_PER_SEC * (double)ts.tv_sec + - (double)ts.tv_nsec / GPR_NS_PER_MS + - (double)(GPR_NS_PER_SEC - 1) / (double)GPR_NS_PER_SEC; - if (x < 0) return 0; - if (x > GPR_ATM_MAX) return GPR_ATM_MAX; - return (gpr_atm)x; -} - -static gpr_atm timespec_to_atm_round_down(gpr_timespec ts) { - ts = gpr_time_sub(ts, g_start_time); - double x = - GPR_MS_PER_SEC * (double)ts.tv_sec + (double)ts.tv_nsec / GPR_NS_PER_MS; - if (x < 0) return 0; - if (x > GPR_ATM_MAX) return GPR_ATM_MAX; - return (gpr_atm)x; -} - -static gpr_timespec atm_to_timespec(gpr_atm x) { - return gpr_time_add(g_start_time, dbl_to_ts((double)x / 1000.0)); -} - static gpr_atm compute_min_deadline(shard_type *shard) { return grpc_timer_heap_is_empty(&shard->heap) ? saturating_add(shard->queue_deadline_cap, 1) : grpc_timer_heap_top(&shard->heap)->deadline; } -void grpc_timer_list_init(gpr_timespec now) { +void grpc_timer_list_init(grpc_exec_ctx *exec_ctx) { uint32_t i; g_shared_mutables.initialized = true; gpr_mu_init(&g_shared_mutables.mu); - g_clock_type = now.clock_type; - g_start_time = now; - g_shared_mutables.min_timer = timespec_to_atm_round_down(now); + g_shared_mutables.min_timer = grpc_exec_ctx_now(exec_ctx); gpr_tls_init(&g_last_seen_min_timer); gpr_tls_set(&g_last_seen_min_timer, 0); grpc_register_tracer("timer", &grpc_timer_trace); @@ -183,10 +148,6 @@ void grpc_timer_list_shutdown(grpc_exec_ctx *exec_ctx) { g_shared_mutables.initialized = false; } -static double ts_to_dbl(gpr_timespec ts) { - return (double)ts.tv_sec + 1e-9 * ts.tv_nsec; -} - /* returns true if the first element in the list */ static void list_join(grpc_timer *head, grpc_timer *timer) { timer->next = head; @@ -225,20 +186,15 @@ static void note_deadline_change(shard_type *shard) { } void grpc_timer_init(grpc_exec_ctx *exec_ctx, grpc_timer *timer, - gpr_timespec deadline, grpc_closure *closure, - gpr_timespec now) { + grpc_millis deadline, grpc_closure *closure) { int is_first_timer = 0; shard_type *shard = &g_shards[GPR_HASH_POINTER(timer, NUM_SHARDS)]; - GPR_ASSERT(deadline.clock_type == g_clock_type); - GPR_ASSERT(now.clock_type == g_clock_type); timer->closure = closure; - gpr_atm deadline_atm = timer->deadline = timespec_to_atm_round_up(deadline); if (GRPC_TRACER_ON(grpc_timer_trace)) { - gpr_log(GPR_DEBUG, "TIMER %p: SET %" PRId64 ".%09d [%" PRIdPTR - "] now %" PRId64 ".%09d [%" PRIdPTR "] call %p[%p]", - timer, deadline.tv_sec, deadline.tv_nsec, deadline_atm, now.tv_sec, - now.tv_nsec, timespec_to_atm_round_down(now), closure, closure->cb); + gpr_log(GPR_DEBUG, + "TIMER %p: SET %" PRIdPTR " now %" PRIdPTR " call %p[%p]", timer, + deadline, grpc_exec_ctx_now(exec_ctx), closure, closure->cb); } if (!g_shared_mutables.initialized) { @@ -251,7 +207,8 @@ void grpc_timer_init(grpc_exec_ctx *exec_ctx, grpc_timer *timer, gpr_mu_lock(&shard->mu); timer->pending = true; - if (gpr_time_cmp(deadline, now) <= 0) { + grpc_millis now = grpc_exec_ctx_now(exec_ctx); + if (deadline <= now) { timer->pending = false; grpc_closure_sched(exec_ctx, timer->closure, GRPC_ERROR_NONE); gpr_mu_unlock(&shard->mu); @@ -259,9 +216,8 @@ void grpc_timer_init(grpc_exec_ctx *exec_ctx, grpc_timer *timer, return; } - grpc_time_averaged_stats_add_sample(&shard->stats, - ts_to_dbl(gpr_time_sub(deadline, now))); - if (deadline_atm < shard->queue_deadline_cap) { + grpc_time_averaged_stats_add_sample(&shard->stats, (deadline - now) / 1000.0); + if (deadline < shard->queue_deadline_cap) { is_first_timer = grpc_timer_heap_add(&shard->heap, timer); } else { timer->heap_index = INVALID_HEAP_INDEX; @@ -292,12 +248,12 @@ void grpc_timer_init(grpc_exec_ctx *exec_ctx, grpc_timer *timer, gpr_log(GPR_DEBUG, " .. old shard min_deadline=%" PRIdPTR, shard->min_deadline); } - if (deadline_atm < shard->min_deadline) { + if (deadline < shard->min_deadline) { gpr_atm old_min_deadline = g_shard_queue[0]->min_deadline; - shard->min_deadline = deadline_atm; + shard->min_deadline = deadline; note_deadline_change(shard); - if (shard->shard_queue_index == 0 && deadline_atm < old_min_deadline) { - gpr_atm_no_barrier_store(&g_shared_mutables.min_timer, deadline_atm); + if (shard->shard_queue_index == 0 && deadline < old_min_deadline) { + gpr_atm_no_barrier_store(&g_shared_mutables.min_timer, deadline); grpc_kick_poller(); } } @@ -494,30 +450,27 @@ static int run_some_expired_timers(grpc_exec_ctx *exec_ctx, gpr_atm now, return (int)n; } -bool grpc_timer_check(grpc_exec_ctx *exec_ctx, gpr_timespec now, - gpr_timespec *next) { +bool grpc_timer_check(grpc_exec_ctx *exec_ctx, grpc_millis *next) { // prelude - GPR_ASSERT(now.clock_type == g_clock_type); - gpr_atm now_atm = timespec_to_atm_round_down(now); + grpc_millis now = grpc_exec_ctx_now(exec_ctx); /* fetch from a thread-local first: this avoids contention on a globally mutable cacheline in the common case */ - gpr_atm min_timer = gpr_tls_get(&g_last_seen_min_timer); - if (now_atm < min_timer) { + grpc_millis min_timer = gpr_tls_get(&g_last_seen_min_timer); + if (now < min_timer) { if (next != NULL) { - *next = - atm_to_timespec(GPR_MIN(timespec_to_atm_round_up(*next), min_timer)); + *next = GPR_MIN(*next, min_timer); } if (GRPC_TRACER_ON(grpc_timer_check_trace)) { gpr_log(GPR_DEBUG, - "TIMER CHECK SKIP: now_atm=%" PRIdPTR " min_timer=%" PRIdPTR, - now_atm, min_timer); + "TIMER CHECK SKIP: now=%" PRIdPTR " min_timer=%" PRIdPTR, now, + min_timer); } return 0; } grpc_error *shutdown_error = - gpr_time_cmp(now, gpr_inf_future(now.clock_type)) != 0 + now != GRPC_MILLIS_INF_FUTURE ? GRPC_ERROR_NONE : GRPC_ERROR_CREATE_FROM_STATIC_STRING("Shutting down timer system"); @@ -527,34 +480,23 @@ bool grpc_timer_check(grpc_exec_ctx *exec_ctx, gpr_timespec now, if (next == NULL) { next_str = gpr_strdup("NULL"); } else { - gpr_asprintf(&next_str, "%" PRId64 ".%09d [%" PRIdPTR "]", next->tv_sec, - next->tv_nsec, timespec_to_atm_round_down(*next)); + gpr_asprintf(&next_str, "%" PRIdPTR, *next); } - gpr_log(GPR_DEBUG, "TIMER CHECK BEGIN: now=%" PRId64 ".%09d [%" PRIdPTR - "] next=%s tls_min=%" PRIdPTR " glob_min=%" PRIdPTR, - now.tv_sec, now.tv_nsec, now_atm, next_str, - gpr_tls_get(&g_last_seen_min_timer), + gpr_log(GPR_DEBUG, "TIMER CHECK BEGIN: now=%" PRIdPTR + " next=%s tls_min=%" PRIdPTR " glob_min=%" PRIdPTR, + now, next_str, gpr_tls_get(&g_last_seen_min_timer), gpr_atm_no_barrier_load(&g_shared_mutables.min_timer)); gpr_free(next_str); } // actual code - bool r; - gpr_atm next_atm; - if (next == NULL) { - r = run_some_expired_timers(exec_ctx, now_atm, NULL, shutdown_error); - } else { - next_atm = timespec_to_atm_round_down(*next); - r = run_some_expired_timers(exec_ctx, now_atm, &next_atm, shutdown_error); - *next = atm_to_timespec(next_atm); - } + bool r = run_some_expired_timers(exec_ctx, now, next, shutdown_error); // tracing if (GRPC_TRACER_ON(grpc_timer_check_trace)) { char *next_str; if (next == NULL) { next_str = gpr_strdup("NULL"); } else { - gpr_asprintf(&next_str, "%" PRId64 ".%09d [%" PRIdPTR "]", next->tv_sec, - next->tv_nsec, next_atm); + gpr_asprintf(&next_str, "%" PRIdPTR, *next); } gpr_log(GPR_DEBUG, "TIMER CHECK END: %d timers triggered; next=%s", r, next_str); diff --git a/src/core/lib/iomgr/timer_manager.c b/src/core/lib/iomgr/timer_manager.c index 24085093e70..66ccf1d19a7 100644 --- a/src/core/lib/iomgr/timer_manager.c +++ b/src/core/lib/iomgr/timer_manager.c @@ -101,9 +101,8 @@ static void start_timer_thread_and_unlock(void) { void grpc_timer_manager_tick() { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - gpr_timespec next = gpr_inf_future(GPR_CLOCK_MONOTONIC); - gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); - grpc_timer_check(&exec_ctx, now, &next); + grpc_millis next = GRPC_MILLIS_INF_FUTURE; + grpc_timer_check(&exec_ctx, &next); grpc_exec_ctx_finish(&exec_ctx); } @@ -112,12 +111,10 @@ static void timer_thread(void *unused) { // since it's easy to spin up new threads grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INITIALIZER(0, grpc_never_ready_to_finish, NULL); - const gpr_timespec inf_future = gpr_inf_future(GPR_CLOCK_MONOTONIC); for (;;) { - gpr_timespec next = inf_future; - gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); + grpc_millis next = GRPC_MILLIS_INF_FUTURE; // check timer state, updates next to the next time to run a check - if (grpc_timer_check(&exec_ctx, now, &next)) { + if (grpc_timer_check(&exec_ctx, &next)) { // if there's something to execute... gpr_mu_lock(&g_mu); // remove a waiter from the pool, and start another thread if necessary @@ -161,12 +158,14 @@ static void timer_thread(void *unused) { gpr_log(GPR_DEBUG, "sleep for a while"); } } else { - next = inf_future; + next = GRPC_MILLIS_INF_FUTURE; if (GRPC_TRACER_ON(grpc_timer_check_trace)) { gpr_log(GPR_DEBUG, "sleep until kicked"); } } - gpr_cv_wait(&g_cv_wait, &g_mu, next); + gpr_cv_wait(&g_cv_wait, &g_mu, + grpc_millis_to_timespec(&exec_ctx, next, GPR_CLOCK_REALTIME)); + grpc_exec_ctx_invalidate_now(&exec_ctx); if (GRPC_TRACER_ON(grpc_timer_check_trace)) { gpr_log(GPR_DEBUG, "wait ended: was_timed:%d kicked:%d", my_timed_waiter_generation == g_timed_waiter_generation, diff --git a/src/core/lib/security/credentials/google_default/google_default_credentials.c b/src/core/lib/security/credentials/google_default/google_default_credentials.c index 4d8c451ea80..f0807ab7eae 100644 --- a/src/core/lib/security/credentials/google_default/google_default_credentials.c +++ b/src/core/lib/security/credentials/google_default/google_default_credentials.c @@ -110,7 +110,7 @@ static int is_stack_running_on_compute_engine(grpc_exec_ctx *exec_ctx) { /* The http call is local. If it takes more than one sec, it is for sure not on compute engine. */ - gpr_timespec max_detection_delay = gpr_time_from_seconds(1, GPR_TIMESPAN); + grpc_millis max_detection_delay = GPR_MS_PER_SEC; grpc_pollset *pollset = gpr_zalloc(grpc_pollset_size()); grpc_pollset_init(pollset, &g_polling_mu); @@ -129,7 +129,7 @@ static int is_stack_running_on_compute_engine(grpc_exec_ctx *exec_ctx) { grpc_resource_quota_create("google_default_credentials"); grpc_httpcli_get( exec_ctx, &context, &detector.pollent, resource_quota, &request, - gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), max_detection_delay), + grpc_exec_ctx_now(exec_ctx) + max_detection_delay, grpc_closure_create(on_compute_engine_detection_http_response, &detector, grpc_schedule_on_exec_ctx), &detector.response); @@ -146,8 +146,7 @@ static int is_stack_running_on_compute_engine(grpc_exec_ctx *exec_ctx) { "pollset_work", grpc_pollset_work(exec_ctx, grpc_polling_entity_pollset(&detector.pollent), - &worker, gpr_now(GPR_CLOCK_MONOTONIC), - gpr_inf_future(GPR_CLOCK_MONOTONIC)))) { + &worker, GRPC_MILLIS_INF_FUTURE))) { detector.is_done = 1; detector.success = 0; } diff --git a/src/core/lib/security/credentials/jwt/jwt_verifier.c b/src/core/lib/security/credentials/jwt/jwt_verifier.c index 0e2a2643716..c7fea6c2e65 100644 --- a/src/core/lib/security/credentials/jwt/jwt_verifier.c +++ b/src/core/lib/security/credentials/jwt/jwt_verifier.c @@ -395,7 +395,7 @@ void verifier_cb_ctx_destroy(grpc_exec_ctx *exec_ctx, verifier_cb_ctx *ctx) { gpr_timespec grpc_jwt_verifier_clock_skew = {60, 0, GPR_TIMESPAN}; /* Max delay defaults to one minute. */ -gpr_timespec grpc_jwt_verifier_max_delay = {60, 0, GPR_TIMESPAN}; +grpc_millis grpc_jwt_verifier_max_delay = 60 * GPR_MS_PER_SEC; typedef struct { char *email_domain; @@ -682,7 +682,7 @@ static void on_openid_config_retrieved(grpc_exec_ctx *exec_ctx, void *user_data, grpc_resource_quota_create("jwt_verifier"); grpc_httpcli_get( exec_ctx, &ctx->verifier->http_ctx, &ctx->pollent, resource_quota, &req, - gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), grpc_jwt_verifier_max_delay), + grpc_exec_ctx_now(exec_ctx) + grpc_jwt_verifier_max_delay, grpc_closure_create(on_keys_retrieved, ctx, grpc_schedule_on_exec_ctx), &ctx->responses[HTTP_RESPONSE_KEYS]); grpc_resource_quota_unref_internal(exec_ctx, resource_quota); @@ -808,10 +808,10 @@ static void retrieve_key_and_verify(grpc_exec_ctx *exec_ctx, extreme memory pressure. */ grpc_resource_quota *resource_quota = grpc_resource_quota_create("jwt_verifier"); - grpc_httpcli_get( - exec_ctx, &ctx->verifier->http_ctx, &ctx->pollent, resource_quota, &req, - gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), grpc_jwt_verifier_max_delay), - http_cb, &ctx->responses[rsp_idx]); + grpc_httpcli_get(exec_ctx, &ctx->verifier->http_ctx, &ctx->pollent, + resource_quota, &req, + grpc_exec_ctx_now(exec_ctx) + grpc_jwt_verifier_max_delay, + http_cb, &ctx->responses[rsp_idx]); grpc_resource_quota_unref_internal(exec_ctx, resource_quota); gpr_free(req.host); gpr_free(req.http.path); diff --git a/src/core/lib/security/credentials/jwt/jwt_verifier.h b/src/core/lib/security/credentials/jwt/jwt_verifier.h index 5c3d2a77887..68fafce4c98 100644 --- a/src/core/lib/security/credentials/jwt/jwt_verifier.h +++ b/src/core/lib/security/credentials/jwt/jwt_verifier.h @@ -96,7 +96,7 @@ typedef struct { /* Globals to control the verifier. Not thread-safe. */ extern gpr_timespec grpc_jwt_verifier_clock_skew; -extern gpr_timespec grpc_jwt_verifier_max_delay; +extern grpc_millis grpc_jwt_verifier_max_delay; /* The verifier can be created with some custom mappings to help with key discovery in the case where the issuer is an email address. diff --git a/src/core/lib/security/credentials/oauth2/oauth2_credentials.c b/src/core/lib/security/credentials/oauth2/oauth2_credentials.c index 29235b6eb30..eaaf6367c37 100644 --- a/src/core/lib/security/credentials/oauth2/oauth2_credentials.c +++ b/src/core/lib/security/credentials/oauth2/oauth2_credentials.c @@ -130,7 +130,7 @@ static void oauth2_token_fetcher_destruct(grpc_exec_ctx *exec_ctx, grpc_credentials_status grpc_oauth2_token_fetcher_credentials_parse_server_response( grpc_exec_ctx *exec_ctx, const grpc_http_response *response, - grpc_credentials_md_store **token_md, gpr_timespec *token_lifetime) { + grpc_credentials_md_store **token_md, grpc_millis *token_lifetime) { char *null_terminated_body = NULL; char *new_access_token = NULL; grpc_credentials_status status = GRPC_CREDENTIALS_OK; @@ -196,9 +196,7 @@ grpc_oauth2_token_fetcher_credentials_parse_server_response( } gpr_asprintf(&new_access_token, "%s %s", token_type->value, access_token->value); - token_lifetime->tv_sec = strtol(expires_in->value, NULL, 10); - token_lifetime->tv_nsec = 0; - token_lifetime->clock_type = GPR_TIMESPAN; + *token_lifetime = strtol(expires_in->value, NULL, 10) * GPR_MS_PER_SEC; if (*token_md != NULL) grpc_credentials_md_store_unref(exec_ctx, *token_md); *token_md = grpc_credentials_md_store_create(1); grpc_credentials_md_store_add_cstrings( @@ -224,7 +222,7 @@ static void on_oauth2_token_fetcher_http_response(grpc_exec_ctx *exec_ctx, (grpc_credentials_metadata_request *)user_data; grpc_oauth2_token_fetcher_credentials *c = (grpc_oauth2_token_fetcher_credentials *)r->creds; - gpr_timespec token_lifetime; + grpc_millis token_lifetime; grpc_credentials_status status; GRPC_LOG_IF_ERROR("oauth_fetch", GRPC_ERROR_REF(error)); @@ -233,12 +231,11 @@ static void on_oauth2_token_fetcher_http_response(grpc_exec_ctx *exec_ctx, status = grpc_oauth2_token_fetcher_credentials_parse_server_response( exec_ctx, &r->response, &c->access_token_md, &token_lifetime); if (status == GRPC_CREDENTIALS_OK) { - c->token_expiration = - gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), token_lifetime); + c->token_expiration = grpc_exec_ctx_now(exec_ctx) + token_lifetime; r->cb(exec_ctx, r->user_data, c->access_token_md->entries, c->access_token_md->num_entries, GRPC_CREDENTIALS_OK, NULL); } else { - c->token_expiration = gpr_inf_past(GPR_CLOCK_REALTIME); + c->token_expiration = 0; r->cb(exec_ctx, r->user_data, NULL, 0, status, "Error occured when fetching oauth2 token."); } @@ -252,15 +249,14 @@ static void oauth2_token_fetcher_get_request_metadata( grpc_credentials_metadata_cb cb, void *user_data) { grpc_oauth2_token_fetcher_credentials *c = (grpc_oauth2_token_fetcher_credentials *)creds; - gpr_timespec refresh_threshold = gpr_time_from_seconds( - GRPC_SECURE_TOKEN_REFRESH_THRESHOLD_SECS, GPR_TIMESPAN); + grpc_millis refresh_threshold = + GRPC_SECURE_TOKEN_REFRESH_THRESHOLD_SECS * GPR_MS_PER_SEC; grpc_credentials_md_store *cached_access_token_md = NULL; { gpr_mu_lock(&c->mu); if (c->access_token_md != NULL && - (gpr_time_cmp( - gpr_time_sub(c->token_expiration, gpr_now(GPR_CLOCK_REALTIME)), - refresh_threshold) > 0)) { + (c->token_expiration + grpc_exec_ctx_now(exec_ctx) > + refresh_threshold)) { cached_access_token_md = grpc_credentials_md_store_ref(c->access_token_md); } @@ -275,7 +271,7 @@ static void oauth2_token_fetcher_get_request_metadata( exec_ctx, grpc_credentials_metadata_request_create(creds, cb, user_data), &c->httpcli_context, pollent, on_oauth2_token_fetcher_http_response, - gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), refresh_threshold)); + grpc_exec_ctx_now(exec_ctx) + refresh_threshold); } } @@ -285,7 +281,7 @@ static void init_oauth2_token_fetcher(grpc_oauth2_token_fetcher_credentials *c, c->base.type = GRPC_CALL_CREDENTIALS_TYPE_OAUTH2; gpr_ref_init(&c->base.refcount, 1); gpr_mu_init(&c->mu); - c->token_expiration = gpr_inf_past(GPR_CLOCK_REALTIME); + c->token_expiration = 0; c->fetch_func = fetch_func; grpc_httpcli_context_init(&c->httpcli_context); } @@ -300,7 +296,7 @@ static grpc_call_credentials_vtable compute_engine_vtable = { static void compute_engine_fetch_oauth2( grpc_exec_ctx *exec_ctx, grpc_credentials_metadata_request *metadata_req, grpc_httpcli_context *httpcli_context, grpc_polling_entity *pollent, - grpc_iomgr_cb_func response_cb, gpr_timespec deadline) { + grpc_iomgr_cb_func response_cb, grpc_millis deadline) { grpc_http_header header = {"Metadata-Flavor", "Google"}; grpc_httpcli_request request; memset(&request, 0, sizeof(grpc_httpcli_request)); @@ -351,7 +347,7 @@ static grpc_call_credentials_vtable refresh_token_vtable = { static void refresh_token_fetch_oauth2( grpc_exec_ctx *exec_ctx, grpc_credentials_metadata_request *metadata_req, grpc_httpcli_context *httpcli_context, grpc_polling_entity *pollent, - grpc_iomgr_cb_func response_cb, gpr_timespec deadline) { + grpc_iomgr_cb_func response_cb, grpc_millis deadline) { grpc_google_refresh_token_credentials *c = (grpc_google_refresh_token_credentials *)metadata_req->creds; grpc_http_header header = {"Content-Type", diff --git a/src/core/lib/security/credentials/oauth2/oauth2_credentials.h b/src/core/lib/security/credentials/oauth2/oauth2_credentials.h index 2d7c02ccf57..88f5351f367 100644 --- a/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +++ b/src/core/lib/security/credentials/oauth2/oauth2_credentials.h @@ -72,12 +72,12 @@ typedef void (*grpc_fetch_oauth2_func)(grpc_exec_ctx *exec_ctx, grpc_httpcli_context *http_context, grpc_polling_entity *pollent, grpc_iomgr_cb_func cb, - gpr_timespec deadline); + grpc_millis deadline); typedef struct { grpc_call_credentials base; gpr_mu mu; grpc_credentials_md_store *access_token_md; - gpr_timespec token_expiration; + grpc_millis token_expiration; grpc_httpcli_context httpcli_context; grpc_fetch_oauth2_func fetch_func; } grpc_oauth2_token_fetcher_credentials; @@ -104,6 +104,6 @@ grpc_refresh_token_credentials_create_from_auth_refresh_token( grpc_credentials_status grpc_oauth2_token_fetcher_credentials_parse_server_response( grpc_exec_ctx *exec_ctx, const struct grpc_http_response *response, - grpc_credentials_md_store **token_md, gpr_timespec *token_lifetime); + grpc_credentials_md_store **token_md, grpc_millis *token_lifetime); #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_OAUTH2_OAUTH2_CREDENTIALS_H */ diff --git a/src/core/lib/surface/alarm.c b/src/core/lib/surface/alarm.c index b72d534b7ef..6593f145239 100644 --- a/src/core/lib/surface/alarm.c +++ b/src/core/lib/surface/alarm.c @@ -68,8 +68,8 @@ grpc_alarm *grpc_alarm_create(grpc_completion_queue *cq, gpr_timespec deadline, grpc_closure_init(&alarm->on_alarm, alarm_cb, alarm, grpc_schedule_on_exec_ctx); grpc_timer_init(&exec_ctx, &alarm->alarm, - gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC), - &alarm->on_alarm, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timespec_to_millis(&exec_ctx, deadline), + &alarm->on_alarm); grpc_exec_ctx_finish(&exec_ctx); return alarm; } diff --git a/src/core/lib/surface/completion_queue.c b/src/core/lib/surface/completion_queue.c index df5b70205cb..d26df33b5ca 100644 --- a/src/core/lib/surface/completion_queue.c +++ b/src/core/lib/surface/completion_queue.c @@ -68,8 +68,7 @@ typedef struct { grpc_error *(*kick)(grpc_pollset *pollset, grpc_pollset_worker *specific_worker); grpc_error *(*work)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - grpc_pollset_worker **worker, gpr_timespec now, - gpr_timespec deadline); + grpc_pollset_worker **worker, grpc_millis deadline); void (*shutdown)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_closure *closure); void (*destroy)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset); @@ -107,8 +106,7 @@ static void non_polling_poller_destroy(grpc_exec_ctx *exec_ctx, static grpc_error *non_polling_poller_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker **worker, - gpr_timespec now, - gpr_timespec deadline) { + grpc_millis deadline) { non_polling_poller *npp = (non_polling_poller *)pollset; if (npp->shutdown) return GRPC_ERROR_NONE; non_polling_worker w; @@ -122,7 +120,10 @@ static grpc_error *non_polling_poller_work(grpc_exec_ctx *exec_ctx, w.next->prev = w.prev->next = &w; } w.kicked = false; - while (!npp->shutdown && !w.kicked && !gpr_cv_wait(&w.cv, &npp->mu, deadline)) + gpr_timespec deadline_ts = + grpc_millis_to_timespec(exec_ctx, deadline, GPR_CLOCK_REALTIME); + while (!npp->shutdown && !w.kicked && + !gpr_cv_wait(&w.cv, &npp->mu, deadline_ts)) ; if (&w == npp->root) { npp->root = w.next; @@ -453,7 +454,7 @@ void grpc_cq_end_op(grpc_exec_ctx *exec_ctx, grpc_completion_queue *cc, typedef struct { gpr_atm last_seen_things_queued_ever; grpc_completion_queue *cq; - gpr_timespec deadline; + grpc_millis deadline; grpc_cq_completion *stolen_completion; void *tag; /* for pluck */ bool first_loop; @@ -480,8 +481,7 @@ static bool cq_is_next_finished(grpc_exec_ctx *exec_ctx, void *arg) { } gpr_mu_unlock(cq->mu); } - return !a->first_loop && - gpr_time_cmp(a->deadline, gpr_now(a->deadline.clock_type)) < 0; + return !a->first_loop && a->deadline < grpc_exec_ctx_now(exec_ctx); } #ifndef NDEBUG @@ -510,7 +510,6 @@ static void dump_pending_tags(grpc_completion_queue *cc) {} grpc_event grpc_completion_queue_next(grpc_completion_queue *cc, gpr_timespec deadline, void *reserved) { grpc_event ret; - gpr_timespec now; if (cc->completion_type != GRPC_CQ_NEXT) { gpr_log(GPR_ERROR, @@ -533,20 +532,20 @@ grpc_event grpc_completion_queue_next(grpc_completion_queue *cc, dump_pending_tags(cc); - deadline = gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC); - GRPC_CQ_INTERNAL_REF(cc, "next"); gpr_mu_lock(cc->mu); cq_is_finished_arg is_finished_arg = { .last_seen_things_queued_ever = gpr_atm_no_barrier_load(&cc->things_queued_ever), .cq = cc, - .deadline = deadline, + .deadline = 0, /* set below */ .stolen_completion = NULL, .tag = NULL, .first_loop = true}; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INITIALIZER(0, cq_is_next_finished, &is_finished_arg); + grpc_millis deadline_millis = is_finished_arg.deadline = + grpc_timespec_to_millis(&exec_ctx, deadline); for (;;) { if (is_finished_arg.stolen_completion != NULL) { gpr_mu_unlock(cc->mu); @@ -577,8 +576,8 @@ grpc_event grpc_completion_queue_next(grpc_completion_queue *cc, ret.type = GRPC_QUEUE_SHUTDOWN; break; } - now = gpr_now(GPR_CLOCK_MONOTONIC); - if (!is_finished_arg.first_loop && gpr_time_cmp(now, deadline) >= 0) { + if (!is_finished_arg.first_loop && + grpc_exec_ctx_now(&exec_ctx) >= deadline_millis) { gpr_mu_unlock(cc->mu); memset(&ret, 0, sizeof(ret)); ret.type = GRPC_QUEUE_TIMEOUT; @@ -586,7 +585,7 @@ grpc_event grpc_completion_queue_next(grpc_completion_queue *cc, break; } grpc_error *err = cc->poller_vtable->work(&exec_ctx, POLLSET_FROM_CQ(cc), - NULL, now, deadline); + NULL, deadline_millis); if (err != GRPC_ERROR_NONE) { gpr_mu_unlock(cc->mu); const char *msg = grpc_error_string(err); @@ -661,8 +660,7 @@ static bool cq_is_pluck_finished(grpc_exec_ctx *exec_ctx, void *arg) { } gpr_mu_unlock(cq->mu); } - return !a->first_loop && - gpr_time_cmp(a->deadline, gpr_now(a->deadline.clock_type)) < 0; + return !a->first_loop && a->deadline < grpc_exec_ctx_now(exec_ctx); } grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cc, void *tag, @@ -671,7 +669,6 @@ grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cc, void *tag, grpc_cq_completion *c; grpc_cq_completion *prev; grpc_pollset_worker *worker = NULL; - gpr_timespec now; GPR_TIMER_BEGIN("grpc_completion_queue_pluck", 0); @@ -696,20 +693,20 @@ grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cc, void *tag, dump_pending_tags(cc); - deadline = gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC); - GRPC_CQ_INTERNAL_REF(cc, "pluck"); gpr_mu_lock(cc->mu); cq_is_finished_arg is_finished_arg = { .last_seen_things_queued_ever = gpr_atm_no_barrier_load(&cc->things_queued_ever), .cq = cc, - .deadline = deadline, + .deadline = 0, /* set below */ .stolen_completion = NULL, .tag = tag, .first_loop = true}; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INITIALIZER(0, cq_is_pluck_finished, &is_finished_arg); + grpc_millis deadline_millis = is_finished_arg.deadline = + grpc_timespec_to_millis(&exec_ctx, deadline); for (;;) { if (is_finished_arg.stolen_completion != NULL) { gpr_mu_unlock(cc->mu); @@ -756,8 +753,8 @@ grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cc, void *tag, dump_pending_tags(cc); break; } - now = gpr_now(GPR_CLOCK_MONOTONIC); - if (!is_finished_arg.first_loop && gpr_time_cmp(now, deadline) >= 0) { + if (!is_finished_arg.first_loop && + grpc_exec_ctx_now(&exec_ctx) >= deadline_millis) { del_plucker(cc, tag, &worker); gpr_mu_unlock(cc->mu); memset(&ret, 0, sizeof(ret)); @@ -766,7 +763,7 @@ grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cc, void *tag, break; } grpc_error *err = cc->poller_vtable->work(&exec_ctx, POLLSET_FROM_CQ(cc), - &worker, now, deadline); + &worker, deadline_millis); if (err != GRPC_ERROR_NONE) { del_plucker(cc, tag, &worker); gpr_mu_unlock(cc->mu); diff --git a/test/core/end2end/fixtures/http_proxy_fixture.c b/test/core/end2end/fixtures/http_proxy_fixture.c index c2d8480e69a..2bdaa962ae3 100644 --- a/test/core/end2end/fixtures/http_proxy_fixture.c +++ b/test/core/end2end/fixtures/http_proxy_fixture.c @@ -377,8 +377,8 @@ static void on_read_request_done(grpc_exec_ctx* exec_ctx, void* arg, GPR_ASSERT(resolved_addresses->naddrs >= 1); // Connect to requested address. // The connection callback inherits our reference to conn. - const gpr_timespec deadline = gpr_time_add( - gpr_now(GPR_CLOCK_MONOTONIC), gpr_time_from_seconds(10, GPR_TIMESPAN)); + const grpc_millis deadline = + grpc_exec_ctx_now(exec_ctx) + 10 * GPR_MS_PER_SEC; grpc_tcp_client_connect(exec_ctx, &conn->on_server_connect_done, &conn->server_endpoint, conn->pollset_set, NULL, &resolved_addresses->addrs[0], deadline); @@ -434,14 +434,12 @@ static void thread_main(void* arg) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; do { gpr_ref(&proxy->users); - const gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); - const gpr_timespec deadline = - gpr_time_add(now, gpr_time_from_seconds(1, GPR_TIMESPAN)); grpc_pollset_worker* worker = NULL; gpr_mu_lock(proxy->mu); GRPC_LOG_IF_ERROR( "grpc_pollset_work", - grpc_pollset_work(&exec_ctx, proxy->pollset, &worker, now, deadline)); + grpc_pollset_work(&exec_ctx, proxy->pollset, &worker, + grpc_exec_ctx_now(&exec_ctx) + GPR_MS_PER_SEC)); gpr_mu_unlock(proxy->mu); grpc_exec_ctx_flush(&exec_ctx); } while (!gpr_unref(&proxy->users)); diff --git a/test/core/iomgr/endpoint_tests.c b/test/core/iomgr/endpoint_tests.c index e274796e237..2fece9b667a 100644 --- a/test/core/iomgr/endpoint_tests.c +++ b/test/core/iomgr/endpoint_tests.c @@ -187,10 +187,11 @@ static void read_and_write_test(grpc_endpoint_test_config config, size_t num_bytes, size_t write_size, size_t slice_size, bool shutdown) { struct read_and_write_test_state state; - gpr_timespec deadline = grpc_timeout_seconds_to_deadline(20); grpc_endpoint_test_fixture f = begin_test(config, "read_and_write_test", slice_size); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + grpc_millis deadline = + grpc_timespec_to_millis(&exec_ctx, grpc_timeout_seconds_to_deadline(20)); gpr_log(GPR_DEBUG, "num_bytes=%" PRIuPTR " write_size=%" PRIuPTR " slice_size=%" PRIuPTR " shutdown=%d", num_bytes, write_size, slice_size, shutdown); @@ -246,11 +247,10 @@ static void read_and_write_test(grpc_endpoint_test_config config, gpr_mu_lock(g_mu); while (!state.read_done || !state.write_done) { grpc_pollset_worker *worker = NULL; - GPR_ASSERT(gpr_time_cmp(gpr_now(GPR_CLOCK_MONOTONIC), deadline) < 0); + GPR_ASSERT(grpc_exec_ctx_now(&exec_ctx) < deadline); GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", - grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline))); + grpc_pollset_work(&exec_ctx, g_pollset, &worker, deadline))); } gpr_mu_unlock(g_mu); grpc_exec_ctx_flush(&exec_ctx); @@ -273,13 +273,11 @@ static void wait_for_fail_count(grpc_exec_ctx *exec_ctx, int *fail_count, grpc_exec_ctx_flush(exec_ctx); for (int i = 0; i < 5 && *fail_count < want_fail_count; i++) { grpc_pollset_worker *worker = NULL; - gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME); - gpr_timespec deadline = - gpr_time_add(now, gpr_time_from_seconds(1, GPR_TIMESPAN)); gpr_mu_lock(g_mu); GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", - grpc_pollset_work(exec_ctx, g_pollset, &worker, now, deadline))); + grpc_pollset_work(exec_ctx, g_pollset, &worker, + grpc_exec_ctx_now(exec_ctx) + GPR_MS_PER_SEC))); gpr_mu_unlock(g_mu); grpc_exec_ctx_flush(exec_ctx); } diff --git a/test/core/security/oauth2_utils.c b/test/core/security/oauth2_utils.c index 838625705dd..9238adeaef1 100644 --- a/test/core/security/oauth2_utils.c +++ b/test/core/security/oauth2_utils.c @@ -107,8 +107,7 @@ char *grpc_test_fetch_oauth2_token_with_credentials( "pollset_work", grpc_pollset_work(&exec_ctx, grpc_polling_entity_pollset(&request.pops), - &worker, gpr_now(GPR_CLOCK_MONOTONIC), - gpr_inf_future(GPR_CLOCK_MONOTONIC)))) { + &worker, GRPC_MILLIS_INF_FUTURE))) { request.is_done = 1; } } diff --git a/test/core/util/port_server_client.c b/test/core/util/port_server_client.c index 6ef0acfc29b..efe20756824 100644 --- a/test/core/util/port_server_client.c +++ b/test/core/util/port_server_client.c @@ -102,7 +102,7 @@ void grpc_free_port_using_server(int port) { grpc_resource_quota *resource_quota = grpc_resource_quota_create("port_server_client/free"); grpc_httpcli_get(&exec_ctx, &context, &pr.pops, resource_quota, &req, - grpc_timeout_seconds_to_deadline(30), + grpc_exec_ctx_now(&exec_ctx) + 30 * GPR_MS_PER_SEC, grpc_closure_create(freed_port_from_server, &pr, grpc_schedule_on_exec_ctx), &rsp); @@ -113,8 +113,8 @@ void grpc_free_port_using_server(int port) { if (!GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, grpc_polling_entity_pollset(&pr.pops), - &worker, gpr_now(GPR_CLOCK_MONOTONIC), - grpc_timeout_seconds_to_deadline(1)))) { + &worker, + grpc_exec_ctx_now(&exec_ctx) + GPR_MS_PER_SEC))) { pr.done = 1; } } @@ -185,7 +185,7 @@ static void got_port_from_server(grpc_exec_ctx *exec_ctx, void *arg, grpc_resource_quota *resource_quota = grpc_resource_quota_create("port_server_client/pick_retry"); grpc_httpcli_get(exec_ctx, pr->ctx, &pr->pops, resource_quota, &req, - grpc_timeout_seconds_to_deadline(10), + grpc_exec_ctx_now(exec_ctx) + 30 * GPR_MS_PER_SEC, grpc_closure_create(got_port_from_server, pr, grpc_schedule_on_exec_ctx), &pr->response); @@ -235,7 +235,7 @@ int grpc_pick_port_using_server(void) { grpc_resource_quota_create("port_server_client/pick"); grpc_httpcli_get( &exec_ctx, &context, &pr.pops, resource_quota, &req, - grpc_timeout_seconds_to_deadline(30), + grpc_exec_ctx_now(&exec_ctx) + 30 * GPR_MS_PER_SEC, grpc_closure_create(got_port_from_server, &pr, grpc_schedule_on_exec_ctx), &pr.response); grpc_resource_quota_unref_internal(&exec_ctx, resource_quota); @@ -245,8 +245,8 @@ int grpc_pick_port_using_server(void) { if (!GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, grpc_polling_entity_pollset(&pr.pops), - &worker, gpr_now(GPR_CLOCK_MONOTONIC), - grpc_timeout_seconds_to_deadline(1)))) { + &worker, + grpc_exec_ctx_now(&exec_ctx) + GPR_MS_PER_SEC))) { pr.port = 0; } } From 565d4c1e8863202fcc1d2f0c7bf56cca206e4f88 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 17 Jul 2017 14:23:46 -0700 Subject: [PATCH 004/180] Progress --- .../filters/client_channel/channel_connectivity.c | 4 ++-- src/core/ext/filters/client_channel/connector.h | 2 +- src/core/ext/transport/chttp2/transport/writing.c | 3 +-- src/core/lib/iomgr/iomgr.c | 8 +------- test/core/util/test_tcp_server.c | 12 ++++++------ 5 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/core/ext/filters/client_channel/channel_connectivity.c b/src/core/ext/filters/client_channel/channel_connectivity.c index c3dca14305d..39dd927d705 100644 --- a/src/core/ext/filters/client_channel/channel_connectivity.c +++ b/src/core/ext/filters/client_channel/channel_connectivity.c @@ -186,8 +186,8 @@ static void watcher_timer_init(grpc_exec_ctx *exec_ctx, void *arg, watcher_timer_init_arg *wa = (watcher_timer_init_arg *)arg; grpc_timer_init(exec_ctx, &wa->w->alarm, - gpr_convert_clock_type(wa->deadline, GPR_CLOCK_MONOTONIC), - &wa->w->on_timeout, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timespec_to_millis(exec_ctx, wa->deadline), + &wa->w->on_timeout); gpr_free(wa); } diff --git a/src/core/ext/filters/client_channel/connector.h b/src/core/ext/filters/client_channel/connector.h index 7f3d4a1cc03..bf79f261b0b 100644 --- a/src/core/ext/filters/client_channel/connector.h +++ b/src/core/ext/filters/client_channel/connector.h @@ -34,7 +34,7 @@ typedef struct { /** set of pollsets interested in this connection */ grpc_pollset_set *interested_parties; /** deadline for connection */ - gpr_timespec deadline; + grpc_millis deadline; /** channel arguments (to be passed to transport) */ const grpc_channel_args *channel_args; } grpc_connect_in_args; diff --git a/src/core/ext/transport/chttp2/transport/writing.c b/src/core/ext/transport/chttp2/transport/writing.c index 3e16fda6dc1..69e8c8f062c 100644 --- a/src/core/ext/transport/chttp2/transport/writing.c +++ b/src/core/ext/transport/chttp2/transport/writing.c @@ -261,8 +261,7 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( t->ping_state.pings_before_data_required = t->ping_policy.max_pings_without_data; if (!t->is_client) { - t->ping_recv_state.last_ping_recv_time = - gpr_inf_past(GPR_CLOCK_MONOTONIC); + t->ping_recv_state.last_ping_recv_time = 0; t->ping_recv_state.ping_strikes = 0; } } else { diff --git a/src/core/lib/iomgr/iomgr.c b/src/core/lib/iomgr/iomgr.c index 5e15b01ffd8..55a9604c6b3 100644 --- a/src/core/lib/iomgr/iomgr.c +++ b/src/core/lib/iomgr/iomgr.c @@ -47,14 +47,8 @@ void grpc_iomgr_init(grpc_exec_ctx *exec_ctx) { gpr_mu_init(&g_mu); gpr_cv_init(&g_rcv); grpc_exec_ctx_global_init(); -<<<<<<< HEAD - grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - grpc_timer_list_init(&exec_ctx); - grpc_exec_ctx_finish(&exec_ctx); -======= grpc_executor_init(exec_ctx); - grpc_timer_list_init(gpr_now(GPR_CLOCK_MONOTONIC)); ->>>>>>> 4708a21c8144f9fed3c90ea8fa153aa20302a1d7 + grpc_timer_list_init(exec_ctx); g_root_object.next = g_root_object.prev = &g_root_object; g_root_object.name = "root"; grpc_network_status_init(); diff --git a/test/core/util/test_tcp_server.c b/test/core/util/test_tcp_server.c index d3a1de8a3b1..cf21ec50ae8 100644 --- a/test/core/util/test_tcp_server.c +++ b/test/core/util/test_tcp_server.c @@ -31,6 +31,7 @@ #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/iomgr/tcp_server.h" #include "test/core/util/port.h" +#include "test/core/util/test_config.h" static void on_server_destroyed(grpc_exec_ctx *exec_ctx, void *data, grpc_error *error) { @@ -78,14 +79,13 @@ void test_tcp_server_start(test_tcp_server *server, int port) { void test_tcp_server_poll(test_tcp_server *server, int seconds) { grpc_pollset_worker *worker = NULL; - gpr_timespec deadline = - gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), - gpr_time_from_seconds(seconds, GPR_TIMESPAN)); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + grpc_millis deadline = grpc_timespec_to_millis( + &exec_ctx, grpc_timeout_seconds_to_deadline(seconds)); gpr_mu_lock(server->mu); - GRPC_LOG_IF_ERROR("pollset_work", - grpc_pollset_work(&exec_ctx, server->pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline)); + GRPC_LOG_IF_ERROR( + "pollset_work", + grpc_pollset_work(&exec_ctx, server->pollset, &worker, deadline)); gpr_mu_unlock(server->mu); grpc_exec_ctx_finish(&exec_ctx); } From c0df1c0f9a04d9b150af5ba710090f7f8c19f7d5 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 17 Jul 2017 16:12:33 -0700 Subject: [PATCH 005/180] Compiling again --- BUILD | 4 +- CMakeLists.txt | 64 ++++---- Makefile | 74 ++++----- binding.gyp | 2 +- build.yaml | 22 +-- config.m4 | 3 +- config.w32 | 3 +- gRPC-Core.podspec | 10 +- grpc.gemspec | 4 +- package.xml | 4 +- .../client_channel/channel_connectivity.c | 3 +- .../client_channel/lb_policy/grpclb/grpclb.c | 56 ++++--- .../lb_policy/grpclb/load_balancer_api.c | 11 +- .../lb_policy/grpclb/load_balancer_api.h | 3 +- .../resolver/dns/c_ares/dns_resolver_ares.c | 30 ++-- .../resolver/dns/native/dns_resolver.c | 30 ++-- .../ext/filters/client_channel/subchannel.c | 22 ++- .../ext/filters/deadline/deadline_filter.c | 7 +- src/core/ext/filters/max_age/max_age_filter.c | 62 +++----- src/core/lib/{support => backoff}/backoff.c | 26 ++-- src/core/lib/{support => backoff}/backoff.h | 19 +-- src/core/lib/iomgr/exec_ctx.c | 8 +- src/core/lib/iomgr/exec_ctx.h | 6 +- src/core/lib/iomgr/timer_manager.c | 2 +- src/core/lib/surface/alarm.c | 3 +- src/core/lib/surface/completion_queue.c | 14 +- src/python/grpcio/grpc_core_dependencies.py | 2 +- test/core/backoff/BUILD | 34 ++++ test/core/backoff/backoff_test.c | 147 ++++++++++++++++++ .../dns_resolver_connectivity_test.c | 2 +- test/core/end2end/fuzzers/api_fuzzer.c | 18 +-- test/core/http/httpcli_test.c | 10 +- test/core/http/httpscli_test.c | 10 +- test/core/iomgr/endpoint_tests.c | 4 +- test/core/iomgr/fd_posix_test.c | 24 +-- test/core/iomgr/resolve_address_posix_test.c | 27 ++-- test/core/iomgr/resolve_address_test.c | 27 ++-- test/core/iomgr/tcp_client_posix_test.c | 23 ++- test/core/iomgr/tcp_posix_test.c | 31 ++-- test/core/iomgr/tcp_server_posix_test.c | 8 +- test/core/iomgr/timer_list_test.c | 83 ++++------ test/core/iomgr/udp_server_test.c | 11 +- test/core/security/credentials_test.c | 33 ++-- test/core/security/jwt_verifier_test.c | 14 +- test/core/security/ssl_server_fuzzer.c | 3 +- test/core/support/BUILD | 10 -- test/core/support/backoff_test.c | 143 ----------------- .../surface/concurrent_connectivity_test.c | 10 +- test/core/util/test_tcp_server.c | 4 +- tools/doxygen/Doxyfile.core.internal | 4 +- .../generated/sources_and_headers.json | 38 ++--- tools/run_tests/generated/tests.json | 44 +++--- vsprojects/buildtests_c.sln | 52 ++++--- vsprojects/vcxproj/gpr/gpr.vcxproj | 6 +- vsprojects/vcxproj/gpr/gpr.vcxproj.filters | 15 +- .../backoff_test.vcxproj} | 14 +- .../backoff_test.vcxproj.filters} | 12 +- 57 files changed, 662 insertions(+), 693 deletions(-) rename src/core/lib/{support => backoff}/backoff.c (69%) rename src/core/lib/{support => backoff}/backoff.h (72%) create mode 100644 test/core/backoff/BUILD create mode 100644 test/core/backoff/backoff_test.c delete mode 100644 test/core/support/backoff_test.c rename vsprojects/vcxproj/test/{gpr_backoff_test/gpr_backoff_test.vcxproj => backoff_test/backoff_test.vcxproj} (95%) rename vsprojects/vcxproj/test/{gpr_backoff_test/gpr_backoff_test.vcxproj.filters => backoff_test/backoff_test.vcxproj.filters} (53%) diff --git a/BUILD b/BUILD index 9f1ab2a5384..c69dd5e4613 100644 --- a/BUILD +++ b/BUILD @@ -465,7 +465,7 @@ grpc_cc_library( "src/core/lib/support/arena.c", "src/core/lib/support/atm.c", "src/core/lib/support/avl.c", - "src/core/lib/support/backoff.c", + "src/core/lib/backoff/backoff.c", "src/core/lib/support/cmdline.c", "src/core/lib/support/cpu_iphone.c", "src/core/lib/support/cpu_linux.c", @@ -512,7 +512,7 @@ grpc_cc_library( "src/core/lib/support/atomic.h", "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", - "src/core/lib/support/backoff.h", + "src/core/lib/backoff/backoff.h", "src/core/lib/support/block_annotate.h", "src/core/lib/support/env.h", "src/core/lib/support/memory.h", diff --git a/CMakeLists.txt b/CMakeLists.txt index 5413bbcc0f3..ca68050ff3d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -390,6 +390,7 @@ add_dependencies(buildtests_c algorithm_test) add_dependencies(buildtests_c alloc_test) add_dependencies(buildtests_c alpn_test) add_dependencies(buildtests_c arena_test) +add_dependencies(buildtests_c backoff_test) add_dependencies(buildtests_c bad_server_response_test) add_dependencies(buildtests_c bdp_estimator_test) add_dependencies(buildtests_c bin_decoder_test) @@ -435,7 +436,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_dependencies(buildtests_c goaway_server_test) endif() add_dependencies(buildtests_c gpr_avl_test) -add_dependencies(buildtests_c gpr_backoff_test) add_dependencies(buildtests_c gpr_cmdline_test) add_dependencies(buildtests_c gpr_cpu_test) add_dependencies(buildtests_c gpr_env_test) @@ -769,13 +769,13 @@ endif (gRPC_BUILD_TESTS) add_library(gpr + src/core/lib/backoff/backoff.c src/core/lib/profiling/basic_timers.c src/core/lib/profiling/stap_timers.c src/core/lib/support/alloc.c src/core/lib/support/arena.c src/core/lib/support/atm.c src/core/lib/support/avl.c - src/core/lib/support/backoff.c src/core/lib/support/cmdline.c src/core/lib/support/cpu_iphone.c src/core/lib/support/cpu_linux.c @@ -4659,6 +4659,37 @@ target_link_libraries(arena_test endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_TESTS) +add_executable(backoff_test + test/core/backoff/backoff_test.c +) + + +target_include_directories(backoff_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${BORINGSSL_ROOT_DIR}/include + PRIVATE ${PROTOBUF_ROOT_DIR}/src + PRIVATE ${BENCHMARK_ROOT_DIR}/include + PRIVATE ${ZLIB_ROOT_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib + PRIVATE ${CARES_BUILD_INCLUDE_DIR} + PRIVATE ${CARES_INCLUDE_DIR} + PRIVATE ${CARES_PLATFORM_INCLUDE_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/cares/cares + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/gflags/include +) + +target_link_libraries(backoff_test + ${_gRPC_ALLTARGETS_LIBRARIES} + grpc_test_util + grpc + gpr_test_util + gpr +) + +endif (gRPC_BUILD_TESTS) +if (gRPC_BUILD_TESTS) + add_executable(bad_server_response_test test/core/end2end/bad_server_response_test.c ) @@ -5769,35 +5800,6 @@ target_link_libraries(gpr_avl_test endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_TESTS) -add_executable(gpr_backoff_test - test/core/support/backoff_test.c -) - - -target_include_directories(gpr_backoff_test - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include - PRIVATE ${BORINGSSL_ROOT_DIR}/include - PRIVATE ${PROTOBUF_ROOT_DIR}/src - PRIVATE ${BENCHMARK_ROOT_DIR}/include - PRIVATE ${ZLIB_ROOT_DIR} - PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib - PRIVATE ${CARES_BUILD_INCLUDE_DIR} - PRIVATE ${CARES_INCLUDE_DIR} - PRIVATE ${CARES_PLATFORM_INCLUDE_DIR} - PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/cares/cares - PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/gflags/include -) - -target_link_libraries(gpr_backoff_test - ${_gRPC_ALLTARGETS_LIBRARIES} - gpr_test_util - gpr -) - -endif (gRPC_BUILD_TESTS) -if (gRPC_BUILD_TESTS) - add_executable(gpr_cmdline_test test/core/support/cmdline_test.c ) diff --git a/Makefile b/Makefile index 210d6768222..76ac2ca374e 100644 --- a/Makefile +++ b/Makefile @@ -950,6 +950,7 @@ alloc_test: $(BINDIR)/$(CONFIG)/alloc_test alpn_test: $(BINDIR)/$(CONFIG)/alpn_test api_fuzzer: $(BINDIR)/$(CONFIG)/api_fuzzer arena_test: $(BINDIR)/$(CONFIG)/arena_test +backoff_test: $(BINDIR)/$(CONFIG)/backoff_test bad_server_response_test: $(BINDIR)/$(CONFIG)/bad_server_response_test bdp_estimator_test: $(BINDIR)/$(CONFIG)/bdp_estimator_test bin_decoder_test: $(BINDIR)/$(CONFIG)/bin_decoder_test @@ -986,7 +987,6 @@ gen_legal_metadata_characters: $(BINDIR)/$(CONFIG)/gen_legal_metadata_characters gen_percent_encoding_tables: $(BINDIR)/$(CONFIG)/gen_percent_encoding_tables goaway_server_test: $(BINDIR)/$(CONFIG)/goaway_server_test gpr_avl_test: $(BINDIR)/$(CONFIG)/gpr_avl_test -gpr_backoff_test: $(BINDIR)/$(CONFIG)/gpr_backoff_test gpr_cmdline_test: $(BINDIR)/$(CONFIG)/gpr_cmdline_test gpr_cpu_test: $(BINDIR)/$(CONFIG)/gpr_cpu_test gpr_env_test: $(BINDIR)/$(CONFIG)/gpr_env_test @@ -1340,6 +1340,7 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/alloc_test \ $(BINDIR)/$(CONFIG)/alpn_test \ $(BINDIR)/$(CONFIG)/arena_test \ + $(BINDIR)/$(CONFIG)/backoff_test \ $(BINDIR)/$(CONFIG)/bad_server_response_test \ $(BINDIR)/$(CONFIG)/bdp_estimator_test \ $(BINDIR)/$(CONFIG)/bin_decoder_test \ @@ -1371,7 +1372,6 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/fling_test \ $(BINDIR)/$(CONFIG)/goaway_server_test \ $(BINDIR)/$(CONFIG)/gpr_avl_test \ - $(BINDIR)/$(CONFIG)/gpr_backoff_test \ $(BINDIR)/$(CONFIG)/gpr_cmdline_test \ $(BINDIR)/$(CONFIG)/gpr_cpu_test \ $(BINDIR)/$(CONFIG)/gpr_env_test \ @@ -1735,6 +1735,8 @@ test_c: buildtests_c $(Q) $(BINDIR)/$(CONFIG)/alpn_test || ( echo test alpn_test failed ; exit 1 ) $(E) "[RUN] Testing arena_test" $(Q) $(BINDIR)/$(CONFIG)/arena_test || ( echo test arena_test failed ; exit 1 ) + $(E) "[RUN] Testing backoff_test" + $(Q) $(BINDIR)/$(CONFIG)/backoff_test || ( echo test backoff_test failed ; exit 1 ) $(E) "[RUN] Testing bad_server_response_test" $(Q) $(BINDIR)/$(CONFIG)/bad_server_response_test || ( echo test bad_server_response_test failed ; exit 1 ) $(E) "[RUN] Testing bdp_estimator_test" @@ -1793,8 +1795,6 @@ test_c: buildtests_c $(Q) $(BINDIR)/$(CONFIG)/goaway_server_test || ( echo test goaway_server_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_avl_test" $(Q) $(BINDIR)/$(CONFIG)/gpr_avl_test || ( echo test gpr_avl_test failed ; exit 1 ) - $(E) "[RUN] Testing gpr_backoff_test" - $(Q) $(BINDIR)/$(CONFIG)/gpr_backoff_test || ( echo test gpr_backoff_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_cmdline_test" $(Q) $(BINDIR)/$(CONFIG)/gpr_cmdline_test || ( echo test gpr_cmdline_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_cpu_test" @@ -2736,13 +2736,13 @@ clean: LIBGPR_SRC = \ + src/core/lib/backoff/backoff.c \ src/core/lib/profiling/basic_timers.c \ src/core/lib/profiling/stap_timers.c \ src/core/lib/support/alloc.c \ src/core/lib/support/arena.c \ src/core/lib/support/atm.c \ src/core/lib/support/avl.c \ - src/core/lib/support/backoff.c \ src/core/lib/support/cmdline.c \ src/core/lib/support/cpu_iphone.c \ src/core/lib/support/cpu_linux.c \ @@ -8274,6 +8274,38 @@ endif endif +BACKOFF_TEST_SRC = \ + test/core/backoff/backoff_test.c \ + +BACKOFF_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BACKOFF_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/backoff_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/backoff_test: $(BACKOFF_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(BACKOFF_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/backoff_test + +endif + +$(OBJDIR)/$(CONFIG)/test/core/backoff/backoff_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_backoff_test: $(BACKOFF_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(BACKOFF_TEST_OBJS:.o=.dep) +endif +endif + + BAD_SERVER_RESPONSE_TEST_SRC = \ test/core/end2end/bad_server_response_test.c \ @@ -9426,38 +9458,6 @@ endif endif -GPR_BACKOFF_TEST_SRC = \ - test/core/support/backoff_test.c \ - -GPR_BACKOFF_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_BACKOFF_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/gpr_backoff_test: openssl_dep_error - -else - - - -$(BINDIR)/$(CONFIG)/gpr_backoff_test: $(GPR_BACKOFF_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_BACKOFF_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_backoff_test - -endif - -$(OBJDIR)/$(CONFIG)/test/core/support/backoff_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -deps_gpr_backoff_test: $(GPR_BACKOFF_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(GPR_BACKOFF_TEST_OBJS:.o=.dep) -endif -endif - - GPR_CMDLINE_TEST_SRC = \ test/core/support/cmdline_test.c \ diff --git a/binding.gyp b/binding.gyp index ae78d931f2d..92562648237 100644 --- a/binding.gyp +++ b/binding.gyp @@ -579,13 +579,13 @@ 'dependencies': [ ], 'sources': [ + 'src/core/lib/backoff/backoff.c', 'src/core/lib/profiling/basic_timers.c', 'src/core/lib/profiling/stap_timers.c', 'src/core/lib/support/alloc.c', 'src/core/lib/support/arena.c', 'src/core/lib/support/atm.c', 'src/core/lib/support/avl.c', - 'src/core/lib/support/backoff.c', 'src/core/lib/support/cmdline.c', 'src/core/lib/support/cpu_iphone.c', 'src/core/lib/support/cpu_linux.c', diff --git a/build.yaml b/build.yaml index 581fa65a235..01c6b42baa7 100644 --- a/build.yaml +++ b/build.yaml @@ -87,12 +87,12 @@ filegroups: - include/grpc/support/tls_pthread.h - include/grpc/support/useful.h headers: + - src/core/lib/backoff/backoff.h - src/core/lib/profiling/timers.h - src/core/lib/support/arena.h - src/core/lib/support/atomic.h - src/core/lib/support/atomic_with_atm.h - src/core/lib/support/atomic_with_std.h - - src/core/lib/support/backoff.h - src/core/lib/support/block_annotate.h - src/core/lib/support/env.h - src/core/lib/support/memory.h @@ -106,13 +106,13 @@ filegroups: - src/core/lib/support/time_precise.h - src/core/lib/support/tmpfile.h src: + - src/core/lib/backoff/backoff.c - src/core/lib/profiling/basic_timers.c - src/core/lib/profiling/stap_timers.c - src/core/lib/support/alloc.c - src/core/lib/support/arena.c - src/core/lib/support/atm.c - src/core/lib/support/avl.c - - src/core/lib/support/backoff.c - src/core/lib/support/cmdline.c - src/core/lib/support/cpu_iphone.c - src/core/lib/support/cpu_linux.c @@ -1658,6 +1658,16 @@ targets: deps: - gpr_test_util - gpr +- name: backoff_test + build: test + language: c + src: + - test/core/backoff/backoff_test.c + deps: + - grpc_test_util + - grpc + - gpr_test_util + - gpr - name: bad_server_response_test build: test language: c @@ -2061,14 +2071,6 @@ targets: deps: - gpr_test_util - gpr -- name: gpr_backoff_test - build: test - language: c - src: - - test/core/support/backoff_test.c - deps: - - gpr_test_util - - gpr - name: gpr_cmdline_test build: test language: c diff --git a/config.m4 b/config.m4 index e214f9c5464..37c641f4cef 100644 --- a/config.m4 +++ b/config.m4 @@ -39,13 +39,13 @@ if test "$PHP_GRPC" != "no"; then src/php/ext/grpc/server.c \ src/php/ext/grpc/server_credentials.c \ src/php/ext/grpc/timeval.c \ + src/core/lib/backoff/backoff.c \ src/core/lib/profiling/basic_timers.c \ src/core/lib/profiling/stap_timers.c \ src/core/lib/support/alloc.c \ src/core/lib/support/arena.c \ src/core/lib/support/atm.c \ src/core/lib/support/avl.c \ - src/core/lib/support/backoff.c \ src/core/lib/support/cmdline.c \ src/core/lib/support/cpu_iphone.c \ src/core/lib/support/cpu_linux.c \ @@ -677,6 +677,7 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/server/secure) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/transport) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/inproc) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/backoff) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/channel) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/compression) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/debug) diff --git a/config.w32 b/config.w32 index 6d50712fb54..1d3b7b810a8 100644 --- a/config.w32 +++ b/config.w32 @@ -16,13 +16,13 @@ if (PHP_GRPC != "no") { "src\\php\\ext\\grpc\\server.c " + "src\\php\\ext\\grpc\\server_credentials.c " + "src\\php\\ext\\grpc\\timeval.c " + + "src\\core\\lib\\backoff\\backoff.c " + "src\\core\\lib\\profiling\\basic_timers.c " + "src\\core\\lib\\profiling\\stap_timers.c " + "src\\core\\lib\\support\\alloc.c " + "src\\core\\lib\\support\\arena.c " + "src\\core\\lib\\support\\atm.c " + "src\\core\\lib\\support\\avl.c " + - "src\\core\\lib\\support\\backoff.c " + "src\\core\\lib\\support\\cmdline.c " + "src\\core\\lib\\support\\cpu_iphone.c " + "src\\core\\lib\\support\\cpu_linux.c " + @@ -690,6 +690,7 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\transport\\chttp2\\transport"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\transport\\inproc"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\backoff"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\channel"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\compression"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\debug"); diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index cf3fc3598a2..5e1f663bb6e 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -180,12 +180,12 @@ Pod::Spec.new do |s| ss.dependency 'nanopb', '~> 0.3' # To save you from scrolling, this is the last part of the podspec. - ss.source_files = 'src/core/lib/profiling/timers.h', + ss.source_files = 'src/core/lib/backoff/backoff.h', + 'src/core/lib/profiling/timers.h', 'src/core/lib/support/arena.h', 'src/core/lib/support/atomic.h', 'src/core/lib/support/atomic_with_atm.h', 'src/core/lib/support/atomic_with_std.h', - 'src/core/lib/support/backoff.h', 'src/core/lib/support/block_annotate.h', 'src/core/lib/support/env.h', 'src/core/lib/support/memory.h', @@ -198,13 +198,13 @@ Pod::Spec.new do |s| 'src/core/lib/support/thd_internal.h', 'src/core/lib/support/time_precise.h', 'src/core/lib/support/tmpfile.h', + 'src/core/lib/backoff/backoff.c', 'src/core/lib/profiling/basic_timers.c', 'src/core/lib/profiling/stap_timers.c', 'src/core/lib/support/alloc.c', 'src/core/lib/support/arena.c', 'src/core/lib/support/atm.c', 'src/core/lib/support/avl.c', - 'src/core/lib/support/backoff.c', 'src/core/lib/support/cmdline.c', 'src/core/lib/support/cpu_iphone.c', 'src/core/lib/support/cpu_linux.c', @@ -708,12 +708,12 @@ Pod::Spec.new do |s| 'src/core/ext/filters/workarounds/workaround_utils.c', 'src/core/plugin_registry/grpc_plugin_registry.c' - ss.private_header_files = 'src/core/lib/profiling/timers.h', + ss.private_header_files = 'src/core/lib/backoff/backoff.h', + 'src/core/lib/profiling/timers.h', 'src/core/lib/support/arena.h', 'src/core/lib/support/atomic.h', 'src/core/lib/support/atomic_with_atm.h', 'src/core/lib/support/atomic_with_std.h', - 'src/core/lib/support/backoff.h', 'src/core/lib/support/block_annotate.h', 'src/core/lib/support/env.h', 'src/core/lib/support/memory.h', diff --git a/grpc.gemspec b/grpc.gemspec index a87c113b04b..45fed61c272 100755 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -80,12 +80,12 @@ Gem::Specification.new do |s| s.files += %w( include/grpc/impl/codegen/sync_generic.h ) s.files += %w( include/grpc/impl/codegen/sync_posix.h ) s.files += %w( include/grpc/impl/codegen/sync_windows.h ) + s.files += %w( src/core/lib/backoff/backoff.h ) s.files += %w( src/core/lib/profiling/timers.h ) s.files += %w( src/core/lib/support/arena.h ) s.files += %w( src/core/lib/support/atomic.h ) s.files += %w( src/core/lib/support/atomic_with_atm.h ) s.files += %w( src/core/lib/support/atomic_with_std.h ) - s.files += %w( src/core/lib/support/backoff.h ) s.files += %w( src/core/lib/support/block_annotate.h ) s.files += %w( src/core/lib/support/env.h ) s.files += %w( src/core/lib/support/memory.h ) @@ -98,13 +98,13 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/support/thd_internal.h ) s.files += %w( src/core/lib/support/time_precise.h ) s.files += %w( src/core/lib/support/tmpfile.h ) + s.files += %w( src/core/lib/backoff/backoff.c ) s.files += %w( src/core/lib/profiling/basic_timers.c ) s.files += %w( src/core/lib/profiling/stap_timers.c ) s.files += %w( src/core/lib/support/alloc.c ) s.files += %w( src/core/lib/support/arena.c ) s.files += %w( src/core/lib/support/atm.c ) s.files += %w( src/core/lib/support/avl.c ) - s.files += %w( src/core/lib/support/backoff.c ) s.files += %w( src/core/lib/support/cmdline.c ) s.files += %w( src/core/lib/support/cpu_iphone.c ) s.files += %w( src/core/lib/support/cpu_linux.c ) diff --git a/package.xml b/package.xml index 256a21d017b..0d5f49c889b 100644 --- a/package.xml +++ b/package.xml @@ -94,12 +94,12 @@ + - @@ -112,13 +112,13 @@ + - diff --git a/src/core/ext/filters/client_channel/channel_connectivity.c b/src/core/ext/filters/client_channel/channel_connectivity.c index 39dd927d705..72324d7eb1f 100644 --- a/src/core/ext/filters/client_channel/channel_connectivity.c +++ b/src/core/ext/filters/client_channel/channel_connectivity.c @@ -186,8 +186,7 @@ static void watcher_timer_init(grpc_exec_ctx *exec_ctx, void *arg, watcher_timer_init_arg *wa = (watcher_timer_init_arg *)arg; grpc_timer_init(exec_ctx, &wa->w->alarm, - grpc_timespec_to_millis(exec_ctx, wa->deadline), - &wa->w->on_timeout); + grpc_timespec_to_millis(wa->deadline), &wa->w->on_timeout); gpr_free(wa); } diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c index cccc3e871a6..c55fffee4d8 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c @@ -101,6 +101,7 @@ #include "src/core/ext/filters/client_channel/lb_policy_registry.h" #include "src/core/ext/filters/client_channel/parse_address.h" #include "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h" +#include "src/core/lib/backoff/backoff.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/iomgr/combiner.h" @@ -110,7 +111,6 @@ #include "src/core/lib/slice/slice_hash_table.h" #include "src/core/lib/slice/slice_internal.h" #include "src/core/lib/slice/slice_string_helpers.h" -#include "src/core/lib/support/backoff.h" #include "src/core/lib/support/string.h" #include "src/core/lib/surface/call.h" #include "src/core/lib/surface/channel.h" @@ -384,7 +384,7 @@ typedef struct glb_lb_policy { grpc_slice lb_call_status_details; /** LB call retry backoff state */ - gpr_backoff lb_call_backoff_state; + grpc_backoff lb_call_backoff_state; /** LB call retry timer */ grpc_timer lb_call_retry_timer; @@ -396,7 +396,7 @@ typedef struct glb_lb_policy { * recreated whenever lb_call is replaced. */ grpc_grpclb_client_stats *client_stats; /* Interval and timer for next client load report. */ - gpr_timespec client_stats_report_interval; + grpc_millis client_stats_report_interval; grpc_timer client_load_report_timer; bool client_load_report_timer_pending; bool last_client_load_report_counters_were_zero; @@ -1140,7 +1140,7 @@ static void query_for_backends_locked(grpc_exec_ctx *exec_ctx, static void start_picking_locked(grpc_exec_ctx *exec_ctx, glb_lb_policy *glb_policy) { glb_policy->started_picking = true; - gpr_backoff_reset(&glb_policy->lb_call_backoff_state); + grpc_backoff_reset(&glb_policy->lb_call_backoff_state); query_for_backends_locked(exec_ctx, glb_policy); } @@ -1245,15 +1245,14 @@ static void send_client_load_report_locked(grpc_exec_ctx *exec_ctx, void *arg, static void schedule_next_client_load_report(grpc_exec_ctx *exec_ctx, glb_lb_policy *glb_policy) { - const gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); - const gpr_timespec next_client_load_report_time = - gpr_time_add(now, glb_policy->client_stats_report_interval); + const grpc_millis next_client_load_report_time = + grpc_exec_ctx_now(exec_ctx) + glb_policy->client_stats_report_interval; GRPC_CLOSURE_INIT(&glb_policy->client_load_report_closure, send_client_load_report_locked, glb_policy, grpc_combiner_scheduler(glb_policy->base.combiner)); grpc_timer_init(exec_ctx, &glb_policy->client_load_report_timer, next_client_load_report_time, - &glb_policy->client_load_report_closure, now); + &glb_policy->client_load_report_closure); } static void client_load_report_done_locked(grpc_exec_ctx *exec_ctx, void *arg, @@ -1392,12 +1391,12 @@ static void lb_call_init_locked(grpc_exec_ctx *exec_ctx, lb_on_response_received_locked, glb_policy, grpc_combiner_scheduler(glb_policy->base.combiner)); - gpr_backoff_init(&glb_policy->lb_call_backoff_state, - GRPC_GRPCLB_INITIAL_CONNECT_BACKOFF_SECONDS, - GRPC_GRPCLB_RECONNECT_BACKOFF_MULTIPLIER, - GRPC_GRPCLB_RECONNECT_JITTER, - GRPC_GRPCLB_MIN_CONNECT_TIMEOUT_SECONDS * 1000, - GRPC_GRPCLB_RECONNECT_MAX_BACKOFF_SECONDS * 1000); + grpc_backoff_init(&glb_policy->lb_call_backoff_state, + GRPC_GRPCLB_INITIAL_CONNECT_BACKOFF_SECONDS, + GRPC_GRPCLB_RECONNECT_BACKOFF_MULTIPLIER, + GRPC_GRPCLB_RECONNECT_JITTER, + GRPC_GRPCLB_MIN_CONNECT_TIMEOUT_SECONDS * 1000, + GRPC_GRPCLB_RECONNECT_MAX_BACKOFF_SECONDS * 1000); glb_policy->initial_request_sent = false; glb_policy->seen_initial_response = false; @@ -1522,7 +1521,7 @@ static void lb_on_response_received_locked(grpc_exec_ctx *exec_ctx, void *arg, memset(ops, 0, sizeof(ops)); grpc_op *op = ops; if (glb_policy->lb_response_payload != NULL) { - gpr_backoff_reset(&glb_policy->lb_call_backoff_state); + grpc_backoff_reset(&glb_policy->lb_call_backoff_state); /* Received data from the LB server. Look inside * glb_policy->lb_response_payload, for a serverlist. */ grpc_byte_buffer_reader bbr; @@ -1535,16 +1534,14 @@ static void lb_on_response_received_locked(grpc_exec_ctx *exec_ctx, void *arg, (response = grpc_grpclb_initial_response_parse(response_slice)) != NULL) { if (response->has_client_stats_report_interval) { - glb_policy->client_stats_report_interval = - gpr_time_max(gpr_time_from_seconds(1, GPR_TIMESPAN), - grpc_grpclb_duration_to_timespec( - &response->client_stats_report_interval)); + glb_policy->client_stats_report_interval = GPR_MAX( + GPR_MS_PER_SEC, grpc_grpclb_duration_to_millis( + &response->client_stats_report_interval)); if (GRPC_TRACER_ON(grpc_lb_glb_trace)) { gpr_log(GPR_INFO, "received initial LB response message; " - "client load reporting interval = %" PRId64 ".%09d sec", - glb_policy->client_stats_report_interval.tv_sec, - glb_policy->client_stats_report_interval.tv_nsec); + "client load reporting interval = %" PRIdPTR " milliseconds", + glb_policy->client_stats_report_interval); } /* take a weak ref (won't prevent calling of \a glb_shutdown() if the * strong ref count goes to zero) to be unref'd in @@ -1675,17 +1672,16 @@ static void lb_on_server_status_received_locked(grpc_exec_ctx *exec_ctx, glb_policy->updating_lb_call = false; } else if (!glb_policy->shutting_down) { /* if we aren't shutting down, restart the LB client call after some time */ - gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); - gpr_timespec next_try = - gpr_backoff_step(&glb_policy->lb_call_backoff_state, now); + grpc_millis next_try = + grpc_backoff_step(exec_ctx, &glb_policy->lb_call_backoff_state); if (GRPC_TRACER_ON(grpc_lb_glb_trace)) { gpr_log(GPR_DEBUG, "Connection to LB server lost (grpclb: %p)...", (void *)glb_policy); - gpr_timespec timeout = gpr_time_sub(next_try, now); - if (gpr_time_cmp(timeout, gpr_time_0(timeout.clock_type)) > 0) { + grpc_millis timeout = next_try - grpc_exec_ctx_now(exec_ctx); + if (timeout > 0) { gpr_log(GPR_DEBUG, - "... retry_timer_active in %" PRId64 ".%09d seconds.", - timeout.tv_sec, timeout.tv_nsec); + "... retry_timer_active in %" PRIdPTR " milliseconds.", + timeout); } else { gpr_log(GPR_DEBUG, "... retry_timer_active immediately."); } @@ -1696,7 +1692,7 @@ static void lb_on_server_status_received_locked(grpc_exec_ctx *exec_ctx, grpc_combiner_scheduler(glb_policy->base.combiner)); glb_policy->retry_timer_active = true; grpc_timer_init(exec_ctx, &glb_policy->lb_call_retry_timer, next_try, - &glb_policy->lb_on_call_retry, now); + &glb_policy->lb_on_call_retry); } GRPC_LB_POLICY_WEAK_UNREF(exec_ctx, &glb_policy->base, "lb_on_server_status_received"); diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c index bec7c97a787..6bf93a42c26 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c @@ -258,13 +258,10 @@ int grpc_grpclb_duration_compare(const grpc_grpclb_duration *lhs, return 0; } -gpr_timespec grpc_grpclb_duration_to_timespec( - grpc_grpclb_duration *duration_pb) { - gpr_timespec duration; - duration.tv_sec = duration_pb->has_seconds ? duration_pb->seconds : 0; - duration.tv_nsec = duration_pb->has_nanos ? duration_pb->nanos : 0; - duration.clock_type = GPR_TIMESPAN; - return duration; +grpc_millis grpc_grpclb_duration_to_millis(grpc_grpclb_duration *duration_pb) { + return (duration_pb->has_seconds ? duration_pb->seconds : 0) * + GPR_MS_PER_SEC + + (duration_pb->has_nanos ? duration_pb->nanos : 0) / GPR_NS_PER_MS; } void grpc_grpclb_initial_response_destroy( diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h index ef8d563edcd..4f79629f124 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h @@ -81,8 +81,7 @@ void grpc_grpclb_destroy_serverlist(grpc_grpclb_serverlist *serverlist); int grpc_grpclb_duration_compare(const grpc_grpclb_duration *lhs, const grpc_grpclb_duration *rhs); -gpr_timespec grpc_grpclb_duration_to_timespec( - grpc_grpclb_duration *duration_pb); +grpc_millis grpc_grpclb_duration_to_millis(grpc_grpclb_duration *duration_pb); /** Destroy \a initial_response */ void grpc_grpclb_initial_response_destroy( diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c index 04a7852323d..ad91b83c85e 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c @@ -29,11 +29,11 @@ #include "src/core/ext/filters/client_channel/lb_policy_registry.h" #include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h" #include "src/core/ext/filters/client_channel/resolver_registry.h" +#include "src/core/lib/backoff/backoff.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/iomgr/combiner.h" #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/iomgr/timer.h" -#include "src/core/lib/support/backoff.h" #include "src/core/lib/support/env.h" #include "src/core/lib/support/string.h" @@ -81,7 +81,7 @@ typedef struct { bool have_retry_timer; grpc_timer retry_timer; /** retry backoff state */ - gpr_backoff backoff_state; + grpc_backoff backoff_state; /** currently resolving addresses */ grpc_lb_addresses *lb_addresses; @@ -127,7 +127,7 @@ static void dns_ares_channel_saw_error_locked(grpc_exec_ctx *exec_ctx, grpc_resolver *resolver) { ares_dns_resolver *r = (ares_dns_resolver *)resolver; if (!r->resolving) { - gpr_backoff_reset(&r->backoff_state); + grpc_backoff_reset(&r->backoff_state); dns_ares_start_resolving_locked(exec_ctx, r); } } @@ -158,22 +158,20 @@ static void dns_ares_on_resolved_locked(grpc_exec_ctx *exec_ctx, void *arg, } else { const char *msg = grpc_error_string(error); gpr_log(GPR_DEBUG, "dns resolution failed: %s", msg); - gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); - gpr_timespec next_try = gpr_backoff_step(&r->backoff_state, now); - gpr_timespec timeout = gpr_time_sub(next_try, now); + grpc_millis next_try = grpc_backoff_step(exec_ctx, &r->backoff_state); + grpc_millis timeout = next_try - grpc_exec_ctx_now(exec_ctx); gpr_log(GPR_INFO, "dns resolution failed (will retry): %s", grpc_error_string(error)); GPR_ASSERT(!r->have_retry_timer); r->have_retry_timer = true; GRPC_RESOLVER_REF(&r->base, "retry-timer"); - if (gpr_time_cmp(timeout, gpr_time_0(timeout.clock_type)) > 0) { - gpr_log(GPR_DEBUG, "retrying in %" PRId64 ".%09d seconds", timeout.tv_sec, - timeout.tv_nsec); + if (timeout > 0) { + gpr_log(GPR_DEBUG, "retrying in %" PRIdPTR " milliseconds", timeout); } else { gpr_log(GPR_DEBUG, "retrying immediately"); } grpc_timer_init(exec_ctx, &r->retry_timer, next_try, - &r->dns_ares_on_retry_timer_locked, now); + &r->dns_ares_on_retry_timer_locked); } if (r->resolved_result != NULL) { grpc_channel_args_destroy(exec_ctx, r->resolved_result); @@ -194,7 +192,7 @@ static void dns_ares_next_locked(grpc_exec_ctx *exec_ctx, r->next_completion = on_complete; r->target_result = target_result; if (r->resolved_version == 0 && !r->resolving) { - gpr_backoff_reset(&r->backoff_state); + grpc_backoff_reset(&r->backoff_state); dns_ares_start_resolving_locked(exec_ctx, r); } else { dns_ares_maybe_finish_next_locked(exec_ctx, r); @@ -261,11 +259,11 @@ static grpc_resolver *dns_ares_create(grpc_exec_ctx *exec_ctx, grpc_pollset_set_add_pollset_set(exec_ctx, r->interested_parties, args->pollset_set); } - gpr_backoff_init(&r->backoff_state, GRPC_DNS_INITIAL_CONNECT_BACKOFF_SECONDS, - GRPC_DNS_RECONNECT_BACKOFF_MULTIPLIER, - GRPC_DNS_RECONNECT_JITTER, - GRPC_DNS_MIN_CONNECT_TIMEOUT_SECONDS * 1000, - GRPC_DNS_RECONNECT_MAX_BACKOFF_SECONDS * 1000); + grpc_backoff_init(&r->backoff_state, GRPC_DNS_INITIAL_CONNECT_BACKOFF_SECONDS, + GRPC_DNS_RECONNECT_BACKOFF_MULTIPLIER, + GRPC_DNS_RECONNECT_JITTER, + GRPC_DNS_MIN_CONNECT_TIMEOUT_SECONDS * 1000, + GRPC_DNS_RECONNECT_MAX_BACKOFF_SECONDS * 1000); GRPC_CLOSURE_INIT(&r->dns_ares_on_retry_timer_locked, dns_ares_on_retry_timer_locked, r, grpc_combiner_scheduler(r->base.combiner)); diff --git a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c index 5ea75f05549..7287a5dabce 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c +++ b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c @@ -24,11 +24,11 @@ #include "src/core/ext/filters/client_channel/lb_policy_registry.h" #include "src/core/ext/filters/client_channel/resolver_registry.h" +#include "src/core/lib/backoff/backoff.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/iomgr/combiner.h" #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/iomgr/timer.h" -#include "src/core/lib/support/backoff.h" #include "src/core/lib/support/env.h" #include "src/core/lib/support/string.h" @@ -67,7 +67,7 @@ typedef struct { grpc_timer retry_timer; grpc_closure on_retry; /** retry backoff state */ - gpr_backoff backoff_state; + grpc_backoff backoff_state; /** currently resolving addresses */ grpc_resolved_addresses *addresses; @@ -110,7 +110,7 @@ static void dns_channel_saw_error_locked(grpc_exec_ctx *exec_ctx, grpc_resolver *resolver) { dns_resolver *r = (dns_resolver *)resolver; if (!r->resolving) { - gpr_backoff_reset(&r->backoff_state); + grpc_backoff_reset(&r->backoff_state); dns_start_resolving_locked(exec_ctx, r); } } @@ -123,7 +123,7 @@ static void dns_next_locked(grpc_exec_ctx *exec_ctx, grpc_resolver *resolver, r->next_completion = on_complete; r->target_result = target_result; if (r->resolved_version == 0 && !r->resolving) { - gpr_backoff_reset(&r->backoff_state); + grpc_backoff_reset(&r->backoff_state); dns_start_resolving_locked(exec_ctx, r); } else { dns_maybe_finish_next_locked(exec_ctx, r); @@ -164,23 +164,21 @@ static void dns_on_resolved_locked(grpc_exec_ctx *exec_ctx, void *arg, grpc_resolved_addresses_destroy(r->addresses); grpc_lb_addresses_destroy(exec_ctx, addresses); } else { - gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); - gpr_timespec next_try = gpr_backoff_step(&r->backoff_state, now); - gpr_timespec timeout = gpr_time_sub(next_try, now); + grpc_millis next_try = grpc_backoff_step(exec_ctx, &r->backoff_state); + grpc_millis timeout = next_try - grpc_exec_ctx_now(exec_ctx); gpr_log(GPR_INFO, "dns resolution failed (will retry): %s", grpc_error_string(error)); GPR_ASSERT(!r->have_retry_timer); r->have_retry_timer = true; GRPC_RESOLVER_REF(&r->base, "retry-timer"); - if (gpr_time_cmp(timeout, gpr_time_0(timeout.clock_type)) > 0) { - gpr_log(GPR_DEBUG, "retrying in %" PRId64 ".%09d seconds", timeout.tv_sec, - timeout.tv_nsec); + if (timeout > 0) { + gpr_log(GPR_DEBUG, "retrying in %" PRIdPTR " milliseconds", timeout); } else { gpr_log(GPR_DEBUG, "retrying immediately"); } GRPC_CLOSURE_INIT(&r->on_retry, dns_on_retry_timer_locked, r, grpc_combiner_scheduler(r->base.combiner)); - grpc_timer_init(exec_ctx, &r->retry_timer, next_try, &r->on_retry, now); + grpc_timer_init(exec_ctx, &r->retry_timer, next_try, &r->on_retry); } if (r->resolved_result != NULL) { grpc_channel_args_destroy(exec_ctx, r->resolved_result); @@ -251,11 +249,11 @@ static grpc_resolver *dns_create(grpc_exec_ctx *exec_ctx, grpc_pollset_set_add_pollset_set(exec_ctx, r->interested_parties, args->pollset_set); } - gpr_backoff_init(&r->backoff_state, GRPC_DNS_INITIAL_CONNECT_BACKOFF_SECONDS, - GRPC_DNS_RECONNECT_BACKOFF_MULTIPLIER, - GRPC_DNS_RECONNECT_JITTER, - GRPC_DNS_MIN_CONNECT_TIMEOUT_SECONDS * 1000, - GRPC_DNS_RECONNECT_MAX_BACKOFF_SECONDS * 1000); + grpc_backoff_init(&r->backoff_state, GRPC_DNS_INITIAL_CONNECT_BACKOFF_SECONDS, + GRPC_DNS_RECONNECT_BACKOFF_MULTIPLIER, + GRPC_DNS_RECONNECT_JITTER, + GRPC_DNS_MIN_CONNECT_TIMEOUT_SECONDS * 1000, + GRPC_DNS_RECONNECT_MAX_BACKOFF_SECONDS * 1000); return &r->base; } diff --git a/src/core/ext/filters/client_channel/subchannel.c b/src/core/ext/filters/client_channel/subchannel.c index bdaf567d6a2..22829c39b34 100644 --- a/src/core/ext/filters/client_channel/subchannel.c +++ b/src/core/ext/filters/client_channel/subchannel.c @@ -30,13 +30,13 @@ #include "src/core/ext/filters/client_channel/proxy_mapper_registry.h" #include "src/core/ext/filters/client_channel/subchannel_index.h" #include "src/core/ext/filters/client_channel/uri_parser.h" +#include "src/core/lib/backoff/backoff.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/iomgr/sockaddr_utils.h" #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/profiling/timers.h" #include "src/core/lib/slice/slice_internal.h" -#include "src/core/lib/support/backoff.h" #include "src/core/lib/surface/channel.h" #include "src/core/lib/surface/channel_init.h" #include "src/core/lib/transport/connectivity_state.h" @@ -118,7 +118,7 @@ struct grpc_subchannel { /** next connect attempt time */ grpc_millis next_attempt; /** backoff state */ - gpr_backoff backoff_state; + grpc_backoff backoff_state; /** do we have an active alarm? */ bool have_alarm; /** have we started the backoff loop */ @@ -363,7 +363,7 @@ grpc_subchannel *grpc_subchannel_create(grpc_exec_ctx *exec_ctx, } } } - gpr_backoff_init( + grpc_backoff_init( &c->backoff_state, initial_backoff_ms, fixed_reconnect_backoff ? 1.0 : GRPC_SUBCHANNEL_RECONNECT_BACKOFF_MULTIPLIER, @@ -427,8 +427,7 @@ static void on_alarm(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { } if (error == GRPC_ERROR_NONE) { gpr_log(GPR_INFO, "Failed to connect to channel, retrying"); - c->next_attempt = - gpr_backoff_step(&c->backoff_state, gpr_now(GPR_CLOCK_MONOTONIC)); + c->next_attempt = grpc_backoff_step(exec_ctx, &c->backoff_state); continue_connect_locked(exec_ctx, c); gpr_mu_unlock(&c->mu); } else { @@ -465,21 +464,20 @@ static void maybe_start_connecting_locked(grpc_exec_ctx *exec_ctx, if (!c->backoff_begun) { c->backoff_begun = true; - c->next_attempt = gpr_backoff_begin(&c->backoff_state, now); + c->next_attempt = grpc_backoff_begin(exec_ctx, &c->backoff_state); continue_connect_locked(exec_ctx, c); } else { GPR_ASSERT(!c->have_alarm); c->have_alarm = true; - gpr_timespec time_til_next = gpr_time_sub(c->next_attempt, now); - if (gpr_time_cmp(time_til_next, gpr_time_0(time_til_next.clock_type)) <= - 0) { + const grpc_millis time_til_next = + c->next_attempt - grpc_exec_ctx_now(exec_ctx); + if (time_til_next <= 0) { gpr_log(GPR_INFO, "Retry immediately"); } else { - gpr_log(GPR_INFO, "Retry in %" PRId64 ".%09d seconds", - time_til_next.tv_sec, time_til_next.tv_nsec); + gpr_log(GPR_INFO, "Retry in %" PRIdPTR " milliseconds", time_til_next); } GRPC_CLOSURE_INIT(&c->on_alarm, on_alarm, c, grpc_schedule_on_exec_ctx); - grpc_timer_init(exec_ctx, &c->alarm, c->next_attempt, &c->on_alarm, now); + grpc_timer_init(exec_ctx, &c->alarm, c->next_attempt, &c->on_alarm); } } diff --git a/src/core/ext/filters/deadline/deadline_filter.c b/src/core/ext/filters/deadline/deadline_filter.c index 6789903c95d..035f5abf3e3 100644 --- a/src/core/ext/filters/deadline/deadline_filter.c +++ b/src/core/ext/filters/deadline/deadline_filter.c @@ -53,8 +53,8 @@ static void timer_callback(grpc_exec_ctx* exec_ctx, void* arg, static void start_timer_if_needed(grpc_exec_ctx* exec_ctx, grpc_call_element* elem, gpr_timespec deadline) { - deadline = gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC); - if (gpr_time_cmp(deadline, gpr_inf_future(GPR_CLOCK_MONOTONIC)) == 0) { + grpc_millis deadline_millis = grpc_timespec_to_millis(deadline); + if (deadline_millis == GRPC_MILLIS_INF_FUTURE) { return; } grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data; @@ -94,8 +94,7 @@ retry: } GPR_ASSERT(closure); GRPC_CALL_STACK_REF(deadline_state->call_stack, "deadline_timer"); - grpc_timer_init(exec_ctx, &deadline_state->timer, deadline, closure, - gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timer_init(exec_ctx, &deadline_state->timer, deadline_millis, closure); } // Cancels the deadline timer. diff --git a/src/core/ext/filters/max_age/max_age_filter.c b/src/core/ext/filters/max_age/max_age_filter.c index 7d748b9c320..14565fd5308 100644 --- a/src/core/ext/filters/max_age/max_age_filter.c +++ b/src/core/ext/filters/max_age/max_age_filter.c @@ -56,11 +56,11 @@ typedef struct channel_data { max_connection_idle */ grpc_timer max_idle_timer; /* Allowed max time a channel may have no outstanding rpcs */ - gpr_timespec max_connection_idle; + grpc_millis max_connection_idle; /* Allowed max time a channel may exist */ - gpr_timespec max_connection_age; + grpc_millis max_connection_age; /* Allowed grace period after the channel reaches its max age */ - gpr_timespec max_connection_age_grace; + grpc_millis max_connection_age_grace; /* Closure to run when the channel's idle duration reaches max_connection_idle and should be closed gracefully */ grpc_closure close_max_idle_channel; @@ -99,10 +99,9 @@ static void increase_call_count(grpc_exec_ctx* exec_ctx, channel_data* chand) { static void decrease_call_count(grpc_exec_ctx* exec_ctx, channel_data* chand) { if (gpr_atm_full_fetch_add(&chand->call_count, -1) == 1) { GRPC_CHANNEL_STACK_REF(chand->channel_stack, "max_age max_idle_timer"); - grpc_timer_init( - exec_ctx, &chand->max_idle_timer, - gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), chand->max_connection_idle), - &chand->close_max_idle_channel, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timer_init(exec_ctx, &chand->max_idle_timer, + grpc_exec_ctx_now(exec_ctx) + chand->max_connection_idle, + &chand->close_max_idle_channel); } } @@ -123,10 +122,9 @@ static void start_max_age_timer_after_init(grpc_exec_ctx* exec_ctx, void* arg, gpr_mu_lock(&chand->max_age_timer_mu); chand->max_age_timer_pending = true; GRPC_CHANNEL_STACK_REF(chand->channel_stack, "max_age max_age_timer"); - grpc_timer_init( - exec_ctx, &chand->max_age_timer, - gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), chand->max_connection_age), - &chand->close_max_age_channel, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timer_init(exec_ctx, &chand->max_age_timer, + grpc_exec_ctx_now(exec_ctx) + chand->max_connection_age, + &chand->close_max_age_channel); gpr_mu_unlock(&chand->max_age_timer_mu); grpc_transport_op* op = grpc_make_transport_op(NULL); op->on_connectivity_state_change = &chand->channel_connectivity_changed, @@ -145,10 +143,8 @@ static void start_max_age_grace_timer_after_goaway_op(grpc_exec_ctx* exec_ctx, chand->max_age_grace_timer_pending = true; GRPC_CHANNEL_STACK_REF(chand->channel_stack, "max_age max_age_grace_timer"); grpc_timer_init(exec_ctx, &chand->max_age_grace_timer, - gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), - chand->max_connection_age_grace), - &chand->force_close_max_age_channel, - gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_exec_ctx_now(exec_ctx) + chand->max_connection_age_grace, + &chand->force_close_max_age_channel); gpr_mu_unlock(&chand->max_age_timer_mu); GRPC_CHANNEL_STACK_UNREF(exec_ctx, chand->channel_stack, "max_age start_max_age_grace_timer_after_goaway_op"); @@ -288,29 +284,23 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx, chand->channel_stack = args->channel_stack; chand->max_connection_age = DEFAULT_MAX_CONNECTION_AGE_MS == INT_MAX - ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis(add_random_max_connection_age_jitter( - DEFAULT_MAX_CONNECTION_AGE_MS), - GPR_TIMESPAN); + ? GRPC_MILLIS_INF_FUTURE + : add_random_max_connection_age_jitter(DEFAULT_MAX_CONNECTION_AGE_MS); chand->max_connection_age_grace = DEFAULT_MAX_CONNECTION_AGE_GRACE_MS == INT_MAX - ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis(DEFAULT_MAX_CONNECTION_AGE_GRACE_MS, - GPR_TIMESPAN); - chand->max_connection_idle = - DEFAULT_MAX_CONNECTION_IDLE_MS == INT_MAX - ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis(DEFAULT_MAX_CONNECTION_IDLE_MS, GPR_TIMESPAN); + ? GRPC_MILLIS_INF_FUTURE + : DEFAULT_MAX_CONNECTION_AGE_GRACE_MS; + chand->max_connection_idle = DEFAULT_MAX_CONNECTION_IDLE_MS == INT_MAX + ? GRPC_MILLIS_INF_FUTURE + : DEFAULT_MAX_CONNECTION_IDLE_MS; for (size_t i = 0; i < args->channel_args->num_args; ++i) { if (0 == strcmp(args->channel_args->args[i].key, GRPC_ARG_MAX_CONNECTION_AGE_MS)) { const int value = grpc_channel_arg_get_integer( &args->channel_args->args[i], MAX_CONNECTION_AGE_INTEGER_OPTIONS); chand->max_connection_age = - value == INT_MAX - ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis( - add_random_max_connection_age_jitter(value), GPR_TIMESPAN); + value == INT_MAX ? GRPC_MILLIS_INF_FUTURE + : add_random_max_connection_age_jitter(value); } else if (0 == strcmp(args->channel_args->args[i].key, GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS)) { const int value = grpc_channel_arg_get_integer( @@ -318,15 +308,13 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx, (grpc_integer_options){DEFAULT_MAX_CONNECTION_AGE_GRACE_MS, 0, INT_MAX}); chand->max_connection_age_grace = - value == INT_MAX ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis(value, GPR_TIMESPAN); + value == INT_MAX ? GRPC_MILLIS_INF_FUTURE : value; } else if (0 == strcmp(args->channel_args->args[i].key, GRPC_ARG_MAX_CONNECTION_IDLE_MS)) { const int value = grpc_channel_arg_get_integer( &args->channel_args->args[i], MAX_CONNECTION_IDLE_INTEGER_OPTIONS); chand->max_connection_idle = - value == INT_MAX ? gpr_inf_future(GPR_TIMESPAN) - : gpr_time_from_millis(value, GPR_TIMESPAN); + value == INT_MAX ? GRPC_MILLIS_INF_FUTURE : value; } } GRPC_CLOSURE_INIT(&chand->close_max_idle_channel, close_max_idle_channel, @@ -349,8 +337,7 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx, channel_connectivity_changed, chand, grpc_schedule_on_exec_ctx); - if (gpr_time_cmp(chand->max_connection_age, gpr_inf_future(GPR_TIMESPAN)) != - 0) { + if (chand->max_connection_age != GRPC_MILLIS_INF_FUTURE) { /* When the channel reaches its max age, we send down an op with goaway_error set. However, we can't send down any ops until after the channel stack is fully initialized. If we start the timer here, we have @@ -367,8 +354,7 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx, /* Initialize the number of calls as 1, so that the max_idle_timer will not start until start_max_idle_timer_after_init is invoked. */ gpr_atm_rel_store(&chand->call_count, 1); - if (gpr_time_cmp(chand->max_connection_idle, gpr_inf_future(GPR_TIMESPAN)) != - 0) { + if (chand->max_connection_idle != GRPC_MILLIS_INF_FUTURE) { GRPC_CHANNEL_STACK_REF(chand->channel_stack, "max_age start_max_idle_timer_after_init"); GRPC_CLOSURE_SCHED(exec_ctx, &chand->start_max_idle_timer_after_init, diff --git a/src/core/lib/support/backoff.c b/src/core/lib/backoff/backoff.c similarity index 69% rename from src/core/lib/support/backoff.c rename to src/core/lib/backoff/backoff.c index 6dc0df473b5..141b952134f 100644 --- a/src/core/lib/support/backoff.c +++ b/src/core/lib/backoff/backoff.c @@ -16,13 +16,13 @@ * */ -#include "src/core/lib/support/backoff.h" +#include "src/core/lib/backoff/backoff.h" #include -void gpr_backoff_init(gpr_backoff *backoff, int64_t initial_connect_timeout, - double multiplier, double jitter, - int64_t min_timeout_millis, int64_t max_timeout_millis) { +void grpc_backoff_init(grpc_backoff *backoff, int64_t initial_connect_timeout, + double multiplier, double jitter, + int64_t min_timeout_millis, int64_t max_timeout_millis) { backoff->initial_connect_timeout = initial_connect_timeout; backoff->multiplier = multiplier; backoff->jitter = jitter; @@ -31,11 +31,11 @@ void gpr_backoff_init(gpr_backoff *backoff, int64_t initial_connect_timeout, backoff->rng_state = (uint32_t)gpr_now(GPR_CLOCK_REALTIME).tv_nsec; } -gpr_timespec gpr_backoff_begin(gpr_backoff *backoff, gpr_timespec now) { +grpc_millis grpc_backoff_begin(grpc_exec_ctx *exec_ctx, grpc_backoff *backoff) { backoff->current_timeout_millis = backoff->initial_connect_timeout; const int64_t first_timeout = GPR_MAX(backoff->current_timeout_millis, backoff->min_timeout_millis); - return gpr_time_add(now, gpr_time_from_millis(first_timeout, GPR_TIMESPAN)); + return grpc_exec_ctx_now(exec_ctx) + first_timeout; } /* Generate a random number between 0 and 1. */ @@ -44,7 +44,7 @@ static double generate_uniform_random_number(uint32_t *rng_state) { return *rng_state / (double)((uint32_t)1 << 31); } -gpr_timespec gpr_backoff_step(gpr_backoff *backoff, gpr_timespec now) { +grpc_millis grpc_backoff_step(grpc_exec_ctx *exec_ctx, grpc_backoff *backoff) { const double new_timeout_millis = backoff->multiplier * (double)backoff->current_timeout_millis; backoff->current_timeout_millis = @@ -58,15 +58,15 @@ gpr_timespec gpr_backoff_step(gpr_backoff *backoff, gpr_timespec now) { backoff->current_timeout_millis = (int64_t)((double)(backoff->current_timeout_millis) + jitter); - const gpr_timespec current_deadline = gpr_time_add( - now, gpr_time_from_millis(backoff->current_timeout_millis, GPR_TIMESPAN)); + const grpc_millis current_deadline = + grpc_exec_ctx_now(exec_ctx) + backoff->current_timeout_millis; - const gpr_timespec min_deadline = gpr_time_add( - now, gpr_time_from_millis(backoff->min_timeout_millis, GPR_TIMESPAN)); + const grpc_millis min_deadline = + grpc_exec_ctx_now(exec_ctx) + backoff->min_timeout_millis; - return gpr_time_max(current_deadline, min_deadline); + return GPR_MAX(current_deadline, min_deadline); } -void gpr_backoff_reset(gpr_backoff *backoff) { +void grpc_backoff_reset(grpc_backoff *backoff) { backoff->current_timeout_millis = backoff->initial_connect_timeout; } diff --git a/src/core/lib/support/backoff.h b/src/core/lib/backoff/backoff.h similarity index 72% rename from src/core/lib/support/backoff.h rename to src/core/lib/backoff/backoff.h index 6e0cc3a4b69..f1258bcdc5b 100644 --- a/src/core/lib/support/backoff.h +++ b/src/core/lib/backoff/backoff.h @@ -19,7 +19,7 @@ #ifndef GRPC_CORE_LIB_SUPPORT_BACKOFF_H #define GRPC_CORE_LIB_SUPPORT_BACKOFF_H -#include +#include "src/core/lib/iomgr/exec_ctx.h" typedef struct { /// const: how long to wait after the first failure before retrying @@ -38,19 +38,20 @@ typedef struct { /// current retry timeout in milliseconds int64_t current_timeout_millis; -} gpr_backoff; +} grpc_backoff; /// Initialize backoff machinery - does not need to be destroyed -void gpr_backoff_init(gpr_backoff *backoff, int64_t initial_connect_timeout, - double multiplier, double jitter, - int64_t min_timeout_millis, int64_t max_timeout_millis); +void grpc_backoff_init(grpc_backoff *backoff, int64_t initial_connect_timeout, + double multiplier, double jitter, + int64_t min_timeout_millis, int64_t max_timeout_millis); /// Begin retry loop: returns a timespec for the NEXT retry -gpr_timespec gpr_backoff_begin(gpr_backoff *backoff, gpr_timespec now); +grpc_millis grpc_backoff_begin(grpc_exec_ctx *exec_ctx, grpc_backoff *backoff); /// Step a retry loop: returns a timespec for the NEXT retry -gpr_timespec gpr_backoff_step(gpr_backoff *backoff, gpr_timespec now); -/// Reset the backoff, so the next gpr_backoff_step will be a gpr_backoff_begin +grpc_millis grpc_backoff_step(grpc_exec_ctx *exec_ctx, grpc_backoff *backoff); +/// Reset the backoff, so the next grpc_backoff_step will be a +/// grpc_backoff_begin /// instead -void gpr_backoff_reset(gpr_backoff *backoff); +void grpc_backoff_reset(grpc_backoff *backoff); #endif /* GRPC_CORE_LIB_SUPPORT_BACKOFF_H */ diff --git a/src/core/lib/iomgr/exec_ctx.c b/src/core/lib/iomgr/exec_ctx.c index 5d2fc4af868..80aaaee0cb6 100644 --- a/src/core/lib/iomgr/exec_ctx.c +++ b/src/core/lib/iomgr/exec_ctx.c @@ -137,13 +137,17 @@ void grpc_exec_ctx_invalidate_now(grpc_exec_ctx *exec_ctx) { exec_ctx->now_is_valid = false; } -gpr_timespec grpc_millis_to_timespec(grpc_exec_ctx *exec_ctx, - grpc_millis millis, +gpr_timespec grpc_millis_to_timespec(grpc_millis millis, gpr_clock_type clock_type) { return gpr_time_add(gpr_convert_clock_type(g_start_time, clock_type), gpr_time_from_millis(millis, GPR_TIMESPAN)); } +grpc_millis grpc_timespec_to_millis(gpr_timespec ts) { + return timespec_to_atm_round_down( + gpr_convert_clock_type(ts, g_start_time.clock_type)); +} + static const grpc_closure_scheduler_vtable exec_ctx_scheduler_vtable = { exec_ctx_run, exec_ctx_sched, "exec_ctx"}; static grpc_closure_scheduler exec_ctx_scheduler = {&exec_ctx_scheduler_vtable}; diff --git a/src/core/lib/iomgr/exec_ctx.h b/src/core/lib/iomgr/exec_ctx.h index 8e030bf7418..87383809f3d 100644 --- a/src/core/lib/iomgr/exec_ctx.h +++ b/src/core/lib/iomgr/exec_ctx.h @@ -113,9 +113,7 @@ void grpc_exec_ctx_global_shutdown(void); grpc_millis grpc_exec_ctx_now(grpc_exec_ctx *exec_ctx); void grpc_exec_ctx_invalidate_now(grpc_exec_ctx *exec_ctx); -gpr_timespec grpc_millis_to_timespec(grpc_exec_ctx *exec_ctx, - grpc_millis millis, gpr_clock_type clock); -grpc_millis grpc_timespec_to_millis(grpc_exec_ctx *exec_ctx, - gpr_timespec timespec); +gpr_timespec grpc_millis_to_timespec(grpc_millis millis, gpr_clock_type clock); +grpc_millis grpc_timespec_to_millis(gpr_timespec timespec); #endif /* GRPC_CORE_LIB_IOMGR_EXEC_CTX_H */ diff --git a/src/core/lib/iomgr/timer_manager.c b/src/core/lib/iomgr/timer_manager.c index 751314c23f1..cd2a3a8c784 100644 --- a/src/core/lib/iomgr/timer_manager.c +++ b/src/core/lib/iomgr/timer_manager.c @@ -188,7 +188,7 @@ static bool wait_until(grpc_exec_ctx *exec_ctx, grpc_millis next) { } gpr_cv_wait(&g_cv_wait, &g_mu, - grpc_millis_to_timespec(exec_ctx, next, GPR_CLOCK_REALTIME)); + grpc_millis_to_timespec(next, GPR_CLOCK_REALTIME)); if (GRPC_TRACER_ON(grpc_timer_check_trace)) { gpr_log(GPR_DEBUG, "wait ended: was_timed:%d kicked:%d", diff --git a/src/core/lib/surface/alarm.c b/src/core/lib/surface/alarm.c index 911ac010e0f..5140780bacc 100644 --- a/src/core/lib/surface/alarm.c +++ b/src/core/lib/surface/alarm.c @@ -52,8 +52,7 @@ grpc_alarm *grpc_alarm_create(grpc_completion_queue *cq, gpr_timespec deadline, grpc_cq_begin_op(cq, tag); GRPC_CLOSURE_INIT(&alarm->on_alarm, alarm_cb, alarm, grpc_schedule_on_exec_ctx); - grpc_timer_init(&exec_ctx, &alarm->alarm, - grpc_timespec_to_millis(&exec_ctx, deadline), + grpc_timer_init(&exec_ctx, &alarm->alarm, grpc_timespec_to_millis(deadline), &alarm->on_alarm); grpc_exec_ctx_finish(&exec_ctx); return alarm; diff --git a/src/core/lib/surface/completion_queue.c b/src/core/lib/surface/completion_queue.c index cefa8a2a895..e0547415201 100644 --- a/src/core/lib/surface/completion_queue.c +++ b/src/core/lib/surface/completion_queue.c @@ -110,7 +110,7 @@ static grpc_error *non_polling_poller_work(grpc_exec_ctx *exec_ctx, } w.kicked = false; gpr_timespec deadline_ts = - grpc_millis_to_timespec(exec_ctx, deadline, GPR_CLOCK_REALTIME); + grpc_millis_to_timespec(deadline, GPR_CLOCK_REALTIME); while (!npp->shutdown && !w.kicked && !gpr_cv_wait(&w.cv, &npp->mu, deadline_ts)) ; @@ -815,18 +815,17 @@ static grpc_event cq_next(grpc_completion_queue *cq, gpr_timespec deadline, GRPC_CQ_INTERNAL_REF(cq, "next"); + grpc_millis deadline_millis = grpc_timespec_to_millis(deadline); cq_is_finished_arg is_finished_arg = { .last_seen_things_queued_ever = gpr_atm_no_barrier_load(&cqd->things_queued_ever), .cq = cq, - .deadline = 0, + .deadline = deadline_millis, .stolen_completion = NULL, .tag = NULL, .first_loop = true}; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INITIALIZER(0, cq_is_next_finished, &is_finished_arg); - grpc_millis deadline_millis = is_finished_arg.deadline = - grpc_timespec_to_millis(&exec_ctx, deadline); for (;;) { grpc_millis iteration_deadline = deadline_millis; @@ -1047,22 +1046,19 @@ static grpc_event cq_pluck(grpc_completion_queue *cq, void *tag, dump_pending_tags(cq); - deadline = gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC); - GRPC_CQ_INTERNAL_REF(cq, "pluck"); gpr_mu_lock(cq->mu); + grpc_millis deadline_millis = grpc_timespec_to_millis(deadline); cq_is_finished_arg is_finished_arg = { .last_seen_things_queued_ever = gpr_atm_no_barrier_load(&cqd->things_queued_ever), .cq = cq, - .deadline = 0, + .deadline = deadline_millis, .stolen_completion = NULL, .tag = tag, .first_loop = true}; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INITIALIZER(0, cq_is_pluck_finished, &is_finished_arg); - grpc_millis deadline_millis = is_finished_arg.deadline = - grpc_timespec_to_millis(&exec_ctx, deadline); for (;;) { if (is_finished_arg.stolen_completion != NULL) { gpr_mu_unlock(cq->mu); diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index e7f7332b995..56a72d7c8b0 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -15,13 +15,13 @@ # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/grpc_core_dependencies.py.template`!!! CORE_SOURCE_FILES = [ + 'src/core/lib/backoff/backoff.c', 'src/core/lib/profiling/basic_timers.c', 'src/core/lib/profiling/stap_timers.c', 'src/core/lib/support/alloc.c', 'src/core/lib/support/arena.c', 'src/core/lib/support/atm.c', 'src/core/lib/support/avl.c', - 'src/core/lib/support/backoff.c', 'src/core/lib/support/cmdline.c', 'src/core/lib/support/cpu_iphone.c', 'src/core/lib/support/cpu_linux.c', diff --git a/test/core/backoff/BUILD b/test/core/backoff/BUILD new file mode 100644 index 00000000000..6c2ceb499b7 --- /dev/null +++ b/test/core/backoff/BUILD @@ -0,0 +1,34 @@ +# Copyright 2016 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_cc_binary") + +licenses(["notice"]) # Apache v2 + +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + +grpc_cc_test( + name = "backoff_test", + srcs = ["backoff_test.c"], + language = "C", + deps = [ + "//:gpr", + "//test/core/util:gpr_test_util", + ], +) diff --git a/test/core/backoff/backoff_test.c b/test/core/backoff/backoff_test.c new file mode 100644 index 00000000000..302ac7b3a01 --- /dev/null +++ b/test/core/backoff/backoff_test.c @@ -0,0 +1,147 @@ +/* + * + * Copyright 2016 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "src/core/lib/backoff/backoff.h" + +#include + +#include "test/core/util/test_config.h" + +static void test_constant_backoff(void) { + grpc_backoff backoff; + grpc_backoff_init(&backoff, 200 /* initial timeout */, 1.0 /* multiplier */, + 0.0 /* jitter */, 100 /* min timeout */, + 1000 /* max timeout */); + + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + grpc_millis next = grpc_backoff_begin(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 200); + for (int i = 0; i < 10000; i++) { + next = grpc_backoff_step(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 200); + exec_ctx.now = next; + } + grpc_exec_ctx_finish(&exec_ctx); +} + +static void test_min_connect(void) { + grpc_backoff backoff; + grpc_backoff_init(&backoff, 100 /* initial timeout */, 1.0 /* multiplier */, + 0.0 /* jitter */, 200 /* min timeout */, + 1000 /* max timeout */); + + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + grpc_millis next = grpc_backoff_begin(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 200); + grpc_exec_ctx_finish(&exec_ctx); +} + +static void test_no_jitter_backoff(void) { + grpc_backoff backoff; + grpc_backoff_init(&backoff, 2 /* initial timeout */, 2.0 /* multiplier */, + 0.0 /* jitter */, 1 /* min timeout */, + 513 /* max timeout */); + // x_1 = 2 + // x_n = 2**i + x_{i-1} ( = 2**(n+1) - 2 ) + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + grpc_millis next = grpc_backoff_begin(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 2); + exec_ctx.now = next; + next = grpc_backoff_step(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 6); + exec_ctx.now = next; + next = grpc_backoff_step(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 14); + exec_ctx.now = next; + next = grpc_backoff_step(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 30); + exec_ctx.now = next; + next = grpc_backoff_step(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 62); + exec_ctx.now = next; + next = grpc_backoff_step(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 126); + exec_ctx.now = next; + next = grpc_backoff_step(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 254); + exec_ctx.now = next; + next = grpc_backoff_step(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 510); + exec_ctx.now = next; + next = grpc_backoff_step(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 1022); + exec_ctx.now = next; + next = grpc_backoff_step(&exec_ctx, &backoff); + // Hit the maximum timeout. From this point onwards, retries will increase + // only by max timeout. + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 1535); + exec_ctx.now = next; + next = grpc_backoff_step(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 2048); + exec_ctx.now = next; + next = grpc_backoff_step(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 2561); + grpc_exec_ctx_finish(&exec_ctx); +} + +static void test_jitter_backoff(void) { + const int64_t initial_timeout = 500; + const double jitter = 0.1; + grpc_backoff backoff; + grpc_backoff_init(&backoff, initial_timeout, 1.0 /* multiplier */, jitter, + 100 /* min timeout */, 1000 /* max timeout */); + + backoff.rng_state = 0; // force consistent PRNG + + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + grpc_millis next = grpc_backoff_begin(&exec_ctx, &backoff); + GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 500); + + int64_t expected_next_lower_bound = + (int64_t)((double)initial_timeout * (1 - jitter)); + int64_t expected_next_upper_bound = + (int64_t)((double)initial_timeout * (1 + jitter)); + + for (int i = 0; i < 10000; i++) { + next = grpc_backoff_step(&exec_ctx, &backoff); + + // next-now must be within (jitter*100)% of the previous timeout. + const int64_t timeout_millis = next - grpc_exec_ctx_now(&exec_ctx); + GPR_ASSERT(timeout_millis >= expected_next_lower_bound); + GPR_ASSERT(timeout_millis <= expected_next_upper_bound); + + expected_next_lower_bound = + (int64_t)((double)timeout_millis * (1 - jitter)); + expected_next_upper_bound = + (int64_t)((double)timeout_millis * (1 + jitter)); + exec_ctx.now = next; + } + grpc_exec_ctx_finish(&exec_ctx); +} + +int main(int argc, char **argv) { + grpc_test_init(argc, argv); + gpr_time_init(); + + test_constant_backoff(); + test_min_connect(); + test_no_jitter_backoff(); + test_jitter_backoff(); + + return 0; +} diff --git a/test/core/client_channel/resolvers/dns_resolver_connectivity_test.c b/test/core/client_channel/resolvers/dns_resolver_connectivity_test.c index 6e3d69c2653..d6713c51632 100644 --- a/test/core/client_channel/resolvers/dns_resolver_connectivity_test.c +++ b/test/core/client_channel/resolvers/dns_resolver_connectivity_test.c @@ -105,7 +105,7 @@ static bool wait_loop(int deadline_seconds, gpr_event *ev) { deadline_seconds--; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - grpc_timer_check(&exec_ctx, gpr_now(GPR_CLOCK_MONOTONIC), NULL); + grpc_timer_check(&exec_ctx, NULL); grpc_exec_ctx_finish(&exec_ctx); } return false; diff --git a/test/core/end2end/fuzzers/api_fuzzer.c b/test/core/end2end/fuzzers/api_fuzzer.c index 281a1af20c3..4b1036b382c 100644 --- a/test/core/end2end/fuzzers/api_fuzzer.c +++ b/test/core/end2end/fuzzers/api_fuzzer.c @@ -406,10 +406,8 @@ void my_resolve_address(grpc_exec_ctx *exec_ctx, const char *addr, r->addrs = addresses; r->lb_addrs = NULL; grpc_timer_init( - exec_ctx, &r->timer, gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), - gpr_time_from_seconds(1, GPR_TIMESPAN)), - GRPC_CLOSURE_CREATE(finish_resolve, r, grpc_schedule_on_exec_ctx), - gpr_now(GPR_CLOCK_MONOTONIC)); + exec_ctx, &r->timer, GPR_MS_PER_SEC + grpc_exec_ctx_now(exec_ctx), + GRPC_CLOSURE_CREATE(finish_resolve, r, grpc_schedule_on_exec_ctx)); } grpc_ares_request *my_dns_lookup_ares( @@ -422,10 +420,8 @@ grpc_ares_request *my_dns_lookup_ares( r->addrs = NULL; r->lb_addrs = lb_addrs; grpc_timer_init( - exec_ctx, &r->timer, gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), - gpr_time_from_seconds(1, GPR_TIMESPAN)), - GRPC_CLOSURE_CREATE(finish_resolve, r, grpc_schedule_on_exec_ctx), - gpr_now(GPR_CLOCK_MONOTONIC)); + exec_ctx, &r->timer, GPR_MS_PER_SEC + grpc_exec_ctx_now(exec_ctx), + GRPC_CLOSURE_CREATE(finish_resolve, r, grpc_schedule_on_exec_ctx)); return NULL; } @@ -485,10 +481,8 @@ static void sched_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure, fc->ep = ep; fc->deadline = deadline; grpc_timer_init( - exec_ctx, &fc->timer, gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), - gpr_time_from_millis(1, GPR_TIMESPAN)), - GRPC_CLOSURE_CREATE(do_connect, fc, grpc_schedule_on_exec_ctx), - gpr_now(GPR_CLOCK_MONOTONIC)); + exec_ctx, &fc->timer, GPR_MS_PER_SEC + grpc_exec_ctx_now(exec_ctx), + GRPC_CLOSURE_CREATE(do_connect, fc, grpc_schedule_on_exec_ctx)); } static void my_tcp_client_connect(grpc_exec_ctx *exec_ctx, diff --git a/test/core/http/httpcli_test.c b/test/core/http/httpcli_test.c index b8b96d673ce..ea63cd1df83 100644 --- a/test/core/http/httpcli_test.c +++ b/test/core/http/httpcli_test.c @@ -35,8 +35,8 @@ static grpc_httpcli_context g_context; static gpr_mu *g_mu; static grpc_polling_entity g_pops; -static gpr_timespec n_seconds_time(int seconds) { - return grpc_timeout_seconds_to_deadline(seconds); +static grpc_millis n_seconds_time(int seconds) { + return grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(seconds)); } static void on_finish(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { @@ -86,8 +86,7 @@ static void test_get(int port) { GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, grpc_polling_entity_pollset(&g_pops), - &worker, gpr_now(GPR_CLOCK_MONOTONIC), - n_seconds_time(1)))); + &worker, n_seconds_time(1)))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); gpr_mu_lock(g_mu); @@ -128,8 +127,7 @@ static void test_post(int port) { GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, grpc_polling_entity_pollset(&g_pops), - &worker, gpr_now(GPR_CLOCK_MONOTONIC), - n_seconds_time(1)))); + &worker, n_seconds_time(1)))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); gpr_mu_lock(g_mu); diff --git a/test/core/http/httpscli_test.c b/test/core/http/httpscli_test.c index a9d7abdcffd..6d575d683d2 100644 --- a/test/core/http/httpscli_test.c +++ b/test/core/http/httpscli_test.c @@ -35,8 +35,8 @@ static grpc_httpcli_context g_context; static gpr_mu *g_mu; static grpc_polling_entity g_pops; -static gpr_timespec n_seconds_time(int seconds) { - return grpc_timeout_seconds_to_deadline(seconds); +static grpc_millis n_seconds_time(int seconds) { + return grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(seconds)); } static void on_finish(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { @@ -87,8 +87,7 @@ static void test_get(int port) { GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, grpc_polling_entity_pollset(&g_pops), - &worker, gpr_now(GPR_CLOCK_MONOTONIC), - n_seconds_time(1)))); + &worker, n_seconds_time(1)))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); gpr_mu_lock(g_mu); @@ -130,8 +129,7 @@ static void test_post(int port) { GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, grpc_polling_entity_pollset(&g_pops), - &worker, gpr_now(GPR_CLOCK_MONOTONIC), - n_seconds_time(1)))); + &worker, n_seconds_time(1)))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); gpr_mu_lock(g_mu); diff --git a/test/core/iomgr/endpoint_tests.c b/test/core/iomgr/endpoint_tests.c index b7cbba63c13..e80dce01cf4 100644 --- a/test/core/iomgr/endpoint_tests.c +++ b/test/core/iomgr/endpoint_tests.c @@ -176,7 +176,7 @@ static void read_and_write_test(grpc_endpoint_test_config config, begin_test(config, "read_and_write_test", slice_size); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_millis deadline = - grpc_timespec_to_millis(&exec_ctx, grpc_timeout_seconds_to_deadline(20)); + grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(20)); gpr_log(GPR_DEBUG, "num_bytes=%" PRIuPTR " write_size=%" PRIuPTR " slice_size=%" PRIuPTR " shutdown=%d", num_bytes, write_size, slice_size, shutdown); @@ -261,7 +261,7 @@ static void wait_for_fail_count(grpc_exec_ctx *exec_ctx, int *fail_count, grpc_exec_ctx_flush(exec_ctx); gpr_mu_lock(g_mu); grpc_millis deadline = - grpc_timespec_to_millis(exec_ctx, grpc_timeout_seconds_to_deadline(10)); + grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(10)); while (grpc_exec_ctx_now(exec_ctx) < deadline && *fail_count < want_fail_count) { grpc_pollset_worker *worker = NULL; diff --git a/test/core/iomgr/fd_posix_test.c b/test/core/iomgr/fd_posix_test.c index 02596450d22..206d14424fd 100644 --- a/test/core/iomgr/fd_posix_test.c +++ b/test/core/iomgr/fd_posix_test.c @@ -249,10 +249,8 @@ static void server_wait_and_shutdown(server *sv) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_pollset_worker *worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( - "pollset_work", - grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), - gpr_inf_future(GPR_CLOCK_MONOTONIC)))); + "pollset_work", grpc_pollset_work(&exec_ctx, g_pollset, &worker, + GRPC_MILLIS_INF_FUTURE))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); gpr_mu_lock(g_mu); @@ -367,10 +365,8 @@ static void client_wait_and_shutdown(client *cl) { grpc_pollset_worker *worker = NULL; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; GPR_ASSERT(GRPC_LOG_IF_ERROR( - "pollset_work", - grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), - gpr_inf_future(GPR_CLOCK_MONOTONIC)))); + "pollset_work", grpc_pollset_work(&exec_ctx, g_pollset, &worker, + GRPC_MILLIS_INF_FUTURE))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); gpr_mu_lock(g_mu); @@ -473,10 +469,8 @@ static void test_grpc_fd_change(void) { while (a.cb_that_ran == NULL) { grpc_pollset_worker *worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( - "pollset_work", - grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), - gpr_inf_future(GPR_CLOCK_MONOTONIC)))); + "pollset_work", grpc_pollset_work(&exec_ctx, g_pollset, &worker, + GRPC_MILLIS_INF_FUTURE))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); gpr_mu_lock(g_mu); @@ -499,10 +493,8 @@ static void test_grpc_fd_change(void) { while (b.cb_that_ran == NULL) { grpc_pollset_worker *worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( - "pollset_work", - grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), - gpr_inf_future(GPR_CLOCK_MONOTONIC)))); + "pollset_work", grpc_pollset_work(&exec_ctx, g_pollset, &worker, + GRPC_MILLIS_INF_FUTURE))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); gpr_mu_lock(g_mu); diff --git a/test/core/iomgr/resolve_address_posix_test.c b/test/core/iomgr/resolve_address_posix_test.c index 9cc09ed5d3a..d9d200d2c4c 100644 --- a/test/core/iomgr/resolve_address_posix_test.c +++ b/test/core/iomgr/resolve_address_posix_test.c @@ -70,35 +70,32 @@ void args_finish(grpc_exec_ctx *exec_ctx, args_struct *args) { gpr_free(args->pollset); } -static gpr_timespec n_sec_deadline(int seconds) { - return gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), - gpr_time_from_seconds(seconds, GPR_TIMESPAN)); +static grpc_millis n_sec_deadline(int seconds) { + return grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(seconds)); } static void actually_poll(void *argsp) { args_struct *args = argsp; - gpr_timespec deadline = n_sec_deadline(10); + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + grpc_millis deadline = n_sec_deadline(10); while (true) { bool done = gpr_atm_acq_load(&args->done_atm) != 0; if (done) { break; } - gpr_timespec time_left = - gpr_time_sub(deadline, gpr_now(GPR_CLOCK_REALTIME)); - gpr_log(GPR_DEBUG, "done=%d, time_left=%" PRId64 ".%09d", done, - time_left.tv_sec, time_left.tv_nsec); - GPR_ASSERT(gpr_time_cmp(time_left, gpr_time_0(GPR_TIMESPAN)) >= 0); + grpc_millis time_left = deadline - grpc_exec_ctx_now(&exec_ctx); + gpr_log(GPR_DEBUG, "done=%d, time_left=%" PRIdPTR, done, time_left); + GPR_ASSERT(time_left >= 0); grpc_pollset_worker *worker = NULL; - grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; gpr_mu_lock(args->mu); - GRPC_LOG_IF_ERROR( - "pollset_work", - grpc_pollset_work(&exec_ctx, args->pollset, &worker, - gpr_now(GPR_CLOCK_REALTIME), n_sec_deadline(1))); + GRPC_LOG_IF_ERROR("pollset_work", + grpc_pollset_work(&exec_ctx, args->pollset, &worker, + n_sec_deadline(1))); gpr_mu_unlock(args->mu); - grpc_exec_ctx_finish(&exec_ctx); + grpc_exec_ctx_flush(&exec_ctx); } gpr_event_set(&args->ev, (void *)1); + grpc_exec_ctx_finish(&exec_ctx); } static void poll_pollset_until_request_done(args_struct *args) { diff --git a/test/core/iomgr/resolve_address_test.c b/test/core/iomgr/resolve_address_test.c index cb156ee61e3..c6c53be5ca7 100644 --- a/test/core/iomgr/resolve_address_test.c +++ b/test/core/iomgr/resolve_address_test.c @@ -67,34 +67,31 @@ void args_finish(grpc_exec_ctx *exec_ctx, args_struct *args) { gpr_free(args->pollset); } -static gpr_timespec n_sec_deadline(int seconds) { - return gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), - gpr_time_from_seconds(seconds, GPR_TIMESPAN)); +static grpc_millis n_sec_deadline(int seconds) { + return grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(seconds)); } static void poll_pollset_until_request_done(args_struct *args) { - gpr_timespec deadline = n_sec_deadline(10); + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + grpc_millis deadline = n_sec_deadline(10); while (true) { bool done = gpr_atm_acq_load(&args->done_atm) != 0; if (done) { break; } - gpr_timespec time_left = - gpr_time_sub(deadline, gpr_now(GPR_CLOCK_REALTIME)); - gpr_log(GPR_DEBUG, "done=%d, time_left=%" PRId64 ".%09d", done, - time_left.tv_sec, time_left.tv_nsec); - GPR_ASSERT(gpr_time_cmp(time_left, gpr_time_0(GPR_TIMESPAN)) >= 0); + grpc_millis time_left = deadline - grpc_exec_ctx_now(&exec_ctx); + gpr_log(GPR_DEBUG, "done=%d, time_left=%" PRIdPTR, done, time_left); + GPR_ASSERT(time_left >= 0); grpc_pollset_worker *worker = NULL; - grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; gpr_mu_lock(args->mu); - GRPC_LOG_IF_ERROR( - "pollset_work", - grpc_pollset_work(&exec_ctx, args->pollset, &worker, - gpr_now(GPR_CLOCK_REALTIME), n_sec_deadline(1))); + GRPC_LOG_IF_ERROR("pollset_work", + grpc_pollset_work(&exec_ctx, args->pollset, &worker, + n_sec_deadline(1))); gpr_mu_unlock(args->mu); - grpc_exec_ctx_finish(&exec_ctx); + grpc_exec_ctx_flush(&exec_ctx); } gpr_event_set(&args->ev, (void *)1); + grpc_exec_ctx_finish(&exec_ctx); } static void must_succeed(grpc_exec_ctx *exec_ctx, void *argsp, diff --git a/test/core/iomgr/tcp_client_posix_test.c b/test/core/iomgr/tcp_client_posix_test.c index 00ea495bbe3..69dc82f45e1 100644 --- a/test/core/iomgr/tcp_client_posix_test.c +++ b/test/core/iomgr/tcp_client_posix_test.c @@ -46,8 +46,8 @@ static grpc_pollset *g_pollset; static int g_connections_complete = 0; static grpc_endpoint *g_connecting = NULL; -static gpr_timespec test_deadline(void) { - return grpc_timeout_seconds_to_deadline(10); +static grpc_millis test_deadline(void) { + return grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(10)); } static void finish_connection() { @@ -107,7 +107,7 @@ void test_succeeds(void) { (socklen_t *)&resolved_addr.len) == 0); GRPC_CLOSURE_INIT(&done, must_succeed, NULL, grpc_schedule_on_exec_ctx); grpc_tcp_client_connect(&exec_ctx, &done, &g_connecting, g_pollset_set, NULL, - &resolved_addr, gpr_inf_future(GPR_CLOCK_REALTIME)); + &resolved_addr, GRPC_MILLIS_INF_FUTURE); /* await the connection */ do { @@ -124,9 +124,9 @@ void test_succeeds(void) { grpc_pollset_worker *worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", - grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), - grpc_timeout_seconds_to_deadline(5)))); + grpc_pollset_work( + &exec_ctx, g_pollset, &worker, + grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(5))))); gpr_mu_unlock(g_mu); grpc_exec_ctx_flush(&exec_ctx); gpr_mu_lock(g_mu); @@ -157,25 +157,24 @@ void test_fails(void) { /* connect to a broken address */ GRPC_CLOSURE_INIT(&done, must_fail, NULL, grpc_schedule_on_exec_ctx); grpc_tcp_client_connect(&exec_ctx, &done, &g_connecting, g_pollset_set, NULL, - &resolved_addr, gpr_inf_future(GPR_CLOCK_REALTIME)); + &resolved_addr, GRPC_MILLIS_INF_FUTURE); gpr_mu_lock(g_mu); /* wait for the connection callback to finish */ while (g_connections_complete == connections_complete_before) { grpc_pollset_worker *worker = NULL; - gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); - gpr_timespec polling_deadline = test_deadline(); - switch (grpc_timer_check(&exec_ctx, now, &polling_deadline)) { + grpc_millis polling_deadline = test_deadline(); + switch (grpc_timer_check(&exec_ctx, &polling_deadline)) { case GRPC_TIMERS_FIRED: break; case GRPC_TIMERS_NOT_CHECKED: - polling_deadline = now; + polling_deadline = 0; /* fall through */ case GRPC_TIMERS_CHECKED_AND_EMPTY: GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, g_pollset, &worker, - now, polling_deadline))); + polling_deadline))); break; } gpr_mu_unlock(g_mu); diff --git a/test/core/iomgr/tcp_posix_test.c b/test/core/iomgr/tcp_posix_test.c index c45068e7ec5..aa55b717255 100644 --- a/test/core/iomgr/tcp_posix_test.c +++ b/test/core/iomgr/tcp_posix_test.c @@ -161,7 +161,8 @@ static void read_test(size_t num_bytes, size_t slice_size) { grpc_endpoint *ep; struct read_socket_state state; size_t written_bytes; - gpr_timespec deadline = grpc_timeout_seconds_to_deadline(20); + grpc_millis deadline = + grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(20)); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; gpr_log(GPR_INFO, "Read test of size %" PRIuPTR ", slice size %" PRIuPTR, @@ -193,8 +194,7 @@ static void read_test(size_t num_bytes, size_t slice_size) { grpc_pollset_worker *worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", - grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline))); + grpc_pollset_work(&exec_ctx, g_pollset, &worker, deadline))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); gpr_mu_lock(g_mu); @@ -214,7 +214,8 @@ static void large_read_test(size_t slice_size) { grpc_endpoint *ep; struct read_socket_state state; ssize_t written_bytes; - gpr_timespec deadline = grpc_timeout_seconds_to_deadline(20); + grpc_millis deadline = + grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(20)); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; gpr_log(GPR_INFO, "Start large read test, slice size %" PRIuPTR, slice_size); @@ -245,8 +246,7 @@ static void large_read_test(size_t slice_size) { grpc_pollset_worker *worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", - grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline))); + grpc_pollset_work(&exec_ctx, g_pollset, &worker, deadline))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); gpr_mu_lock(g_mu); @@ -318,8 +318,8 @@ void drain_socket_blocking(int fd, size_t num_bytes, size_t read_size) { GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), - grpc_timeout_milliseconds_to_deadline(10)))); + grpc_timespec_to_millis( + grpc_timeout_milliseconds_to_deadline(10))))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); do { @@ -352,7 +352,8 @@ static void write_test(size_t num_bytes, size_t slice_size) { uint8_t current_data = 0; grpc_slice_buffer outgoing; grpc_closure write_done_closure; - gpr_timespec deadline = grpc_timeout_seconds_to_deadline(20); + grpc_millis deadline = + grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(20)); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; gpr_log(GPR_INFO, @@ -389,8 +390,7 @@ static void write_test(size_t num_bytes, size_t slice_size) { } GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", - grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline))); + grpc_pollset_work(&exec_ctx, g_pollset, &worker, deadline))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); gpr_mu_lock(g_mu); @@ -418,7 +418,8 @@ static void release_fd_test(size_t num_bytes, size_t slice_size) { struct read_socket_state state; size_t written_bytes; int fd; - gpr_timespec deadline = grpc_timeout_seconds_to_deadline(20); + grpc_millis deadline = + grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(20)); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_closure fd_released_cb; int fd_released_done = 0; @@ -456,8 +457,7 @@ static void release_fd_test(size_t num_bytes, size_t slice_size) { grpc_pollset_worker *worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", - grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline))); + grpc_pollset_work(&exec_ctx, g_pollset, &worker, deadline))); gpr_log(GPR_DEBUG, "wakeup: read=%" PRIdPTR " target=%" PRIdPTR, state.read_bytes, state.target_read_bytes); gpr_mu_unlock(g_mu); @@ -475,8 +475,7 @@ static void release_fd_test(size_t num_bytes, size_t slice_size) { grpc_pollset_worker *worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", - grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline))); + grpc_pollset_work(&exec_ctx, g_pollset, &worker, deadline))); gpr_log(GPR_DEBUG, "wakeup: fd_released_done=%d", fd_released_done); } gpr_mu_unlock(g_mu); diff --git a/test/core/iomgr/tcp_server_posix_test.c b/test/core/iomgr/tcp_server_posix_test.c index 2371721a608..13ff92cb5be 100644 --- a/test/core/iomgr/tcp_server_posix_test.c +++ b/test/core/iomgr/tcp_server_posix_test.c @@ -230,7 +230,8 @@ static void test_no_op_with_port_and_start(void) { static grpc_error *tcp_connect(grpc_exec_ctx *exec_ctx, const test_addr *remote, on_connect_result *result) { - gpr_timespec deadline = grpc_timeout_seconds_to_deadline(10); + grpc_millis deadline = + grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(10)); int clifd; int nconnects_before; const struct sockaddr *remote_addr = @@ -253,11 +254,10 @@ static grpc_error *tcp_connect(grpc_exec_ctx *exec_ctx, const test_addr *remote, } gpr_log(GPR_DEBUG, "wait"); while (g_nconnects == nconnects_before && - gpr_time_cmp(deadline, gpr_now(deadline.clock_type)) > 0) { + deadline > grpc_exec_ctx_now(exec_ctx)) { grpc_pollset_worker *worker = NULL; grpc_error *err; - if ((err = grpc_pollset_work(exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline)) != + if ((err = grpc_pollset_work(exec_ctx, g_pollset, &worker, deadline)) != GRPC_ERROR_NONE) { gpr_mu_unlock(g_mu); close(clifd); diff --git a/test/core/iomgr/timer_list_test.c b/test/core/iomgr/timer_list_test.c index 5f8b01fdc46..c3d9f9d88d4 100644 --- a/test/core/iomgr/timer_list_test.c +++ b/test/core/iomgr/timer_list_test.c @@ -41,51 +41,45 @@ static void cb(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { } static void add_test(void) { - gpr_timespec start = gpr_now(GPR_CLOCK_REALTIME); int i; grpc_timer timers[20]; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; gpr_log(GPR_INFO, "add_test"); - grpc_timer_list_init(start); + grpc_timer_list_init(&exec_ctx); grpc_timer_trace.value = 1; grpc_timer_check_trace.value = 1; memset(cb_called, 0, sizeof(cb_called)); + grpc_millis start = grpc_exec_ctx_now(&exec_ctx); + /* 10 ms timers. will expire in the current epoch */ for (i = 0; i < 10; i++) { - grpc_timer_init( - &exec_ctx, &timers[i], - gpr_time_add(start, gpr_time_from_millis(10, GPR_TIMESPAN)), - GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)i, grpc_schedule_on_exec_ctx), - start); + grpc_timer_init(&exec_ctx, &timers[i], start + 10, + GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)i, + grpc_schedule_on_exec_ctx)); } /* 1010 ms timers. will expire in the next epoch */ for (i = 10; i < 20; i++) { - grpc_timer_init( - &exec_ctx, &timers[i], - gpr_time_add(start, gpr_time_from_millis(1010, GPR_TIMESPAN)), - GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)i, grpc_schedule_on_exec_ctx), - start); + grpc_timer_init(&exec_ctx, &timers[i], start + 1010, + GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)i, + grpc_schedule_on_exec_ctx)); } /* collect timers. Only the first batch should be ready. */ - GPR_ASSERT(grpc_timer_check( - &exec_ctx, - gpr_time_add(start, gpr_time_from_millis(500, GPR_TIMESPAN)), - NULL) == GRPC_TIMERS_FIRED); + exec_ctx.now = start + 500; + GPR_ASSERT(grpc_timer_check(&exec_ctx, NULL) == GRPC_TIMERS_FIRED); grpc_exec_ctx_finish(&exec_ctx); for (i = 0; i < 20; i++) { GPR_ASSERT(cb_called[i][1] == (i < 10)); GPR_ASSERT(cb_called[i][0] == 0); } - GPR_ASSERT(grpc_timer_check( - &exec_ctx, - gpr_time_add(start, gpr_time_from_millis(600, GPR_TIMESPAN)), - NULL) == GRPC_TIMERS_CHECKED_AND_EMPTY); + exec_ctx.now = start + 600; + GPR_ASSERT(grpc_timer_check(&exec_ctx, NULL) == + GRPC_TIMERS_CHECKED_AND_EMPTY); grpc_exec_ctx_finish(&exec_ctx); for (i = 0; i < 30; i++) { GPR_ASSERT(cb_called[i][1] == (i < 10)); @@ -93,20 +87,17 @@ static void add_test(void) { } /* collect the rest of the timers */ - GPR_ASSERT(grpc_timer_check( - &exec_ctx, - gpr_time_add(start, gpr_time_from_millis(1500, GPR_TIMESPAN)), - NULL) == GRPC_TIMERS_FIRED); + exec_ctx.now = start + 1500; + GPR_ASSERT(grpc_timer_check(&exec_ctx, NULL) == GRPC_TIMERS_FIRED); grpc_exec_ctx_finish(&exec_ctx); for (i = 0; i < 30; i++) { GPR_ASSERT(cb_called[i][1] == (i < 20)); GPR_ASSERT(cb_called[i][0] == 0); } - GPR_ASSERT(grpc_timer_check( - &exec_ctx, - gpr_time_add(start, gpr_time_from_millis(1600, GPR_TIMESPAN)), - NULL) == GRPC_TIMERS_CHECKED_AND_EMPTY); + exec_ctx.now = start + 1600; + GPR_ASSERT(grpc_timer_check(&exec_ctx, NULL) == + GRPC_TIMERS_CHECKED_AND_EMPTY); for (i = 0; i < 30; i++) { GPR_ASSERT(cb_called[i][1] == (i < 20)); GPR_ASSERT(cb_called[i][0] == 0); @@ -116,10 +107,6 @@ static void add_test(void) { grpc_exec_ctx_finish(&exec_ctx); } -static gpr_timespec tfm(int m) { - return gpr_time_from_millis(m, GPR_CLOCK_REALTIME); -} - /* Cleaning up a list with pending timers. */ void destruction_test(void) { grpc_timer timers[5]; @@ -127,32 +114,30 @@ void destruction_test(void) { gpr_log(GPR_INFO, "destruction_test"); - grpc_timer_list_init(gpr_time_0(GPR_CLOCK_REALTIME)); + exec_ctx.now_is_valid = true; + exec_ctx.now = 0; + grpc_timer_list_init(&exec_ctx); grpc_timer_trace.value = 1; grpc_timer_check_trace.value = 1; memset(cb_called, 0, sizeof(cb_called)); grpc_timer_init( - &exec_ctx, &timers[0], tfm(100), - GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)0, grpc_schedule_on_exec_ctx), - gpr_time_0(GPR_CLOCK_REALTIME)); + &exec_ctx, &timers[0], 100, + GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)0, grpc_schedule_on_exec_ctx)); grpc_timer_init( - &exec_ctx, &timers[1], tfm(3), - GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)1, grpc_schedule_on_exec_ctx), - gpr_time_0(GPR_CLOCK_REALTIME)); + &exec_ctx, &timers[1], 3, + GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)1, grpc_schedule_on_exec_ctx)); grpc_timer_init( - &exec_ctx, &timers[2], tfm(100), - GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)2, grpc_schedule_on_exec_ctx), - gpr_time_0(GPR_CLOCK_REALTIME)); + &exec_ctx, &timers[2], 100, + GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)2, grpc_schedule_on_exec_ctx)); grpc_timer_init( - &exec_ctx, &timers[3], tfm(3), - GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)3, grpc_schedule_on_exec_ctx), - gpr_time_0(GPR_CLOCK_REALTIME)); + &exec_ctx, &timers[3], 3, + GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)3, grpc_schedule_on_exec_ctx)); grpc_timer_init( - &exec_ctx, &timers[4], tfm(1), - GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)4, grpc_schedule_on_exec_ctx), - gpr_time_0(GPR_CLOCK_REALTIME)); - GPR_ASSERT(grpc_timer_check(&exec_ctx, tfm(2), NULL) == GRPC_TIMERS_FIRED); + &exec_ctx, &timers[4], 1, + GRPC_CLOSURE_CREATE(cb, (void *)(intptr_t)4, grpc_schedule_on_exec_ctx)); + exec_ctx.now = 2; + GPR_ASSERT(grpc_timer_check(&exec_ctx, NULL) == GRPC_TIMERS_FIRED); grpc_exec_ctx_finish(&exec_ctx); GPR_ASSERT(1 == cb_called[4][1]); grpc_timer_cancel(&exec_ctx, &timers[0]); diff --git a/test/core/iomgr/udp_server_test.c b/test/core/iomgr/udp_server_test.c index aa34857dbd1..2f6f5034434 100644 --- a/test/core/iomgr/udp_server_test.c +++ b/test/core/iomgr/udp_server_test.c @@ -226,7 +226,7 @@ static void test_receive(int number_of_clients) { grpc_udp_server *s = grpc_udp_server_create(NULL); int i; int number_of_reads_before; - gpr_timespec deadline; + grpc_millis deadline; grpc_pollset *pollsets[1]; LOG_TEST("test_receive"); gpr_log(GPR_INFO, "clients=%d", number_of_clients); @@ -252,7 +252,7 @@ static void test_receive(int number_of_clients) { gpr_mu_lock(g_mu); for (i = 0; i < number_of_clients; i++) { - deadline = grpc_timeout_seconds_to_deadline(10); + deadline = grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(10)); number_of_reads_before = g_number_of_reads; /* Create a socket, send a packet to the UDP server. */ @@ -262,14 +262,13 @@ static void test_receive(int number_of_clients) { (socklen_t)resolved_addr.len) == 0); GPR_ASSERT(5 == write(clifd, "hello", 5)); while (g_number_of_reads == number_of_reads_before && - gpr_time_cmp(deadline, gpr_now(deadline.clock_type)) > 0) { + deadline > grpc_exec_ctx_now(&exec_ctx)) { grpc_pollset_worker *worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", - grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline))); + grpc_pollset_work(&exec_ctx, g_pollset, &worker, deadline))); gpr_mu_unlock(g_mu); - grpc_exec_ctx_finish(&exec_ctx); + grpc_exec_ctx_flush(&exec_ctx); gpr_mu_lock(g_mu); } GPR_ASSERT(g_number_of_reads == number_of_reads_before + 1); diff --git a/test/core/security/credentials_test.c b/test/core/security/credentials_test.c index a76cb0499d8..bc63221b0cd 100644 --- a/test/core/security/credentials_test.c +++ b/test/core/security/credentials_test.c @@ -233,14 +233,13 @@ static void test_add_abunch_to_md_store(void) { static void test_oauth2_token_fetcher_creds_parsing_ok(void) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_credentials_md_store *token_md = NULL; - gpr_timespec token_lifetime; + grpc_millis token_lifetime; grpc_httpcli_response response = http_response(200, valid_oauth2_json_response); GPR_ASSERT(grpc_oauth2_token_fetcher_credentials_parse_server_response( &exec_ctx, &response, &token_md, &token_lifetime) == GRPC_CREDENTIALS_OK); - GPR_ASSERT(token_lifetime.tv_sec == 3599); - GPR_ASSERT(token_lifetime.tv_nsec == 0); + GPR_ASSERT(token_lifetime == 3599 * GPR_MS_PER_SEC); GPR_ASSERT(token_md->num_entries == 1); GPR_ASSERT(grpc_slice_str_cmp(token_md->entries[0].key, "authorization") == 0); @@ -255,7 +254,7 @@ static void test_oauth2_token_fetcher_creds_parsing_ok(void) { static void test_oauth2_token_fetcher_creds_parsing_bad_http_status(void) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_credentials_md_store *token_md = NULL; - gpr_timespec token_lifetime; + grpc_millis token_lifetime; grpc_httpcli_response response = http_response(401, valid_oauth2_json_response); GPR_ASSERT(grpc_oauth2_token_fetcher_credentials_parse_server_response( @@ -268,7 +267,7 @@ static void test_oauth2_token_fetcher_creds_parsing_bad_http_status(void) { static void test_oauth2_token_fetcher_creds_parsing_empty_http_body(void) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_credentials_md_store *token_md = NULL; - gpr_timespec token_lifetime; + grpc_millis token_lifetime; grpc_httpcli_response response = http_response(200, ""); GPR_ASSERT(grpc_oauth2_token_fetcher_credentials_parse_server_response( &exec_ctx, &response, &token_md, &token_lifetime) == @@ -280,7 +279,7 @@ static void test_oauth2_token_fetcher_creds_parsing_empty_http_body(void) { static void test_oauth2_token_fetcher_creds_parsing_invalid_json(void) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_credentials_md_store *token_md = NULL; - gpr_timespec token_lifetime; + grpc_millis token_lifetime; grpc_httpcli_response response = http_response(200, "{\"access_token\":\"ya29.AHES6ZRN3-HlhAPya30GnW_bHSb_\"," @@ -296,7 +295,7 @@ static void test_oauth2_token_fetcher_creds_parsing_invalid_json(void) { static void test_oauth2_token_fetcher_creds_parsing_missing_token(void) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_credentials_md_store *token_md = NULL; - gpr_timespec token_lifetime; + grpc_millis token_lifetime; grpc_httpcli_response response = http_response(200, "{" " \"expires_in\":3599, " @@ -311,7 +310,7 @@ static void test_oauth2_token_fetcher_creds_parsing_missing_token(void) { static void test_oauth2_token_fetcher_creds_parsing_missing_token_type(void) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_credentials_md_store *token_md = NULL; - gpr_timespec token_lifetime; + grpc_millis token_lifetime; grpc_httpcli_response response = http_response(200, "{\"access_token\":\"ya29.AHES6ZRN3-HlhAPya30GnW_bHSb_\"," @@ -328,7 +327,7 @@ static void test_oauth2_token_fetcher_creds_parsing_missing_token_lifetime( void) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_credentials_md_store *token_md = NULL; - gpr_timespec token_lifetime; + grpc_millis token_lifetime; grpc_httpcli_response response = http_response(200, "{\"access_token\":\"ya29.AHES6ZRN3-HlhAPya30GnW_bHSb_\"," @@ -579,7 +578,7 @@ static void validate_compute_engine_http_request( static int compute_engine_httpcli_get_success_override( grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - gpr_timespec deadline, grpc_closure *on_done, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { validate_compute_engine_http_request(request); *response = http_response(200, valid_oauth2_json_response); @@ -589,7 +588,7 @@ static int compute_engine_httpcli_get_success_override( static int compute_engine_httpcli_get_failure_override( grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - gpr_timespec deadline, grpc_closure *on_done, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { validate_compute_engine_http_request(request); *response = http_response(403, "Not Authorized."); @@ -599,7 +598,7 @@ static int compute_engine_httpcli_get_failure_override( static int httpcli_post_should_not_be_called( grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - const char *body_bytes, size_t body_size, gpr_timespec deadline, + const char *body_bytes, size_t body_size, grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { GPR_ASSERT("HTTP POST should not be called" == NULL); return 1; @@ -607,7 +606,7 @@ static int httpcli_post_should_not_be_called( static int httpcli_get_should_not_be_called(grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - gpr_timespec deadline, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { GPR_ASSERT("HTTP GET should not be called" == NULL); @@ -682,7 +681,7 @@ static void validate_refresh_token_http_request( static int refresh_token_httpcli_post_success( grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - const char *body, size_t body_size, gpr_timespec deadline, + const char *body, size_t body_size, grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { validate_refresh_token_http_request(request, body, body_size); *response = http_response(200, valid_oauth2_json_response); @@ -692,7 +691,7 @@ static int refresh_token_httpcli_post_success( static int refresh_token_httpcli_post_failure( grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - const char *body, size_t body_size, gpr_timespec deadline, + const char *body, size_t body_size, grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { validate_refresh_token_http_request(request, body, body_size); *response = http_response(403, "Not Authorized."); @@ -968,7 +967,7 @@ static void test_google_default_creds_refresh_token(void) { static int default_creds_gce_detection_httpcli_get_success_override( grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - gpr_timespec deadline, grpc_closure *on_done, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { *response = http_response(200, ""); grpc_http_header *headers = gpr_malloc(sizeof(*headers) * 1); @@ -1030,7 +1029,7 @@ static void test_google_default_creds_gce(void) { static int default_creds_gce_detection_httpcli_get_failure_override( grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - gpr_timespec deadline, grpc_closure *on_done, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { /* No magic header. */ GPR_ASSERT(strcmp(request->http.path, "/") == 0); diff --git a/test/core/security/jwt_verifier_test.c b/test/core/security/jwt_verifier_test.c index 9b17fb516d0..a4bfe0130ee 100644 --- a/test/core/security/jwt_verifier_test.c +++ b/test/core/security/jwt_verifier_test.c @@ -324,7 +324,7 @@ static grpc_httpcli_response http_response(int status, char *body) { static int httpcli_post_should_not_be_called( grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - const char *body_bytes, size_t body_size, gpr_timespec deadline, + const char *body_bytes, size_t body_size, grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { GPR_ASSERT("HTTP POST should not be called" == NULL); return 1; @@ -332,7 +332,7 @@ static int httpcli_post_should_not_be_called( static int httpcli_get_google_keys_for_email( grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - gpr_timespec deadline, grpc_closure *on_done, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { *response = http_response(200, good_google_email_keys()); GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); @@ -379,7 +379,7 @@ static void test_jwt_verifier_google_email_issuer_success(void) { static int httpcli_get_custom_keys_for_email( grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - gpr_timespec deadline, grpc_closure *on_done, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { *response = http_response(200, gpr_strdup(good_jwk_set)); GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); @@ -413,7 +413,7 @@ static void test_jwt_verifier_custom_email_issuer_success(void) { static int httpcli_get_jwk_set(grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - gpr_timespec deadline, grpc_closure *on_done, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { *response = http_response(200, gpr_strdup(good_jwk_set)); GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); @@ -425,7 +425,7 @@ static int httpcli_get_jwk_set(grpc_exec_ctx *exec_ctx, static int httpcli_get_openid_config(grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - gpr_timespec deadline, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { *response = http_response(200, gpr_strdup(good_openid_config)); @@ -471,7 +471,7 @@ static void on_verification_key_retrieval_error(grpc_exec_ctx *exec_ctx, static int httpcli_get_bad_json(grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - gpr_timespec deadline, grpc_closure *on_done, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { *response = http_response(200, gpr_strdup("{\"bad\": \"stuff\"}")); GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); @@ -581,7 +581,7 @@ static void test_jwt_verifier_bad_signature(void) { static int httpcli_get_should_not_be_called(grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request, - gpr_timespec deadline, + grpc_millis deadline, grpc_closure *on_done, grpc_httpcli_response *response) { GPR_ASSERT(0); diff --git a/test/core/security/ssl_server_fuzzer.c b/test/core/security/ssl_server_fuzzer.c index 9858b11c7c3..f9b754b8f21 100644 --- a/test/core/security/ssl_server_fuzzer.c +++ b/test/core/security/ssl_server_fuzzer.c @@ -84,8 +84,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { grpc_security_status status = grpc_server_credentials_create_security_connector(&exec_ctx, creds, &sc); GPR_ASSERT(status == GRPC_SECURITY_OK); - gpr_timespec deadline = gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), - gpr_time_from_seconds(1, GPR_TIMESPAN)); + grpc_millis deadline = GPR_MS_PER_SEC + grpc_exec_ctx_now(&exec_ctx); struct handshake_state state; state.done_callback_called = false; diff --git a/test/core/support/BUILD b/test/core/support/BUILD index 7e142c1e3fc..7420f37ae8b 100644 --- a/test/core/support/BUILD +++ b/test/core/support/BUILD @@ -43,16 +43,6 @@ grpc_cc_test( ], ) -grpc_cc_test( - name = "backoff_test", - srcs = ["backoff_test.c"], - language = "C", - deps = [ - "//:gpr", - "//test/core/util:gpr_test_util", - ], -) - grpc_cc_test( name = "cmdline_test", srcs = ["cmdline_test.c"], diff --git a/test/core/support/backoff_test.c b/test/core/support/backoff_test.c deleted file mode 100644 index 23e3005af0a..00000000000 --- a/test/core/support/backoff_test.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - * - * Copyright 2016 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include "src/core/lib/support/backoff.h" - -#include - -#include "test/core/util/test_config.h" - -static void test_constant_backoff(void) { - gpr_backoff backoff; - gpr_backoff_init(&backoff, 200 /* initial timeout */, 1.0 /* multiplier */, - 0.0 /* jitter */, 100 /* min timeout */, - 1000 /* max timeout */); - - gpr_timespec now = gpr_time_0(GPR_TIMESPAN); - gpr_timespec next = gpr_backoff_begin(&backoff, now); - GPR_ASSERT(gpr_time_to_millis(gpr_time_sub(next, now)) == 200); - for (int i = 0; i < 10000; i++) { - next = gpr_backoff_step(&backoff, now); - GPR_ASSERT(gpr_time_to_millis(gpr_time_sub(next, now)) == 200); - now = next; - } -} - -static void test_min_connect(void) { - gpr_backoff backoff; - gpr_backoff_init(&backoff, 100 /* initial timeout */, 1.0 /* multiplier */, - 0.0 /* jitter */, 200 /* min timeout */, - 1000 /* max timeout */); - - gpr_timespec now = gpr_time_0(GPR_TIMESPAN); - gpr_timespec next = gpr_backoff_begin(&backoff, now); - GPR_ASSERT(gpr_time_to_millis(gpr_time_sub(next, now)) == 200); -} - -static void test_no_jitter_backoff(void) { - gpr_backoff backoff; - gpr_backoff_init(&backoff, 2 /* initial timeout */, 2.0 /* multiplier */, - 0.0 /* jitter */, 1 /* min timeout */, - 513 /* max timeout */); - // x_1 = 2 - // x_n = 2**i + x_{i-1} ( = 2**(n+1) - 2 ) - gpr_timespec now = gpr_time_0(GPR_TIMESPAN); - gpr_timespec next = gpr_backoff_begin(&backoff, now); - GPR_ASSERT(gpr_time_cmp(gpr_time_from_millis(2, GPR_TIMESPAN), next) == 0); - now = next; - next = gpr_backoff_step(&backoff, now); - GPR_ASSERT(gpr_time_cmp(gpr_time_from_millis(6, GPR_TIMESPAN), next) == 0); - now = next; - next = gpr_backoff_step(&backoff, now); - GPR_ASSERT(gpr_time_cmp(gpr_time_from_millis(14, GPR_TIMESPAN), next) == 0); - now = next; - next = gpr_backoff_step(&backoff, now); - GPR_ASSERT(gpr_time_cmp(gpr_time_from_millis(30, GPR_TIMESPAN), next) == 0); - now = next; - next = gpr_backoff_step(&backoff, now); - GPR_ASSERT(gpr_time_cmp(gpr_time_from_millis(62, GPR_TIMESPAN), next) == 0); - now = next; - next = gpr_backoff_step(&backoff, now); - GPR_ASSERT(gpr_time_cmp(gpr_time_from_millis(126, GPR_TIMESPAN), next) == 0); - now = next; - next = gpr_backoff_step(&backoff, now); - GPR_ASSERT(gpr_time_cmp(gpr_time_from_millis(254, GPR_TIMESPAN), next) == 0); - now = next; - next = gpr_backoff_step(&backoff, now); - GPR_ASSERT(gpr_time_cmp(gpr_time_from_millis(510, GPR_TIMESPAN), next) == 0); - now = next; - next = gpr_backoff_step(&backoff, now); - GPR_ASSERT(gpr_time_cmp(gpr_time_from_millis(1022, GPR_TIMESPAN), next) == 0); - now = next; - next = gpr_backoff_step(&backoff, now); - // Hit the maximum timeout. From this point onwards, retries will increase - // only by max timeout. - GPR_ASSERT(gpr_time_cmp(gpr_time_from_millis(1535, GPR_TIMESPAN), next) == 0); - now = next; - next = gpr_backoff_step(&backoff, now); - GPR_ASSERT(gpr_time_cmp(gpr_time_from_millis(2048, GPR_TIMESPAN), next) == 0); - now = next; - next = gpr_backoff_step(&backoff, now); - GPR_ASSERT(gpr_time_cmp(gpr_time_from_millis(2561, GPR_TIMESPAN), next) == 0); -} - -static void test_jitter_backoff(void) { - const int64_t initial_timeout = 500; - const double jitter = 0.1; - gpr_backoff backoff; - gpr_backoff_init(&backoff, initial_timeout, 1.0 /* multiplier */, jitter, - 100 /* min timeout */, 1000 /* max timeout */); - - backoff.rng_state = 0; // force consistent PRNG - - gpr_timespec now = gpr_time_0(GPR_TIMESPAN); - gpr_timespec next = gpr_backoff_begin(&backoff, now); - GPR_ASSERT(gpr_time_to_millis(gpr_time_sub(next, now)) == 500); - - int64_t expected_next_lower_bound = - (int64_t)((double)initial_timeout * (1 - jitter)); - int64_t expected_next_upper_bound = - (int64_t)((double)initial_timeout * (1 + jitter)); - - for (int i = 0; i < 10000; i++) { - next = gpr_backoff_step(&backoff, now); - - // next-now must be within (jitter*100)% of the previous timeout. - const int64_t timeout_millis = gpr_time_to_millis(gpr_time_sub(next, now)); - GPR_ASSERT(timeout_millis >= expected_next_lower_bound); - GPR_ASSERT(timeout_millis <= expected_next_upper_bound); - - expected_next_lower_bound = - (int64_t)((double)timeout_millis * (1 - jitter)); - expected_next_upper_bound = - (int64_t)((double)timeout_millis * (1 + jitter)); - now = next; - } -} - -int main(int argc, char **argv) { - grpc_test_init(argc, argv); - gpr_time_init(); - - test_constant_backoff(); - test_min_connect(); - test_no_jitter_backoff(); - test_jitter_backoff(); - - return 0; -} diff --git a/test/core/surface/concurrent_connectivity_test.c b/test/core/surface/concurrent_connectivity_test.c index 08079b6091a..1778054e746 100644 --- a/test/core/surface/concurrent_connectivity_test.c +++ b/test/core/surface/concurrent_connectivity_test.c @@ -134,14 +134,12 @@ void bad_server_thread(void *vargs) { gpr_mu_lock(args->mu); while (gpr_atm_acq_load(&args->stop) == 0) { - gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); - gpr_timespec deadline = - gpr_time_add(now, gpr_time_from_millis(100, GPR_TIMESPAN)); + grpc_millis deadline = grpc_exec_ctx_now(&exec_ctx) + 100; grpc_pollset_worker *worker = NULL; - if (!GRPC_LOG_IF_ERROR("pollset_work", - grpc_pollset_work(&exec_ctx, args->pollset, &worker, - now, deadline))) { + if (!GRPC_LOG_IF_ERROR( + "pollset_work", + grpc_pollset_work(&exec_ctx, args->pollset, &worker, deadline))) { gpr_atm_rel_store(&args->stop, 1); } gpr_mu_unlock(args->mu); diff --git a/test/core/util/test_tcp_server.c b/test/core/util/test_tcp_server.c index cf21ec50ae8..ce05833aa9a 100644 --- a/test/core/util/test_tcp_server.c +++ b/test/core/util/test_tcp_server.c @@ -80,8 +80,8 @@ void test_tcp_server_start(test_tcp_server *server, int port) { void test_tcp_server_poll(test_tcp_server *server, int seconds) { grpc_pollset_worker *worker = NULL; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - grpc_millis deadline = grpc_timespec_to_millis( - &exec_ctx, grpc_timeout_seconds_to_deadline(seconds)); + grpc_millis deadline = + grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(seconds)); gpr_mu_lock(server->mu); GRPC_LOG_IF_ERROR( "pollset_work", diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 7c1e75a99cd..cb625e2a8ec 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1051,6 +1051,8 @@ src/core/ext/transport/inproc/inproc_plugin.c \ src/core/ext/transport/inproc/inproc_transport.c \ src/core/ext/transport/inproc/inproc_transport.h \ src/core/lib/README.md \ +src/core/lib/backoff/backoff.c \ +src/core/lib/backoff/backoff.h \ src/core/lib/channel/README.md \ src/core/lib/channel/channel_args.c \ src/core/lib/channel/channel_args.h \ @@ -1284,8 +1286,6 @@ src/core/lib/support/atomic.h \ src/core/lib/support/atomic_with_atm.h \ src/core/lib/support/atomic_with_std.h \ src/core/lib/support/avl.c \ -src/core/lib/support/backoff.c \ -src/core/lib/support/backoff.h \ src/core/lib/support/block_annotate.h \ src/core/lib/support/cmdline.c \ src/core/lib/support/cpu_iphone.c \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index c7cc9cb6945..589cafa29b4 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -99,6 +99,23 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "is_filegroup": false, + "language": "c", + "name": "backoff_test", + "src": [ + "test/core/backoff/backoff_test.c" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr", @@ -692,21 +709,6 @@ "third_party": false, "type": "target" }, - { - "deps": [ - "gpr", - "gpr_test_util" - ], - "headers": [], - "is_filegroup": false, - "language": "c", - "name": "gpr_backoff_test", - "src": [ - "test/core/support/backoff_test.c" - ], - "third_party": false, - "type": "target" - }, { "deps": [ "gpr", @@ -7510,12 +7512,12 @@ "include/grpc/support/tls_msvc.h", "include/grpc/support/tls_pthread.h", "include/grpc/support/useful.h", + "src/core/lib/backoff/backoff.h", "src/core/lib/profiling/timers.h", "src/core/lib/support/arena.h", "src/core/lib/support/atomic.h", "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", - "src/core/lib/support/backoff.h", "src/core/lib/support/block_annotate.h", "src/core/lib/support/env.h", "src/core/lib/support/memory.h", @@ -7559,6 +7561,8 @@ "include/grpc/support/tls_msvc.h", "include/grpc/support/tls_pthread.h", "include/grpc/support/useful.h", + "src/core/lib/backoff/backoff.c", + "src/core/lib/backoff/backoff.h", "src/core/lib/profiling/basic_timers.c", "src/core/lib/profiling/stap_timers.c", "src/core/lib/profiling/timers.h", @@ -7570,8 +7574,6 @@ "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", "src/core/lib/support/avl.c", - "src/core/lib/support/backoff.c", - "src/core/lib/support/backoff.h", "src/core/lib/support/block_annotate.h", "src/core/lib/support/cmdline.c", "src/core/lib/support/cpu_iphone.c", diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index d24209506a7..72a5f3be3f4 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -111,6 +111,28 @@ "windows" ] }, + { + "args": [], + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "exclude_iomgrs": [], + "flaky": false, + "gtest": false, + "language": "c", + "name": "backoff_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, { "args": [], "ci_platforms": [ @@ -749,28 +771,6 @@ "windows" ] }, - { - "args": [], - "ci_platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "exclude_iomgrs": [], - "flaky": false, - "gtest": false, - "language": "c", - "name": "gpr_backoff_test", - "platforms": [ - "linux", - "mac", - "posix", - "windows" - ] - }, { "args": [], "ci_platforms": [ diff --git a/vsprojects/buildtests_c.sln b/vsprojects/buildtests_c.sln index 55de734b427..17a1302a896 100644 --- a/vsprojects/buildtests_c.sln +++ b/vsprojects/buildtests_c.sln @@ -54,6 +54,17 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "arena_test", "vcxproj\test\ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "backoff_test", "vcxproj\test\backoff_test\backoff_test.vcxproj", "{F0B4300E-693E-CAD6-E6DD-7DEBD136C202}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bad_client_test", "vcxproj\test/bad_client\bad_client_test\bad_client_test.vcxproj", "{BA67B418-B699-E41A-9CC4-0279C49481A5}" ProjectSection(myProperties) = preProject lib = "True" @@ -403,15 +414,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_avl_test", "vcxproj\tes {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_backoff_test", "vcxproj\test\gpr_backoff_test\gpr_backoff_test.vcxproj", "{889F570D-E046-BD52-9E4C-B4CD13DFE2DB}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_cmdline_test", "vcxproj\test\gpr_cmdline_test\gpr_cmdline_test.vcxproj", "{10668A5D-65CD-F530-22D0-747B395B4C26}" ProjectSection(myProperties) = preProject lib = "False" @@ -1844,6 +1846,22 @@ Global {D85AC722-A88F-4280-F62E-672F571787FF}.Release-DLL|Win32.Build.0 = Release|Win32 {D85AC722-A88F-4280-F62E-672F571787FF}.Release-DLL|x64.ActiveCfg = Release|x64 {D85AC722-A88F-4280-F62E-672F571787FF}.Release-DLL|x64.Build.0 = Release|x64 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Debug|Win32.ActiveCfg = Debug|Win32 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Debug|x64.ActiveCfg = Debug|x64 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Release|Win32.ActiveCfg = Release|Win32 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Release|x64.ActiveCfg = Release|x64 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Debug|Win32.Build.0 = Debug|Win32 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Debug|x64.Build.0 = Debug|x64 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Release|Win32.Build.0 = Release|Win32 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Release|x64.Build.0 = Release|x64 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Debug-DLL|x64.Build.0 = Debug|x64 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Release-DLL|Win32.Build.0 = Release|Win32 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Release-DLL|x64.ActiveCfg = Release|x64 + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202}.Release-DLL|x64.Build.0 = Release|x64 {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|Win32.ActiveCfg = Debug|Win32 {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|x64.ActiveCfg = Debug|x64 {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|Win32.ActiveCfg = Release|Win32 @@ -2388,22 +2406,6 @@ Global {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release-DLL|Win32.Build.0 = Release|Win32 {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release-DLL|x64.ActiveCfg = Release|x64 {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release-DLL|x64.Build.0 = Release|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug|Win32.ActiveCfg = Debug|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug|x64.ActiveCfg = Debug|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release|Win32.ActiveCfg = Release|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release|x64.ActiveCfg = Release|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug|Win32.Build.0 = Debug|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug|x64.Build.0 = Debug|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release|Win32.Build.0 = Release|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release|x64.Build.0 = Release|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug-DLL|x64.Build.0 = Debug|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release-DLL|Win32.Build.0 = Release|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release-DLL|x64.ActiveCfg = Release|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release-DLL|x64.Build.0 = Release|x64 {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug|Win32.ActiveCfg = Debug|Win32 {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug|x64.ActiveCfg = Debug|x64 {10668A5D-65CD-F530-22D0-747B395B4C26}.Release|Win32.ActiveCfg = Release|Win32 diff --git a/vsprojects/vcxproj/gpr/gpr.vcxproj b/vsprojects/vcxproj/gpr/gpr.vcxproj index 7fb81a7fbca..2386fddd02a 100644 --- a/vsprojects/vcxproj/gpr/gpr.vcxproj +++ b/vsprojects/vcxproj/gpr/gpr.vcxproj @@ -186,12 +186,12 @@ + - @@ -206,6 +206,8 @@ + + @@ -218,8 +220,6 @@ - - diff --git a/vsprojects/vcxproj/gpr/gpr.vcxproj.filters b/vsprojects/vcxproj/gpr/gpr.vcxproj.filters index 27d9d2f38f4..c5fce455f4b 100644 --- a/vsprojects/vcxproj/gpr/gpr.vcxproj.filters +++ b/vsprojects/vcxproj/gpr/gpr.vcxproj.filters @@ -1,6 +1,9 @@ + + src\core\lib\backoff + src\core\lib\profiling @@ -19,9 +22,6 @@ src\core\lib\support - - src\core\lib\support - src\core\lib\support @@ -254,6 +254,9 @@ + + src\core\lib\backoff + src\core\lib\profiling @@ -269,9 +272,6 @@ src\core\lib\support - - src\core\lib\support - src\core\lib\support @@ -335,6 +335,9 @@ {52037bcb-5719-a548-224d-834fbe569045} + + {5a917a34-e4b4-01c0-4565-2be560176bec} + {ba38d79d-d5de-a89e-9ca2-c5235a03ca7f} diff --git a/vsprojects/vcxproj/test/gpr_backoff_test/gpr_backoff_test.vcxproj b/vsprojects/vcxproj/test/backoff_test/backoff_test.vcxproj similarity index 95% rename from vsprojects/vcxproj/test/gpr_backoff_test/gpr_backoff_test.vcxproj rename to vsprojects/vcxproj/test/backoff_test/backoff_test.vcxproj index 6aa292ef4f5..22ba2f7d0a1 100644 --- a/vsprojects/vcxproj/test/gpr_backoff_test/gpr_backoff_test.vcxproj +++ b/vsprojects/vcxproj/test/backoff_test/backoff_test.vcxproj @@ -20,7 +20,7 @@ - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB} + {F0B4300E-693E-CAD6-E6DD-7DEBD136C202} true $(SolutionDir)IntDir\$(MSBuildProjectName)\ @@ -60,14 +60,14 @@ - gpr_backoff_test + backoff_test static Debug static Debug - gpr_backoff_test + backoff_test static Release static @@ -158,10 +158,16 @@ - + + + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + + + {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} diff --git a/vsprojects/vcxproj/test/gpr_backoff_test/gpr_backoff_test.vcxproj.filters b/vsprojects/vcxproj/test/backoff_test/backoff_test.vcxproj.filters similarity index 53% rename from vsprojects/vcxproj/test/gpr_backoff_test/gpr_backoff_test.vcxproj.filters rename to vsprojects/vcxproj/test/backoff_test/backoff_test.vcxproj.filters index eb3c1bbd8c2..c2189ddd962 100644 --- a/vsprojects/vcxproj/test/gpr_backoff_test/gpr_backoff_test.vcxproj.filters +++ b/vsprojects/vcxproj/test/backoff_test/backoff_test.vcxproj.filters @@ -1,20 +1,20 @@ - - test\core\support + + test\core\backoff - {4b7f1d25-d344-0bcb-63d8-2ba959874ea8} + {05e21e2a-bc8e-8c99-d00c-486e055f3b4a} - {2bd2fba5-8799-2c78-469f-ec3ba6b01da8} + {42a371ec-543d-205f-0fbc-7ba3d2b2deca} - - {2ef0cfa7-fe3d-2b82-7d0e-f9e293e8f98c} + + {467ad11c-0245-020b-4558-5b324ac725be} From 781e91a3e9ea2daf94a3a759bb61a28f66136f3d Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 17 Jul 2017 16:21:00 -0700 Subject: [PATCH 006/180] Add invalidate_now calls --- src/core/lib/iomgr/ev_epoll1_linux.c | 2 +- src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c | 2 +- src/core/lib/iomgr/ev_epoll_thread_pool_linux.c | 2 +- src/core/lib/iomgr/ev_epollex_linux.c | 2 +- src/core/lib/iomgr/ev_epollsig_linux.c | 2 +- src/core/lib/iomgr/ev_poll_posix.c | 2 +- src/core/lib/iomgr/load_file.c | 2 +- src/core/lib/iomgr/resolve_address_posix.c | 4 ++-- src/core/lib/iomgr/resolve_address_windows.c | 2 +- src/core/lib/support/block_annotate.h | 8 ++++++-- src/core/lib/support/time_posix.c | 2 +- src/core/lib/support/time_windows.c | 2 +- 12 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/core/lib/iomgr/ev_epoll1_linux.c b/src/core/lib/iomgr/ev_epoll1_linux.c index 66ba601adb9..b52e6ee9ecb 100644 --- a/src/core/lib/iomgr/ev_epoll1_linux.c +++ b/src/core/lib/iomgr/ev_epoll1_linux.c @@ -477,7 +477,7 @@ static grpc_error *pollset_epoll(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, r = epoll_wait(g_epfd, events, MAX_EPOLL_EVENTS, timeout); } while (r < 0 && errno == EINTR); if (timeout != 0) { - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(exec_ctx); } if (r < 0) return GRPC_OS_ERROR(errno, "epoll_wait"); diff --git a/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c b/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c index 9f82c480bc4..57baef16ec1 100644 --- a/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c +++ b/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c @@ -1309,7 +1309,7 @@ static bool acquire_polling_lease(grpc_pollset_worker *worker, struct timespec sigwait_timeout = millis_to_timespec(timeout_ms); GRPC_SCHEDULING_START_BLOCKING_REGION; ret = sigtimedwait(&g_wakeup_sig_set, NULL, &sigwait_timeout); - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(exec_ctx); } if (ret == -1) { diff --git a/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c b/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c index 49be72c03e0..0daa49727c4 100644 --- a/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c +++ b/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c @@ -778,7 +778,7 @@ static void do_epoll_wait(grpc_exec_ctx *exec_ctx, int epoll_fd, epoll_set *eps, acquire_epoll_lease(eps); ep_rv = epoll_wait(epoll_fd, ep_ev, GRPC_EPOLL_MAX_EVENTS, timeout_ms); release_epoll_lease(eps); - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(exec_ctx); if (ep_rv < 0) { gpr_asprintf(&err_msg, diff --git a/src/core/lib/iomgr/ev_epollex_linux.c b/src/core/lib/iomgr/ev_epollex_linux.c index 56904317592..416ef8c16b0 100644 --- a/src/core/lib/iomgr/ev_epollex_linux.c +++ b/src/core/lib/iomgr/ev_epollex_linux.c @@ -817,7 +817,7 @@ static grpc_error *pollset_epoll(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, r = epoll_wait(p->epfd, pollset->events, MAX_EPOLL_EVENTS, timeout); } while (r < 0 && errno == EINTR); if (timeout != 0) { - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(exec_ctx); } if (r < 0) return GRPC_OS_ERROR(errno, "epoll_wait"); diff --git a/src/core/lib/iomgr/ev_epollsig_linux.c b/src/core/lib/iomgr/ev_epollsig_linux.c index 3c4ca9c7c59..a2130a3f786 100644 --- a/src/core/lib/iomgr/ev_epollsig_linux.c +++ b/src/core/lib/iomgr/ev_epollsig_linux.c @@ -1240,7 +1240,7 @@ static void pollset_work_and_unlock(grpc_exec_ctx *exec_ctx, GRPC_SCHEDULING_START_BLOCKING_REGION; ep_rv = epoll_pwait(epoll_fd, ep_ev, GRPC_EPOLL_MAX_EVENTS, timeout_ms, sig_mask); - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(exec_ctx); if (ep_rv < 0) { if (errno != EINTR) { gpr_asprintf(&err_msg, diff --git a/src/core/lib/iomgr/ev_poll_posix.c b/src/core/lib/iomgr/ev_poll_posix.c index 4dc22fbcea5..e7cdfc18603 100644 --- a/src/core/lib/iomgr/ev_poll_posix.c +++ b/src/core/lib/iomgr/ev_poll_posix.c @@ -960,7 +960,7 @@ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, even going into the blocking annotation if possible */ GRPC_SCHEDULING_START_BLOCKING_REGION; r = grpc_poll_function(pfds, pfd_count, timeout); - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(exec_ctx); if (r < 0) { if (errno != EINTR) { diff --git a/src/core/lib/iomgr/load_file.c b/src/core/lib/iomgr/load_file.c index ba77a52afce..a8c0fa13390 100644 --- a/src/core/lib/iomgr/load_file.c +++ b/src/core/lib/iomgr/load_file.c @@ -72,6 +72,6 @@ end: GRPC_ERROR_UNREF(error); error = error_out; } - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX; return error; } diff --git a/src/core/lib/iomgr/resolve_address_posix.c b/src/core/lib/iomgr/resolve_address_posix.c index 35dedc23de3..160235ca99d 100644 --- a/src/core/lib/iomgr/resolve_address_posix.c +++ b/src/core/lib/iomgr/resolve_address_posix.c @@ -81,7 +81,7 @@ static grpc_error *blocking_resolve_address_impl( GRPC_SCHEDULING_START_BLOCKING_REGION; s = getaddrinfo(host, port, &hints, &result); - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX; if (s != 0) { /* Retry if well-known service name is recognized */ @@ -90,7 +90,7 @@ static grpc_error *blocking_resolve_address_impl( if (strcmp(port, svc[i][0]) == 0) { GRPC_SCHEDULING_START_BLOCKING_REGION; s = getaddrinfo(host, svc[i][1], &hints, &result); - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX; break; } } diff --git a/src/core/lib/iomgr/resolve_address_windows.c b/src/core/lib/iomgr/resolve_address_windows.c index 45cfd7248d5..c5d8dd9893e 100644 --- a/src/core/lib/iomgr/resolve_address_windows.c +++ b/src/core/lib/iomgr/resolve_address_windows.c @@ -86,7 +86,7 @@ static grpc_error *blocking_resolve_address_impl( GRPC_SCHEDULING_START_BLOCKING_REGION; s = getaddrinfo(host, port, &hints, &result); - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(exec_ctx); if (s != 0) { error = GRPC_WSA_ERROR(WSAGetLastError(), "getaddrinfo"); goto done; diff --git a/src/core/lib/support/block_annotate.h b/src/core/lib/support/block_annotate.h index 0a2cb450186..e20faea9001 100644 --- a/src/core/lib/support/block_annotate.h +++ b/src/core/lib/support/block_annotate.h @@ -26,8 +26,12 @@ #define GRPC_SCHEDULING_START_BLOCKING_REGION \ do { \ } while (0) -#define GRPC_SCHEDULING_END_BLOCKING_REGION \ - do { \ +#define GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX \ + do { \ + } while (0) +#define GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(ec) \ + do { \ + grpc_exec_ctx_invalidate_now((ec)); \ } while (0) #endif /* GRPC_CORE_LIB_SUPPORT_BLOCK_ANNOTATE_H */ diff --git a/src/core/lib/support/time_posix.c b/src/core/lib/support/time_posix.c index 3ead40d8078..1248d875edd 100644 --- a/src/core/lib/support/time_posix.c +++ b/src/core/lib/support/time_posix.c @@ -159,7 +159,7 @@ void gpr_sleep_until(gpr_timespec until) { delta_ts = timespec_from_gpr(delta); GRPC_SCHEDULING_START_BLOCKING_REGION; ns_result = nanosleep(&delta_ts, NULL); - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX; if (ns_result == 0) { break; } diff --git a/src/core/lib/support/time_windows.c b/src/core/lib/support/time_windows.c index 40df3761c00..e28cf0f4cbc 100644 --- a/src/core/lib/support/time_windows.c +++ b/src/core/lib/support/time_windows.c @@ -94,7 +94,7 @@ void gpr_sleep_until(gpr_timespec until) { GPR_ASSERT((sleep_millis >= 0) && (sleep_millis <= INT_MAX)); GRPC_SCHEDULING_START_BLOCKING_REGION; Sleep((DWORD)sleep_millis); - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX; } } From 19b9af0cb88f7c5d8e9bafb475e95fb32fc14aa0 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 17 Jul 2017 16:26:24 -0700 Subject: [PATCH 007/180] Fix tools compilation --- test/core/security/print_google_default_creds_token.c | 3 +-- test/core/security/verify_jwt.c | 8 +++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/test/core/security/print_google_default_creds_token.c b/test/core/security/print_google_default_creds_token.c index 3c3d3a7c105..8094febaca4 100644 --- a/test/core/security/print_google_default_creds_token.c +++ b/test/core/security/print_google_default_creds_token.c @@ -99,8 +99,7 @@ int main(int argc, char **argv) { "pollset_work", grpc_pollset_work(&exec_ctx, grpc_polling_entity_pollset(&sync.pops), &worker, - gpr_now(GPR_CLOCK_MONOTONIC), - gpr_inf_future(GPR_CLOCK_MONOTONIC)))) + GRPC_MILLIS_INF_FUTURE))) sync.is_done = 1; gpr_mu_unlock(sync.mu); grpc_exec_ctx_flush(&exec_ctx); diff --git a/test/core/security/verify_jwt.c b/test/core/security/verify_jwt.c index 259038f4d6c..e3d7d9d8aad 100644 --- a/test/core/security/verify_jwt.c +++ b/test/core/security/verify_jwt.c @@ -101,11 +101,9 @@ int main(int argc, char **argv) { gpr_mu_lock(sync.mu); while (!sync.is_done) { grpc_pollset_worker *worker = NULL; - if (!GRPC_LOG_IF_ERROR( - "pollset_work", - grpc_pollset_work(&exec_ctx, sync.pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), - gpr_inf_future(GPR_CLOCK_MONOTONIC)))) + if (!GRPC_LOG_IF_ERROR("pollset_work", + grpc_pollset_work(&exec_ctx, sync.pollset, &worker, + GRPC_MILLIS_INF_FUTURE))) sync.is_done = true; gpr_mu_unlock(sync.mu); grpc_exec_ctx_flush(&exec_ctx); From 203977925ccf04599336897a694b300d4f922464 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 18 Jul 2017 11:35:27 -0700 Subject: [PATCH 008/180] Linux compile fixes --- src/core/lib/iomgr/ev_epoll1_linux.c | 48 ++++++------- .../iomgr/ev_epoll_limited_pollers_linux.c | 70 +++++++------------ .../lib/iomgr/ev_epoll_thread_pool_linux.c | 4 +- src/core/lib/iomgr/ev_epollex_linux.c | 68 ++++++++---------- src/core/lib/iomgr/ev_epollsig_linux.c | 37 ++++------ src/core/lib/iomgr/timer_generic.c | 3 +- test/core/iomgr/ev_epollsig_linux_test.c | 6 +- test/core/iomgr/pollset_set_test.c | 22 +++--- 8 files changed, 103 insertions(+), 155 deletions(-) diff --git a/src/core/lib/iomgr/ev_epoll1_linux.c b/src/core/lib/iomgr/ev_epoll1_linux.c index b52e6ee9ecb..4eaaaa06dda 100644 --- a/src/core/lib/iomgr/ev_epoll1_linux.c +++ b/src/core/lib/iomgr/ev_epoll1_linux.c @@ -25,6 +25,7 @@ #include #include +#include #include #include #include @@ -444,30 +445,24 @@ static void pollset_shutdown(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, #define MAX_EPOLL_EVENTS 100 -static int poll_deadline_to_millis_timeout(gpr_timespec deadline, - gpr_timespec now) { - gpr_timespec timeout; - if (gpr_time_cmp(deadline, gpr_inf_future(deadline.clock_type)) == 0) { - return -1; - } - - if (gpr_time_cmp(deadline, now) <= 0) { +static int poll_deadline_to_millis_timeout(grpc_exec_ctx *exec_ctx, + grpc_millis millis) { + if (millis == GRPC_MILLIS_INF_FUTURE) return -1; + grpc_millis delta = millis - grpc_exec_ctx_now(exec_ctx); + if (delta > INT_MAX) + return INT_MAX; + else if (delta < 0) return 0; - } - - static const gpr_timespec round_up = { - .clock_type = GPR_TIMESPAN, .tv_sec = 0, .tv_nsec = GPR_NS_PER_MS - 1}; - timeout = gpr_time_sub(deadline, now); - int millis = gpr_time_to_millis(gpr_time_add(timeout, round_up)); - return millis >= 1 ? millis : 1; + else + return (int)delta; } static grpc_error *pollset_epoll(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - gpr_timespec now, gpr_timespec deadline) { + grpc_millis deadline) { struct epoll_event events[MAX_EPOLL_EVENTS]; static const char *err_desc = "pollset_poll"; - int timeout = poll_deadline_to_millis_timeout(deadline, now); + int timeout = poll_deadline_to_millis_timeout(exec_ctx, deadline); if (timeout != 0) { GRPC_SCHEDULING_START_BLOCKING_REGION; @@ -505,9 +500,10 @@ static grpc_error *pollset_epoll(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, return error; } -static bool begin_worker(grpc_pollset *pollset, grpc_pollset_worker *worker, - grpc_pollset_worker **worker_hdl, gpr_timespec *now, - gpr_timespec deadline) { +static bool begin_worker(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + grpc_pollset_worker *worker, + grpc_pollset_worker **worker_hdl, + grpc_millis deadline) { if (worker_hdl != NULL) *worker_hdl = worker; worker->initialized_cv = false; worker->kick_state = UNKICKED; @@ -562,12 +558,13 @@ static bool begin_worker(grpc_pollset *pollset, grpc_pollset_worker *worker, gpr_cv_init(&worker->cv); while (worker->kick_state == UNKICKED && pollset->shutdown_closure == NULL) { - if (gpr_cv_wait(&worker->cv, &pollset->mu, deadline) && + if (gpr_cv_wait(&worker->cv, &pollset->mu, + grpc_millis_to_timespec(deadline, GPR_CLOCK_REALTIME)) && worker->kick_state == UNKICKED) { worker->kick_state = KICKED; } } - *now = gpr_now(now->clock_type); + grpc_exec_ctx_invalidate_now(exec_ctx); } return worker->kick_state == DESIGNATED_POLLER && @@ -694,7 +691,7 @@ static void end_worker(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, ensure that it is held by the time the function returns */ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker **worker_hdl, - gpr_timespec now, gpr_timespec deadline) { + grpc_millis deadline) { grpc_pollset_worker worker; grpc_error *error = GRPC_ERROR_NONE; static const char *err_desc = "pollset_work"; @@ -703,13 +700,12 @@ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, return GRPC_ERROR_NONE; } gpr_tls_set(&g_current_thread_pollset, (intptr_t)pollset); - if (begin_worker(pollset, &worker, worker_hdl, &now, deadline)) { + if (begin_worker(exec_ctx, pollset, &worker, worker_hdl, deadline)) { gpr_tls_set(&g_current_thread_worker, (intptr_t)&worker); GPR_ASSERT(!pollset->shutdown_closure); GPR_ASSERT(!pollset->seen_inactive); gpr_mu_unlock(&pollset->mu); - append_error(&error, pollset_epoll(exec_ctx, pollset, now, deadline), - err_desc); + append_error(&error, pollset_epoll(exec_ctx, pollset, deadline), err_desc); gpr_mu_lock(&pollset->mu); gpr_tls_set(&g_current_thread_worker, 0); } diff --git a/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c b/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c index 57baef16ec1..055acffbdd4 100644 --- a/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c +++ b/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c @@ -1196,30 +1196,16 @@ static struct timespec millis_to_timespec(int millis) { return linux_ts; } -/* Convert a timespec to milliseconds: - - Very small or negative poll times are clamped to zero to do a non-blocking - poll (which becomes spin polling) - - Other small values are rounded up to one millisecond - - Longer than a millisecond polls are rounded up to the next nearest - millisecond to avoid spinning - - Infinite timeouts are converted to -1 */ -static int poll_deadline_to_millis_timeout(gpr_timespec deadline, - gpr_timespec now) { - gpr_timespec timeout; - static const int64_t max_spin_polling_us = 10; - if (gpr_time_cmp(deadline, gpr_inf_future(deadline.clock_type)) == 0) { - return -1; - } - - if (gpr_time_cmp(deadline, gpr_time_add(now, gpr_time_from_micros( - max_spin_polling_us, - GPR_TIMESPAN))) <= 0) { +static int poll_deadline_to_millis_timeout(grpc_exec_ctx *exec_ctx, + grpc_millis millis) { + if (millis == GRPC_MILLIS_INF_FUTURE) return -1; + grpc_millis delta = millis - grpc_exec_ctx_now(exec_ctx); + if (delta > INT_MAX) + return INT_MAX; + else if (delta < 0) return 0; - } - timeout = gpr_time_sub(deadline, now); - int millis = gpr_time_to_millis(gpr_time_add( - timeout, gpr_time_from_nanos(GPR_NS_PER_MS - 1, GPR_TIMESPAN))); - return millis >= 1 ? millis : 1; + else + return (int)delta; } static void fd_become_readable(grpc_exec_ctx *exec_ctx, grpc_fd *fd, @@ -1287,10 +1273,9 @@ static void pollset_destroy(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset) { gpr_mu_destroy(&pollset->po.mu); } -/* NOTE: This function may modify 'now' */ -static bool acquire_polling_lease(grpc_pollset_worker *worker, - polling_island *pi, gpr_timespec deadline, - gpr_timespec *now) { +static bool acquire_polling_lease(grpc_exec_ctx *exec_ctx, + grpc_pollset_worker *worker, + polling_island *pi, grpc_millis *deadline) { bool is_lease_acquired = false; gpr_mu_lock(&pi->worker_list_mu); // LOCK @@ -1302,7 +1287,7 @@ static bool acquire_polling_lease(grpc_pollset_worker *worker, bool is_timeout = false; int ret; - int timeout_ms = poll_deadline_to_millis_timeout(deadline, *now); + int timeout_ms = poll_deadline_to_millis_timeout(exec_ctx, *deadline); if (timeout_ms == -1) { ret = sigwaitinfo(&g_wakeup_sig_set, NULL); } else { @@ -1325,18 +1310,13 @@ static bool acquire_polling_lease(grpc_pollset_worker *worker, } } - /* Did the worker come out of sigtimedwait due to a thread that just - exited epoll and kicking it (in release_polling_lease function). */ - bool is_polling_turn = gpr_atm_acq_load(&worker->is_polling_turn); - /* Did the worker come out of sigtimedwait due to a thread alerting it that some completion event was (likely) available in the completion queue */ bool is_kicked = gpr_atm_no_barrier_load(&worker->is_kicked); if (is_kicked || is_timeout) { - *now = deadline; /* Essentially make the epoll timeout = 0 */ - } else if (is_polling_turn) { - *now = gpr_now(GPR_CLOCK_MONOTONIC); /* Reduce the epoll timeout */ + *deadline = grpc_exec_ctx_now( + exec_ctx); /* Essentially make the epoll timeout = 0 */ } gpr_mu_lock(&pi->worker_list_mu); // LOCK @@ -1376,11 +1356,11 @@ static void release_polling_lease(polling_island *pi, grpc_error **error) { static void pollset_do_epoll_pwait(grpc_exec_ctx *exec_ctx, int epoll_fd, grpc_pollset *pollset, polling_island *pi, grpc_pollset_worker *worker, - gpr_timespec now, gpr_timespec deadline, - sigset_t *sig_mask, grpc_error **error) { + grpc_millis deadline, sigset_t *sig_mask, + grpc_error **error) { /* Only g_max_pollers_per_pi threads can be doing polling in parallel. If we cannot get a lease, we cannot continue to do epoll_pwait() */ - if (!acquire_polling_lease(worker, pi, deadline, &now)) { + if (!acquire_polling_lease(exec_ctx, worker, pi, &deadline)) { return; } @@ -1390,12 +1370,12 @@ static void pollset_do_epoll_pwait(grpc_exec_ctx *exec_ctx, int epoll_fd, const char *err_desc = "pollset_work_and_unlock"; /* timeout_ms is the time between 'now' and 'deadline' */ - int timeout_ms = poll_deadline_to_millis_timeout(deadline, now); + int timeout_ms = poll_deadline_to_millis_timeout(exec_ctx, deadline); GRPC_SCHEDULING_START_BLOCKING_REGION; ep_rv = epoll_pwait(epoll_fd, ep_ev, GRPC_EPOLL_MAX_EVENTS, timeout_ms, sig_mask); - GRPC_SCHEDULING_END_BLOCKING_REGION; + GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(exec_ctx); /* Give back the lease right away so that some other thread can enter */ release_polling_lease(pi, error); @@ -1450,8 +1430,8 @@ static void pollset_do_epoll_pwait(grpc_exec_ctx *exec_ctx, int epoll_fd, static void pollset_work_and_unlock(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker *worker, - gpr_timespec now, gpr_timespec deadline, - sigset_t *sig_mask, grpc_error **error) { + grpc_millis deadline, sigset_t *sig_mask, + grpc_error **error) { int epoll_fd = -1; polling_island *pi = NULL; GPR_TIMER_BEGIN("pollset_work_and_unlock", 0); @@ -1499,7 +1479,7 @@ static void pollset_work_and_unlock(grpc_exec_ctx *exec_ctx, gpr_mu_unlock(&pollset->po.mu); g_current_thread_polling_island = pi; - pollset_do_epoll_pwait(exec_ctx, epoll_fd, pollset, pi, worker, now, deadline, + pollset_do_epoll_pwait(exec_ctx, epoll_fd, pollset, pi, worker, deadline, sig_mask, error); g_current_thread_polling_island = NULL; @@ -1521,7 +1501,7 @@ static void pollset_work_and_unlock(grpc_exec_ctx *exec_ctx, ensure that it is held by the time the function returns */ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker **worker_hdl, - gpr_timespec now, gpr_timespec deadline) { + grpc_millis deadline) { GPR_TIMER_BEGIN("pollset_work", 0); grpc_error *error = GRPC_ERROR_NONE; @@ -1577,7 +1557,7 @@ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, push_front_worker(pollset, &worker); /* Add worker to pollset */ - pollset_work_and_unlock(exec_ctx, pollset, &worker, now, deadline, + pollset_work_and_unlock(exec_ctx, pollset, &worker, deadline, &g_orig_sigmask, &error); grpc_exec_ctx_flush(exec_ctx); diff --git a/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c b/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c index 0daa49727c4..46bf828cabe 100644 --- a/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c +++ b/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c @@ -838,7 +838,7 @@ static void epoll_set_work(grpc_exec_ctx *exec_ctx, epoll_set *eps, ensure that it is held by the time the function returns */ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker **worker_hdl, - gpr_timespec now, gpr_timespec deadline) { + grpc_millis deadline) { GPR_TIMER_BEGIN("pollset_work", 0); grpc_error *error = GRPC_ERROR_NONE; @@ -861,7 +861,7 @@ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, push_front_worker(pollset, &worker); gpr_cv_wait(&worker.kick_cv, &pollset->mu, - gpr_convert_clock_type(deadline, GPR_CLOCK_REALTIME)); + grpc_millis_to_timespec(deadline, GPR_CLOCK_REALTIME)); /* pollset->mu locked here */ remove_worker(pollset, &worker); diff --git a/src/core/lib/iomgr/ev_epollex_linux.c b/src/core/lib/iomgr/ev_epollex_linux.c index 416ef8c16b0..030f18aaf25 100644 --- a/src/core/lib/iomgr/ev_epollex_linux.c +++ b/src/core/lib/iomgr/ev_epollex_linux.c @@ -25,6 +25,7 @@ #include #include +#include #include #include #include @@ -683,29 +684,16 @@ static void pollset_init(grpc_pollset *pollset, gpr_mu **mu) { *mu = &pollset->pollable.po.mu; } -/* Convert a timespec to milliseconds: - - Very small or negative poll times are clamped to zero to do a non-blocking - poll (which becomes spin polling) - - Other small values are rounded up to one millisecond - - Longer than a millisecond polls are rounded up to the next nearest - millisecond to avoid spinning - - Infinite timeouts are converted to -1 */ -static int poll_deadline_to_millis_timeout(gpr_timespec deadline, - gpr_timespec now) { - gpr_timespec timeout; - if (gpr_time_cmp(deadline, gpr_inf_future(deadline.clock_type)) == 0) { - return -1; - } - - if (gpr_time_cmp(deadline, now) <= 0) { +static int poll_deadline_to_millis_timeout(grpc_exec_ctx *exec_ctx, + grpc_millis millis) { + if (millis == GRPC_MILLIS_INF_FUTURE) return -1; + grpc_millis delta = millis - grpc_exec_ctx_now(exec_ctx); + if (delta > INT_MAX) + return INT_MAX; + else if (delta < 0) return 0; - } - - static const gpr_timespec round_up = { - .clock_type = GPR_TIMESPAN, .tv_sec = 0, .tv_nsec = GPR_NS_PER_MS - 1}; - timeout = gpr_time_sub(deadline, now); - int millis = gpr_time_to_millis(gpr_time_add(timeout, round_up)); - return millis >= 1 ? millis : 1; + else + return (int)delta; } static void fd_become_readable(grpc_exec_ctx *exec_ctx, grpc_fd *fd, @@ -799,9 +787,8 @@ static void pollset_destroy(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset) { } static grpc_error *pollset_epoll(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - pollable *p, gpr_timespec now, - gpr_timespec deadline) { - int timeout = poll_deadline_to_millis_timeout(deadline, now); + pollable *p, grpc_millis deadline) { + int timeout = poll_deadline_to_millis_timeout(exec_ctx, deadline); if (GRPC_TRACER_ON(grpc_polling_trace)) { char *desc = pollable_desc(p); @@ -872,9 +859,10 @@ static worker_remove_result worker_remove(grpc_pollset_worker **root, } /* Return true if this thread should poll */ -static bool begin_worker(grpc_pollset *pollset, grpc_pollset_worker *worker, - grpc_pollset_worker **worker_hdl, gpr_timespec *now, - gpr_timespec deadline) { +static bool begin_worker(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + grpc_pollset_worker *worker, + grpc_pollset_worker **worker_hdl, + grpc_millis deadline) { bool do_poll = true; if (worker_hdl != NULL) *worker_hdl = worker; worker->initialized_cv = false; @@ -897,10 +885,11 @@ static bool begin_worker(grpc_pollset *pollset, grpc_pollset_worker *worker, worker->pollable->root_worker != worker) { gpr_log(GPR_DEBUG, "PS:%p wait %p w=%p for %dms", pollset, worker->pollable, worker, - poll_deadline_to_millis_timeout(deadline, *now)); + poll_deadline_to_millis_timeout(exec_ctx, deadline)); } while (do_poll && worker->pollable->root_worker != worker) { - if (gpr_cv_wait(&worker->cv, &worker->pollable->po.mu, deadline)) { + if (gpr_cv_wait(&worker->cv, &worker->pollable->po.mu, + grpc_millis_to_timespec(deadline, GPR_CLOCK_REALTIME))) { if (GRPC_TRACER_ON(grpc_polling_trace)) { gpr_log(GPR_DEBUG, "PS:%p timeout_wait %p w=%p", pollset, worker->pollable, worker); @@ -923,7 +912,7 @@ static bool begin_worker(grpc_pollset *pollset, grpc_pollset_worker *worker, gpr_mu_lock(&pollset->pollable.po.mu); gpr_mu_lock(&worker->pollable->po.mu); } - *now = gpr_now(now->clock_type); + grpc_exec_ctx_invalidate_now(exec_ctx); } return do_poll && pollset->shutdown_closure == NULL && @@ -954,14 +943,13 @@ static void end_worker(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, ensure that it is held by the time the function returns */ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker **worker_hdl, - gpr_timespec now, gpr_timespec deadline) { + grpc_millis deadline) { grpc_pollset_worker worker; if (0 && GRPC_TRACER_ON(grpc_polling_trace)) { - gpr_log(GPR_DEBUG, "PS:%p work hdl=%p worker=%p now=%" PRId64 - ".%09d deadline=%" PRId64 ".%09d kwp=%d root_worker=%p", - pollset, worker_hdl, &worker, now.tv_sec, now.tv_nsec, - deadline.tv_sec, deadline.tv_nsec, pollset->kicked_without_poller, - pollset->root_worker); + gpr_log(GPR_DEBUG, "PS:%p work hdl=%p worker=%p now=%" PRIdPTR + " deadline=%" PRIdPTR " kwp=%d root_worker=%p", + pollset, worker_hdl, &worker, grpc_exec_ctx_now(exec_ctx), deadline, + pollset->kicked_without_poller, pollset->root_worker); } grpc_error *error = GRPC_ERROR_NONE; static const char *err_desc = "pollset_work"; @@ -972,7 +960,7 @@ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, if (pollset->current_pollable != &pollset->pollable) { gpr_mu_lock(&pollset->current_pollable->po.mu); } - if (begin_worker(pollset, &worker, worker_hdl, &now, deadline)) { + if (begin_worker(exec_ctx, pollset, &worker, worker_hdl, deadline)) { gpr_tls_set(&g_current_thread_pollset, (intptr_t)pollset); gpr_tls_set(&g_current_thread_worker, (intptr_t)&worker); GPR_ASSERT(!pollset->shutdown_closure); @@ -982,8 +970,8 @@ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, } gpr_mu_unlock(&pollset->pollable.po.mu); if (pollset->event_cursor == pollset->event_count) { - append_error(&error, pollset_epoll(exec_ctx, pollset, worker.pollable, - now, deadline), + append_error(&error, + pollset_epoll(exec_ctx, pollset, worker.pollable, deadline), err_desc); } append_error(&error, pollset_process_events(exec_ctx, pollset, false), diff --git a/src/core/lib/iomgr/ev_epollsig_linux.c b/src/core/lib/iomgr/ev_epollsig_linux.c index a2130a3f786..1e7ec0a1bc0 100644 --- a/src/core/lib/iomgr/ev_epollsig_linux.c +++ b/src/core/lib/iomgr/ev_epollsig_linux.c @@ -25,6 +25,7 @@ #include #include +#include #include #include #include @@ -1088,30 +1089,16 @@ static void pollset_init(grpc_pollset *pollset, gpr_mu **mu) { pollset->shutdown_done = NULL; } -/* Convert a timespec to milliseconds: - - Very small or negative poll times are clamped to zero to do a non-blocking - poll (which becomes spin polling) - - Other small values are rounded up to one millisecond - - Longer than a millisecond polls are rounded up to the next nearest - millisecond to avoid spinning - - Infinite timeouts are converted to -1 */ -static int poll_deadline_to_millis_timeout(gpr_timespec deadline, - gpr_timespec now) { - gpr_timespec timeout; - static const int64_t max_spin_polling_us = 10; - if (gpr_time_cmp(deadline, gpr_inf_future(deadline.clock_type)) == 0) { - return -1; - } - - if (gpr_time_cmp(deadline, gpr_time_add(now, gpr_time_from_micros( - max_spin_polling_us, - GPR_TIMESPAN))) <= 0) { +static int poll_deadline_to_millis_timeout(grpc_exec_ctx *exec_ctx, + grpc_millis millis) { + if (millis == GRPC_MILLIS_INF_FUTURE) return -1; + grpc_millis delta = millis - grpc_exec_ctx_now(exec_ctx); + if (delta > INT_MAX) + return INT_MAX; + else if (delta < 0) return 0; - } - timeout = gpr_time_sub(deadline, now); - int millis = gpr_time_to_millis(gpr_time_add( - timeout, gpr_time_from_nanos(GPR_NS_PER_MS - 1, GPR_TIMESPAN))); - return millis >= 1 ? millis : 1; + else + return (int)delta; } static void fd_become_readable(grpc_exec_ctx *exec_ctx, grpc_fd *fd, @@ -1307,10 +1294,10 @@ static void pollset_work_and_unlock(grpc_exec_ctx *exec_ctx, ensure that it is held by the time the function returns */ static grpc_error *pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker **worker_hdl, - gpr_timespec now, gpr_timespec deadline) { + grpc_millis deadline) { GPR_TIMER_BEGIN("pollset_work", 0); grpc_error *error = GRPC_ERROR_NONE; - int timeout_ms = poll_deadline_to_millis_timeout(deadline, now); + int timeout_ms = poll_deadline_to_millis_timeout(exec_ctx, deadline); sigset_t new_mask; diff --git a/src/core/lib/iomgr/timer_generic.c b/src/core/lib/iomgr/timer_generic.c index 11d0b338f19..3446e11a95e 100644 --- a/src/core/lib/iomgr/timer_generic.c +++ b/src/core/lib/iomgr/timer_generic.c @@ -225,7 +225,8 @@ void grpc_timer_init(grpc_exec_ctx *exec_ctx, grpc_timer *timer, return; } - grpc_time_averaged_stats_add_sample(&shard->stats, (deadline - now) / 1000.0); + grpc_time_averaged_stats_add_sample(&shard->stats, + (double)(deadline - now) / 1000.0); if (deadline < shard->queue_deadline_cap) { is_first_timer = grpc_timer_heap_add(&shard->heap, timer); } else { diff --git a/test/core/iomgr/ev_epollsig_linux_test.c b/test/core/iomgr/ev_epollsig_linux_test.c index 1d272fa4065..2c384d2b7b2 100644 --- a/test/core/iomgr/ev_epollsig_linux_test.c +++ b/test/core/iomgr/ev_epollsig_linux_test.c @@ -236,10 +236,8 @@ static void test_threading_loop(void *arg) { grpc_pollset_worker *worker; gpr_mu_lock(shared->mu); GPR_ASSERT(GRPC_LOG_IF_ERROR( - "pollset_work", - grpc_pollset_work(&exec_ctx, shared->pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), - gpr_inf_future(GPR_CLOCK_MONOTONIC)))); + "pollset_work", grpc_pollset_work(&exec_ctx, shared->pollset, &worker, + GRPC_MILLIS_INF_FUTURE))); gpr_mu_unlock(shared->mu); grpc_exec_ctx_finish(&exec_ctx); } diff --git a/test/core/iomgr/pollset_set_test.c b/test/core/iomgr/pollset_set_test.c index 6aedaf1081a..09067998043 100644 --- a/test/core/iomgr/pollset_set_test.c +++ b/test/core/iomgr/pollset_set_test.c @@ -202,7 +202,7 @@ static void pollset_set_test_basic() { */ grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_pollset_worker *worker; - gpr_timespec deadline; + grpc_millis deadline; test_fd tfds[10]; test_pollset pollsets[3]; @@ -255,10 +255,10 @@ static void pollset_set_test_basic() { make_test_fds_readable(tfds, num_fds); gpr_mu_lock(pollsets[i].mu); - deadline = grpc_timeout_milliseconds_to_deadline(2); + deadline = + grpc_timespec_to_millis(grpc_timeout_milliseconds_to_deadline(2)); GPR_ASSERT(GRPC_ERROR_NONE == - grpc_pollset_work(&exec_ctx, pollsets[i].ps, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline)); + grpc_pollset_work(&exec_ctx, pollsets[i].ps, &worker, deadline)); gpr_mu_unlock(pollsets[i].mu); grpc_exec_ctx_flush(&exec_ctx); @@ -307,7 +307,7 @@ void pollset_set_test_dup_fds() { */ grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_pollset_worker *worker; - gpr_timespec deadline; + grpc_millis deadline; test_fd tfds[3]; test_pollset pollset; @@ -337,10 +337,9 @@ void pollset_set_test_dup_fds() { make_test_fds_readable(tfds, num_fds); gpr_mu_lock(pollset.mu); - deadline = grpc_timeout_milliseconds_to_deadline(2); + deadline = grpc_timespec_to_millis(grpc_timeout_milliseconds_to_deadline(2)); GPR_ASSERT(GRPC_ERROR_NONE == - grpc_pollset_work(&exec_ctx, pollset.ps, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline)); + grpc_pollset_work(&exec_ctx, pollset.ps, &worker, deadline)); gpr_mu_unlock(pollset.mu); grpc_exec_ctx_flush(&exec_ctx); @@ -380,7 +379,7 @@ void pollset_set_test_empty_pollset() { */ grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_pollset_worker *worker; - gpr_timespec deadline; + grpc_millis deadline; test_fd tfds[3]; test_pollset pollsets[2]; @@ -406,10 +405,9 @@ void pollset_set_test_empty_pollset() { make_test_fds_readable(tfds, num_fds); gpr_mu_lock(pollsets[0].mu); - deadline = grpc_timeout_milliseconds_to_deadline(2); + deadline = grpc_timespec_to_millis(grpc_timeout_milliseconds_to_deadline(2)); GPR_ASSERT(GRPC_ERROR_NONE == - grpc_pollset_work(&exec_ctx, pollsets[0].ps, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline)); + grpc_pollset_work(&exec_ctx, pollsets[0].ps, &worker, deadline)); gpr_mu_unlock(pollsets[0].mu); grpc_exec_ctx_flush(&exec_ctx); From 2e37d001a3bd56cde5f11083cd7f679a50b49022 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 19 Jul 2017 13:34:31 -0700 Subject: [PATCH 009/180] Review feedback --- BUILD | 2 +- build.yaml | 2 +- gRPC-Core.podspec | 4 ++-- grpc.gemspec | 2 +- package.xml | 2 +- src/core/ext/filters/max_age/max_age_filter.c | 15 ++++++++------- src/core/lib/{support => iomgr}/block_annotate.h | 0 src/core/lib/iomgr/ev_epoll1_linux.c | 2 +- .../lib/iomgr/ev_epoll_limited_pollers_linux.c | 2 +- src/core/lib/iomgr/ev_epoll_thread_pool_linux.c | 2 +- src/core/lib/iomgr/ev_epollex_linux.c | 2 +- src/core/lib/iomgr/ev_epollsig_linux.c | 2 +- src/core/lib/iomgr/ev_poll_posix.c | 2 +- src/core/lib/iomgr/load_file.c | 2 +- src/core/lib/iomgr/resolve_address_posix.c | 2 +- src/core/lib/iomgr/resolve_address_windows.c | 2 +- src/core/lib/support/time_posix.c | 2 +- src/core/lib/support/time_windows.c | 2 +- src/core/lib/surface/completion_queue.c | 1 + tools/doxygen/Doxyfile.core.internal | 2 +- .../run_tests/generated/sources_and_headers.json | 4 ++-- 21 files changed, 29 insertions(+), 27 deletions(-) rename src/core/lib/{support => iomgr}/block_annotate.h (100%) diff --git a/BUILD b/BUILD index c69dd5e4613..8294b0be2e3 100644 --- a/BUILD +++ b/BUILD @@ -513,7 +513,7 @@ grpc_cc_library( "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", "src/core/lib/backoff/backoff.h", - "src/core/lib/support/block_annotate.h", + "src/core/lib/iomgr/block_annotate.h", "src/core/lib/support/env.h", "src/core/lib/support/memory.h", "src/core/lib/support/mpscq.h", diff --git a/build.yaml b/build.yaml index 01c6b42baa7..ac631ddadcf 100644 --- a/build.yaml +++ b/build.yaml @@ -93,7 +93,7 @@ filegroups: - src/core/lib/support/atomic.h - src/core/lib/support/atomic_with_atm.h - src/core/lib/support/atomic_with_std.h - - src/core/lib/support/block_annotate.h + - src/core/lib/iomgr/block_annotate.h - src/core/lib/support/env.h - src/core/lib/support/memory.h - src/core/lib/support/mpscq.h diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 5e1f663bb6e..01995401a31 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -186,7 +186,7 @@ Pod::Spec.new do |s| 'src/core/lib/support/atomic.h', 'src/core/lib/support/atomic_with_atm.h', 'src/core/lib/support/atomic_with_std.h', - 'src/core/lib/support/block_annotate.h', + 'src/core/lib/iomgr/block_annotate.h', 'src/core/lib/support/env.h', 'src/core/lib/support/memory.h', 'src/core/lib/support/mpscq.h', @@ -714,7 +714,7 @@ Pod::Spec.new do |s| 'src/core/lib/support/atomic.h', 'src/core/lib/support/atomic_with_atm.h', 'src/core/lib/support/atomic_with_std.h', - 'src/core/lib/support/block_annotate.h', + 'src/core/lib/iomgr/block_annotate.h', 'src/core/lib/support/env.h', 'src/core/lib/support/memory.h', 'src/core/lib/support/mpscq.h', diff --git a/grpc.gemspec b/grpc.gemspec index 45fed61c272..10b4e92a3be 100755 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -86,7 +86,7 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/support/atomic.h ) s.files += %w( src/core/lib/support/atomic_with_atm.h ) s.files += %w( src/core/lib/support/atomic_with_std.h ) - s.files += %w( src/core/lib/support/block_annotate.h ) + s.files += %w( src/core/lib/iomgr/block_annotate.h ) s.files += %w( src/core/lib/support/env.h ) s.files += %w( src/core/lib/support/memory.h ) s.files += %w( src/core/lib/support/mpscq.h ) diff --git a/package.xml b/package.xml index 0d5f49c889b..9a030850b0a 100644 --- a/package.xml +++ b/package.xml @@ -100,7 +100,7 @@ - + diff --git a/src/core/ext/filters/max_age/max_age_filter.c b/src/core/ext/filters/max_age/max_age_filter.c index 14565fd5308..2a785efc045 100644 --- a/src/core/ext/filters/max_age/max_age_filter.c +++ b/src/core/ext/filters/max_age/max_age_filter.c @@ -245,7 +245,8 @@ static void channel_connectivity_changed(grpc_exec_ctx* exec_ctx, void* arg, connection storms. Note that the MAX_CONNECTION_AGE option without jitter would not create connection storms by itself, but if there happened to be a connection storm it could cause it to repeat at a fixed period. */ -static int add_random_max_connection_age_jitter(int value) { +static grpc_millis +add_random_max_connection_age_jitter_and_convert_to_grpc_millis(int value) { /* generate a random number between 1 - MAX_CONNECTION_AGE_JITTER and 1 + MAX_CONNECTION_AGE_JITTER */ double multiplier = rand() * MAX_CONNECTION_AGE_JITTER * 2.0 / RAND_MAX + @@ -253,7 +254,8 @@ static int add_random_max_connection_age_jitter(int value) { double result = multiplier * value; /* INT_MAX - 0.5 converts the value to float, so that result will not be cast to int implicitly before the comparison. */ - return result > INT_MAX - 0.5 ? INT_MAX : (int)result; + return result > GRPC_MILLIS_INF_FUTURE - 0.5 ? GRPC_MILLIS_INF_FUTURE + : (int)result; } /* Constructor for call_data. */ @@ -283,9 +285,8 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx, chand->max_age_grace_timer_pending = false; chand->channel_stack = args->channel_stack; chand->max_connection_age = - DEFAULT_MAX_CONNECTION_AGE_MS == INT_MAX - ? GRPC_MILLIS_INF_FUTURE - : add_random_max_connection_age_jitter(DEFAULT_MAX_CONNECTION_AGE_MS); + add_random_max_connection_age_jitter_and_convert_to_grpc_millis( + DEFAULT_MAX_CONNECTION_AGE_MS); chand->max_connection_age_grace = DEFAULT_MAX_CONNECTION_AGE_GRACE_MS == INT_MAX ? GRPC_MILLIS_INF_FUTURE @@ -299,8 +300,8 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx, const int value = grpc_channel_arg_get_integer( &args->channel_args->args[i], MAX_CONNECTION_AGE_INTEGER_OPTIONS); chand->max_connection_age = - value == INT_MAX ? GRPC_MILLIS_INF_FUTURE - : add_random_max_connection_age_jitter(value); + add_random_max_connection_age_jitter_and_convert_to_grpc_millis( + value); } else if (0 == strcmp(args->channel_args->args[i].key, GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS)) { const int value = grpc_channel_arg_get_integer( diff --git a/src/core/lib/support/block_annotate.h b/src/core/lib/iomgr/block_annotate.h similarity index 100% rename from src/core/lib/support/block_annotate.h rename to src/core/lib/iomgr/block_annotate.h diff --git a/src/core/lib/iomgr/ev_epoll1_linux.c b/src/core/lib/iomgr/ev_epoll1_linux.c index 4eaaaa06dda..a3586547d46 100644 --- a/src/core/lib/iomgr/ev_epoll1_linux.c +++ b/src/core/lib/iomgr/ev_epoll1_linux.c @@ -45,7 +45,7 @@ #include "src/core/lib/iomgr/lockfree_event.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/profiling/timers.h" -#include "src/core/lib/support/block_annotate.h" +#include "src/core/lib/iomgr/block_annotate.h" static grpc_wakeup_fd global_wakeup_fd; static int g_epfd; diff --git a/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c b/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c index 055acffbdd4..05e9ca448a7 100644 --- a/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c +++ b/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c @@ -47,7 +47,7 @@ #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/profiling/timers.h" -#include "src/core/lib/support/block_annotate.h" +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/support/env.h" #define GRPC_POLLING_TRACE(fmt, ...) \ diff --git a/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c b/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c index 46bf828cabe..bbcc475d7ed 100644 --- a/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c +++ b/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c @@ -47,7 +47,7 @@ #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/profiling/timers.h" -#include "src/core/lib/support/block_annotate.h" +#include "src/core/lib/iomgr/block_annotate.h" /* TODO: sreek - Move this to init.c and initialize this like other tracers. */ #define GRPC_POLLING_TRACE(fmt, ...) \ diff --git a/src/core/lib/iomgr/ev_epollex_linux.c b/src/core/lib/iomgr/ev_epollex_linux.c index 030f18aaf25..7db95fe9b43 100644 --- a/src/core/lib/iomgr/ev_epollex_linux.c +++ b/src/core/lib/iomgr/ev_epollex_linux.c @@ -46,7 +46,7 @@ #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/profiling/timers.h" -#include "src/core/lib/support/block_annotate.h" +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/support/spinlock.h" /******************************************************************************* diff --git a/src/core/lib/iomgr/ev_epollsig_linux.c b/src/core/lib/iomgr/ev_epollsig_linux.c index 1e7ec0a1bc0..fc5212ab5e4 100644 --- a/src/core/lib/iomgr/ev_epollsig_linux.c +++ b/src/core/lib/iomgr/ev_epollsig_linux.c @@ -46,7 +46,7 @@ #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/profiling/timers.h" -#include "src/core/lib/support/block_annotate.h" +#include "src/core/lib/iomgr/block_annotate.h" #define GRPC_POLLSET_KICK_BROADCAST ((grpc_pollset_worker *)1) diff --git a/src/core/lib/iomgr/ev_poll_posix.c b/src/core/lib/iomgr/ev_poll_posix.c index e7cdfc18603..c6456bee188 100644 --- a/src/core/lib/iomgr/ev_poll_posix.c +++ b/src/core/lib/iomgr/ev_poll_posix.c @@ -42,7 +42,7 @@ #include "src/core/lib/iomgr/wakeup_fd_cv.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/profiling/timers.h" -#include "src/core/lib/support/block_annotate.h" +#include "src/core/lib/iomgr/block_annotate.h" #define GRPC_POLLSET_KICK_BROADCAST ((grpc_pollset_worker *)1) diff --git a/src/core/lib/iomgr/load_file.c b/src/core/lib/iomgr/load_file.c index a8c0fa13390..aafcd79e38d 100644 --- a/src/core/lib/iomgr/load_file.c +++ b/src/core/lib/iomgr/load_file.c @@ -25,7 +25,7 @@ #include #include -#include "src/core/lib/support/block_annotate.h" +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/support/string.h" grpc_error *grpc_load_file(const char *filename, int add_null_terminator, diff --git a/src/core/lib/iomgr/resolve_address_posix.c b/src/core/lib/iomgr/resolve_address_posix.c index 160235ca99d..d58ec4168ef 100644 --- a/src/core/lib/iomgr/resolve_address_posix.c +++ b/src/core/lib/iomgr/resolve_address_posix.c @@ -36,7 +36,7 @@ #include "src/core/lib/iomgr/executor.h" #include "src/core/lib/iomgr/iomgr_internal.h" #include "src/core/lib/iomgr/unix_sockets_posix.h" -#include "src/core/lib/support/block_annotate.h" +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/support/string.h" static grpc_error *blocking_resolve_address_impl( diff --git a/src/core/lib/iomgr/resolve_address_windows.c b/src/core/lib/iomgr/resolve_address_windows.c index c5d8dd9893e..ee09d127b45 100644 --- a/src/core/lib/iomgr/resolve_address_windows.c +++ b/src/core/lib/iomgr/resolve_address_windows.c @@ -36,7 +36,7 @@ #include "src/core/lib/iomgr/executor.h" #include "src/core/lib/iomgr/iomgr_internal.h" #include "src/core/lib/iomgr/sockaddr_utils.h" -#include "src/core/lib/support/block_annotate.h" +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/support/string.h" typedef struct { diff --git a/src/core/lib/support/time_posix.c b/src/core/lib/support/time_posix.c index 1248d875edd..ad7c5036dae 100644 --- a/src/core/lib/support/time_posix.c +++ b/src/core/lib/support/time_posix.c @@ -30,7 +30,7 @@ #include #include #include -#include "src/core/lib/support/block_annotate.h" +#include "src/core/lib/iomgr/block_annotate.h" static struct timespec timespec_from_gpr(gpr_timespec gts) { struct timespec rv; diff --git a/src/core/lib/support/time_windows.c b/src/core/lib/support/time_windows.c index e28cf0f4cbc..b8015c272f8 100644 --- a/src/core/lib/support/time_windows.c +++ b/src/core/lib/support/time_windows.c @@ -28,7 +28,7 @@ #include #include -#include "src/core/lib/support/block_annotate.h" +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/support/time_precise.h" static LARGE_INTEGER g_start_time; diff --git a/src/core/lib/surface/completion_queue.c b/src/core/lib/surface/completion_queue.c index e0547415201..f3a89772411 100644 --- a/src/core/lib/surface/completion_queue.c +++ b/src/core/lib/surface/completion_queue.c @@ -1114,6 +1114,7 @@ static grpc_event cq_pluck(grpc_completion_queue *cq, void *tag, dump_pending_tags(cq); break; } + cq->num_polls++; grpc_error *err = cq->poller_vtable->work(&exec_ctx, POLLSET_FROM_CQ(cq), &worker, deadline_millis); if (err != GRPC_ERROR_NONE) { diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index cb625e2a8ec..c0ff8c9806b 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1286,7 +1286,7 @@ src/core/lib/support/atomic.h \ src/core/lib/support/atomic_with_atm.h \ src/core/lib/support/atomic_with_std.h \ src/core/lib/support/avl.c \ -src/core/lib/support/block_annotate.h \ +src/core/lib/iomgr/block_annotate.h \ src/core/lib/support/cmdline.c \ src/core/lib/support/cpu_iphone.c \ src/core/lib/support/cpu_linux.c \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index 589cafa29b4..51252724ace 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -7518,7 +7518,7 @@ "src/core/lib/support/atomic.h", "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", - "src/core/lib/support/block_annotate.h", + "src/core/lib/iomgr/block_annotate.h", "src/core/lib/support/env.h", "src/core/lib/support/memory.h", "src/core/lib/support/mpscq.h", @@ -7574,7 +7574,7 @@ "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", "src/core/lib/support/avl.c", - "src/core/lib/support/block_annotate.h", + "src/core/lib/iomgr/block_annotate.h", "src/core/lib/support/cmdline.c", "src/core/lib/support/cpu_iphone.c", "src/core/lib/support/cpu_linux.c", From 89c1428a60a6c5423ccad9ede60079c5e4cc79ac Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 19 Jul 2017 15:32:27 -0700 Subject: [PATCH 010/180] Propagate grpc_millis further --- .../filters/client_channel/client_channel.c | 36 +++--- .../client_channel/lb_policy/grpclb/grpclb.c | 8 +- .../ext/filters/client_channel/subchannel.h | 2 +- .../ext/filters/deadline/deadline_filter.c | 16 ++- .../ext/filters/deadline/deadline_filter.h | 4 +- .../chttp2/transport/chttp2_transport.c | 27 +++-- .../chttp2/transport/hpack_encoder.c | 10 +- .../chttp2/transport/incoming_metadata.c | 4 +- .../chttp2/transport/incoming_metadata.h | 2 +- .../ext/transport/chttp2/transport/internal.h | 2 +- .../ext/transport/chttp2/transport/parsing.c | 11 +- .../ext/transport/inproc/inproc_transport.c | 16 +-- src/core/lib/channel/channel_stack.h | 2 +- src/core/lib/surface/call.c | 54 +++++---- src/core/lib/surface/call.h | 2 +- src/core/lib/surface/channel.c | 9 +- src/core/lib/surface/channel.h | 2 +- src/core/lib/surface/lame_client.cc | 2 +- src/core/lib/surface/server.c | 16 +-- src/core/lib/transport/error_utils.c | 9 +- src/core/lib/transport/error_utils.h | 6 +- src/core/lib/transport/metadata_batch.c | 6 +- src/core/lib/transport/metadata_batch.h | 4 +- src/core/lib/transport/status_conversion.c | 7 +- src/core/lib/transport/status_conversion.h | 6 +- src/core/lib/transport/timeout_encoding.c | 73 ++++-------- src/core/lib/transport/timeout_encoding.h | 5 +- src/core/lib/transport/transport_op_string.c | 5 +- test/core/channel/channel_stack_test.c | 2 +- test/core/transport/status_conversion_test.c | 13 ++- test/core/transport/timeout_encoding_test.c | 105 +++++++++--------- test/cpp/microbenchmarks/bm_call_create.cc | 2 +- .../microbenchmarks/bm_chttp2_transport.cc | 6 +- .../microbenchmarks/bm_cq_multiple_threads.cc | 6 +- test/cpp/microbenchmarks/bm_error.cc | 42 ++++--- test/cpp/microbenchmarks/bm_pollset.cc | 9 +- 36 files changed, 254 insertions(+), 277 deletions(-) diff --git a/src/core/ext/filters/client_channel/client_channel.c b/src/core/ext/filters/client_channel/client_channel.c index 58e31d7b45b..508c473c6ac 100644 --- a/src/core/ext/filters/client_channel/client_channel.c +++ b/src/core/ext/filters/client_channel/client_channel.c @@ -68,7 +68,7 @@ typedef enum { typedef struct { gpr_refcount refs; - gpr_timespec timeout; + grpc_millis timeout; wait_for_ready_value wait_for_ready; } method_parameters; @@ -98,17 +98,18 @@ static bool parse_wait_for_ready(grpc_json *field, return true; } -static bool parse_timeout(grpc_json *field, gpr_timespec *timeout) { +static bool parse_timeout(grpc_json *field, grpc_millis *timeout) { if (field->type != GRPC_JSON_STRING) return false; size_t len = strlen(field->value); if (field->value[len - 1] != 's') return false; char *buf = gpr_strdup(field->value); buf[len - 1] = '\0'; // Remove trailing 's'. char *decimal_point = strchr(buf, '.'); + int nanos = 0; if (decimal_point != NULL) { *decimal_point = '\0'; - timeout->tv_nsec = gpr_parse_nonnegative_int(decimal_point + 1); - if (timeout->tv_nsec == -1) { + nanos = gpr_parse_nonnegative_int(decimal_point + 1); + if (nanos == -1) { gpr_free(buf); return false; } @@ -127,24 +128,25 @@ static bool parse_timeout(grpc_json *field, gpr_timespec *timeout) { gpr_free(buf); return false; } - timeout->tv_nsec *= multiplier; + nanos *= multiplier; } - timeout->tv_sec = gpr_parse_nonnegative_int(buf); + int seconds = gpr_parse_nonnegative_int(buf); gpr_free(buf); - if (timeout->tv_sec == -1) return false; + if (seconds == -1) return false; + *timeout = seconds * GPR_MS_PER_SEC + nanos / GPR_NS_PER_MS; return true; } static void *method_parameters_create_from_json(const grpc_json *json) { wait_for_ready_value wait_for_ready = WAIT_FOR_READY_UNSET; - gpr_timespec timeout = {0, 0, GPR_TIMESPAN}; + grpc_millis timeout = 0; for (grpc_json *field = json->child; field != NULL; field = field->next) { if (field->key == NULL) continue; if (strcmp(field->key, "waitForReady") == 0) { if (wait_for_ready != WAIT_FOR_READY_UNSET) return NULL; // Duplicate. if (!parse_wait_for_ready(field, &wait_for_ready)) return NULL; } else if (strcmp(field->key, "timeout") == 0) { - if (timeout.tv_sec > 0 || timeout.tv_nsec > 0) return NULL; // Duplicate. + if (timeout > 0) return NULL; // Duplicate. if (!parse_timeout(field, &timeout)) return NULL; } } @@ -814,7 +816,7 @@ typedef struct client_channel_call_data { grpc_slice path; // Request path. gpr_timespec call_start_time; - gpr_timespec deadline; + grpc_millis deadline; grpc_server_retry_throttle_data *retry_throttle_data; method_parameters *method_params; @@ -952,11 +954,11 @@ static void apply_service_config_to_call_locked(grpc_exec_ctx *exec_ctx, // If the deadline from the service config is shorter than the one // from the client API, reset the deadline timer. if (chand->deadline_checking_enabled && - gpr_time_cmp(calld->method_params->timeout, - gpr_time_0(GPR_TIMESPAN)) != 0) { - const gpr_timespec per_method_deadline = - gpr_time_add(calld->call_start_time, calld->method_params->timeout); - if (gpr_time_cmp(per_method_deadline, calld->deadline) < 0) { + calld->method_params->timeout != 0) { + const grpc_millis per_method_deadline = + grpc_timespec_to_millis(calld->call_start_time) + + calld->method_params->timeout; + if (per_method_deadline < calld->deadline) { calld->deadline = per_method_deadline; grpc_deadline_state_reset(exec_ctx, elem, calld->deadline); } @@ -1026,7 +1028,7 @@ static void subchannel_ready_locked(grpc_exec_ctx *exec_ctx, "Cancelled before creating subchannel", child_errors, GPR_ARRAY_SIZE(child_errors)); /* if due to deadline, attach the deadline exceeded status to the error */ - if (gpr_time_cmp(calld->deadline, gpr_now(GPR_CLOCK_MONOTONIC)) < 0) { + if (calld->deadline < grpc_exec_ctx_now(exec_ctx)) { cancellation_error = grpc_error_set_int(cancellation_error, GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_DEADLINE_EXCEEDED); @@ -1440,7 +1442,7 @@ static grpc_error *cc_init_call_elem(grpc_exec_ctx *exec_ctx, // Initialize data members. calld->path = grpc_slice_ref_internal(args->path); calld->call_start_time = args->start_time; - calld->deadline = gpr_convert_clock_type(args->deadline, GPR_CLOCK_MONOTONIC); + calld->deadline = args->deadline; calld->owning_call = args->call_stack; calld->arena = args->arena; if (chand->deadline_checking_enabled) { diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c index c55fffee4d8..38ca829a140 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c @@ -1352,12 +1352,10 @@ static void lb_call_init_locked(grpc_exec_ctx *exec_ctx, * glb_policy->base.interested_parties, which is comprised of the polling * entities from \a client_channel. */ grpc_slice host = grpc_slice_from_copied_string(glb_policy->server_name); - gpr_timespec deadline = + grpc_millis deadline = glb_policy->lb_call_timeout_ms == 0 - ? gpr_inf_future(GPR_CLOCK_MONOTONIC) - : gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), - gpr_time_from_millis(glb_policy->lb_call_timeout_ms, - GPR_TIMESPAN)); + ? GRPC_MILLIS_INF_FUTURE + : grpc_exec_ctx_now(exec_ctx) + glb_policy->lb_call_timeout_ms; glb_policy->lb_call = grpc_channel_create_pollset_set_call( exec_ctx, glb_policy->lb_channel, NULL, GRPC_PROPAGATE_DEFAULTS, glb_policy->base.interested_parties, diff --git a/src/core/ext/filters/client_channel/subchannel.h b/src/core/ext/filters/client_channel/subchannel.h index 6d2abb04df5..5ffc6405738 100644 --- a/src/core/ext/filters/client_channel/subchannel.h +++ b/src/core/ext/filters/client_channel/subchannel.h @@ -103,7 +103,7 @@ typedef struct { grpc_polling_entity *pollent; grpc_slice path; gpr_timespec start_time; - gpr_timespec deadline; + grpc_millis deadline; gpr_arena *arena; grpc_call_context_element *context; } grpc_connected_subchannel_call_args; diff --git a/src/core/ext/filters/deadline/deadline_filter.c b/src/core/ext/filters/deadline/deadline_filter.c index 035f5abf3e3..fcd0d9c3b12 100644 --- a/src/core/ext/filters/deadline/deadline_filter.c +++ b/src/core/ext/filters/deadline/deadline_filter.c @@ -52,9 +52,8 @@ static void timer_callback(grpc_exec_ctx* exec_ctx, void* arg, // Starts the deadline timer. static void start_timer_if_needed(grpc_exec_ctx* exec_ctx, grpc_call_element* elem, - gpr_timespec deadline) { - grpc_millis deadline_millis = grpc_timespec_to_millis(deadline); - if (deadline_millis == GRPC_MILLIS_INF_FUTURE) { + grpc_millis deadline) { + if (deadline == GRPC_MILLIS_INF_FUTURE) { return; } grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data; @@ -94,7 +93,7 @@ retry: } GPR_ASSERT(closure); GRPC_CALL_STACK_REF(deadline_state->call_stack, "deadline_timer"); - grpc_timer_init(exec_ctx, &deadline_state->timer, deadline_millis, closure); + grpc_timer_init(exec_ctx, &deadline_state->timer, deadline, closure); } // Cancels the deadline timer. @@ -131,7 +130,7 @@ static void inject_on_complete_cb(grpc_deadline_state* deadline_state, // initialization has been completed. struct start_timer_after_init_state { grpc_call_element* elem; - gpr_timespec deadline; + grpc_millis deadline; grpc_closure closure; }; static void start_timer_after_init(grpc_exec_ctx* exec_ctx, void* arg, @@ -143,13 +142,12 @@ static void start_timer_after_init(grpc_exec_ctx* exec_ctx, void* arg, void grpc_deadline_state_init(grpc_exec_ctx* exec_ctx, grpc_call_element* elem, grpc_call_stack* call_stack, - gpr_timespec deadline) { + grpc_millis deadline) { grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data; deadline_state->call_stack = call_stack; // Deadline will always be infinite on servers, so the timer will only be // set on clients with a finite deadline. - deadline = gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC); - if (gpr_time_cmp(deadline, gpr_inf_future(GPR_CLOCK_MONOTONIC)) != 0) { + if (deadline != GRPC_MILLIS_INF_FUTURE) { // When the deadline passes, we indicate the failure by sending down // an op with cancel_error set. However, we can't send down any ops // until after the call stack is fully initialized. If we start the @@ -173,7 +171,7 @@ void grpc_deadline_state_destroy(grpc_exec_ctx* exec_ctx, } void grpc_deadline_state_reset(grpc_exec_ctx* exec_ctx, grpc_call_element* elem, - gpr_timespec new_deadline) { + grpc_millis new_deadline) { grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data; cancel_timer_if_needed(exec_ctx, deadline_state); start_timer_if_needed(exec_ctx, elem, new_deadline); diff --git a/src/core/ext/filters/deadline/deadline_filter.h b/src/core/ext/filters/deadline/deadline_filter.h index 420bf7065a3..776e6e56497 100644 --- a/src/core/ext/filters/deadline/deadline_filter.h +++ b/src/core/ext/filters/deadline/deadline_filter.h @@ -50,7 +50,7 @@ typedef struct grpc_deadline_state { // assumes elem->call_data is zero'd void grpc_deadline_state_init(grpc_exec_ctx* exec_ctx, grpc_call_element* elem, grpc_call_stack* call_stack, - gpr_timespec deadline); + grpc_millis deadline); void grpc_deadline_state_destroy(grpc_exec_ctx* exec_ctx, grpc_call_element* elem); @@ -62,7 +62,7 @@ void grpc_deadline_state_destroy(grpc_exec_ctx* exec_ctx, // process of being reset, which means that attempting to increase the // deadline may result in the timer being called twice. void grpc_deadline_state_reset(grpc_exec_ctx* exec_ctx, grpc_call_element* elem, - gpr_timespec new_deadline); + grpc_millis new_deadline); // To be called from the client-side filter's start_transport_stream_op_batch() // method. Ensures that the deadline timer is cancelled when the call diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index ffcd715cf6e..658d2d1e7b2 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -676,7 +676,7 @@ static int init_stream(grpc_exec_ctx *exec_ctx, grpc_transport *gt, grpc_chttp2_incoming_metadata_buffer_init(&s->metadata_buffer[1], arena); grpc_chttp2_data_parser_init(&s->data_parser); grpc_slice_buffer_init(&s->flow_controlled_buffer); - s->deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC); + s->deadline = GRPC_MILLIS_INF_FUTURE; GRPC_CLOSURE_INIT(&s->complete_fetch_locked, complete_fetch_locked, s, grpc_schedule_on_exec_ctx); grpc_slice_buffer_init(&s->unprocessed_incoming_frames_buffer); @@ -1276,8 +1276,7 @@ static void perform_stream_op_locked(grpc_exec_ctx *exec_ctx, void *stream_op, t->settings[GRPC_PEER_SETTINGS] [GRPC_CHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE]; if (t->is_client) { - s->deadline = - gpr_time_min(s->deadline, s->send_initial_metadata->deadline); + s->deadline = GPR_MIN(s->deadline, s->send_initial_metadata->deadline); } if (metadata_size > metadata_peer_limit) { grpc_chttp2_cancel_stream( @@ -1473,16 +1472,14 @@ static void perform_stream_op(grpc_exec_ctx *exec_ctx, grpc_transport *gt, if (!t->is_client) { if (op->send_initial_metadata) { - gpr_timespec deadline = + grpc_millis deadline = op->payload->send_initial_metadata.send_initial_metadata->deadline; - GPR_ASSERT(0 == - gpr_time_cmp(gpr_inf_future(deadline.clock_type), deadline)); + GPR_ASSERT(deadline == GRPC_MILLIS_INF_FUTURE); } if (op->send_trailing_metadata) { - gpr_timespec deadline = + grpc_millis deadline = op->payload->send_trailing_metadata.send_trailing_metadata->deadline; - GPR_ASSERT(0 == - gpr_time_cmp(gpr_inf_future(deadline.clock_type), deadline)); + GPR_ASSERT(deadline == GRPC_MILLIS_INF_FUTURE); } } @@ -1556,8 +1553,8 @@ static void send_goaway(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, t->sent_goaway_state = GRPC_CHTTP2_GOAWAY_SEND_SCHEDULED; grpc_http2_error_code http_error; grpc_slice slice; - grpc_error_get_status(error, gpr_inf_future(GPR_CLOCK_MONOTONIC), NULL, - &slice, &http_error); + grpc_error_get_status(exec_ctx, error, GRPC_MILLIS_INF_FUTURE, NULL, &slice, + &http_error); grpc_chttp2_goaway_append(t->last_new_stream_id, (uint32_t)http_error, grpc_slice_ref_internal(slice), &t->qbuf); grpc_chttp2_initiate_write(exec_ctx, t, "goaway_sent"); @@ -1786,7 +1783,8 @@ void grpc_chttp2_cancel_stream(grpc_exec_ctx *exec_ctx, if (!s->read_closed || !s->write_closed) { if (s->id != 0) { grpc_http2_error_code http_error; - grpc_error_get_status(due_to_error, s->deadline, NULL, NULL, &http_error); + grpc_error_get_status(exec_ctx, due_to_error, s->deadline, NULL, NULL, + &http_error); grpc_slice_buffer_add( &t->qbuf, grpc_chttp2_rst_stream_create(s->id, (uint32_t)http_error, &s->stats.outgoing)); @@ -1803,7 +1801,7 @@ void grpc_chttp2_fake_status(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, grpc_chttp2_stream *s, grpc_error *error) { grpc_status_code status; grpc_slice slice; - grpc_error_get_status(error, s->deadline, &status, &slice, NULL); + grpc_error_get_status(exec_ctx, error, s->deadline, &status, &slice, NULL); if (status != GRPC_STATUS_OK) { s->seen_error = true; @@ -1960,7 +1958,8 @@ static void close_from_api(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, uint32_t len = 0; grpc_status_code grpc_status; grpc_slice slice; - grpc_error_get_status(error, s->deadline, &grpc_status, &slice, NULL); + grpc_error_get_status(exec_ctx, error, s->deadline, &grpc_status, &slice, + NULL); GPR_ASSERT(grpc_status >= 0 && (int)grpc_status < 100); diff --git a/src/core/ext/transport/chttp2/transport/hpack_encoder.c b/src/core/ext/transport/chttp2/transport/hpack_encoder.c index a0e748e7b11..207ef6c4512 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_encoder.c +++ b/src/core/ext/transport/chttp2/transport/hpack_encoder.c @@ -515,12 +515,12 @@ static void hpack_enc(grpc_exec_ctx *exec_ctx, grpc_chttp2_hpack_compressor *c, #define TIMEOUT_KEY "grpc-timeout" static void deadline_enc(grpc_exec_ctx *exec_ctx, - grpc_chttp2_hpack_compressor *c, gpr_timespec deadline, + grpc_chttp2_hpack_compressor *c, grpc_millis deadline, framer_state *st) { char timeout_str[GRPC_HTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE]; grpc_mdelem mdelem; - grpc_http2_encode_timeout( - gpr_time_sub(deadline, gpr_now(deadline.clock_type)), timeout_str); + grpc_http2_encode_timeout(deadline - grpc_exec_ctx_now(exec_ctx), + timeout_str); mdelem = grpc_mdelem_from_slices(exec_ctx, GRPC_MDSTR_GRPC_TIMEOUT, grpc_slice_from_copied_string(timeout_str)); hpack_enc(exec_ctx, c, mdelem, st); @@ -639,8 +639,8 @@ void grpc_chttp2_encode_header(grpc_exec_ctx *exec_ctx, for (grpc_linked_mdelem *l = metadata->list.head; l; l = l->next) { hpack_enc(exec_ctx, c, l->md, &st); } - gpr_timespec deadline = metadata->deadline; - if (gpr_time_cmp(deadline, gpr_inf_future(deadline.clock_type)) != 0) { + grpc_millis deadline = metadata->deadline; + if (deadline != GRPC_MILLIS_INF_FUTURE) { deadline_enc(exec_ctx, c, deadline, &st); } diff --git a/src/core/ext/transport/chttp2/transport/incoming_metadata.c b/src/core/ext/transport/chttp2/transport/incoming_metadata.c index cf0a9ca9201..089b360ecf7 100644 --- a/src/core/ext/transport/chttp2/transport/incoming_metadata.c +++ b/src/core/ext/transport/chttp2/transport/incoming_metadata.c @@ -29,7 +29,7 @@ void grpc_chttp2_incoming_metadata_buffer_init( grpc_chttp2_incoming_metadata_buffer *buffer, gpr_arena *arena) { buffer->arena = arena; grpc_metadata_batch_init(&buffer->batch); - buffer->batch.deadline = gpr_inf_future(GPR_CLOCK_REALTIME); + buffer->batch.deadline = GRPC_MILLIS_INF_FUTURE; } void grpc_chttp2_incoming_metadata_buffer_destroy( @@ -61,7 +61,7 @@ grpc_error *grpc_chttp2_incoming_metadata_buffer_replace_or_add( } void grpc_chttp2_incoming_metadata_buffer_set_deadline( - grpc_chttp2_incoming_metadata_buffer *buffer, gpr_timespec deadline) { + grpc_chttp2_incoming_metadata_buffer *buffer, grpc_millis deadline) { buffer->batch.deadline = deadline; } diff --git a/src/core/ext/transport/chttp2/transport/incoming_metadata.h b/src/core/ext/transport/chttp2/transport/incoming_metadata.h index a951d8764c4..0fc90b2d80d 100644 --- a/src/core/ext/transport/chttp2/transport/incoming_metadata.h +++ b/src/core/ext/transport/chttp2/transport/incoming_metadata.h @@ -43,6 +43,6 @@ grpc_error *grpc_chttp2_incoming_metadata_buffer_replace_or_add( grpc_exec_ctx *exec_ctx, grpc_chttp2_incoming_metadata_buffer *buffer, grpc_mdelem elem) GRPC_MUST_USE_RESULT; void grpc_chttp2_incoming_metadata_buffer_set_deadline( - grpc_chttp2_incoming_metadata_buffer *buffer, gpr_timespec deadline); + grpc_chttp2_incoming_metadata_buffer *buffer, grpc_millis deadline); #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_INCOMING_METADATA_H */ diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h index 44ea3bdc610..7701a21ea92 100644 --- a/src/core/ext/transport/chttp2/transport/internal.h +++ b/src/core/ext/transport/chttp2/transport/internal.h @@ -499,7 +499,7 @@ struct grpc_chttp2_stream { grpc_error *byte_stream_error; /* protected by t combiner */ bool received_last_frame; /* protected by t combiner */ - gpr_timespec deadline; + grpc_millis deadline; /** saw some stream level error */ grpc_error *forced_close_error; diff --git a/src/core/ext/transport/chttp2/transport/parsing.c b/src/core/ext/transport/chttp2/transport/parsing.c index 3c8b470b4f9..a76ec8e930f 100644 --- a/src/core/ext/transport/chttp2/transport/parsing.c +++ b/src/core/ext/transport/chttp2/transport/parsing.c @@ -494,16 +494,16 @@ static void on_initial_header(grpc_exec_ctx *exec_ctx, void *tp, } if (grpc_slice_eq(GRPC_MDKEY(md), GRPC_MDSTR_GRPC_TIMEOUT)) { - gpr_timespec *cached_timeout = grpc_mdelem_get_user_data(md, free_timeout); - gpr_timespec timeout; + grpc_millis *cached_timeout = grpc_mdelem_get_user_data(md, free_timeout); + grpc_millis timeout; if (cached_timeout == NULL) { /* not already parsed: parse it now, and store the result away */ - cached_timeout = gpr_malloc(sizeof(gpr_timespec)); + cached_timeout = gpr_malloc(sizeof(grpc_millis)); if (!grpc_http2_decode_timeout(GRPC_MDVALUE(md), cached_timeout)) { char *val = grpc_slice_to_c_string(GRPC_MDVALUE(md)); gpr_log(GPR_ERROR, "Ignoring bad timeout value '%s'", val); gpr_free(val); - *cached_timeout = gpr_inf_future(GPR_TIMESPAN); + *cached_timeout = GRPC_MILLIS_INF_FUTURE; } timeout = *cached_timeout; grpc_mdelem_set_user_data(md, free_timeout, cached_timeout); @@ -511,8 +511,7 @@ static void on_initial_header(grpc_exec_ctx *exec_ctx, void *tp, timeout = *cached_timeout; } grpc_chttp2_incoming_metadata_buffer_set_deadline( - &s->metadata_buffer[0], - gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), timeout)); + &s->metadata_buffer[0], grpc_exec_ctx_now(exec_ctx) + timeout); GRPC_MDELEM_UNREF(exec_ctx, md); } else { const size_t new_size = s->metadata_buffer[0].size + GRPC_MDELEM_LENGTH(md); diff --git a/src/core/ext/transport/inproc/inproc_transport.c b/src/core/ext/transport/inproc/inproc_transport.c index 4df64d81e2b..02ed3d8a405 100644 --- a/src/core/ext/transport/inproc/inproc_transport.c +++ b/src/core/ext/transport/inproc/inproc_transport.c @@ -150,7 +150,7 @@ typedef struct inproc_stream { grpc_metadata_batch write_buffer_initial_md; bool write_buffer_initial_md_filled; uint32_t write_buffer_initial_md_flags; - gpr_timespec write_buffer_deadline; + grpc_millis write_buffer_deadline; slice_buffer_list write_buffer_message; grpc_metadata_batch write_buffer_trailing_md; bool write_buffer_trailing_md_filled; @@ -180,7 +180,7 @@ typedef struct inproc_stream { grpc_error *cancel_self_error; grpc_error *cancel_other_error; - gpr_timespec deadline; + grpc_millis deadline; bool listed; struct inproc_stream *stream_list_prev; @@ -358,8 +358,8 @@ static int init_stream(grpc_exec_ctx *exec_ctx, grpc_transport *gt, s->cancel_self_error = GRPC_ERROR_NONE; s->cancel_other_error = GRPC_ERROR_NONE; s->write_buffer_cancel_error = GRPC_ERROR_NONE; - s->deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC); - s->write_buffer_deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC); + s->deadline = GRPC_MILLIS_INF_FUTURE; + s->write_buffer_deadline = GRPC_MILLIS_INF_FUTURE; s->stream_list_prev = NULL; gpr_mu_lock(&t->mu->mu); @@ -402,7 +402,7 @@ static int init_stream(grpc_exec_ctx *exec_ctx, grpc_transport *gt, cs->write_buffer_initial_md_flags, &s->to_read_initial_md, &s->to_read_initial_md_flags, &s->to_read_initial_md_filled); - s->deadline = gpr_time_min(s->deadline, cs->write_buffer_deadline); + s->deadline = GPR_MIN(s->deadline, cs->write_buffer_deadline); grpc_metadata_batch_clear(exec_ctx, &cs->write_buffer_initial_md); cs->write_buffer_initial_md_filled = false; } @@ -935,10 +935,10 @@ static void perform_stream_op(grpc_exec_ctx *exec_ctx, grpc_transport *gt, dest, destflags, destfilled); } if (s->t->is_client) { - gpr_timespec *dl = + grpc_millis *dl = (other == NULL) ? &s->write_buffer_deadline : &other->deadline; - *dl = gpr_time_min(*dl, op->payload->send_initial_metadata - .send_initial_metadata->deadline); + *dl = GPR_MIN(*dl, op->payload->send_initial_metadata + .send_initial_metadata->deadline); s->initial_md_sent = true; } } diff --git a/src/core/lib/channel/channel_stack.h b/src/core/lib/channel/channel_stack.h index a80f8aa8268..19506e492be 100644 --- a/src/core/lib/channel/channel_stack.h +++ b/src/core/lib/channel/channel_stack.h @@ -69,7 +69,7 @@ typedef struct { grpc_call_context_element *context; grpc_slice path; gpr_timespec start_time; - gpr_timespec deadline; + grpc_millis deadline; gpr_arena *arena; } grpc_call_element_args; diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.c index 2365d27307c..cfcf0c96a6b 100644 --- a/src/core/lib/surface/call.c +++ b/src/core/lib/surface/call.c @@ -202,7 +202,7 @@ struct grpc_call { server, it's trailing metadata */ grpc_linked_mdelem send_extra_metadata[MAX_SEND_EXTRA_METADATA_COUNT]; int send_extra_metadata_count; - gpr_timespec send_deadline; + grpc_millis send_deadline; grpc_slice_buffer_stream sending_stream; @@ -252,7 +252,7 @@ static void destroy_call(grpc_exec_ctx *exec_ctx, void *call_stack, grpc_error *error); static void receiving_slice_ready(grpc_exec_ctx *exec_ctx, void *bctlp, grpc_error *error); -static void get_final_status(grpc_call *call, +static void get_final_status(grpc_exec_ctx *exec_ctx, grpc_call *call, void (*set_value)(grpc_status_code code, void *user_data), void *set_value_user_data, grpc_slice *details); @@ -334,11 +334,10 @@ grpc_error *grpc_call_create(grpc_exec_ctx *exec_ctx, } for (i = 0; i < 2; i++) { for (j = 0; j < 2; j++) { - call->metadata_batch[i][j].deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC); + call->metadata_batch[i][j].deadline = GRPC_MILLIS_INF_FUTURE; } } - gpr_timespec send_deadline = - gpr_convert_clock_type(args->send_deadline, GPR_CLOCK_MONOTONIC); + grpc_millis send_deadline = args->send_deadline; bool immediately_cancel = false; @@ -356,10 +355,7 @@ grpc_error *grpc_call_create(grpc_exec_ctx *exec_ctx, gpr_mu_lock(&pc->child_list_mu); if (args->propagation_mask & GRPC_PROPAGATE_DEADLINE) { - send_deadline = gpr_time_min( - gpr_convert_clock_type(send_deadline, - args->parent_call->send_deadline.clock_type), - args->parent_call->send_deadline); + send_deadline = GPR_MIN(send_deadline, args->parent_call->send_deadline); } /* for now GRPC_PROPAGATE_TRACING_CONTEXT *MUST* be passed with * GRPC_PROPAGATE_STATS_CONTEXT */ @@ -511,8 +507,8 @@ static void destroy_call(grpc_exec_ctx *exec_ctx, void *call, GRPC_CQ_INTERNAL_UNREF(exec_ctx, c->cq, "bind"); } - get_final_status(call, set_status_value_directly, &c->final_info.final_status, - NULL); + get_final_status(exec_ctx, call, set_status_value_directly, + &c->final_info.final_status, NULL); c->final_info.stats.latency = gpr_time_sub(gpr_now(GPR_CLOCK_MONOTONIC), c->start_time); @@ -662,13 +658,16 @@ static void cancel_with_status(grpc_exec_ctx *exec_ctx, grpc_call *c, * FINAL STATUS CODE MANIPULATION */ -static bool get_final_status_from( - grpc_call *call, grpc_error *error, bool allow_ok_status, - void (*set_value)(grpc_status_code code, void *user_data), - void *set_value_user_data, grpc_slice *details) { +static bool get_final_status_from(grpc_exec_ctx *exec_ctx, grpc_call *call, + grpc_error *error, bool allow_ok_status, + void (*set_value)(grpc_status_code code, + void *user_data), + void *set_value_user_data, + grpc_slice *details) { grpc_status_code code; grpc_slice slice = grpc_empty_slice(); - grpc_error_get_status(error, call->send_deadline, &code, &slice, NULL); + grpc_error_get_status(exec_ctx, error, call->send_deadline, &code, &slice, + NULL); if (code == GRPC_STATUS_OK && !allow_ok_status) { return false; } @@ -680,7 +679,7 @@ static bool get_final_status_from( return true; } -static void get_final_status(grpc_call *call, +static void get_final_status(grpc_exec_ctx *exec_ctx, grpc_call *call, void (*set_value)(grpc_status_code code, void *user_data), void *set_value_user_data, grpc_slice *details) { @@ -705,8 +704,9 @@ static void get_final_status(grpc_call *call, for (i = 0; i < STATUS_SOURCE_COUNT; i++) { if (status[i].is_set && grpc_error_has_clear_grpc_status(status[i].error)) { - if (get_final_status_from(call, status[i].error, allow_ok_status != 0, - set_value, set_value_user_data, details)) { + if (get_final_status_from(exec_ctx, call, status[i].error, + allow_ok_status != 0, set_value, + set_value_user_data, details)) { return; } } @@ -714,8 +714,9 @@ static void get_final_status(grpc_call *call, /* If no clearly defined status exists, search for 'anything' */ for (i = 0; i < STATUS_SOURCE_COUNT; i++) { if (status[i].is_set) { - if (get_final_status_from(call, status[i].error, allow_ok_status != 0, - set_value, set_value_user_data, details)) { + if (get_final_status_from(exec_ctx, call, status[i].error, + allow_ok_status != 0, set_value, + set_value_user_data, details)) { return; } } @@ -1146,11 +1147,11 @@ static void post_batch_completion(grpc_exec_ctx *exec_ctx, } if (call->is_client) { - get_final_status(call, set_status_value_directly, + get_final_status(exec_ctx, call, set_status_value_directly, call->final_op.client.status, call->final_op.client.status_details); } else { - get_final_status(call, set_cancelled_value, + get_final_status(exec_ctx, call, set_cancelled_value, call->final_op.server.cancelled, NULL); } @@ -1371,11 +1372,8 @@ static void receiving_initial_metadata_ready(grpc_exec_ctx *exec_ctx, validate_filtered_metadata(exec_ctx, bctl); GPR_TIMER_END("validate_filtered_metadata", 0); - if (gpr_time_cmp(md->deadline, gpr_inf_future(md->deadline.clock_type)) != - 0 && - !call->is_client) { - call->send_deadline = - gpr_convert_clock_type(md->deadline, GPR_CLOCK_MONOTONIC); + if (md->deadline != GRPC_MILLIS_INF_FUTURE && !call->is_client) { + call->send_deadline = md->deadline; } } diff --git a/src/core/lib/surface/call.h b/src/core/lib/surface/call.h index 185bfccb77d..4c9652a6e90 100644 --- a/src/core/lib/surface/call.h +++ b/src/core/lib/surface/call.h @@ -49,7 +49,7 @@ typedef struct grpc_call_create_args { grpc_mdelem *add_initial_metadata; size_t add_initial_metadata_count; - gpr_timespec send_deadline; + grpc_millis send_deadline; } grpc_call_create_args; /* Create a new call based on \a args. diff --git a/src/core/lib/surface/channel.c b/src/core/lib/surface/channel.c index 5780a18ce8e..b0ff428393f 100644 --- a/src/core/lib/surface/channel.c +++ b/src/core/lib/surface/channel.c @@ -230,7 +230,7 @@ static grpc_call *grpc_channel_create_call_internal( grpc_exec_ctx *exec_ctx, grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_completion_queue *cq, grpc_pollset_set *pollset_set_alternative, grpc_mdelem path_mdelem, - grpc_mdelem authority_mdelem, gpr_timespec deadline) { + grpc_mdelem authority_mdelem, grpc_millis deadline) { grpc_mdelem send_metadata[2]; size_t num_metadata = 0; @@ -276,7 +276,7 @@ grpc_call *grpc_channel_create_call(grpc_channel *channel, host != NULL ? grpc_mdelem_from_slices(&exec_ctx, GRPC_MDSTR_AUTHORITY, grpc_slice_ref_internal(*host)) : GRPC_MDNULL, - deadline); + grpc_timespec_to_millis(deadline)); grpc_exec_ctx_finish(&exec_ctx); return call; } @@ -284,7 +284,7 @@ grpc_call *grpc_channel_create_call(grpc_channel *channel, grpc_call *grpc_channel_create_pollset_set_call( grpc_exec_ctx *exec_ctx, grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_pollset_set *pollset_set, grpc_slice method, - const grpc_slice *host, gpr_timespec deadline, void *reserved) { + const grpc_slice *host, grpc_millis deadline, void *reserved) { GPR_ASSERT(!reserved); return grpc_channel_create_call_internal( exec_ctx, channel, parent_call, propagation_mask, NULL, pollset_set, @@ -340,7 +340,8 @@ grpc_call *grpc_channel_create_registered_call( grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_call *call = grpc_channel_create_call_internal( &exec_ctx, channel, parent_call, propagation_mask, completion_queue, NULL, - GRPC_MDELEM_REF(rc->path), GRPC_MDELEM_REF(rc->authority), deadline); + GRPC_MDELEM_REF(rc->path), GRPC_MDELEM_REF(rc->authority), + grpc_timespec_to_millis(deadline)); grpc_exec_ctx_finish(&exec_ctx); return call; } diff --git a/src/core/lib/surface/channel.h b/src/core/lib/surface/channel.h index 528bb868e2c..827dd992b55 100644 --- a/src/core/lib/surface/channel.h +++ b/src/core/lib/surface/channel.h @@ -43,7 +43,7 @@ grpc_channel *grpc_channel_create_with_builder( grpc_call *grpc_channel_create_pollset_set_call( grpc_exec_ctx *exec_ctx, grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_pollset_set *pollset_set, grpc_slice method, - const grpc_slice *host, gpr_timespec deadline, void *reserved); + const grpc_slice *host, grpc_millis deadline, void *reserved); /** Get a (borrowed) pointer to this channels underlying channel stack */ grpc_channel_stack *grpc_channel_get_channel_stack(grpc_channel *channel); diff --git a/src/core/lib/surface/lame_client.cc b/src/core/lib/surface/lame_client.cc index a0791080a98..d71de8a2bf6 100644 --- a/src/core/lib/surface/lame_client.cc +++ b/src/core/lib/surface/lame_client.cc @@ -73,7 +73,7 @@ static void fill_metadata(grpc_exec_ctx *exec_ctx, grpc_call_element *elem, mdb->list.head = &calld->status; mdb->list.tail = &calld->details; mdb->list.count = 2; - mdb->deadline = gpr_inf_future(GPR_CLOCK_REALTIME); + mdb->deadline = GRPC_MILLIS_INF_FUTURE; } static void lame_start_transport_stream_op_batch( diff --git a/src/core/lib/surface/server.c b/src/core/lib/surface/server.c index fce7f8dca11..bad36241eb6 100644 --- a/src/core/lib/surface/server.c +++ b/src/core/lib/surface/server.c @@ -136,7 +136,7 @@ struct call_data { bool host_set; grpc_slice path; grpc_slice host; - gpr_timespec deadline; + grpc_millis deadline; grpc_completion_queue *cq_new; @@ -489,11 +489,13 @@ static void publish_call(grpc_exec_ctx *exec_ctx, grpc_server *server, GPR_ASSERT(calld->path_set); rc->data.batch.details->host = grpc_slice_ref_internal(calld->host); rc->data.batch.details->method = grpc_slice_ref_internal(calld->path); - rc->data.batch.details->deadline = calld->deadline; + rc->data.batch.details->deadline = + grpc_millis_to_timespec(calld->deadline, GPR_CLOCK_REALTIME); rc->data.batch.details->flags = calld->recv_initial_metadata_flags; break; case REGISTERED_CALL: - *rc->data.registered.deadline = calld->deadline; + *rc->data.registered.deadline = + grpc_millis_to_timespec(calld->deadline, GPR_CLOCK_REALTIME); if (rc->data.registered.optional_payload) { *rc->data.registered.optional_payload = calld->payload; calld->payload = NULL; @@ -734,7 +736,7 @@ static void server_on_recv_initial_metadata(grpc_exec_ctx *exec_ctx, void *ptr, grpc_error *error) { grpc_call_element *elem = ptr; call_data *calld = elem->call_data; - gpr_timespec op_deadline; + grpc_millis op_deadline; if (error == GRPC_ERROR_NONE) { GPR_ASSERT(calld->recv_initial_metadata->idx.named.path != NULL); @@ -754,7 +756,7 @@ static void server_on_recv_initial_metadata(grpc_exec_ctx *exec_ctx, void *ptr, GRPC_ERROR_REF(error); } op_deadline = calld->recv_initial_metadata->deadline; - if (0 != gpr_time_cmp(op_deadline, gpr_inf_future(op_deadline.clock_type))) { + if (op_deadline != GRPC_MILLIS_INF_FUTURE) { calld->deadline = op_deadline; } if (calld->host_set && calld->path_set) { @@ -829,7 +831,7 @@ static void accept_stream(grpc_exec_ctx *exec_ctx, void *cd, memset(&args, 0, sizeof(args)); args.channel = chand->channel; args.server_transport_data = transport_server_data; - args.send_deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC); + args.send_deadline = GRPC_MILLIS_INF_FUTURE; grpc_call *call; grpc_error *error = grpc_call_create(exec_ctx, &args, &call); grpc_call_element *elem = @@ -877,7 +879,7 @@ static grpc_error *init_call_elem(grpc_exec_ctx *exec_ctx, call_data *calld = elem->call_data; channel_data *chand = elem->channel_data; memset(calld, 0, sizeof(call_data)); - calld->deadline = gpr_inf_future(GPR_CLOCK_REALTIME); + calld->deadline = GRPC_MILLIS_INF_FUTURE; calld->call = grpc_call_from_top_element(elem); gpr_mu_init(&calld->mu_state); diff --git a/src/core/lib/transport/error_utils.c b/src/core/lib/transport/error_utils.c index 5e3920b627e..2e3b61b7abc 100644 --- a/src/core/lib/transport/error_utils.c +++ b/src/core/lib/transport/error_utils.c @@ -39,8 +39,9 @@ static grpc_error *recursively_find_error_with_field(grpc_error *error, return NULL; } -void grpc_error_get_status(grpc_error *error, gpr_timespec deadline, - grpc_status_code *code, grpc_slice *slice, +void grpc_error_get_status(grpc_exec_ctx *exec_ctx, grpc_error *error, + grpc_millis deadline, grpc_status_code *code, + grpc_slice *slice, grpc_http2_error_code *http_error) { // Start with the parent error and recurse through the tree of children // until we find the first one that has a status code. @@ -63,8 +64,8 @@ void grpc_error_get_status(grpc_error *error, gpr_timespec deadline, status = (grpc_status_code)integer; } else if (grpc_error_get_int(found_error, GRPC_ERROR_INT_HTTP2_ERROR, &integer)) { - status = grpc_http2_error_to_grpc_status((grpc_http2_error_code)integer, - deadline); + status = grpc_http2_error_to_grpc_status( + exec_ctx, (grpc_http2_error_code)integer, deadline); } if (code != NULL) *code = status; diff --git a/src/core/lib/transport/error_utils.h b/src/core/lib/transport/error_utils.h index e530884215b..6211031a243 100644 --- a/src/core/lib/transport/error_utils.h +++ b/src/core/lib/transport/error_utils.h @@ -20,6 +20,7 @@ #define GRPC_CORE_LIB_TRANSPORT_ERROR_UTILS_H #include "src/core/lib/iomgr/error.h" +#include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/http2_errors.h" /// A utility function to get the status code and message to be returned @@ -28,8 +29,9 @@ /// All attributes are pulled from the same child error. If any of the /// attributes (code, msg, http_status) are unneeded, they can be passed as /// NULL. -void grpc_error_get_status(grpc_error *error, gpr_timespec deadline, - grpc_status_code *code, grpc_slice *slice, +void grpc_error_get_status(grpc_exec_ctx *exec_ctx, grpc_error *error, + grpc_millis deadline, grpc_status_code *code, + grpc_slice *slice, grpc_http2_error_code *http_status); /// A utility function to check whether there is a clear status code that diff --git a/src/core/lib/transport/metadata_batch.c b/src/core/lib/transport/metadata_batch.c index 8f24b8527c8..a5ff9c96851 100644 --- a/src/core/lib/transport/metadata_batch.c +++ b/src/core/lib/transport/metadata_batch.c @@ -74,7 +74,7 @@ void grpc_metadata_batch_assert_ok(grpc_metadata_batch *batch) { void grpc_metadata_batch_init(grpc_metadata_batch *batch) { memset(batch, 0, sizeof(*batch)); - batch->deadline = gpr_inf_future(GPR_CLOCK_REALTIME); + batch->deadline = GRPC_MILLIS_INF_FUTURE; } void grpc_metadata_batch_destroy(grpc_exec_ctx *exec_ctx, @@ -268,9 +268,7 @@ void grpc_metadata_batch_clear(grpc_exec_ctx *exec_ctx, } bool grpc_metadata_batch_is_empty(grpc_metadata_batch *batch) { - return batch->list.head == NULL && - gpr_time_cmp(gpr_inf_future(batch->deadline.clock_type), - batch->deadline) == 0; + return batch->list.head == NULL && batch->deadline == GRPC_MILLIS_INF_FUTURE; } size_t grpc_metadata_batch_size(grpc_metadata_batch *batch) { diff --git a/src/core/lib/transport/metadata_batch.h b/src/core/lib/transport/metadata_batch.h index 1b11a3e2525..3498cdd926b 100644 --- a/src/core/lib/transport/metadata_batch.h +++ b/src/core/lib/transport/metadata_batch.h @@ -50,9 +50,9 @@ typedef struct grpc_metadata_batch { grpc_mdelem_list list; grpc_metadata_batch_callouts idx; /** Used to calculate grpc-timeout at the point of sending, - or gpr_inf_future if this batch does not need to send a + or GRPC_MILLIS_INF_FUTURE if this batch does not need to send a grpc-timeout */ - gpr_timespec deadline; + grpc_millis deadline; } grpc_metadata_batch; void grpc_metadata_batch_init(grpc_metadata_batch *batch); diff --git a/src/core/lib/transport/status_conversion.c b/src/core/lib/transport/status_conversion.c index 9a76977e4b8..73d20a170b2 100644 --- a/src/core/lib/transport/status_conversion.c +++ b/src/core/lib/transport/status_conversion.c @@ -37,8 +37,9 @@ int grpc_status_to_http2_error(grpc_status_code status) { } } -grpc_status_code grpc_http2_error_to_grpc_status(grpc_http2_error_code error, - gpr_timespec deadline) { +grpc_status_code grpc_http2_error_to_grpc_status(grpc_exec_ctx *exec_ctx, + grpc_http2_error_code error, + grpc_millis deadline) { switch (error) { case GRPC_HTTP2_NO_ERROR: /* should never be received */ @@ -46,7 +47,7 @@ grpc_status_code grpc_http2_error_to_grpc_status(grpc_http2_error_code error, case GRPC_HTTP2_CANCEL: /* http2 cancel translates to STATUS_CANCELLED iff deadline hasn't been * exceeded */ - return gpr_time_cmp(gpr_now(deadline.clock_type), deadline) >= 0 + return grpc_exec_ctx_now(exec_ctx) > deadline ? GRPC_STATUS_DEADLINE_EXCEEDED : GRPC_STATUS_CANCELLED; case GRPC_HTTP2_ENHANCE_YOUR_CALM: diff --git a/src/core/lib/transport/status_conversion.h b/src/core/lib/transport/status_conversion.h index e93f3dfd9bc..a05ed7658c9 100644 --- a/src/core/lib/transport/status_conversion.h +++ b/src/core/lib/transport/status_conversion.h @@ -20,12 +20,14 @@ #define GRPC_CORE_LIB_TRANSPORT_STATUS_CONVERSION_H #include +#include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/http2_errors.h" /* Conversion of grpc status codes to http2 error codes (for RST_STREAM) */ grpc_http2_error_code grpc_status_to_http2_error(grpc_status_code status); -grpc_status_code grpc_http2_error_to_grpc_status(grpc_http2_error_code error, - gpr_timespec deadline); +grpc_status_code grpc_http2_error_to_grpc_status(grpc_exec_ctx *exec_ctx, + grpc_http2_error_code error, + grpc_millis deadline); /* Conversion of HTTP status codes (:status) to grpc status codes */ grpc_status_code grpc_http2_status_to_grpc_status(int status); diff --git a/src/core/lib/transport/timeout_encoding.c b/src/core/lib/transport/timeout_encoding.c index 02f179d6a3a..779d016ca6b 100644 --- a/src/core/lib/transport/timeout_encoding.c +++ b/src/core/lib/transport/timeout_encoding.c @@ -59,60 +59,27 @@ static void enc_seconds(char *buffer, int64_t sec) { } } -static void enc_nanos(char *buffer, int64_t x) { +static void enc_millis(char *buffer, int64_t x) { x = round_up_to_three_sig_figs(x); - if (x < 100000) { - if (x % 1000 == 0) { - enc_ext(buffer, x / 1000, 'u'); - } else { - enc_ext(buffer, x, 'n'); - } - } else if (x < 100000000) { - if (x % 1000000 == 0) { - enc_ext(buffer, x / 1000000, 'm'); - } else { - enc_ext(buffer, x / 1000, 'u'); - } - } else if (x < 1000000000) { - enc_ext(buffer, x / 1000000, 'm'); + if (x < GPR_MS_PER_SEC) { + enc_ext(buffer, x, 'm'); } else { - /* note that this is only ever called with times of less than one second, - so if we reach here the time must have been rounded up to a whole second - (and no more) */ - memcpy(buffer, "1S", 3); - } -} - -static void enc_micros(char *buffer, int64_t x) { - x = round_up_to_three_sig_figs(x); - if (x < 100000) { - if (x % 1000 == 0) { - enc_ext(buffer, x / 1000, 'm'); + if (x % GPR_MS_PER_SEC == 0) { + enc_seconds(buffer, x / GPR_MS_PER_SEC); } else { - enc_ext(buffer, x, 'u'); + enc_ext(buffer, x, 'm'); } - } else if (x < 100000000) { - if (x % 1000000 == 0) { - enc_ext(buffer, x / 1000000, 'S'); - } else { - enc_ext(buffer, x / 1000, 'm'); - } - } else { - enc_ext(buffer, x / 1000000, 'S'); } } -void grpc_http2_encode_timeout(gpr_timespec timeout, char *buffer) { - if (timeout.tv_sec < 0) { +void grpc_http2_encode_timeout(grpc_millis timeout, char *buffer) { + if (timeout <= 0) { enc_tiny(buffer); - } else if (timeout.tv_sec == 0) { - enc_nanos(buffer, timeout.tv_nsec); - } else if (timeout.tv_sec < 1000 && timeout.tv_nsec != 0) { - enc_micros(buffer, - (int64_t)(timeout.tv_sec * 1000000) + - (timeout.tv_nsec / 1000 + (timeout.tv_nsec % 1000 != 0))); + } else if (timeout < 1000 * GPR_MS_PER_SEC) { + enc_millis(buffer, timeout); } else { - enc_seconds(buffer, timeout.tv_sec + (timeout.tv_nsec != 0)); + enc_seconds(buffer, + timeout / GPR_MS_PER_SEC + (timeout % GPR_MS_PER_SEC != 0)); } } @@ -121,7 +88,7 @@ static int is_all_whitespace(const char *p, const char *end) { return p == end; } -int grpc_http2_decode_timeout(grpc_slice text, gpr_timespec *timeout) { +int grpc_http2_decode_timeout(grpc_slice text, grpc_millis *timeout) { int32_t x = 0; const uint8_t *p = GRPC_SLICE_START_PTR(text); const uint8_t *end = GRPC_SLICE_END_PTR(text); @@ -136,7 +103,7 @@ int grpc_http2_decode_timeout(grpc_slice text, gpr_timespec *timeout) { /* spec allows max. 8 digits, but we allow values up to 1,000,000,000 */ if (x >= (100 * 1000 * 1000)) { if (x != (100 * 1000 * 1000) || digit != 0) { - *timeout = gpr_inf_future(GPR_TIMESPAN); + *timeout = GRPC_MILLIS_INF_FUTURE; return 1; } } @@ -150,22 +117,22 @@ int grpc_http2_decode_timeout(grpc_slice text, gpr_timespec *timeout) { /* decode unit specifier */ switch (*p) { case 'n': - *timeout = gpr_time_from_nanos(x, GPR_TIMESPAN); + *timeout = x / GPR_NS_PER_MS + (x % GPR_NS_PER_MS != 0); break; case 'u': - *timeout = gpr_time_from_micros(x, GPR_TIMESPAN); + *timeout = x / GPR_US_PER_MS + (x % GPR_US_PER_MS != 0); break; case 'm': - *timeout = gpr_time_from_millis(x, GPR_TIMESPAN); + *timeout = x; break; case 'S': - *timeout = gpr_time_from_seconds(x, GPR_TIMESPAN); + *timeout = x * GPR_MS_PER_SEC; break; case 'M': - *timeout = gpr_time_from_minutes(x, GPR_TIMESPAN); + *timeout = x * 60 * GPR_MS_PER_SEC; break; case 'H': - *timeout = gpr_time_from_hours(x, GPR_TIMESPAN); + *timeout = x * 60 * 60 * GPR_MS_PER_SEC; break; default: return 0; diff --git a/src/core/lib/transport/timeout_encoding.h b/src/core/lib/transport/timeout_encoding.h index 7ff35c40836..c8677719c4e 100644 --- a/src/core/lib/transport/timeout_encoding.h +++ b/src/core/lib/transport/timeout_encoding.h @@ -22,13 +22,14 @@ #include #include +#include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/support/string.h" #define GRPC_HTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE (GPR_LTOA_MIN_BUFSIZE + 1) /* Encode/decode timeouts to the GRPC over HTTP/2 format; encoding may round up arbitrarily */ -void grpc_http2_encode_timeout(gpr_timespec timeout, char *buffer); -int grpc_http2_decode_timeout(grpc_slice text, gpr_timespec *timeout); +void grpc_http2_encode_timeout(grpc_millis timeout, char *buffer); +int grpc_http2_decode_timeout(grpc_slice text, grpc_millis *timeout); #endif /* GRPC_CORE_LIB_TRANSPORT_TIMEOUT_ENCODING_H */ diff --git a/src/core/lib/transport/transport_op_string.c b/src/core/lib/transport/transport_op_string.c index 7b18229ba65..14414c7ee98 100644 --- a/src/core/lib/transport/transport_op_string.c +++ b/src/core/lib/transport/transport_op_string.c @@ -48,10 +48,9 @@ static void put_metadata_list(gpr_strvec *b, grpc_metadata_batch md) { if (m != md.list.head) gpr_strvec_add(b, gpr_strdup(", ")); put_metadata(b, m->md); } - if (gpr_time_cmp(md.deadline, gpr_inf_future(md.deadline.clock_type)) != 0) { + if (md.deadline != GRPC_MILLIS_INF_FUTURE) { char *tmp; - gpr_asprintf(&tmp, " deadline=%" PRId64 ".%09d", md.deadline.tv_sec, - md.deadline.tv_nsec); + gpr_asprintf(&tmp, " deadline=%" PRIdPTR, md.deadline); gpr_strvec_add(b, tmp); } } diff --git a/test/core/channel/channel_stack_test.c b/test/core/channel/channel_stack_test.c index 0c4bae6dedb..f78ebe7efac 100644 --- a/test/core/channel/channel_stack_test.c +++ b/test/core/channel/channel_stack_test.c @@ -130,7 +130,7 @@ static void test_create_channel_stack(void) { .context = NULL, .path = path, .start_time = gpr_now(GPR_CLOCK_MONOTONIC), - .deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC), + .deadline = GRPC_MILLIS_INF_FUTURE, .arena = NULL}; grpc_error *error = grpc_call_stack_init(&exec_ctx, channel_stack, 1, free_call, call_stack, &args); diff --git a/test/core/transport/status_conversion_test.c b/test/core/transport/status_conversion_test.c index 89558964c1c..de8fa4458a6 100644 --- a/test/core/transport/status_conversion_test.c +++ b/test/core/transport/status_conversion_test.c @@ -22,8 +22,13 @@ #define GRPC_STATUS_TO_HTTP2_ERROR(a, b) \ GPR_ASSERT(grpc_status_to_http2_error(a) == (b)) -#define HTTP2_ERROR_TO_GRPC_STATUS(a, deadline, b) \ - GPR_ASSERT(grpc_http2_error_to_grpc_status(a, deadline) == (b)) +#define HTTP2_ERROR_TO_GRPC_STATUS(a, deadline, b) \ + do { \ + grpc_exec_ctx my_exec_ctx = GRPC_EXEC_CTX_INIT; \ + GPR_ASSERT(grpc_http2_error_to_grpc_status(&my_exec_ctx, a, deadline) == \ + (b)); \ + grpc_exec_ctx_finish(&my_exec_ctx); \ + } while (0) #define GRPC_STATUS_TO_HTTP2_STATUS(a, b) \ GPR_ASSERT(grpc_status_to_http2_status(a) == (b)) #define HTTP2_STATUS_TO_GRPC_STATUS(a, b) \ @@ -79,7 +84,7 @@ int main(int argc, char **argv) { GRPC_STATUS_TO_HTTP2_STATUS(GRPC_STATUS_UNAVAILABLE, 200); GRPC_STATUS_TO_HTTP2_STATUS(GRPC_STATUS_DATA_LOSS, 200); - const gpr_timespec before_deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC); + const grpc_millis before_deadline = GRPC_MILLIS_INF_FUTURE; HTTP2_ERROR_TO_GRPC_STATUS(GRPC_HTTP2_NO_ERROR, before_deadline, GRPC_STATUS_INTERNAL); HTTP2_ERROR_TO_GRPC_STATUS(GRPC_HTTP2_PROTOCOL_ERROR, before_deadline, @@ -107,7 +112,7 @@ int main(int argc, char **argv) { HTTP2_ERROR_TO_GRPC_STATUS(GRPC_HTTP2_INADEQUATE_SECURITY, before_deadline, GRPC_STATUS_PERMISSION_DENIED); - const gpr_timespec after_deadline = gpr_inf_past(GPR_CLOCK_MONOTONIC); + const grpc_millis after_deadline = 0; HTTP2_ERROR_TO_GRPC_STATUS(GRPC_HTTP2_NO_ERROR, after_deadline, GRPC_STATUS_INTERNAL); HTTP2_ERROR_TO_GRPC_STATUS(GRPC_HTTP2_PROTOCOL_ERROR, after_deadline, diff --git a/test/core/transport/timeout_encoding_test.c b/test/core/transport/timeout_encoding_test.c index 6388ffbcec6..fcd263f1043 100644 --- a/test/core/transport/timeout_encoding_test.c +++ b/test/core/transport/timeout_encoding_test.c @@ -30,7 +30,7 @@ #define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x) -static void assert_encodes_as(gpr_timespec ts, const char *s) { +static void assert_encodes_as(grpc_millis ts, const char *s) { char buffer[GRPC_HTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE]; grpc_http2_encode_timeout(ts, buffer); gpr_log(GPR_INFO, "check '%s' == '%s'", buffer, s); @@ -39,47 +39,38 @@ static void assert_encodes_as(gpr_timespec ts, const char *s) { void test_encoding(void) { LOG_TEST("test_encoding"); - assert_encodes_as(gpr_time_from_micros(-1, GPR_TIMESPAN), "1n"); - assert_encodes_as(gpr_time_from_seconds(-10, GPR_TIMESPAN), "1n"); - assert_encodes_as(gpr_time_from_nanos(10, GPR_TIMESPAN), "10n"); - assert_encodes_as(gpr_time_from_nanos(999999999, GPR_TIMESPAN), "1S"); - assert_encodes_as(gpr_time_from_micros(1, GPR_TIMESPAN), "1u"); - assert_encodes_as(gpr_time_from_micros(10, GPR_TIMESPAN), "10u"); - assert_encodes_as(gpr_time_from_micros(100, GPR_TIMESPAN), "100u"); - assert_encodes_as(gpr_time_from_micros(890, GPR_TIMESPAN), "890u"); - assert_encodes_as(gpr_time_from_micros(900, GPR_TIMESPAN), "900u"); - assert_encodes_as(gpr_time_from_micros(901, GPR_TIMESPAN), "901u"); - assert_encodes_as(gpr_time_from_millis(1, GPR_TIMESPAN), "1m"); - assert_encodes_as(gpr_time_from_millis(2, GPR_TIMESPAN), "2m"); - assert_encodes_as(gpr_time_from_micros(10001, GPR_TIMESPAN), "10100u"); - assert_encodes_as(gpr_time_from_micros(999999, GPR_TIMESPAN), "1S"); - assert_encodes_as(gpr_time_from_millis(1000, GPR_TIMESPAN), "1S"); - assert_encodes_as(gpr_time_from_millis(2000, GPR_TIMESPAN), "2S"); - assert_encodes_as(gpr_time_from_millis(2500, GPR_TIMESPAN), "2500m"); - assert_encodes_as(gpr_time_from_millis(59900, GPR_TIMESPAN), "59900m"); - assert_encodes_as(gpr_time_from_seconds(50, GPR_TIMESPAN), "50S"); - assert_encodes_as(gpr_time_from_seconds(59, GPR_TIMESPAN), "59S"); - assert_encodes_as(gpr_time_from_seconds(60, GPR_TIMESPAN), "1M"); - assert_encodes_as(gpr_time_from_seconds(80, GPR_TIMESPAN), "80S"); - assert_encodes_as(gpr_time_from_seconds(90, GPR_TIMESPAN), "90S"); - assert_encodes_as(gpr_time_from_minutes(2, GPR_TIMESPAN), "2M"); - assert_encodes_as(gpr_time_from_minutes(20, GPR_TIMESPAN), "20M"); - assert_encodes_as(gpr_time_from_hours(1, GPR_TIMESPAN), "1H"); - assert_encodes_as(gpr_time_from_hours(10, GPR_TIMESPAN), "10H"); - assert_encodes_as(gpr_time_from_seconds(1000000000, GPR_TIMESPAN), - "1000000000S"); + assert_encodes_as(-1, "1n"); + assert_encodes_as(-10, "1n"); + assert_encodes_as(1, "1m"); + assert_encodes_as(10, "10m"); + assert_encodes_as(100, "100m"); + assert_encodes_as(890, "890m"); + assert_encodes_as(900, "900m"); + assert_encodes_as(901, "901m"); + assert_encodes_as(1000, "1S"); + assert_encodes_as(2000, "2S"); + assert_encodes_as(2500, "2500m"); + assert_encodes_as(59900, "59900m"); + assert_encodes_as(50000, "50S"); + assert_encodes_as(59000, "59S"); + assert_encodes_as(60000, "1M"); + assert_encodes_as(80000, "80S"); + assert_encodes_as(90000, "90S"); + assert_encodes_as(120000, "2M"); + assert_encodes_as(20 * 60 * GPR_MS_PER_SEC, "20M"); + assert_encodes_as(60 * 60 * GPR_MS_PER_SEC, "1H"); + assert_encodes_as(10 * 60 * 60 * GPR_MS_PER_SEC, "10H"); } -static void assert_decodes_as(const char *buffer, gpr_timespec expected) { - gpr_timespec got; +static void assert_decodes_as(const char *buffer, grpc_millis expected) { + grpc_millis got; gpr_log(GPR_INFO, "check decoding '%s'", buffer); GPR_ASSERT(1 == grpc_http2_decode_timeout( grpc_slice_from_static_string(buffer), &got)); - GPR_ASSERT(0 == gpr_time_cmp(got, expected)); + GPR_ASSERT(got == expected); } -void decode_suite(char ext, - gpr_timespec (*answer)(int64_t x, gpr_clock_type clock)) { +void decode_suite(char ext, grpc_millis (*answer)(int64_t x)) { long test_vals[] = {1, 12, 123, 1234, 12345, 123456, 1234567, 12345678, 123456789, 98765432, 9876543, 987654, 98765, 9876, 987, 98, 9}; @@ -87,41 +78,51 @@ void decode_suite(char ext, char *input; for (i = 0; i < GPR_ARRAY_SIZE(test_vals); i++) { gpr_asprintf(&input, "%ld%c", test_vals[i], ext); - assert_decodes_as(input, answer(test_vals[i], GPR_TIMESPAN)); + assert_decodes_as(input, answer(test_vals[i])); gpr_free(input); gpr_asprintf(&input, " %ld%c", test_vals[i], ext); - assert_decodes_as(input, answer(test_vals[i], GPR_TIMESPAN)); + assert_decodes_as(input, answer(test_vals[i])); gpr_free(input); gpr_asprintf(&input, "%ld %c", test_vals[i], ext); - assert_decodes_as(input, answer(test_vals[i], GPR_TIMESPAN)); + assert_decodes_as(input, answer(test_vals[i])); gpr_free(input); gpr_asprintf(&input, "%ld %c ", test_vals[i], ext); - assert_decodes_as(input, answer(test_vals[i], GPR_TIMESPAN)); + assert_decodes_as(input, answer(test_vals[i])); gpr_free(input); } } +static grpc_millis millis_from_nanos(int64_t x) { return x / GPR_NS_PER_MS; } +static grpc_millis millis_from_micros(int64_t x) { return x / GPR_US_PER_MS; } +static grpc_millis millis_from_millis(int64_t x) { return x; } +static grpc_millis millis_from_seconds(int64_t x) { return x * GPR_MS_PER_SEC; } +static grpc_millis millis_from_minutes(int64_t x) { + return x * 60 * GPR_MS_PER_SEC; +} +static grpc_millis millis_from_hours(int64_t x) { + return x * 3600 * GPR_MS_PER_SEC; +} + void test_decoding(void) { LOG_TEST("test_decoding"); - decode_suite('n', gpr_time_from_nanos); - decode_suite('u', gpr_time_from_micros); - decode_suite('m', gpr_time_from_millis); - decode_suite('S', gpr_time_from_seconds); - decode_suite('M', gpr_time_from_minutes); - decode_suite('H', gpr_time_from_hours); - assert_decodes_as("1000000000S", - gpr_time_from_seconds(1000 * 1000 * 1000, GPR_TIMESPAN)); - assert_decodes_as("1000000000000000000000u", gpr_inf_future(GPR_TIMESPAN)); - assert_decodes_as("1000000001S", gpr_inf_future(GPR_TIMESPAN)); - assert_decodes_as("2000000001S", gpr_inf_future(GPR_TIMESPAN)); - assert_decodes_as("9999999999S", gpr_inf_future(GPR_TIMESPAN)); + decode_suite('n', millis_from_nanos); + decode_suite('u', millis_from_micros); + decode_suite('m', millis_from_millis); + decode_suite('S', millis_from_seconds); + decode_suite('M', millis_from_minutes); + decode_suite('H', millis_from_hours); + assert_decodes_as("1000000000S", millis_from_seconds(1000 * 1000 * 1000)); + assert_decodes_as("1000000000000000000000u", GRPC_MILLIS_INF_FUTURE); + assert_decodes_as("1000000001S", GRPC_MILLIS_INF_FUTURE); + assert_decodes_as("2000000001S", GRPC_MILLIS_INF_FUTURE); + assert_decodes_as("9999999999S", GRPC_MILLIS_INF_FUTURE); } static void assert_decoding_fails(const char *s) { - gpr_timespec x; + grpc_millis x; GPR_ASSERT(0 == grpc_http2_decode_timeout(grpc_slice_from_static_string(s), &x)); } diff --git a/test/cpp/microbenchmarks/bm_call_create.cc b/test/cpp/microbenchmarks/bm_call_create.cc index 508f7f94d6f..c248c2348c8 100644 --- a/test/cpp/microbenchmarks/bm_call_create.cc +++ b/test/cpp/microbenchmarks/bm_call_create.cc @@ -563,7 +563,7 @@ static void BM_IsolatedFilter(benchmark::State &state) { grpc_exec_ctx_flush(&exec_ctx); grpc_call_stack *call_stack = static_cast( gpr_zalloc(channel_stack->call_stack_size)); - gpr_timespec deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC); + grpc_millis deadline = GRPC_MILLIS_INF_FUTURE; gpr_timespec start_time = gpr_now(GPR_CLOCK_MONOTONIC); grpc_slice method = grpc_slice_from_static_string("/foo/bar"); grpc_call_final_info final_info; diff --git a/test/cpp/microbenchmarks/bm_chttp2_transport.cc b/test/cpp/microbenchmarks/bm_chttp2_transport.cc index 567ef1cf24c..d3b98f4493d 100644 --- a/test/cpp/microbenchmarks/bm_chttp2_transport.cc +++ b/test/cpp/microbenchmarks/bm_chttp2_transport.cc @@ -296,7 +296,7 @@ static void BM_StreamCreateSendInitialMetadataDestroy(benchmark::State &state) { grpc_metadata_batch b; grpc_metadata_batch_init(&b); - b.deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC); + b.deadline = GRPC_MILLIS_INF_FUTURE; std::vector elems = Metadata::GetElems(f.exec_ctx()); std::vector storage(elems.size()); for (size_t i = 0; i < elems.size(); i++) { @@ -377,7 +377,7 @@ static void BM_TransportStreamSend(benchmark::State &state) { grpc_metadata_batch b; grpc_metadata_batch_init(&b); - b.deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC); + b.deadline = GRPC_MILLIS_INF_FUTURE; std::vector elems = RepresentativeClientInitialMetadata::GetElems(f.exec_ctx()); std::vector storage(elems.size()); @@ -497,7 +497,7 @@ static void BM_TransportStreamRecv(benchmark::State &state) { grpc_metadata_batch_init(&b); grpc_metadata_batch b_recv; grpc_metadata_batch_init(&b_recv); - b.deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC); + b.deadline = GRPC_MILLIS_INF_FUTURE; std::vector elems = RepresentativeClientInitialMetadata::GetElems(f.exec_ctx()); std::vector storage(elems.size()); diff --git a/test/cpp/microbenchmarks/bm_cq_multiple_threads.cc b/test/cpp/microbenchmarks/bm_cq_multiple_threads.cc index f79db15a473..574e76bfbd8 100644 --- a/test/cpp/microbenchmarks/bm_cq_multiple_threads.cc +++ b/test/cpp/microbenchmarks/bm_cq_multiple_threads.cc @@ -70,9 +70,9 @@ static void cq_done_cb(grpc_exec_ctx* exec_ctx, void* done_arg, /* Queues a completion tag if deadline is > 0. * Does nothing if deadline is 0 (i.e gpr_time_0(GPR_CLOCK_MONOTONIC)) */ static grpc_error* pollset_work(grpc_exec_ctx* exec_ctx, grpc_pollset* ps, - grpc_pollset_worker** worker, gpr_timespec now, - gpr_timespec deadline) { - if (gpr_time_cmp(deadline, gpr_time_0(GPR_CLOCK_MONOTONIC)) == 0) { + grpc_pollset_worker** worker, + grpc_millis deadline) { + if (deadline == 0) { gpr_log(GPR_DEBUG, "no-op"); return GRPC_ERROR_NONE; } diff --git a/test/cpp/microbenchmarks/bm_error.cc b/test/cpp/microbenchmarks/bm_error.cc index bd5f02e172e..56b80dfcf6d 100644 --- a/test/cpp/microbenchmarks/bm_error.cc +++ b/test/cpp/microbenchmarks/bm_error.cc @@ -159,39 +159,39 @@ BENCHMARK(BM_ErrorGetPresentInt); // Fixtures for tests: generate different kinds of errors class ErrorNone { public: - gpr_timespec deadline() const { return deadline_; } + grpc_millis deadline() const { return deadline_; } grpc_error* error() const { return GRPC_ERROR_NONE; } private: - const gpr_timespec deadline_ = gpr_inf_future(GPR_CLOCK_MONOTONIC); + const grpc_millis deadline_ = GRPC_MILLIS_INF_FUTURE; }; class ErrorCancelled { public: - gpr_timespec deadline() const { return deadline_; } + grpc_millis deadline() const { return deadline_; } grpc_error* error() const { return GRPC_ERROR_CANCELLED; } private: - const gpr_timespec deadline_ = gpr_inf_future(GPR_CLOCK_MONOTONIC); + const grpc_millis deadline_ = GRPC_MILLIS_INF_FUTURE; }; class SimpleError { public: - gpr_timespec deadline() const { return deadline_; } + grpc_millis deadline() const { return deadline_; } grpc_error* error() const { return error_.get(); } private: - const gpr_timespec deadline_ = gpr_inf_future(GPR_CLOCK_MONOTONIC); + const grpc_millis deadline_ = GRPC_MILLIS_INF_FUTURE; ErrorPtr error_{GRPC_ERROR_CREATE_FROM_STATIC_STRING("Error")}; }; class ErrorWithGrpcStatus { public: - gpr_timespec deadline() const { return deadline_; } + grpc_millis deadline() const { return deadline_; } grpc_error* error() const { return error_.get(); } private: - const gpr_timespec deadline_ = gpr_inf_future(GPR_CLOCK_MONOTONIC); + const grpc_millis deadline_ = GRPC_MILLIS_INF_FUTURE; ErrorPtr error_{grpc_error_set_int( GRPC_ERROR_CREATE_FROM_STATIC_STRING("Error"), GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_UNIMPLEMENTED)}; @@ -199,11 +199,11 @@ class ErrorWithGrpcStatus { class ErrorWithHttpError { public: - gpr_timespec deadline() const { return deadline_; } + grpc_millis deadline() const { return deadline_; } grpc_error* error() const { return error_.get(); } private: - const gpr_timespec deadline_ = gpr_inf_future(GPR_CLOCK_MONOTONIC); + const grpc_millis deadline_ = GRPC_MILLIS_INF_FUTURE; ErrorPtr error_{grpc_error_set_int( GRPC_ERROR_CREATE_FROM_STATIC_STRING("Error"), GRPC_ERROR_INT_HTTP2_ERROR, GRPC_HTTP2_COMPRESSION_ERROR)}; @@ -211,11 +211,11 @@ class ErrorWithHttpError { class ErrorWithNestedGrpcStatus { public: - gpr_timespec deadline() const { return deadline_; } + grpc_millis deadline() const { return deadline_; } grpc_error* error() const { return error_.get(); } private: - const gpr_timespec deadline_ = gpr_inf_future(GPR_CLOCK_MONOTONIC); + const grpc_millis deadline_ = GRPC_MILLIS_INF_FUTURE; ErrorPtr nested_error_{grpc_error_set_int( GRPC_ERROR_CREATE_FROM_STATIC_STRING("Error"), GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_UNIMPLEMENTED)}; @@ -248,12 +248,14 @@ template static void BM_ErrorGetStatus(benchmark::State& state) { TrackCounters track_counters; Fixture fixture; + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; while (state.KeepRunning()) { grpc_status_code status; grpc_slice slice; - grpc_error_get_status(fixture.error(), fixture.deadline(), &status, &slice, - NULL); + grpc_error_get_status(&exec_ctx, fixture.error(), fixture.deadline(), + &status, &slice, NULL); } + grpc_exec_ctx_finish(&exec_ctx); track_counters.Finish(state); } @@ -261,11 +263,13 @@ template static void BM_ErrorGetStatusCode(benchmark::State& state) { TrackCounters track_counters; Fixture fixture; + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; while (state.KeepRunning()) { grpc_status_code status; - grpc_error_get_status(fixture.error(), fixture.deadline(), &status, NULL, - NULL); + grpc_error_get_status(&exec_ctx, fixture.error(), fixture.deadline(), + &status, NULL, NULL); } + grpc_exec_ctx_finish(&exec_ctx); track_counters.Finish(state); } @@ -273,11 +277,13 @@ template static void BM_ErrorHttpError(benchmark::State& state) { TrackCounters track_counters; Fixture fixture; + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; while (state.KeepRunning()) { grpc_http2_error_code error; - grpc_error_get_status(fixture.error(), fixture.deadline(), NULL, NULL, - &error); + grpc_error_get_status(&exec_ctx, fixture.error(), fixture.deadline(), NULL, + NULL, &error); } + grpc_exec_ctx_finish(&exec_ctx); track_counters.Finish(state); } diff --git a/test/cpp/microbenchmarks/bm_pollset.cc b/test/cpp/microbenchmarks/bm_pollset.cc index 683f4703c2a..cd62e691d67 100644 --- a/test/cpp/microbenchmarks/bm_pollset.cc +++ b/test/cpp/microbenchmarks/bm_pollset.cc @@ -117,11 +117,9 @@ static void BM_PollEmptyPollset(benchmark::State& state) { gpr_mu* mu; grpc_pollset_init(ps, &mu); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - gpr_timespec now = gpr_time_0(GPR_CLOCK_MONOTONIC); - gpr_timespec deadline = gpr_inf_past(GPR_CLOCK_MONOTONIC); gpr_mu_lock(mu); while (state.KeepRunning()) { - GRPC_ERROR_UNREF(grpc_pollset_work(&exec_ctx, ps, NULL, now, deadline)); + GRPC_ERROR_UNREF(grpc_pollset_work(&exec_ctx, ps, NULL, 0)); } grpc_closure shutdown_ps_closure; GRPC_CLOSURE_INIT(&shutdown_ps_closure, shutdown_ps, ps, @@ -223,8 +221,6 @@ static void BM_SingleThreadPollOneFd(benchmark::State& state) { gpr_mu* mu; grpc_pollset_init(ps, &mu); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - gpr_timespec now = gpr_time_0(GPR_CLOCK_MONOTONIC); - gpr_timespec deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC); grpc_wakeup_fd wakeup_fd; GRPC_ERROR_UNREF(grpc_wakeup_fd_init(&wakeup_fd)); grpc_fd* wakeup = grpc_fd_create(wakeup_fd.read_fd, "wakeup_read"); @@ -245,7 +241,8 @@ static void BM_SingleThreadPollOneFd(benchmark::State& state) { grpc_fd_notify_on_read(&exec_ctx, wakeup, continue_closure); gpr_mu_lock(mu); while (!done) { - GRPC_ERROR_UNREF(grpc_pollset_work(&exec_ctx, ps, NULL, now, deadline)); + GRPC_ERROR_UNREF( + grpc_pollset_work(&exec_ctx, ps, NULL, GRPC_MILLIS_INF_FUTURE)); } grpc_fd_orphan(&exec_ctx, wakeup, NULL, NULL, "done"); wakeup_fd.read_fd = 0; From 6b7c1fbe3e1bcc8f5e20a72acdfec501ac837133 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 19 Jul 2017 15:45:03 -0700 Subject: [PATCH 011/180] Distrib stuff --- src/core/lib/backoff/backoff.h | 6 +++--- src/core/lib/compression/stream_compression.h | 2 +- src/core/lib/iomgr/block_annotate.h | 6 +++--- src/core/lib/iomgr/ev_epoll1_linux.c | 2 +- src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c | 2 +- src/core/lib/iomgr/ev_epoll_thread_pool_linux.c | 2 +- src/core/lib/iomgr/ev_epollex_linux.c | 2 +- src/core/lib/iomgr/ev_epollsig_linux.c | 2 +- src/core/lib/iomgr/ev_poll_posix.c | 2 +- src/core/lib/iomgr/resolve_address_posix.c | 2 +- src/core/lib/iomgr/resolve_address_windows.c | 2 +- 11 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/core/lib/backoff/backoff.h b/src/core/lib/backoff/backoff.h index f1258bcdc5b..de708e686ed 100644 --- a/src/core/lib/backoff/backoff.h +++ b/src/core/lib/backoff/backoff.h @@ -16,8 +16,8 @@ * */ -#ifndef GRPC_CORE_LIB_SUPPORT_BACKOFF_H -#define GRPC_CORE_LIB_SUPPORT_BACKOFF_H +#ifndef GRPC_CORE_LIB_BACKOFF_BACKOFF_H +#define GRPC_CORE_LIB_BACKOFF_BACKOFF_H #include "src/core/lib/iomgr/exec_ctx.h" @@ -54,4 +54,4 @@ grpc_millis grpc_backoff_step(grpc_exec_ctx *exec_ctx, grpc_backoff *backoff); /// instead void grpc_backoff_reset(grpc_backoff *backoff); -#endif /* GRPC_CORE_LIB_SUPPORT_BACKOFF_H */ +#endif /* GRPC_CORE_LIB_BACKOFF_BACKOFF_H */ diff --git a/src/core/lib/compression/stream_compression.h b/src/core/lib/compression/stream_compression.h index 844dff81a3b..0daaa9e655e 100644 --- a/src/core/lib/compression/stream_compression.h +++ b/src/core/lib/compression/stream_compression.h @@ -87,4 +87,4 @@ grpc_stream_compression_context *grpc_stream_compression_context_create( void grpc_stream_compression_context_destroy( grpc_stream_compression_context *ctx); -#endif +#endif /* GRPC_CORE_LIB_COMPRESSION_STREAM_COMPRESSION_H */ diff --git a/src/core/lib/iomgr/block_annotate.h b/src/core/lib/iomgr/block_annotate.h index e20faea9001..7d6d547ff0c 100644 --- a/src/core/lib/iomgr/block_annotate.h +++ b/src/core/lib/iomgr/block_annotate.h @@ -16,8 +16,8 @@ * */ -#ifndef GRPC_CORE_LIB_SUPPORT_BLOCK_ANNOTATE_H -#define GRPC_CORE_LIB_SUPPORT_BLOCK_ANNOTATE_H +#ifndef GRPC_CORE_LIB_IOMGR_BLOCK_ANNOTATE_H +#define GRPC_CORE_LIB_IOMGR_BLOCK_ANNOTATE_H /* These annotations identify the beginning and end of regions where the code may block for reasons other than synchronization functions. @@ -34,4 +34,4 @@ grpc_exec_ctx_invalidate_now((ec)); \ } while (0) -#endif /* GRPC_CORE_LIB_SUPPORT_BLOCK_ANNOTATE_H */ +#endif /* GRPC_CORE_LIB_IOMGR_BLOCK_ANNOTATE_H */ diff --git a/src/core/lib/iomgr/ev_epoll1_linux.c b/src/core/lib/iomgr/ev_epoll1_linux.c index a3586547d46..de950af3dcb 100644 --- a/src/core/lib/iomgr/ev_epoll1_linux.c +++ b/src/core/lib/iomgr/ev_epoll1_linux.c @@ -40,12 +40,12 @@ #include #include +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/iomgr_internal.h" #include "src/core/lib/iomgr/lockfree_event.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/profiling/timers.h" -#include "src/core/lib/iomgr/block_annotate.h" static grpc_wakeup_fd global_wakeup_fd; static int g_epfd; diff --git a/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c b/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c index 05e9ca448a7..1116a124db3 100644 --- a/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c +++ b/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c @@ -41,13 +41,13 @@ #include #include "src/core/lib/debug/trace.h" +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/iomgr_internal.h" #include "src/core/lib/iomgr/lockfree_event.h" #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/profiling/timers.h" -#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/support/env.h" #define GRPC_POLLING_TRACE(fmt, ...) \ diff --git a/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c b/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c index bbcc475d7ed..d71d11fe434 100644 --- a/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c +++ b/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c @@ -41,13 +41,13 @@ #include #include +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/iomgr_internal.h" #include "src/core/lib/iomgr/lockfree_event.h" #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/profiling/timers.h" -#include "src/core/lib/iomgr/block_annotate.h" /* TODO: sreek - Move this to init.c and initialize this like other tracers. */ #define GRPC_POLLING_TRACE(fmt, ...) \ diff --git a/src/core/lib/iomgr/ev_epollex_linux.c b/src/core/lib/iomgr/ev_epollex_linux.c index 7db95fe9b43..a126f09a42e 100644 --- a/src/core/lib/iomgr/ev_epollex_linux.c +++ b/src/core/lib/iomgr/ev_epollex_linux.c @@ -38,6 +38,7 @@ #include #include +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/iomgr_internal.h" #include "src/core/lib/iomgr/is_epollexclusive_available.h" @@ -46,7 +47,6 @@ #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/profiling/timers.h" -#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/support/spinlock.h" /******************************************************************************* diff --git a/src/core/lib/iomgr/ev_epollsig_linux.c b/src/core/lib/iomgr/ev_epollsig_linux.c index fc5212ab5e4..cd03f0720e2 100644 --- a/src/core/lib/iomgr/ev_epollsig_linux.c +++ b/src/core/lib/iomgr/ev_epollsig_linux.c @@ -40,13 +40,13 @@ #include #include +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/iomgr_internal.h" #include "src/core/lib/iomgr/lockfree_event.h" #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/profiling/timers.h" -#include "src/core/lib/iomgr/block_annotate.h" #define GRPC_POLLSET_KICK_BROADCAST ((grpc_pollset_worker *)1) diff --git a/src/core/lib/iomgr/ev_poll_posix.c b/src/core/lib/iomgr/ev_poll_posix.c index c6456bee188..efe92c0cba1 100644 --- a/src/core/lib/iomgr/ev_poll_posix.c +++ b/src/core/lib/iomgr/ev_poll_posix.c @@ -37,12 +37,12 @@ #include #include +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/iomgr/iomgr_internal.h" #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/iomgr/wakeup_fd_cv.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/profiling/timers.h" -#include "src/core/lib/iomgr/block_annotate.h" #define GRPC_POLLSET_KICK_BROADCAST ((grpc_pollset_worker *)1) diff --git a/src/core/lib/iomgr/resolve_address_posix.c b/src/core/lib/iomgr/resolve_address_posix.c index d58ec4168ef..8044f8c12a9 100644 --- a/src/core/lib/iomgr/resolve_address_posix.c +++ b/src/core/lib/iomgr/resolve_address_posix.c @@ -33,10 +33,10 @@ #include #include #include +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/iomgr/executor.h" #include "src/core/lib/iomgr/iomgr_internal.h" #include "src/core/lib/iomgr/unix_sockets_posix.h" -#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/support/string.h" static grpc_error *blocking_resolve_address_impl( diff --git a/src/core/lib/iomgr/resolve_address_windows.c b/src/core/lib/iomgr/resolve_address_windows.c index ee09d127b45..3217bb4b2c5 100644 --- a/src/core/lib/iomgr/resolve_address_windows.c +++ b/src/core/lib/iomgr/resolve_address_windows.c @@ -33,10 +33,10 @@ #include #include #include +#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/iomgr/executor.h" #include "src/core/lib/iomgr/iomgr_internal.h" #include "src/core/lib/iomgr/sockaddr_utils.h" -#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/support/string.h" typedef struct { From f7c7e14438315442df818cb0c350e7d88657e1ce Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 19 Jul 2017 20:20:35 -0700 Subject: [PATCH 012/180] Casting --- src/core/ext/filters/max_age/max_age_filter.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/ext/filters/max_age/max_age_filter.c b/src/core/ext/filters/max_age/max_age_filter.c index 2a785efc045..62b28d7cc9a 100644 --- a/src/core/ext/filters/max_age/max_age_filter.c +++ b/src/core/ext/filters/max_age/max_age_filter.c @@ -254,8 +254,9 @@ add_random_max_connection_age_jitter_and_convert_to_grpc_millis(int value) { double result = multiplier * value; /* INT_MAX - 0.5 converts the value to float, so that result will not be cast to int implicitly before the comparison. */ - return result > GRPC_MILLIS_INF_FUTURE - 0.5 ? GRPC_MILLIS_INF_FUTURE - : (int)result; + return result > ((double)GRPC_MILLIS_INF_FUTURE) - 0.5 + ? GRPC_MILLIS_INF_FUTURE + : (grpc_millis)result; } /* Constructor for call_data. */ From f71f68e685039ae43e06e995048dc3cd555637a1 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 20 Jul 2017 09:08:47 -0700 Subject: [PATCH 013/180] Swap some more types --- src/core/lib/backoff/backoff.c | 7 ++++--- src/core/lib/backoff/backoff.h | 13 +++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/core/lib/backoff/backoff.c b/src/core/lib/backoff/backoff.c index 141b952134f..e964af8f397 100644 --- a/src/core/lib/backoff/backoff.c +++ b/src/core/lib/backoff/backoff.c @@ -20,9 +20,10 @@ #include -void grpc_backoff_init(grpc_backoff *backoff, int64_t initial_connect_timeout, - double multiplier, double jitter, - int64_t min_timeout_millis, int64_t max_timeout_millis) { +void grpc_backoff_init(grpc_backoff *backoff, + grpc_millis initial_connect_timeout, double multiplier, + double jitter, grpc_millis min_timeout_millis, + grpc_millis max_timeout_millis) { backoff->initial_connect_timeout = initial_connect_timeout; backoff->multiplier = multiplier; backoff->jitter = jitter; diff --git a/src/core/lib/backoff/backoff.h b/src/core/lib/backoff/backoff.h index de708e686ed..c0798bbe5b0 100644 --- a/src/core/lib/backoff/backoff.h +++ b/src/core/lib/backoff/backoff.h @@ -23,15 +23,15 @@ typedef struct { /// const: how long to wait after the first failure before retrying - int64_t initial_connect_timeout; + grpc_millis initial_connect_timeout; /// const: factor with which to multiply backoff after a failed retry double multiplier; /// const: amount to randomize backoffs double jitter; /// const: minimum time between retries in milliseconds - int64_t min_timeout_millis; + grpc_millis min_timeout_millis; /// const: maximum time between retries in milliseconds - int64_t max_timeout_millis; + grpc_millis max_timeout_millis; /// random number generator uint32_t rng_state; @@ -41,9 +41,10 @@ typedef struct { } grpc_backoff; /// Initialize backoff machinery - does not need to be destroyed -void grpc_backoff_init(grpc_backoff *backoff, int64_t initial_connect_timeout, - double multiplier, double jitter, - int64_t min_timeout_millis, int64_t max_timeout_millis); +void grpc_backoff_init(grpc_backoff *backoff, + grpc_millis initial_connect_timeout, double multiplier, + double jitter, grpc_millis min_timeout_millis, + grpc_millis max_timeout_millis); /// Begin retry loop: returns a timespec for the NEXT retry grpc_millis grpc_backoff_begin(grpc_exec_ctx *exec_ctx, grpc_backoff *backoff); From d8df87b6d29c5b240f0ee19da11e2c60fcdaaa24 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 20 Jul 2017 09:12:30 -0700 Subject: [PATCH 014/180] Avoid infinite loop --- src/core/lib/iomgr/timer_manager.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/lib/iomgr/timer_manager.c b/src/core/lib/iomgr/timer_manager.c index cd2a3a8c784..3d056ad18f7 100644 --- a/src/core/lib/iomgr/timer_manager.c +++ b/src/core/lib/iomgr/timer_manager.c @@ -189,6 +189,7 @@ static bool wait_until(grpc_exec_ctx *exec_ctx, grpc_millis next) { gpr_cv_wait(&g_cv_wait, &g_mu, grpc_millis_to_timespec(next, GPR_CLOCK_REALTIME)); + grpc_exec_ctx_invalidate_now(exec_ctx); if (GRPC_TRACER_ON(grpc_timer_check_trace)) { gpr_log(GPR_DEBUG, "wait ended: was_timed:%d kicked:%d", From d3b3037421c2ee74a097e48a25e110c240ed8d33 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 20 Jul 2017 10:05:54 -0700 Subject: [PATCH 015/180] Add fix for casting bug --- src/core/lib/iomgr/timer_generic.c | 15 +++++++++++---- src/core/lib/iomgr/timer_manager.c | 5 ++++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/core/lib/iomgr/timer_generic.c b/src/core/lib/iomgr/timer_generic.c index 3446e11a95e..5fa35d97873 100644 --- a/src/core/lib/iomgr/timer_generic.c +++ b/src/core/lib/iomgr/timer_generic.c @@ -35,7 +35,7 @@ #define INVALID_HEAP_INDEX 0xffffffffu -#define LOG2_NUM_SHARDS 5 +#define LOG2_NUM_SHARDS 0 #define NUM_SHARDS (1 << LOG2_NUM_SHARDS) #define ADD_DEADLINE_SCALE 0.33 #define MIN_QUEUE_WINDOW_DURATION 0.01 @@ -199,6 +199,7 @@ void grpc_timer_init(grpc_exec_ctx *exec_ctx, grpc_timer *timer, int is_first_timer = 0; timer_shard *shard = &g_shards[GPR_HASH_POINTER(timer, NUM_SHARDS)]; timer->closure = closure; + timer->deadline = deadline; if (GRPC_TRACER_ON(grpc_timer_trace)) { gpr_log(GPR_DEBUG, @@ -362,8 +363,9 @@ static grpc_timer *pop_one(timer_shard *shard, gpr_atm now) { } if (timer->deadline > now) return NULL; if (GRPC_TRACER_ON(grpc_timer_trace)) { - gpr_log(GPR_DEBUG, "TIMER %p: FIRE %" PRIdPTR "ms late", timer, - now - timer->deadline); + gpr_log(GPR_DEBUG, "TIMER %p: FIRE %" PRIdPTR "ms late via %s scheduler", + timer, now - timer->deadline, + timer->closure->scheduler->vtable->name); } timer->pending = false; grpc_timer_heap_pop(&shard->heap); @@ -384,6 +386,10 @@ static size_t pop_timers(grpc_exec_ctx *exec_ctx, timer_shard *shard, } *new_min_deadline = compute_min_deadline(shard); gpr_mu_unlock(&shard->mu); + if (GRPC_TRACER_ON(grpc_timer_check_trace)) { + gpr_log(GPR_DEBUG, " .. shard[%d] popped %" PRIdPTR, + (int)(shard - g_shards), n); + } return n; } @@ -495,7 +501,8 @@ grpc_timer_check_result grpc_timer_check(grpc_exec_ctx *exec_ctx, gpr_free(next_str); } // actual code - bool r = run_some_expired_timers(exec_ctx, now, next, shutdown_error); + grpc_timer_check_result r = + run_some_expired_timers(exec_ctx, now, next, shutdown_error); // tracing if (GRPC_TRACER_ON(grpc_timer_check_trace)) { char *next_str; diff --git a/src/core/lib/iomgr/timer_manager.c b/src/core/lib/iomgr/timer_manager.c index 3d056ad18f7..6232172acae 100644 --- a/src/core/lib/iomgr/timer_manager.c +++ b/src/core/lib/iomgr/timer_manager.c @@ -120,6 +120,9 @@ static void run_some_timers(grpc_exec_ctx *exec_ctx) { gpr_mu_unlock(&g_mu); } // without our lock, flush the exec_ctx + if (GRPC_TRACER_ON(grpc_timer_check_trace)) { + gpr_log(GPR_DEBUG, "flush exec_ctx"); + } grpc_exec_ctx_flush(exec_ctx); gpr_mu_lock(&g_mu); // garbage collect any threads hanging out that are dead @@ -189,7 +192,6 @@ static bool wait_until(grpc_exec_ctx *exec_ctx, grpc_millis next) { gpr_cv_wait(&g_cv_wait, &g_mu, grpc_millis_to_timespec(next, GPR_CLOCK_REALTIME)); - grpc_exec_ctx_invalidate_now(exec_ctx); if (GRPC_TRACER_ON(grpc_timer_check_trace)) { gpr_log(GPR_DEBUG, "wait ended: was_timed:%d kicked:%d", @@ -219,6 +221,7 @@ static bool wait_until(grpc_exec_ctx *exec_ctx, grpc_millis next) { static void timer_main_loop(grpc_exec_ctx *exec_ctx) { for (;;) { grpc_millis next = GRPC_MILLIS_INF_FUTURE; + grpc_exec_ctx_invalidate_now(exec_ctx); // check timer state, updates next to the next time to run a check switch (grpc_timer_check(exec_ctx, &next)) { case GRPC_TIMERS_FIRED: From e0a90891db955f88cd3c8259255656d73c537725 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 20 Jul 2017 10:19:42 -0700 Subject: [PATCH 016/180] Fix shard count --- src/core/lib/iomgr/timer_generic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/lib/iomgr/timer_generic.c b/src/core/lib/iomgr/timer_generic.c index 5fa35d97873..8ed03620419 100644 --- a/src/core/lib/iomgr/timer_generic.c +++ b/src/core/lib/iomgr/timer_generic.c @@ -35,7 +35,7 @@ #define INVALID_HEAP_INDEX 0xffffffffu -#define LOG2_NUM_SHARDS 0 +#define LOG2_NUM_SHARDS 5 #define NUM_SHARDS (1 << LOG2_NUM_SHARDS) #define ADD_DEADLINE_SCALE 0.33 #define MIN_QUEUE_WINDOW_DURATION 0.01 From 07e81dd900e3040d7c12b30ce43e7f93b8cbb2b6 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 20 Jul 2017 13:55:58 -0700 Subject: [PATCH 017/180] Fix bad test --- .../chttp2/transport/chttp2_transport.c | 24 +++++++++++-------- test/core/end2end/tests/bad_ping.c | 17 ++++++------- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index 658d2d1e7b2..9e0253e4ade 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -1563,16 +1563,20 @@ static void send_goaway(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, void grpc_chttp2_add_ping_strike(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t) { - gpr_log(GPR_DEBUG, "PING strike"); - if (++t->ping_recv_state.ping_strikes > t->ping_policy.max_ping_strikes && - t->ping_policy.max_ping_strikes != 0) { - send_goaway(exec_ctx, t, - grpc_error_set_int( - GRPC_ERROR_CREATE_FROM_STATIC_STRING("too_many_pings"), - GRPC_ERROR_INT_HTTP2_ERROR, GRPC_HTTP2_ENHANCE_YOUR_CALM)); - /*The transport will be closed after the write is done */ - close_transport_locked( - exec_ctx, t, GRPC_ERROR_CREATE_FROM_STATIC_STRING("Too many pings")); + t->ping_recv_state.ping_strikes++; + if (t->ping_policy.max_ping_strikes != 0) { + gpr_log(GPR_DEBUG, "%s: PING strike %d/%d", t->peer_string, + t->ping_recv_state.ping_strikes, t->ping_policy.max_ping_strikes); + if (t->ping_recv_state.ping_strikes > t->ping_policy.max_ping_strikes) { + send_goaway( + exec_ctx, t, + grpc_error_set_int( + GRPC_ERROR_CREATE_FROM_STATIC_STRING("too_many_pings"), + GRPC_ERROR_INT_HTTP2_ERROR, GRPC_HTTP2_ENHANCE_YOUR_CALM)); + /*The transport will be closed after the write is done */ + close_transport_locked( + exec_ctx, t, GRPC_ERROR_CREATE_FROM_STATIC_STRING("Too many pings")); + } } } diff --git a/test/core/end2end/tests/bad_ping.c b/test/core/end2end/tests/bad_ping.c index 12aceda6881..49810561922 100644 --- a/test/core/end2end/tests/bad_ping.c +++ b/test/core/end2end/tests/bad_ping.c @@ -154,14 +154,16 @@ static void test_bad_ping(grpc_end2end_test_config config) { cq_verify(cqv); // Send too many pings to the server to trigger the punishment: - // The first ping is sent after data frames, it won't trigger a ping strike. - // Each of the following pings will trigger a ping strike, and we need at - // least (MAX_PING_STRIKES + 1) strikes to trigger the punishment. So - // (MAX_PING_STRIKES + 2) pings are needed here. + // Each ping will trigger a ping strike, and we need at least MAX_PING_STRIKES + // strikes to trigger the punishment. So (MAX_PING_STRIKES + 1) pings are + // needed here. int i; - for (i = 200; i < 202 + MAX_PING_STRIKES; i++) { - grpc_channel_ping(f.client, f.cq, tag(i), NULL); - CQ_EXPECT_COMPLETION(cqv, tag(i), 1); + for (i = 1; i <= MAX_PING_STRIKES + 1; i++) { + grpc_channel_ping(f.client, f.cq, tag(200 + i), NULL); + CQ_EXPECT_COMPLETION(cqv, tag(200 + i), 1); + if (i == MAX_PING_STRIKES + 1) { + CQ_EXPECT_COMPLETION(cqv, tag(1), 1); + } cq_verify(cqv); } @@ -189,7 +191,6 @@ static void test_bad_ping(grpc_end2end_test_config config) { GPR_ASSERT(GRPC_CALL_OK == error); CQ_EXPECT_COMPLETION(cqv, tag(102), 1); - CQ_EXPECT_COMPLETION(cqv, tag(1), 1); cq_verify(cqv); grpc_server_shutdown_and_notify(f.server, f.cq, tag(0xdead)); From 81150aaab467f9ee3f7620c1fe8de0b585f51cc0 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 20 Jul 2017 16:24:03 -0700 Subject: [PATCH 018/180] Fix overflow --- src/core/ext/filters/max_age/max_age_filter.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/core/ext/filters/max_age/max_age_filter.c b/src/core/ext/filters/max_age/max_age_filter.c index 62b28d7cc9a..83e62c0191a 100644 --- a/src/core/ext/filters/max_age/max_age_filter.c +++ b/src/core/ext/filters/max_age/max_age_filter.c @@ -142,9 +142,12 @@ static void start_max_age_grace_timer_after_goaway_op(grpc_exec_ctx* exec_ctx, gpr_mu_lock(&chand->max_age_timer_mu); chand->max_age_grace_timer_pending = true; GRPC_CHANNEL_STACK_REF(chand->channel_stack, "max_age max_age_grace_timer"); - grpc_timer_init(exec_ctx, &chand->max_age_grace_timer, - grpc_exec_ctx_now(exec_ctx) + chand->max_connection_age_grace, - &chand->force_close_max_age_channel); + grpc_timer_init( + exec_ctx, &chand->max_age_grace_timer, + chand->max_connection_age_grace == GRPC_MILLIS_INF_FUTURE + ? GRPC_MILLIS_INF_FUTURE + : grpc_exec_ctx_now(exec_ctx) + chand->max_connection_age_grace, + &chand->force_close_max_age_channel); gpr_mu_unlock(&chand->max_age_timer_mu); GRPC_CHANNEL_STACK_UNREF(exec_ctx, chand->channel_stack, "max_age start_max_age_grace_timer_after_goaway_op"); From 9a8c3f398aed287decf6f8966a46478624f7c4f1 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 21 Jul 2017 13:14:14 -0700 Subject: [PATCH 019/180] Explicitly call out round up vs round down --- .../client_channel/channel_connectivity.c | 3 ++- .../ext/filters/client_channel/client_channel.c | 2 +- src/core/lib/iomgr/exec_ctx.c | 17 ++++++++++++++++- src/core/lib/iomgr/exec_ctx.h | 3 ++- src/core/lib/surface/alarm.c | 4 ++-- src/core/lib/surface/channel.c | 4 ++-- src/core/lib/surface/completion_queue.c | 4 ++-- test/core/http/httpcli_test.c | 3 ++- test/core/http/httpscli_test.c | 3 ++- test/core/iomgr/endpoint_tests.c | 4 ++-- test/core/iomgr/resolve_address_posix_test.c | 3 ++- test/core/iomgr/resolve_address_test.c | 3 ++- test/core/iomgr/tcp_client_posix_test.c | 8 ++++---- test/core/iomgr/tcp_posix_test.c | 10 +++++----- test/core/iomgr/tcp_server_posix_test.c | 2 +- test/core/iomgr/udp_server_test.c | 3 ++- test/core/util/test_tcp_server.c | 4 ++-- 17 files changed, 51 insertions(+), 29 deletions(-) diff --git a/src/core/ext/filters/client_channel/channel_connectivity.c b/src/core/ext/filters/client_channel/channel_connectivity.c index 72324d7eb1f..0a1d6f32079 100644 --- a/src/core/ext/filters/client_channel/channel_connectivity.c +++ b/src/core/ext/filters/client_channel/channel_connectivity.c @@ -186,7 +186,8 @@ static void watcher_timer_init(grpc_exec_ctx *exec_ctx, void *arg, watcher_timer_init_arg *wa = (watcher_timer_init_arg *)arg; grpc_timer_init(exec_ctx, &wa->w->alarm, - grpc_timespec_to_millis(wa->deadline), &wa->w->on_timeout); + grpc_timespec_to_millis_round_up(wa->deadline), + &wa->w->on_timeout); gpr_free(wa); } diff --git a/src/core/ext/filters/client_channel/client_channel.c b/src/core/ext/filters/client_channel/client_channel.c index 508c473c6ac..47bbd8416e5 100644 --- a/src/core/ext/filters/client_channel/client_channel.c +++ b/src/core/ext/filters/client_channel/client_channel.c @@ -956,7 +956,7 @@ static void apply_service_config_to_call_locked(grpc_exec_ctx *exec_ctx, if (chand->deadline_checking_enabled && calld->method_params->timeout != 0) { const grpc_millis per_method_deadline = - grpc_timespec_to_millis(calld->call_start_time) + + grpc_timespec_to_millis_round_up(calld->call_start_time) + calld->method_params->timeout; if (per_method_deadline < calld->deadline) { calld->deadline = per_method_deadline; diff --git a/src/core/lib/iomgr/exec_ctx.c b/src/core/lib/iomgr/exec_ctx.c index 80aaaee0cb6..884227b928b 100644 --- a/src/core/lib/iomgr/exec_ctx.c +++ b/src/core/lib/iomgr/exec_ctx.c @@ -125,6 +125,16 @@ static gpr_atm timespec_to_atm_round_down(gpr_timespec ts) { return (gpr_atm)x; } +static gpr_atm timespec_to_atm_round_up(gpr_timespec ts) { + ts = gpr_time_sub(ts, g_start_time); + double x = GPR_MS_PER_SEC * (double)ts.tv_sec + + (double)ts.tv_nsec / GPR_NS_PER_MS + + (double)(GPR_NS_PER_SEC - 1) / (double)GPR_NS_PER_SEC; + if (x < 0) return 0; + if (x > GPR_ATM_MAX) return GPR_ATM_MAX; + return (gpr_atm)x; +} + grpc_millis grpc_exec_ctx_now(grpc_exec_ctx *exec_ctx) { if (!exec_ctx->now_is_valid) { exec_ctx->now = timespec_to_atm_round_down(gpr_now(GPR_CLOCK_MONOTONIC)); @@ -143,11 +153,16 @@ gpr_timespec grpc_millis_to_timespec(grpc_millis millis, gpr_time_from_millis(millis, GPR_TIMESPAN)); } -grpc_millis grpc_timespec_to_millis(gpr_timespec ts) { +grpc_millis grpc_timespec_to_millis_round_down(gpr_timespec ts) { return timespec_to_atm_round_down( gpr_convert_clock_type(ts, g_start_time.clock_type)); } +grpc_millis grpc_timespec_to_millis_round_up(gpr_timespec ts) { + return timespec_to_atm_round_up( + gpr_convert_clock_type(ts, g_start_time.clock_type)); +} + static const grpc_closure_scheduler_vtable exec_ctx_scheduler_vtable = { exec_ctx_run, exec_ctx_sched, "exec_ctx"}; static grpc_closure_scheduler exec_ctx_scheduler = {&exec_ctx_scheduler_vtable}; diff --git a/src/core/lib/iomgr/exec_ctx.h b/src/core/lib/iomgr/exec_ctx.h index 87383809f3d..bb561ee1c88 100644 --- a/src/core/lib/iomgr/exec_ctx.h +++ b/src/core/lib/iomgr/exec_ctx.h @@ -114,6 +114,7 @@ void grpc_exec_ctx_global_shutdown(void); grpc_millis grpc_exec_ctx_now(grpc_exec_ctx *exec_ctx); void grpc_exec_ctx_invalidate_now(grpc_exec_ctx *exec_ctx); gpr_timespec grpc_millis_to_timespec(grpc_millis millis, gpr_clock_type clock); -grpc_millis grpc_timespec_to_millis(gpr_timespec timespec); +grpc_millis grpc_timespec_to_millis_round_down(gpr_timespec timespec); +grpc_millis grpc_timespec_to_millis_round_up(gpr_timespec timespec); #endif /* GRPC_CORE_LIB_IOMGR_EXEC_CTX_H */ diff --git a/src/core/lib/surface/alarm.c b/src/core/lib/surface/alarm.c index 5140780bacc..39b9f45d057 100644 --- a/src/core/lib/surface/alarm.c +++ b/src/core/lib/surface/alarm.c @@ -52,8 +52,8 @@ grpc_alarm *grpc_alarm_create(grpc_completion_queue *cq, gpr_timespec deadline, grpc_cq_begin_op(cq, tag); GRPC_CLOSURE_INIT(&alarm->on_alarm, alarm_cb, alarm, grpc_schedule_on_exec_ctx); - grpc_timer_init(&exec_ctx, &alarm->alarm, grpc_timespec_to_millis(deadline), - &alarm->on_alarm); + grpc_timer_init(&exec_ctx, &alarm->alarm, + grpc_timespec_to_millis_round_up(deadline), &alarm->on_alarm); grpc_exec_ctx_finish(&exec_ctx); return alarm; } diff --git a/src/core/lib/surface/channel.c b/src/core/lib/surface/channel.c index b0ff428393f..9013e6338b8 100644 --- a/src/core/lib/surface/channel.c +++ b/src/core/lib/surface/channel.c @@ -276,7 +276,7 @@ grpc_call *grpc_channel_create_call(grpc_channel *channel, host != NULL ? grpc_mdelem_from_slices(&exec_ctx, GRPC_MDSTR_AUTHORITY, grpc_slice_ref_internal(*host)) : GRPC_MDNULL, - grpc_timespec_to_millis(deadline)); + grpc_timespec_to_millis_round_up(deadline)); grpc_exec_ctx_finish(&exec_ctx); return call; } @@ -341,7 +341,7 @@ grpc_call *grpc_channel_create_registered_call( grpc_call *call = grpc_channel_create_call_internal( &exec_ctx, channel, parent_call, propagation_mask, completion_queue, NULL, GRPC_MDELEM_REF(rc->path), GRPC_MDELEM_REF(rc->authority), - grpc_timespec_to_millis(deadline)); + grpc_timespec_to_millis_round_up(deadline)); grpc_exec_ctx_finish(&exec_ctx); return call; } diff --git a/src/core/lib/surface/completion_queue.c b/src/core/lib/surface/completion_queue.c index f3a89772411..25f8ff6b6a8 100644 --- a/src/core/lib/surface/completion_queue.c +++ b/src/core/lib/surface/completion_queue.c @@ -815,7 +815,7 @@ static grpc_event cq_next(grpc_completion_queue *cq, gpr_timespec deadline, GRPC_CQ_INTERNAL_REF(cq, "next"); - grpc_millis deadline_millis = grpc_timespec_to_millis(deadline); + grpc_millis deadline_millis = grpc_timespec_to_millis_round_up(deadline); cq_is_finished_arg is_finished_arg = { .last_seen_things_queued_ever = gpr_atm_no_barrier_load(&cqd->things_queued_ever), @@ -1048,7 +1048,7 @@ static grpc_event cq_pluck(grpc_completion_queue *cq, void *tag, GRPC_CQ_INTERNAL_REF(cq, "pluck"); gpr_mu_lock(cq->mu); - grpc_millis deadline_millis = grpc_timespec_to_millis(deadline); + grpc_millis deadline_millis = grpc_timespec_to_millis_round_up(deadline); cq_is_finished_arg is_finished_arg = { .last_seen_things_queued_ever = gpr_atm_no_barrier_load(&cqd->things_queued_ever), diff --git a/test/core/http/httpcli_test.c b/test/core/http/httpcli_test.c index ea63cd1df83..3634932ef17 100644 --- a/test/core/http/httpcli_test.c +++ b/test/core/http/httpcli_test.c @@ -36,7 +36,8 @@ static gpr_mu *g_mu; static grpc_polling_entity g_pops; static grpc_millis n_seconds_time(int seconds) { - return grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(seconds)); + return grpc_timespec_to_millis_round_up( + grpc_timeout_seconds_to_deadline(seconds)); } static void on_finish(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { diff --git a/test/core/http/httpscli_test.c b/test/core/http/httpscli_test.c index 6d575d683d2..d03dcdf7795 100644 --- a/test/core/http/httpscli_test.c +++ b/test/core/http/httpscli_test.c @@ -36,7 +36,8 @@ static gpr_mu *g_mu; static grpc_polling_entity g_pops; static grpc_millis n_seconds_time(int seconds) { - return grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(seconds)); + return grpc_timespec_to_millis_round_up( + grpc_timeout_seconds_to_deadline(seconds)); } static void on_finish(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { diff --git a/test/core/iomgr/endpoint_tests.c b/test/core/iomgr/endpoint_tests.c index e80dce01cf4..684858088fa 100644 --- a/test/core/iomgr/endpoint_tests.c +++ b/test/core/iomgr/endpoint_tests.c @@ -176,7 +176,7 @@ static void read_and_write_test(grpc_endpoint_test_config config, begin_test(config, "read_and_write_test", slice_size); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_millis deadline = - grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(20)); + grpc_timespec_to_millis_round_up(grpc_timeout_seconds_to_deadline(20)); gpr_log(GPR_DEBUG, "num_bytes=%" PRIuPTR " write_size=%" PRIuPTR " slice_size=%" PRIuPTR " shutdown=%d", num_bytes, write_size, slice_size, shutdown); @@ -261,7 +261,7 @@ static void wait_for_fail_count(grpc_exec_ctx *exec_ctx, int *fail_count, grpc_exec_ctx_flush(exec_ctx); gpr_mu_lock(g_mu); grpc_millis deadline = - grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(10)); + grpc_timespec_to_millis_round_up(grpc_timeout_seconds_to_deadline(10)); while (grpc_exec_ctx_now(exec_ctx) < deadline && *fail_count < want_fail_count) { grpc_pollset_worker *worker = NULL; diff --git a/test/core/iomgr/resolve_address_posix_test.c b/test/core/iomgr/resolve_address_posix_test.c index d9d200d2c4c..0a18ec75088 100644 --- a/test/core/iomgr/resolve_address_posix_test.c +++ b/test/core/iomgr/resolve_address_posix_test.c @@ -71,7 +71,8 @@ void args_finish(grpc_exec_ctx *exec_ctx, args_struct *args) { } static grpc_millis n_sec_deadline(int seconds) { - return grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(seconds)); + return grpc_timespec_to_millis_round_up( + grpc_timeout_seconds_to_deadline(seconds)); } static void actually_poll(void *argsp) { diff --git a/test/core/iomgr/resolve_address_test.c b/test/core/iomgr/resolve_address_test.c index c6c53be5ca7..d475b552b0f 100644 --- a/test/core/iomgr/resolve_address_test.c +++ b/test/core/iomgr/resolve_address_test.c @@ -68,7 +68,8 @@ void args_finish(grpc_exec_ctx *exec_ctx, args_struct *args) { } static grpc_millis n_sec_deadline(int seconds) { - return grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(seconds)); + return grpc_timespec_to_millis_round_up( + grpc_timeout_seconds_to_deadline(seconds)); } static void poll_pollset_until_request_done(args_struct *args) { diff --git a/test/core/iomgr/tcp_client_posix_test.c b/test/core/iomgr/tcp_client_posix_test.c index 69dc82f45e1..3cae13ba081 100644 --- a/test/core/iomgr/tcp_client_posix_test.c +++ b/test/core/iomgr/tcp_client_posix_test.c @@ -47,7 +47,7 @@ static int g_connections_complete = 0; static grpc_endpoint *g_connecting = NULL; static grpc_millis test_deadline(void) { - return grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(10)); + return grpc_timespec_to_millis_round_up(grpc_timeout_seconds_to_deadline(10)); } static void finish_connection() { @@ -124,9 +124,9 @@ void test_succeeds(void) { grpc_pollset_worker *worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", - grpc_pollset_work( - &exec_ctx, g_pollset, &worker, - grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(5))))); + grpc_pollset_work(&exec_ctx, g_pollset, &worker, + grpc_timespec_to_millis_round_up( + grpc_timeout_seconds_to_deadline(5))))); gpr_mu_unlock(g_mu); grpc_exec_ctx_flush(&exec_ctx); gpr_mu_lock(g_mu); diff --git a/test/core/iomgr/tcp_posix_test.c b/test/core/iomgr/tcp_posix_test.c index aa55b717255..03b707c2471 100644 --- a/test/core/iomgr/tcp_posix_test.c +++ b/test/core/iomgr/tcp_posix_test.c @@ -162,7 +162,7 @@ static void read_test(size_t num_bytes, size_t slice_size) { struct read_socket_state state; size_t written_bytes; grpc_millis deadline = - grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(20)); + grpc_timespec_to_millis_round_up(grpc_timeout_seconds_to_deadline(20)); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; gpr_log(GPR_INFO, "Read test of size %" PRIuPTR ", slice size %" PRIuPTR, @@ -215,7 +215,7 @@ static void large_read_test(size_t slice_size) { struct read_socket_state state; ssize_t written_bytes; grpc_millis deadline = - grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(20)); + grpc_timespec_to_millis_round_up(grpc_timeout_seconds_to_deadline(20)); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; gpr_log(GPR_INFO, "Start large read test, slice size %" PRIuPTR, slice_size); @@ -318,7 +318,7 @@ void drain_socket_blocking(int fd, size_t num_bytes, size_t read_size) { GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, g_pollset, &worker, - grpc_timespec_to_millis( + grpc_timespec_to_millis_round_up( grpc_timeout_milliseconds_to_deadline(10))))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(&exec_ctx); @@ -353,7 +353,7 @@ static void write_test(size_t num_bytes, size_t slice_size) { grpc_slice_buffer outgoing; grpc_closure write_done_closure; grpc_millis deadline = - grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(20)); + grpc_timespec_to_millis_round_up(grpc_timeout_seconds_to_deadline(20)); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; gpr_log(GPR_INFO, @@ -419,7 +419,7 @@ static void release_fd_test(size_t num_bytes, size_t slice_size) { size_t written_bytes; int fd; grpc_millis deadline = - grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(20)); + grpc_timespec_to_millis_round_up(grpc_timeout_seconds_to_deadline(20)); grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_closure fd_released_cb; int fd_released_done = 0; diff --git a/test/core/iomgr/tcp_server_posix_test.c b/test/core/iomgr/tcp_server_posix_test.c index 13ff92cb5be..0cde2d0e729 100644 --- a/test/core/iomgr/tcp_server_posix_test.c +++ b/test/core/iomgr/tcp_server_posix_test.c @@ -231,7 +231,7 @@ static void test_no_op_with_port_and_start(void) { static grpc_error *tcp_connect(grpc_exec_ctx *exec_ctx, const test_addr *remote, on_connect_result *result) { grpc_millis deadline = - grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(10)); + grpc_timespec_to_millis_round_up(grpc_timeout_seconds_to_deadline(10)); int clifd; int nconnects_before; const struct sockaddr *remote_addr = diff --git a/test/core/iomgr/udp_server_test.c b/test/core/iomgr/udp_server_test.c index 2f6f5034434..5977da3d448 100644 --- a/test/core/iomgr/udp_server_test.c +++ b/test/core/iomgr/udp_server_test.c @@ -252,7 +252,8 @@ static void test_receive(int number_of_clients) { gpr_mu_lock(g_mu); for (i = 0; i < number_of_clients; i++) { - deadline = grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(10)); + deadline = + grpc_timespec_to_millis_round_up(grpc_timeout_seconds_to_deadline(10)); number_of_reads_before = g_number_of_reads; /* Create a socket, send a packet to the UDP server. */ diff --git a/test/core/util/test_tcp_server.c b/test/core/util/test_tcp_server.c index ce05833aa9a..611ecb330c1 100644 --- a/test/core/util/test_tcp_server.c +++ b/test/core/util/test_tcp_server.c @@ -80,8 +80,8 @@ void test_tcp_server_start(test_tcp_server *server, int port) { void test_tcp_server_poll(test_tcp_server *server, int seconds) { grpc_pollset_worker *worker = NULL; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - grpc_millis deadline = - grpc_timespec_to_millis(grpc_timeout_seconds_to_deadline(seconds)); + grpc_millis deadline = grpc_timespec_to_millis_round_up( + grpc_timeout_seconds_to_deadline(seconds)); gpr_mu_lock(server->mu); GRPC_LOG_IF_ERROR( "pollset_work", From 1af596adab6d17be1ba3afb2b279a123d2bbf11d Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 21 Jul 2017 14:22:58 -0700 Subject: [PATCH 020/180] fix --- test/core/iomgr/pollset_set_test.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/test/core/iomgr/pollset_set_test.c b/test/core/iomgr/pollset_set_test.c index 09067998043..84931f63171 100644 --- a/test/core/iomgr/pollset_set_test.c +++ b/test/core/iomgr/pollset_set_test.c @@ -255,8 +255,8 @@ static void pollset_set_test_basic() { make_test_fds_readable(tfds, num_fds); gpr_mu_lock(pollsets[i].mu); - deadline = - grpc_timespec_to_millis(grpc_timeout_milliseconds_to_deadline(2)); + deadline = grpc_timespec_to_millis_round_up( + grpc_timeout_milliseconds_to_deadline(2)); GPR_ASSERT(GRPC_ERROR_NONE == grpc_pollset_work(&exec_ctx, pollsets[i].ps, &worker, deadline)); gpr_mu_unlock(pollsets[i].mu); @@ -337,7 +337,8 @@ void pollset_set_test_dup_fds() { make_test_fds_readable(tfds, num_fds); gpr_mu_lock(pollset.mu); - deadline = grpc_timespec_to_millis(grpc_timeout_milliseconds_to_deadline(2)); + deadline = grpc_timespec_to_millis_round_up( + grpc_timeout_milliseconds_to_deadline(2)); GPR_ASSERT(GRPC_ERROR_NONE == grpc_pollset_work(&exec_ctx, pollset.ps, &worker, deadline)); gpr_mu_unlock(pollset.mu); @@ -405,7 +406,8 @@ void pollset_set_test_empty_pollset() { make_test_fds_readable(tfds, num_fds); gpr_mu_lock(pollsets[0].mu); - deadline = grpc_timespec_to_millis(grpc_timeout_milliseconds_to_deadline(2)); + deadline = grpc_timespec_to_millis_round_up( + grpc_timeout_milliseconds_to_deadline(2)); GPR_ASSERT(GRPC_ERROR_NONE == grpc_pollset_work(&exec_ctx, pollsets[0].ps, &worker, deadline)); gpr_mu_unlock(pollsets[0].mu); From 2014a37a5c77f0f878b885c922443fe67889bc78 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 21 Jul 2017 15:36:11 -0700 Subject: [PATCH 021/180] Fix projects --- BUILD | 4 ++-- CMakeLists.txt | 6 +++++- Makefile | 6 +++++- binding.gyp | 2 +- build.yaml | 6 +++--- config.m4 | 2 +- config.w32 | 2 +- gRPC-Core.podspec | 10 +++++----- grpc.gemspec | 6 +++--- package.xml | 6 +++--- src/python/grpcio/grpc_core_dependencies.py | 2 +- tools/doxygen/Doxyfile.core.internal | 2 +- tools/run_tests/generated/sources_and_headers.json | 10 +++++----- vsprojects/vcxproj/gpr/gpr.vcxproj | 5 +---- vsprojects/vcxproj/gpr/gpr.vcxproj.filters | 14 ++++---------- vsprojects/vcxproj/grpc/grpc.vcxproj | 3 +++ vsprojects/vcxproj/grpc/grpc.vcxproj.filters | 9 +++++++++ .../vcxproj/grpc_test_util/grpc_test_util.vcxproj | 3 +++ .../grpc_test_util/grpc_test_util.vcxproj.filters | 9 +++++++++ .../vcxproj/grpc_unsecure/grpc_unsecure.vcxproj | 3 +++ .../grpc_unsecure/grpc_unsecure.vcxproj.filters | 9 +++++++++ 21 files changed, 77 insertions(+), 42 deletions(-) diff --git a/BUILD b/BUILD index d1624ab13c0..e8d361fcb6f 100644 --- a/BUILD +++ b/BUILD @@ -465,7 +465,6 @@ grpc_cc_library( "src/core/lib/support/arena.c", "src/core/lib/support/atm.c", "src/core/lib/support/avl.c", - "src/core/lib/backoff/backoff.c", "src/core/lib/support/cmdline.c", "src/core/lib/support/cpu_iphone.c", "src/core/lib/support/cpu_linux.c", @@ -512,7 +511,6 @@ grpc_cc_library( "src/core/lib/support/atomic.h", "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", - "src/core/lib/backoff/backoff.h", "src/core/lib/iomgr/block_annotate.h", "src/core/lib/support/env.h", "src/core/lib/support/memory.h", @@ -686,6 +684,7 @@ grpc_cc_library( "src/core/lib/transport/timeout_encoding.c", "src/core/lib/transport/transport.c", "src/core/lib/transport/transport_op_string.c", + "src/core/lib/backoff/backoff.c", ], hdrs = [ "src/core/lib/channel/channel_args.h", @@ -799,6 +798,7 @@ grpc_cc_library( "src/core/lib/transport/timeout_encoding.h", "src/core/lib/transport/transport.h", "src/core/lib/transport/transport_impl.h", + "src/core/lib/backoff/backoff.h", ], external_deps = [ "zlib", diff --git a/CMakeLists.txt b/CMakeLists.txt index 817a1e4da9b..893c3669c0e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -770,7 +770,6 @@ endif (gRPC_BUILD_TESTS) add_library(gpr - src/core/lib/backoff/backoff.c src/core/lib/profiling/basic_timers.c src/core/lib/profiling/stap_timers.c src/core/lib/support/alloc.c @@ -947,6 +946,7 @@ endif (gRPC_BUILD_TESTS) add_library(grpc src/core/lib/surface/init.c + src/core/lib/backoff/backoff.c src/core/lib/channel/channel_args.c src/core/lib/channel/channel_stack.c src/core/lib/channel/channel_stack_builder.c @@ -1290,6 +1290,7 @@ endif() add_library(grpc_cronet src/core/lib/surface/init.c + src/core/lib/backoff/backoff.c src/core/lib/channel/channel_args.c src/core/lib/channel/channel_stack.c src/core/lib/channel/channel_stack_builder.c @@ -1611,6 +1612,7 @@ add_library(grpc_test_util test/core/util/port_server_client.c test/core/util/slice_splitter.c test/core/util/trickle_endpoint.c + src/core/lib/backoff/backoff.c src/core/lib/channel/channel_args.c src/core/lib/channel/channel_stack.c src/core/lib/channel/channel_stack_builder.c @@ -1874,6 +1876,7 @@ endif (gRPC_BUILD_TESTS) add_library(grpc_unsecure src/core/lib/surface/init.c src/core/lib/surface/init_unsecure.c + src/core/lib/backoff/backoff.c src/core/lib/channel/channel_args.c src/core/lib/channel/channel_stack.c src/core/lib/channel/channel_stack_builder.c @@ -2533,6 +2536,7 @@ add_library(grpc++_cronet src/core/ext/transport/chttp2/transport/stream_map.c src/core/ext/transport/chttp2/transport/varint.c src/core/ext/transport/chttp2/transport/writing.c + src/core/lib/backoff/backoff.c src/core/lib/channel/channel_args.c src/core/lib/channel/channel_stack.c src/core/lib/channel/channel_stack_builder.c diff --git a/Makefile b/Makefile index bdffe1e4919..39f4ff92de5 100644 --- a/Makefile +++ b/Makefile @@ -2741,7 +2741,6 @@ clean: LIBGPR_SRC = \ - src/core/lib/backoff/backoff.c \ src/core/lib/profiling/basic_timers.c \ src/core/lib/profiling/stap_timers.c \ src/core/lib/support/alloc.c \ @@ -2891,6 +2890,7 @@ endif LIBGRPC_SRC = \ src/core/lib/surface/init.c \ + src/core/lib/backoff/backoff.c \ src/core/lib/channel/channel_args.c \ src/core/lib/channel/channel_stack.c \ src/core/lib/channel/channel_stack_builder.c \ @@ -3232,6 +3232,7 @@ endif LIBGRPC_CRONET_SRC = \ src/core/lib/surface/init.c \ + src/core/lib/backoff/backoff.c \ src/core/lib/channel/channel_args.c \ src/core/lib/channel/channel_stack.c \ src/core/lib/channel/channel_stack_builder.c \ @@ -3550,6 +3551,7 @@ LIBGRPC_TEST_UTIL_SRC = \ test/core/util/port_server_client.c \ test/core/util/slice_splitter.c \ test/core/util/trickle_endpoint.c \ + src/core/lib/backoff/backoff.c \ src/core/lib/channel/channel_args.c \ src/core/lib/channel/channel_stack.c \ src/core/lib/channel/channel_stack_builder.c \ @@ -3785,6 +3787,7 @@ endif LIBGRPC_UNSECURE_SRC = \ src/core/lib/surface/init.c \ src/core/lib/surface/init_unsecure.c \ + src/core/lib/backoff/backoff.c \ src/core/lib/channel/channel_args.c \ src/core/lib/channel/channel_stack.c \ src/core/lib/channel/channel_stack_builder.c \ @@ -4428,6 +4431,7 @@ LIBGRPC++_CRONET_SRC = \ src/core/ext/transport/chttp2/transport/stream_map.c \ src/core/ext/transport/chttp2/transport/varint.c \ src/core/ext/transport/chttp2/transport/writing.c \ + src/core/lib/backoff/backoff.c \ src/core/lib/channel/channel_args.c \ src/core/lib/channel/channel_stack.c \ src/core/lib/channel/channel_stack_builder.c \ diff --git a/binding.gyp b/binding.gyp index 01a5990cca2..13928d74dc1 100644 --- a/binding.gyp +++ b/binding.gyp @@ -579,7 +579,6 @@ 'dependencies': [ ], 'sources': [ - 'src/core/lib/backoff/backoff.c', 'src/core/lib/profiling/basic_timers.c', 'src/core/lib/profiling/stap_timers.c', 'src/core/lib/support/alloc.c', @@ -636,6 +635,7 @@ ], 'sources': [ 'src/core/lib/surface/init.c', + 'src/core/lib/backoff/backoff.c', 'src/core/lib/channel/channel_args.c', 'src/core/lib/channel/channel_stack.c', 'src/core/lib/channel/channel_stack_builder.c', diff --git a/build.yaml b/build.yaml index 4a55ea5dc5b..2f8368d2e42 100644 --- a/build.yaml +++ b/build.yaml @@ -87,13 +87,12 @@ filegroups: - include/grpc/support/tls_pthread.h - include/grpc/support/useful.h headers: - - src/core/lib/backoff/backoff.h + - src/core/lib/iomgr/block_annotate.h - src/core/lib/profiling/timers.h - src/core/lib/support/arena.h - src/core/lib/support/atomic.h - src/core/lib/support/atomic_with_atm.h - src/core/lib/support/atomic_with_std.h - - src/core/lib/iomgr/block_annotate.h - src/core/lib/support/env.h - src/core/lib/support/memory.h - src/core/lib/support/mpscq.h @@ -106,7 +105,6 @@ filegroups: - src/core/lib/support/time_precise.h - src/core/lib/support/tmpfile.h src: - - src/core/lib/backoff/backoff.c - src/core/lib/profiling/basic_timers.c - src/core/lib/profiling/stap_timers.c - src/core/lib/support/alloc.c @@ -181,6 +179,7 @@ filegroups: - include/grpc/status.h - include/grpc/support/workaround_list.h headers: + - src/core/lib/backoff/backoff.h - src/core/lib/channel/channel_args.h - src/core/lib/channel/channel_stack.h - src/core/lib/channel/channel_stack_builder.h @@ -293,6 +292,7 @@ filegroups: - src/core/lib/transport/transport.h - src/core/lib/transport/transport_impl.h src: + - src/core/lib/backoff/backoff.c - src/core/lib/channel/channel_args.c - src/core/lib/channel/channel_stack.c - src/core/lib/channel/channel_stack_builder.c diff --git a/config.m4 b/config.m4 index c2d8bb1d835..3173e98ca00 100644 --- a/config.m4 +++ b/config.m4 @@ -39,7 +39,6 @@ if test "$PHP_GRPC" != "no"; then src/php/ext/grpc/server.c \ src/php/ext/grpc/server_credentials.c \ src/php/ext/grpc/timeval.c \ - src/core/lib/backoff/backoff.c \ src/core/lib/profiling/basic_timers.c \ src/core/lib/profiling/stap_timers.c \ src/core/lib/support/alloc.c \ @@ -86,6 +85,7 @@ if test "$PHP_GRPC" != "no"; then src/core/lib/support/tmpfile_windows.c \ src/core/lib/support/wrap_memcpy.c \ src/core/lib/surface/init.c \ + src/core/lib/backoff/backoff.c \ src/core/lib/channel/channel_args.c \ src/core/lib/channel/channel_stack.c \ src/core/lib/channel/channel_stack_builder.c \ diff --git a/config.w32 b/config.w32 index 4179d9c50fc..e6b30cce25f 100644 --- a/config.w32 +++ b/config.w32 @@ -16,7 +16,6 @@ if (PHP_GRPC != "no") { "src\\php\\ext\\grpc\\server.c " + "src\\php\\ext\\grpc\\server_credentials.c " + "src\\php\\ext\\grpc\\timeval.c " + - "src\\core\\lib\\backoff\\backoff.c " + "src\\core\\lib\\profiling\\basic_timers.c " + "src\\core\\lib\\profiling\\stap_timers.c " + "src\\core\\lib\\support\\alloc.c " + @@ -63,6 +62,7 @@ if (PHP_GRPC != "no") { "src\\core\\lib\\support\\tmpfile_windows.c " + "src\\core\\lib\\support\\wrap_memcpy.c " + "src\\core\\lib\\surface\\init.c " + + "src\\core\\lib\\backoff\\backoff.c " + "src\\core\\lib\\channel\\channel_args.c " + "src\\core\\lib\\channel\\channel_stack.c " + "src\\core\\lib\\channel\\channel_stack_builder.c " + diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 896de2ba836..aaa1ff93ef4 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -180,13 +180,12 @@ Pod::Spec.new do |s| ss.dependency 'nanopb', '~> 0.3' # To save you from scrolling, this is the last part of the podspec. - ss.source_files = 'src/core/lib/backoff/backoff.h', + ss.source_files = 'src/core/lib/iomgr/block_annotate.h', 'src/core/lib/profiling/timers.h', 'src/core/lib/support/arena.h', 'src/core/lib/support/atomic.h', 'src/core/lib/support/atomic_with_atm.h', 'src/core/lib/support/atomic_with_std.h', - 'src/core/lib/iomgr/block_annotate.h', 'src/core/lib/support/env.h', 'src/core/lib/support/memory.h', 'src/core/lib/support/mpscq.h', @@ -198,7 +197,6 @@ Pod::Spec.new do |s| 'src/core/lib/support/thd_internal.h', 'src/core/lib/support/time_precise.h', 'src/core/lib/support/tmpfile.h', - 'src/core/lib/backoff/backoff.c', 'src/core/lib/profiling/basic_timers.c', 'src/core/lib/profiling/stap_timers.c', 'src/core/lib/support/alloc.c', @@ -244,6 +242,7 @@ Pod::Spec.new do |s| 'src/core/lib/support/tmpfile_posix.c', 'src/core/lib/support/tmpfile_windows.c', 'src/core/lib/support/wrap_memcpy.c', + 'src/core/lib/backoff/backoff.h', 'src/core/lib/channel/channel_args.h', 'src/core/lib/channel/channel_stack.h', 'src/core/lib/channel/channel_stack_builder.h', @@ -461,6 +460,7 @@ Pod::Spec.new do |s| 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h', 'src/core/ext/filters/workarounds/workaround_utils.h', 'src/core/lib/surface/init.c', + 'src/core/lib/backoff/backoff.c', 'src/core/lib/channel/channel_args.c', 'src/core/lib/channel/channel_stack.c', 'src/core/lib/channel/channel_stack_builder.c', @@ -711,13 +711,12 @@ Pod::Spec.new do |s| 'src/core/ext/filters/workarounds/workaround_utils.c', 'src/core/plugin_registry/grpc_plugin_registry.c' - ss.private_header_files = 'src/core/lib/backoff/backoff.h', + ss.private_header_files = 'src/core/lib/iomgr/block_annotate.h', 'src/core/lib/profiling/timers.h', 'src/core/lib/support/arena.h', 'src/core/lib/support/atomic.h', 'src/core/lib/support/atomic_with_atm.h', 'src/core/lib/support/atomic_with_std.h', - 'src/core/lib/iomgr/block_annotate.h', 'src/core/lib/support/env.h', 'src/core/lib/support/memory.h', 'src/core/lib/support/mpscq.h', @@ -729,6 +728,7 @@ Pod::Spec.new do |s| 'src/core/lib/support/thd_internal.h', 'src/core/lib/support/time_precise.h', 'src/core/lib/support/tmpfile.h', + 'src/core/lib/backoff/backoff.h', 'src/core/lib/channel/channel_args.h', 'src/core/lib/channel/channel_stack.h', 'src/core/lib/channel/channel_stack_builder.h', diff --git a/grpc.gemspec b/grpc.gemspec index aca802e1860..d4df6a150d0 100755 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -80,13 +80,12 @@ Gem::Specification.new do |s| s.files += %w( include/grpc/impl/codegen/sync_generic.h ) s.files += %w( include/grpc/impl/codegen/sync_posix.h ) s.files += %w( include/grpc/impl/codegen/sync_windows.h ) - s.files += %w( src/core/lib/backoff/backoff.h ) + s.files += %w( src/core/lib/iomgr/block_annotate.h ) s.files += %w( src/core/lib/profiling/timers.h ) s.files += %w( src/core/lib/support/arena.h ) s.files += %w( src/core/lib/support/atomic.h ) s.files += %w( src/core/lib/support/atomic_with_atm.h ) s.files += %w( src/core/lib/support/atomic_with_std.h ) - s.files += %w( src/core/lib/iomgr/block_annotate.h ) s.files += %w( src/core/lib/support/env.h ) s.files += %w( src/core/lib/support/memory.h ) s.files += %w( src/core/lib/support/mpscq.h ) @@ -98,7 +97,6 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/support/thd_internal.h ) s.files += %w( src/core/lib/support/time_precise.h ) s.files += %w( src/core/lib/support/tmpfile.h ) - s.files += %w( src/core/lib/backoff/backoff.c ) s.files += %w( src/core/lib/profiling/basic_timers.c ) s.files += %w( src/core/lib/profiling/stap_timers.c ) s.files += %w( src/core/lib/support/alloc.c ) @@ -176,6 +174,7 @@ Gem::Specification.new do |s| s.files += %w( include/grpc/impl/codegen/sync_windows.h ) s.files += %w( include/grpc/grpc_security.h ) s.files += %w( include/grpc/census.h ) + s.files += %w( src/core/lib/backoff/backoff.h ) s.files += %w( src/core/lib/channel/channel_args.h ) s.files += %w( src/core/lib/channel/channel_stack.h ) s.files += %w( src/core/lib/channel/channel_stack_builder.h ) @@ -397,6 +396,7 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h ) s.files += %w( src/core/ext/filters/workarounds/workaround_utils.h ) s.files += %w( src/core/lib/surface/init.c ) + s.files += %w( src/core/lib/backoff/backoff.c ) s.files += %w( src/core/lib/channel/channel_args.c ) s.files += %w( src/core/lib/channel/channel_stack.c ) s.files += %w( src/core/lib/channel/channel_stack_builder.c ) diff --git a/package.xml b/package.xml index 9c1e76ec165..e0098d2c610 100644 --- a/package.xml +++ b/package.xml @@ -94,13 +94,12 @@ - + - @@ -112,7 +111,6 @@ - @@ -190,6 +188,7 @@ + @@ -411,6 +410,7 @@ + diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index cf006515ee8..6493c09cd7b 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -15,7 +15,6 @@ # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/grpc_core_dependencies.py.template`!!! CORE_SOURCE_FILES = [ - 'src/core/lib/backoff/backoff.c', 'src/core/lib/profiling/basic_timers.c', 'src/core/lib/profiling/stap_timers.c', 'src/core/lib/support/alloc.c', @@ -62,6 +61,7 @@ CORE_SOURCE_FILES = [ 'src/core/lib/support/tmpfile_windows.c', 'src/core/lib/support/wrap_memcpy.c', 'src/core/lib/surface/init.c', + 'src/core/lib/backoff/backoff.c', 'src/core/lib/channel/channel_args.c', 'src/core/lib/channel/channel_stack.c', 'src/core/lib/channel/channel_stack_builder.c', diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 8ea50a94041..6352e507438 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1085,6 +1085,7 @@ src/core/lib/http/httpcli_security_connector.c \ src/core/lib/http/parser.c \ src/core/lib/http/parser.h \ src/core/lib/iomgr/README.md \ +src/core/lib/iomgr/block_annotate.h \ src/core/lib/iomgr/closure.c \ src/core/lib/iomgr/closure.h \ src/core/lib/iomgr/combiner.c \ @@ -1287,7 +1288,6 @@ src/core/lib/support/atomic.h \ src/core/lib/support/atomic_with_atm.h \ src/core/lib/support/atomic_with_std.h \ src/core/lib/support/avl.c \ -src/core/lib/iomgr/block_annotate.h \ src/core/lib/support/cmdline.c \ src/core/lib/support/cpu_iphone.c \ src/core/lib/support/cpu_linux.c \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index 6874493d51d..39cf71e11f9 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -7538,13 +7538,12 @@ "include/grpc/support/tls_msvc.h", "include/grpc/support/tls_pthread.h", "include/grpc/support/useful.h", - "src/core/lib/backoff/backoff.h", + "src/core/lib/iomgr/block_annotate.h", "src/core/lib/profiling/timers.h", "src/core/lib/support/arena.h", "src/core/lib/support/atomic.h", "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", - "src/core/lib/iomgr/block_annotate.h", "src/core/lib/support/env.h", "src/core/lib/support/memory.h", "src/core/lib/support/mpscq.h", @@ -7587,8 +7586,7 @@ "include/grpc/support/tls_msvc.h", "include/grpc/support/tls_pthread.h", "include/grpc/support/useful.h", - "src/core/lib/backoff/backoff.c", - "src/core/lib/backoff/backoff.h", + "src/core/lib/iomgr/block_annotate.h", "src/core/lib/profiling/basic_timers.c", "src/core/lib/profiling/stap_timers.c", "src/core/lib/profiling/timers.h", @@ -7600,7 +7598,6 @@ "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", "src/core/lib/support/avl.c", - "src/core/lib/iomgr/block_annotate.h", "src/core/lib/support/cmdline.c", "src/core/lib/support/cpu_iphone.c", "src/core/lib/support/cpu_linux.c", @@ -7707,6 +7704,7 @@ "include/grpc/slice_buffer.h", "include/grpc/status.h", "include/grpc/support/workaround_list.h", + "src/core/lib/backoff/backoff.h", "src/core/lib/channel/channel_args.h", "src/core/lib/channel/channel_stack.h", "src/core/lib/channel/channel_stack_builder.h", @@ -7834,6 +7832,8 @@ "include/grpc/slice_buffer.h", "include/grpc/status.h", "include/grpc/support/workaround_list.h", + "src/core/lib/backoff/backoff.c", + "src/core/lib/backoff/backoff.h", "src/core/lib/channel/channel_args.c", "src/core/lib/channel/channel_args.h", "src/core/lib/channel/channel_stack.c", diff --git a/vsprojects/vcxproj/gpr/gpr.vcxproj b/vsprojects/vcxproj/gpr/gpr.vcxproj index 2386fddd02a..59b6d5229c7 100644 --- a/vsprojects/vcxproj/gpr/gpr.vcxproj +++ b/vsprojects/vcxproj/gpr/gpr.vcxproj @@ -186,13 +186,12 @@ - + - @@ -206,8 +205,6 @@ - - diff --git a/vsprojects/vcxproj/gpr/gpr.vcxproj.filters b/vsprojects/vcxproj/gpr/gpr.vcxproj.filters index c5fce455f4b..b1c605c4b4d 100644 --- a/vsprojects/vcxproj/gpr/gpr.vcxproj.filters +++ b/vsprojects/vcxproj/gpr/gpr.vcxproj.filters @@ -1,9 +1,6 @@ - - src\core\lib\backoff - src\core\lib\profiling @@ -254,8 +251,8 @@ - - src\core\lib\backoff + + src\core\lib\iomgr src\core\lib\profiling @@ -272,9 +269,6 @@ src\core\lib\support - - src\core\lib\support - src\core\lib\support @@ -335,8 +329,8 @@ {52037bcb-5719-a548-224d-834fbe569045} - - {5a917a34-e4b4-01c0-4565-2be560176bec} + + {05787953-1d14-fd71-51b0-03be31463e6a} {ba38d79d-d5de-a89e-9ca2-c5235a03ca7f} diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj b/vsprojects/vcxproj/grpc/grpc.vcxproj index 57c0ac7bc4e..3d21a67502b 100644 --- a/vsprojects/vcxproj/grpc/grpc.vcxproj +++ b/vsprojects/vcxproj/grpc/grpc.vcxproj @@ -301,6 +301,7 @@ + @@ -525,6 +526,8 @@ + + diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters index e9bb52defa6..db8ca808674 100644 --- a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters +++ b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters @@ -4,6 +4,9 @@ src\core\lib\surface + + src\core\lib\backoff + src\core\lib\channel @@ -860,6 +863,9 @@ + + src\core\lib\backoff + src\core\lib\channel @@ -1664,6 +1670,9 @@ {5b2ded3f-84a5-f6b4-2060-286c7d1dc945} + + {fc07b929-526c-5567-9a7a-adb2a16da6b8} + {1931b044-90f3-cd68-b5f8-23be77ca8efc} diff --git a/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj b/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj index 64bf54e557d..51247b2e514 100644 --- a/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj +++ b/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj @@ -196,6 +196,7 @@ + @@ -350,6 +351,8 @@ + + diff --git a/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj.filters b/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj.filters index 35fd87a4c58..8055456e2ce 100644 --- a/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj.filters +++ b/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj.filters @@ -61,6 +61,9 @@ test\core\util + + src\core\lib\backoff + src\core\lib\channel @@ -584,6 +587,9 @@ test\core\util + + src\core\lib\backoff + src\core\lib\channel @@ -962,6 +968,9 @@ {f4e8c61e-1ca6-0fdd-7b5e-b7f9a30c9a21} + + {2fa7432f-c05f-eafe-2284-b8e7a6ac8313} + {1cd1503c-bec0-5ade-c75f-aa25c80975ec} diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj index 4ed59780a44..4f454bb4659 100644 --- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj +++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj @@ -291,6 +291,7 @@ + @@ -491,6 +492,8 @@ + + diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters index 2c3319beae8..f7fbcad535b 100644 --- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters @@ -7,6 +7,9 @@ src\core\lib\surface + + src\core\lib\backoff + src\core\lib\channel @@ -767,6 +770,9 @@ + + src\core\lib\backoff + src\core\lib\channel @@ -1487,6 +1493,9 @@ {8bd5b461-bff8-6aa8-b5a6-85da2834eb8a} + + {f724061f-f10a-014b-33d7-45b931e3a908} + {fb964f3d-a59c-a7ba-fee5-6072dbb94a7b} From 0f2f4eea4bdc32c7e229feba1d8867d4b6628185 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 29 Aug 2017 14:15:05 -0700 Subject: [PATCH 022/180] revert protobuf change --- third_party/protobuf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/protobuf b/third_party/protobuf index a6189acd18b..80a37e0782d 160000 --- a/third_party/protobuf +++ b/third_party/protobuf @@ -1 +1 @@ -Subproject commit a6189acd18b00611c1dc7042299ad75486f08a1a +Subproject commit 80a37e0782d2d702d52234b62dd4b9ec74fd2c95 From acc4c78dd5c65fc3ad013816924ed88c8936444e Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 1 Sep 2017 10:33:09 -0700 Subject: [PATCH 023/180] Fix merge error --- src/core/lib/iomgr/exec_ctx.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/lib/iomgr/exec_ctx.h b/src/core/lib/iomgr/exec_ctx.h index 0b183a3c9a5..6220e41a4fb 100644 --- a/src/core/lib/iomgr/exec_ctx.h +++ b/src/core/lib/iomgr/exec_ctx.h @@ -80,7 +80,7 @@ struct grpc_exec_ctx { #define GRPC_EXEC_CTX_INITIALIZER(flags, finish_check, finish_check_arg) \ { \ GRPC_CLOSURE_LIST_INIT, NULL, NULL, flags, gpr_cpu_current_cpu(), \ - finish_check_arg, finish_check \ + finish_check_arg, finish_check, false, 0 \ } /* initialize an execution context at the top level of an API call into grpc From b61a26cff93b0ef97c98dad0c338d539ff44e7e4 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 8 Sep 2017 11:54:34 -0700 Subject: [PATCH 024/180] Eliminate redundant now calls --- src/core/lib/iomgr/exec_ctx.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/core/lib/iomgr/exec_ctx.c b/src/core/lib/iomgr/exec_ctx.c index 05ab9f629d2..3d17afcb8fb 100644 --- a/src/core/lib/iomgr/exec_ctx.c +++ b/src/core/lib/iomgr/exec_ctx.c @@ -104,16 +104,23 @@ static void exec_ctx_sched(grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_closure_list_append(&exec_ctx->closure_list, closure, error); } -static gpr_timespec g_start_time; +static gpr_timespec + g_start_time[GPR_TIMESPAN + 1]; // assumes GPR_TIMESPAN is the + // last enum value in + // gpr_clock_type void grpc_exec_ctx_global_init(void) { - g_start_time = gpr_now(GPR_CLOCK_MONOTONIC); + for (int i = 0; i < GPR_TIMESPAN; i++) { + g_start_time[i] = gpr_now((gpr_clock_type)i); + } + // allows uniform treatment in conversion functions + g_start_time[GPR_TIMESPAN] = gpr_time_0(GPR_TIMESPAN); } void grpc_exec_ctx_global_shutdown(void) {} static gpr_atm timespec_to_atm_round_down(gpr_timespec ts) { - ts = gpr_time_sub(ts, g_start_time); + ts = gpr_time_sub(ts, g_start_time[ts.clock_type]); double x = GPR_MS_PER_SEC * (double)ts.tv_sec + (double)ts.tv_nsec / GPR_NS_PER_MS; if (x < 0) return 0; @@ -122,7 +129,7 @@ static gpr_atm timespec_to_atm_round_down(gpr_timespec ts) { } static gpr_atm timespec_to_atm_round_up(gpr_timespec ts) { - ts = gpr_time_sub(ts, g_start_time); + ts = gpr_time_sub(ts, g_start_time[ts.clock_type]); double x = GPR_MS_PER_SEC * (double)ts.tv_sec + (double)ts.tv_nsec / GPR_NS_PER_MS + (double)(GPR_NS_PER_SEC - 1) / (double)GPR_NS_PER_SEC; @@ -145,18 +152,19 @@ void grpc_exec_ctx_invalidate_now(grpc_exec_ctx *exec_ctx) { gpr_timespec grpc_millis_to_timespec(grpc_millis millis, gpr_clock_type clock_type) { - return gpr_time_add(gpr_convert_clock_type(g_start_time, clock_type), + if (clock_type == GPR_TIMESPAN) { + return gpr_time_from_millis(millis, GPR_TIMESPAN); + } + return gpr_time_add(g_start_time[clock_type], gpr_time_from_millis(millis, GPR_TIMESPAN)); } grpc_millis grpc_timespec_to_millis_round_down(gpr_timespec ts) { - return timespec_to_atm_round_down( - gpr_convert_clock_type(ts, g_start_time.clock_type)); + return timespec_to_atm_round_down(ts); } grpc_millis grpc_timespec_to_millis_round_up(gpr_timespec ts) { - return timespec_to_atm_round_up( - gpr_convert_clock_type(ts, g_start_time.clock_type)); + return timespec_to_atm_round_up(ts); } static const grpc_closure_scheduler_vtable exec_ctx_scheduler_vtable = { From e9af6f9214a1f00c326f382b7557aac36866a25f Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 11 Sep 2017 12:13:48 -0700 Subject: [PATCH 025/180] Fix merge error --- src/core/lib/iomgr/tcp_posix.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/core/lib/iomgr/tcp_posix.c b/src/core/lib/iomgr/tcp_posix.c index 7e271294fd6..7fcaef76792 100644 --- a/src/core/lib/iomgr/tcp_posix.c +++ b/src/core/lib/iomgr/tcp_posix.c @@ -135,13 +135,11 @@ static void run_poller(grpc_exec_ctx *exec_ctx, void *bp, gpr_log(GPR_DEBUG, "BACKUP_POLLER:%p run", p); } gpr_mu_lock(p->pollset_mu); - gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); - gpr_timespec deadline = - gpr_time_add(now, gpr_time_from_seconds(10, GPR_TIMESPAN)); + grpc_millis deadline = grpc_exec_ctx_now(exec_ctx) + 13 * GPR_MS_PER_SEC; GRPC_STATS_INC_TCP_BACKUP_POLLER_POLLS(exec_ctx); - GRPC_LOG_IF_ERROR("backup_poller:pollset_work", - grpc_pollset_work(exec_ctx, BACKUP_POLLER_POLLSET(p), NULL, - now, deadline)); + GRPC_LOG_IF_ERROR( + "backup_poller:pollset_work", + grpc_pollset_work(exec_ctx, BACKUP_POLLER_POLLSET(p), NULL, deadline)); gpr_mu_unlock(p->pollset_mu); /* last "uncovered" notification is the ref that keeps us polling, if we get * there try a cas to release it */ From d24e966c1d07be326922c2162ec58aae72a64955 Mon Sep 17 00:00:00 2001 From: Alexander Polcyn Date: Mon, 11 Sep 2017 13:40:12 -0700 Subject: [PATCH 026/180] fix memory leak of ruby call objects --- src/ruby/ext/grpc/rb_call.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ruby/ext/grpc/rb_call.c b/src/ruby/ext/grpc/rb_call.c index 5550bb7d5f1..29c4a94816b 100644 --- a/src/ruby/ext/grpc/rb_call.c +++ b/src/ruby/ext/grpc/rb_call.c @@ -101,6 +101,7 @@ static void grpc_rb_call_destroy(void *p) { return; } destroy_call((grpc_rb_call *)p); + xfree(p); } static size_t md_ary_datasize(const void *p) { From 61539748f569e6a837500cdad0c6ed0b53b23d0f Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 11 Sep 2017 15:08:31 -0700 Subject: [PATCH 027/180] Fix Windows compile error --- src/core/lib/iomgr/resolve_address_windows.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/lib/iomgr/resolve_address_windows.c b/src/core/lib/iomgr/resolve_address_windows.c index 958ea98c720..305930de446 100644 --- a/src/core/lib/iomgr/resolve_address_windows.c +++ b/src/core/lib/iomgr/resolve_address_windows.c @@ -86,7 +86,7 @@ static grpc_error *blocking_resolve_address_impl( GRPC_SCHEDULING_START_BLOCKING_REGION; s = getaddrinfo(host, port, &hints, &result); - GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(exec_ctx); + GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX; if (s != 0) { error = GRPC_WSA_ERROR(WSAGetLastError(), "getaddrinfo"); goto done; From 80ae895f1e1c07aa8b86e9d1ca564da2329f118b Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 11 Sep 2017 15:18:03 -0700 Subject: [PATCH 028/180] Fix Bazel build --- test/core/backoff/BUILD | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/core/backoff/BUILD b/test/core/backoff/BUILD index 6c2ceb499b7..4ae762007cb 100644 --- a/test/core/backoff/BUILD +++ b/test/core/backoff/BUILD @@ -28,6 +28,8 @@ grpc_cc_test( srcs = ["backoff_test.c"], language = "C", deps = [ + "//:grpc", + "//test/core/util:grpc_test_util", "//:gpr", "//test/core/util:gpr_test_util", ], From b7f36d75171eb563248be8f776518087e3dfaa0c Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 11 Sep 2017 15:18:21 -0700 Subject: [PATCH 029/180] Fix test math error --- test/core/backoff/backoff_test.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/test/core/backoff/backoff_test.c b/test/core/backoff/backoff_test.c index 302ac7b3a01..3848b2a54d4 100644 --- a/test/core/backoff/backoff_test.c +++ b/test/core/backoff/backoff_test.c @@ -59,43 +59,45 @@ static void test_no_jitter_backoff(void) { // x_1 = 2 // x_n = 2**i + x_{i-1} ( = 2**(n+1) - 2 ) grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + exec_ctx.now = 0; + exec_ctx.now_is_valid = true; grpc_millis next = grpc_backoff_begin(&exec_ctx, &backoff); - GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 2); + GPR_ASSERT(next == 2); exec_ctx.now = next; next = grpc_backoff_step(&exec_ctx, &backoff); - GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 6); + GPR_ASSERT(next == 6); exec_ctx.now = next; next = grpc_backoff_step(&exec_ctx, &backoff); - GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 14); + GPR_ASSERT(next == 14); exec_ctx.now = next; next = grpc_backoff_step(&exec_ctx, &backoff); - GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 30); + GPR_ASSERT(next == 30); exec_ctx.now = next; next = grpc_backoff_step(&exec_ctx, &backoff); - GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 62); + GPR_ASSERT(next == 62); exec_ctx.now = next; next = grpc_backoff_step(&exec_ctx, &backoff); - GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 126); + GPR_ASSERT(next == 126); exec_ctx.now = next; next = grpc_backoff_step(&exec_ctx, &backoff); - GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 254); + GPR_ASSERT(next == 254); exec_ctx.now = next; next = grpc_backoff_step(&exec_ctx, &backoff); - GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 510); + GPR_ASSERT(next == 510); exec_ctx.now = next; next = grpc_backoff_step(&exec_ctx, &backoff); - GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 1022); + GPR_ASSERT(next == 1022); exec_ctx.now = next; next = grpc_backoff_step(&exec_ctx, &backoff); // Hit the maximum timeout. From this point onwards, retries will increase // only by max timeout. - GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 1535); + GPR_ASSERT(next == 1535); exec_ctx.now = next; next = grpc_backoff_step(&exec_ctx, &backoff); - GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 2048); + GPR_ASSERT(next == 2048); exec_ctx.now = next; next = grpc_backoff_step(&exec_ctx, &backoff); - GPR_ASSERT(next - grpc_exec_ctx_now(&exec_ctx) == 2561); + GPR_ASSERT(next == 2561); grpc_exec_ctx_finish(&exec_ctx); } From 8e90f6955a3f3aca7ba99577fc59e910996dd380 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 12 Sep 2017 13:04:02 -0700 Subject: [PATCH 030/180] Fix API fuzzer --- test/core/end2end/fuzzers/api_fuzzer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/core/end2end/fuzzers/api_fuzzer.c b/test/core/end2end/fuzzers/api_fuzzer.c index 46819d0dba0..0a787bbf300 100644 --- a/test/core/end2end/fuzzers/api_fuzzer.c +++ b/test/core/end2end/fuzzers/api_fuzzer.c @@ -60,7 +60,9 @@ extern gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type); static gpr_timespec now_impl(gpr_clock_type clock_type) { GPR_ASSERT(clock_type != GPR_TIMESPAN); - return g_now; + gpr_timespec ts = g_now; + ts.clock_type = clock_type; + return ts; } //////////////////////////////////////////////////////////////////////////////// From 31620ca54f2bd7a799d70d77abc29020e83a6798 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 15 Sep 2017 12:40:24 -0700 Subject: [PATCH 031/180] Squash ping queues, make BDP pings non-initiating, make BDP queries speedup/slowdown --- .../chttp2/transport/chttp2_transport.c | 63 +++++++------------ .../transport/chttp2/transport/flow_control.c | 9 --- .../ext/transport/chttp2/transport/internal.h | 12 +--- .../ext/transport/chttp2/transport/writing.c | 41 +++--------- src/core/lib/transport/bdp_estimator.c | 30 ++++++++- src/core/lib/transport/bdp_estimator.h | 5 ++ 6 files changed, 66 insertions(+), 94 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index 79a9ed827f7..ecd4322b436 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -144,11 +144,9 @@ static void finish_bdp_ping_locked(grpc_exec_ctx *exec_ctx, void *tp, static void cancel_pings(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, grpc_error *error); -static void send_ping_locked( - grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, - grpc_chttp2_ping_type ping_type, grpc_closure *on_initiate, - grpc_closure *on_complete, - grpc_chttp2_initiate_write_reason initiate_write_reason); +static void send_ping_locked(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, + grpc_closure *on_initiate, + grpc_closure *on_complete); static void retry_initiate_ping_locked(grpc_exec_ctx *exec_ctx, void *tp, grpc_error *error); @@ -892,9 +890,6 @@ static void inc_initiate_write_reason( case GRPC_CHTTP2_INITIATE_WRITE_SEND_SETTINGS: GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_SETTINGS(exec_ctx); break; - case GRPC_CHTTP2_INITIATE_WRITE_BDP_ESTIMATOR_PING: - GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_BDP_ESTIMATOR_PING(exec_ctx); - break; case GRPC_CHTTP2_INITIATE_WRITE_FLOW_CONTROL_UNSTALLED_BY_SETTING: GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_SETTING( exec_ctx); @@ -1701,28 +1696,21 @@ static void cancel_pings(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, grpc_error *error) { /* callback remaining pings: they're not allowed to call into the transpot, and maybe they hold resources that need to be freed */ - for (size_t i = 0; i < GRPC_CHTTP2_PING_TYPE_COUNT; i++) { - grpc_chttp2_ping_queue *pq = &t->ping_queues[i]; - for (size_t j = 0; j < GRPC_CHTTP2_PCL_COUNT; j++) { - grpc_closure_list_fail_all(&pq->lists[j], GRPC_ERROR_REF(error)); - GRPC_CLOSURE_LIST_SCHED(exec_ctx, &pq->lists[j]); - } + grpc_chttp2_ping_queue *pq = &t->ping_queue; + for (size_t j = 0; j < GRPC_CHTTP2_PCL_COUNT; j++) { + grpc_closure_list_fail_all(&pq->lists[j], GRPC_ERROR_REF(error)); + GRPC_CLOSURE_LIST_SCHED(exec_ctx, &pq->lists[j]); } GRPC_ERROR_UNREF(error); } -static void send_ping_locked( - grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, - grpc_chttp2_ping_type ping_type, grpc_closure *on_initiate, - grpc_closure *on_ack, - grpc_chttp2_initiate_write_reason initiate_write_reason) { - grpc_chttp2_ping_queue *pq = &t->ping_queues[ping_type]; +static void send_ping_locked(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, + grpc_closure *on_initiate, grpc_closure *on_ack) { + grpc_chttp2_ping_queue *pq = &t->ping_queue; grpc_closure_list_append(&pq->lists[GRPC_CHTTP2_PCL_INITIATE], on_initiate, GRPC_ERROR_NONE); - if (grpc_closure_list_append(&pq->lists[GRPC_CHTTP2_PCL_NEXT], on_ack, - GRPC_ERROR_NONE)) { - grpc_chttp2_initiate_write(exec_ctx, t, initiate_write_reason); - } + grpc_closure_list_append(&pq->lists[GRPC_CHTTP2_PCL_NEXT], on_ack, + GRPC_ERROR_NONE); } static void retry_initiate_ping_locked(grpc_exec_ctx *exec_ctx, void *tp, @@ -1735,8 +1723,7 @@ static void retry_initiate_ping_locked(grpc_exec_ctx *exec_ctx, void *tp, void grpc_chttp2_ack_ping(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, uint64_t id) { - grpc_chttp2_ping_queue *pq = - &t->ping_queues[id % GRPC_CHTTP2_PING_TYPE_COUNT]; + grpc_chttp2_ping_queue *pq = &t->ping_queue; if (pq->inflight_id != id) { char *from = grpc_endpoint_get_peer(t->ep); gpr_log(GPR_DEBUG, "Unknown ping response from %s: %" PRIx64, from, id); @@ -1806,9 +1793,9 @@ static void perform_transport_op_locked(grpc_exec_ctx *exec_ctx, } if (op->send_ping) { - send_ping_locked(exec_ctx, t, GRPC_CHTTP2_PING_ON_NEXT_WRITE, NULL, - op->send_ping, - GRPC_CHTTP2_INITIATE_WRITE_APPLICATION_PING); + send_ping_locked(exec_ctx, t, NULL, op->send_ping); + grpc_chttp2_initiate_write(exec_ctx, t, + GRPC_CHTTP2_INITIATE_WRITE_APPLICATION_PING); } if (op->on_connectivity_state_change != NULL) { @@ -2449,10 +2436,8 @@ void grpc_chttp2_act_on_flowctl_action(grpc_exec_ctx *exec_ctx, if (action.need_ping) { GRPC_CHTTP2_REF_TRANSPORT(t, "bdp_ping"); grpc_bdp_estimator_schedule_ping(&t->flow_control.bdp_estimator); - send_ping_locked(exec_ctx, t, - GRPC_CHTTP2_PING_BEFORE_TRANSPORT_WINDOW_UPDATE, - &t->start_bdp_ping_locked, &t->finish_bdp_ping_locked, - GRPC_CHTTP2_INITIATE_WRITE_BDP_ESTIMATOR_PING); + send_ping_locked(exec_ctx, t, &t->start_bdp_ping_locked, + &t->finish_bdp_ping_locked); } } @@ -2560,7 +2545,7 @@ static void read_action_locked(grpc_exec_ctx *exec_ctx, void *tp, grpc_endpoint_read(exec_ctx, t->ep, &t->read_buffer, &t->read_action_locked); grpc_chttp2_act_on_flowctl_action( - exec_ctx, grpc_chttp2_flowctl_get_bdp_action(&t->flow_control), t, + exec_ctx, grpc_chttp2_flowctl_get_action(&t->flow_control, NULL), t, NULL); GRPC_CHTTP2_UNREF_TRANSPORT(exec_ctx, t, "keep_reading"); } else { @@ -2647,10 +2632,10 @@ static void init_keepalive_ping_locked(grpc_exec_ctx *exec_ctx, void *arg, grpc_chttp2_stream_map_size(&t->stream_map) > 0) { t->keepalive_state = GRPC_CHTTP2_KEEPALIVE_STATE_PINGING; GRPC_CHTTP2_REF_TRANSPORT(t, "keepalive ping end"); - send_ping_locked(exec_ctx, t, GRPC_CHTTP2_PING_ON_NEXT_WRITE, - &t->start_keepalive_ping_locked, - &t->finish_keepalive_ping_locked, - GRPC_CHTTP2_INITIATE_WRITE_KEEPALIVE_PING); + send_ping_locked(exec_ctx, t, &t->start_keepalive_ping_locked, + &t->finish_keepalive_ping_locked); + grpc_chttp2_initiate_write(exec_ctx, t, + GRPC_CHTTP2_INITIATE_WRITE_KEEPALIVE_PING); } else { GRPC_CHTTP2_REF_TRANSPORT(t, "init keepalive ping"); grpc_timer_init( @@ -3141,8 +3126,6 @@ const char *grpc_chttp2_initiate_write_reason_string( return "TRANSPORT_FLOW_CONTROL"; case GRPC_CHTTP2_INITIATE_WRITE_SEND_SETTINGS: return "SEND_SETTINGS"; - case GRPC_CHTTP2_INITIATE_WRITE_BDP_ESTIMATOR_PING: - return "BDP_ESTIMATOR_PING"; case GRPC_CHTTP2_INITIATE_WRITE_FLOW_CONTROL_UNSTALLED_BY_SETTING: return "FLOW_CONTROL_UNSTALLED_BY_SETTING"; case GRPC_CHTTP2_INITIATE_WRITE_FLOW_CONTROL_UNSTALLED_BY_UPDATE: diff --git a/src/core/ext/transport/chttp2/transport/flow_control.c b/src/core/ext/transport/chttp2/transport/flow_control.c index 569a6349d3d..704c0ad7bc7 100644 --- a/src/core/ext/transport/chttp2/transport/flow_control.c +++ b/src/core/ext/transport/chttp2/transport/flow_control.c @@ -441,14 +441,6 @@ grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_action( action.send_stream_update = GRPC_CHTTP2_FLOWCTL_QUEUE_UPDATE; } } - TRACEACTION(tfc, action); - return action; -} - -grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_bdp_action( - grpc_chttp2_transport_flowctl* tfc) { - grpc_chttp2_flowctl_action action; - memset(&action, 0, sizeof(action)); if (tfc->enable_bdp_probe) { action.need_ping = grpc_bdp_estimator_need_ping(&tfc->bdp_estimator); @@ -496,7 +488,6 @@ grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_bdp_action( } } } - TRACEACTION(tfc, action); return action; } diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h index c2dfce7c9c7..2f5320985ae 100644 --- a/src/core/ext/transport/chttp2/transport/internal.h +++ b/src/core/ext/transport/chttp2/transport/internal.h @@ -61,12 +61,6 @@ typedef enum { GRPC_CHTTP2_WRITE_STATE_WRITING_WITH_MORE, } grpc_chttp2_write_state; -typedef enum { - GRPC_CHTTP2_PING_ON_NEXT_WRITE = 0, - GRPC_CHTTP2_PING_BEFORE_TRANSPORT_WINDOW_UPDATE, - GRPC_CHTTP2_PING_TYPE_COUNT /* must be last */ -} grpc_chttp2_ping_type; - typedef enum { GRPC_CHTTP2_OPTIMIZE_FOR_LATENCY, GRPC_CHTTP2_OPTIMIZE_FOR_THROUGHPUT, @@ -93,7 +87,6 @@ typedef enum { GRPC_CHTTP2_INITIATE_WRITE_STREAM_FLOW_CONTROL, GRPC_CHTTP2_INITIATE_WRITE_TRANSPORT_FLOW_CONTROL, GRPC_CHTTP2_INITIATE_WRITE_SEND_SETTINGS, - GRPC_CHTTP2_INITIATE_WRITE_BDP_ESTIMATOR_PING, GRPC_CHTTP2_INITIATE_WRITE_FLOW_CONTROL_UNSTALLED_BY_SETTING, GRPC_CHTTP2_INITIATE_WRITE_FLOW_CONTROL_UNSTALLED_BY_UPDATE, GRPC_CHTTP2_INITIATE_WRITE_APPLICATION_PING, @@ -370,7 +363,7 @@ struct grpc_chttp2_transport { uint32_t last_new_stream_id; /** ping queues for various ping insertion points */ - grpc_chttp2_ping_queue ping_queues[GRPC_CHTTP2_PING_TYPE_COUNT]; + grpc_chttp2_ping_queue ping_queue; grpc_chttp2_repeated_ping_policy ping_policy; grpc_chttp2_repeated_ping_state ping_state; uint64_t ping_ctr; /* unique id for pings */ @@ -754,9 +747,6 @@ typedef struct { grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_action( grpc_chttp2_transport_flowctl *tfc, grpc_chttp2_stream_flowctl *sfc); -grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_bdp_action( - grpc_chttp2_transport_flowctl *tfc); - // Takes in a flow control action and performs all the needed operations. void grpc_chttp2_act_on_flowctl_action(grpc_exec_ctx *exec_ctx, grpc_chttp2_flowctl_action action, diff --git a/src/core/ext/transport/chttp2/transport/writing.c b/src/core/ext/transport/chttp2/transport/writing.c index 3ded801985d..c132195457e 100644 --- a/src/core/ext/transport/chttp2/transport/writing.c +++ b/src/core/ext/transport/chttp2/transport/writing.c @@ -42,18 +42,9 @@ static void finish_write_cb(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, t->write_cb_pool = cb; } -static void collapse_pings_from_into(grpc_chttp2_transport *t, - grpc_chttp2_ping_type ping_type, - grpc_chttp2_ping_queue *pq) { - for (size_t i = 0; i < GRPC_CHTTP2_PCL_COUNT; i++) { - grpc_closure_list_move(&t->ping_queues[ping_type].lists[i], &pq->lists[i]); - } -} - static void maybe_initiate_ping(grpc_exec_ctx *exec_ctx, - grpc_chttp2_transport *t, - grpc_chttp2_ping_type ping_type) { - grpc_chttp2_ping_queue *pq = &t->ping_queues[ping_type]; + grpc_chttp2_transport *t) { + grpc_chttp2_ping_queue *pq = &t->ping_queue; if (grpc_closure_list_empty(pq->lists[GRPC_CHTTP2_PCL_NEXT])) { /* no ping needed: wait */ return; @@ -100,17 +91,7 @@ static void maybe_initiate_ping(grpc_exec_ctx *exec_ctx, } return; } - /* coalesce equivalent pings into this one */ - switch (ping_type) { - case GRPC_CHTTP2_PING_BEFORE_TRANSPORT_WINDOW_UPDATE: - collapse_pings_from_into(t, GRPC_CHTTP2_PING_ON_NEXT_WRITE, pq); - break; - case GRPC_CHTTP2_PING_ON_NEXT_WRITE: - break; - case GRPC_CHTTP2_PING_TYPE_COUNT: - GPR_UNREACHABLE_CODE(break); - } - pq->inflight_id = t->ping_ctr * GRPC_CHTTP2_PING_TYPE_COUNT + ping_type; + pq->inflight_id = t->ping_ctr; t->ping_ctr++; GRPC_CLOSURE_LIST_SCHED(exec_ctx, &pq->lists[GRPC_CHTTP2_PCL_INITIATE]); grpc_closure_list_move(&pq->lists[GRPC_CHTTP2_PCL_NEXT], @@ -179,6 +160,12 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( GPR_TIMER_BEGIN("grpc_chttp2_begin_write", 0); + for (size_t i = 0; i < t->ping_ack_count; i++) { + grpc_slice_buffer_add(&t->outbuf, + grpc_chttp2_ping_create(1, t->ping_acks[i])); + } + t->ping_ack_count = 0; + if (t->dirtied_local_settings && !t->sent_local_settings) { grpc_slice_buffer_add( &t->outbuf, @@ -481,8 +468,6 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( uint32_t transport_announce = grpc_chttp2_flowctl_maybe_send_transport_update(&t->flow_control); if (transport_announce) { - maybe_initiate_ping(exec_ctx, t, - GRPC_CHTTP2_PING_BEFORE_TRANSPORT_WINDOW_UPDATE); grpc_transport_one_way_stats throwaway_stats; grpc_slice_buffer_add( &t->outbuf, grpc_chttp2_window_update_create(0, transport_announce, @@ -496,13 +481,7 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( } } - for (size_t i = 0; i < t->ping_ack_count; i++) { - grpc_slice_buffer_add(&t->outbuf, - grpc_chttp2_ping_create(1, t->ping_acks[i])); - } - t->ping_ack_count = 0; - - maybe_initiate_ping(exec_ctx, t, GRPC_CHTTP2_PING_ON_NEXT_WRITE); + maybe_initiate_ping(exec_ctx, t); GPR_TIMER_END("grpc_chttp2_begin_write", 0); diff --git a/src/core/lib/transport/bdp_estimator.c b/src/core/lib/transport/bdp_estimator.c index 8b576934134..2a3ffbbd018 100644 --- a/src/core/lib/transport/bdp_estimator.c +++ b/src/core/lib/transport/bdp_estimator.c @@ -29,8 +29,11 @@ grpc_tracer_flag grpc_bdp_estimator_trace = void grpc_bdp_estimator_init(grpc_bdp_estimator *estimator, const char *name) { estimator->estimate = 65536; estimator->ping_state = GRPC_BDP_PING_UNSCHEDULED; + estimator->ping_start_time = gpr_time_0(GPR_CLOCK_MONOTONIC); estimator->name = name; estimator->bw_est = 0; + estimator->inter_ping_delay = 100.0; // start at 100ms + estimator->stable_estimate_count = 0; } bool grpc_bdp_estimator_get_estimate(const grpc_bdp_estimator *estimator, @@ -53,7 +56,8 @@ void grpc_bdp_estimator_add_incoming_bytes(grpc_bdp_estimator *estimator, bool grpc_bdp_estimator_need_ping(const grpc_bdp_estimator *estimator) { switch (estimator->ping_state) { case GRPC_BDP_PING_UNSCHEDULED: - return true; + return gpr_time_cmp(gpr_now(GPR_CLOCK_MONOTONIC), + estimator->ping_start_time) >= 0; case GRPC_BDP_PING_SCHEDULED: return false; case GRPC_BDP_PING_STARTED: @@ -84,10 +88,11 @@ void grpc_bdp_estimator_start_ping(grpc_bdp_estimator *estimator) { } void grpc_bdp_estimator_complete_ping(grpc_bdp_estimator *estimator) { - gpr_timespec dt_ts = - gpr_time_sub(gpr_now(GPR_CLOCK_MONOTONIC), estimator->ping_start_time); + gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); + gpr_timespec dt_ts = gpr_time_sub(now, estimator->ping_start_time); double dt = (double)dt_ts.tv_sec + 1e-9 * (double)dt_ts.tv_nsec; double bw = dt > 0 ? ((double)estimator->accumulator / dt) : 0; + int start_inter_ping_delay = estimator->inter_ping_delay; if (GRPC_TRACER_ON(grpc_bdp_estimator_trace)) { gpr_log(GPR_DEBUG, "bdp[%s]:complete acc=%" PRId64 " est=%" PRId64 " dt=%lf bw=%lfMbs bw_est=%lfMbs", @@ -104,7 +109,26 @@ void grpc_bdp_estimator_complete_ping(grpc_bdp_estimator *estimator) { gpr_log(GPR_DEBUG, "bdp[%s]: estimate increased to %" PRId64, estimator->name, estimator->estimate); } + estimator->inter_ping_delay /= 2; // if the ping estimate changes, + // exponentially get faster at probing + } else if (estimator->inter_ping_delay < 10000) { + estimator->stable_estimate_count++; + if (estimator->stable_estimate_count >= 2) { + estimator->inter_ping_delay += + 100 + + (int)(rand() * 100.0 / RAND_MAX); // if the ping estimate is steady, + // slowly ramp down the probe time + } + } + if (start_inter_ping_delay != estimator->inter_ping_delay) { + estimator->stable_estimate_count = 0; + if (GRPC_TRACER_ON(grpc_bdp_estimator_trace)) { + gpr_log(GPR_DEBUG, "bdp[%s]:update_inter_time to %dms", estimator->name, + estimator->inter_ping_delay); + } } estimator->ping_state = GRPC_BDP_PING_UNSCHEDULED; estimator->accumulator = 0; + estimator->ping_start_time = gpr_time_add( + now, gpr_time_from_millis(estimator->inter_ping_delay, GPR_TIMESPAN)); } diff --git a/src/core/lib/transport/bdp_estimator.h b/src/core/lib/transport/bdp_estimator.h index 1ef0dc99ddb..670e38dd4bb 100644 --- a/src/core/lib/transport/bdp_estimator.h +++ b/src/core/lib/transport/bdp_estimator.h @@ -39,7 +39,12 @@ typedef struct grpc_bdp_estimator { grpc_bdp_estimator_ping_state ping_state; int64_t accumulator; int64_t estimate; + // case ping_state of + // GRPC_BDP_PING_UNSCHEDULED => when to start the next ping + // GRPC_BDP_PING_STARTED => when the current ping was started gpr_timespec ping_start_time; + int inter_ping_delay; + int stable_estimate_count; double bw_est; const char *name; } grpc_bdp_estimator; From 149c4696e627db4ff226757fb3d6245154ec2926 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 15 Sep 2017 13:46:12 -0700 Subject: [PATCH 032/180] Fix pings racing initial settings --- src/core/ext/transport/chttp2/transport/writing.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/writing.c b/src/core/ext/transport/chttp2/transport/writing.c index c132195457e..82f7df27243 100644 --- a/src/core/ext/transport/chttp2/transport/writing.c +++ b/src/core/ext/transport/chttp2/transport/writing.c @@ -160,12 +160,6 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( GPR_TIMER_BEGIN("grpc_chttp2_begin_write", 0); - for (size_t i = 0; i < t->ping_ack_count; i++) { - grpc_slice_buffer_add(&t->outbuf, - grpc_chttp2_ping_create(1, t->ping_acks[i])); - } - t->ping_ack_count = 0; - if (t->dirtied_local_settings && !t->sent_local_settings) { grpc_slice_buffer_add( &t->outbuf, @@ -178,6 +172,12 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( GRPC_STATS_INC_HTTP2_SETTINGS_WRITES(exec_ctx); } + for (size_t i = 0; i < t->ping_ack_count; i++) { + grpc_slice_buffer_add(&t->outbuf, + grpc_chttp2_ping_create(1, t->ping_acks[i])); + } + t->ping_ack_count = 0; + /* simple writes are queued to qbuf, and flushed here */ grpc_slice_buffer_move_into(&t->qbuf, &t->outbuf); GPR_ASSERT(t->qbuf.count == 0); From e932aca45df5cb8391635b4056ecaf14631967fb Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 15 Sep 2017 13:50:46 -0700 Subject: [PATCH 033/180] Add a counter for spurious writes --- .../ext/transport/chttp2/transport/chttp2_transport.c | 1 + src/core/lib/debug/stats_data.c | 2 ++ src/core/lib/debug/stats_data.h | 4 ++++ src/core/lib/debug/stats_data.yaml | 2 ++ src/core/lib/debug/stats_data_bq_schema.sql | 1 + tools/run_tests/performance/massage_qps_stats.py | 1 + .../run_tests/performance/scenario_result_schema.json | 10 ++++++++++ 7 files changed, 21 insertions(+) diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index ecd4322b436..d1860512911 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -1027,6 +1027,7 @@ static void write_action_begin_locked(grpc_exec_ctx *exec_ctx, void *gt, write_action, t, scheduler), GRPC_ERROR_NONE); } else { + GRPC_STATS_INC_HTTP2_SPURIOUS_WRITES_BEGUN(exec_ctx); set_write_state(exec_ctx, t, GRPC_CHTTP2_WRITE_STATE_IDLE, "begin writing nothing"); GRPC_CHTTP2_UNREF_TRANSPORT(exec_ctx, t, "writing"); diff --git a/src/core/lib/debug/stats_data.c b/src/core/lib/debug/stats_data.c index b3e1ee9b4ec..173e075db3c 100644 --- a/src/core/lib/debug/stats_data.c +++ b/src/core/lib/debug/stats_data.c @@ -71,6 +71,7 @@ const char *grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT] = { "http2_initiate_write_due_to_transport_flow_control_unstalled", "http2_initiate_write_due_to_ping_response", "http2_initiate_write_due_to_force_rst_stream", + "http2_spurious_writes_begun", "combiner_locks_initiated", "combiner_locks_scheduled_items", "combiner_locks_scheduled_final_items", @@ -137,6 +138,7 @@ const char *grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT] = { "'transport_flow_control_unstalled'", "Number of HTTP2 writes initiated due to 'ping_response'", "Number of HTTP2 writes initiated due to 'force_rst_stream'", + "Number of HTTP2 writes initiated with nothing to write", "Number of combiner lock entries by process (first items queued to a " "combiner)", "Number of items scheduled against combiner locks", diff --git a/src/core/lib/debug/stats_data.h b/src/core/lib/debug/stats_data.h index c9871c4a56c..235a93ba396 100644 --- a/src/core/lib/debug/stats_data.h +++ b/src/core/lib/debug/stats_data.h @@ -73,6 +73,7 @@ typedef enum { GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL_UNSTALLED, GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_PING_RESPONSE, GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM, + GRPC_STATS_COUNTER_HTTP2_SPURIOUS_WRITES_BEGUN, GRPC_STATS_COUNTER_COMBINER_LOCKS_INITIATED, GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_ITEMS, GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS, @@ -279,6 +280,9 @@ typedef enum { GRPC_STATS_INC_COUNTER( \ (exec_ctx), \ GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM) +#define GRPC_STATS_INC_HTTP2_SPURIOUS_WRITES_BEGUN(exec_ctx) \ + GRPC_STATS_INC_COUNTER((exec_ctx), \ + GRPC_STATS_COUNTER_HTTP2_SPURIOUS_WRITES_BEGUN) #define GRPC_STATS_INC_COMBINER_LOCKS_INITIATED(exec_ctx) \ GRPC_STATS_INC_COUNTER((exec_ctx), \ GRPC_STATS_COUNTER_COMBINER_LOCKS_INITIATED) diff --git a/src/core/lib/debug/stats_data.yaml b/src/core/lib/debug/stats_data.yaml index 84727fe6c47..fc6ca860bc9 100644 --- a/src/core/lib/debug/stats_data.yaml +++ b/src/core/lib/debug/stats_data.yaml @@ -159,6 +159,8 @@ doc: Number of HTTP2 writes initiated due to 'ping_response' - counter: http2_initiate_write_due_to_force_rst_stream doc: Number of HTTP2 writes initiated due to 'force_rst_stream' +- counter: http2_spurious_writes_begun + doc: Number of HTTP2 writes initiated with nothing to write # combiner locks - counter: combiner_locks_initiated doc: Number of combiner lock entries by process diff --git a/src/core/lib/debug/stats_data_bq_schema.sql b/src/core/lib/debug/stats_data_bq_schema.sql index d21afbbfe45..1680425eb65 100644 --- a/src/core/lib/debug/stats_data_bq_schema.sql +++ b/src/core/lib/debug/stats_data_bq_schema.sql @@ -46,6 +46,7 @@ http2_initiate_write_due_to_keepalive_ping_per_iteration:FLOAT, http2_initiate_write_due_to_transport_flow_control_unstalled_per_iteration:FLOAT, http2_initiate_write_due_to_ping_response_per_iteration:FLOAT, http2_initiate_write_due_to_force_rst_stream_per_iteration:FLOAT, +http2_spurious_writes_begun_per_iteration:FLOAT, combiner_locks_initiated_per_iteration:FLOAT, combiner_locks_scheduled_items_per_iteration:FLOAT, combiner_locks_scheduled_final_items_per_iteration:FLOAT, diff --git a/tools/run_tests/performance/massage_qps_stats.py b/tools/run_tests/performance/massage_qps_stats.py index 7994b544ac2..4d4c4944055 100644 --- a/tools/run_tests/performance/massage_qps_stats.py +++ b/tools/run_tests/performance/massage_qps_stats.py @@ -68,6 +68,7 @@ def massage_qps_stats(scenario_result): stats["core_http2_initiate_write_due_to_transport_flow_control_unstalled"] = massage_qps_stats_helpers.counter(core_stats, "http2_initiate_write_due_to_transport_flow_control_unstalled") stats["core_http2_initiate_write_due_to_ping_response"] = massage_qps_stats_helpers.counter(core_stats, "http2_initiate_write_due_to_ping_response") stats["core_http2_initiate_write_due_to_force_rst_stream"] = massage_qps_stats_helpers.counter(core_stats, "http2_initiate_write_due_to_force_rst_stream") + stats["core_http2_spurious_writes_begun"] = massage_qps_stats_helpers.counter(core_stats, "http2_spurious_writes_begun") stats["core_combiner_locks_initiated"] = massage_qps_stats_helpers.counter(core_stats, "combiner_locks_initiated") stats["core_combiner_locks_scheduled_items"] = massage_qps_stats_helpers.counter(core_stats, "combiner_locks_scheduled_items") stats["core_combiner_locks_scheduled_final_items"] = massage_qps_stats_helpers.counter(core_stats, "combiner_locks_scheduled_final_items") diff --git a/tools/run_tests/performance/scenario_result_schema.json b/tools/run_tests/performance/scenario_result_schema.json index 12a56dbec0e..725b3a70568 100644 --- a/tools/run_tests/performance/scenario_result_schema.json +++ b/tools/run_tests/performance/scenario_result_schema.json @@ -350,6 +350,11 @@ "name": "core_http2_initiate_write_due_to_force_rst_stream", "type": "INTEGER" }, + { + "mode": "NULLABLE", + "name": "core_http2_spurious_writes_begun", + "type": "INTEGER" + }, { "mode": "NULLABLE", "name": "core_combiner_locks_initiated", @@ -952,6 +957,11 @@ "name": "core_http2_initiate_write_due_to_force_rst_stream", "type": "INTEGER" }, + { + "mode": "NULLABLE", + "name": "core_http2_spurious_writes_begun", + "type": "INTEGER" + }, { "mode": "NULLABLE", "name": "core_combiner_locks_initiated", From 14df5f735274a8f05294e7eae0f5175e0713bdc5 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 15 Sep 2017 15:39:40 -0700 Subject: [PATCH 034/180] Large flow control windows under low memory pressure --- .../transport/chttp2/transport/flow_control.c | 17 ++++++++--- .../ext/transport/chttp2/transport/internal.h | 2 +- .../ext/transport/chttp2/transport/writing.c | 29 ++++++++++++++++--- 3 files changed, 39 insertions(+), 9 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/flow_control.c b/src/core/ext/transport/chttp2/transport/flow_control.c index 704c0ad7bc7..e3be2e51980 100644 --- a/src/core/ext/transport/chttp2/transport/flow_control.c +++ b/src/core/ext/transport/chttp2/transport/flow_control.c @@ -281,13 +281,14 @@ grpc_error* grpc_chttp2_flowctl_recv_data(grpc_chttp2_transport_flowctl* tfc, // Returns a non zero announce integer if we should send a transport window // update uint32_t grpc_chttp2_flowctl_maybe_send_transport_update( - grpc_chttp2_transport_flowctl* tfc) { + grpc_chttp2_transport_flowctl* tfc, bool writing_anyway) { PRETRACE(tfc, NULL); uint32_t target_announced_window = grpc_chttp2_target_announced_window(tfc); uint32_t threshold_to_send_transport_window_update = tfc->t->outbuf.count > 0 ? 3 * target_announced_window / 4 : target_announced_window / 2; - if (tfc->announced_window <= threshold_to_send_transport_window_update && + if ((writing_anyway || + tfc->announced_window <= threshold_to_send_transport_window_update) && tfc->announced_window != target_announced_window) { uint32_t announce = (uint32_t)GPR_CLAMP( target_announced_window - tfc->announced_window, 0, UINT32_MAX); @@ -413,8 +414,16 @@ static double get_target_under_memory_pressure( // do not increase window under heavy memory pressure. double memory_pressure = grpc_resource_quota_get_memory_pressure( grpc_resource_user_quota(grpc_endpoint_get_resource_user(tfc->t->ep))); - if (memory_pressure > 0.8) { - target *= 1 - GPR_MIN(1, (memory_pressure - 0.8) / 0.1); + static const double kLowMemPressure = 0.1; + static const double kZeroTarget = 24; + static const double kHighMemPressure = 0.8; + static const double kMaxMemPressure = 0.9; + if (memory_pressure < kLowMemPressure && target < kZeroTarget) { + target = (target - kZeroTarget) * memory_pressure / kLowMemPressure + + kZeroTarget; + } else if (memory_pressure > kHighMemPressure) { + target *= 1 - GPR_MIN(1, (memory_pressure - kHighMemPressure) / + (kMaxMemPressure - kHighMemPressure)); } return target; } diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h index 2f5320985ae..8e23d92e78e 100644 --- a/src/core/ext/transport/chttp2/transport/internal.h +++ b/src/core/ext/transport/chttp2/transport/internal.h @@ -698,7 +698,7 @@ grpc_error *grpc_chttp2_flowctl_recv_data(grpc_chttp2_transport_flowctl *tfc, // returns an announce if we should send a transport update to our peer, // else returns zero uint32_t grpc_chttp2_flowctl_maybe_send_transport_update( - grpc_chttp2_transport_flowctl *tfc); + grpc_chttp2_transport_flowctl *tfc, bool writing_anyway); // returns an announce if we should send a stream update to our peer, else // returns zero diff --git a/src/core/ext/transport/chttp2/transport/writing.c b/src/core/ext/transport/chttp2/transport/writing.c index 82f7df27243..8c02ba1b904 100644 --- a/src/core/ext/transport/chttp2/transport/writing.c +++ b/src/core/ext/transport/chttp2/transport/writing.c @@ -126,6 +126,25 @@ static bool update_list(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, return sched_any; } +static void report_stall(grpc_chttp2_transport *t, grpc_chttp2_stream *s, + const char *staller) { + gpr_log( + GPR_DEBUG, + "%s:%p stream %d stalled by %s [fc:pending=%" PRIdPTR ":flowed=%" PRId64 + ":peer_initwin=%d:t_win=%" PRId64 ":s_win=%d:s_delta=%" PRId64 "]", + t->peer_string, t, s->id, staller, s->flow_controlled_buffer.length, + s->flow_controlled_bytes_flowed, + t->settings[GRPC_ACKED_SETTINGS] + [GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE], + t->flow_control.remote_window, + (uint32_t)GPR_MAX( + 0, + s->flow_control.remote_window_delta + + (int64_t)t->settings[GRPC_PEER_SETTINGS] + [GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE]), + s->flow_control.remote_window_delta); +} + static bool stream_ref_if_not_destroyed(gpr_refcount *r) { gpr_atm count; do { @@ -394,9 +413,11 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( } message_writes++; } else if (t->flow_control.remote_window == 0) { + report_stall(t, s, "transport"); grpc_chttp2_list_add_stalled_by_transport(t, s); now_writing = true; } else if (stream_remote_window == 0) { + report_stall(t, s, "stream"); grpc_chttp2_list_add_stalled_by_stream(t, s); now_writing = true; } @@ -465,8 +486,10 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( } } - uint32_t transport_announce = - grpc_chttp2_flowctl_maybe_send_transport_update(&t->flow_control); + maybe_initiate_ping(exec_ctx, t); + + uint32_t transport_announce = grpc_chttp2_flowctl_maybe_send_transport_update( + &t->flow_control, t->outbuf.count > 0); if (transport_announce) { grpc_transport_one_way_stats throwaway_stats; grpc_slice_buffer_add( @@ -481,8 +504,6 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( } } - maybe_initiate_ping(exec_ctx, t); - GPR_TIMER_END("grpc_chttp2_begin_write", 0); result.writing = t->outbuf.count > 0; From 468d1e5b56a72f45ac7efe8f8ca6bca435fd1c39 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 18 Sep 2017 09:25:42 -0700 Subject: [PATCH 035/180] Fix keepalive test --- test/core/end2end/tests/keepalive_timeout.c | 32 +++++++++------------ 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/test/core/end2end/tests/keepalive_timeout.c b/test/core/end2end/tests/keepalive_timeout.c index e0ead4ab62a..c4280149c7e 100644 --- a/test/core/end2end/tests/keepalive_timeout.c +++ b/test/core/end2end/tests/keepalive_timeout.c @@ -98,21 +98,21 @@ static void test_keepalive_timeout(grpc_end2end_test_config config) { grpc_byte_buffer *response_payload = grpc_raw_byte_buffer_create(&response_payload_slice, 1); - grpc_arg keepalive_args[] = {{.type = GRPC_ARG_INTEGER, - .key = GRPC_ARG_KEEPALIVE_TIME_MS, - .value.integer = 1500}, - {.type = GRPC_ARG_INTEGER, - .key = GRPC_ARG_KEEPALIVE_TIMEOUT_MS, - .value.integer = 0}, - {.type = GRPC_ARG_INTEGER, - .key = GRPC_ARG_HTTP2_BDP_PROBE, - .value.integer = 1}}; - - grpc_channel_args *client_args = NULL; - client_args = grpc_channel_args_copy_and_add(client_args, keepalive_args, 2); + grpc_arg keepalive_arg_elems[] = {{.type = GRPC_ARG_INTEGER, + .key = GRPC_ARG_KEEPALIVE_TIME_MS, + .value.integer = 1500}, + {.type = GRPC_ARG_INTEGER, + .key = GRPC_ARG_KEEPALIVE_TIMEOUT_MS, + .value.integer = 0}, + {.type = GRPC_ARG_INTEGER, + .key = GRPC_ARG_HTTP2_BDP_PROBE, + .value.integer = 0}}; + grpc_channel_args keepalive_args = { + .num_args = GPR_ARRAY_SIZE(keepalive_arg_elems), + .args = keepalive_arg_elems}; grpc_end2end_test_fixture f = - begin_test(config, "keepalive_timeout", client_args, NULL); + begin_test(config, "keepalive_timeout", &keepalive_args, NULL); cq_verifier *cqv = cq_verifier_create(f.cq); grpc_op ops[6]; grpc_op *op; @@ -216,12 +216,6 @@ static void test_keepalive_timeout(grpc_end2end_test_config config) { grpc_byte_buffer_destroy(response_payload); grpc_byte_buffer_destroy(response_payload_recv); - if (client_args != NULL) { - grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - grpc_channel_args_destroy(&exec_ctx, client_args); - grpc_exec_ctx_finish(&exec_ctx); - } - end_test(&f); config.tear_down_data(&f); } From 2c5bfacfdd531f1ed5b831f26de9c82d000088f5 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 18 Sep 2017 12:13:05 -0700 Subject: [PATCH 036/180] Mock time to resolve test error --- test/core/transport/bdp_estimator_test.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/test/core/transport/bdp_estimator_test.c b/test/core/transport/bdp_estimator_test.c index dda48f45b18..a256eb3a4a8 100644 --- a/test/core/transport/bdp_estimator_test.c +++ b/test/core/transport/bdp_estimator_test.c @@ -27,6 +27,18 @@ #include "src/core/lib/support/string.h" #include "test/core/util/test_config.h" +extern gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type); + +static int g_clock = 0; + +static gpr_timespec fake_gpr_now(gpr_clock_type clock_type) { + return (gpr_timespec){ + .tv_sec = g_clock, .tv_nsec = 0, .clock_type = clock_type, + }; +} + +static void inc_time(void) { g_clock += 30; } + static void test_noop(void) { gpr_log(GPR_INFO, "test_noop"); grpc_bdp_estimator est; @@ -44,6 +56,7 @@ static void test_get_estimate_no_samples(void) { static void add_samples(grpc_bdp_estimator *estimator, int64_t *samples, size_t n) { grpc_bdp_estimator_add_incoming_bytes(estimator, 1234567); + inc_time(); GPR_ASSERT(grpc_bdp_estimator_need_ping(estimator) == true); grpc_bdp_estimator_schedule_ping(estimator); grpc_bdp_estimator_start_ping(estimator); @@ -130,6 +143,7 @@ static void test_get_estimate_random_values(size_t n) { int main(int argc, char **argv) { grpc_test_init(argc, argv); + gpr_now_impl = fake_gpr_now; grpc_init(); test_noop(); test_get_estimate_no_samples(); From 75271d741e61ec82737d4374203f2b9a6f894e03 Mon Sep 17 00:00:00 2001 From: Muxi Yan Date: Mon, 18 Sep 2017 17:30:20 -0700 Subject: [PATCH 037/180] Generate forward declaration in pbrpc.h --- src/compiler/objective_c_generator.cc | 21 +++++++++++++++++++++ src/compiler/objective_c_generator.h | 4 ++++ src/compiler/objective_c_plugin.cc | 18 ++++++++++-------- 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/src/compiler/objective_c_generator.cc b/src/compiler/objective_c_generator.cc index c05d15375b3..33b5fedd5c8 100644 --- a/src/compiler/objective_c_generator.cc +++ b/src/compiler/objective_c_generator.cc @@ -17,6 +17,7 @@ */ #include +#include #include #include "src/compiler/config.h" @@ -29,7 +30,9 @@ using ::google::protobuf::compiler::objectivec::ClassName; using ::grpc::protobuf::io::Printer; using ::grpc::protobuf::MethodDescriptor; using ::grpc::protobuf::ServiceDescriptor; +using ::grpc::protobuf::FileDescriptor; using ::std::map; +using ::std::set; namespace grpc_objective_c_generator { namespace { @@ -190,6 +193,24 @@ void PrintMethodImplementations(Printer *printer, } // namespace +::grpc::string GetAllMessageClasses(const FileDescriptor *file) { + ::grpc::string output; + set< ::grpc::string> classes; + for (int i = 0; i < file->service_count(); i++) { + const auto service = file->service(i); + for (int i = 0; i < service->method_count(); i++) { + const auto method = service->method(i); + classes.insert(ClassName(method->input_type())); + classes.insert(ClassName(method->output_type())); + } + } + for (auto one_class : classes) { + output += " @class " + one_class + ";\n"; + } + + return output; +} + ::grpc::string GetHeader(const ServiceDescriptor *service) { ::grpc::string output; { diff --git a/src/compiler/objective_c_generator.h b/src/compiler/objective_c_generator.h index edbee7ff524..e912a52415f 100644 --- a/src/compiler/objective_c_generator.h +++ b/src/compiler/objective_c_generator.h @@ -24,8 +24,12 @@ namespace grpc_objective_c_generator { using ::grpc::protobuf::ServiceDescriptor; +using ::grpc::protobuf::FileDescriptor; using ::grpc::string; +// Returns forward declaration of classes in the generated header file. +string GetAllMessageClasses(const FileDescriptor *file); + // Returns the content to be included in the "global_scope" insertion point of // the generated header file. string GetHeader(const ServiceDescriptor *service); diff --git a/src/compiler/objective_c_plugin.cc b/src/compiler/objective_c_plugin.cc index 96a3375e962..de878cf143b 100644 --- a/src/compiler/objective_c_plugin.cc +++ b/src/compiler/objective_c_plugin.cc @@ -58,9 +58,10 @@ class ObjectiveCGrpcGenerator : public grpc::protobuf::compiler::CodeGenerator { "#import \n" "#import \n"; - // TODO(jcanizales): Instead forward-declare the input and output types - // and import the files in the .pbrpc.m ::grpc::string proto_imports; + proto_imports += "#if GPB_GRPC_FORWARD_DECLARE_MESSAGE_PROTO\n" + + grpc_objective_c_generator::GetAllMessageClasses(file) + + "#else\n"; for (int i = 0; i < file->dependency_count(); i++) { ::grpc::string header = grpc_objective_c_generator::MessageHeaderName(file->dependency(i)); @@ -70,19 +71,20 @@ class ObjectiveCGrpcGenerator : public grpc::protobuf::compiler::CodeGenerator { grpc_generator::StripPrefix(&base_name, "google/protobuf/"); // create the import code snippet proto_imports += - "#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS\n" - " #import <" + + " #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS\n" + " #import <" + ::grpc::string(ProtobufLibraryFrameworkName) + "/" + base_name + ">\n" - "#else\n" - " #import \"" + + " #else\n" + " #import \"" + header + "\"\n" - "#endif\n"; + " #endif\n"; } else { - proto_imports += ::grpc::string("#import \"") + header + "\"\n"; + proto_imports += ::grpc::string(" #import \"") + header + "\"\n"; } } + proto_imports += "#endif\n"; ::grpc::string declarations; for (int i = 0; i < file->service_count(); i++) { From 1e32fea495d093a323cceae9746f0c8637a42b73 Mon Sep 17 00:00:00 2001 From: Muxi Yan Date: Tue, 19 Sep 2017 09:46:12 -0700 Subject: [PATCH 038/180] Generate dependency header import in pbrpc.m --- src/compiler/objective_c_plugin.cc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/compiler/objective_c_plugin.cc b/src/compiler/objective_c_plugin.cc index de878cf143b..e751d0562e2 100644 --- a/src/compiler/objective_c_plugin.cc +++ b/src/compiler/objective_c_plugin.cc @@ -108,6 +108,28 @@ class ObjectiveCGrpcGenerator : public grpc::protobuf::compiler::CodeGenerator { ".pbrpc.h\"\n\n" "#import \n" "#import \n"; + for (int i = 0; i < file->dependency_count(); i++) { + ::grpc::string header = + grpc_objective_c_generator::MessageHeaderName(file->dependency(i)); + const grpc::protobuf::FileDescriptor *dependency = file->dependency(i); + if (IsProtobufLibraryBundledProtoFile(dependency)) { + ::grpc::string base_name = header; + grpc_generator::StripPrefix(&base_name, "google/protobuf/"); + // create the import code snippet + imports += + "#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS\n" + " #import <" + + ::grpc::string(ProtobufLibraryFrameworkName) + "/" + base_name + + ">\n" + "#else\n" + " #import \"" + + header + + "\"\n" + "#endif\n"; + } else { + imports += ::grpc::string("#import \"") + header + "\"\n"; + } + } ::grpc::string definitions; for (int i = 0; i < file->service_count(); i++) { From a1bb6cad29ecc534051849e0574742e30130b72b Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 19 Sep 2017 18:05:09 +0000 Subject: [PATCH 039/180] Fix timeout encoding test --- src/core/lib/transport/timeout_encoding.c | 2 +- test/core/transport/timeout_encoding_test.c | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/core/lib/transport/timeout_encoding.c b/src/core/lib/transport/timeout_encoding.c index 779d016ca6b..23a9ef308f6 100644 --- a/src/core/lib/transport/timeout_encoding.c +++ b/src/core/lib/transport/timeout_encoding.c @@ -89,7 +89,7 @@ static int is_all_whitespace(const char *p, const char *end) { } int grpc_http2_decode_timeout(grpc_slice text, grpc_millis *timeout) { - int32_t x = 0; + grpc_millis x = 0; const uint8_t *p = GRPC_SLICE_START_PTR(text); const uint8_t *end = GRPC_SLICE_END_PTR(text); int have_digit = 0; diff --git a/test/core/transport/timeout_encoding_test.c b/test/core/transport/timeout_encoding_test.c index fcd263f1043..039bb333412 100644 --- a/test/core/transport/timeout_encoding_test.c +++ b/test/core/transport/timeout_encoding_test.c @@ -25,6 +25,7 @@ #include #include #include +#include "src/core/lib/support/murmur_hash.h" #include "src/core/lib/support/string.h" #include "test/core/util/test_config.h" @@ -64,10 +65,14 @@ void test_encoding(void) { static void assert_decodes_as(const char *buffer, grpc_millis expected) { grpc_millis got; - gpr_log(GPR_INFO, "check decoding '%s'", buffer); + uint32_t hash = gpr_murmur_hash3(buffer, strlen(buffer), 0); + gpr_log(GPR_INFO, "check decoding '%s' (hash=0x%x)", buffer, hash); GPR_ASSERT(1 == grpc_http2_decode_timeout( grpc_slice_from_static_string(buffer), &got)); - GPR_ASSERT(got == expected); + if (got != expected) { + gpr_log(GPR_ERROR, "got:'%"PRIdPTR"' != expected:'%"PRIdPTR"'", got, expected); + abort(); + } } void decode_suite(char ext, grpc_millis (*answer)(int64_t x)) { @@ -95,8 +100,8 @@ void decode_suite(char ext, grpc_millis (*answer)(int64_t x)) { } } -static grpc_millis millis_from_nanos(int64_t x) { return x / GPR_NS_PER_MS; } -static grpc_millis millis_from_micros(int64_t x) { return x / GPR_US_PER_MS; } +static grpc_millis millis_from_nanos(int64_t x) { return x / GPR_NS_PER_MS + (x % GPR_NS_PER_MS != 0); } +static grpc_millis millis_from_micros(int64_t x) { return x / GPR_US_PER_MS + (x % GPR_US_PER_MS != 0); } static grpc_millis millis_from_millis(int64_t x) { return x; } static grpc_millis millis_from_seconds(int64_t x) { return x * GPR_MS_PER_SEC; } static grpc_millis millis_from_minutes(int64_t x) { From 6ef8db92bc16ea23dd579f2706335c764f45bc4c Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 19 Sep 2017 18:39:59 +0000 Subject: [PATCH 040/180] Fix test --- .../filters/client_channel/resolver/dns/native/dns_resolver.c | 3 +++ test/core/end2end/invalid_call_argument_test.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c index 7287a5dabce..fd91ac86991 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c +++ b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c @@ -150,6 +150,8 @@ static void dns_on_resolved_locked(grpc_exec_ctx *exec_ctx, void *arg, grpc_channel_args *result = NULL; GPR_ASSERT(r->resolving); r->resolving = false; + GRPC_ERROR_REF(error); + error = grpc_error_set_str(error, GRPC_ERROR_STR_TARGET_ADDRESS, grpc_slice_from_copied_string(r->name_to_resolve)); if (r->addresses != NULL) { grpc_lb_addresses *addresses = grpc_lb_addresses_create( r->addresses->naddrs, NULL /* user_data_vtable */); @@ -186,6 +188,7 @@ static void dns_on_resolved_locked(grpc_exec_ctx *exec_ctx, void *arg, r->resolved_result = result; r->resolved_version++; dns_maybe_finish_next_locked(exec_ctx, r); + GRPC_ERROR_UNREF(error); GRPC_RESOLVER_UNREF(exec_ctx, &r->base, "dns-resolving"); } diff --git a/test/core/end2end/invalid_call_argument_test.c b/test/core/end2end/invalid_call_argument_test.c index bf0d08adecf..e3fd5a8fbe1 100644 --- a/test/core/end2end/invalid_call_argument_test.c +++ b/test/core/end2end/invalid_call_argument_test.c @@ -92,7 +92,7 @@ static void prepare_test(int is_client) { op = g_state.ops; op->op = GRPC_OP_SEND_INITIAL_METADATA; op->data.send_initial_metadata.count = 0; - op->flags = 0; + op->flags = GRPC_INITIAL_METADATA_WAIT_FOR_READY; op->reserved = NULL; op++; GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(g_state.call, g_state.ops, From 4ebcab42f9fda2a045522caddf84296355e3b2a6 Mon Sep 17 00:00:00 2001 From: Yuchen Zeng Date: Tue, 19 Sep 2017 11:44:15 -0700 Subject: [PATCH 041/180] Reset server-side ping enforcement after send trailing metadata --- .../ext/transport/chttp2/transport/writing.c | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/writing.c b/src/core/ext/transport/chttp2/transport/writing.c index 7d9d4867e14..66e6971326f 100644 --- a/src/core/ext/transport/chttp2/transport/writing.c +++ b/src/core/ext/transport/chttp2/transport/writing.c @@ -62,7 +62,8 @@ static void maybe_initiate_ping(grpc_exec_ctx *exec_ctx, /* ping already in-flight: wait */ if (GRPC_TRACER_ON(grpc_http_trace) || GRPC_TRACER_ON(grpc_bdp_estimator_trace)) { - gpr_log(GPR_DEBUG, "Ping delayed [%p]: already pinging", t->peer_string); + gpr_log(GPR_DEBUG, "%s: Ping delayed [%p]: already pinging", + t->is_client ? "CLIENT" : "SERVER", t->peer_string); } return; } @@ -71,8 +72,9 @@ static void maybe_initiate_ping(grpc_exec_ctx *exec_ctx, /* need to receive something of substance before sending a ping again */ if (GRPC_TRACER_ON(grpc_http_trace) || GRPC_TRACER_ON(grpc_bdp_estimator_trace)) { - gpr_log(GPR_DEBUG, "Ping delayed [%p]: too many recent pings: %d/%d", - t->peer_string, t->ping_state.pings_before_data_required, + gpr_log(GPR_DEBUG, "%s: Ping delayed [%p]: too many recent pings: %d/%d", + t->is_client ? "CLIENT" : "SERVER", t->peer_string, + t->ping_state.pings_before_data_required, t->ping_policy.max_pings_without_data); } return; @@ -94,8 +96,8 @@ static void maybe_initiate_ping(grpc_exec_ctx *exec_ctx, if (GRPC_TRACER_ON(grpc_http_trace) || GRPC_TRACER_ON(grpc_bdp_estimator_trace)) { gpr_log(GPR_DEBUG, - "Ping delayed [%p]: not enough time elapsed since last ping", - t->peer_string); + "%s: Ping delayed [%p]: not enough time elapsed since last ping", + t->is_client ? "CLIENT" : "SERVER", t->peer_string); } if (!t->ping_state.is_delayed_ping_timer_set) { t->ping_state.is_delayed_ping_timer_set = true; @@ -126,7 +128,8 @@ static void maybe_initiate_ping(grpc_exec_ctx *exec_ctx, t->ping_state.last_ping_sent_time = now; if (GRPC_TRACER_ON(grpc_http_trace) || GRPC_TRACER_ON(grpc_bdp_estimator_trace)) { - gpr_log(GPR_DEBUG, "Ping sent [%p]: %d/%d", t->peer_string, + gpr_log(GPR_DEBUG, "%s: Ping sent [%p]: %d/%d", + t->is_client ? "CLIENT" : "SERVER", t->peer_string, t->ping_state.pings_before_data_required, t->ping_policy.max_pings_without_data); } @@ -451,6 +454,11 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( } s->send_trailing_metadata = NULL; s->sent_trailing_metadata = true; + if (!t->is_client) { + t->ping_recv_state.last_ping_recv_time = + gpr_inf_past(GPR_CLOCK_MONOTONIC); + t->ping_recv_state.ping_strikes = 0; + } if (!t->is_client && !s->read_closed) { grpc_slice_buffer_add( &t->outbuf, grpc_chttp2_rst_stream_create( From 1f710e583117c3ef65733c59f1d3e5b50219828e Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 19 Sep 2017 18:52:34 +0000 Subject: [PATCH 042/180] Fix test --- test/core/end2end/fixtures/h2_ssl_cert.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/core/end2end/fixtures/h2_ssl_cert.c b/test/core/end2end/fixtures/h2_ssl_cert.c index 9b1ddadfe4c..f0a2ee5430e 100644 --- a/test/core/end2end/fixtures/h2_ssl_cert.c +++ b/test/core/end2end/fixtures/h2_ssl_cert.c @@ -319,7 +319,7 @@ static void simple_request_body(grpc_end2end_test_fixture f, op = ops; op->op = GRPC_OP_SEND_INITIAL_METADATA; op->data.send_initial_metadata.count = 0; - op->flags = 0; + op->flags = GRPC_INITIAL_METADATA_WAIT_FOR_READY; op->reserved = NULL; op++; error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), NULL); From 4aa2331958c5fd7b547f016457029b0943818317 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 19 Sep 2017 19:01:56 +0000 Subject: [PATCH 043/180] Fix compile --- test/cpp/naming/resolver_component_test.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cpp/naming/resolver_component_test.cc b/test/cpp/naming/resolver_component_test.cc index 0857fb6a32c..47dee5cb3af 100644 --- a/test/cpp/naming/resolver_component_test.cc +++ b/test/cpp/naming/resolver_component_test.cc @@ -202,7 +202,7 @@ void PollPollsetUntilRequestDone(ArgsStruct *args) { GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, args->pollset, &worker, - gpr_now(GPR_CLOCK_REALTIME), NSecondDeadline(1))); + grpc_timespec_to_millis_round_up(NSecondDeadline(1)))); gpr_mu_unlock(args->mu); grpc_exec_ctx_finish(&exec_ctx); } From d0ceb377a434e6d8807d461417df3d6de089a1e2 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 19 Sep 2017 12:02:31 -0700 Subject: [PATCH 044/180] clang-format --- .../client_channel/resolver/dns/native/dns_resolver.c | 3 ++- test/core/transport/timeout_encoding_test.c | 11 ++++++++--- test/cpp/naming/resolver_component_test.cc | 8 ++++---- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c index fd91ac86991..e4bffbe8719 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c +++ b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c @@ -151,7 +151,8 @@ static void dns_on_resolved_locked(grpc_exec_ctx *exec_ctx, void *arg, GPR_ASSERT(r->resolving); r->resolving = false; GRPC_ERROR_REF(error); - error = grpc_error_set_str(error, GRPC_ERROR_STR_TARGET_ADDRESS, grpc_slice_from_copied_string(r->name_to_resolve)); + error = grpc_error_set_str(error, GRPC_ERROR_STR_TARGET_ADDRESS, + grpc_slice_from_copied_string(r->name_to_resolve)); if (r->addresses != NULL) { grpc_lb_addresses *addresses = grpc_lb_addresses_create( r->addresses->naddrs, NULL /* user_data_vtable */); diff --git a/test/core/transport/timeout_encoding_test.c b/test/core/transport/timeout_encoding_test.c index 039bb333412..3010c6d057d 100644 --- a/test/core/transport/timeout_encoding_test.c +++ b/test/core/transport/timeout_encoding_test.c @@ -70,7 +70,8 @@ static void assert_decodes_as(const char *buffer, grpc_millis expected) { GPR_ASSERT(1 == grpc_http2_decode_timeout( grpc_slice_from_static_string(buffer), &got)); if (got != expected) { - gpr_log(GPR_ERROR, "got:'%"PRIdPTR"' != expected:'%"PRIdPTR"'", got, expected); + gpr_log(GPR_ERROR, "got:'%" PRIdPTR "' != expected:'%" PRIdPTR "'", got, + expected); abort(); } } @@ -100,8 +101,12 @@ void decode_suite(char ext, grpc_millis (*answer)(int64_t x)) { } } -static grpc_millis millis_from_nanos(int64_t x) { return x / GPR_NS_PER_MS + (x % GPR_NS_PER_MS != 0); } -static grpc_millis millis_from_micros(int64_t x) { return x / GPR_US_PER_MS + (x % GPR_US_PER_MS != 0); } +static grpc_millis millis_from_nanos(int64_t x) { + return x / GPR_NS_PER_MS + (x % GPR_NS_PER_MS != 0); +} +static grpc_millis millis_from_micros(int64_t x) { + return x / GPR_US_PER_MS + (x % GPR_US_PER_MS != 0); +} static grpc_millis millis_from_millis(int64_t x) { return x; } static grpc_millis millis_from_seconds(int64_t x) { return x * GPR_MS_PER_SEC; } static grpc_millis millis_from_minutes(int64_t x) { diff --git a/test/cpp/naming/resolver_component_test.cc b/test/cpp/naming/resolver_component_test.cc index 47dee5cb3af..34575e0fe5f 100644 --- a/test/cpp/naming/resolver_component_test.cc +++ b/test/cpp/naming/resolver_component_test.cc @@ -199,10 +199,10 @@ void PollPollsetUntilRequestDone(ArgsStruct *args) { grpc_pollset_worker *worker = NULL; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; gpr_mu_lock(args->mu); - GRPC_LOG_IF_ERROR( - "pollset_work", - grpc_pollset_work(&exec_ctx, args->pollset, &worker, - grpc_timespec_to_millis_round_up(NSecondDeadline(1)))); + GRPC_LOG_IF_ERROR("pollset_work", + grpc_pollset_work(&exec_ctx, args->pollset, &worker, + grpc_timespec_to_millis_round_up( + NSecondDeadline(1)))); gpr_mu_unlock(args->mu); grpc_exec_ctx_finish(&exec_ctx); } From 2c48148ebdcdfb62bc24c387f29d986606dc1bcd Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 19 Sep 2017 14:07:19 -0700 Subject: [PATCH 045/180] Make sure initial settings are as we would pick next iteration --- .../chttp2/transport/chttp2_transport.c | 17 ++----- .../transport/chttp2/transport/flow_control.c | 47 ++++++++++++------- .../ext/transport/chttp2/transport/internal.h | 3 ++ 3 files changed, 38 insertions(+), 29 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index b424bd2da5b..e1c2265be41 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -274,6 +274,7 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, t->is_client = is_client; t->flow_control.remote_window = DEFAULT_WINDOW; t->flow_control.announced_window = DEFAULT_WINDOW; + t->flow_control.target_initial_window_size = DEFAULT_WINDOW; t->flow_control.t = t; t->deframe_state = is_client ? GRPC_DTS_FH_0 : GRPC_DTS_CLIENT_PREFIX_0; t->is_first_frame = true; @@ -312,16 +313,6 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, grpc_combiner_scheduler(t->combiner)); grpc_bdp_estimator_init(&t->flow_control.bdp_estimator, t->peer_string); - t->flow_control.last_pid_update = gpr_now(GPR_CLOCK_MONOTONIC); - grpc_pid_controller_init( - &t->flow_control.pid_controller, - (grpc_pid_controller_args){.gain_p = 4, - .gain_i = 8, - .gain_d = 0, - .initial_control_value = log2(DEFAULT_WINDOW), - .min_control_value = -1, - .max_control_value = 25, - .integral_range = 10}); grpc_chttp2_goaway_parser_init(&t->goaway_parser); grpc_chttp2_hpack_parser_init(exec_ctx, &t->hpack_parser); @@ -360,8 +351,6 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, queue_setting_update(exec_ctx, t, GRPC_CHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS, 0); } - queue_setting_update(exec_ctx, t, GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE, - DEFAULT_WINDOW); queue_setting_update(exec_ctx, t, GRPC_CHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE, DEFAULT_MAX_HEADER_LIST_SIZE); queue_setting_update(exec_ctx, t, @@ -591,6 +580,10 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, t->keepalive_state = GRPC_CHTTP2_KEEPALIVE_STATE_DISABLED; } + grpc_chttp2_act_on_flowctl_action( + exec_ctx, grpc_chttp2_flowctl_get_action(&t->flow_control, NULL), t, + NULL); + grpc_chttp2_initiate_write(exec_ctx, t, GRPC_CHTTP2_INITIATE_WRITE_INITIAL_WRITE); post_benign_reclaimer(exec_ctx, t); diff --git a/src/core/ext/transport/chttp2/transport/flow_control.c b/src/core/ext/transport/chttp2/transport/flow_control.c index e3be2e51980..aa1dd2d3cbe 100644 --- a/src/core/ext/transport/chttp2/transport/flow_control.c +++ b/src/core/ext/transport/chttp2/transport/flow_control.c @@ -175,11 +175,9 @@ static void trace_action(grpc_chttp2_transport_flowctl* tfc, /* How many bytes of incoming flow control would we like to advertise */ static uint32_t grpc_chttp2_target_announced_window( const grpc_chttp2_transport_flowctl* tfc) { - return (uint32_t)GPR_MIN( - (int64_t)((1u << 31) - 1), - tfc->announced_stream_total_over_incoming_window + - tfc->t->settings[GRPC_SENT_SETTINGS] - [GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE]); + return (uint32_t)GPR_MIN((int64_t)((1u << 31) - 1), + tfc->announced_stream_total_over_incoming_window + + tfc->target_initial_window_size); } // we have sent data on the wire, we must track this in our bookkeeping for the @@ -395,8 +393,22 @@ static grpc_chttp2_flowctl_urgency delta_is_significant( // guess at the new bdp. static double get_pid_controller_guess(grpc_chttp2_transport_flowctl* tfc, double target) { - double bdp_error = target - grpc_pid_controller_last(&tfc->pid_controller); gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); + if (!tfc->pid_controller_initialized) { + tfc->last_pid_update = now; + tfc->pid_controller_initialized = true; + grpc_pid_controller_init( + &tfc->pid_controller, + (grpc_pid_controller_args){.gain_p = 4, + .gain_i = 8, + .gain_d = 0, + .initial_control_value = target, + .min_control_value = -1, + .max_control_value = 25, + .integral_range = 10}); + return pow(2, target); + } + double bdp_error = target - grpc_pid_controller_last(&tfc->pid_controller); gpr_timespec dt_timespec = gpr_time_sub(now, tfc->last_pid_update); double dt = (double)dt_timespec.tv_sec + dt_timespec.tv_nsec * 1e-9; if (dt > 0.1) { @@ -415,7 +427,7 @@ static double get_target_under_memory_pressure( double memory_pressure = grpc_resource_quota_get_memory_pressure( grpc_resource_user_quota(grpc_endpoint_get_resource_user(tfc->t->ep))); static const double kLowMemPressure = 0.1; - static const double kZeroTarget = 24; + static const double kZeroTarget = 22; static const double kHighMemPressure = 0.8; static const double kMaxMemPressure = 0.9; if (memory_pressure < kLowMemPressure && target < kZeroTarget) { @@ -432,10 +444,6 @@ grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_action( grpc_chttp2_transport_flowctl* tfc, grpc_chttp2_stream_flowctl* sfc) { grpc_chttp2_flowctl_action action; memset(&action, 0, sizeof(action)); - uint32_t target_announced_window = grpc_chttp2_target_announced_window(tfc); - if (tfc->announced_window < target_announced_window / 2) { - action.send_transport_update = GRPC_CHTTP2_FLOWCTL_UPDATE_IMMEDIATELY; - } // TODO(ncteisen): tune this if (sfc != NULL && !sfc->s->read_closed) { uint32_t sent_init_window = @@ -455,7 +463,6 @@ grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_action( // get bdp estimate and update initial_window accordingly. int64_t estimate = -1; - int32_t bdp = -1; if (grpc_bdp_estimator_get_estimate(&tfc->bdp_estimator, &estimate)) { double target = 1 + log2((double)estimate); @@ -469,14 +476,15 @@ grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_action( double bdp_guess = get_pid_controller_guess(tfc, target); // Though initial window 'could' drop to 0, we keep the floor at 128 - bdp = GPR_MAX((int32_t)bdp_guess, 128); + tfc->target_initial_window_size = + (int32_t)GPR_CLAMP(bdp_guess, 128, INT32_MAX); grpc_chttp2_flowctl_urgency init_window_update_urgency = - delta_is_significant(tfc, bdp, + delta_is_significant(tfc, tfc->target_initial_window_size, GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE); if (init_window_update_urgency != GRPC_CHTTP2_FLOWCTL_NO_ACTION_NEEDED) { action.send_setting_update = init_window_update_urgency; - action.initial_window_size = (uint32_t)bdp; + action.initial_window_size = (uint32_t)tfc->target_initial_window_size; } } @@ -485,8 +493,9 @@ grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_action( if (grpc_bdp_estimator_get_bw(&tfc->bdp_estimator, &bw_dbl)) { // we target the max of BDP or bandwidth in microseconds. int32_t frame_size = (int32_t)GPR_CLAMP( - GPR_MAX((int32_t)GPR_CLAMP(bw_dbl, 0, INT_MAX) / 1000, bdp), 16384, - 16777215); + GPR_MAX((int32_t)GPR_CLAMP(bw_dbl, 0, INT_MAX) / 1000, + tfc->target_initial_window_size), + 16384, 16777215); grpc_chttp2_flowctl_urgency frame_size_urgency = delta_is_significant( tfc, frame_size, GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE); if (frame_size_urgency != GRPC_CHTTP2_FLOWCTL_NO_ACTION_NEEDED) { @@ -497,6 +506,10 @@ grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_action( } } } + uint32_t target_announced_window = grpc_chttp2_target_announced_window(tfc); + if (tfc->announced_window < target_announced_window / 2) { + action.send_transport_update = GRPC_CHTTP2_FLOWCTL_UPDATE_IMMEDIATELY; + } TRACEACTION(tfc, action); return action; } diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h index 1506d613114..4b66f7d6ea2 100644 --- a/src/core/ext/transport/chttp2/transport/internal.h +++ b/src/core/ext/transport/chttp2/transport/internal.h @@ -258,6 +258,8 @@ typedef struct { * to send WINDOW_UPDATE frames. */ int64_t announced_window; + int32_t target_initial_window_size; + /** should we probe bdp? */ bool enable_bdp_probe; @@ -265,6 +267,7 @@ typedef struct { grpc_bdp_estimator bdp_estimator; /* pid controller */ + bool pid_controller_initialized; grpc_pid_controller pid_controller; gpr_timespec last_pid_update; From 18c77ccfdbb0adc3377557b7de4b1898f3eec3eb Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 19 Sep 2017 15:22:04 -0700 Subject: [PATCH 046/180] Fix pings --- include/grpc/impl/codegen/atm_gcc_atomic.h | 1 + include/grpc/impl/codegen/atm_gcc_sync.h | 1 + include/grpc/impl/codegen/atm_windows.h | 1 + .../chttp2/transport/chttp2_transport.c | 22 ++++++++----------- .../transport/chttp2/transport/frame_ping.c | 5 +++-- .../ext/transport/chttp2/transport/parsing.c | 4 ++-- .../ext/transport/chttp2/transport/writing.c | 11 ++++------ src/core/lib/iomgr/exec_ctx.h | 1 + 8 files changed, 22 insertions(+), 24 deletions(-) diff --git a/include/grpc/impl/codegen/atm_gcc_atomic.h b/include/grpc/impl/codegen/atm_gcc_atomic.h index 1793ec22b88..76ce8639141 100644 --- a/include/grpc/impl/codegen/atm_gcc_atomic.h +++ b/include/grpc/impl/codegen/atm_gcc_atomic.h @@ -25,6 +25,7 @@ typedef intptr_t gpr_atm; #define GPR_ATM_MAX INTPTR_MAX +#define GPR_ATM_MIN INTPTR_MIN #ifdef GPR_LOW_LEVEL_COUNTERS extern gpr_atm gpr_counter_atm_cas; diff --git a/include/grpc/impl/codegen/atm_gcc_sync.h b/include/grpc/impl/codegen/atm_gcc_sync.h index 27ae0f63d52..a9e4da3a0fe 100644 --- a/include/grpc/impl/codegen/atm_gcc_sync.h +++ b/include/grpc/impl/codegen/atm_gcc_sync.h @@ -25,6 +25,7 @@ typedef intptr_t gpr_atm; #define GPR_ATM_MAX INTPTR_MAX +#define GPR_ATM_MIN INTPTR_MIN #define GPR_ATM_COMPILE_BARRIER_() __asm__ __volatile__("" : : : "memory") diff --git a/include/grpc/impl/codegen/atm_windows.h b/include/grpc/impl/codegen/atm_windows.h index dfcaa4cc377..b868d79aef7 100644 --- a/include/grpc/impl/codegen/atm_windows.h +++ b/include/grpc/impl/codegen/atm_windows.h @@ -24,6 +24,7 @@ typedef intptr_t gpr_atm; #define GPR_ATM_MAX INTPTR_MAX +#define GPR_ATM_MIN INTPTR_MIN #define gpr_atm_full_barrier MemoryBarrier diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index 640ad6351c0..1483dad432b 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -1766,19 +1766,15 @@ static void send_goaway(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, void grpc_chttp2_add_ping_strike(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t) { t->ping_recv_state.ping_strikes++; - if (t->ping_policy.max_ping_strikes != 0) { - gpr_log(GPR_DEBUG, "%s: PING strike %d/%d", t->peer_string, - t->ping_recv_state.ping_strikes, t->ping_policy.max_ping_strikes); - if (t->ping_recv_state.ping_strikes > t->ping_policy.max_ping_strikes) { - send_goaway( - exec_ctx, t, - grpc_error_set_int( - GRPC_ERROR_CREATE_FROM_STATIC_STRING("too_many_pings"), - GRPC_ERROR_INT_HTTP2_ERROR, GRPC_HTTP2_ENHANCE_YOUR_CALM)); - /*The transport will be closed after the write is done */ - close_transport_locked( - exec_ctx, t, GRPC_ERROR_CREATE_FROM_STATIC_STRING("Too many pings")); - } + if (++t->ping_recv_state.ping_strikes > t->ping_policy.max_ping_strikes && + t->ping_policy.max_ping_strikes != 0) { + send_goaway(exec_ctx, t, + grpc_error_set_int( + GRPC_ERROR_CREATE_FROM_STATIC_STRING("too_many_pings"), + GRPC_ERROR_INT_HTTP2_ERROR, GRPC_HTTP2_ENHANCE_YOUR_CALM)); + /*The transport will be closed after the write is done */ + close_transport_locked( + exec_ctx, t, GRPC_ERROR_CREATE_FROM_STATIC_STRING("Too many pings")); } } diff --git a/src/core/ext/transport/chttp2/transport/frame_ping.c b/src/core/ext/transport/chttp2/transport/frame_ping.c index 195a2a672f4..1cfa883ee15 100644 --- a/src/core/ext/transport/chttp2/transport/frame_ping.c +++ b/src/core/ext/transport/chttp2/transport/frame_ping.c @@ -89,6 +89,7 @@ grpc_error *grpc_chttp2_ping_parser_parse(grpc_exec_ctx *exec_ctx, void *parser, grpc_chttp2_ack_ping(exec_ctx, t, p->opaque_8bytes); } else { if (!t->is_client) { + grpc_millis now = grpc_exec_ctx_now(exec_ctx); grpc_millis next_allowed_ping = t->ping_recv_state.last_ping_recv_time + t->ping_policy.min_recv_ping_interval_without_data; @@ -102,11 +103,11 @@ grpc_error *grpc_chttp2_ping_parser_parse(grpc_exec_ctx *exec_ctx, void *parser, t->ping_recv_state.last_ping_recv_time + 7200 * GPR_MS_PER_SEC; } - if (next_allowed_ping > grpc_exec_ctx_now(exec_ctx)) { + if (next_allowed_ping > now) { grpc_chttp2_add_ping_strike(exec_ctx, t); } - t->ping_recv_state.last_ping_recv_time = grpc_exec_ctx_now(exec_ctx); + t->ping_recv_state.last_ping_recv_time = now; } if (!g_disable_ping_ack) { if (t->ping_ack_count == t->ping_ack_capacity) { diff --git a/src/core/ext/transport/chttp2/transport/parsing.c b/src/core/ext/transport/chttp2/transport/parsing.c index 1dde192ec96..b2b6da7992d 100644 --- a/src/core/ext/transport/chttp2/transport/parsing.c +++ b/src/core/ext/transport/chttp2/transport/parsing.c @@ -385,7 +385,7 @@ error_handler: t->parser_data = &s->data_parser; t->ping_state.pings_before_data_required = t->ping_policy.max_pings_without_data; - t->ping_state.last_ping_sent_time = 0; + t->ping_state.last_ping_sent_time = GRPC_MILLIS_INF_PAST; return GRPC_ERROR_NONE; } else if (grpc_error_get_int(err, GRPC_ERROR_INT_STREAM_ID, NULL)) { /* handle stream errors by closing the stream */ @@ -562,7 +562,7 @@ static grpc_error *init_header_frame_parser(grpc_exec_ctx *exec_ctx, t->ping_state.pings_before_data_required = t->ping_policy.max_pings_without_data; - t->ping_state.last_ping_sent_time = 0; + t->ping_state.last_ping_sent_time = GRPC_MILLIS_INF_PAST; /* could be a new grpc_chttp2_stream or an existing grpc_chttp2_stream */ s = grpc_chttp2_parsing_lookup_stream(t, t->incoming_stream_id); diff --git a/src/core/ext/transport/chttp2/transport/writing.c b/src/core/ext/transport/chttp2/transport/writing.c index ea930b60e7e..6e5f3d6bc62 100644 --- a/src/core/ext/transport/chttp2/transport/writing.c +++ b/src/core/ext/transport/chttp2/transport/writing.c @@ -86,15 +86,12 @@ static void maybe_initiate_ping(grpc_exec_ctx *exec_ctx, next_allowed_ping = t->ping_recv_state.last_ping_recv_time + 7200 * GPR_MS_PER_SEC; } - /* gpr_log(GPR_DEBUG, "next_allowed_ping:%d.%09d now:%d.%09d", - (int)next_allowed_ping.tv_sec, (int)next_allowed_ping.tv_nsec, - (int)now.tv_sec, (int)now.tv_nsec); */ if (next_allowed_ping > now) { /* not enough elapsed time between successive pings */ if (GRPC_TRACER_ON(grpc_http_trace) || GRPC_TRACER_ON(grpc_bdp_estimator_trace)) { gpr_log(GPR_DEBUG, - "Ping delayed [%p]: not enough time elapsed since last ping", + "Ping delayed [%s]: not enough time elapsed since last ping", t->peer_string); } if (!t->ping_state.is_delayed_ping_timer_set) { @@ -269,7 +266,7 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( s->send_initial_metadata, &hopt, &t->outbuf); now_writing = true; if (!t->is_client) { - t->ping_recv_state.last_ping_recv_time = 0; + t->ping_recv_state.last_ping_recv_time = GRPC_MILLIS_INF_PAST; t->ping_recv_state.ping_strikes = 0; } initial_metadata_writes++; @@ -307,7 +304,7 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( &t->outbuf, grpc_chttp2_window_update_create(s->id, stream_announce, &s->stats.outgoing)); if (!t->is_client) { - t->ping_recv_state.last_ping_recv_time = 0; + t->ping_recv_state.last_ping_recv_time = GRPC_MILLIS_INF_PAST; t->ping_recv_state.ping_strikes = 0; } flow_control_writes++; @@ -491,7 +488,7 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( &t->outbuf, grpc_chttp2_window_update_create(0, transport_announce, &throwaway_stats)); if (!t->is_client) { - t->ping_recv_state.last_ping_recv_time = 0; + t->ping_recv_state.last_ping_recv_time = GRPC_MILLIS_INF_PAST; t->ping_recv_state.ping_strikes = 0; } } diff --git a/src/core/lib/iomgr/exec_ctx.h b/src/core/lib/iomgr/exec_ctx.h index 6220e41a4fb..3caf7750138 100644 --- a/src/core/lib/iomgr/exec_ctx.h +++ b/src/core/lib/iomgr/exec_ctx.h @@ -27,6 +27,7 @@ typedef gpr_atm grpc_millis; #define GRPC_MILLIS_INF_FUTURE GPR_ATM_MAX +#define GRPC_MILLIS_INF_PAST GPR_ATM_MIN /** A workqueue represents a list of work to be executed asynchronously. Forward declared here to avoid a circular dependency with workqueue.h. */ From 34da2eeb42bf27ea4b292869822a721e273a1468 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 19 Sep 2017 15:52:39 -0700 Subject: [PATCH 047/180] Fix pings --- src/core/ext/transport/chttp2/transport/chttp2_transport.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index 1483dad432b..30d225a6984 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -561,7 +561,7 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, t->ping_state.pings_before_data_required = 0; t->ping_state.is_delayed_ping_timer_set = false; - t->ping_recv_state.last_ping_recv_time = 0; + t->ping_recv_state.last_ping_recv_time = GRPC_MILLIS_INF_PAST; t->ping_recv_state.ping_strikes = 0; /* Start keepalive pings */ From 183f2a6aaa9b4572c5cf2bb2ef76394dcd3f4f82 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 19 Sep 2017 20:34:07 -0700 Subject: [PATCH 048/180] clang-fmt --- src/core/ext/transport/chttp2/transport/chttp2_transport.c | 3 ++- src/core/lib/iomgr/ev_epollex_linux.c | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index dcdacc60c06..df386f83f08 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -370,7 +370,8 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, GRPC_CHTTP2_SETTINGS_GRPC_ALLOW_TRUE_BINARY_METADATA, 1); t->ping_policy.max_pings_without_data = g_default_max_pings_without_data; - t->ping_policy.min_sent_ping_interval_without_data = g_default_min_sent_ping_interval_without_data_ms; + t->ping_policy.min_sent_ping_interval_without_data = + g_default_min_sent_ping_interval_without_data_ms; t->ping_policy.max_ping_strikes = g_default_max_ping_strikes; t->ping_policy.min_recv_ping_interval_without_data = g_default_min_recv_ping_interval_without_data_ms; diff --git a/src/core/lib/iomgr/ev_epollex_linux.c b/src/core/lib/iomgr/ev_epollex_linux.c index f744ac5ca4b..8aaad8808a2 100644 --- a/src/core/lib/iomgr/ev_epollex_linux.c +++ b/src/core/lib/iomgr/ev_epollex_linux.c @@ -699,7 +699,6 @@ static int poll_deadline_to_millis_timeout(grpc_exec_ctx *exec_ctx, return 0; else return (int)delta; - } } static void fd_become_readable(grpc_exec_ctx *exec_ctx, grpc_fd *fd, From 49a096443754bafe745a2e167a41c46fab41f206 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 20 Sep 2017 03:46:27 +0000 Subject: [PATCH 049/180] Fix executor time invalidation --- src/core/lib/iomgr/executor.c | 1 + src/core/lib/iomgr/tcp_client_posix.c | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/lib/iomgr/executor.c b/src/core/lib/iomgr/executor.c index 2439f15a8a9..cb4f506aedc 100644 --- a/src/core/lib/iomgr/executor.c +++ b/src/core/lib/iomgr/executor.c @@ -184,6 +184,7 @@ static void executor_thread(void *arg) { gpr_log(GPR_DEBUG, "EXECUTOR[%d]: execute", (int)(ts - g_thread_state)); } + grpc_exec_ctx_invalidate_now(&exec_ctx); run_closures(&exec_ctx, &ts->local_elems); } grpc_exec_ctx_finish(&exec_ctx); diff --git a/src/core/lib/iomgr/tcp_client_posix.c b/src/core/lib/iomgr/tcp_client_posix.c index bb348bdf724..64834d88f50 100644 --- a/src/core/lib/iomgr/tcp_client_posix.c +++ b/src/core/lib/iomgr/tcp_client_posix.c @@ -48,7 +48,6 @@ extern grpc_tracer_flag grpc_tcp_trace; typedef struct { gpr_mu mu; grpc_fd *fd; - gpr_timespec deadline; grpc_timer alarm; grpc_closure on_alarm; int refs; From 4d264c041ab35a97baf1c7251f6b149fde3b2c95 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 20 Sep 2017 11:05:07 -0700 Subject: [PATCH 050/180] Add a script to filter chttp2 refcount logs --- tools/debug/core/chttp2_ref_leak.py | 42 +++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 tools/debug/core/chttp2_ref_leak.py diff --git a/tools/debug/core/chttp2_ref_leak.py b/tools/debug/core/chttp2_ref_leak.py new file mode 100755 index 00000000000..d693dd9e540 --- /dev/null +++ b/tools/debug/core/chttp2_ref_leak.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python2.7 +# Copyright 2017 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Reads stdin to find chttp2_refcount log lines, and prints reference leaks +# to stdout + +import collections +import sys +import re + +def new_obj(): + return ['destroy'] + +outstanding = collections.defaultdict(new_obj) + +# Sample log line: +# chttp2:unref:0x629000005200 2->1 destroy [src/core/ext/transport/chttp2/transport/chttp2_transport.c:599] + +for line in sys.stdin: + m = re.search(r'chttp2:( ref|unref):0x([a-fA-F0-9]+) [^ ]+ ([^[]+) \[(.*)\]', line) + if m: + if m.group(1) == ' ref': + outstanding[m.group(2)].append(m.group(3)) + else: + outstanding[m.group(2)].remove(m.group(3)) + +for obj, remaining in outstanding.items(): + if remaining: + print 'LEAKED: %s %r' % (obj, remaining) + From f6343040bfa590881716e9820ab4779e931cd82f Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 20 Sep 2017 11:11:58 -0700 Subject: [PATCH 051/180] Fix memory leak --- src/core/lib/surface/call.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.c index 03f47553a14..1390f638960 100644 --- a/src/core/lib/surface/call.c +++ b/src/core/lib/surface/call.c @@ -1342,6 +1342,11 @@ static void post_batch_completion(grpc_exec_ctx *exec_ctx, GRPC_ERROR_UNREF(error); error = GRPC_ERROR_NONE; } + if (error != GRPC_ERROR_NONE && bctl->op.recv_message && + *call->receiving_buffer != NULL) { + grpc_byte_buffer_destroy(*call->receiving_buffer); + *call->receiving_buffer = NULL; + } if (bctl->completion_data.notify_tag.is_closure) { /* unrefs bctl->error */ From e46f2d2c8fea5aa61c72f1fe1696aac9fdef9efe Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 20 Sep 2017 14:24:19 -0700 Subject: [PATCH 052/180] Fix memory leak --- src/core/lib/iomgr/resource_quota.c | 31 +++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/core/lib/iomgr/resource_quota.c b/src/core/lib/iomgr/resource_quota.c index 4895e0d1c92..2be2cad0ad2 100644 --- a/src/core/lib/iomgr/resource_quota.c +++ b/src/core/lib/iomgr/resource_quota.c @@ -87,6 +87,8 @@ struct grpc_resource_user { grpc_closure_list on_allocated; /* True if we are currently trying to allocate from the quota, false if not */ bool allocating; + /* How many bytes of allocations are outstanding */ + int64_t outstanding_allocations; /* True if we are currently trying to add ourselves to the non-free quota list, false otherwise */ bool added_to_free_pool; @@ -151,6 +153,9 @@ struct grpc_resource_quota { char *name; }; +static void ru_unref_by(grpc_exec_ctx *exec_ctx, + grpc_resource_user *resource_user, gpr_atm amount); + /******************************************************************************* * list management */ @@ -287,6 +292,25 @@ static bool rq_alloc(grpc_exec_ctx *exec_ctx, while ((resource_user = rulist_pop_head(resource_quota, GRPC_RULIST_AWAITING_ALLOCATION))) { gpr_mu_lock(&resource_user->mu); + if (GRPC_TRACER_ON(grpc_resource_quota_trace)) { + gpr_log(GPR_DEBUG, "RQ: check allocation for user %p shutdown=%" PRIdPTR + " free_pool=%" PRId64, + resource_user, gpr_atm_no_barrier_load(&resource_user->shutdown), + resource_user->free_pool); + } + if (gpr_atm_no_barrier_load(&resource_user->shutdown)) { + resource_user->allocating = false; + grpc_closure_list_fail_all( + &resource_user->on_allocated, + GRPC_ERROR_CREATE_FROM_STATIC_STRING("Resource user shutdown")); + int64_t aborted_allocations = resource_user->outstanding_allocations; + resource_user->outstanding_allocations = 0; + resource_user->free_pool += aborted_allocations; + GRPC_CLOSURE_LIST_SCHED(exec_ctx, &resource_user->on_allocated); + gpr_mu_unlock(&resource_user->mu); + ru_unref_by(exec_ctx, resource_user, aborted_allocations); + continue; + } if (resource_user->free_pool < 0 && -resource_user->free_pool <= resource_quota->free_pool) { int64_t amt = -resource_user->free_pool; @@ -306,6 +330,7 @@ static bool rq_alloc(grpc_exec_ctx *exec_ctx, } if (resource_user->free_pool >= 0) { resource_user->allocating = false; + resource_user->outstanding_allocations = 0; GRPC_CLOSURE_LIST_SCHED(exec_ctx, &resource_user->on_allocated); gpr_mu_unlock(&resource_user->mu); } else { @@ -486,6 +511,9 @@ static void ru_post_destructive_reclaimer(grpc_exec_ctx *exec_ctx, void *ru, } static void ru_shutdown(grpc_exec_ctx *exec_ctx, void *ru, grpc_error *error) { + if (GRPC_TRACER_ON(grpc_resource_quota_trace)) { + gpr_log(GPR_DEBUG, "RU shutdown %p", ru); + } grpc_resource_user *resource_user = (grpc_resource_user *)ru; GRPC_CLOSURE_SCHED(exec_ctx, resource_user->reclaimers[0], GRPC_ERROR_CANCELLED); @@ -716,6 +744,7 @@ grpc_resource_user *grpc_resource_user_create( resource_user->reclaimers[1] = NULL; resource_user->new_reclaimers[0] = NULL; resource_user->new_reclaimers[1] = NULL; + resource_user->outstanding_allocations = 0; for (int i = 0; i < GRPC_RULIST_COUNT; i++) { resource_user->links[i].next = resource_user->links[i].prev = NULL; } @@ -776,6 +805,7 @@ void grpc_resource_user_alloc(grpc_exec_ctx *exec_ctx, gpr_mu_lock(&resource_user->mu); ru_ref_by(resource_user, (gpr_atm)size); resource_user->free_pool -= (int64_t)size; + resource_user->outstanding_allocations += (int64_t)size; if (GRPC_TRACER_ON(grpc_resource_quota_trace)) { gpr_log(GPR_DEBUG, "RQ %s %s: alloc %" PRIdPTR "; free_pool -> %" PRId64, resource_user->resource_quota->name, resource_user->name, size, @@ -790,6 +820,7 @@ void grpc_resource_user_alloc(grpc_exec_ctx *exec_ctx, GRPC_ERROR_NONE); } } else { + resource_user->outstanding_allocations -= (int64_t)size; GRPC_CLOSURE_SCHED(exec_ctx, optional_on_done, GRPC_ERROR_NONE); } gpr_mu_unlock(&resource_user->mu); From bf21f0b02500e68e4feed2fd2ed1ab0f91f80068 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 20 Sep 2017 14:45:16 -0700 Subject: [PATCH 053/180] Fix ubsan failure --- src/core/ext/transport/chttp2/transport/parsing.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/parsing.c b/src/core/ext/transport/chttp2/transport/parsing.c index b2b6da7992d..2086f42cb20 100644 --- a/src/core/ext/transport/chttp2/transport/parsing.c +++ b/src/core/ext/transport/chttp2/transport/parsing.c @@ -446,8 +446,10 @@ static void on_initial_header(grpc_exec_ctx *exec_ctx, void *tp, } else { timeout = *cached_timeout; } - grpc_chttp2_incoming_metadata_buffer_set_deadline( - &s->metadata_buffer[0], grpc_exec_ctx_now(exec_ctx) + timeout); + if (timeout != GRPC_MILLIS_INF_FUTURE) { + grpc_chttp2_incoming_metadata_buffer_set_deadline( + &s->metadata_buffer[0], grpc_exec_ctx_now(exec_ctx) + timeout); + } GRPC_MDELEM_UNREF(exec_ctx, md); } else { const size_t new_size = s->metadata_buffer[0].size + GRPC_MDELEM_LENGTH(md); From b6034896292085ac942887c0bce106278a4797a8 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 20 Sep 2017 16:01:19 -0700 Subject: [PATCH 054/180] Use monotonic times (as we used to) --- src/core/lib/surface/server.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/lib/surface/server.c b/src/core/lib/surface/server.c index 1d3980eb230..dd09cb91de4 100644 --- a/src/core/lib/surface/server.c +++ b/src/core/lib/surface/server.c @@ -493,12 +493,12 @@ static void publish_call(grpc_exec_ctx *exec_ctx, grpc_server *server, rc->data.batch.details->host = grpc_slice_ref_internal(calld->host); rc->data.batch.details->method = grpc_slice_ref_internal(calld->path); rc->data.batch.details->deadline = - grpc_millis_to_timespec(calld->deadline, GPR_CLOCK_REALTIME); + grpc_millis_to_timespec(calld->deadline, GPR_CLOCK_MONOTONIC); rc->data.batch.details->flags = calld->recv_initial_metadata_flags; break; case REGISTERED_CALL: *rc->data.registered.deadline = - grpc_millis_to_timespec(calld->deadline, GPR_CLOCK_REALTIME); + grpc_millis_to_timespec(calld->deadline, GPR_CLOCK_MONOTONIC); if (rc->data.registered.optional_payload) { *rc->data.registered.optional_payload = calld->payload; calld->payload = NULL; From a42a22b2bec661c5c46c8f884a98f7c004cd5b3a Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 20 Sep 2017 16:08:25 -0700 Subject: [PATCH 055/180] Update window overflow test --- test/core/bad_client/bad_client.c | 15 ++++++++++----- test/core/bad_client/tests/window_overflow.c | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/test/core/bad_client/bad_client.c b/test/core/bad_client/bad_client.c index 383d1240cb0..888a7c85a91 100644 --- a/test/core/bad_client/bad_client.c +++ b/test/core/bad_client/bad_client.c @@ -84,13 +84,18 @@ void grpc_run_bad_client_test( grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_completion_queue *shutdown_cq; - hex = gpr_dump(client_payload, client_payload_length, - GPR_DUMP_HEX | GPR_DUMP_ASCII); + if (client_payload_length < 4 * 1024) { + hex = gpr_dump(client_payload, client_payload_length, + GPR_DUMP_HEX | GPR_DUMP_ASCII); - /* Add a debug log */ - gpr_log(GPR_INFO, "TEST: %s", hex); + /* Add a debug log */ + gpr_log(GPR_INFO, "TEST: %s", hex); - gpr_free(hex); + gpr_free(hex); + } else { + gpr_log(GPR_INFO, "TEST: (%" PRIdPTR " byte long string)", + client_payload_length); + } /* Init grpc */ grpc_init(); diff --git a/test/core/bad_client/tests/window_overflow.c b/test/core/bad_client/tests/window_overflow.c index 1f29bd32fbd..9ced956957d 100644 --- a/test/core/bad_client/tests/window_overflow.c +++ b/test/core/bad_client/tests/window_overflow.c @@ -69,7 +69,7 @@ int main(int argc, char **argv) { #define MAX_FRAME_SIZE 16384 #define MESSAGES_PER_FRAME (MAX_FRAME_SIZE / 5) #define FRAME_SIZE (MESSAGES_PER_FRAME * 5) -#define SEND_SIZE (100 * 1024) +#define SEND_SIZE (6 * 1024 * 1024) #define NUM_FRAMES (SEND_SIZE / FRAME_SIZE + 1) grpc_test_init(argc, argv); From c1f288dedbe8eeb9591b78e305a277ddeb1f9f39 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 20 Sep 2017 21:59:21 -0700 Subject: [PATCH 056/180] Bug fixes, remove async e2e dependence on flow control size --- src/core/lib/iomgr/resource_quota.c | 2 +- test/core/transport/bdp_estimator_test.c | 2 + test/cpp/end2end/async_end2end_test.cc | 150 +++++++++++------------ 3 files changed, 76 insertions(+), 78 deletions(-) diff --git a/src/core/lib/iomgr/resource_quota.c b/src/core/lib/iomgr/resource_quota.c index 2be2cad0ad2..e0a9829cd73 100644 --- a/src/core/lib/iomgr/resource_quota.c +++ b/src/core/lib/iomgr/resource_quota.c @@ -308,7 +308,7 @@ static bool rq_alloc(grpc_exec_ctx *exec_ctx, resource_user->free_pool += aborted_allocations; GRPC_CLOSURE_LIST_SCHED(exec_ctx, &resource_user->on_allocated); gpr_mu_unlock(&resource_user->mu); - ru_unref_by(exec_ctx, resource_user, aborted_allocations); + ru_unref_by(exec_ctx, resource_user, (gpr_atm)aborted_allocations); continue; } if (resource_user->free_pool < 0 && diff --git a/test/core/transport/bdp_estimator_test.c b/test/core/transport/bdp_estimator_test.c index a256eb3a4a8..c672b535181 100644 --- a/test/core/transport/bdp_estimator_test.c +++ b/test/core/transport/bdp_estimator_test.c @@ -24,6 +24,7 @@ #include #include #include +#include "src/core/lib/iomgr/timer_manager.h" #include "src/core/lib/support/string.h" #include "test/core/util/test_config.h" @@ -145,6 +146,7 @@ int main(int argc, char **argv) { grpc_test_init(argc, argv); gpr_now_impl = fake_gpr_now; grpc_init(); + grpc_timer_manager_set_threading(false); test_noop(); test_get_estimate_no_samples(); test_get_estimate_1_sample(); diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc index 41090d161aa..e2531ef95af 100644 --- a/test/cpp/end2end/async_end2end_test.cc +++ b/test/cpp/end2end/async_end2end_test.cc @@ -105,6 +105,13 @@ class Verifier { expectations_[tag(i)] = expect_ok; return *this; } + // AcceptOnce sets the expected ok value for a specific tag, but does not + // require it to appear + // If it does, sets *seen to true + Verifier& AcceptOnce(int i, bool expect_ok, bool* seen) { + maybe_expectations_[tag(i)] = MaybeExpect{expect_ok, seen}; + return *this; + } // Next waits for 1 async tag to complete, checks its // expectations, and returns the tag @@ -122,12 +129,7 @@ class Verifier { } else { EXPECT_TRUE(cq->Next(&got_tag, &ok)); } - auto it = expectations_.find(got_tag); - EXPECT_TRUE(it != expectations_.end()); - if (!ignore_ok) { - EXPECT_EQ(it->second, ok); - } - expectations_.erase(it); + GotTag(got_tag, ok, ignore_ok); return detag(got_tag); } @@ -138,7 +140,7 @@ class Verifier { // This version of Verify allows optionally ignoring the // outcome of the expectation void Verify(CompletionQueue* cq, bool ignore_ok) { - GPR_ASSERT(!expectations_.empty()); + GPR_ASSERT(!expectations_.empty() || !maybe_expectations_.empty()); while (!expectations_.empty()) { Next(cq, ignore_ok); } @@ -177,16 +179,43 @@ class Verifier { EXPECT_EQ(cq->AsyncNext(&got_tag, &ok, deadline), CompletionQueue::GOT_EVENT); } - auto it = expectations_.find(got_tag); - EXPECT_TRUE(it != expectations_.end()); - EXPECT_EQ(it->second, ok); - expectations_.erase(it); + GotTag(got_tag, ok, false); } } } private: + void GotTag(void* got_tag, bool ok, bool ignore_ok) { + auto it = expectations_.find(got_tag); + if (it != expectations_.end()) { + if (!ignore_ok) { + EXPECT_EQ(it->second, ok); + } + expectations_.erase(it); + } else { + auto it2 = maybe_expectations_.find(got_tag); + if (it2 != maybe_expectations_.end()) { + if (it2->second.seen != nullptr) { + EXPECT_FALSE(*it2->second.seen); + *it2->second.seen = true; + } + if (!ignore_ok) { + EXPECT_EQ(it2->second.ok, ok); + } + } else { + gpr_log(GPR_ERROR, "Unexpected tag: %p", tag); + abort(); + } + } + } + + struct MaybeExpect { + bool ok; + bool* seen; + }; + std::map expectations_; + std::map maybe_expectations_; bool spin_; }; @@ -539,31 +568,19 @@ TEST_P(AsyncEnd2endTest, SimpleClientStreamingWithCoalescingApi) { cli_stream->Write(send_request, tag(3)); - // 65536(64KB) is the default flow control window size. Should change this - // number when default flow control window size changes. For the write of - // send_request larger than the flow control window size, tag:3 will not come - // up until server read is initiated. For write of send_request smaller than - // the flow control window size, the request can take the free ride with - // initial metadata due to coalescing, thus write tag:3 will come up here. - if (GetParam().message_content.length() < 65536 || GetParam().inproc) { - Verifier(GetParam().disable_blocking) - .Expect(2, true) - .Expect(3, true) - .Verify(cq_.get()); - } else { - Verifier(GetParam().disable_blocking).Expect(2, true).Verify(cq_.get()); - } + bool seen3 = false; + + Verifier(GetParam().disable_blocking) + .Expect(2, true) + .AcceptOnce(3, true, &seen3) + .Verify(cq_.get()); srv_stream.Read(&recv_request, tag(4)); - if (GetParam().message_content.length() < 65536 || GetParam().inproc) { - Verifier(GetParam().disable_blocking).Expect(4, true).Verify(cq_.get()); - } else { - Verifier(GetParam().disable_blocking) - .Expect(3, true) - .Expect(4, true) - .Verify(cq_.get()); - } + Verifier(GetParam().disable_blocking) + .AcceptOnce(3, true, &seen3) + .Expect(4, true) + .Verify(cq_.get()); EXPECT_EQ(send_request.message(), recv_request.message()); @@ -588,6 +605,7 @@ TEST_P(AsyncEnd2endTest, SimpleClientStreamingWithCoalescingApi) { EXPECT_EQ(send_response.message(), recv_response.message()); EXPECT_TRUE(recv_status.ok()); + EXPECT_TRUE(seen3); } // One ping, two pongs. @@ -834,31 +852,19 @@ TEST_P(AsyncEnd2endTest, SimpleBidiStreamingWithCoalescingApiWAF) { cli_stream->WriteLast(send_request, WriteOptions(), tag(3)); - // 65536(64KB) is the default flow control window size. Should change this - // number when default flow control window size changes. For the write of - // send_request larger than the flow control window size, tag:3 will not come - // up until server read is initiated. For write of send_request smaller than - // the flow control window size, the request can take the free ride with - // initial metadata due to coalescing, thus write tag:3 will come up here. - if (GetParam().message_content.length() < 65536 || GetParam().inproc) { - Verifier(GetParam().disable_blocking) - .Expect(2, true) - .Expect(3, true) - .Verify(cq_.get()); - } else { - Verifier(GetParam().disable_blocking).Expect(2, true).Verify(cq_.get()); - } + bool seen3 = false; + + Verifier(GetParam().disable_blocking) + .Expect(2, true) + .AcceptOnce(3, true, &seen3) + .Verify(cq_.get()); srv_stream.Read(&recv_request, tag(4)); - if (GetParam().message_content.length() < 65536 || GetParam().inproc) { - Verifier(GetParam().disable_blocking).Expect(4, true).Verify(cq_.get()); - } else { - Verifier(GetParam().disable_blocking) - .Expect(3, true) - .Expect(4, true) - .Verify(cq_.get()); - } + Verifier(GetParam().disable_blocking) + .AcceptOnce(3, true, &seen3) + .Expect(4, true) + .Verify(cq_.get()); EXPECT_EQ(send_request.message(), recv_request.message()); srv_stream.Read(&recv_request, tag(5)); @@ -877,6 +883,7 @@ TEST_P(AsyncEnd2endTest, SimpleBidiStreamingWithCoalescingApiWAF) { Verifier(GetParam().disable_blocking).Expect(8, true).Verify(cq_.get()); EXPECT_TRUE(recv_status.ok()); + EXPECT_TRUE(seen3); } // One ping, one pong. Using server:WriteLast api @@ -902,31 +909,19 @@ TEST_P(AsyncEnd2endTest, SimpleBidiStreamingWithCoalescingApiWL) { cli_stream->WriteLast(send_request, WriteOptions(), tag(3)); - // 65536(64KB) is the default flow control window size. Should change this - // number when default flow control window size changes. For the write of - // send_request larger than the flow control window size, tag:3 will not come - // up until server read is initiated. For write of send_request smaller than - // the flow control window size, the request can take the free ride with - // initial metadata due to coalescing, thus write tag:3 will come up here. - if (GetParam().message_content.length() < 65536 || GetParam().inproc) { - Verifier(GetParam().disable_blocking) - .Expect(2, true) - .Expect(3, true) - .Verify(cq_.get()); - } else { - Verifier(GetParam().disable_blocking).Expect(2, true).Verify(cq_.get()); - } + bool seen3 = false; + + Verifier(GetParam().disable_blocking) + .Expect(2, true) + .AcceptOnce(3, true, &seen3) + .Verify(cq_.get()); srv_stream.Read(&recv_request, tag(4)); - if (GetParam().message_content.length() < 65536 || GetParam().inproc) { - Verifier(GetParam().disable_blocking).Expect(4, true).Verify(cq_.get()); - } else { - Verifier(GetParam().disable_blocking) - .Expect(3, true) - .Expect(4, true) - .Verify(cq_.get()); - } + Verifier(GetParam().disable_blocking) + .AcceptOnce(3, true, &seen3) + .Expect(4, true) + .Verify(cq_.get()); EXPECT_EQ(send_request.message(), recv_request.message()); srv_stream.Read(&recv_request, tag(5)); @@ -947,6 +942,7 @@ TEST_P(AsyncEnd2endTest, SimpleBidiStreamingWithCoalescingApiWL) { Verifier(GetParam().disable_blocking).Expect(9, true).Verify(cq_.get()); EXPECT_TRUE(recv_status.ok()); + EXPECT_TRUE(seen3); } // Metadata tests From de682c59cba06c0f5ce14046b4c8138cb28dc3f1 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 20 Sep 2017 22:18:16 -0700 Subject: [PATCH 057/180] Portability fixes --- src/core/lib/iomgr/pollset_uv.c | 7 ++++--- src/core/lib/iomgr/tcp_client_windows.c | 10 ++++------ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/core/lib/iomgr/pollset_uv.c b/src/core/lib/iomgr/pollset_uv.c index 2651325e257..0127770a0dc 100644 --- a/src/core/lib/iomgr/pollset_uv.c +++ b/src/core/lib/iomgr/pollset_uv.c @@ -116,13 +116,14 @@ void grpc_pollset_destroy(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset) { grpc_error *grpc_pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker **worker_hdl, - gpr_timespec now, gpr_timespec deadline) { + grpc_millis deadline) { uint64_t timeout; GRPC_UV_ASSERT_SAME_THREAD(); gpr_mu_unlock(&grpc_polling_mu); if (grpc_pollset_work_run_loop) { - if (gpr_time_cmp(deadline, now) >= 0) { - timeout = (uint64_t)gpr_time_to_millis(gpr_time_sub(deadline, now)); + grpc_millis now = grpc_exec_ctx_now(exec_ctx); + if (deadline >= now) { + timeout = deadline - now; } else { timeout = 0; } diff --git a/src/core/lib/iomgr/tcp_client_windows.c b/src/core/lib/iomgr/tcp_client_windows.c index fc62105cc92..bf8016506aa 100644 --- a/src/core/lib/iomgr/tcp_client_windows.c +++ b/src/core/lib/iomgr/tcp_client_windows.c @@ -41,7 +41,6 @@ typedef struct { grpc_closure *on_done; gpr_mu mu; grpc_winsocket *socket; - gpr_timespec deadline; grpc_timer alarm; grpc_closure on_alarm; char *addr_name; @@ -124,7 +123,7 @@ static void on_connect(grpc_exec_ctx *exec_ctx, void *acp, grpc_error *error) { static void tcp_client_connect_impl( grpc_exec_ctx *exec_ctx, grpc_closure *on_done, grpc_endpoint **endpoint, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, - const grpc_resolved_address *addr, gpr_timespec deadline) { + const grpc_resolved_address *addr, grpc_millis deadline) { SOCKET sock = INVALID_SOCKET; BOOL success; int status; @@ -204,8 +203,7 @@ static void tcp_client_connect_impl( GRPC_CLOSURE_INIT(&ac->on_connect, on_connect, ac, grpc_schedule_on_exec_ctx); GRPC_CLOSURE_INIT(&ac->on_alarm, on_alarm, ac, grpc_schedule_on_exec_ctx); - grpc_timer_init(exec_ctx, &ac->alarm, deadline, &ac->on_alarm, - gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timer_init(exec_ctx, &ac->alarm, deadline, &ac->on_alarm, ); grpc_socket_notify_on_write(exec_ctx, socket, &ac->on_connect); return; @@ -230,14 +228,14 @@ void (*grpc_tcp_client_connect_impl)( grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, const grpc_resolved_address *addr, - gpr_timespec deadline) = tcp_client_connect_impl; + grpc_millis deadline) = tcp_client_connect_impl; void grpc_tcp_client_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, const grpc_resolved_address *addr, - gpr_timespec deadline) { + grpc_millis deadline) { grpc_tcp_client_connect_impl(exec_ctx, closure, ep, interested_parties, channel_args, addr, deadline); } From 8070e361bd2c773aa8a12cea8cf34fd7aff7c293 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 21 Sep 2017 09:43:27 -0700 Subject: [PATCH 058/180] Fix type --- src/core/lib/backoff/backoff.c | 2 +- src/core/lib/backoff/backoff.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/lib/backoff/backoff.c b/src/core/lib/backoff/backoff.c index e964af8f397..b34c4a852b5 100644 --- a/src/core/lib/backoff/backoff.c +++ b/src/core/lib/backoff/backoff.c @@ -34,7 +34,7 @@ void grpc_backoff_init(grpc_backoff *backoff, grpc_millis grpc_backoff_begin(grpc_exec_ctx *exec_ctx, grpc_backoff *backoff) { backoff->current_timeout_millis = backoff->initial_connect_timeout; - const int64_t first_timeout = + const grpc_millis first_timeout = GPR_MAX(backoff->current_timeout_millis, backoff->min_timeout_millis); return grpc_exec_ctx_now(exec_ctx) + first_timeout; } diff --git a/src/core/lib/backoff/backoff.h b/src/core/lib/backoff/backoff.h index c0798bbe5b0..32efdb9d927 100644 --- a/src/core/lib/backoff/backoff.h +++ b/src/core/lib/backoff/backoff.h @@ -37,7 +37,7 @@ typedef struct { uint32_t rng_state; /// current retry timeout in milliseconds - int64_t current_timeout_millis; + grpc_millis current_timeout_millis; } grpc_backoff; /// Initialize backoff machinery - does not need to be destroyed From 168fc97045a866a22db0b2079c14fd2775e32387 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 21 Sep 2017 09:49:32 -0700 Subject: [PATCH 059/180] (untested) windows conversion to grpc_millis --- src/core/lib/iomgr/iocp_windows.c | 24 ++++++++---------------- src/core/lib/iomgr/iocp_windows.h | 2 +- src/core/lib/iomgr/pollset_windows.c | 5 +++-- 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/src/core/lib/iomgr/iocp_windows.c b/src/core/lib/iomgr/iocp_windows.c index c082179c0b4..3c38105ef99 100644 --- a/src/core/lib/iomgr/iocp_windows.c +++ b/src/core/lib/iomgr/iocp_windows.c @@ -40,25 +40,17 @@ static gpr_atm g_custom_events = 0; static HANDLE g_iocp; -static DWORD deadline_to_millis_timeout(gpr_timespec deadline, - gpr_timespec now) { +static DWORD deadline_to_millis_timeout(grpc_exec_ctx *exec_ctx, + grpc_millis deadline) { gpr_timespec timeout; - static const int64_t max_spin_polling_us = 10; - if (gpr_time_cmp(deadline, gpr_inf_future(deadline.clock_type)) == 0) { + if (deadline == GRPC_MILLIS_INF_FUTURE) == 0) { return INFINITE; } - if (gpr_time_cmp(deadline, gpr_time_add(now, gpr_time_from_micros( - max_spin_polling_us, - GPR_TIMESPAN))) <= 0) { - return 0; - } - timeout = gpr_time_sub(deadline, now); - return (DWORD)gpr_time_to_millis(gpr_time_add( - timeout, gpr_time_from_nanos(GPR_NS_PER_MS - 1, GPR_TIMESPAN))); + return (DWORD)GPR_MAX(0, deadline - grpc_exec_ctx_now(exec_ctx)); } grpc_iocp_work_status grpc_iocp_work(grpc_exec_ctx *exec_ctx, - gpr_timespec deadline) { + grpc_millis deadline) { BOOL success; DWORD bytes = 0; DWORD flags = 0; @@ -67,9 +59,9 @@ grpc_iocp_work_status grpc_iocp_work(grpc_exec_ctx *exec_ctx, grpc_winsocket *socket; grpc_winsocket_callback_info *info; GRPC_STATS_INC_SYSCALL_POLL(exec_ctx); - success = GetQueuedCompletionStatus( - g_iocp, &bytes, &completion_key, &overlapped, - deadline_to_millis_timeout(deadline, gpr_now(deadline.clock_type))); + success = + GetQueuedCompletionStatus(g_iocp, &bytes, &completion_key, &overlapped, + deadline_to_millis_timeout(exec_ctx, deadline)); if (success == 0 && overlapped == NULL) { return GRPC_IOCP_WORK_TIMEOUT; } diff --git a/src/core/lib/iomgr/iocp_windows.h b/src/core/lib/iomgr/iocp_windows.h index 9c89e868c5d..4314ff26174 100644 --- a/src/core/lib/iomgr/iocp_windows.h +++ b/src/core/lib/iomgr/iocp_windows.h @@ -30,7 +30,7 @@ typedef enum { } grpc_iocp_work_status; grpc_iocp_work_status grpc_iocp_work(grpc_exec_ctx *exec_ctx, - gpr_timespec deadline); + grpc_millis deadline); void grpc_iocp_init(void); void grpc_iocp_kick(void); void grpc_iocp_flush(void); diff --git a/src/core/lib/iomgr/pollset_windows.c b/src/core/lib/iomgr/pollset_windows.c index eb295d3eebd..bb4df83fc13 100644 --- a/src/core/lib/iomgr/pollset_windows.c +++ b/src/core/lib/iomgr/pollset_windows.c @@ -110,7 +110,7 @@ void grpc_pollset_destroy(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset) {} grpc_error *grpc_pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker **worker_hdl, - gpr_timespec now, gpr_timespec deadline) { + grpc_millis deadline) { grpc_pollset_worker worker; if (worker_hdl) *worker_hdl = &worker; @@ -159,7 +159,8 @@ grpc_error *grpc_pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, &worker); added_worker = 1; while (!worker.kicked) { - if (gpr_cv_wait(&worker.cv, &grpc_polling_mu, deadline)) { + if (gpr_cv_wait(&worker.cv, &grpc_polling_mu, + grpc_millis_to_timespec(deadline, GPR_CLOCK_REALTIME))) { break; } } From 1a8f1e831de1b98a5e616fbfd645a8458df29bad Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 21 Sep 2017 10:07:36 -0700 Subject: [PATCH 060/180] Make alarm_test tolerant of threading --- test/cpp/common/alarm_cpp_test.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cpp/common/alarm_cpp_test.cc b/test/cpp/common/alarm_cpp_test.cc index 212972d25d7..7adc3102f41 100644 --- a/test/cpp/common/alarm_cpp_test.cc +++ b/test/cpp/common/alarm_cpp_test.cc @@ -142,7 +142,7 @@ TEST(AlarmTest, ZeroExpiry) { void* output_tag; bool ok; const CompletionQueue::NextStatus status = cq.AsyncNext( - (void**)&output_tag, &ok, grpc_timeout_seconds_to_deadline(0)); + (void**)&output_tag, &ok, grpc_timeout_seconds_to_deadline(1)); EXPECT_EQ(status, CompletionQueue::GOT_EVENT); EXPECT_TRUE(ok); @@ -158,7 +158,7 @@ TEST(AlarmTest, NegativeExpiry) { void* output_tag; bool ok; const CompletionQueue::NextStatus status = cq.AsyncNext( - (void**)&output_tag, &ok, grpc_timeout_seconds_to_deadline(0)); + (void**)&output_tag, &ok, grpc_timeout_seconds_to_deadline(1)); EXPECT_EQ(status, CompletionQueue::GOT_EVENT); EXPECT_TRUE(ok); From ff58b27696f2cfbf4db5f79c8af7013361715de3 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 21 Sep 2017 10:40:42 -0700 Subject: [PATCH 061/180] Make generic_test tolerant of encoding --- test/cpp/end2end/generic_end2end_test.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cpp/end2end/generic_end2end_test.cc b/test/cpp/end2end/generic_end2end_test.cc index b9e6e18ca77..6e95a55283a 100644 --- a/test/cpp/end2end/generic_end2end_test.cc +++ b/test/cpp/end2end/generic_end2end_test.cc @@ -145,7 +145,7 @@ class GenericEnd2endTest : public ::testing::Test { if (check_deadline) { EXPECT_TRUE(gpr_time_similar(deadline, srv_ctx.raw_deadline(), - gpr_time_from_millis(100, GPR_TIMESPAN))); + gpr_time_from_millis(1000, GPR_TIMESPAN))); } ByteBuffer recv_buffer; From ddc81ca5566e463c5139b37248347aad2315bf63 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 21 Sep 2017 12:06:29 -0700 Subject: [PATCH 062/180] Fix resource user shutdown path while allocating --- src/core/lib/iomgr/resource_quota.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/core/lib/iomgr/resource_quota.c b/src/core/lib/iomgr/resource_quota.c index e0a9829cd73..85817080d62 100644 --- a/src/core/lib/iomgr/resource_quota.c +++ b/src/core/lib/iomgr/resource_quota.c @@ -523,6 +523,9 @@ static void ru_shutdown(grpc_exec_ctx *exec_ctx, void *ru, grpc_error *error) { resource_user->reclaimers[1] = NULL; rulist_remove(resource_user, GRPC_RULIST_RECLAIMER_BENIGN); rulist_remove(resource_user, GRPC_RULIST_RECLAIMER_DESTRUCTIVE); + if (resource_user->allocating) { + rq_step_sched(exec_ctx, resource_user->resource_quota); + } } static void ru_destroy(grpc_exec_ctx *exec_ctx, void *ru, grpc_error *error) { From dbff5a23feda108c427f9278079fbb1eec69a9d1 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 21 Sep 2017 12:50:07 -0700 Subject: [PATCH 063/180] Remove blocking annotations --- src/core/lib/support/time_posix.c | 3 --- src/core/lib/support/time_windows.c | 3 --- 2 files changed, 6 deletions(-) diff --git a/src/core/lib/support/time_posix.c b/src/core/lib/support/time_posix.c index ad7c5036dae..753a629e6e2 100644 --- a/src/core/lib/support/time_posix.c +++ b/src/core/lib/support/time_posix.c @@ -30,7 +30,6 @@ #include #include #include -#include "src/core/lib/iomgr/block_annotate.h" static struct timespec timespec_from_gpr(gpr_timespec gts) { struct timespec rv; @@ -157,9 +156,7 @@ void gpr_sleep_until(gpr_timespec until) { delta = gpr_time_sub(until, now); delta_ts = timespec_from_gpr(delta); - GRPC_SCHEDULING_START_BLOCKING_REGION; ns_result = nanosleep(&delta_ts, NULL); - GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX; if (ns_result == 0) { break; } diff --git a/src/core/lib/support/time_windows.c b/src/core/lib/support/time_windows.c index b8015c272f8..fb17e5c079f 100644 --- a/src/core/lib/support/time_windows.c +++ b/src/core/lib/support/time_windows.c @@ -28,7 +28,6 @@ #include #include -#include "src/core/lib/iomgr/block_annotate.h" #include "src/core/lib/support/time_precise.h" static LARGE_INTEGER g_start_time; @@ -92,9 +91,7 @@ void gpr_sleep_until(gpr_timespec until) { sleep_millis = delta.tv_sec * GPR_MS_PER_SEC + delta.tv_nsec / GPR_NS_PER_MS; GPR_ASSERT((sleep_millis >= 0) && (sleep_millis <= INT_MAX)); - GRPC_SCHEDULING_START_BLOCKING_REGION; Sleep((DWORD)sleep_millis); - GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX; } } From f7225eb5f67d766726a17a1623c1975dcdd57c26 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 21 Sep 2017 14:59:28 -0700 Subject: [PATCH 064/180] Fix some stalling in bm_fullstack_trickle, also switch to synthetic time --- .../microbenchmarks/bm_fullstack_trickle.cc | 33 +++++++++++++++++-- test/cpp/microbenchmarks/fullstack_fixtures.h | 4 +-- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/test/cpp/microbenchmarks/bm_fullstack_trickle.cc b/test/cpp/microbenchmarks/bm_fullstack_trickle.cc index 2656566a50b..b240e96fcab 100644 --- a/test/cpp/microbenchmarks/bm_fullstack_trickle.cc +++ b/test/cpp/microbenchmarks/bm_fullstack_trickle.cc @@ -29,6 +29,7 @@ extern "C" { #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" #include "src/core/ext/transport/chttp2/transport/internal.h" +#include "src/core/lib/iomgr/timer_manager.h" #include "test/core/util/trickle_endpoint.h" } @@ -45,6 +46,22 @@ DEFINE_int32(warmup_max_time_seconds, 10, namespace grpc { namespace testing { +gpr_atm g_now_us = 0; + +static gpr_timespec fake_now(gpr_clock_type clock_type) { + gpr_timespec t; + gpr_atm now = gpr_atm_no_barrier_load(&g_now_us); + t.tv_sec = now / GPR_US_PER_SEC; + t.tv_nsec = (now % GPR_US_PER_SEC) * GPR_NS_PER_US; + t.clock_type = clock_type; + return t; +} + +static void inc_time() { + gpr_atm_no_barrier_fetch_add(&g_now_us, 100); + grpc_timer_manager_tick(); +} + static void* tag(intptr_t x) { return reinterpret_cast(x); } template @@ -158,6 +175,7 @@ class TrickledCHTTP2 : public EndpointPairFixture { void Step(bool update_stats) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + inc_time(); size_t client_backlog = grpc_trickle_endpoint_trickle(&exec_ctx, endpoint_pair_.client); size_t server_backlog = @@ -213,8 +231,7 @@ static void TrickleCQNext(TrickledCHTTP2* fixture, void** t, bool* ok, while (true) { fixture->Log(iteration); switch (fixture->cq()->AsyncNext( - t, ok, gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), - gpr_time_from_micros(100, GPR_TIMESPAN)))) { + t, ok, gpr_inf_past(GPR_CLOCK_MONOTONIC))) { case CompletionQueue::TIMEOUT: fixture->Step(iteration != -1); break; @@ -289,9 +306,15 @@ static void BM_PumpStreamServerToClient_Trickle(benchmark::State& state) { inner_loop(false); } response_rw.Finish(Status::OK, tag(1)); - need_tags = (1 << 0) | (1 << 1); + grpc::Status status; + request_rw->Finish(&status, tag(2)); + need_tags = (1 << 0) | (1 << 1) | (1 << 2); while (need_tags) { TrickleCQNext(fixture.get(), &t, &ok, -1); + if (t == tag(0) && ok) { + request_rw->Read(&recv_response, tag(0)); + continue; + } int i = (int)(intptr_t)t; GPR_ASSERT(need_tags & (1 << i)); need_tags &= ~(1 << i); @@ -419,8 +442,12 @@ BENCHMARK(BM_PumpUnbalancedUnary_Trickle)->Apply(UnaryTrickleArgs); } } +extern "C" gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type); + int main(int argc, char** argv) { ::benchmark::Initialize(&argc, argv); ::grpc::testing::InitTest(&argc, &argv, false); + grpc_timer_manager_set_threading(false); + gpr_now_impl = ::grpc::testing::fake_now; ::benchmark::RunSpecifiedBenchmarks(); } diff --git a/test/cpp/microbenchmarks/fullstack_fixtures.h b/test/cpp/microbenchmarks/fullstack_fixtures.h index ecd28c3f8ac..a7f85045052 100644 --- a/test/cpp/microbenchmarks/fullstack_fixtures.h +++ b/test/cpp/microbenchmarks/fullstack_fixtures.h @@ -85,7 +85,7 @@ class FullstackFixture : public BaseFixture { } virtual ~FullstackFixture() { - server_->Shutdown(); + server_->Shutdown(gpr_inf_past(GPR_CLOCK_MONOTONIC)); cq_->Shutdown(); void* tag; bool ok; @@ -212,7 +212,7 @@ class EndpointPairFixture : public BaseFixture { } virtual ~EndpointPairFixture() { - server_->Shutdown(); + server_->Shutdown(gpr_inf_past(GPR_CLOCK_MONOTONIC)); cq_->Shutdown(); void* tag; bool ok; From c8027a3b0bf2f659f95cfe00ba269b09f9649cac Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 22 Sep 2017 07:31:48 -0700 Subject: [PATCH 065/180] Run pid controller with grpc_millis --- .../chttp2/transport/chttp2_transport.c | 16 +++++++++------- .../transport/chttp2/transport/flow_control.c | 16 +++++++--------- .../ext/transport/chttp2/transport/internal.h | 5 +++-- .../ext/transport/chttp2/transport/parsing.c | 5 +++-- 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index 4f381199486..4643a867b85 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -563,7 +563,8 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, } grpc_chttp2_act_on_flowctl_action( - exec_ctx, grpc_chttp2_flowctl_get_action(&t->flow_control, NULL), t, + exec_ctx, + grpc_chttp2_flowctl_get_action(exec_ctx, &t->flow_control, NULL), t, NULL); grpc_chttp2_initiate_write(exec_ctx, t, @@ -1620,8 +1621,8 @@ static void perform_stream_op_locked(grpc_exec_ctx *exec_ctx, void *stream_op, &t->flow_control, &s->flow_control, GRPC_HEADER_SIZE_IN_BYTES, already_received); grpc_chttp2_act_on_flowctl_action( - exec_ctx, - grpc_chttp2_flowctl_get_action(&t->flow_control, &s->flow_control), + exec_ctx, grpc_chttp2_flowctl_get_action(exec_ctx, &t->flow_control, + &s->flow_control), t, s); } } @@ -2538,7 +2539,8 @@ static void read_action_locked(grpc_exec_ctx *exec_ctx, void *tp, grpc_endpoint_read(exec_ctx, t->ep, &t->read_buffer, &t->read_action_locked); grpc_chttp2_act_on_flowctl_action( - exec_ctx, grpc_chttp2_flowctl_get_action(&t->flow_control, NULL), t, + exec_ctx, + grpc_chttp2_flowctl_get_action(exec_ctx, &t->flow_control, NULL), t, NULL); GRPC_CHTTP2_UNREF_TRANSPORT(exec_ctx, t, "keep_reading"); } else { @@ -2794,9 +2796,9 @@ static void incoming_byte_stream_next_locked(grpc_exec_ctx *exec_ctx, bs->next_action.max_size_hint, cur_length); grpc_chttp2_act_on_flowctl_action( - exec_ctx, - grpc_chttp2_flowctl_get_action(&t->flow_control, &s->flow_control), t, - s); + exec_ctx, grpc_chttp2_flowctl_get_action(exec_ctx, &t->flow_control, + &s->flow_control), + t, s); } GPR_ASSERT(s->unprocessed_incoming_frames_buffer.length == 0); if (s->frame_storage.length > 0) { diff --git a/src/core/ext/transport/chttp2/transport/flow_control.c b/src/core/ext/transport/chttp2/transport/flow_control.c index aa1dd2d3cbe..a95b4b3d052 100644 --- a/src/core/ext/transport/chttp2/transport/flow_control.c +++ b/src/core/ext/transport/chttp2/transport/flow_control.c @@ -391,9 +391,10 @@ static grpc_chttp2_flowctl_urgency delta_is_significant( // Takes in a target and uses the pid controller to return a stabilized // guess at the new bdp. -static double get_pid_controller_guess(grpc_chttp2_transport_flowctl* tfc, +static double get_pid_controller_guess(grpc_exec_ctx* exec_ctx, + grpc_chttp2_transport_flowctl* tfc, double target) { - gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); + grpc_millis now = grpc_exec_ctx_now(exec_ctx); if (!tfc->pid_controller_initialized) { tfc->last_pid_update = now; tfc->pid_controller_initialized = true; @@ -409,11 +410,7 @@ static double get_pid_controller_guess(grpc_chttp2_transport_flowctl* tfc, return pow(2, target); } double bdp_error = target - grpc_pid_controller_last(&tfc->pid_controller); - gpr_timespec dt_timespec = gpr_time_sub(now, tfc->last_pid_update); - double dt = (double)dt_timespec.tv_sec + dt_timespec.tv_nsec * 1e-9; - if (dt > 0.1) { - dt = 0.1; - } + double dt = (double)(now - tfc->last_pid_update) * 1e-3; double log2_bdp_guess = grpc_pid_controller_update(&tfc->pid_controller, bdp_error, dt); tfc->last_pid_update = now; @@ -441,7 +438,8 @@ static double get_target_under_memory_pressure( } grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_action( - grpc_chttp2_transport_flowctl* tfc, grpc_chttp2_stream_flowctl* sfc) { + grpc_exec_ctx* exec_ctx, grpc_chttp2_transport_flowctl* tfc, + grpc_chttp2_stream_flowctl* sfc) { grpc_chttp2_flowctl_action action; memset(&action, 0, sizeof(action)); // TODO(ncteisen): tune this @@ -473,7 +471,7 @@ grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_action( // run our target through the pid controller to stabilize change. // TODO(ncteisen): experiment with other controllers here. - double bdp_guess = get_pid_controller_guess(tfc, target); + double bdp_guess = get_pid_controller_guess(exec_ctx, tfc, target); // Though initial window 'could' drop to 0, we keep the floor at 128 tfc->target_initial_window_size = diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h index b5850564e02..7c890423a66 100644 --- a/src/core/ext/transport/chttp2/transport/internal.h +++ b/src/core/ext/transport/chttp2/transport/internal.h @@ -269,7 +269,7 @@ typedef struct { /* pid controller */ bool pid_controller_initialized; grpc_pid_controller pid_controller; - gpr_timespec last_pid_update; + grpc_millis last_pid_update; // pointer back to transport for tracing const grpc_chttp2_transport *t; @@ -748,7 +748,8 @@ typedef struct { // Reads the flow control data and returns and actionable struct that will tell // chttp2 exactly what it needs to do grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_action( - grpc_chttp2_transport_flowctl *tfc, grpc_chttp2_stream_flowctl *sfc); + grpc_exec_ctx *exec_ctx, grpc_chttp2_transport_flowctl *tfc, + grpc_chttp2_stream_flowctl *sfc); // Takes in a flow control action and performs all the needed operations. void grpc_chttp2_act_on_flowctl_action(grpc_exec_ctx *exec_ctx, diff --git a/src/core/ext/transport/chttp2/transport/parsing.c b/src/core/ext/transport/chttp2/transport/parsing.c index 2086f42cb20..aab11e02d7b 100644 --- a/src/core/ext/transport/chttp2/transport/parsing.c +++ b/src/core/ext/transport/chttp2/transport/parsing.c @@ -359,8 +359,9 @@ static grpc_error *init_data_frame_parser(grpc_exec_ctx *exec_ctx, s == NULL ? NULL : &s->flow_control, t->incoming_frame_size); grpc_chttp2_act_on_flowctl_action( - exec_ctx, grpc_chttp2_flowctl_get_action( - &t->flow_control, s == NULL ? NULL : &s->flow_control), + exec_ctx, + grpc_chttp2_flowctl_get_action(exec_ctx, &t->flow_control, + s == NULL ? NULL : &s->flow_control), t, s); if (err != GRPC_ERROR_NONE) { goto error_handler; From 710334577ce1b2de94f656ec0762eeba6effd29b Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 22 Sep 2017 07:47:15 -0700 Subject: [PATCH 066/180] Fix sanity --- test/cpp/microbenchmarks/bm_fullstack_trickle.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cpp/microbenchmarks/bm_fullstack_trickle.cc b/test/cpp/microbenchmarks/bm_fullstack_trickle.cc index b240e96fcab..adb5e6657f2 100644 --- a/test/cpp/microbenchmarks/bm_fullstack_trickle.cc +++ b/test/cpp/microbenchmarks/bm_fullstack_trickle.cc @@ -230,8 +230,8 @@ static void TrickleCQNext(TrickledCHTTP2* fixture, void** t, bool* ok, int64_t iteration) { while (true) { fixture->Log(iteration); - switch (fixture->cq()->AsyncNext( - t, ok, gpr_inf_past(GPR_CLOCK_MONOTONIC))) { + switch ( + fixture->cq()->AsyncNext(t, ok, gpr_inf_past(GPR_CLOCK_MONOTONIC))) { case CompletionQueue::TIMEOUT: fixture->Step(iteration != -1); break; From 2c357bc62e795affe6a9278193b579960aaf56ec Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 29 Sep 2017 11:10:14 -0700 Subject: [PATCH 067/180] Moving to allow fuzzer test to run entire corpora under bazel --- test/core/util/BUILD | 8 +- test/core/util/fuzzer_corpus_test.cc | 139 +++++++++++++++++++++++ test/core/util/grpc_fuzzer.bzl | 20 ++-- test/core/util/one_corpus_entry_fuzzer.c | 39 ------- 4 files changed, 154 insertions(+), 52 deletions(-) create mode 100644 test/core/util/fuzzer_corpus_test.cc delete mode 100644 test/core/util/one_corpus_entry_fuzzer.c diff --git a/test/core/util/BUILD b/test/core/util/BUILD index 10eefe159a8..abb50a0c996 100644 --- a/test/core/util/BUILD +++ b/test/core/util/BUILD @@ -89,12 +89,16 @@ grpc_cc_library( ) grpc_cc_library( - name = "one_corpus_entry_fuzzer", - srcs = ["one_corpus_entry_fuzzer.c"], + name = "fuzzer_corpus_test", + srcs = ["fuzzer_corpus_test.cc"], deps = [ ":gpr_test_util", "//:grpc", ], + external_deps = [ + "gtest", + "gflags", + ], ) sh_library( diff --git a/test/core/util/fuzzer_corpus_test.cc b/test/core/util/fuzzer_corpus_test.cc new file mode 100644 index 00000000000..75c6846cd7e --- /dev/null +++ b/test/core/util/fuzzer_corpus_test.cc @@ -0,0 +1,139 @@ +/* + * + * Copyright 2016 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include + +#include +#include +#include +#include +#include +#include + +#include "src/core/lib/iomgr/load_file.h" +#include "test/core/util/test_config.h" + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); +extern "C" bool squelch; +extern "C" bool leak_check; + +DEFINE_string(file, "", "Use this file as test data"); +DEFINE_string(directory, "", "Use this directory as test data"); + +class FuzzerCorpusTest : public ::testing::TestWithParam {}; + +TEST_P(FuzzerCorpusTest, RunOneExample) { + grpc_slice buffer; + squelch = false; + leak_check = false; + GPR_ASSERT(GRPC_LOG_IF_ERROR("load_file", + grpc_load_file(GetParam().c_str(), 0, &buffer))); + LLVMFuzzerTestOneInput(GRPC_SLICE_START_PTR(buffer), + GRPC_SLICE_LENGTH(buffer)); + grpc_slice_unref(buffer); +} + +class ExampleGenerator + : public ::testing::internal::ParamGeneratorInterface { + public: + virtual ::testing::internal::ParamIteratorInterface* Begin() + const; + virtual ::testing::internal::ParamIteratorInterface* End() const; + + private: + void Materialize() const { + if (examples_.empty()) { + if (!FLAGS_file.empty()) examples_.push_back(FLAGS_file); + if (!FLAGS_directory.empty()) { + DIR* dp; + struct dirent* ep; + dp = opendir("./"); + + if (dp != NULL) { + while ((ep = readdir(dp)) != nullptr) examples_.push_back(ep->d_name); + + (void)closedir(dp); + } else { + perror("Couldn't open the directory"); + abort(); + } + } + } + } + + mutable std::vector examples_; +}; + +class ExampleIterator + : public ::testing::internal::ParamIteratorInterface { + public: + ExampleIterator(const ExampleGenerator& base_, + std::vector::const_iterator begin) + : base_(base_), begin_(begin), current_(begin), current_string_(NULL) {} + + ~ExampleIterator() { delete current_string_; } + virtual const ExampleGenerator* BaseGenerator() const { return &base_; } + + virtual void Advance() { + current_++; + delete current_string_; + current_string_ = NULL; + } + virtual ExampleIterator* Clone() const { return new ExampleIterator(*this); } + virtual const std::string* Current() const; + + virtual bool Equals(const ParamIteratorInterface& other) const { + return &base_ == other.BaseGenerator() && + current_ == dynamic_cast(&other)->current_; + } + + private: + ExampleIterator(const ExampleIterator& other) + : base_(other.base_), + begin_(other.begin_), + current_(other.current_), + current_string_(NULL) {} + + const ExampleGenerator& base_; + const std::vector::const_iterator begin_; + std::vector::const_iterator current_; + mutable const std::string* current_string_; +}; + +::testing::internal::ParamIteratorInterface* +ExampleGenerator::Begin() const { + Materialize(); + return new ExampleIterator(*this, examples_.begin()); +} + +::testing::internal::ParamIteratorInterface* +ExampleGenerator::End() const { + Materialize(); + return new ExampleIterator(*this, examples_.end()); +} + +INSTANTIATE_TEST_CASE_P( + CorpusExamples, FuzzerCorpusTest, + ::testing::internal::ParamGenerator(new ExampleGenerator)); + +int main(int argc, char** argv) { + grpc_test_init(argc, argv); + ::testing::InitGoogleTest(&argc, argv); + + return RUN_ALL_TESTS(); +} diff --git a/test/core/util/grpc_fuzzer.bzl b/test/core/util/grpc_fuzzer.bzl index 41f6cdc8ba6..55b6f1c1a5e 100644 --- a/test/core/util/grpc_fuzzer.bzl +++ b/test/core/util/grpc_fuzzer.bzl @@ -12,19 +12,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -load("//bazel:grpc_build_system.bzl", "grpc_cc_binary") +load("//bazel:grpc_build_system.bzl", "grpc_cc_test") def grpc_fuzzer(name, corpus, srcs = [], deps = [], **kwargs): - grpc_cc_binary( - name = '%s/one_entry.bin' % name, + grpc_cc_test( + name = name, srcs = srcs, - deps = deps + ["//test/core/util:one_corpus_entry_fuzzer"], + deps = deps + ["//test/core/util:fuzzer_corpus_test"], + data = [corpus], + args = ['--directory', '$(location %s)' % corpus], + external_deps = [ + 'gtest', + ], **kwargs ) - for entry in native.glob(['%s/*' % corpus]): - native.sh_test( - name = '%s/one_entry/%s' % (name, entry), - data = [':%s/one_entry.bin' % name, entry], - srcs = ['//test/core/util:fuzzer_one_entry_runner'], - args = ['$(location :%s/one_entry.bin)' % name, '$(location %s)' % entry] - ) diff --git a/test/core/util/one_corpus_entry_fuzzer.c b/test/core/util/one_corpus_entry_fuzzer.c deleted file mode 100644 index 42467390f2d..00000000000 --- a/test/core/util/one_corpus_entry_fuzzer.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * - * Copyright 2016 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include - -#include -#include "src/core/lib/iomgr/load_file.h" - -extern int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); - -extern bool squelch; -extern bool leak_check; - -int main(int argc, char **argv) { - grpc_slice buffer; - squelch = false; - leak_check = false; - GPR_ASSERT( - GRPC_LOG_IF_ERROR("load_file", grpc_load_file(argv[1], 0, &buffer))); - LLVMFuzzerTestOneInput(GRPC_SLICE_START_PTR(buffer), - GRPC_SLICE_LENGTH(buffer)); - grpc_slice_unref(buffer); - return 0; -} From 9ecc2156589c44b0938c454558312fd7252940bf Mon Sep 17 00:00:00 2001 From: Muxi Yan Date: Fri, 29 Sep 2017 17:08:59 -0700 Subject: [PATCH 068/180] Add PB_NO_PACKED_STRUCTS to gRPC-Core --- gRPC-Core.podspec | 1 + templates/gRPC-Core.podspec.template | 1 + 2 files changed, 2 insertions(+) diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index c76b9a3f4bd..9e72042fecc 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -84,6 +84,7 @@ Pod::Spec.new do |s| # build. 'USE_HEADERMAP' => 'NO', 'ALWAYS_SEARCH_USER_PATHS' => 'NO', + 'GCC_PREPROCESSOR_DEFINITIONS' => '"$(inherited)" "COCOAPODS=1" "PB_NO_PACKED_STRUCTS=1"', } s.default_subspecs = 'Interface', 'Implementation' diff --git a/templates/gRPC-Core.podspec.template b/templates/gRPC-Core.podspec.template index 6077f8098dd..e34bc8331e9 100644 --- a/templates/gRPC-Core.podspec.template +++ b/templates/gRPC-Core.podspec.template @@ -111,6 +111,7 @@ # build. 'USE_HEADERMAP' => 'NO', 'ALWAYS_SEARCH_USER_PATHS' => 'NO', + 'GCC_PREPROCESSOR_DEFINITIONS' => '"$(inherited)" "COCOAPODS=1" "PB_NO_PACKED_STRUCTS=1"', } s.default_subspecs = 'Interface', 'Implementation' From 63a7bea8f075564fbc060dc410fd97c4b09f2615 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 2 Oct 2017 17:59:58 +0200 Subject: [PATCH 069/180] synchronize clock on macos --- tools/internal_ci/helper_scripts/prepare_build_macos_rc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/internal_ci/helper_scripts/prepare_build_macos_rc b/tools/internal_ci/helper_scripts/prepare_build_macos_rc index bec529f85e9..1c10d42d491 100644 --- a/tools/internal_ci/helper_scripts/prepare_build_macos_rc +++ b/tools/internal_ci/helper_scripts/prepare_build_macos_rc @@ -27,6 +27,14 @@ ulimit -n 10000 # show current limits ulimit -a +# synchronize the clock +date +sudo systemsetup -setusingnetworktime off +sudo systemsetup -setnetworktimeserver "$( ipconfig getoption en0 server_identifier )" +sudo systemsetup -settimezone America/Los_Angeles +sudo systemsetup -setusingnetworktime on +date + # Add GCP credentials for BQ access pip install google-api-python-client --user python export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/GrpcTesting-d0eeee2db331.json From 7149788e0a03b0c9274966881873893991662b39 Mon Sep 17 00:00:00 2001 From: Muxi Yan Date: Mon, 2 Oct 2017 09:26:06 -0700 Subject: [PATCH 070/180] Fix performance regression caused by truncating first 5 bytes of gRPC PDU --- src/core/ext/transport/chttp2/transport/chttp2_transport.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index acf49632ff5..3a4b53d2546 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -1901,7 +1901,8 @@ void grpc_chttp2_maybe_complete_recv_message(grpc_exec_ctx *exec_ctx, &s->frame_storage); s->unprocessed_incoming_frames_decompressed = false; } - if (!s->unprocessed_incoming_frames_decompressed) { + if (!s->unprocessed_incoming_frames_decompressed && + s->stream_decompression_method != GRPC_STREAM_COMPRESSION_IDENTITY_DECOMPRESS) { GPR_ASSERT(s->decompressed_data_buffer.length == 0); bool end_of_context; if (!s->stream_decompression_ctx) { From dbfcd45af8d553d6c52ace15850a712584c0d5d5 Mon Sep 17 00:00:00 2001 From: Alexander Polcyn Date: Sun, 1 Oct 2017 15:34:29 -0700 Subject: [PATCH 071/180] Limit max jobs cpu agnostic way, to avoid overloading the test environment --- tools/run_tests/python_utils/jobset.py | 9 +++++++-- tools/run_tests/run_tests.py | 9 ++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/tools/run_tests/python_utils/jobset.py b/tools/run_tests/python_utils/jobset.py index 062c79a0dec..82a3bc14352 100755 --- a/tools/run_tests/python_utils/jobset.py +++ b/tools/run_tests/python_utils/jobset.py @@ -364,7 +364,7 @@ class Job(object): class Jobset(object): """Manages one run of jobs.""" - def __init__(self, check_cancelled, maxjobs, newline_on_success, travis, + def __init__(self, check_cancelled, maxjobs, maxjobs_cpu_agnostic, newline_on_success, travis, stop_on_failure, add_env, quiet_success, max_time): self._running = set() self._check_cancelled = check_cancelled @@ -372,6 +372,7 @@ class Jobset(object): self._failures = 0 self._completed = 0 self._maxjobs = maxjobs + self._maxjobs_cpu_agnostic = maxjobs_cpu_agnostic self._newline_on_success = newline_on_success self._travis = travis self._stop_on_failure = stop_on_failure @@ -406,7 +407,9 @@ class Jobset(object): if self.cancelled(): return False current_cpu_cost = self.cpu_cost() if current_cpu_cost == 0: break - if current_cpu_cost + spec.cpu_cost <= self._maxjobs: break + if current_cpu_cost + spec.cpu_cost <= self._maxjobs: + if len(self._running) < self._maxjobs_cpu_agnostic: + break self.reap() if self.cancelled(): return False job = Job(spec, @@ -491,6 +494,7 @@ def tag_remaining(xs): def run(cmdlines, check_cancelled=_never_cancelled, maxjobs=None, + maxjobs_cpu_agnostic=None, newline_on_success=False, travis=False, infinite_runs=False, @@ -509,6 +513,7 @@ def run(cmdlines, return 0, resultset js = Jobset(check_cancelled, maxjobs if maxjobs is not None else _DEFAULT_MAX_JOBS, + maxjobs_cpu_agnostic if maxjobs_cpu_agnostic is not None else _DEFAULT_MAX_JOBS, newline_on_success, travis, stop_on_failure, add_env, quiet_success, max_time) for cmdline, remaining in tag_remaining(cmdlines): diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index b38108d456c..29055848e2c 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -117,6 +117,13 @@ def run_shell_command(cmd, env=None, cwd=None): e.cmd, e.returncode, e.output) raise +def max_parallel_tests_for_current_platform(): + # Too much test parallelization has only been seen to be a problem + # so far on windows. + if jobset.platform_string() == 'windows': + return 64 + return 1e6 + # SimpleConfig: just compile with CONFIG=config, and run the binary to test class Config(object): @@ -1553,7 +1560,7 @@ def _build_and_run( jobset.message('START', 'Running tests quietly, only failing tests will be reported', do_newline=True) num_test_failures, resultset = jobset.run( all_runs, check_cancelled, newline_on_success=newline_on_success, - travis=args.travis, maxjobs=args.jobs, + travis=args.travis, maxjobs=args.jobs, maxjobs_cpu_agnostic=max_parallel_tests_for_current_platform(), stop_on_failure=args.stop_on_failure, quiet_success=args.quiet_success, max_time=args.max_time) if resultset: From 3b8f40a5c49c0e68dc989907e3c51b689c15b7da Mon Sep 17 00:00:00 2001 From: Alexander Polcyn Date: Mon, 2 Oct 2017 10:43:51 -0700 Subject: [PATCH 072/180] Tentatively reduce parallelization limit on linux/macos to 128 --- tools/run_tests/run_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 29055848e2c..076045614cb 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -122,7 +122,7 @@ def max_parallel_tests_for_current_platform(): # so far on windows. if jobset.platform_string() == 'windows': return 64 - return 1e6 + return 128 # SimpleConfig: just compile with CONFIG=config, and run the binary to test class Config(object): From 43c1b5f4377d3f1640b7bdae099cd3300a624bc0 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 2 Oct 2017 14:42:49 -0700 Subject: [PATCH 073/180] Fixes --- build.yaml | 2 +- gRPC-Core.podspec | 4 ++-- grpc.gemspec | 2 +- package.xml | 2 +- .../transport/chttp2/transport/chttp2_transport.c | 2 +- .../ext/transport/chttp2/transport/flow_control.c | 3 ++- src/core/lib/iomgr/iocp_windows.c | 6 +++--- src/core/lib/transport/bdp_estimator.c | 14 ++++++++------ src/core/lib/transport/bdp_estimator.h | 13 ++++++++----- tools/doxygen/Doxyfile.c++.internal | 2 +- tools/doxygen/Doxyfile.core.internal | 2 +- tools/run_tests/generated/sources_and_headers.json | 4 ++-- 12 files changed, 31 insertions(+), 25 deletions(-) diff --git a/build.yaml b/build.yaml index 9fac2e11260..5843be28188 100644 --- a/build.yaml +++ b/build.yaml @@ -142,7 +142,6 @@ filegroups: - src/core/lib/support/atomic.h - src/core/lib/support/atomic_with_atm.h - src/core/lib/support/atomic_with_std.h - - src/core/lib/support/block_annotate.h - src/core/lib/support/env.h - src/core/lib/support/memory.h - src/core/lib/support/mpscq.h @@ -355,6 +354,7 @@ filegroups: - src/core/lib/http/format_request.h - src/core/lib/http/httpcli.h - src/core/lib/http/parser.h + - src/core/lib/iomgr/block_annotate.h - src/core/lib/iomgr/call_combiner.h - src/core/lib/iomgr/closure.h - src/core/lib/iomgr/combiner.h diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 8b7bdfc6177..804345a9cb1 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -189,7 +189,6 @@ Pod::Spec.new do |s| 'src/core/lib/support/atomic.h', 'src/core/lib/support/atomic_with_atm.h', 'src/core/lib/support/atomic_with_std.h', - 'src/core/lib/support/block_annotate.h', 'src/core/lib/support/env.h', 'src/core/lib/support/memory.h', 'src/core/lib/support/mpscq.h', @@ -336,6 +335,7 @@ Pod::Spec.new do |s| 'src/core/lib/http/format_request.h', 'src/core/lib/http/httpcli.h', 'src/core/lib/http/parser.h', + 'src/core/lib/iomgr/block_annotate.h', 'src/core/lib/iomgr/call_combiner.h', 'src/core/lib/iomgr/closure.h', 'src/core/lib/iomgr/combiner.h', @@ -734,7 +734,6 @@ Pod::Spec.new do |s| 'src/core/lib/support/atomic.h', 'src/core/lib/support/atomic_with_atm.h', 'src/core/lib/support/atomic_with_std.h', - 'src/core/lib/support/block_annotate.h', 'src/core/lib/support/env.h', 'src/core/lib/support/memory.h', 'src/core/lib/support/mpscq.h', @@ -836,6 +835,7 @@ Pod::Spec.new do |s| 'src/core/lib/http/format_request.h', 'src/core/lib/http/httpcli.h', 'src/core/lib/http/parser.h', + 'src/core/lib/iomgr/block_annotate.h', 'src/core/lib/iomgr/call_combiner.h', 'src/core/lib/iomgr/closure.h', 'src/core/lib/iomgr/combiner.h', diff --git a/grpc.gemspec b/grpc.gemspec index 26b123d47b0..f6927b2cb50 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -88,7 +88,6 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/support/atomic.h ) s.files += %w( src/core/lib/support/atomic_with_atm.h ) s.files += %w( src/core/lib/support/atomic_with_std.h ) - s.files += %w( src/core/lib/support/block_annotate.h ) s.files += %w( src/core/lib/support/env.h ) s.files += %w( src/core/lib/support/memory.h ) s.files += %w( src/core/lib/support/mpscq.h ) @@ -269,6 +268,7 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/http/format_request.h ) s.files += %w( src/core/lib/http/httpcli.h ) s.files += %w( src/core/lib/http/parser.h ) + s.files += %w( src/core/lib/iomgr/block_annotate.h ) s.files += %w( src/core/lib/iomgr/call_combiner.h ) s.files += %w( src/core/lib/iomgr/closure.h ) s.files += %w( src/core/lib/iomgr/combiner.h ) diff --git a/package.xml b/package.xml index 4c24070124e..824de0b8832 100644 --- a/package.xml +++ b/package.xml @@ -100,7 +100,6 @@ - @@ -281,6 +280,7 @@ + diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index 1c575badb87..452651af900 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -2576,7 +2576,7 @@ static void finish_bdp_ping_locked(grpc_exec_ctx *exec_ctx, void *tp, if (GRPC_TRACER_ON(grpc_http_trace)) { gpr_log(GPR_DEBUG, "%s: Complete BDP ping", t->peer_string); } - grpc_bdp_estimator_complete_ping(&t->flow_control.bdp_estimator); + grpc_bdp_estimator_complete_ping(exec_ctx, &t->flow_control.bdp_estimator); GRPC_CHTTP2_UNREF_TRANSPORT(exec_ctx, t, "bdp_ping"); } diff --git a/src/core/ext/transport/chttp2/transport/flow_control.c b/src/core/ext/transport/chttp2/transport/flow_control.c index a95b4b3d052..a8ac80cf43b 100644 --- a/src/core/ext/transport/chttp2/transport/flow_control.c +++ b/src/core/ext/transport/chttp2/transport/flow_control.c @@ -457,7 +457,8 @@ grpc_chttp2_flowctl_action grpc_chttp2_flowctl_get_action( } } if (tfc->enable_bdp_probe) { - action.need_ping = grpc_bdp_estimator_need_ping(&tfc->bdp_estimator); + action.need_ping = + grpc_bdp_estimator_need_ping(exec_ctx, &tfc->bdp_estimator); // get bdp estimate and update initial_window accordingly. int64_t estimate = -1; diff --git a/src/core/lib/iomgr/iocp_windows.c b/src/core/lib/iomgr/iocp_windows.c index 3c38105ef99..a6e064c8c04 100644 --- a/src/core/lib/iomgr/iocp_windows.c +++ b/src/core/lib/iomgr/iocp_windows.c @@ -43,7 +43,7 @@ static HANDLE g_iocp; static DWORD deadline_to_millis_timeout(grpc_exec_ctx *exec_ctx, grpc_millis deadline) { gpr_timespec timeout; - if (deadline == GRPC_MILLIS_INF_FUTURE) == 0) { + if (deadline == GRPC_MILLIS_INF_FUTURE) { return INFINITE; } return (DWORD)GPR_MAX(0, deadline - grpc_exec_ctx_now(exec_ctx)); @@ -113,7 +113,7 @@ void grpc_iocp_flush(void) { grpc_iocp_work_status work_status; do { - work_status = grpc_iocp_work(&exec_ctx, gpr_inf_past(GPR_CLOCK_MONOTONIC)); + work_status = grpc_iocp_work(&exec_ctx, GRPC_MILLIS_INF_PAST); } while (work_status == GRPC_IOCP_WORK_KICK || grpc_exec_ctx_flush(&exec_ctx)); } @@ -121,7 +121,7 @@ void grpc_iocp_flush(void) { void grpc_iocp_shutdown(void) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; while (gpr_atm_acq_load(&g_custom_events)) { - grpc_iocp_work(&exec_ctx, gpr_inf_future(GPR_CLOCK_MONOTONIC)); + grpc_iocp_work(&exec_ctx, GRPC_MILLIS_INF_FUTURE); grpc_exec_ctx_flush(&exec_ctx); } grpc_exec_ctx_finish(&exec_ctx); diff --git a/src/core/lib/transport/bdp_estimator.c b/src/core/lib/transport/bdp_estimator.c index 2a3ffbbd018..2bf1d0b5e5c 100644 --- a/src/core/lib/transport/bdp_estimator.c +++ b/src/core/lib/transport/bdp_estimator.c @@ -30,6 +30,7 @@ void grpc_bdp_estimator_init(grpc_bdp_estimator *estimator, const char *name) { estimator->estimate = 65536; estimator->ping_state = GRPC_BDP_PING_UNSCHEDULED; estimator->ping_start_time = gpr_time_0(GPR_CLOCK_MONOTONIC); + estimator->next_ping_scheduled = 0; estimator->name = name; estimator->bw_est = 0; estimator->inter_ping_delay = 100.0; // start at 100ms @@ -53,11 +54,11 @@ void grpc_bdp_estimator_add_incoming_bytes(grpc_bdp_estimator *estimator, estimator->accumulator += num_bytes; } -bool grpc_bdp_estimator_need_ping(const grpc_bdp_estimator *estimator) { +bool grpc_bdp_estimator_need_ping(grpc_exec_ctx *exec_ctx, + const grpc_bdp_estimator *estimator) { switch (estimator->ping_state) { case GRPC_BDP_PING_UNSCHEDULED: - return gpr_time_cmp(gpr_now(GPR_CLOCK_MONOTONIC), - estimator->ping_start_time) >= 0; + return grpc_exec_ctx_now(exec_ctx) >= estimator->next_ping_scheduled; case GRPC_BDP_PING_SCHEDULED: return false; case GRPC_BDP_PING_STARTED: @@ -87,7 +88,8 @@ void grpc_bdp_estimator_start_ping(grpc_bdp_estimator *estimator) { estimator->ping_start_time = gpr_now(GPR_CLOCK_MONOTONIC); } -void grpc_bdp_estimator_complete_ping(grpc_bdp_estimator *estimator) { +void grpc_bdp_estimator_complete_ping(grpc_exec_ctx *exec_ctx, + grpc_bdp_estimator *estimator) { gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); gpr_timespec dt_ts = gpr_time_sub(now, estimator->ping_start_time); double dt = (double)dt_ts.tv_sec + 1e-9 * (double)dt_ts.tv_nsec; @@ -129,6 +131,6 @@ void grpc_bdp_estimator_complete_ping(grpc_bdp_estimator *estimator) { } estimator->ping_state = GRPC_BDP_PING_UNSCHEDULED; estimator->accumulator = 0; - estimator->ping_start_time = gpr_time_add( - now, gpr_time_from_millis(estimator->inter_ping_delay, GPR_TIMESPAN)); + estimator->next_ping_scheduled = + grpc_exec_ctx_now(exec_ctx) + estimator->inter_ping_delay; } diff --git a/src/core/lib/transport/bdp_estimator.h b/src/core/lib/transport/bdp_estimator.h index 670e38dd4bb..c74de5a6bb8 100644 --- a/src/core/lib/transport/bdp_estimator.h +++ b/src/core/lib/transport/bdp_estimator.h @@ -23,6 +23,7 @@ #include #include #include "src/core/lib/debug/trace.h" +#include "src/core/lib/iomgr/exec_ctx.h" #define GRPC_BDP_SAMPLES 16 #define GRPC_BDP_MIN_SAMPLES_FOR_ESTIMATE 3 @@ -39,10 +40,10 @@ typedef struct grpc_bdp_estimator { grpc_bdp_estimator_ping_state ping_state; int64_t accumulator; int64_t estimate; - // case ping_state of - // GRPC_BDP_PING_UNSCHEDULED => when to start the next ping - // GRPC_BDP_PING_STARTED => when the current ping was started + // when was the current ping started? gpr_timespec ping_start_time; + // when should the next ping start? + grpc_millis next_ping_scheduled; int inter_ping_delay; int stable_estimate_count; double bw_est; @@ -60,7 +61,8 @@ bool grpc_bdp_estimator_get_bw(const grpc_bdp_estimator *estimator, double *bw); void grpc_bdp_estimator_add_incoming_bytes(grpc_bdp_estimator *estimator, int64_t num_bytes); // Returns true if the user should schedule a ping -bool grpc_bdp_estimator_need_ping(const grpc_bdp_estimator *estimator); +bool grpc_bdp_estimator_need_ping(grpc_exec_ctx *exec_ctx, + const grpc_bdp_estimator *estimator); // Schedule a ping: call in response to receiving a true from // grpc_bdp_estimator_add_incoming_bytes once a ping has been scheduled by a // transport (but not necessarily started) @@ -69,6 +71,7 @@ void grpc_bdp_estimator_schedule_ping(grpc_bdp_estimator *estimator); // the ping is on the wire void grpc_bdp_estimator_start_ping(grpc_bdp_estimator *estimator); // Completes a previously started ping -void grpc_bdp_estimator_complete_ping(grpc_bdp_estimator *estimator); +void grpc_bdp_estimator_complete_ping(grpc_exec_ctx *exec_ctx, + grpc_bdp_estimator *estimator); #endif /* GRPC_CORE_LIB_TRANSPORT_BDP_ESTIMATOR_H */ diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index d220365fc07..cb8bb93c738 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -953,6 +953,7 @@ src/core/lib/debug/trace.h \ src/core/lib/http/format_request.h \ src/core/lib/http/httpcli.h \ src/core/lib/http/parser.h \ +src/core/lib/iomgr/block_annotate.h \ src/core/lib/iomgr/call_combiner.h \ src/core/lib/iomgr/closure.h \ src/core/lib/iomgr/combiner.h \ @@ -1029,7 +1030,6 @@ src/core/lib/support/arena.h \ src/core/lib/support/atomic.h \ src/core/lib/support/atomic_with_atm.h \ src/core/lib/support/atomic_with_std.h \ -src/core/lib/support/block_annotate.h \ src/core/lib/support/env.h \ src/core/lib/support/memory.h \ src/core/lib/support/mpscq.h \ diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 430566bfbef..792d0b3f684 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1098,6 +1098,7 @@ src/core/lib/http/httpcli_security_connector.c \ src/core/lib/http/parser.c \ src/core/lib/http/parser.h \ src/core/lib/iomgr/README.md \ +src/core/lib/iomgr/block_annotate.h \ src/core/lib/iomgr/call_combiner.c \ src/core/lib/iomgr/call_combiner.h \ src/core/lib/iomgr/closure.c \ @@ -1303,7 +1304,6 @@ src/core/lib/support/atomic.h \ src/core/lib/support/atomic_with_atm.h \ src/core/lib/support/atomic_with_std.h \ src/core/lib/support/avl.c \ -src/core/lib/support/block_annotate.h \ src/core/lib/support/cmdline.c \ src/core/lib/support/cpu_iphone.c \ src/core/lib/support/cpu_linux.c \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index 5e825e2082a..07acce58a2f 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -7855,7 +7855,6 @@ "src/core/lib/support/atomic.h", "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", - "src/core/lib/support/block_annotate.h", "src/core/lib/support/env.h", "src/core/lib/support/memory.h", "src/core/lib/support/mpscq.h", @@ -7903,7 +7902,6 @@ "src/core/lib/support/atomic.h", "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", - "src/core/lib/support/block_annotate.h", "src/core/lib/support/env.h", "src/core/lib/support/memory.h", "src/core/lib/support/mpscq.h", @@ -8169,6 +8167,7 @@ "src/core/lib/http/format_request.h", "src/core/lib/http/httpcli.h", "src/core/lib/http/parser.h", + "src/core/lib/iomgr/block_annotate.h", "src/core/lib/iomgr/call_combiner.h", "src/core/lib/iomgr/closure.h", "src/core/lib/iomgr/combiner.h", @@ -8303,6 +8302,7 @@ "src/core/lib/http/format_request.h", "src/core/lib/http/httpcli.h", "src/core/lib/http/parser.h", + "src/core/lib/iomgr/block_annotate.h", "src/core/lib/iomgr/call_combiner.h", "src/core/lib/iomgr/closure.h", "src/core/lib/iomgr/combiner.h", From 5bc68e9750d6046d348a3ef8ffa4909a435e3e3c Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 2 Oct 2017 15:16:46 -0700 Subject: [PATCH 074/180] Fixes --- src/core/lib/iomgr/iocp_windows.c | 1 + src/core/lib/iomgr/tcp_client_windows.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/lib/iomgr/iocp_windows.c b/src/core/lib/iomgr/iocp_windows.c index a6e064c8c04..336cc86c757 100644 --- a/src/core/lib/iomgr/iocp_windows.c +++ b/src/core/lib/iomgr/iocp_windows.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "src/core/lib/debug/stats.h" #include "src/core/lib/iomgr/iocp_windows.h" diff --git a/src/core/lib/iomgr/tcp_client_windows.c b/src/core/lib/iomgr/tcp_client_windows.c index bf8016506aa..532d956a8eb 100644 --- a/src/core/lib/iomgr/tcp_client_windows.c +++ b/src/core/lib/iomgr/tcp_client_windows.c @@ -203,7 +203,7 @@ static void tcp_client_connect_impl( GRPC_CLOSURE_INIT(&ac->on_connect, on_connect, ac, grpc_schedule_on_exec_ctx); GRPC_CLOSURE_INIT(&ac->on_alarm, on_alarm, ac, grpc_schedule_on_exec_ctx); - grpc_timer_init(exec_ctx, &ac->alarm, deadline, &ac->on_alarm, ); + grpc_timer_init(exec_ctx, &ac->alarm, deadline, &ac->on_alarm); grpc_socket_notify_on_write(exec_ctx, socket, &ac->on_connect); return; From a16be228f8c0e160d8bff2c4267517b3a4045fab Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 2 Oct 2017 15:57:01 -0700 Subject: [PATCH 075/180] Fix casts --- src/core/lib/backoff/backoff.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/lib/backoff/backoff.c b/src/core/lib/backoff/backoff.c index b34c4a852b5..fe0a7518171 100644 --- a/src/core/lib/backoff/backoff.c +++ b/src/core/lib/backoff/backoff.c @@ -49,7 +49,7 @@ grpc_millis grpc_backoff_step(grpc_exec_ctx *exec_ctx, grpc_backoff *backoff) { const double new_timeout_millis = backoff->multiplier * (double)backoff->current_timeout_millis; backoff->current_timeout_millis = - GPR_MIN((int64_t)new_timeout_millis, backoff->max_timeout_millis); + GPR_MIN((grpc_millis)new_timeout_millis, backoff->max_timeout_millis); const double jitter_range_width = backoff->jitter * new_timeout_millis; const double jitter = @@ -57,7 +57,7 @@ grpc_millis grpc_backoff_step(grpc_exec_ctx *exec_ctx, grpc_backoff *backoff) { jitter_range_width; backoff->current_timeout_millis = - (int64_t)((double)(backoff->current_timeout_millis) + jitter); + (grpc_millis)((double)(backoff->current_timeout_millis) + jitter); const grpc_millis current_deadline = grpc_exec_ctx_now(exec_ctx) + backoff->current_timeout_millis; From 71f217c503e4a56f070601064640dabcd4fb33d5 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 19 Sep 2017 18:08:38 -0700 Subject: [PATCH 076/180] More pointer conversion required after making build changes --- .../client/secure/secure_channel_create.c | 2 +- .../cronet/transport/cronet_transport.c | 10 +++++----- src/core/lib/http/httpcli_security_connector.c | 6 +++--- .../lib/security/context/security_context.c | 4 ++-- .../composite/composite_credentials.c | 8 ++++---- .../credentials/credentials_metadata.c | 2 +- .../credentials/fake/fake_credentials.c | 4 ++-- .../google_default_credentials.c | 2 +- .../security/credentials/iam/iam_credentials.c | 2 +- .../lib/security/credentials/jwt/json_token.c | 4 ++-- .../security/credentials/jwt/jwt_credentials.c | 2 +- .../security/credentials/jwt/jwt_verifier.c | 10 +++++----- .../credentials/oauth2/oauth2_credentials.c | 4 ++-- .../credentials/plugin/plugin_credentials.c | 2 +- .../security/credentials/ssl/ssl_credentials.c | 2 +- .../security/transport/security_connector.c | 8 ++++---- src/core/tsi/fake_transport_security.c | 18 +++++++++--------- src/core/tsi/ssl_transport_security.c | 16 ++++++++-------- src/core/tsi/transport_security.c | 4 ++-- src/core/tsi/transport_security_adapter.c | 8 ++++---- 20 files changed, 59 insertions(+), 59 deletions(-) diff --git a/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c b/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c index d4580f15f5e..0a36d12f09d 100644 --- a/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c +++ b/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c @@ -127,7 +127,7 @@ static grpc_subchannel_args *get_secure_naming_subchannel_args( if (new_args_from_connector != NULL) { grpc_channel_args_destroy(exec_ctx, new_args_from_connector); } - grpc_subchannel_args *final_sc_args = gpr_malloc(sizeof(*final_sc_args)); + grpc_subchannel_args *final_sc_args = (grpc_subchannel_args*) gpr_malloc(sizeof(*final_sc_args)); memcpy(final_sc_args, args, sizeof(*args)); final_sc_args->args = new_args; return final_sc_args; diff --git a/src/core/ext/transport/cronet/transport/cronet_transport.c b/src/core/ext/transport/cronet/transport/cronet_transport.c index 587a3b83b55..08cc5a58be6 100644 --- a/src/core/ext/transport/cronet/transport/cronet_transport.c +++ b/src/core/ext/transport/cronet/transport/cronet_transport.c @@ -288,7 +288,7 @@ static void maybe_flush_read(stream_obj *s) { CRONET_LOG(GPR_DEBUG, "%p: Flush read", s); s->state.flush_read = true; null_and_maybe_free_read_buffer(s); - s->state.rs.read_buffer = gpr_malloc(GRPC_FLUSH_READ_SIZE); + s->state.rs.read_buffer = (char*) gpr_malloc(GRPC_FLUSH_READ_SIZE); if (!s->state.pending_read_from_cronet) { CRONET_LOG(GPR_DEBUG, "bidirectional_stream_read(%p)", s->cbs); bidirectional_stream_read(s->cbs, s->state.rs.read_buffer, @@ -313,7 +313,7 @@ static void add_to_storage(struct stream_obj *s, struct op_storage *storage = &s->storage; /* add new op at the beginning of the linked list. The memory is freed in remove_from_storage */ - struct op_and_state *new_op = gpr_malloc(sizeof(struct op_and_state)); + struct op_and_state *new_op = (struct op_and_state*) gpr_malloc(sizeof(struct op_and_state)); memcpy(&new_op->op, op, sizeof(grpc_transport_stream_op_batch)); memset(&new_op->state, 0, sizeof(new_op->state)); new_op->s = s; @@ -685,7 +685,7 @@ static void create_grpc_frame(grpc_exec_ctx *exec_ctx, size_t length = GRPC_SLICE_LENGTH(slice); *p_write_buffer_size = length + GRPC_HEADER_SIZE_IN_BYTES; /* This is freed in the on_write_completed callback */ - char *write_buffer = gpr_malloc(length + GRPC_HEADER_SIZE_IN_BYTES); + char *write_buffer = (char*) gpr_malloc(length + GRPC_HEADER_SIZE_IN_BYTES); *pp_write_buffer = write_buffer; uint8_t *p = (uint8_t *)write_buffer; /* Append 5 byte header */ @@ -1452,13 +1452,13 @@ static const grpc_transport_vtable grpc_cronet_vtable = { grpc_transport *grpc_create_cronet_transport(void *engine, const char *target, const grpc_channel_args *args, void *reserved) { - grpc_cronet_transport *ct = gpr_malloc(sizeof(grpc_cronet_transport)); + grpc_cronet_transport *ct = (grpc_cronet_transport*) gpr_malloc(sizeof(grpc_cronet_transport)); if (!ct) { goto error; } ct->base.vtable = &grpc_cronet_vtable; ct->engine = engine; - ct->host = gpr_malloc(strlen(target) + 1); + ct->host = (char*) gpr_malloc(strlen(target) + 1); if (!ct->host) { goto error; } diff --git a/src/core/lib/http/httpcli_security_connector.c b/src/core/lib/http/httpcli_security_connector.c index c553fa3981e..916ab3db6fb 100644 --- a/src/core/lib/http/httpcli_security_connector.c +++ b/src/core/lib/http/httpcli_security_connector.c @@ -106,7 +106,7 @@ static grpc_security_status httpcli_ssl_channel_security_connector_create( return GRPC_SECURITY_ERROR; } - c = gpr_zalloc(sizeof(grpc_httpcli_ssl_channel_security_connector)); + c = (grpc_httpcli_ssl_channel_security_connector*) gpr_zalloc(sizeof(grpc_httpcli_ssl_channel_security_connector)); gpr_ref_init(&c->base.base.refcount, 1); c->base.base.vtable = &httpcli_ssl_vtable; @@ -137,7 +137,7 @@ typedef struct { static void on_handshake_done(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { - grpc_handshaker_args *args = arg; + grpc_handshaker_args *args = (grpc_handshaker_args*) arg; on_done_closure *c = args->user_data; if (error != GRPC_ERROR_NONE) { const char *msg = grpc_error_string(error); @@ -159,7 +159,7 @@ static void ssl_handshake(grpc_exec_ctx *exec_ctx, void *arg, gpr_timespec deadline, void (*on_done)(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *endpoint)) { - on_done_closure *c = gpr_malloc(sizeof(*c)); + on_done_closure *c = (on_done_closure*) gpr_malloc(sizeof(*c)); const char *pem_root_certs = grpc_get_default_ssl_roots(); if (pem_root_certs == NULL) { gpr_log(GPR_ERROR, "Could not get default pem root certs."); diff --git a/src/core/lib/security/context/security_context.c b/src/core/lib/security/context/security_context.c index 8fff2c92c50..1771864c537 100644 --- a/src/core/lib/security/context/security_context.c +++ b/src/core/lib/security/context/security_context.c @@ -117,7 +117,7 @@ void grpc_server_security_context_destroy(void *ctx) { static grpc_auth_property_iterator empty_iterator = {NULL, 0, NULL}; grpc_auth_context *grpc_auth_context_create(grpc_auth_context *chained) { - grpc_auth_context *ctx = gpr_zalloc(sizeof(grpc_auth_context)); + grpc_auth_context *ctx = (grpc_auth_context*) gpr_zalloc(sizeof(grpc_auth_context)); gpr_ref_init(&ctx->refcount, 1); if (chained != NULL) { ctx->chained = GRPC_AUTH_CONTEXT_REF(chained, "chained"); @@ -275,7 +275,7 @@ void grpc_auth_context_add_property(grpc_auth_context *ctx, const char *name, ensure_auth_context_capacity(ctx); prop = &ctx->properties.array[ctx->properties.count++]; prop->name = gpr_strdup(name); - prop->value = gpr_malloc(value_length + 1); + prop->value = (char*) gpr_malloc(value_length + 1); memcpy(prop->value, value, value_length); prop->value[value_length] = '\0'; prop->value_length = value_length; diff --git a/src/core/lib/security/credentials/composite/composite_credentials.c b/src/core/lib/security/credentials/composite/composite_credentials.c index b67ff48d0f4..a3a7cbd18dc 100644 --- a/src/core/lib/security/credentials/composite/composite_credentials.c +++ b/src/core/lib/security/credentials/composite/composite_credentials.c @@ -79,7 +79,7 @@ static bool composite_call_get_request_metadata( grpc_error **error) { grpc_composite_call_credentials *c = (grpc_composite_call_credentials *)creds; grpc_composite_call_credentials_metadata_context *ctx; - ctx = gpr_zalloc(sizeof(grpc_composite_call_credentials_metadata_context)); + ctx = (grpc_composite_call_credentials_metadata_context*) gpr_zalloc(sizeof(grpc_composite_call_credentials_metadata_context)); ctx->composite_creds = c; ctx->pollent = pollent; ctx->auth_md_context = auth_md_context; @@ -146,7 +146,7 @@ grpc_call_credentials *grpc_composite_call_credentials_create( GPR_ASSERT(reserved == NULL); GPR_ASSERT(creds1 != NULL); GPR_ASSERT(creds2 != NULL); - c = gpr_zalloc(sizeof(grpc_composite_call_credentials)); + c = (grpc_composite_call_credentials*) gpr_zalloc(sizeof(grpc_composite_call_credentials)); c->base.type = GRPC_CALL_CREDENTIALS_TYPE_COMPOSITE; c->base.vtable = &composite_call_credentials_vtable; gpr_ref_init(&c->base.refcount, 1); @@ -154,7 +154,7 @@ grpc_call_credentials *grpc_composite_call_credentials_create( creds2_array = get_creds_array(&creds2); c->inner.num_creds = creds1_array.num_creds + creds2_array.num_creds; creds_array_byte_size = c->inner.num_creds * sizeof(grpc_call_credentials *); - c->inner.creds_array = gpr_zalloc(creds_array_byte_size); + c->inner.creds_array = (grpc_call_credentials**) gpr_zalloc(creds_array_byte_size); for (i = 0; i < creds1_array.num_creds; i++) { grpc_call_credentials *cur_creds = creds1_array.creds_array[i]; c->inner.creds_array[i] = grpc_call_credentials_ref(cur_creds); @@ -248,7 +248,7 @@ static grpc_channel_credentials_vtable composite_channel_credentials_vtable = { grpc_channel_credentials *grpc_composite_channel_credentials_create( grpc_channel_credentials *channel_creds, grpc_call_credentials *call_creds, void *reserved) { - grpc_composite_channel_credentials *c = gpr_zalloc(sizeof(*c)); + grpc_composite_channel_credentials *c = (grpc_composite_channel_credentials*) gpr_zalloc(sizeof(*c)); GPR_ASSERT(channel_creds != NULL && call_creds != NULL && reserved == NULL); GRPC_API_TRACE( "grpc_composite_channel_credentials_create(channel_creds=%p, " diff --git a/src/core/lib/security/credentials/credentials_metadata.c b/src/core/lib/security/credentials/credentials_metadata.c index ccd39e610f3..03b84bd0196 100644 --- a/src/core/lib/security/credentials/credentials_metadata.c +++ b/src/core/lib/security/credentials/credentials_metadata.c @@ -33,7 +33,7 @@ static void mdelem_list_ensure_capacity(grpc_credentials_mdelem_array *list, while (new_size < target_size) { new_size *= 2; } - list->md = gpr_realloc(list->md, sizeof(grpc_mdelem) * new_size); + list->md = (grpc_mdelem*) gpr_realloc(list->md, sizeof(grpc_mdelem) * new_size); } void grpc_credentials_mdelem_array_add(grpc_credentials_mdelem_array *list, diff --git a/src/core/lib/security/credentials/fake/fake_credentials.c b/src/core/lib/security/credentials/fake/fake_credentials.c index ac9017850fe..9ee7914c51f 100644 --- a/src/core/lib/security/credentials/fake/fake_credentials.c +++ b/src/core/lib/security/credentials/fake/fake_credentials.c @@ -60,7 +60,7 @@ static grpc_server_credentials_vtable grpc_channel_credentials *grpc_fake_transport_security_credentials_create( void) { - grpc_channel_credentials *c = gpr_zalloc(sizeof(grpc_channel_credentials)); + grpc_channel_credentials *c = (grpc_channel_credentials*) gpr_zalloc(sizeof(grpc_channel_credentials)); c->type = GRPC_CHANNEL_CREDENTIALS_TYPE_FAKE_TRANSPORT_SECURITY; c->vtable = &fake_transport_security_credentials_vtable; gpr_ref_init(&c->refcount, 1); @@ -69,7 +69,7 @@ grpc_channel_credentials *grpc_fake_transport_security_credentials_create( grpc_server_credentials *grpc_fake_transport_security_server_credentials_create( void) { - grpc_server_credentials *c = gpr_malloc(sizeof(grpc_server_credentials)); + grpc_server_credentials *c = (grpc_server_credentials*) gpr_malloc(sizeof(grpc_server_credentials)); memset(c, 0, sizeof(grpc_server_credentials)); c->type = GRPC_CHANNEL_CREDENTIALS_TYPE_FAKE_TRANSPORT_SECURITY; gpr_ref_init(&c->refcount, 1); diff --git a/src/core/lib/security/credentials/google_default/google_default_credentials.c b/src/core/lib/security/credentials/google_default/google_default_credentials.c index 691d66df698..c040c445a68 100644 --- a/src/core/lib/security/credentials/google_default/google_default_credentials.c +++ b/src/core/lib/security/credentials/google_default/google_default_credentials.c @@ -98,7 +98,7 @@ static int is_stack_running_on_compute_engine(grpc_exec_ctx *exec_ctx) { on compute engine. */ gpr_timespec max_detection_delay = gpr_time_from_seconds(1, GPR_TIMESPAN); - grpc_pollset *pollset = gpr_zalloc(grpc_pollset_size()); + grpc_pollset *pollset = (grpc_pollset*) gpr_zalloc(grpc_pollset_size()); grpc_pollset_init(pollset, &g_polling_mu); detector.pollent = grpc_polling_entity_create_from_pollset(pollset); detector.is_done = 0; diff --git a/src/core/lib/security/credentials/iam/iam_credentials.c b/src/core/lib/security/credentials/iam/iam_credentials.c index 3de8319d98a..df9ca99bdc3 100644 --- a/src/core/lib/security/credentials/iam/iam_credentials.c +++ b/src/core/lib/security/credentials/iam/iam_credentials.c @@ -64,7 +64,7 @@ grpc_call_credentials *grpc_google_iam_credentials_create( GPR_ASSERT(reserved == NULL); GPR_ASSERT(token != NULL); GPR_ASSERT(authority_selector != NULL); - grpc_google_iam_credentials *c = gpr_zalloc(sizeof(*c)); + grpc_google_iam_credentials *c = (grpc_google_iam_credentials*) gpr_zalloc(sizeof(*c)); c->base.type = GRPC_CALL_CREDENTIALS_TYPE_IAM; c->base.vtable = &iam_vtable; gpr_ref_init(&c->base.refcount, 1); diff --git a/src/core/lib/security/credentials/jwt/json_token.c b/src/core/lib/security/credentials/jwt/json_token.c index fff71255a5a..4f1456c384a 100644 --- a/src/core/lib/security/credentials/jwt/json_token.c +++ b/src/core/lib/security/credentials/jwt/json_token.c @@ -214,7 +214,7 @@ static char *dot_concat_and_free_strings(char *str1, char *str2) { size_t str1_len = strlen(str1); size_t str2_len = strlen(str2); size_t result_len = str1_len + 1 /* dot */ + str2_len; - char *result = gpr_malloc(result_len + 1 /* NULL terminated */); + char *result = (char*) gpr_malloc(result_len + 1 /* NULL terminated */); char *current = result; memcpy(current, str1, str1_len); current += str1_len; @@ -266,7 +266,7 @@ char *compute_and_encode_signature(const grpc_auth_json_key *json_key, gpr_log(GPR_ERROR, "DigestFinal (get signature length) failed."); goto end; } - sig = gpr_malloc(sig_len); + sig = (unsigned char*) gpr_malloc(sig_len); if (EVP_DigestSignFinal(md_ctx, sig, &sig_len) != 1) { gpr_log(GPR_ERROR, "DigestFinal (signature compute) failed."); goto end; diff --git a/src/core/lib/security/credentials/jwt/jwt_credentials.c b/src/core/lib/security/credentials/jwt/jwt_credentials.c index 02c82e99ba8..58610a1b69b 100644 --- a/src/core/lib/security/credentials/jwt/jwt_credentials.c +++ b/src/core/lib/security/credentials/jwt/jwt_credentials.c @@ -125,7 +125,7 @@ grpc_service_account_jwt_access_credentials_create_from_auth_json_key( gpr_log(GPR_ERROR, "Invalid input for jwt credentials creation"); return NULL; } - c = gpr_zalloc(sizeof(grpc_service_account_jwt_access_credentials)); + c = (grpc_service_account_jwt_access_credentials*) gpr_zalloc(sizeof(grpc_service_account_jwt_access_credentials)); c->base.type = GRPC_CALL_CREDENTIALS_TYPE_JWT; gpr_ref_init(&c->base.refcount, 1); c->base.vtable = &jwt_vtable; diff --git a/src/core/lib/security/credentials/jwt/jwt_verifier.c b/src/core/lib/security/credentials/jwt/jwt_verifier.c index a27284bc50b..1a8e1cf9eda 100644 --- a/src/core/lib/security/credentials/jwt/jwt_verifier.c +++ b/src/core/lib/security/credentials/jwt/jwt_verifier.c @@ -129,7 +129,7 @@ static void jose_header_destroy(grpc_exec_ctx *exec_ctx, jose_header *h) { static jose_header *jose_header_from_json(grpc_exec_ctx *exec_ctx, grpc_json *json, grpc_slice buffer) { grpc_json *cur; - jose_header *h = gpr_zalloc(sizeof(jose_header)); + jose_header *h = (jose_header*) gpr_zalloc(sizeof(jose_header)); h->buffer = buffer; for (cur = json->child; cur != NULL; cur = cur->next) { if (strcmp(cur->key, "alg") == 0) { @@ -231,7 +231,7 @@ gpr_timespec grpc_jwt_claims_not_before(const grpc_jwt_claims *claims) { grpc_jwt_claims *grpc_jwt_claims_from_json(grpc_exec_ctx *exec_ctx, grpc_json *json, grpc_slice buffer) { grpc_json *cur; - grpc_jwt_claims *claims = gpr_malloc(sizeof(grpc_jwt_claims)); + grpc_jwt_claims *claims = (grpc_jwt_claims*) gpr_malloc(sizeof(grpc_jwt_claims)); memset(claims, 0, sizeof(grpc_jwt_claims)); claims->json = json; claims->buffer = buffer; @@ -347,7 +347,7 @@ static verifier_cb_ctx *verifier_cb_ctx_create( const char *signed_jwt, size_t signed_jwt_len, void *user_data, grpc_jwt_verification_done_cb cb) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - verifier_cb_ctx *ctx = gpr_zalloc(sizeof(verifier_cb_ctx)); + verifier_cb_ctx *ctx = (verifier_cb_ctx*) gpr_zalloc(sizeof(verifier_cb_ctx)); ctx->verifier = verifier; ctx->pollent = grpc_polling_entity_create_from_pollset(pollset); ctx->header = header; @@ -901,12 +901,12 @@ error: grpc_jwt_verifier *grpc_jwt_verifier_create( const grpc_jwt_verifier_email_domain_key_url_mapping *mappings, size_t num_mappings) { - grpc_jwt_verifier *v = gpr_zalloc(sizeof(grpc_jwt_verifier)); + grpc_jwt_verifier *v = (grpc_jwt_verifier*) gpr_zalloc(sizeof(grpc_jwt_verifier)); grpc_httpcli_context_init(&v->http_ctx); /* We know at least of one mapping. */ v->allocated_mappings = 1 + num_mappings; - v->mappings = gpr_malloc(v->allocated_mappings * sizeof(email_key_mapping)); + v->mappings = (email_key_mapping*) gpr_malloc(v->allocated_mappings * sizeof(email_key_mapping)); verifier_put_mapping(v, GRPC_GOOGLE_SERVICE_ACCOUNTS_EMAIL_DOMAIN, GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX); /* User-Provided mappings. */ diff --git a/src/core/lib/security/credentials/oauth2/oauth2_credentials.c b/src/core/lib/security/credentials/oauth2/oauth2_credentials.c index 10b270c49cc..3a7a335ad69 100644 --- a/src/core/lib/security/credentials/oauth2/oauth2_credentials.c +++ b/src/core/lib/security/credentials/oauth2/oauth2_credentials.c @@ -130,7 +130,7 @@ grpc_oauth2_token_fetcher_credentials_parse_server_response( } if (response->body_length > 0) { - null_terminated_body = gpr_malloc(response->body_length + 1); + null_terminated_body = (char*) gpr_malloc(response->body_length + 1); null_terminated_body[response->body_length] = '\0'; memcpy(null_terminated_body, response->body, response->body_length); } @@ -447,7 +447,7 @@ grpc_refresh_token_credentials_create_from_auth_refresh_token( gpr_log(GPR_ERROR, "Invalid input for refresh token credentials creation"); return NULL; } - c = gpr_zalloc(sizeof(grpc_google_refresh_token_credentials)); + c = (grpc_google_refresh_token_credentials*) gpr_zalloc(sizeof(grpc_google_refresh_token_credentials)); init_oauth2_token_fetcher(&c->base, refresh_token_fetch_oauth2); c->base.base.vtable = &refresh_token_vtable; c->refresh_token = refresh_token; diff --git a/src/core/lib/security/credentials/plugin/plugin_credentials.c b/src/core/lib/security/credentials/plugin/plugin_credentials.c index ee20241e3fc..59ab9266b64 100644 --- a/src/core/lib/security/credentials/plugin/plugin_credentials.c +++ b/src/core/lib/security/credentials/plugin/plugin_credentials.c @@ -258,7 +258,7 @@ static grpc_call_credentials_vtable plugin_vtable = { grpc_call_credentials *grpc_metadata_credentials_create_from_plugin( grpc_metadata_credentials_plugin plugin, void *reserved) { - grpc_plugin_credentials *c = gpr_zalloc(sizeof(*c)); + grpc_plugin_credentials *c = (grpc_plugin_credentials*) gpr_zalloc(sizeof(*c)); GRPC_API_TRACE("grpc_metadata_credentials_create_from_plugin(reserved=%p)", 1, (reserved)); GPR_ASSERT(reserved == NULL); diff --git a/src/core/lib/security/credentials/ssl/ssl_credentials.c b/src/core/lib/security/credentials/ssl/ssl_credentials.c index 006db1ec765..5f6df9a3ef0 100644 --- a/src/core/lib/security/credentials/ssl/ssl_credentials.c +++ b/src/core/lib/security/credentials/ssl/ssl_credentials.c @@ -94,7 +94,7 @@ static void ssl_build_config(const char *pem_root_certs, grpc_channel_credentials *grpc_ssl_credentials_create( const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair, void *reserved) { - grpc_ssl_credentials *c = gpr_zalloc(sizeof(grpc_ssl_credentials)); + grpc_ssl_credentials *c = (grpc_ssl_credentials*) gpr_zalloc(sizeof(grpc_ssl_credentials)); GRPC_API_TRACE( "grpc_ssl_credentials_create(pem_root_certs=%s, " "pem_key_cert_pair=%p, " diff --git a/src/core/lib/security/transport/security_connector.c b/src/core/lib/security/transport/security_connector.c index 2a9e939d40a..8f60bf9e340 100644 --- a/src/core/lib/security/transport/security_connector.c +++ b/src/core/lib/security/transport/security_connector.c @@ -424,7 +424,7 @@ static grpc_security_connector_vtable fake_server_vtable = { grpc_channel_security_connector *grpc_fake_channel_security_connector_create( grpc_call_credentials *request_metadata_creds, const char *target, const grpc_channel_args *args) { - grpc_fake_channel_security_connector *c = gpr_zalloc(sizeof(*c)); + grpc_fake_channel_security_connector *c = (grpc_fake_channel_security_connector*) gpr_zalloc(sizeof(*c)); gpr_ref_init(&c->base.base.refcount, 1); c->base.base.url_scheme = GRPC_FAKE_SECURITY_URL_SCHEME; c->base.base.vtable = &fake_channel_vtable; @@ -658,7 +658,7 @@ tsi_peer tsi_shallow_peer_from_ssl_auth_context( while (grpc_auth_property_iterator_next(&it) != NULL) max_num_props++; if (max_num_props > 0) { - peer.properties = gpr_malloc(max_num_props * sizeof(tsi_peer_property)); + peer.properties = (tsi_peer_property*) gpr_malloc(max_num_props * sizeof(tsi_peer_property)); it = grpc_auth_context_property_iterator(auth_context); while ((prop = grpc_auth_property_iterator_next(&it)) != NULL) { if (strcmp(prop->name, GRPC_X509_SAN_PROPERTY_NAME) == 0) { @@ -829,7 +829,7 @@ grpc_security_status grpc_ssl_channel_security_connector_create( pem_root_certs = config->pem_root_certs; } - c = gpr_zalloc(sizeof(grpc_ssl_channel_security_connector)); + c = (grpc_ssl_channel_security_connector*) gpr_zalloc(sizeof(grpc_ssl_channel_security_connector)); gpr_ref_init(&c->base.base.refcount, 1); c->base.base.vtable = &ssl_channel_vtable; @@ -885,7 +885,7 @@ grpc_security_status grpc_ssl_server_security_connector_create( gpr_log(GPR_ERROR, "An SSL server needs a key and a cert."); goto error; } - c = gpr_zalloc(sizeof(grpc_ssl_server_security_connector)); + c = (grpc_ssl_server_security_connector*) gpr_zalloc(sizeof(grpc_ssl_server_security_connector)); gpr_ref_init(&c->base.base.refcount, 1); c->base.base.url_scheme = GRPC_SSL_URL_SCHEME; diff --git a/src/core/tsi/fake_transport_security.c b/src/core/tsi/fake_transport_security.c index 64043fea088..e85451ff24b 100644 --- a/src/core/tsi/fake_transport_security.c +++ b/src/core/tsi/fake_transport_security.c @@ -155,9 +155,9 @@ static void tsi_fake_frame_reset(tsi_fake_frame *frame, int needs_draining) { static void tsi_fake_frame_ensure_size(tsi_fake_frame *frame) { if (frame->data == NULL) { frame->allocated_size = frame->size; - frame->data = gpr_malloc(frame->allocated_size); + frame->data = (unsigned char*) gpr_malloc(frame->allocated_size); } else if (frame->size > frame->allocated_size) { - unsigned char *new_data = gpr_realloc(frame->data, frame->size); + unsigned char *new_data = (unsigned char*) gpr_realloc(frame->data, frame->size); frame->data = new_data; frame->allocated_size = frame->size; } @@ -176,7 +176,7 @@ static tsi_result tsi_fake_frame_decode(const unsigned char *incoming_bytes, if (frame->needs_draining) return TSI_INTERNAL_ERROR; if (frame->data == NULL) { frame->allocated_size = TSI_FAKE_FRAME_INITIAL_ALLOCATED_SIZE; - frame->data = gpr_malloc(frame->allocated_size); + frame->data = (unsigned char*) gpr_malloc(frame->allocated_size); } if (frame->offset < TSI_FAKE_FRAME_HEADER_SIZE) { @@ -538,10 +538,10 @@ static tsi_result fake_handshaker_result_create( handshaker_result == NULL) { return TSI_INVALID_ARGUMENT; } - fake_handshaker_result *result = gpr_zalloc(sizeof(*result)); + fake_handshaker_result *result = (fake_handshaker_result*) gpr_zalloc(sizeof(*result)); result->base.vtable = &handshaker_result_vtable; if (unused_bytes_size > 0) { - result->unused_bytes = gpr_malloc(unused_bytes_size); + result->unused_bytes = (unsigned char*) gpr_malloc(unused_bytes_size); memcpy(result->unused_bytes, unused_bytes, unused_bytes_size); } result->unused_bytes_size = unused_bytes_size; @@ -723,13 +723,13 @@ static const tsi_handshaker_vtable handshaker_vtable = { }; tsi_handshaker *tsi_create_fake_handshaker(int is_client) { - tsi_fake_handshaker *impl = gpr_zalloc(sizeof(*impl)); + tsi_fake_handshaker *impl = (tsi_fake_handshaker*) gpr_zalloc(sizeof(*impl)); impl->base.vtable = &handshaker_vtable; impl->is_client = is_client; impl->result = TSI_HANDSHAKE_IN_PROGRESS; impl->outgoing_bytes_buffer_size = TSI_FAKE_HANDSHAKER_OUTGOING_BUFFER_INITIAL_SIZE; - impl->outgoing_bytes_buffer = gpr_malloc(impl->outgoing_bytes_buffer_size); + impl->outgoing_bytes_buffer = (unsigned char*) gpr_malloc(impl->outgoing_bytes_buffer_size); if (is_client) { impl->needs_incoming_message = 0; impl->next_message_to_send = TSI_FAKE_CLIENT_INIT; @@ -742,7 +742,7 @@ tsi_handshaker *tsi_create_fake_handshaker(int is_client) { tsi_frame_protector *tsi_create_fake_frame_protector( size_t *max_protected_frame_size) { - tsi_fake_frame_protector *impl = gpr_zalloc(sizeof(*impl)); + tsi_fake_frame_protector *impl = (tsi_fake_frame_protector*) gpr_zalloc(sizeof(*impl)); impl->max_frame_size = (max_protected_frame_size == NULL) ? TSI_FAKE_DEFAULT_FRAME_SIZE : *max_protected_frame_size; @@ -752,7 +752,7 @@ tsi_frame_protector *tsi_create_fake_frame_protector( tsi_zero_copy_grpc_protector *tsi_create_fake_zero_copy_grpc_protector( size_t *max_protected_frame_size) { - tsi_fake_zero_copy_grpc_protector *impl = gpr_zalloc(sizeof(*impl)); + tsi_fake_zero_copy_grpc_protector *impl = (tsi_fake_zero_copy_grpc_protector*) gpr_zalloc(sizeof(*impl)); grpc_slice_buffer_init(&impl->header_sb); grpc_slice_buffer_init(&impl->protected_sb); impl->max_frame_size = (max_protected_frame_size == NULL) diff --git a/src/core/tsi/ssl_transport_security.c b/src/core/tsi/ssl_transport_security.c index 7ebf9dd96f0..744825e7e0a 100644 --- a/src/core/tsi/ssl_transport_security.c +++ b/src/core/tsi/ssl_transport_security.c @@ -135,7 +135,7 @@ static void init_openssl(void) { OpenSSL_add_all_algorithms(); num_locks = CRYPTO_num_locks(); GPR_ASSERT(num_locks > 0); - openssl_mutexes = gpr_malloc((size_t)num_locks * sizeof(gpr_mu)); + openssl_mutexes = (gpr_mu*) gpr_malloc((size_t)num_locks * sizeof(gpr_mu)); for (i = 0; i < CRYPTO_num_locks(); i++) { gpr_mu_init(&openssl_mutexes[i]); } @@ -684,7 +684,7 @@ static tsi_result build_alpn_protocol_name_list( } *protocol_name_list_length += length + 1; } - *protocol_name_list = gpr_malloc(*protocol_name_list_length); + *protocol_name_list = (unsigned char*) gpr_malloc(*protocol_name_list_length); if (*protocol_name_list == NULL) return TSI_OUT_OF_RESOURCES; current = *protocol_name_list; for (i = 0; i < num_alpn_protocols; i++) { @@ -1023,7 +1023,7 @@ static tsi_result ssl_handshaker_create_frame_protector( size_t actual_max_output_protected_frame_size = TSI_SSL_MAX_PROTECTED_FRAME_SIZE_UPPER_BOUND; tsi_ssl_handshaker *impl = (tsi_ssl_handshaker *)self; - tsi_ssl_frame_protector *protector_impl = gpr_zalloc(sizeof(*protector_impl)); + tsi_ssl_frame_protector *protector_impl = (tsi_ssl_frame_protector*) gpr_zalloc(sizeof(*protector_impl)); if (max_output_protected_frame_size != NULL) { if (*max_output_protected_frame_size > @@ -1039,7 +1039,7 @@ static tsi_result ssl_handshaker_create_frame_protector( } protector_impl->buffer_size = actual_max_output_protected_frame_size - TSI_SSL_MAX_PROTECTION_OVERHEAD; - protector_impl->buffer = gpr_malloc(protector_impl->buffer_size); + protector_impl->buffer = (unsigned char*) gpr_malloc(protector_impl->buffer_size); if (protector_impl->buffer == NULL) { gpr_log(GPR_ERROR, "Could not allocated buffer for tsi_ssl_frame_protector."); @@ -1130,7 +1130,7 @@ static tsi_result create_tsi_ssl_handshaker(SSL_CTX *ctx, int is_client, SSL_set_accept_state(ssl); } - impl = gpr_zalloc(sizeof(*impl)); + impl = (tsi_ssl_handshaker*) gpr_zalloc(sizeof(*impl)); impl->ssl = ssl; impl->into_ssl = into_ssl; impl->from_ssl = from_ssl; @@ -1359,7 +1359,7 @@ tsi_result tsi_create_ssl_client_handshaker_factory( return TSI_INVALID_ARGUMENT; } - impl = gpr_zalloc(sizeof(*impl)); + impl = (tsi_ssl_client_handshaker_factory*) gpr_zalloc(sizeof(*impl)); tsi_ssl_handshaker_factory_init(&impl->base); impl->base.vtable = &client_handshaker_factory_vtable; @@ -1444,11 +1444,11 @@ tsi_result tsi_create_ssl_server_handshaker_factory_ex( return TSI_INVALID_ARGUMENT; } - impl = gpr_zalloc(sizeof(*impl)); + impl = (tsi_ssl_server_handshaker_factory*) gpr_zalloc(sizeof(*impl)); tsi_ssl_handshaker_factory_init(&impl->base); impl->base.vtable = &server_handshaker_factory_vtable; - impl->ssl_contexts = gpr_zalloc(num_key_cert_pairs * sizeof(SSL_CTX *)); + impl->ssl_contexts = (SSL_CTX**) gpr_zalloc(num_key_cert_pairs * sizeof(SSL_CTX *)); impl->ssl_context_x509_subject_names = gpr_zalloc(num_key_cert_pairs * sizeof(tsi_peer)); if (impl->ssl_contexts == NULL || diff --git a/src/core/tsi/transport_security.c b/src/core/tsi/transport_security.c index 76213072a3c..57d7be09782 100644 --- a/src/core/tsi/transport_security.c +++ b/src/core/tsi/transport_security.c @@ -282,7 +282,7 @@ tsi_result tsi_construct_allocated_string_peer_property( *property = tsi_init_peer_property(); if (name != NULL) property->name = gpr_strdup(name); if (value_length > 0) { - property->value.data = gpr_zalloc(value_length); + property->value.data = (char*) gpr_zalloc(value_length); property->value.length = value_length; } return TSI_OK; @@ -310,7 +310,7 @@ tsi_result tsi_construct_string_peer_property(const char *name, tsi_result tsi_construct_peer(size_t property_count, tsi_peer *peer) { memset(peer, 0, sizeof(tsi_peer)); if (property_count > 0) { - peer->properties = gpr_zalloc(property_count * sizeof(tsi_peer_property)); + peer->properties = (tsi_peer_property*) gpr_zalloc(property_count * sizeof(tsi_peer_property)); peer->property_count = property_count; } return TSI_OK; diff --git a/src/core/tsi/transport_security_adapter.c b/src/core/tsi/transport_security_adapter.c index 1c2a57b3bd1..12f339b7d04 100644 --- a/src/core/tsi/transport_security_adapter.c +++ b/src/core/tsi/transport_security_adapter.c @@ -80,12 +80,12 @@ static tsi_result tsi_adapter_create_handshaker_result( if (wrapped == NULL || (unused_bytes_size > 0 && unused_bytes == NULL)) { return TSI_INVALID_ARGUMENT; } - tsi_adapter_handshaker_result *impl = gpr_zalloc(sizeof(*impl)); + tsi_adapter_handshaker_result *impl = (tsi_adapter_handshaker_result*) gpr_zalloc(sizeof(*impl)); impl->base.vtable = &result_vtable; impl->wrapped = wrapped; impl->unused_bytes_size = unused_bytes_size; if (unused_bytes_size > 0) { - impl->unused_bytes = gpr_malloc(unused_bytes_size); + impl->unused_bytes = (unsigned char*) gpr_malloc(unused_bytes_size); memcpy(impl->unused_bytes, unused_bytes, unused_bytes_size); } else { impl->unused_bytes = NULL; @@ -209,11 +209,11 @@ static const tsi_handshaker_vtable handshaker_vtable = { tsi_handshaker *tsi_create_adapter_handshaker(tsi_handshaker *wrapped) { GPR_ASSERT(wrapped != NULL); - tsi_adapter_handshaker *impl = gpr_zalloc(sizeof(*impl)); + tsi_adapter_handshaker *impl = (tsi_adapter_handshaker*) gpr_zalloc(sizeof(*impl)); impl->base.vtable = &handshaker_vtable; impl->wrapped = wrapped; impl->adapter_buffer_size = TSI_ADAPTER_INITIAL_BUFFER_SIZE; - impl->adapter_buffer = gpr_malloc(impl->adapter_buffer_size); + impl->adapter_buffer = (unsigned char*) gpr_malloc(impl->adapter_buffer_size); return &impl->base; } From 20987394e90298d410051852734afdc8cf6d2918 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 19 Sep 2017 18:39:52 -0700 Subject: [PATCH 077/180] more pointer conversions and goto jump warnings --- .../chttp2/server/secure/server_secure_chttp2.c | 6 ++++-- .../ext/transport/chttp2/transport/stream_lists.c | 2 +- src/core/lib/http/httpcli_security_connector.c | 2 +- src/core/lib/security/context/security_context.c | 14 +++++++------- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c b/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c index 5ad63aaf1fe..e74a138d232 100644 --- a/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c +++ b/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c @@ -40,6 +40,8 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_error *err = GRPC_ERROR_NONE; grpc_server_security_connector *sc = NULL; int port_num = 0; + grpc_security_status status; + grpc_channel_args *args = NULL; GRPC_API_TRACE( "grpc_server_add_secure_http2_port(" "server=%p, addr=%s, creds=%p)", @@ -50,7 +52,7 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, "No credentials specified for secure server port (creds==NULL)"); goto done; } - grpc_security_status status = + status = grpc_server_credentials_create_security_connector(&exec_ctx, creds, &sc); if (status != GRPC_SECURITY_OK) { char *msg; @@ -66,7 +68,7 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_arg args_to_add[2]; args_to_add[0] = grpc_server_credentials_to_arg(creds); args_to_add[1] = grpc_security_connector_to_arg(&sc->base); - grpc_channel_args *args = + args = grpc_channel_args_copy_and_add(grpc_server_get_channel_args(server), args_to_add, GPR_ARRAY_SIZE(args_to_add)); // Add server port. diff --git a/src/core/ext/transport/chttp2/transport/stream_lists.c b/src/core/ext/transport/chttp2/transport/stream_lists.c index 47cd22d1773..34f62aef845 100644 --- a/src/core/ext/transport/chttp2/transport/stream_lists.c +++ b/src/core/ext/transport/chttp2/transport/stream_lists.c @@ -20,7 +20,7 @@ #include -static char *stream_list_id_string(grpc_chttp2_stream_list_id id) { +static const char *stream_list_id_string(grpc_chttp2_stream_list_id id) { switch (id) { case GRPC_CHTTP2_LIST_WRITABLE: return "writable"; diff --git a/src/core/lib/http/httpcli_security_connector.c b/src/core/lib/http/httpcli_security_connector.c index 916ab3db6fb..4112eca1fa4 100644 --- a/src/core/lib/http/httpcli_security_connector.c +++ b/src/core/lib/http/httpcli_security_connector.c @@ -138,7 +138,7 @@ typedef struct { static void on_handshake_done(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { grpc_handshaker_args *args = (grpc_handshaker_args*) arg; - on_done_closure *c = args->user_data; + on_done_closure *c = (on_done_closure *)args->user_data; if (error != GRPC_ERROR_NONE) { const char *msg = grpc_error_string(error); gpr_log(GPR_ERROR, "Secure transport setup failed: %s", msg); diff --git a/src/core/lib/security/context/security_context.c b/src/core/lib/security/context/security_context.c index 1771864c537..748e6faf2f3 100644 --- a/src/core/lib/security/context/security_context.c +++ b/src/core/lib/security/context/security_context.c @@ -82,7 +82,7 @@ void grpc_auth_context_release(grpc_auth_context *context) { /* --- grpc_client_security_context --- */ grpc_client_security_context *grpc_client_security_context_create(void) { - return gpr_zalloc(sizeof(grpc_client_security_context)); + return (grpc_client_security_context*)gpr_zalloc(sizeof(grpc_client_security_context)); } void grpc_client_security_context_destroy(void *ctx) { @@ -100,7 +100,7 @@ void grpc_client_security_context_destroy(void *ctx) { /* --- grpc_server_security_context --- */ grpc_server_security_context *grpc_server_security_context_create(void) { - return gpr_zalloc(sizeof(grpc_server_security_context)); + return (grpc_client_security_context*)gpr_zalloc(sizeof(grpc_server_security_context)); } void grpc_server_security_context_destroy(void *ctx) { @@ -258,7 +258,7 @@ static void ensure_auth_context_capacity(grpc_auth_context *ctx) { if (ctx->properties.count == ctx->properties.capacity) { ctx->properties.capacity = GPR_MAX(ctx->properties.capacity + 8, ctx->properties.capacity * 2); - ctx->properties.array = + ctx->properties.array = (grpc_auth_property *) gpr_realloc(ctx->properties.array, ctx->properties.capacity * sizeof(grpc_auth_property)); } @@ -302,11 +302,11 @@ void grpc_auth_property_reset(grpc_auth_property *property) { } static void auth_context_pointer_arg_destroy(grpc_exec_ctx *exec_ctx, void *p) { - GRPC_AUTH_CONTEXT_UNREF(p, "auth_context_pointer_arg"); + GRPC_AUTH_CONTEXT_UNREF((grpc_auth_context*)p, "auth_context_pointer_arg"); } static void *auth_context_pointer_arg_copy(void *p) { - return GRPC_AUTH_CONTEXT_REF(p, "auth_context_pointer_arg"); + return GRPC_AUTH_CONTEXT_REF((grpc_auth_context*)p, "auth_context_pointer_arg"); } static int auth_context_pointer_cmp(void *a, void *b) { return GPR_ICMP(a, b); } @@ -317,7 +317,7 @@ static const grpc_arg_pointer_vtable auth_context_pointer_vtable = { grpc_arg grpc_auth_context_to_arg(grpc_auth_context *p) { return grpc_channel_arg_pointer_create(GRPC_AUTH_CONTEXT_ARG, p, - &auth_context_pointer_vtable); + (char *)&auth_context_pointer_vtable); } grpc_auth_context *grpc_auth_context_from_arg(const grpc_arg *arg) { @@ -327,7 +327,7 @@ grpc_auth_context *grpc_auth_context_from_arg(const grpc_arg *arg) { GRPC_AUTH_CONTEXT_ARG); return NULL; } - return arg->value.pointer.p; + return (grpc_auth_context*)arg->value.pointer.p; } grpc_auth_context *grpc_find_auth_context_in_args( From acd46e571c3dd4721a21c934c4ccb983ed2f687c Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Wed, 20 Sep 2017 11:28:25 -0700 Subject: [PATCH 078/180] More pointer conversions, deprecated string to char *, goto crossing initializations --- .../client/secure/secure_channel_create.c | 8 ++-- .../cronet/transport/cronet_transport.c | 16 ++++---- .../lib/http/httpcli_security_connector.c | 7 ++-- .../lib/security/context/security_context.c | 28 ++++++++------ .../composite/composite_credentials.c | 12 ++++-- .../lib/security/credentials/credentials.c | 22 ++++++----- .../credentials/credentials_metadata.c | 3 +- .../credentials/fake/fake_credentials.c | 13 ++++--- .../google_default_credentials.c | 8 ++-- .../credentials/iam/iam_credentials.c | 3 +- .../lib/security/credentials/jwt/json_token.c | 6 +-- .../credentials/jwt/jwt_credentials.c | 3 +- .../security/credentials/jwt/jwt_verifier.c | 27 +++++++------ .../credentials/oauth2/oauth2_credentials.c | 25 ++++++------ .../credentials/plugin/plugin_credentials.c | 3 +- .../credentials/ssl/ssl_credentials.c | 13 ++++--- .../security/transport/client_auth_filter.c | 31 ++++++++------- .../lib/security/transport/lb_targets_info.c | 13 ++++--- .../security/transport/security_connector.c | 37 ++++++++++-------- .../security/transport/server_auth_filter.c | 30 +++++++-------- src/core/tsi/fake_transport_security.c | 36 ++++++++++-------- src/core/tsi/ssl_transport_security.c | 38 ++++++++++--------- src/core/tsi/transport_security.c | 5 ++- src/core/tsi/transport_security_adapter.c | 14 ++++--- 24 files changed, 228 insertions(+), 173 deletions(-) diff --git a/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c b/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c index 0a36d12f09d..fe296cf4ff3 100644 --- a/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c +++ b/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c @@ -86,7 +86,8 @@ static grpc_subchannel_args *get_secure_naming_subchannel_args( if (target_uri->path[0] != '\0') { // "path" may be empty const grpc_slice key = grpc_slice_from_static_string( target_uri->path[0] == '/' ? target_uri->path + 1 : target_uri->path); - const char *value = grpc_slice_hash_table_get(targets_info, key); + const char *value = + (const char *)grpc_slice_hash_table_get(targets_info, key); if (value != NULL) target_name_to_check = gpr_strdup(value); grpc_slice_unref_internal(exec_ctx, key); } @@ -127,7 +128,8 @@ static grpc_subchannel_args *get_secure_naming_subchannel_args( if (new_args_from_connector != NULL) { grpc_channel_args_destroy(exec_ctx, new_args_from_connector); } - grpc_subchannel_args *final_sc_args = (grpc_subchannel_args*) gpr_malloc(sizeof(*final_sc_args)); + grpc_subchannel_args *final_sc_args = + (grpc_subchannel_args *)gpr_malloc(sizeof(*final_sc_args)); memcpy(final_sc_args, args, sizeof(*args)); final_sc_args->args = new_args; return final_sc_args; @@ -164,7 +166,7 @@ static grpc_channel *client_channel_factory_create_channel( } // Add channel arg containing the server URI. grpc_arg arg = grpc_channel_arg_string_create( - GRPC_ARG_SERVER_URI, + (char *)GRPC_ARG_SERVER_URI, grpc_resolver_factory_add_default_prefix_if_needed(exec_ctx, target)); const char *to_remove[] = {GRPC_ARG_SERVER_URI}; grpc_channel_args *new_args = diff --git a/src/core/ext/transport/cronet/transport/cronet_transport.c b/src/core/ext/transport/cronet/transport/cronet_transport.c index 08cc5a58be6..90f81a8c902 100644 --- a/src/core/ext/transport/cronet/transport/cronet_transport.c +++ b/src/core/ext/transport/cronet/transport/cronet_transport.c @@ -288,7 +288,7 @@ static void maybe_flush_read(stream_obj *s) { CRONET_LOG(GPR_DEBUG, "%p: Flush read", s); s->state.flush_read = true; null_and_maybe_free_read_buffer(s); - s->state.rs.read_buffer = (char*) gpr_malloc(GRPC_FLUSH_READ_SIZE); + s->state.rs.read_buffer = (char *)gpr_malloc(GRPC_FLUSH_READ_SIZE); if (!s->state.pending_read_from_cronet) { CRONET_LOG(GPR_DEBUG, "bidirectional_stream_read(%p)", s->cbs); bidirectional_stream_read(s->cbs, s->state.rs.read_buffer, @@ -313,7 +313,8 @@ static void add_to_storage(struct stream_obj *s, struct op_storage *storage = &s->storage; /* add new op at the beginning of the linked list. The memory is freed in remove_from_storage */ - struct op_and_state *new_op = (struct op_and_state*) gpr_malloc(sizeof(struct op_and_state)); + struct op_and_state *new_op = + (struct op_and_state *)gpr_malloc(sizeof(struct op_and_state)); memcpy(&new_op->op, op, sizeof(grpc_transport_stream_op_batch)); memset(&new_op->state, 0, sizeof(new_op->state)); new_op->s = s; @@ -685,7 +686,7 @@ static void create_grpc_frame(grpc_exec_ctx *exec_ctx, size_t length = GRPC_SLICE_LENGTH(slice); *p_write_buffer_size = length + GRPC_HEADER_SIZE_IN_BYTES; /* This is freed in the on_write_completed callback */ - char *write_buffer = (char*) gpr_malloc(length + GRPC_HEADER_SIZE_IN_BYTES); + char *write_buffer = (char *)gpr_malloc(length + GRPC_HEADER_SIZE_IN_BYTES); *pp_write_buffer = write_buffer; uint8_t *p = (uint8_t *)write_buffer; /* Append 5 byte header */ @@ -1182,7 +1183,7 @@ static enum e_op_result execute_stream_op(grpc_exec_ctx *exec_ctx, stream_state->rs.length_field); if (stream_state->rs.length_field > 0) { stream_state->rs.read_buffer = - gpr_malloc((size_t)stream_state->rs.length_field); + (char *)gpr_malloc((size_t)stream_state->rs.length_field); GPR_ASSERT(stream_state->rs.read_buffer); stream_state->rs.remaining_bytes = stream_state->rs.length_field; stream_state->rs.received_bytes = 0; @@ -1452,13 +1453,14 @@ static const grpc_transport_vtable grpc_cronet_vtable = { grpc_transport *grpc_create_cronet_transport(void *engine, const char *target, const grpc_channel_args *args, void *reserved) { - grpc_cronet_transport *ct = (grpc_cronet_transport*) gpr_malloc(sizeof(grpc_cronet_transport)); + grpc_cronet_transport *ct = + (grpc_cronet_transport *)gpr_malloc(sizeof(grpc_cronet_transport)); if (!ct) { goto error; } ct->base.vtable = &grpc_cronet_vtable; - ct->engine = engine; - ct->host = (char*) gpr_malloc(strlen(target) + 1); + ct->engine = (stream_engine *)engine; + ct->host = (char *)gpr_malloc(strlen(target) + 1); if (!ct->host) { goto error; } diff --git a/src/core/lib/http/httpcli_security_connector.c b/src/core/lib/http/httpcli_security_connector.c index 4112eca1fa4..8a0f225ba24 100644 --- a/src/core/lib/http/httpcli_security_connector.c +++ b/src/core/lib/http/httpcli_security_connector.c @@ -106,7 +106,8 @@ static grpc_security_status httpcli_ssl_channel_security_connector_create( return GRPC_SECURITY_ERROR; } - c = (grpc_httpcli_ssl_channel_security_connector*) gpr_zalloc(sizeof(grpc_httpcli_ssl_channel_security_connector)); + c = (grpc_httpcli_ssl_channel_security_connector *)gpr_zalloc( + sizeof(grpc_httpcli_ssl_channel_security_connector)); gpr_ref_init(&c->base.base.refcount, 1); c->base.base.vtable = &httpcli_ssl_vtable; @@ -137,7 +138,7 @@ typedef struct { static void on_handshake_done(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { - grpc_handshaker_args *args = (grpc_handshaker_args*) arg; + grpc_handshaker_args *args = (grpc_handshaker_args *)arg; on_done_closure *c = (on_done_closure *)args->user_data; if (error != GRPC_ERROR_NONE) { const char *msg = grpc_error_string(error); @@ -159,7 +160,7 @@ static void ssl_handshake(grpc_exec_ctx *exec_ctx, void *arg, gpr_timespec deadline, void (*on_done)(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *endpoint)) { - on_done_closure *c = (on_done_closure*) gpr_malloc(sizeof(*c)); + on_done_closure *c = (on_done_closure *)gpr_malloc(sizeof(*c)); const char *pem_root_certs = grpc_get_default_ssl_roots(); if (pem_root_certs == NULL) { gpr_log(GPR_ERROR, "Could not get default pem root certs."); diff --git a/src/core/lib/security/context/security_context.c b/src/core/lib/security/context/security_context.c index 748e6faf2f3..31d800b9b46 100644 --- a/src/core/lib/security/context/security_context.c +++ b/src/core/lib/security/context/security_context.c @@ -82,7 +82,8 @@ void grpc_auth_context_release(grpc_auth_context *context) { /* --- grpc_client_security_context --- */ grpc_client_security_context *grpc_client_security_context_create(void) { - return (grpc_client_security_context*)gpr_zalloc(sizeof(grpc_client_security_context)); + return (grpc_client_security_context *)gpr_zalloc( + sizeof(grpc_client_security_context)); } void grpc_client_security_context_destroy(void *ctx) { @@ -100,7 +101,8 @@ void grpc_client_security_context_destroy(void *ctx) { /* --- grpc_server_security_context --- */ grpc_server_security_context *grpc_server_security_context_create(void) { - return (grpc_client_security_context*)gpr_zalloc(sizeof(grpc_server_security_context)); + return (grpc_server_security_context *)gpr_zalloc( + sizeof(grpc_server_security_context)); } void grpc_server_security_context_destroy(void *ctx) { @@ -117,7 +119,8 @@ void grpc_server_security_context_destroy(void *ctx) { static grpc_auth_property_iterator empty_iterator = {NULL, 0, NULL}; grpc_auth_context *grpc_auth_context_create(grpc_auth_context *chained) { - grpc_auth_context *ctx = (grpc_auth_context*) gpr_zalloc(sizeof(grpc_auth_context)); + grpc_auth_context *ctx = + (grpc_auth_context *)gpr_zalloc(sizeof(grpc_auth_context)); gpr_ref_init(&ctx->refcount, 1); if (chained != NULL) { ctx->chained = GRPC_AUTH_CONTEXT_REF(chained, "chained"); @@ -258,9 +261,9 @@ static void ensure_auth_context_capacity(grpc_auth_context *ctx) { if (ctx->properties.count == ctx->properties.capacity) { ctx->properties.capacity = GPR_MAX(ctx->properties.capacity + 8, ctx->properties.capacity * 2); - ctx->properties.array = (grpc_auth_property *) - gpr_realloc(ctx->properties.array, - ctx->properties.capacity * sizeof(grpc_auth_property)); + ctx->properties.array = (grpc_auth_property *)gpr_realloc( + ctx->properties.array, + ctx->properties.capacity * sizeof(grpc_auth_property)); } } @@ -275,7 +278,7 @@ void grpc_auth_context_add_property(grpc_auth_context *ctx, const char *name, ensure_auth_context_capacity(ctx); prop = &ctx->properties.array[ctx->properties.count++]; prop->name = gpr_strdup(name); - prop->value = (char*) gpr_malloc(value_length + 1); + prop->value = (char *)gpr_malloc(value_length + 1); memcpy(prop->value, value, value_length); prop->value[value_length] = '\0'; prop->value_length = value_length; @@ -302,11 +305,12 @@ void grpc_auth_property_reset(grpc_auth_property *property) { } static void auth_context_pointer_arg_destroy(grpc_exec_ctx *exec_ctx, void *p) { - GRPC_AUTH_CONTEXT_UNREF((grpc_auth_context*)p, "auth_context_pointer_arg"); + GRPC_AUTH_CONTEXT_UNREF((grpc_auth_context *)p, "auth_context_pointer_arg"); } static void *auth_context_pointer_arg_copy(void *p) { - return GRPC_AUTH_CONTEXT_REF((grpc_auth_context*)p, "auth_context_pointer_arg"); + return GRPC_AUTH_CONTEXT_REF((grpc_auth_context *)p, + "auth_context_pointer_arg"); } static int auth_context_pointer_cmp(void *a, void *b) { return GPR_ICMP(a, b); } @@ -316,8 +320,8 @@ static const grpc_arg_pointer_vtable auth_context_pointer_vtable = { auth_context_pointer_cmp}; grpc_arg grpc_auth_context_to_arg(grpc_auth_context *p) { - return grpc_channel_arg_pointer_create(GRPC_AUTH_CONTEXT_ARG, p, - (char *)&auth_context_pointer_vtable); + return grpc_channel_arg_pointer_create((char *)GRPC_AUTH_CONTEXT_ARG, p, + &auth_context_pointer_vtable); } grpc_auth_context *grpc_auth_context_from_arg(const grpc_arg *arg) { @@ -327,7 +331,7 @@ grpc_auth_context *grpc_auth_context_from_arg(const grpc_arg *arg) { GRPC_AUTH_CONTEXT_ARG); return NULL; } - return (grpc_auth_context*)arg->value.pointer.p; + return (grpc_auth_context *)arg->value.pointer.p; } grpc_auth_context *grpc_find_auth_context_in_args( diff --git a/src/core/lib/security/credentials/composite/composite_credentials.c b/src/core/lib/security/credentials/composite/composite_credentials.c index a3a7cbd18dc..779300ac078 100644 --- a/src/core/lib/security/credentials/composite/composite_credentials.c +++ b/src/core/lib/security/credentials/composite/composite_credentials.c @@ -79,7 +79,8 @@ static bool composite_call_get_request_metadata( grpc_error **error) { grpc_composite_call_credentials *c = (grpc_composite_call_credentials *)creds; grpc_composite_call_credentials_metadata_context *ctx; - ctx = (grpc_composite_call_credentials_metadata_context*) gpr_zalloc(sizeof(grpc_composite_call_credentials_metadata_context)); + ctx = (grpc_composite_call_credentials_metadata_context *)gpr_zalloc( + sizeof(grpc_composite_call_credentials_metadata_context)); ctx->composite_creds = c; ctx->pollent = pollent; ctx->auth_md_context = auth_md_context; @@ -146,7 +147,8 @@ grpc_call_credentials *grpc_composite_call_credentials_create( GPR_ASSERT(reserved == NULL); GPR_ASSERT(creds1 != NULL); GPR_ASSERT(creds2 != NULL); - c = (grpc_composite_call_credentials*) gpr_zalloc(sizeof(grpc_composite_call_credentials)); + c = (grpc_composite_call_credentials *)gpr_zalloc( + sizeof(grpc_composite_call_credentials)); c->base.type = GRPC_CALL_CREDENTIALS_TYPE_COMPOSITE; c->base.vtable = &composite_call_credentials_vtable; gpr_ref_init(&c->base.refcount, 1); @@ -154,7 +156,8 @@ grpc_call_credentials *grpc_composite_call_credentials_create( creds2_array = get_creds_array(&creds2); c->inner.num_creds = creds1_array.num_creds + creds2_array.num_creds; creds_array_byte_size = c->inner.num_creds * sizeof(grpc_call_credentials *); - c->inner.creds_array = (grpc_call_credentials**) gpr_zalloc(creds_array_byte_size); + c->inner.creds_array = + (grpc_call_credentials **)gpr_zalloc(creds_array_byte_size); for (i = 0; i < creds1_array.num_creds; i++) { grpc_call_credentials *cur_creds = creds1_array.creds_array[i]; c->inner.creds_array[i] = grpc_call_credentials_ref(cur_creds); @@ -248,7 +251,8 @@ static grpc_channel_credentials_vtable composite_channel_credentials_vtable = { grpc_channel_credentials *grpc_composite_channel_credentials_create( grpc_channel_credentials *channel_creds, grpc_call_credentials *call_creds, void *reserved) { - grpc_composite_channel_credentials *c = (grpc_composite_channel_credentials*) gpr_zalloc(sizeof(*c)); + grpc_composite_channel_credentials *c = + (grpc_composite_channel_credentials *)gpr_zalloc(sizeof(*c)); GPR_ASSERT(channel_creds != NULL && call_creds != NULL && reserved == NULL); GRPC_API_TRACE( "grpc_composite_channel_credentials_create(channel_creds=%p, " diff --git a/src/core/lib/security/credentials/credentials.c b/src/core/lib/security/credentials/credentials.c index 8a67c9865be..ebbf3508653 100644 --- a/src/core/lib/security/credentials/credentials.c +++ b/src/core/lib/security/credentials/credentials.c @@ -40,7 +40,8 @@ grpc_credentials_metadata_request *grpc_credentials_metadata_request_create( grpc_call_credentials *creds) { grpc_credentials_metadata_request *r = - gpr_zalloc(sizeof(grpc_credentials_metadata_request)); + (grpc_credentials_metadata_request *)gpr_zalloc( + sizeof(grpc_credentials_metadata_request)); r->creds = grpc_call_credentials_ref(creds); return r; } @@ -148,11 +149,11 @@ grpc_channel_credentials_duplicate_without_call_credentials( } static void credentials_pointer_arg_destroy(grpc_exec_ctx *exec_ctx, void *p) { - grpc_channel_credentials_unref(exec_ctx, p); + grpc_channel_credentials_unref(exec_ctx, (grpc_channel_credentials *)p); } static void *credentials_pointer_arg_copy(void *p) { - return grpc_channel_credentials_ref(p); + return grpc_channel_credentials_ref((grpc_channel_credentials *)p); } static int credentials_pointer_cmp(void *a, void *b) { return GPR_ICMP(a, b); } @@ -163,8 +164,9 @@ static const grpc_arg_pointer_vtable credentials_pointer_vtable = { grpc_arg grpc_channel_credentials_to_arg( grpc_channel_credentials *credentials) { - return grpc_channel_arg_pointer_create( - GRPC_ARG_CHANNEL_CREDENTIALS, credentials, &credentials_pointer_vtable); + return grpc_channel_arg_pointer_create((char *)GRPC_ARG_CHANNEL_CREDENTIALS, + credentials, + &credentials_pointer_vtable); } grpc_channel_credentials *grpc_channel_credentials_from_arg( @@ -175,7 +177,7 @@ grpc_channel_credentials *grpc_channel_credentials_from_arg( GRPC_ARG_CHANNEL_CREDENTIALS); return NULL; } - return arg->value.pointer.p; + return (grpc_channel_credentials *)arg->value.pointer.p; } grpc_channel_credentials *grpc_channel_credentials_find_in_args( @@ -244,11 +246,11 @@ void grpc_server_credentials_set_auth_metadata_processor( static void server_credentials_pointer_arg_destroy(grpc_exec_ctx *exec_ctx, void *p) { - grpc_server_credentials_unref(exec_ctx, p); + grpc_server_credentials_unref(exec_ctx, (grpc_server_credentials *)p); } static void *server_credentials_pointer_arg_copy(void *p) { - return grpc_server_credentials_ref(p); + return grpc_server_credentials_ref((grpc_server_credentials *)p); } static int server_credentials_pointer_cmp(void *a, void *b) { @@ -260,7 +262,7 @@ static const grpc_arg_pointer_vtable cred_ptr_vtable = { server_credentials_pointer_cmp}; grpc_arg grpc_server_credentials_to_arg(grpc_server_credentials *p) { - return grpc_channel_arg_pointer_create(GRPC_SERVER_CREDENTIALS_ARG, p, + return grpc_channel_arg_pointer_create((char *)GRPC_SERVER_CREDENTIALS_ARG, p, &cred_ptr_vtable); } @@ -271,7 +273,7 @@ grpc_server_credentials *grpc_server_credentials_from_arg(const grpc_arg *arg) { GRPC_SERVER_CREDENTIALS_ARG); return NULL; } - return arg->value.pointer.p; + return (grpc_server_credentials *)arg->value.pointer.p; } grpc_server_credentials *grpc_find_server_credentials_in_args( diff --git a/src/core/lib/security/credentials/credentials_metadata.c b/src/core/lib/security/credentials/credentials_metadata.c index 03b84bd0196..5ba98bda4e0 100644 --- a/src/core/lib/security/credentials/credentials_metadata.c +++ b/src/core/lib/security/credentials/credentials_metadata.c @@ -33,7 +33,8 @@ static void mdelem_list_ensure_capacity(grpc_credentials_mdelem_array *list, while (new_size < target_size) { new_size *= 2; } - list->md = (grpc_mdelem*) gpr_realloc(list->md, sizeof(grpc_mdelem) * new_size); + list->md = + (grpc_mdelem *)gpr_realloc(list->md, sizeof(grpc_mdelem) * new_size); } void grpc_credentials_mdelem_array_add(grpc_credentials_mdelem_array *list, diff --git a/src/core/lib/security/credentials/fake/fake_credentials.c b/src/core/lib/security/credentials/fake/fake_credentials.c index 9ee7914c51f..795ca0660ad 100644 --- a/src/core/lib/security/credentials/fake/fake_credentials.c +++ b/src/core/lib/security/credentials/fake/fake_credentials.c @@ -60,7 +60,8 @@ static grpc_server_credentials_vtable grpc_channel_credentials *grpc_fake_transport_security_credentials_create( void) { - grpc_channel_credentials *c = (grpc_channel_credentials*) gpr_zalloc(sizeof(grpc_channel_credentials)); + grpc_channel_credentials *c = + (grpc_channel_credentials *)gpr_zalloc(sizeof(grpc_channel_credentials)); c->type = GRPC_CHANNEL_CREDENTIALS_TYPE_FAKE_TRANSPORT_SECURITY; c->vtable = &fake_transport_security_credentials_vtable; gpr_ref_init(&c->refcount, 1); @@ -69,7 +70,8 @@ grpc_channel_credentials *grpc_fake_transport_security_credentials_create( grpc_server_credentials *grpc_fake_transport_security_server_credentials_create( void) { - grpc_server_credentials *c = (grpc_server_credentials*) gpr_malloc(sizeof(grpc_server_credentials)); + grpc_server_credentials *c = + (grpc_server_credentials *)gpr_malloc(sizeof(grpc_server_credentials)); memset(c, 0, sizeof(grpc_server_credentials)); c->type = GRPC_CHANNEL_CREDENTIALS_TYPE_FAKE_TRANSPORT_SECURITY; gpr_ref_init(&c->refcount, 1); @@ -78,8 +80,8 @@ grpc_server_credentials *grpc_fake_transport_security_server_credentials_create( } grpc_arg grpc_fake_transport_expected_targets_arg(char *expected_targets) { - return grpc_channel_arg_string_create(GRPC_ARG_FAKE_SECURITY_EXPECTED_TARGETS, - expected_targets); + return grpc_channel_arg_string_create( + (char *)GRPC_ARG_FAKE_SECURITY_EXPECTED_TARGETS, expected_targets); } const char *grpc_fake_transport_get_expected_targets( @@ -129,7 +131,8 @@ grpc_call_credentials *grpc_md_only_test_credentials_create( grpc_exec_ctx *exec_ctx, const char *md_key, const char *md_value, bool is_async) { grpc_md_only_test_credentials *c = - gpr_zalloc(sizeof(grpc_md_only_test_credentials)); + (grpc_md_only_test_credentials *)gpr_zalloc( + sizeof(grpc_md_only_test_credentials)); c->base.type = GRPC_CALL_CREDENTIALS_TYPE_OAUTH2; c->base.vtable = &md_only_test_vtable; gpr_ref_init(&c->base.refcount, 1); diff --git a/src/core/lib/security/credentials/google_default/google_default_credentials.c b/src/core/lib/security/credentials/google_default/google_default_credentials.c index c040c445a68..11a06e994fd 100644 --- a/src/core/lib/security/credentials/google_default/google_default_credentials.c +++ b/src/core/lib/security/credentials/google_default/google_default_credentials.c @@ -85,7 +85,7 @@ static void on_compute_engine_detection_http_response(grpc_exec_ctx *exec_ctx, } static void destroy_pollset(grpc_exec_ctx *exec_ctx, void *p, grpc_error *e) { - grpc_pollset_destroy(exec_ctx, p); + grpc_pollset_destroy(exec_ctx, (grpc_pollset *)p); } static int is_stack_running_on_compute_engine(grpc_exec_ctx *exec_ctx) { @@ -98,7 +98,7 @@ static int is_stack_running_on_compute_engine(grpc_exec_ctx *exec_ctx) { on compute engine. */ gpr_timespec max_detection_delay = gpr_time_from_seconds(1, GPR_TIMESPAN); - grpc_pollset *pollset = (grpc_pollset*) gpr_zalloc(grpc_pollset_size()); + grpc_pollset *pollset = (grpc_pollset *)gpr_zalloc(grpc_pollset_size()); grpc_pollset_init(pollset, &g_polling_mu); detector.pollent = grpc_polling_entity_create_from_pollset(pollset); detector.is_done = 0; @@ -106,8 +106,8 @@ static int is_stack_running_on_compute_engine(grpc_exec_ctx *exec_ctx) { memset(&detector.response, 0, sizeof(detector.response)); memset(&request, 0, sizeof(grpc_httpcli_request)); - request.host = GRPC_COMPUTE_ENGINE_DETECTION_HOST; - request.http.path = "/"; + request.host = (char *)GRPC_COMPUTE_ENGINE_DETECTION_HOST; + request.http.path = (char *)"/"; grpc_httpcli_context_init(&context); diff --git a/src/core/lib/security/credentials/iam/iam_credentials.c b/src/core/lib/security/credentials/iam/iam_credentials.c index df9ca99bdc3..e9cf208c163 100644 --- a/src/core/lib/security/credentials/iam/iam_credentials.c +++ b/src/core/lib/security/credentials/iam/iam_credentials.c @@ -64,7 +64,8 @@ grpc_call_credentials *grpc_google_iam_credentials_create( GPR_ASSERT(reserved == NULL); GPR_ASSERT(token != NULL); GPR_ASSERT(authority_selector != NULL); - grpc_google_iam_credentials *c = (grpc_google_iam_credentials*) gpr_zalloc(sizeof(*c)); + grpc_google_iam_credentials *c = + (grpc_google_iam_credentials *)gpr_zalloc(sizeof(*c)); c->base.type = GRPC_CALL_CREDENTIALS_TYPE_IAM; c->base.vtable = &iam_vtable; gpr_ref_init(&c->base.refcount, 1); diff --git a/src/core/lib/security/credentials/jwt/json_token.c b/src/core/lib/security/credentials/jwt/json_token.c index 4f1456c384a..e41667c22f3 100644 --- a/src/core/lib/security/credentials/jwt/json_token.c +++ b/src/core/lib/security/credentials/jwt/json_token.c @@ -96,7 +96,7 @@ grpc_auth_json_key grpc_auth_json_key_create_from_json(const grpc_json *json) { gpr_log(GPR_ERROR, "Could not write into openssl BIO."); goto end; } - result.private_key = PEM_read_bio_RSAPrivateKey(bio, NULL, NULL, ""); + result.private_key = PEM_read_bio_RSAPrivateKey(bio, NULL, NULL, (void *)""); if (result.private_key == NULL) { gpr_log(GPR_ERROR, "Could not deserialize private key."); goto end; @@ -214,7 +214,7 @@ static char *dot_concat_and_free_strings(char *str1, char *str2) { size_t str1_len = strlen(str1); size_t str2_len = strlen(str2); size_t result_len = str1_len + 1 /* dot */ + str2_len; - char *result = (char*) gpr_malloc(result_len + 1 /* NULL terminated */); + char *result = (char *)gpr_malloc(result_len + 1 /* NULL terminated */); char *current = result; memcpy(current, str1, str1_len); current += str1_len; @@ -266,7 +266,7 @@ char *compute_and_encode_signature(const grpc_auth_json_key *json_key, gpr_log(GPR_ERROR, "DigestFinal (get signature length) failed."); goto end; } - sig = (unsigned char*) gpr_malloc(sig_len); + sig = (unsigned char *)gpr_malloc(sig_len); if (EVP_DigestSignFinal(md_ctx, sig, &sig_len) != 1) { gpr_log(GPR_ERROR, "DigestFinal (signature compute) failed."); goto end; diff --git a/src/core/lib/security/credentials/jwt/jwt_credentials.c b/src/core/lib/security/credentials/jwt/jwt_credentials.c index 58610a1b69b..b361265a7b2 100644 --- a/src/core/lib/security/credentials/jwt/jwt_credentials.c +++ b/src/core/lib/security/credentials/jwt/jwt_credentials.c @@ -125,7 +125,8 @@ grpc_service_account_jwt_access_credentials_create_from_auth_json_key( gpr_log(GPR_ERROR, "Invalid input for jwt credentials creation"); return NULL; } - c = (grpc_service_account_jwt_access_credentials*) gpr_zalloc(sizeof(grpc_service_account_jwt_access_credentials)); + c = (grpc_service_account_jwt_access_credentials *)gpr_zalloc( + sizeof(grpc_service_account_jwt_access_credentials)); c->base.type = GRPC_CALL_CREDENTIALS_TYPE_JWT; gpr_ref_init(&c->base.refcount, 1); c->base.vtable = &jwt_vtable; diff --git a/src/core/lib/security/credentials/jwt/jwt_verifier.c b/src/core/lib/security/credentials/jwt/jwt_verifier.c index 1a8e1cf9eda..97574cfbd9e 100644 --- a/src/core/lib/security/credentials/jwt/jwt_verifier.c +++ b/src/core/lib/security/credentials/jwt/jwt_verifier.c @@ -129,7 +129,7 @@ static void jose_header_destroy(grpc_exec_ctx *exec_ctx, jose_header *h) { static jose_header *jose_header_from_json(grpc_exec_ctx *exec_ctx, grpc_json *json, grpc_slice buffer) { grpc_json *cur; - jose_header *h = (jose_header*) gpr_zalloc(sizeof(jose_header)); + jose_header *h = (jose_header *)gpr_zalloc(sizeof(jose_header)); h->buffer = buffer; for (cur = json->child; cur != NULL; cur = cur->next) { if (strcmp(cur->key, "alg") == 0) { @@ -231,7 +231,8 @@ gpr_timespec grpc_jwt_claims_not_before(const grpc_jwt_claims *claims) { grpc_jwt_claims *grpc_jwt_claims_from_json(grpc_exec_ctx *exec_ctx, grpc_json *json, grpc_slice buffer) { grpc_json *cur; - grpc_jwt_claims *claims = (grpc_jwt_claims*) gpr_malloc(sizeof(grpc_jwt_claims)); + grpc_jwt_claims *claims = + (grpc_jwt_claims *)gpr_malloc(sizeof(grpc_jwt_claims)); memset(claims, 0, sizeof(grpc_jwt_claims)); claims->json = json; claims->buffer = buffer; @@ -347,7 +348,7 @@ static verifier_cb_ctx *verifier_cb_ctx_create( const char *signed_jwt, size_t signed_jwt_len, void *user_data, grpc_jwt_verification_done_cb cb) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - verifier_cb_ctx *ctx = (verifier_cb_ctx*) gpr_zalloc(sizeof(verifier_cb_ctx)); + verifier_cb_ctx *ctx = (verifier_cb_ctx *)gpr_zalloc(sizeof(verifier_cb_ctx)); ctx->verifier = verifier; ctx->pollent = grpc_polling_entity_create_from_pollset(pollset); ctx->header = header; @@ -676,6 +677,7 @@ static void on_openid_config_retrieved(grpc_exec_ctx *exec_ctx, void *user_data, grpc_json *json = json_from_http(response); grpc_httpcli_request req; const char *jwks_uri; + grpc_resource_quota *resource_quota = NULL; /* TODO(jboeuf): Cache the jwks_uri in order to avoid this hop next time. */ if (json == NULL) goto error; @@ -693,9 +695,9 @@ static void on_openid_config_retrieved(grpc_exec_ctx *exec_ctx, void *user_data, jwks_uri += 8; req.handshaker = &grpc_httpcli_ssl; req.host = gpr_strdup(jwks_uri); - req.http.path = strchr(jwks_uri, '/'); + req.http.path = (char *)strchr(jwks_uri, '/'); if (req.http.path == NULL) { - req.http.path = ""; + req.http.path = (char *)""; } else { *(req.host + (req.http.path - jwks_uri)) = '\0'; } @@ -703,8 +705,7 @@ static void on_openid_config_retrieved(grpc_exec_ctx *exec_ctx, void *user_data, /* TODO(ctiller): Carry the resource_quota in ctx and share it with the host channel. This would allow us to cancel an authentication query when under extreme memory pressure. */ - grpc_resource_quota *resource_quota = - grpc_resource_quota_create("jwt_verifier"); + resource_quota = grpc_resource_quota_create("jwt_verifier"); grpc_httpcli_get( exec_ctx, &ctx->verifier->http_ctx, &ctx->pollent, resource_quota, &req, gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), grpc_jwt_verifier_max_delay), @@ -760,7 +761,7 @@ const char *grpc_jwt_issuer_email_domain(const char *issuer) { if (dot == NULL || dot == email_domain) return email_domain; GPR_ASSERT(dot > email_domain); /* There may be a subdomain, we just want the domain. */ - dot = gpr_memrchr(email_domain, '.', (size_t)(dot - email_domain)); + dot = (const char *)gpr_memrchr((void *)email_domain, '.', (size_t)(dot - email_domain)); if (dot == NULL) return email_domain; return dot + 1; } @@ -773,6 +774,7 @@ static void retrieve_key_and_verify(grpc_exec_ctx *exec_ctx, char *path_prefix = NULL; const char *iss; grpc_httpcli_request req; + grpc_resource_quota *resource_quota = NULL; memset(&req, 0, sizeof(grpc_httpcli_request)); req.handshaker = &grpc_httpcli_ssl; http_response_index rsp_idx; @@ -831,8 +833,7 @@ static void retrieve_key_and_verify(grpc_exec_ctx *exec_ctx, /* TODO(ctiller): Carry the resource_quota in ctx and share it with the host channel. This would allow us to cancel an authentication query when under extreme memory pressure. */ - grpc_resource_quota *resource_quota = - grpc_resource_quota_create("jwt_verifier"); + resource_quota = grpc_resource_quota_create("jwt_verifier"); grpc_httpcli_get( exec_ctx, &ctx->verifier->http_ctx, &ctx->pollent, resource_quota, &req, gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), grpc_jwt_verifier_max_delay), @@ -901,12 +902,14 @@ error: grpc_jwt_verifier *grpc_jwt_verifier_create( const grpc_jwt_verifier_email_domain_key_url_mapping *mappings, size_t num_mappings) { - grpc_jwt_verifier *v = (grpc_jwt_verifier*) gpr_zalloc(sizeof(grpc_jwt_verifier)); + grpc_jwt_verifier *v = + (grpc_jwt_verifier *)gpr_zalloc(sizeof(grpc_jwt_verifier)); grpc_httpcli_context_init(&v->http_ctx); /* We know at least of one mapping. */ v->allocated_mappings = 1 + num_mappings; - v->mappings = (email_key_mapping*) gpr_malloc(v->allocated_mappings * sizeof(email_key_mapping)); + v->mappings = (email_key_mapping *)gpr_malloc(v->allocated_mappings * + sizeof(email_key_mapping)); verifier_put_mapping(v, GRPC_GOOGLE_SERVICE_ACCOUNTS_EMAIL_DOMAIN, GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX); /* User-Provided mappings. */ diff --git a/src/core/lib/security/credentials/oauth2/oauth2_credentials.c b/src/core/lib/security/credentials/oauth2/oauth2_credentials.c index 3a7a335ad69..0a801bec82b 100644 --- a/src/core/lib/security/credentials/oauth2/oauth2_credentials.c +++ b/src/core/lib/security/credentials/oauth2/oauth2_credentials.c @@ -130,7 +130,7 @@ grpc_oauth2_token_fetcher_credentials_parse_server_response( } if (response->body_length > 0) { - null_terminated_body = (char*) gpr_malloc(response->body_length + 1); + null_terminated_body = (char *)gpr_malloc(response->body_length + 1); null_terminated_body[response->body_length] = '\0'; memcpy(null_terminated_body, response->body, response->body_length); } @@ -359,11 +359,11 @@ static void compute_engine_fetch_oauth2( grpc_exec_ctx *exec_ctx, grpc_credentials_metadata_request *metadata_req, grpc_httpcli_context *httpcli_context, grpc_polling_entity *pollent, grpc_iomgr_cb_func response_cb, gpr_timespec deadline) { - grpc_http_header header = {"Metadata-Flavor", "Google"}; + grpc_http_header header = {(char *)"Metadata-Flavor", (char *)"Google"}; grpc_httpcli_request request; memset(&request, 0, sizeof(grpc_httpcli_request)); - request.host = GRPC_COMPUTE_ENGINE_METADATA_HOST; - request.http.path = GRPC_COMPUTE_ENGINE_METADATA_TOKEN_PATH; + request.host = (char *)GRPC_COMPUTE_ENGINE_METADATA_HOST; + request.http.path = (char *)GRPC_COMPUTE_ENGINE_METADATA_TOKEN_PATH; request.http.hdr_count = 1; request.http.hdrs = &header; /* TODO(ctiller): Carry the resource_quota in ctx and share it with the host @@ -381,7 +381,8 @@ static void compute_engine_fetch_oauth2( grpc_call_credentials *grpc_google_compute_engine_credentials_create( void *reserved) { grpc_oauth2_token_fetcher_credentials *c = - gpr_malloc(sizeof(grpc_oauth2_token_fetcher_credentials)); + (grpc_oauth2_token_fetcher_credentials *)gpr_malloc( + sizeof(grpc_oauth2_token_fetcher_credentials)); GRPC_API_TRACE("grpc_compute_engine_credentials_create(reserved=%p)", 1, (reserved)); GPR_ASSERT(reserved == NULL); @@ -412,16 +413,16 @@ static void refresh_token_fetch_oauth2( grpc_iomgr_cb_func response_cb, gpr_timespec deadline) { grpc_google_refresh_token_credentials *c = (grpc_google_refresh_token_credentials *)metadata_req->creds; - grpc_http_header header = {"Content-Type", - "application/x-www-form-urlencoded"}; + grpc_http_header header = {(char *)"Content-Type", + (char *)"application/x-www-form-urlencoded"}; grpc_httpcli_request request; char *body = NULL; gpr_asprintf(&body, GRPC_REFRESH_TOKEN_POST_BODY_FORMAT_STRING, c->refresh_token.client_id, c->refresh_token.client_secret, c->refresh_token.refresh_token); memset(&request, 0, sizeof(grpc_httpcli_request)); - request.host = GRPC_GOOGLE_OAUTH2_SERVICE_HOST; - request.http.path = GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH; + request.host = (char *)GRPC_GOOGLE_OAUTH2_SERVICE_HOST; + request.http.path = (char *)GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH; request.http.hdr_count = 1; request.http.hdrs = &header; request.handshaker = &grpc_httpcli_ssl; @@ -447,7 +448,8 @@ grpc_refresh_token_credentials_create_from_auth_refresh_token( gpr_log(GPR_ERROR, "Invalid input for refresh token credentials creation"); return NULL; } - c = (grpc_google_refresh_token_credentials*) gpr_zalloc(sizeof(grpc_google_refresh_token_credentials)); + c = (grpc_google_refresh_token_credentials *)gpr_zalloc( + sizeof(grpc_google_refresh_token_credentials)); init_oauth2_token_fetcher(&c->base, refresh_token_fetch_oauth2); c->base.base.vtable = &refresh_token_vtable; c->refresh_token = refresh_token; @@ -515,7 +517,8 @@ static grpc_call_credentials_vtable access_token_vtable = { grpc_call_credentials *grpc_access_token_credentials_create( const char *access_token, void *reserved) { grpc_access_token_credentials *c = - gpr_zalloc(sizeof(grpc_access_token_credentials)); + (grpc_access_token_credentials *)gpr_zalloc( + sizeof(grpc_access_token_credentials)); GRPC_API_TRACE( "grpc_access_token_credentials_create(access_token=, " "reserved=%p)", diff --git a/src/core/lib/security/credentials/plugin/plugin_credentials.c b/src/core/lib/security/credentials/plugin/plugin_credentials.c index 59ab9266b64..8106a730fea 100644 --- a/src/core/lib/security/credentials/plugin/plugin_credentials.c +++ b/src/core/lib/security/credentials/plugin/plugin_credentials.c @@ -258,7 +258,8 @@ static grpc_call_credentials_vtable plugin_vtable = { grpc_call_credentials *grpc_metadata_credentials_create_from_plugin( grpc_metadata_credentials_plugin plugin, void *reserved) { - grpc_plugin_credentials *c = (grpc_plugin_credentials*) gpr_zalloc(sizeof(*c)); + grpc_plugin_credentials *c = + (grpc_plugin_credentials *)gpr_zalloc(sizeof(*c)); GRPC_API_TRACE("grpc_metadata_credentials_create_from_plugin(reserved=%p)", 1, (reserved)); GPR_ASSERT(reserved == NULL); diff --git a/src/core/lib/security/credentials/ssl/ssl_credentials.c b/src/core/lib/security/credentials/ssl/ssl_credentials.c index 5f6df9a3ef0..eac081c60c4 100644 --- a/src/core/lib/security/credentials/ssl/ssl_credentials.c +++ b/src/core/lib/security/credentials/ssl/ssl_credentials.c @@ -67,7 +67,7 @@ static grpc_security_status ssl_create_security_connector( return status; } grpc_arg new_arg = - grpc_channel_arg_string_create(GRPC_ARG_HTTP2_SCHEME, "https"); + grpc_channel_arg_string_create((char *)GRPC_ARG_HTTP2_SCHEME, (char *)"https"); *new_args = grpc_channel_args_copy_and_add(args, &new_arg, 1); return status; } @@ -94,7 +94,8 @@ static void ssl_build_config(const char *pem_root_certs, grpc_channel_credentials *grpc_ssl_credentials_create( const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair, void *reserved) { - grpc_ssl_credentials *c = (grpc_ssl_credentials*) gpr_zalloc(sizeof(grpc_ssl_credentials)); + grpc_ssl_credentials *c = + (grpc_ssl_credentials *)gpr_zalloc(sizeof(grpc_ssl_credentials)); GRPC_API_TRACE( "grpc_ssl_credentials_create(pem_root_certs=%s, " "pem_key_cert_pair=%p, " @@ -145,8 +146,8 @@ static void ssl_build_server_config( } if (num_key_cert_pairs > 0) { GPR_ASSERT(pem_key_cert_pairs != NULL); - config->pem_key_cert_pairs = - gpr_zalloc(num_key_cert_pairs * sizeof(tsi_ssl_pem_key_cert_pair)); + config->pem_key_cert_pairs = (tsi_ssl_pem_key_cert_pair *)gpr_zalloc( + num_key_cert_pairs * sizeof(tsi_ssl_pem_key_cert_pair)); } config->num_key_cert_pairs = num_key_cert_pairs; for (i = 0; i < num_key_cert_pairs; i++) { @@ -175,8 +176,8 @@ grpc_server_credentials *grpc_ssl_server_credentials_create_ex( size_t num_key_cert_pairs, grpc_ssl_client_certificate_request_type client_certificate_request, void *reserved) { - grpc_ssl_server_credentials *c = - gpr_zalloc(sizeof(grpc_ssl_server_credentials)); + grpc_ssl_server_credentials *c = (grpc_ssl_server_credentials *)gpr_zalloc( + sizeof(grpc_ssl_server_credentials)); GRPC_API_TRACE( "grpc_ssl_server_credentials_create_ex(" "pem_root_certs=%s, pem_key_cert_pairs=%p, num_key_cert_pairs=%lu, " diff --git a/src/core/lib/security/transport/client_auth_filter.c b/src/core/lib/security/transport/client_auth_filter.c index dd7dd44e795..594da89d90f 100644 --- a/src/core/lib/security/transport/client_auth_filter.c +++ b/src/core/lib/security/transport/client_auth_filter.c @@ -93,8 +93,9 @@ static void add_error(grpc_error **combined, grpc_error *error) { static void on_credentials_metadata(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *input_error) { grpc_transport_stream_op_batch *batch = (grpc_transport_stream_op_batch *)arg; - grpc_call_element *elem = batch->handler_private.extra_arg; - call_data *calld = elem->call_data; + grpc_call_element *elem = + (grpc_call_element *)batch->handler_private.extra_arg; + call_data *calld = (call_data *)elem->call_data; reset_auth_metadata_context(&calld->auth_md_context); grpc_error *error = GRPC_ERROR_REF(input_error); if (error == GRPC_ERROR_NONE) { @@ -163,8 +164,8 @@ static void cancel_get_request_metadata(grpc_exec_ctx *exec_ctx, void *arg, static void send_security_metadata(grpc_exec_ctx *exec_ctx, grpc_call_element *elem, grpc_transport_stream_op_batch *batch) { - call_data *calld = elem->call_data; - channel_data *chand = elem->channel_data; + call_data *calld = (call_data *)elem->call_data; + channel_data *chand = (channel_data *)elem->channel_data; grpc_client_security_context *ctx = (grpc_client_security_context *)batch->payload ->context[GRPC_CONTEXT_SECURITY] @@ -225,8 +226,8 @@ static void send_security_metadata(grpc_exec_ctx *exec_ctx, static void on_host_checked(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { grpc_transport_stream_op_batch *batch = (grpc_transport_stream_op_batch *)arg; - grpc_call_element *elem = batch->handler_private.extra_arg; - call_data *calld = elem->call_data; + grpc_call_element *elem = (grpc_call_element *)batch->handler_private.extra_arg; + call_data *calld = (call_data *)elem->call_data; if (error == GRPC_ERROR_NONE) { send_security_metadata(exec_ctx, elem, batch); } else { @@ -264,8 +265,8 @@ static void auth_start_transport_stream_op_batch( GPR_TIMER_BEGIN("auth_start_transport_stream_op_batch", 0); /* grab pointers to our data from the call element */ - call_data *calld = elem->call_data; - channel_data *chand = elem->channel_data; + call_data *calld = (call_data *)elem->call_data; + channel_data *chand = (channel_data *)elem->channel_data; if (!batch->cancel_stream) { GPR_ASSERT(batch->payload->context != NULL); @@ -276,7 +277,9 @@ static void auth_start_transport_stream_op_batch( grpc_client_security_context_destroy; } grpc_client_security_context *sec_ctx = - batch->payload->context[GRPC_CONTEXT_SECURITY].value; + (grpc_client_security_context *)batch->payload + ->context[GRPC_CONTEXT_SECURITY] + .value; GRPC_AUTH_CONTEXT_UNREF(sec_ctx->auth_context, "client auth filter"); sec_ctx->auth_context = GRPC_AUTH_CONTEXT_REF(chand->auth_context, "client_auth_filter"); @@ -339,7 +342,7 @@ static void auth_start_transport_stream_op_batch( static grpc_error *init_call_elem(grpc_exec_ctx *exec_ctx, grpc_call_element *elem, const grpc_call_element_args *args) { - call_data *calld = elem->call_data; + call_data *calld = (call_data *)elem->call_data; calld->owning_call = args->call_stack; calld->call_combiner = args->call_combiner; return GRPC_ERROR_NONE; @@ -348,7 +351,7 @@ static grpc_error *init_call_elem(grpc_exec_ctx *exec_ctx, static void set_pollset_or_pollset_set(grpc_exec_ctx *exec_ctx, grpc_call_element *elem, grpc_polling_entity *pollent) { - call_data *calld = elem->call_data; + call_data *calld = (call_data *)elem->call_data; calld->pollent = pollent; } @@ -356,7 +359,7 @@ static void set_pollset_or_pollset_set(grpc_exec_ctx *exec_ctx, static void destroy_call_elem(grpc_exec_ctx *exec_ctx, grpc_call_element *elem, const grpc_call_final_info *final_info, grpc_closure *ignored) { - call_data *calld = elem->call_data; + call_data *calld = (call_data *)elem->call_data; grpc_credentials_mdelem_array_destroy(exec_ctx, &calld->md_array); grpc_call_credentials_unref(exec_ctx, calld->creds); if (calld->have_host) { @@ -386,7 +389,7 @@ static grpc_error *init_channel_elem(grpc_exec_ctx *exec_ctx, } /* grab pointers to our data from the channel element */ - channel_data *chand = elem->channel_data; + channel_data *chand = (channel_data *)elem->channel_data; /* The first and the last filters tend to be implemented differently to handle the case that there's no 'next' filter to call on the up or down @@ -406,7 +409,7 @@ static grpc_error *init_channel_elem(grpc_exec_ctx *exec_ctx, static void destroy_channel_elem(grpc_exec_ctx *exec_ctx, grpc_channel_element *elem) { /* grab pointers to our data from the channel element */ - channel_data *chand = elem->channel_data; + channel_data *chand = (channel_data *)elem->channel_data; grpc_channel_security_connector *sc = chand->security_connector; if (sc != NULL) { GRPC_SECURITY_CONNECTOR_UNREF(exec_ctx, &sc->base, "client_auth_filter"); diff --git a/src/core/lib/security/transport/lb_targets_info.c b/src/core/lib/security/transport/lb_targets_info.c index 5583a4e0ffc..947fc1addff 100644 --- a/src/core/lib/security/transport/lb_targets_info.c +++ b/src/core/lib/security/transport/lb_targets_info.c @@ -25,19 +25,22 @@ * secure naming purposes. */ #define GRPC_ARG_LB_SECURE_NAMING_MAP "grpc.lb_secure_naming_map" -static void *targets_info_copy(void *p) { return grpc_slice_hash_table_ref(p); } +static void *targets_info_copy(void *p) { + return grpc_slice_hash_table_ref((grpc_slice_hash_table *)p); +} static void targets_info_destroy(grpc_exec_ctx *exec_ctx, void *p) { - grpc_slice_hash_table_unref(exec_ctx, p); + grpc_slice_hash_table_unref(exec_ctx, (grpc_slice_hash_table *)p); } static int targets_info_cmp(void *a, void *b) { - return grpc_slice_hash_table_cmp(a, b); + return grpc_slice_hash_table_cmp((const grpc_slice_hash_table *)a, + (const grpc_slice_hash_table *)b); } static const grpc_arg_pointer_vtable server_to_balancer_names_vtable = { targets_info_copy, targets_info_destroy, targets_info_cmp}; grpc_arg grpc_lb_targets_info_create_channel_arg( grpc_slice_hash_table *targets_info) { - return grpc_channel_arg_pointer_create(GRPC_ARG_LB_SECURE_NAMING_MAP, + return grpc_channel_arg_pointer_create((char *)GRPC_ARG_LB_SECURE_NAMING_MAP, targets_info, &server_to_balancer_names_vtable); } @@ -48,7 +51,7 @@ grpc_slice_hash_table *grpc_lb_targets_info_find_in_args( grpc_channel_args_find(args, GRPC_ARG_LB_SECURE_NAMING_MAP); if (targets_info_arg != NULL) { GPR_ASSERT(targets_info_arg->type == GRPC_ARG_POINTER); - return targets_info_arg->value.pointer.p; + return (grpc_slice_hash_table *)targets_info_arg->value.pointer.p; } return NULL; } diff --git a/src/core/lib/security/transport/security_connector.c b/src/core/lib/security/transport/security_connector.c index 8f60bf9e340..51844fb91f1 100644 --- a/src/core/lib/security/transport/security_connector.c +++ b/src/core/lib/security/transport/security_connector.c @@ -200,11 +200,13 @@ void grpc_security_connector_unref(grpc_exec_ctx *exec_ctx, } static void connector_pointer_arg_destroy(grpc_exec_ctx *exec_ctx, void *p) { - GRPC_SECURITY_CONNECTOR_UNREF(exec_ctx, p, "connector_pointer_arg_destroy"); + GRPC_SECURITY_CONNECTOR_UNREF(exec_ctx, (grpc_security_connector *)p, + "connector_pointer_arg_destroy"); } static void *connector_pointer_arg_copy(void *p) { - return GRPC_SECURITY_CONNECTOR_REF(p, "connector_pointer_arg_copy"); + return GRPC_SECURITY_CONNECTOR_REF((grpc_security_connector *)p, + "connector_pointer_arg_copy"); } static int connector_pointer_cmp(void *a, void *b) { return GPR_ICMP(a, b); } @@ -214,8 +216,8 @@ static const grpc_arg_pointer_vtable connector_pointer_vtable = { connector_pointer_cmp}; grpc_arg grpc_security_connector_to_arg(grpc_security_connector *sc) { - return grpc_channel_arg_pointer_create(GRPC_ARG_SECURITY_CONNECTOR, sc, - &connector_pointer_vtable); + return grpc_channel_arg_pointer_create((char *)GRPC_ARG_SECURITY_CONNECTOR, + sc, &connector_pointer_vtable); } grpc_security_connector *grpc_security_connector_from_arg(const grpc_arg *arg) { @@ -225,7 +227,7 @@ grpc_security_connector *grpc_security_connector_from_arg(const grpc_arg *arg) { GRPC_ARG_SECURITY_CONNECTOR); return NULL; } - return arg->value.pointer.p; + return (grpc_security_connector *)arg->value.pointer.p; } grpc_security_connector *grpc_security_connector_find_in_args( @@ -424,7 +426,8 @@ static grpc_security_connector_vtable fake_server_vtable = { grpc_channel_security_connector *grpc_fake_channel_security_connector_create( grpc_call_credentials *request_metadata_creds, const char *target, const grpc_channel_args *args) { - grpc_fake_channel_security_connector *c = (grpc_fake_channel_security_connector*) gpr_zalloc(sizeof(*c)); + grpc_fake_channel_security_connector *c = + (grpc_fake_channel_security_connector *)gpr_zalloc(sizeof(*c)); gpr_ref_init(&c->base.base.refcount, 1); c->base.base.url_scheme = GRPC_FAKE_SECURITY_URL_SCHEME; c->base.base.vtable = &fake_channel_vtable; @@ -443,7 +446,8 @@ grpc_channel_security_connector *grpc_fake_channel_security_connector_create( grpc_server_security_connector *grpc_fake_server_security_connector_create( void) { grpc_server_security_connector *c = - gpr_zalloc(sizeof(grpc_server_security_connector)); + (grpc_server_security_connector *)gpr_zalloc( + sizeof(grpc_server_security_connector)); gpr_ref_init(&c->base.refcount, 1); c->base.vtable = &fake_server_vtable; c->base.url_scheme = GRPC_FAKE_SECURITY_URL_SCHEME; @@ -658,7 +662,8 @@ tsi_peer tsi_shallow_peer_from_ssl_auth_context( while (grpc_auth_property_iterator_next(&it) != NULL) max_num_props++; if (max_num_props > 0) { - peer.properties = (tsi_peer_property*) gpr_malloc(max_num_props * sizeof(tsi_peer_property)); + peer.properties = (tsi_peer_property *)gpr_malloc( + max_num_props * sizeof(tsi_peer_property)); it = grpc_auth_context_property_iterator(auth_context); while ((prop = grpc_auth_property_iterator_next(&it)) != NULL) { if (strcmp(prop->name, GRPC_X509_SAN_PROPERTY_NAME) == 0) { @@ -804,13 +809,13 @@ grpc_security_status grpc_ssl_channel_security_connector_create( const char *overridden_target_name, grpc_channel_security_connector **sc) { size_t num_alpn_protocols = grpc_chttp2_num_alpn_versions(); const char **alpn_protocol_strings = - gpr_malloc(sizeof(const char *) * num_alpn_protocols); + (const char **)gpr_malloc(sizeof(const char *) * num_alpn_protocols); tsi_result result = TSI_OK; grpc_ssl_channel_security_connector *c; size_t i; const char *pem_root_certs; char *port; - + bool has_key_cert_pair; for (i = 0; i < num_alpn_protocols; i++) { alpn_protocol_strings[i] = grpc_chttp2_get_alpn_version_index(i); } @@ -829,7 +834,8 @@ grpc_security_status grpc_ssl_channel_security_connector_create( pem_root_certs = config->pem_root_certs; } - c = (grpc_ssl_channel_security_connector*) gpr_zalloc(sizeof(grpc_ssl_channel_security_connector)); + c = (grpc_ssl_channel_security_connector *)gpr_zalloc( + sizeof(grpc_ssl_channel_security_connector)); gpr_ref_init(&c->base.base.refcount, 1); c->base.base.vtable = &ssl_channel_vtable; @@ -845,8 +851,8 @@ grpc_security_status grpc_ssl_channel_security_connector_create( c->overridden_target_name = gpr_strdup(overridden_target_name); } - bool has_key_cert_pair = config->pem_key_cert_pair.private_key != NULL && - config->pem_key_cert_pair.cert_chain != NULL; + has_key_cert_pair = config->pem_key_cert_pair.private_key != NULL && + config->pem_key_cert_pair.cert_chain != NULL; result = tsi_create_ssl_client_handshaker_factory( has_key_cert_pair ? &config->pem_key_cert_pair : NULL, pem_root_certs, ssl_cipher_suites(), alpn_protocol_strings, (uint16_t)num_alpn_protocols, @@ -872,7 +878,7 @@ grpc_security_status grpc_ssl_server_security_connector_create( grpc_server_security_connector **sc) { size_t num_alpn_protocols = grpc_chttp2_num_alpn_versions(); const char **alpn_protocol_strings = - gpr_malloc(sizeof(const char *) * num_alpn_protocols); + (const char **)gpr_malloc(sizeof(const char *) * num_alpn_protocols); tsi_result result = TSI_OK; grpc_ssl_server_security_connector *c; size_t i; @@ -885,7 +891,8 @@ grpc_security_status grpc_ssl_server_security_connector_create( gpr_log(GPR_ERROR, "An SSL server needs a key and a cert."); goto error; } - c = (grpc_ssl_server_security_connector*) gpr_zalloc(sizeof(grpc_ssl_server_security_connector)); + c = (grpc_ssl_server_security_connector *)gpr_zalloc( + sizeof(grpc_ssl_server_security_connector)); gpr_ref_init(&c->base.base.refcount, 1); c->base.base.url_scheme = GRPC_SSL_URL_SCHEME; diff --git a/src/core/lib/security/transport/server_auth_filter.c b/src/core/lib/security/transport/server_auth_filter.c index 7f523c08839..f5e02f42fe0 100644 --- a/src/core/lib/security/transport/server_auth_filter.c +++ b/src/core/lib/security/transport/server_auth_filter.c @@ -63,8 +63,8 @@ static grpc_metadata_array metadata_batch_to_md_array( grpc_slice value = GRPC_MDVALUE(md); if (result.count == result.capacity) { result.capacity = GPR_MAX(result.capacity + 8, result.capacity * 2); - result.metadata = - gpr_realloc(result.metadata, result.capacity * sizeof(grpc_metadata)); + result.metadata = (grpc_metadata *)gpr_realloc( + result.metadata, result.capacity * sizeof(grpc_metadata)); } usr_md = &result.metadata[result.count++]; usr_md->key = grpc_slice_ref_internal(key); @@ -76,8 +76,8 @@ static grpc_metadata_array metadata_batch_to_md_array( static grpc_filtered_mdelem remove_consumed_md(grpc_exec_ctx *exec_ctx, void *user_data, grpc_mdelem md) { - grpc_call_element *elem = user_data; - call_data *calld = elem->call_data; + grpc_call_element *elem = (grpc_call_element *)user_data; + call_data *calld = (call_data *)elem->call_data; size_t i; for (i = 0; i < calld->num_consumed_md; i++) { const grpc_metadata *consumed_md = &calld->consumed_md[i]; @@ -95,7 +95,7 @@ static void on_md_processing_done_inner(grpc_exec_ctx *exec_ctx, const grpc_metadata *response_md, size_t num_response_md, grpc_error *error) { - call_data *calld = elem->call_data; + call_data *calld = (call_data *)elem->call_data; grpc_transport_stream_op_batch *batch = calld->recv_initial_metadata_batch; /* TODO(jboeuf): Implement support for response_md. */ if (response_md != NULL && num_response_md > 0) { @@ -119,8 +119,8 @@ static void on_md_processing_done( void *user_data, const grpc_metadata *consumed_md, size_t num_consumed_md, const grpc_metadata *response_md, size_t num_response_md, grpc_status_code status, const char *error_details) { - grpc_call_element *elem = user_data; - call_data *calld = elem->call_data; + grpc_call_element *elem = (grpc_call_element *)user_data; + call_data *calld = (call_data *)elem->call_data; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; // If the call was not cancelled while we were in flight, process the result. if (gpr_atm_full_cas(&calld->state, (gpr_atm)STATE_INIT, @@ -149,7 +149,7 @@ static void on_md_processing_done( static void cancel_call(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { grpc_call_element *elem = (grpc_call_element *)arg; - call_data *calld = elem->call_data; + call_data *calld = (call_data *)elem->call_data; // If the result was not already processed, invoke the callback now. if (error != GRPC_ERROR_NONE && gpr_atm_full_cas(&calld->state, (gpr_atm)STATE_INIT, @@ -163,8 +163,8 @@ static void cancel_call(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { static void recv_initial_metadata_ready(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { grpc_call_element *elem = (grpc_call_element *)arg; - channel_data *chand = elem->channel_data; - call_data *calld = elem->call_data; + channel_data *chand = (channel_data *)elem->channel_data; + call_data *calld = (call_data *)elem->call_data; grpc_transport_stream_op_batch *batch = calld->recv_initial_metadata_batch; if (error == GRPC_ERROR_NONE) { if (chand->creds != NULL && chand->creds->processor.process != NULL) { @@ -191,7 +191,7 @@ static void recv_initial_metadata_ready(grpc_exec_ctx *exec_ctx, void *arg, static void auth_start_transport_stream_op_batch( grpc_exec_ctx *exec_ctx, grpc_call_element *elem, grpc_transport_stream_op_batch *batch) { - call_data *calld = elem->call_data; + call_data *calld = (call_data *)elem->call_data; if (batch->recv_initial_metadata) { // Inject our callback. calld->recv_initial_metadata_batch = batch; @@ -207,8 +207,8 @@ static void auth_start_transport_stream_op_batch( static grpc_error *init_call_elem(grpc_exec_ctx *exec_ctx, grpc_call_element *elem, const grpc_call_element_args *args) { - call_data *calld = elem->call_data; - channel_data *chand = elem->channel_data; + call_data *calld = (call_data *)elem->call_data; + channel_data *chand = (channel_data *)elem->channel_data; calld->call_combiner = args->call_combiner; calld->owning_call = args->call_stack; GRPC_CLOSURE_INIT(&calld->recv_initial_metadata_ready, @@ -240,7 +240,7 @@ static grpc_error *init_channel_elem(grpc_exec_ctx *exec_ctx, grpc_channel_element *elem, grpc_channel_element_args *args) { GPR_ASSERT(!args->is_last); - channel_data *chand = elem->channel_data; + channel_data *chand = (channel_data *)elem->channel_data; grpc_auth_context *auth_context = grpc_find_auth_context_in_args(args->channel_args); GPR_ASSERT(auth_context != NULL); @@ -255,7 +255,7 @@ static grpc_error *init_channel_elem(grpc_exec_ctx *exec_ctx, /* Destructor for channel data */ static void destroy_channel_elem(grpc_exec_ctx *exec_ctx, grpc_channel_element *elem) { - channel_data *chand = elem->channel_data; + channel_data *chand = (channel_data *)elem->channel_data; GRPC_AUTH_CONTEXT_UNREF(chand->auth_context, "server_auth_filter"); grpc_server_credentials_unref(exec_ctx, chand->creds); } diff --git a/src/core/tsi/fake_transport_security.c b/src/core/tsi/fake_transport_security.c index e85451ff24b..94f17caed07 100644 --- a/src/core/tsi/fake_transport_security.c +++ b/src/core/tsi/fake_transport_security.c @@ -98,11 +98,11 @@ static const char *tsi_fake_handshake_message_to_string(int msg) { static tsi_result tsi_fake_handshake_message_from_string( const char *msg_string, tsi_fake_handshake_message *msg) { - tsi_fake_handshake_message i; + int i; for (i = 0; i < TSI_FAKE_HANDSHAKE_MESSAGE_MAX; i++) { if (strncmp(msg_string, tsi_fake_handshake_message_strings[i], strlen(tsi_fake_handshake_message_strings[i])) == 0) { - *msg = i; + *msg = (tsi_fake_handshake_message) i; return TSI_OK; } } @@ -155,9 +155,10 @@ static void tsi_fake_frame_reset(tsi_fake_frame *frame, int needs_draining) { static void tsi_fake_frame_ensure_size(tsi_fake_frame *frame) { if (frame->data == NULL) { frame->allocated_size = frame->size; - frame->data = (unsigned char*) gpr_malloc(frame->allocated_size); + frame->data = (unsigned char *)gpr_malloc(frame->allocated_size); } else if (frame->size > frame->allocated_size) { - unsigned char *new_data = (unsigned char*) gpr_realloc(frame->data, frame->size); + unsigned char *new_data = + (unsigned char *)gpr_realloc(frame->data, frame->size); frame->data = new_data; frame->allocated_size = frame->size; } @@ -176,7 +177,7 @@ static tsi_result tsi_fake_frame_decode(const unsigned char *incoming_bytes, if (frame->needs_draining) return TSI_INTERNAL_ERROR; if (frame->data == NULL) { frame->allocated_size = TSI_FAKE_FRAME_INITIAL_ALLOCATED_SIZE; - frame->data = (unsigned char*) gpr_malloc(frame->allocated_size); + frame->data = (unsigned char *)gpr_malloc(frame->allocated_size); } if (frame->offset < TSI_FAKE_FRAME_HEADER_SIZE) { @@ -538,10 +539,11 @@ static tsi_result fake_handshaker_result_create( handshaker_result == NULL) { return TSI_INVALID_ARGUMENT; } - fake_handshaker_result *result = (fake_handshaker_result*) gpr_zalloc(sizeof(*result)); + fake_handshaker_result *result = + (fake_handshaker_result *)gpr_zalloc(sizeof(*result)); result->base.vtable = &handshaker_result_vtable; if (unused_bytes_size > 0) { - result->unused_bytes = (unsigned char*) gpr_malloc(unused_bytes_size); + result->unused_bytes = (unsigned char *)gpr_malloc(unused_bytes_size); memcpy(result->unused_bytes, unused_bytes, unused_bytes_size); } result->unused_bytes_size = unused_bytes_size; @@ -561,7 +563,7 @@ static tsi_result fake_handshaker_get_bytes_to_send_to_peer( } if (!impl->outgoing_frame.needs_draining) { tsi_fake_handshake_message next_message_to_send = - impl->next_message_to_send + 2; + (tsi_fake_handshake_message)(impl->next_message_to_send + 2); const char *msg_string = tsi_fake_handshake_message_to_string(impl->next_message_to_send); result = tsi_fake_frame_set_data((unsigned char *)msg_string, @@ -596,7 +598,8 @@ static tsi_result fake_handshaker_process_bytes_from_peer( tsi_handshaker *self, const unsigned char *bytes, size_t *bytes_size) { tsi_result result = TSI_OK; tsi_fake_handshaker *impl = (tsi_fake_handshaker *)self; - tsi_fake_handshake_message expected_msg = impl->next_message_to_send - 1; + tsi_fake_handshake_message expected_msg = + (tsi_fake_handshake_message)(impl->next_message_to_send - 1); tsi_fake_handshake_message received_msg; if (!impl->needs_incoming_message || impl->result == TSI_OK) { @@ -681,8 +684,8 @@ static tsi_result fake_handshaker_next( if (result == TSI_INCOMPLETE_DATA) { handshaker->outgoing_bytes_buffer_size *= 2; handshaker->outgoing_bytes_buffer = - gpr_realloc(handshaker->outgoing_bytes_buffer, - handshaker->outgoing_bytes_buffer_size); + (unsigned char *)gpr_realloc(handshaker->outgoing_bytes_buffer, + handshaker->outgoing_bytes_buffer_size); } } while (result == TSI_INCOMPLETE_DATA); if (result != TSI_OK) return result; @@ -723,13 +726,14 @@ static const tsi_handshaker_vtable handshaker_vtable = { }; tsi_handshaker *tsi_create_fake_handshaker(int is_client) { - tsi_fake_handshaker *impl = (tsi_fake_handshaker*) gpr_zalloc(sizeof(*impl)); + tsi_fake_handshaker *impl = (tsi_fake_handshaker *)gpr_zalloc(sizeof(*impl)); impl->base.vtable = &handshaker_vtable; impl->is_client = is_client; impl->result = TSI_HANDSHAKE_IN_PROGRESS; impl->outgoing_bytes_buffer_size = TSI_FAKE_HANDSHAKER_OUTGOING_BUFFER_INITIAL_SIZE; - impl->outgoing_bytes_buffer = (unsigned char*) gpr_malloc(impl->outgoing_bytes_buffer_size); + impl->outgoing_bytes_buffer = + (unsigned char *)gpr_malloc(impl->outgoing_bytes_buffer_size); if (is_client) { impl->needs_incoming_message = 0; impl->next_message_to_send = TSI_FAKE_CLIENT_INIT; @@ -742,7 +746,8 @@ tsi_handshaker *tsi_create_fake_handshaker(int is_client) { tsi_frame_protector *tsi_create_fake_frame_protector( size_t *max_protected_frame_size) { - tsi_fake_frame_protector *impl = (tsi_fake_frame_protector*) gpr_zalloc(sizeof(*impl)); + tsi_fake_frame_protector *impl = + (tsi_fake_frame_protector *)gpr_zalloc(sizeof(*impl)); impl->max_frame_size = (max_protected_frame_size == NULL) ? TSI_FAKE_DEFAULT_FRAME_SIZE : *max_protected_frame_size; @@ -752,7 +757,8 @@ tsi_frame_protector *tsi_create_fake_frame_protector( tsi_zero_copy_grpc_protector *tsi_create_fake_zero_copy_grpc_protector( size_t *max_protected_frame_size) { - tsi_fake_zero_copy_grpc_protector *impl = (tsi_fake_zero_copy_grpc_protector*) gpr_zalloc(sizeof(*impl)); + tsi_fake_zero_copy_grpc_protector *impl = + (tsi_fake_zero_copy_grpc_protector *)gpr_zalloc(sizeof(*impl)); grpc_slice_buffer_init(&impl->header_sb); grpc_slice_buffer_init(&impl->protected_sb); impl->max_frame_size = (max_protected_frame_size == NULL) diff --git a/src/core/tsi/ssl_transport_security.c b/src/core/tsi/ssl_transport_security.c index 744825e7e0a..dd59bccdaee 100644 --- a/src/core/tsi/ssl_transport_security.c +++ b/src/core/tsi/ssl_transport_security.c @@ -135,7 +135,7 @@ static void init_openssl(void) { OpenSSL_add_all_algorithms(); num_locks = CRYPTO_num_locks(); GPR_ASSERT(num_locks > 0); - openssl_mutexes = (gpr_mu*) gpr_malloc((size_t)num_locks * sizeof(gpr_mu)); + openssl_mutexes = (gpr_mu *)gpr_malloc((size_t)num_locks * sizeof(gpr_mu)); for (i = 0; i < CRYPTO_num_locks(); i++) { gpr_mu_init(&openssl_mutexes[i]); } @@ -361,7 +361,7 @@ static tsi_result peer_from_x509(X509 *cert, int include_certificate_type, tsi_peer *peer) { /* TODO(jboeuf): Maybe add more properties. */ GENERAL_NAMES *subject_alt_names = - X509_get_ext_d2i(cert, NID_subject_alt_name, 0, 0); + (GENERAL_NAMES *)X509_get_ext_d2i(cert, NID_subject_alt_name, 0, 0); int subject_alt_name_count = (subject_alt_names != NULL) ? (int)sk_GENERAL_NAME_num(subject_alt_names) : 0; @@ -479,7 +479,7 @@ static tsi_result ssl_ctx_use_certificate_chain(SSL_CTX *context, if (pem == NULL) return TSI_OUT_OF_RESOURCES; do { - certificate = PEM_read_bio_X509_AUX(pem, NULL, NULL, ""); + certificate = PEM_read_bio_X509_AUX(pem, NULL, NULL, (void *)""); if (certificate == NULL) { result = TSI_INVALID_ARGUMENT; break; @@ -489,7 +489,8 @@ static tsi_result ssl_ctx_use_certificate_chain(SSL_CTX *context, break; } while (1) { - X509 *certificate_authority = PEM_read_bio_X509(pem, NULL, NULL, ""); + X509 *certificate_authority = + PEM_read_bio_X509(pem, NULL, NULL, (void *)""); if (certificate_authority == NULL) { ERR_clear_error(); break; /* Done reading. */ @@ -520,7 +521,7 @@ static tsi_result ssl_ctx_use_private_key(SSL_CTX *context, const char *pem_key, pem = BIO_new_mem_buf((void *)pem_key, (int)pem_key_size); if (pem == NULL) return TSI_OUT_OF_RESOURCES; do { - private_key = PEM_read_bio_PrivateKey(pem, NULL, NULL, ""); + private_key = PEM_read_bio_PrivateKey(pem, NULL, NULL, (void *)""); if (private_key == NULL) { result = TSI_INVALID_ARGUMENT; break; @@ -559,7 +560,7 @@ static tsi_result ssl_ctx_load_verification_certs(SSL_CTX *context, } while (1) { - root = PEM_read_bio_X509_AUX(pem, NULL, NULL, ""); + root = PEM_read_bio_X509_AUX(pem, NULL, NULL, (void *)""); if (root == NULL) { ERR_clear_error(); break; /* We're at the end of stream. */ @@ -655,7 +656,7 @@ static tsi_result extract_x509_subject_names_from_pem_cert(const char *pem_cert, pem = BIO_new_mem_buf((void *)pem_cert, (int)strlen(pem_cert)); if (pem == NULL) return TSI_OUT_OF_RESOURCES; - cert = PEM_read_bio_X509(pem, NULL, NULL, ""); + cert = PEM_read_bio_X509(pem, NULL, NULL, (void *)""); if (cert == NULL) { gpr_log(GPR_ERROR, "Invalid certificate"); result = TSI_INVALID_ARGUMENT; @@ -684,7 +685,7 @@ static tsi_result build_alpn_protocol_name_list( } *protocol_name_list_length += length + 1; } - *protocol_name_list = (unsigned char*) gpr_malloc(*protocol_name_list_length); + *protocol_name_list = (unsigned char *)gpr_malloc(*protocol_name_list_length); if (*protocol_name_list == NULL) return TSI_OUT_OF_RESOURCES; current = *protocol_name_list; for (i = 0; i < num_alpn_protocols; i++) { @@ -998,8 +999,8 @@ static tsi_result ssl_handshaker_extract_peer(tsi_handshaker *self, } if (alpn_selected != NULL) { size_t i; - tsi_peer_property *new_properties = - gpr_zalloc(sizeof(*new_properties) * (peer->property_count + 1)); + tsi_peer_property *new_properties = (tsi_peer_property *)gpr_zalloc( + sizeof(*new_properties) * (peer->property_count + 1)); for (i = 0; i < peer->property_count; i++) { new_properties[i] = peer->properties[i]; } @@ -1023,7 +1024,8 @@ static tsi_result ssl_handshaker_create_frame_protector( size_t actual_max_output_protected_frame_size = TSI_SSL_MAX_PROTECTED_FRAME_SIZE_UPPER_BOUND; tsi_ssl_handshaker *impl = (tsi_ssl_handshaker *)self; - tsi_ssl_frame_protector *protector_impl = (tsi_ssl_frame_protector*) gpr_zalloc(sizeof(*protector_impl)); + tsi_ssl_frame_protector *protector_impl = + (tsi_ssl_frame_protector *)gpr_zalloc(sizeof(*protector_impl)); if (max_output_protected_frame_size != NULL) { if (*max_output_protected_frame_size > @@ -1039,7 +1041,8 @@ static tsi_result ssl_handshaker_create_frame_protector( } protector_impl->buffer_size = actual_max_output_protected_frame_size - TSI_SSL_MAX_PROTECTION_OVERHEAD; - protector_impl->buffer = (unsigned char*) gpr_malloc(protector_impl->buffer_size); + protector_impl->buffer = + (unsigned char *)gpr_malloc(protector_impl->buffer_size); if (protector_impl->buffer == NULL) { gpr_log(GPR_ERROR, "Could not allocated buffer for tsi_ssl_frame_protector."); @@ -1130,7 +1133,7 @@ static tsi_result create_tsi_ssl_handshaker(SSL_CTX *ctx, int is_client, SSL_set_accept_state(ssl); } - impl = (tsi_ssl_handshaker*) gpr_zalloc(sizeof(*impl)); + impl = (tsi_ssl_handshaker *)gpr_zalloc(sizeof(*impl)); impl->ssl = ssl; impl->into_ssl = into_ssl; impl->from_ssl = from_ssl; @@ -1359,7 +1362,7 @@ tsi_result tsi_create_ssl_client_handshaker_factory( return TSI_INVALID_ARGUMENT; } - impl = (tsi_ssl_client_handshaker_factory*) gpr_zalloc(sizeof(*impl)); + impl = (tsi_ssl_client_handshaker_factory *)gpr_zalloc(sizeof(*impl)); tsi_ssl_handshaker_factory_init(&impl->base); impl->base.vtable = &client_handshaker_factory_vtable; @@ -1444,13 +1447,14 @@ tsi_result tsi_create_ssl_server_handshaker_factory_ex( return TSI_INVALID_ARGUMENT; } - impl = (tsi_ssl_server_handshaker_factory*) gpr_zalloc(sizeof(*impl)); + impl = (tsi_ssl_server_handshaker_factory *)gpr_zalloc(sizeof(*impl)); tsi_ssl_handshaker_factory_init(&impl->base); impl->base.vtable = &server_handshaker_factory_vtable; - impl->ssl_contexts = (SSL_CTX**) gpr_zalloc(num_key_cert_pairs * sizeof(SSL_CTX *)); + impl->ssl_contexts = + (SSL_CTX **)gpr_zalloc(num_key_cert_pairs * sizeof(SSL_CTX *)); impl->ssl_context_x509_subject_names = - gpr_zalloc(num_key_cert_pairs * sizeof(tsi_peer)); + (tsi_peer *)gpr_zalloc(num_key_cert_pairs * sizeof(tsi_peer)); if (impl->ssl_contexts == NULL || impl->ssl_context_x509_subject_names == NULL) { tsi_ssl_handshaker_factory_unref(&impl->base); diff --git a/src/core/tsi/transport_security.c b/src/core/tsi/transport_security.c index 57d7be09782..21bd8eba78e 100644 --- a/src/core/tsi/transport_security.c +++ b/src/core/tsi/transport_security.c @@ -282,7 +282,7 @@ tsi_result tsi_construct_allocated_string_peer_property( *property = tsi_init_peer_property(); if (name != NULL) property->name = gpr_strdup(name); if (value_length > 0) { - property->value.data = (char*) gpr_zalloc(value_length); + property->value.data = (char *)gpr_zalloc(value_length); property->value.length = value_length; } return TSI_OK; @@ -310,7 +310,8 @@ tsi_result tsi_construct_string_peer_property(const char *name, tsi_result tsi_construct_peer(size_t property_count, tsi_peer *peer) { memset(peer, 0, sizeof(tsi_peer)); if (property_count > 0) { - peer->properties = (tsi_peer_property*) gpr_zalloc(property_count * sizeof(tsi_peer_property)); + peer->properties = (tsi_peer_property *)gpr_zalloc( + property_count * sizeof(tsi_peer_property)); peer->property_count = property_count; } return TSI_OK; diff --git a/src/core/tsi/transport_security_adapter.c b/src/core/tsi/transport_security_adapter.c index 12f339b7d04..e399e42758d 100644 --- a/src/core/tsi/transport_security_adapter.c +++ b/src/core/tsi/transport_security_adapter.c @@ -80,12 +80,13 @@ static tsi_result tsi_adapter_create_handshaker_result( if (wrapped == NULL || (unused_bytes_size > 0 && unused_bytes == NULL)) { return TSI_INVALID_ARGUMENT; } - tsi_adapter_handshaker_result *impl = (tsi_adapter_handshaker_result*) gpr_zalloc(sizeof(*impl)); + tsi_adapter_handshaker_result *impl = + (tsi_adapter_handshaker_result *)gpr_zalloc(sizeof(*impl)); impl->base.vtable = &result_vtable; impl->wrapped = wrapped; impl->unused_bytes_size = unused_bytes_size; if (unused_bytes_size > 0) { - impl->unused_bytes = (unsigned char*) gpr_malloc(unused_bytes_size); + impl->unused_bytes = (unsigned char *)gpr_malloc(unused_bytes_size); memcpy(impl->unused_bytes, unused_bytes, unused_bytes_size); } else { impl->unused_bytes = NULL; @@ -172,8 +173,8 @@ static tsi_result adapter_next( offset += to_send_size; if (status == TSI_INCOMPLETE_DATA) { impl->adapter_buffer_size *= 2; - impl->adapter_buffer = - gpr_realloc(impl->adapter_buffer, impl->adapter_buffer_size); + impl->adapter_buffer = (unsigned char *)gpr_realloc( + impl->adapter_buffer, impl->adapter_buffer_size); } } while (status == TSI_INCOMPLETE_DATA); if (status != TSI_OK) return status; @@ -209,11 +210,12 @@ static const tsi_handshaker_vtable handshaker_vtable = { tsi_handshaker *tsi_create_adapter_handshaker(tsi_handshaker *wrapped) { GPR_ASSERT(wrapped != NULL); - tsi_adapter_handshaker *impl = (tsi_adapter_handshaker*) gpr_zalloc(sizeof(*impl)); + tsi_adapter_handshaker *impl = + (tsi_adapter_handshaker *)gpr_zalloc(sizeof(*impl)); impl->base.vtable = &handshaker_vtable; impl->wrapped = wrapped; impl->adapter_buffer_size = TSI_ADAPTER_INITIAL_BUFFER_SIZE; - impl->adapter_buffer = (unsigned char*) gpr_malloc(impl->adapter_buffer_size); + impl->adapter_buffer = (unsigned char *)gpr_malloc(impl->adapter_buffer_size); return &impl->base; } From 240b9ce4e2541dbaeaf8966e220993574a673867 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Wed, 20 Sep 2017 12:55:12 -0700 Subject: [PATCH 079/180] Clang format --- src/core/lib/security/credentials/jwt/jwt_verifier.c | 3 ++- src/core/lib/security/credentials/ssl/ssl_credentials.c | 4 ++-- src/core/lib/security/transport/client_auth_filter.c | 3 ++- src/core/tsi/fake_transport_security.c | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/core/lib/security/credentials/jwt/jwt_verifier.c b/src/core/lib/security/credentials/jwt/jwt_verifier.c index 97574cfbd9e..656d0920cdb 100644 --- a/src/core/lib/security/credentials/jwt/jwt_verifier.c +++ b/src/core/lib/security/credentials/jwt/jwt_verifier.c @@ -761,7 +761,8 @@ const char *grpc_jwt_issuer_email_domain(const char *issuer) { if (dot == NULL || dot == email_domain) return email_domain; GPR_ASSERT(dot > email_domain); /* There may be a subdomain, we just want the domain. */ - dot = (const char *)gpr_memrchr((void *)email_domain, '.', (size_t)(dot - email_domain)); + dot = (const char *)gpr_memrchr((void *)email_domain, '.', + (size_t)(dot - email_domain)); if (dot == NULL) return email_domain; return dot + 1; } diff --git a/src/core/lib/security/credentials/ssl/ssl_credentials.c b/src/core/lib/security/credentials/ssl/ssl_credentials.c index eac081c60c4..9df69a2a3d9 100644 --- a/src/core/lib/security/credentials/ssl/ssl_credentials.c +++ b/src/core/lib/security/credentials/ssl/ssl_credentials.c @@ -66,8 +66,8 @@ static grpc_security_status ssl_create_security_connector( if (status != GRPC_SECURITY_OK) { return status; } - grpc_arg new_arg = - grpc_channel_arg_string_create((char *)GRPC_ARG_HTTP2_SCHEME, (char *)"https"); + grpc_arg new_arg = grpc_channel_arg_string_create( + (char *)GRPC_ARG_HTTP2_SCHEME, (char *)"https"); *new_args = grpc_channel_args_copy_and_add(args, &new_arg, 1); return status; } diff --git a/src/core/lib/security/transport/client_auth_filter.c b/src/core/lib/security/transport/client_auth_filter.c index 594da89d90f..a8464dbf9e7 100644 --- a/src/core/lib/security/transport/client_auth_filter.c +++ b/src/core/lib/security/transport/client_auth_filter.c @@ -226,7 +226,8 @@ static void send_security_metadata(grpc_exec_ctx *exec_ctx, static void on_host_checked(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { grpc_transport_stream_op_batch *batch = (grpc_transport_stream_op_batch *)arg; - grpc_call_element *elem = (grpc_call_element *)batch->handler_private.extra_arg; + grpc_call_element *elem = + (grpc_call_element *)batch->handler_private.extra_arg; call_data *calld = (call_data *)elem->call_data; if (error == GRPC_ERROR_NONE) { send_security_metadata(exec_ctx, elem, batch); diff --git a/src/core/tsi/fake_transport_security.c b/src/core/tsi/fake_transport_security.c index 94f17caed07..0a992b5fd22 100644 --- a/src/core/tsi/fake_transport_security.c +++ b/src/core/tsi/fake_transport_security.c @@ -102,7 +102,7 @@ static tsi_result tsi_fake_handshake_message_from_string( for (i = 0; i < TSI_FAKE_HANDSHAKE_MESSAGE_MAX; i++) { if (strncmp(msg_string, tsi_fake_handshake_message_strings[i], strlen(tsi_fake_handshake_message_strings[i])) == 0) { - *msg = (tsi_fake_handshake_message) i; + *msg = (tsi_fake_handshake_message)i; return TSI_OK; } } From f4f8dd768c1001959f12f5bd463907f483210376 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Wed, 20 Sep 2017 16:36:52 -0700 Subject: [PATCH 080/180] including header files in code to get extern C effect --- src/core/lib/support/string.c | 1 + src/core/lib/support/string_posix.c | 1 + src/core/lib/support/string_windows.c | 1 + 3 files changed, 3 insertions(+) diff --git a/src/core/lib/support/string.c b/src/core/lib/support/string.c index 6b172df82f6..d55863892fc 100644 --- a/src/core/lib/support/string.c +++ b/src/core/lib/support/string.c @@ -27,6 +27,7 @@ #include #include #include +#include #include char *gpr_strdup(const char *src) { diff --git a/src/core/lib/support/string_posix.c b/src/core/lib/support/string_posix.c index e768faf7391..92de21a6e1e 100644 --- a/src/core/lib/support/string_posix.c +++ b/src/core/lib/support/string_posix.c @@ -25,6 +25,7 @@ #include #include +#include int gpr_asprintf(char **strp, const char *format, ...) { va_list args; diff --git a/src/core/lib/support/string_windows.c b/src/core/lib/support/string_windows.c index 50278d9559f..bae524d7cb1 100644 --- a/src/core/lib/support/string_windows.c +++ b/src/core/lib/support/string_windows.c @@ -27,6 +27,7 @@ #include #include +#include #include "src/core/lib/support/string.h" From ac0c2d9036814b56a3f8d99d6f8cbafeed671eca Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Wed, 20 Sep 2017 16:54:00 -0700 Subject: [PATCH 081/180] Adding cplusplus ifdefs for C linkage in header files --- src/core/lib/support/arena.h | 8 ++++++++ src/core/lib/support/backoff.h | 8 ++++++++ src/core/lib/support/mpscq.h | 8 ++++++++ src/core/lib/support/murmur_hash.h | 8 ++++++++ src/core/lib/support/stack_lockfree.h | 8 ++++++++ src/core/lib/support/string_windows.h | 8 ++++++++ src/core/lib/support/time_precise.h | 8 ++++++++ 7 files changed, 56 insertions(+) diff --git a/src/core/lib/support/arena.h b/src/core/lib/support/arena.h index 47f0e4d16ba..8a50786348c 100644 --- a/src/core/lib/support/arena.h +++ b/src/core/lib/support/arena.h @@ -27,6 +27,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct gpr_arena gpr_arena; // Create an arena, with \a initial_size bytes in the first allocated buffer @@ -36,4 +40,8 @@ void *gpr_arena_alloc(gpr_arena *arena, size_t size); // Destroy an arena, returning the total number of bytes allocated size_t gpr_arena_destroy(gpr_arena *arena); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SUPPORT_ARENA_H */ diff --git a/src/core/lib/support/backoff.h b/src/core/lib/support/backoff.h index 6e0cc3a4b69..31ec28f6666 100644 --- a/src/core/lib/support/backoff.h +++ b/src/core/lib/support/backoff.h @@ -21,6 +21,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { /// const: how long to wait after the first failure before retrying int64_t initial_connect_timeout; @@ -53,4 +57,8 @@ gpr_timespec gpr_backoff_step(gpr_backoff *backoff, gpr_timespec now); /// instead void gpr_backoff_reset(gpr_backoff *backoff); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SUPPORT_BACKOFF_H */ diff --git a/src/core/lib/support/mpscq.h b/src/core/lib/support/mpscq.h index daa51768f7f..ca63a044bb3 100644 --- a/src/core/lib/support/mpscq.h +++ b/src/core/lib/support/mpscq.h @@ -23,6 +23,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + // Multiple-producer single-consumer lock free queue, based upon the // implementation from Dmitry Vyukov here: // http://www.1024cores.net/home/lock-free-algorithms/queues/intrusive-mpsc-node-based-queue @@ -50,4 +54,8 @@ gpr_mpscq_node *gpr_mpscq_pop(gpr_mpscq *q); // Pop a node; sets *empty to true if the queue is empty, or false if it is not gpr_mpscq_node *gpr_mpscq_pop_and_check_end(gpr_mpscq *q, bool *empty); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SUPPORT_MPSCQ_H */ diff --git a/src/core/lib/support/murmur_hash.h b/src/core/lib/support/murmur_hash.h index 7510b4d09c1..a4c642e49ff 100644 --- a/src/core/lib/support/murmur_hash.h +++ b/src/core/lib/support/murmur_hash.h @@ -23,7 +23,15 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* compute the hash of key (length len) */ uint32_t gpr_murmur_hash3(const void *key, size_t len, uint32_t seed); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SUPPORT_MURMUR_HASH_H */ diff --git a/src/core/lib/support/stack_lockfree.h b/src/core/lib/support/stack_lockfree.h index 6324211b720..706f63fbf69 100644 --- a/src/core/lib/support/stack_lockfree.h +++ b/src/core/lib/support/stack_lockfree.h @@ -21,6 +21,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct gpr_stack_lockfree gpr_stack_lockfree; /* This stack must specify the maximum number of entries to track. @@ -35,4 +39,8 @@ int gpr_stack_lockfree_push(gpr_stack_lockfree *, int entry); /* Returns -1 on empty or the actual entry number */ int gpr_stack_lockfree_pop(gpr_stack_lockfree *stack); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SUPPORT_STACK_LOCKFREE_H */ diff --git a/src/core/lib/support/string_windows.h b/src/core/lib/support/string_windows.h index 7c7f31e7aaf..67716475813 100644 --- a/src/core/lib/support/string_windows.h +++ b/src/core/lib/support/string_windows.h @@ -21,6 +21,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + #ifdef GPR_WINDOWS /* These allocate new strings using gpr_malloc to convert from and to utf-8. */ @@ -29,4 +33,8 @@ LPSTR gpr_tchar_to_char(LPCTSTR input); #endif /* GPR_WINDOWS */ +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SUPPORT_STRING_WINDOWS_H */ diff --git a/src/core/lib/support/time_precise.h b/src/core/lib/support/time_precise.h index aa28d6d7c47..cb15cdf9198 100644 --- a/src/core/lib/support/time_precise.h +++ b/src/core/lib/support/time_precise.h @@ -21,7 +21,15 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + void gpr_precise_clock_init(void); void gpr_precise_clock_now(gpr_timespec *clk); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SUPPORT_TIME_PRECISE_H */ From a7e6d65a4864422854117149a6e98ff80e492fa9 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Wed, 20 Sep 2017 18:56:37 -0700 Subject: [PATCH 082/180] Changes for C to C++. Adding extern C to header files for compatibility. --- src/core/ext/census/base_resources.h | 10 +++++++++- src/core/ext/census/census_interface.h | 10 +++++++++- src/core/ext/census/census_log.h | 10 +++++++++- src/core/ext/census/hash_table.h | 10 +++++++++- src/core/ext/census/intrusive_hash_map.h | 8 ++++++++ src/core/ext/census/mlog.h | 10 +++++++++- src/core/ext/census/resource.h | 10 +++++++++- src/core/ext/census/trace_context.h | 10 +++++++++- src/core/ext/census/trace_propagation.h | 10 +++++++++- src/core/ext/census/tracing.h | 10 +++++++++- src/core/ext/census/window_stats.h | 10 +++++++++- src/core/ext/filters/client_channel/client_channel.h | 10 +++++++++- .../filters/client_channel/client_channel_factory.h | 10 +++++++++- src/core/ext/filters/client_channel/connector.h | 10 +++++++++- .../filters/client_channel/http_connect_handshaker.h | 10 +++++++++- src/core/ext/filters/client_channel/http_proxy.h | 10 +++++++++- src/core/ext/filters/client_channel/lb_policy.h | 8 ++++++++ .../filters/client_channel/lb_policy/grpclb/grpclb.h | 10 +++++++++- .../client_channel/lb_policy/grpclb/grpclb_channel.h | 8 ++++++++ .../lb_policy/grpclb/grpclb_client_stats.h | 8 ++++++++ .../ext/filters/client_channel/lb_policy_factory.h | 10 +++++++++- .../ext/filters/client_channel/lb_policy_registry.h | 10 +++++++++- src/core/ext/filters/client_channel/parse_address.h | 10 +++++++++- src/core/ext/filters/client_channel/proxy_mapper.h | 10 +++++++++- .../ext/filters/client_channel/proxy_mapper_registry.h | 10 +++++++++- src/core/ext/filters/client_channel/resolver.h | 8 ++++++++ .../resolver/dns/c_ares/grpc_ares_ev_driver.h | 8 ++++++++ .../resolver/dns/c_ares/grpc_ares_wrapper.h | 8 ++++++++ .../client_channel/resolver/fake/fake_resolver.h | 8 ++++++++ src/core/ext/filters/client_channel/resolver_factory.h | 10 +++++++++- .../ext/filters/client_channel/resolver_registry.h | 10 +++++++++- src/core/ext/filters/client_channel/retry_throttle.h | 10 +++++++++- src/core/ext/filters/client_channel/subchannel.h | 8 ++++++++ src/core/ext/filters/client_channel/subchannel_index.h | 10 +++++++++- src/core/ext/filters/client_channel/uri_parser.h | 10 +++++++++- src/core/ext/filters/deadline/deadline_filter.h | 10 +++++++++- .../load_reporting/server_load_reporting_plugin.h | 8 ++++++++ src/core/ext/filters/workarounds/workaround_utils.h | 10 +++++++++- src/core/ext/transport/chttp2/alpn/alpn.h | 10 +++++++++- src/core/ext/transport/chttp2/server/chttp2_server.h | 10 +++++++++- src/core/ext/transport/chttp2/transport/bin_decoder.h | 10 +++++++++- src/core/ext/transport/chttp2/transport/bin_encoder.h | 10 +++++++++- .../ext/transport/chttp2/transport/chttp2_transport.h | 8 ++++++++ src/core/ext/transport/chttp2/transport/frame.h | 8 ++++++++ src/core/ext/transport/chttp2/transport/frame_data.h | 10 +++++++++- src/core/ext/transport/chttp2/transport/frame_goaway.h | 10 +++++++++- src/core/ext/transport/chttp2/transport/frame_ping.h | 10 +++++++++- .../ext/transport/chttp2/transport/frame_rst_stream.h | 10 +++++++++- .../ext/transport/chttp2/transport/frame_settings.h | 10 +++++++++- .../transport/chttp2/transport/frame_window_update.h | 10 +++++++++- .../ext/transport/chttp2/transport/hpack_encoder.h | 10 +++++++++- src/core/ext/transport/chttp2/transport/hpack_parser.h | 10 +++++++++- src/core/ext/transport/chttp2/transport/hpack_table.h | 8 ++++++++ .../ext/transport/chttp2/transport/http2_settings.h | 10 +++++++++- .../ext/transport/chttp2/transport/incoming_metadata.h | 10 +++++++++- src/core/ext/transport/chttp2/transport/internal.h | 8 ++++++++ src/core/ext/transport/chttp2/transport/stream_map.h | 10 +++++++++- src/core/ext/transport/chttp2/transport/varint.h | 8 ++++++++ .../ext/transport/cronet/transport/cronet_transport.h | 10 +++++++++- src/core/lib/channel/channel_args.h | 10 +++++++++- src/core/lib/channel/connected_channel.h | 10 +++++++++- src/core/lib/channel/handshaker.h | 10 +++++++++- src/core/lib/channel/handshaker_factory.h | 10 +++++++++- src/core/lib/channel/handshaker_registry.h | 10 +++++++++- src/core/lib/compression/algorithm_metadata.h | 10 +++++++++- src/core/lib/compression/message_compress.h | 10 +++++++++- src/core/lib/compression/stream_compression.h | 8 ++++++++ src/core/lib/debug/stats.h | 8 ++++++++ src/core/lib/debug/stats_data.h | 8 ++++++++ src/core/lib/debug/trace.h | 8 ++++++++ src/core/lib/http/format_request.h | 10 +++++++++- src/core/lib/http/httpcli.h | 10 +++++++++- src/core/lib/http/parser.h | 10 +++++++++- src/core/lib/iomgr/call_combiner.h | 8 ++++++++ src/core/lib/iomgr/combiner.h | 8 ++++++++ src/core/lib/iomgr/endpoint.h | 10 +++++++++- src/core/lib/iomgr/endpoint_pair.h | 10 +++++++++- src/core/lib/iomgr/error_internal.h | 10 +++++++++- src/core/lib/iomgr/ev_epoll1_linux.h | 10 +++++++++- src/core/lib/iomgr/ev_epollex_linux.h | 10 +++++++++- src/core/lib/iomgr/ev_epollsig_linux.h | 8 ++++++++ src/core/lib/iomgr/ev_poll_posix.h | 10 +++++++++- src/core/lib/iomgr/ev_posix.h | 10 +++++++++- src/core/lib/iomgr/exec_ctx.h | 8 ++++++++ src/core/lib/iomgr/executor.h | 10 +++++++++- src/core/lib/iomgr/gethostname.h | 10 +++++++++- src/core/lib/iomgr/iocp_windows.h | 10 +++++++++- src/core/lib/iomgr/iomgr.h | 10 +++++++++- src/core/lib/iomgr/iomgr_internal.h | 10 +++++++++- src/core/lib/iomgr/is_epollexclusive_available.h | 10 +++++++++- src/core/lib/iomgr/lockfree_event.h | 10 +++++++++- src/core/lib/iomgr/network_status_tracker.h | 10 +++++++++- src/core/lib/iomgr/polling_entity.h | 10 +++++++++- src/core/lib/iomgr/pollset.h | 8 ++++++++ src/core/lib/iomgr/pollset_set.h | 10 +++++++++- src/core/lib/iomgr/pollset_uv.h | 10 +++++++++- src/core/lib/iomgr/pollset_windows.h | 10 +++++++++- src/core/lib/iomgr/resolve_address.h | 10 +++++++++- src/core/lib/iomgr/resource_quota.h | 10 +++++++++- src/core/lib/iomgr/sockaddr_utils.h | 10 +++++++++- src/core/lib/iomgr/socket_utils.h | 10 +++++++++- src/core/lib/iomgr/socket_utils_posix.h | 10 +++++++++- src/core/lib/iomgr/socket_windows.h | 10 +++++++++- src/core/lib/iomgr/tcp_client.h | 10 +++++++++- src/core/lib/iomgr/tcp_client_posix.h | 10 +++++++++- src/core/lib/iomgr/tcp_posix.h | 10 +++++++++- src/core/lib/iomgr/tcp_server.h | 10 +++++++++- src/core/lib/iomgr/tcp_server_utils_posix.h | 10 +++++++++- src/core/lib/iomgr/tcp_uv.h | 10 +++++++++- src/core/lib/iomgr/tcp_windows.h | 10 +++++++++- src/core/lib/iomgr/time_averaged_stats.h | 10 +++++++++- src/core/lib/iomgr/timer.h | 8 ++++++++ src/core/lib/iomgr/timer_heap.h | 10 +++++++++- src/core/lib/iomgr/timer_manager.h | 10 +++++++++- src/core/lib/iomgr/udp_server.h | 10 +++++++++- src/core/lib/iomgr/unix_sockets_posix.h | 10 +++++++++- src/core/lib/iomgr/wakeup_fd_cv.h | 10 +++++++++- src/core/lib/iomgr/wakeup_fd_posix.h | 8 ++++++++ src/core/lib/json/json.h | 10 +++++++++- src/core/lib/json/json_reader.h | 10 +++++++++- src/core/lib/json/json_writer.h | 10 +++++++++- src/core/lib/profiling/basic_timers.c | 4 ++-- .../credentials/composite/composite_credentials.h | 8 ++++++++ src/core/lib/security/credentials/credentials.h | 8 ++++++++ .../lib/security/credentials/fake/fake_credentials.h | 10 +++++++++- src/core/lib/security/credentials/jwt/json_token.h | 10 +++++++++- .../lib/security/credentials/jwt/jwt_credentials.h | 10 +++++++++- src/core/lib/security/credentials/jwt/jwt_verifier.h | 8 ++++++++ .../security/credentials/oauth2/oauth2_credentials.h | 10 +++++++++- src/core/lib/security/transport/lb_targets_info.h | 10 +++++++++- src/core/lib/security/transport/secure_endpoint.h | 10 +++++++++- src/core/lib/security/transport/security_connector.h | 8 ++++++++ src/core/lib/security/transport/security_handshaker.h | 10 +++++++++- src/core/lib/security/transport/tsi_error.h | 10 +++++++++- src/core/lib/security/util/json_util.h | 10 +++++++++- src/core/lib/slice/b64.h | 10 +++++++++- src/core/lib/slice/percent_encoding.h | 10 +++++++++- src/core/lib/slice/slice_hash_table.h | 10 +++++++++- src/core/lib/slice/slice_internal.h | 10 +++++++++- src/core/lib/slice/slice_traits.h | 10 +++++++++- src/core/lib/support/time_precise.c | 2 ++ src/core/lib/surface/channel.h | 8 ++++++++ src/core/lib/surface/channel_stack_type.h | 10 +++++++++- src/core/lib/surface/completion_queue_factory.h | 10 +++++++++- src/core/lib/surface/event_string.h | 10 +++++++++- src/core/lib/surface/init.h | 10 +++++++++- src/core/lib/surface/server.h | 10 +++++++++- src/core/lib/surface/validate_metadata.h | 10 +++++++++- src/core/lib/transport/bdp_estimator.h | 10 +++++++++- src/core/lib/transport/byte_stream.h | 10 +++++++++- src/core/lib/transport/connectivity_state.h | 10 +++++++++- src/core/lib/transport/error_utils.h | 10 +++++++++- src/core/lib/transport/pid_controller.h | 10 +++++++++- src/core/lib/transport/service_config.h | 10 +++++++++- src/core/lib/transport/status_conversion.h | 10 +++++++++- src/core/lib/transport/timeout_encoding.h | 10 +++++++++- src/core/lib/transport/transport_impl.h | 10 +++++++++- src/core/tsi/gts_transport_security.h | 10 +++++++++- 158 files changed, 1377 insertions(+), 127 deletions(-) diff --git a/src/core/ext/census/base_resources.h b/src/core/ext/census/base_resources.h index 78a4d1fae5e..4b1b988e3f7 100644 --- a/src/core/ext/census/base_resources.h +++ b/src/core/ext/census/base_resources.h @@ -18,7 +18,15 @@ #ifndef GRPC_CORE_EXT_CENSUS_BASE_RESOURCES_H #define GRPC_CORE_EXT_CENSUS_BASE_RESOURCES_H +#ifdef __cplusplus +extern "C" { +#endif + /* Define all base resources. This should be called by census initialization. */ void define_base_resources(); -#endif /* GRPC_CORE_EXT_CENSUS_BASE_RESOURCES_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_CENSUS_BASE_RESOURCES_H */ \ No newline at end of file diff --git a/src/core/ext/census/census_interface.h b/src/core/ext/census/census_interface.h index a42b68ad654..12438e3c0a6 100644 --- a/src/core/ext/census/census_interface.h +++ b/src/core/ext/census/census_interface.h @@ -24,6 +24,10 @@ /* Maximum length of an individual census trace annotation. */ #define CENSUS_MAX_ANNOTATION_LENGTH 200 +#ifdef __cplusplus +extern "C" { +#endif + /* Structure of a census op id. Define as structure because 64bit integer is not available on every platform for C89. */ typedef struct census_op_id { @@ -58,4 +62,8 @@ census_op_id census_tracing_start_op(void); /* Ends tracing. Calling this function will invalidate the input op_id. */ void census_tracing_end_op(census_op_id op_id); -#endif /* GRPC_CORE_EXT_CENSUS_CENSUS_INTERFACE_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_CENSUS_CENSUS_INTERFACE_H */ \ No newline at end of file diff --git a/src/core/ext/census/census_log.h b/src/core/ext/census/census_log.h index 6b68b6bd37f..cc9e008907f 100644 --- a/src/core/ext/census/census_log.h +++ b/src/core/ext/census/census_log.h @@ -25,6 +25,10 @@ #define CENSUS_LOG_2_MAX_RECORD_SIZE 14 /* 2^14 = 16KB */ #define CENSUS_LOG_MAX_RECORD_SIZE (1 << CENSUS_LOG_2_MAX_RECORD_SIZE) +#ifdef __cplusplus +extern "C" { +#endif + /* Initialize the statistics logging subsystem with the given log size. A log size of 0 will result in the smallest possible log for the platform (approximately CENSUS_LOG_MAX_RECORD_SIZE * gpr_cpu_num_cores()). If @@ -73,4 +77,8 @@ size_t census_log_remaining_space(void); out-of-space. */ int census_log_out_of_space_count(void); -#endif /* GRPC_CORE_EXT_CENSUS_CENSUS_LOG_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_CENSUS_CENSUS_LOG_H */ \ No newline at end of file diff --git a/src/core/ext/census/hash_table.h b/src/core/ext/census/hash_table.h index 75770641c5d..c22ba8df9de 100644 --- a/src/core/ext/census/hash_table.h +++ b/src/core/ext/census/hash_table.h @@ -23,6 +23,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* A chain based hash table with fixed number of buckets. Your probably shouldn't use this code directly. It is implemented for the use case in census trace store and stats store, where number of entries in @@ -113,4 +117,8 @@ typedef void (*census_ht_itr_cb)(census_ht_key key, const void *val_ptr, should not invalidate data entries. */ uint64_t census_ht_for_all(const census_ht *ht, census_ht_itr_cb); -#endif /* GRPC_CORE_EXT_CENSUS_HASH_TABLE_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_CENSUS_HASH_TABLE_H */ \ No newline at end of file diff --git a/src/core/ext/census/intrusive_hash_map.h b/src/core/ext/census/intrusive_hash_map.h index f50de4fab46..2c7baa31fb4 100644 --- a/src/core/ext/census/intrusive_hash_map.h +++ b/src/core/ext/census/intrusive_hash_map.h @@ -21,6 +21,10 @@ #include "src/core/ext/census/intrusive_hash_map_internal.h" +#ifdef __cplusplus +extern "C" { +#endif + /* intrusive_hash_map is a fast chained hash table. This hash map is faster than * a dense hash map when the application calls insert and erase more often than * find. When the workload is dominated by find() a dense hash map may be @@ -149,4 +153,8 @@ void intrusive_hash_map_clear(intrusive_hash_map *hash_map, void intrusive_hash_map_free(intrusive_hash_map *hash_map, void (*free_object)(void *)); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_CENSUS_INTRUSIVE_HASH_MAP_H */ diff --git a/src/core/ext/census/mlog.h b/src/core/ext/census/mlog.h index 6f3125944f5..7b4d39272b3 100644 --- a/src/core/ext/census/mlog.h +++ b/src/core/ext/census/mlog.h @@ -28,6 +28,10 @@ #define CENSUS_LOG_2_MAX_RECORD_SIZE 14 /* 2^14 = 16KB */ #define CENSUS_LOG_MAX_RECORD_SIZE (1 << CENSUS_LOG_2_MAX_RECORD_SIZE) +#ifdef __cplusplus +extern "C" { +#endif + /* Initialize the statistics logging subsystem with the given log size. A log size of 0 will result in the smallest possible log for the platform (approximately CENSUS_LOG_MAX_RECORD_SIZE * gpr_cpu_num_cores()). If @@ -77,4 +81,8 @@ size_t census_log_remaining_space(void); out-of-space. */ int64_t census_log_out_of_space_count(void); -#endif /* GRPC_CORE_EXT_CENSUS_MLOG_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_CENSUS_MLOG_H */ \ No newline at end of file diff --git a/src/core/ext/census/resource.h b/src/core/ext/census/resource.h index b8bda2c72ed..5f7ac2ad27a 100644 --- a/src/core/ext/census/resource.h +++ b/src/core/ext/census/resource.h @@ -23,6 +23,10 @@ #include #include "src/core/ext/census/gen/census.pb.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Internal representation of a resource. */ typedef struct { char *name; @@ -45,4 +49,8 @@ void shutdown_resources(void); from configuration files. */ int32_t define_resource(const resource *base); -#endif /* GRPC_CORE_EXT_CENSUS_RESOURCE_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_CENSUS_RESOURCE_H */ \ No newline at end of file diff --git a/src/core/ext/census/trace_context.h b/src/core/ext/census/trace_context.h index a7233e6a2bc..c707c632633 100644 --- a/src/core/ext/census/trace_context.h +++ b/src/core/ext/census/trace_context.h @@ -39,6 +39,10 @@ 1 byte for is_sampled (bool) */ #define TRACE_MAX_CONTEXT_SIZE 31 +#ifdef __cplusplus +extern "C" { +#endif + /* Encode a trace context (ctxt) into proto format to the buffer provided. The size of buffer must be at least TRACE_MAX_CONTEXT_SIZE. On success, returns the number of bytes successfully encoded into buffer. On failure, returns 0. */ @@ -53,4 +57,8 @@ of these do not exist. On success, returns true and false otherwise. */ bool decode_trace_context(google_trace_TraceContext *ctxt, uint8_t *buffer, const size_t nbytes); -#endif /* GRPC_CORE_EXT_CENSUS_TRACE_CONTEXT_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_CENSUS_TRACE_CONTEXT_H */ \ No newline at end of file diff --git a/src/core/ext/census/trace_propagation.h b/src/core/ext/census/trace_propagation.h index eecfcb7d016..3394e9e0fd3 100644 --- a/src/core/ext/census/trace_propagation.h +++ b/src/core/ext/census/trace_propagation.h @@ -21,6 +21,10 @@ #include "src/core/ext/census/tracing.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Encoding and decoding functions for receiving and sending trace contexts over the wire. Only RPC libraries should be calling these functions. These functions return the number of bytes encoded/decoded @@ -45,4 +49,8 @@ size_t trace_span_context_to_http_format(const trace_span_context *ctxt, size_t http_format_to_trace_span_context(const char *buf, size_t buf_size, trace_span_context *ctxt); -#endif /* GRPC_CORE_EXT_CENSUS_TRACE_PROPAGATION_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_CENSUS_TRACE_PROPAGATION_H */ \ No newline at end of file diff --git a/src/core/ext/census/tracing.h b/src/core/ext/census/tracing.h index 038c9e27901..5fcbb1e1f76 100644 --- a/src/core/ext/census/tracing.h +++ b/src/core/ext/census/tracing.h @@ -25,6 +25,10 @@ #include "src/core/ext/census/trace_label.h" #include "src/core/ext/census/trace_status.h" +#ifdef __cplusplus +extern "C" { +#endif + /* This is the low level tracing API that other languages will interface with. This is not intended to be accessed by the end-user, therefore it has been designed with performance in mind rather than ease of use. */ @@ -106,4 +110,8 @@ free to ignore all further calls using the Span. EndSpanOptions can optionally be NULL. */ void trace_end_span(const trace_status *status, trace_span_context *span_ctxt); -#endif /* GRPC_CORE_EXT_CENSUS_TRACING_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_CENSUS_TRACING_H */ \ No newline at end of file diff --git a/src/core/ext/census/window_stats.h b/src/core/ext/census/window_stats.h index ebe37320085..3b1d197f76a 100644 --- a/src/core/ext/census/window_stats.h +++ b/src/core/ext/census/window_stats.h @@ -21,6 +21,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* Keep rolling sums of a user-defined statistic (containing a number of measurements) over a a number of time intervals ("windows"). For example, you can use a window_stats object to answer questions such as @@ -155,4 +159,8 @@ void census_window_stats_get_sums(const struct census_window_stats *wstats, assertion failure). This function is thread-compatible. */ void census_window_stats_destroy(struct census_window_stats *wstats); -#endif /* GRPC_CORE_EXT_CENSUS_WINDOW_STATS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_CENSUS_WINDOW_STATS_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/client_channel.h b/src/core/ext/filters/client_channel/client_channel.h index c99f0092e9b..b32f378c6ca 100644 --- a/src/core/ext/filters/client_channel/client_channel.h +++ b/src/core/ext/filters/client_channel/client_channel.h @@ -28,6 +28,10 @@ extern grpc_tracer_flag grpc_client_channel_trace; // Channel arg key for server URI string. #define GRPC_ARG_SERVER_URI "grpc.server_uri" +#ifdef __cplusplus +extern "C" { +#endif + /* A client channel is a channel that begins disconnected, and can connect to some endpoint on demand. If that endpoint disconnects, it will be connected to again later. @@ -52,4 +56,8 @@ void grpc_client_channel_watch_connectivity_state( grpc_subchannel_call *grpc_client_channel_get_subchannel_call( grpc_call_element *elem); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/client_channel_factory.h b/src/core/ext/filters/client_channel/client_channel_factory.h index ce6266c769e..bad8b970425 100644 --- a/src/core/ext/filters/client_channel/client_channel_factory.h +++ b/src/core/ext/filters/client_channel/client_channel_factory.h @@ -27,6 +27,10 @@ // Channel arg key for client channel factory. #define GRPC_ARG_CLIENT_CHANNEL_FACTORY "grpc.client_channel_factory" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_client_channel_factory grpc_client_channel_factory; typedef struct grpc_client_channel_factory_vtable grpc_client_channel_factory_vtable; @@ -74,4 +78,8 @@ grpc_channel *grpc_client_channel_factory_create_channel( grpc_arg grpc_client_channel_factory_create_channel_arg( grpc_client_channel_factory *factory); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/connector.h b/src/core/ext/filters/client_channel/connector.h index 7f3d4a1cc03..79ccb0d9bf0 100644 --- a/src/core/ext/filters/client_channel/connector.h +++ b/src/core/ext/filters/client_channel/connector.h @@ -23,6 +23,10 @@ #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/transport/transport.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_connector grpc_connector; typedef struct grpc_connector_vtable grpc_connector_vtable; @@ -70,4 +74,8 @@ void grpc_connector_connect(grpc_exec_ctx *exec_ctx, grpc_connector *connector, void grpc_connector_shutdown(grpc_exec_ctx *exec_ctx, grpc_connector *connector, grpc_error *why); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CONNECTOR_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CONNECTOR_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/http_connect_handshaker.h b/src/core/ext/filters/client_channel/http_connect_handshaker.h index 928a23dc936..5042c61becd 100644 --- a/src/core/ext/filters/client_channel/http_connect_handshaker.h +++ b/src/core/ext/filters/client_channel/http_connect_handshaker.h @@ -28,7 +28,15 @@ /// seperated by colons. #define GRPC_ARG_HTTP_CONNECT_HEADERS "grpc.http_connect_headers" +#ifdef __cplusplus +extern "C" { +#endif + /// Registers handshaker factory. void grpc_http_connect_register_handshaker_factory(); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_CONNECT_HANDSHAKER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_CONNECT_HANDSHAKER_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/http_proxy.h b/src/core/ext/filters/client_channel/http_proxy.h index 34694931d04..65d52334af2 100644 --- a/src/core/ext/filters/client_channel/http_proxy.h +++ b/src/core/ext/filters/client_channel/http_proxy.h @@ -19,6 +19,14 @@ #ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H #define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H +#ifdef __cplusplus +extern "C" { +#endif + void grpc_register_http_proxy_mapper(); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/lb_policy.h b/src/core/ext/filters/client_channel/lb_policy.h index 645d51e1385..010299c2f4c 100644 --- a/src/core/ext/filters/client_channel/lb_policy.h +++ b/src/core/ext/filters/client_channel/lb_policy.h @@ -23,6 +23,10 @@ #include "src/core/lib/iomgr/polling_entity.h" #include "src/core/lib/transport/connectivity_state.h" +#ifdef __cplusplus +extern "C" { +#endif + /** A load balancing policy: specified by a vtable and a struct (which is expected to be extended to contain some parameters) */ typedef struct grpc_lb_policy grpc_lb_policy; @@ -204,4 +208,8 @@ void grpc_lb_policy_update_locked(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy, const grpc_lb_policy_args *lb_policy_args); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_H */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h index 63ad66c5e9b..c67df609fc2 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h @@ -21,9 +21,17 @@ #include "src/core/ext/filters/client_channel/lb_policy_factory.h" +#ifdef __cplusplus +extern "C" { +#endif + /** Returns a load balancing factory for the glb policy, which tries to connect * to a load balancing server to decide the next successfully connected * subchannel to pick. */ grpc_lb_policy_factory *grpc_glb_lb_factory_create(); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h index 6120bf53f7f..e8599d1f51c 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h @@ -23,6 +23,10 @@ #include "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h" #include "src/core/lib/slice/slice_hash_table.h" +#ifdef __cplusplus +extern "C" { +#endif + /** Create the channel used for communicating with an LB service. * Note that an LB *service* may be comprised of several LB *servers*. * @@ -40,5 +44,9 @@ grpc_channel_args *grpc_lb_policy_grpclb_build_lb_channel_args( grpc_fake_resolver_response_generator *response_generator, const grpc_channel_args *args); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_CHANNEL_H \ */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h index c51e2a431af..b38c076f389 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h @@ -23,6 +23,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_grpclb_client_stats grpc_grpclb_client_stats; typedef struct { @@ -61,5 +65,9 @@ void grpc_grpclb_client_stats_get_locked( void grpc_grpclb_dropped_call_counts_destroy( grpc_grpclb_dropped_call_counts* drop_entries); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_CLIENT_STATS_H \ */ diff --git a/src/core/ext/filters/client_channel/lb_policy_factory.h b/src/core/ext/filters/client_channel/lb_policy_factory.h index cf0f8cb6157..69bcba42323 100644 --- a/src/core/ext/filters/client_channel/lb_policy_factory.h +++ b/src/core/ext/filters/client_channel/lb_policy_factory.h @@ -29,6 +29,10 @@ // Channel arg key for grpc_lb_addresses. #define GRPC_ARG_LB_ADDRESSES "grpc.lb_addresses" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_lb_policy_factory grpc_lb_policy_factory; typedef struct grpc_lb_policy_factory_vtable grpc_lb_policy_factory_vtable; @@ -130,4 +134,8 @@ grpc_lb_policy *grpc_lb_policy_factory_create_lb_policy( grpc_exec_ctx *exec_ctx, grpc_lb_policy_factory *factory, grpc_lb_policy_args *args); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_FACTORY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_FACTORY_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/lb_policy_registry.h b/src/core/ext/filters/client_channel/lb_policy_registry.h index f5995687cf9..0867844c371 100644 --- a/src/core/ext/filters/client_channel/lb_policy_registry.h +++ b/src/core/ext/filters/client_channel/lb_policy_registry.h @@ -22,6 +22,10 @@ #include "src/core/ext/filters/client_channel/lb_policy_factory.h" #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + /** Initialize the registry and set \a default_factory as the factory to be * returned when no name is provided in a lookup */ void grpc_lb_policy_registry_init(void); @@ -37,4 +41,8 @@ void grpc_register_lb_policy(grpc_lb_policy_factory *factory); grpc_lb_policy *grpc_lb_policy_create(grpc_exec_ctx *exec_ctx, const char *name, grpc_lb_policy_args *args); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_REGISTRY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_REGISTRY_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/parse_address.h b/src/core/ext/filters/client_channel/parse_address.h index c90a827da50..742df380b7e 100644 --- a/src/core/ext/filters/client_channel/parse_address.h +++ b/src/core/ext/filters/client_channel/parse_address.h @@ -24,6 +24,10 @@ #include "src/core/ext/filters/client_channel/uri_parser.h" #include "src/core/lib/iomgr/resolve_address.h" +#ifdef __cplusplus +extern "C" { +#endif + /** Populate \a resolved_addr from \a uri, whose path is expected to contain a * unix socket path. Returns true upon success. */ bool grpc_parse_unix(const grpc_uri *uri, grpc_resolved_address *resolved_addr); @@ -45,4 +49,8 @@ bool grpc_parse_ipv4_hostport(const char *hostport, grpc_resolved_address *addr, bool grpc_parse_ipv6_hostport(const char *hostport, grpc_resolved_address *addr, bool log_errors); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PARSE_ADDRESS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PARSE_ADDRESS_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/proxy_mapper.h b/src/core/ext/filters/client_channel/proxy_mapper.h index a13861ccaf9..1325a9f1f62 100644 --- a/src/core/ext/filters/client_channel/proxy_mapper.h +++ b/src/core/ext/filters/client_channel/proxy_mapper.h @@ -25,6 +25,10 @@ #include "src/core/lib/iomgr/resolve_address.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_proxy_mapper grpc_proxy_mapper; typedef struct { @@ -71,4 +75,8 @@ bool grpc_proxy_mapper_map_address(grpc_exec_ctx* exec_ctx, void grpc_proxy_mapper_destroy(grpc_proxy_mapper* mapper); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/proxy_mapper_registry.h b/src/core/ext/filters/client_channel/proxy_mapper_registry.h index 99e54d1a78b..2d389f1c21d 100644 --- a/src/core/ext/filters/client_channel/proxy_mapper_registry.h +++ b/src/core/ext/filters/client_channel/proxy_mapper_registry.h @@ -21,6 +21,10 @@ #include "src/core/ext/filters/client_channel/proxy_mapper.h" +#ifdef __cplusplus +extern "C" { +#endif + void grpc_proxy_mapper_registry_init(); void grpc_proxy_mapper_registry_shutdown(); @@ -41,4 +45,8 @@ bool grpc_proxy_mappers_map_address(grpc_exec_ctx* exec_ctx, grpc_resolved_address** new_address, grpc_channel_args** new_args); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_REGISTRY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_REGISTRY_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/resolver.h b/src/core/ext/filters/client_channel/resolver.h index ae9c8f66fed..73fbbbbc3b1 100644 --- a/src/core/ext/filters/client_channel/resolver.h +++ b/src/core/ext/filters/client_channel/resolver.h @@ -22,6 +22,10 @@ #include "src/core/ext/filters/client_channel/subchannel.h" #include "src/core/lib/iomgr/iomgr.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_resolver grpc_resolver; typedef struct grpc_resolver_vtable grpc_resolver_vtable; @@ -87,4 +91,8 @@ void grpc_resolver_next_locked(grpc_exec_ctx *exec_ctx, grpc_resolver *resolver, grpc_channel_args **result, grpc_closure *on_complete); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_H */ diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h index 386012d2edc..3d4309f2fa3 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h @@ -22,6 +22,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/pollset_set.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_ares_ev_driver grpc_ares_ev_driver; /* Start \a ev_driver. It will keep working until all IO on its ares_channel is @@ -49,5 +53,9 @@ void grpc_ares_ev_driver_destroy(grpc_ares_ev_driver *ev_driver); void grpc_ares_ev_driver_shutdown(grpc_exec_ctx *exec_ctx, grpc_ares_ev_driver *ev_driver); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_DNS_C_ARES_GRPC_ARES_EV_DRIVER_H \ */ diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h index 108333047d3..38fbea9aac8 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h @@ -25,6 +25,10 @@ #include "src/core/lib/iomgr/polling_entity.h" #include "src/core/lib/iomgr/resolve_address.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_ares_request grpc_ares_request; /* Asynchronously resolve \a name. Use \a default_port if a port isn't @@ -65,5 +69,9 @@ grpc_error *grpc_ares_init(void); it has been called the same number of times as grpc_ares_init(). */ void grpc_ares_cleanup(void); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_DNS_C_ARES_GRPC_ARES_WRAPPER_H \ */ diff --git a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h index c084ef2a582..005f5f9417b 100644 --- a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +++ b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h @@ -24,6 +24,10 @@ #define GRPC_ARG_FAKE_RESOLVER_RESPONSE_GENERATOR \ "grpc.fake_resolver.response_generator" +#ifdef __cplusplus +extern "C" { +#endif + void grpc_resolver_fake_init(); // Instances of \a grpc_fake_resolver_response_generator are passed to the @@ -56,5 +60,9 @@ grpc_fake_resolver_response_generator_ref( void grpc_fake_resolver_response_generator_unref( grpc_fake_resolver_response_generator* generator); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_FAKE_FAKE_RESOLVER_H \ */ diff --git a/src/core/ext/filters/client_channel/resolver_factory.h b/src/core/ext/filters/client_channel/resolver_factory.h index 6bd7929d4e2..6e533e32488 100644 --- a/src/core/ext/filters/client_channel/resolver_factory.h +++ b/src/core/ext/filters/client_channel/resolver_factory.h @@ -24,6 +24,10 @@ #include "src/core/ext/filters/client_channel/uri_parser.h" #include "src/core/lib/iomgr/pollset_set.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_resolver_factory grpc_resolver_factory; typedef struct grpc_resolver_factory_vtable grpc_resolver_factory_vtable; @@ -67,4 +71,8 @@ grpc_resolver *grpc_resolver_factory_create_resolver( char *grpc_resolver_factory_get_default_authority( grpc_resolver_factory *factory, grpc_uri *uri); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_FACTORY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_FACTORY_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/resolver_registry.h b/src/core/ext/filters/client_channel/resolver_registry.h index 692490543d4..eb08d887b18 100644 --- a/src/core/ext/filters/client_channel/resolver_registry.h +++ b/src/core/ext/filters/client_channel/resolver_registry.h @@ -22,6 +22,10 @@ #include "src/core/ext/filters/client_channel/resolver_factory.h" #include "src/core/lib/iomgr/pollset_set.h" +#ifdef __cplusplus +extern "C" { +#endif + void grpc_resolver_registry_init(); void grpc_resolver_registry_shutdown(void); @@ -66,4 +70,8 @@ char *grpc_get_default_authority(grpc_exec_ctx *exec_ctx, const char *target); char *grpc_resolver_factory_add_default_prefix_if_needed( grpc_exec_ctx *exec_ctx, const char *target); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_REGISTRY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_REGISTRY_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/retry_throttle.h b/src/core/ext/filters/client_channel/retry_throttle.h index bf99297e988..3b849475b95 100644 --- a/src/core/ext/filters/client_channel/retry_throttle.h +++ b/src/core/ext/filters/client_channel/retry_throttle.h @@ -21,6 +21,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /// Tracks retry throttling data for an individual server name. typedef struct grpc_server_retry_throttle_data grpc_server_retry_throttle_data; @@ -47,4 +51,8 @@ void grpc_retry_throttle_map_shutdown(); grpc_server_retry_throttle_data* grpc_retry_throttle_map_get_data_for_server( const char* server_name, int max_milli_tokens, int milli_token_ratio); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_THROTTLE_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_THROTTLE_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/subchannel.h b/src/core/ext/filters/client_channel/subchannel.h index 51d712f6a78..c67ff97b0ba 100644 --- a/src/core/ext/filters/client_channel/subchannel.h +++ b/src/core/ext/filters/client_channel/subchannel.h @@ -26,6 +26,10 @@ #include "src/core/lib/transport/connectivity_state.h" #include "src/core/lib/transport/metadata.h" +#ifdef __cplusplus +extern "C" { +#endif + // Channel arg containing a grpc_resolved_address to connect to. #define GRPC_ARG_SUBCHANNEL_ADDRESS "grpc.subchannel_address" @@ -188,4 +192,8 @@ const char *grpc_get_subchannel_address_uri_arg(const grpc_channel_args *args); /// Caller is responsible for freeing the string. grpc_arg grpc_create_subchannel_address_arg(const grpc_resolved_address *addr); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_H */ diff --git a/src/core/ext/filters/client_channel/subchannel_index.h b/src/core/ext/filters/client_channel/subchannel_index.h index 92e36d5283c..09bac3592ca 100644 --- a/src/core/ext/filters/client_channel/subchannel_index.h +++ b/src/core/ext/filters/client_channel/subchannel_index.h @@ -21,6 +21,10 @@ #include "src/core/ext/filters/client_channel/subchannel.h" +#ifdef __cplusplus +extern "C" { +#endif + /** \file Provides an index of active subchannels so that they can be shared amongst channels */ @@ -78,4 +82,8 @@ void grpc_subchannel_index_unref(void); * force_creation set. */ void grpc_subchannel_index_test_only_set_force_creation(bool force_creation); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_INDEX_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_INDEX_H */ \ No newline at end of file diff --git a/src/core/ext/filters/client_channel/uri_parser.h b/src/core/ext/filters/client_channel/uri_parser.h index 05ca2e00e48..43e8ae64e03 100644 --- a/src/core/ext/filters/client_channel/uri_parser.h +++ b/src/core/ext/filters/client_channel/uri_parser.h @@ -22,6 +22,10 @@ #include #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { char *scheme; char *authority; @@ -47,4 +51,8 @@ const char *grpc_uri_get_query_arg(const grpc_uri *uri, const char *key); /** destroy a uri */ void grpc_uri_destroy(grpc_uri *uri); -#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_URI_PARSER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_URI_PARSER_H */ \ No newline at end of file diff --git a/src/core/ext/filters/deadline/deadline_filter.h b/src/core/ext/filters/deadline/deadline_filter.h index 3eb102ad284..f4a1110ee6e 100644 --- a/src/core/ext/filters/deadline/deadline_filter.h +++ b/src/core/ext/filters/deadline/deadline_filter.h @@ -20,6 +20,10 @@ #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/iomgr/timer.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum grpc_deadline_timer_state { GRPC_DEADLINE_STATE_INITIAL, GRPC_DEADLINE_STATE_PENDING, @@ -89,4 +93,8 @@ bool grpc_deadline_checking_enabled(const grpc_channel_args* args); extern const grpc_channel_filter grpc_client_deadline_filter; extern const grpc_channel_filter grpc_server_deadline_filter; -#endif /* GRPC_CORE_EXT_FILTERS_DEADLINE_DEADLINE_FILTER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_DEADLINE_DEADLINE_FILTER_H */ \ No newline at end of file diff --git a/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h b/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h index 65a6d0900ef..65e254eb53f 100644 --- a/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +++ b/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h @@ -23,6 +23,10 @@ #include "src/core/lib/channel/channel_stack.h" +#ifdef __cplusplus +extern "C" { +#endif + /** Identifiers for the invocation point of the users LR callback */ typedef enum grpc_load_reporting_source { GRPC_LR_POINT_UNKNOWN = 0, @@ -55,5 +59,9 @@ typedef struct grpc_load_reporting_call_data { /** Return a \a grpc_arg enabling load reporting */ grpc_arg grpc_load_reporting_enable_arg(); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_LOAD_REPORTING_SERVER_LOAD_REPORTING_PLUGIN_H \ */ diff --git a/src/core/ext/filters/workarounds/workaround_utils.h b/src/core/ext/filters/workarounds/workaround_utils.h index 2ad7a876d57..afd5291333a 100644 --- a/src/core/ext/filters/workarounds/workaround_utils.h +++ b/src/core/ext/filters/workarounds/workaround_utils.h @@ -24,6 +24,10 @@ #define GRPC_WORKAROUND_PRIORITY_HIGH 10001 #define GRPC_WORKAROUND_PROIRITY_LOW 9999 +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_workaround_user_agent_md { bool workaround_active[GRPC_MAX_WORKAROUND_ID]; } grpc_workaround_user_agent_md; @@ -34,4 +38,8 @@ typedef bool (*user_agent_parser)(grpc_mdelem); void grpc_register_workaround(uint32_t id, user_agent_parser parser); -#endif /* GRPC_CORE_EXT_FILTERS_WORKAROUNDS_WORKAROUND_UTILS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_FILTERS_WORKAROUNDS_WORKAROUND_UTILS_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/alpn/alpn.h b/src/core/ext/transport/chttp2/alpn/alpn.h index 379af4b24c2..5842204c204 100644 --- a/src/core/ext/transport/chttp2/alpn/alpn.h +++ b/src/core/ext/transport/chttp2/alpn/alpn.h @@ -21,6 +21,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* Retuns 1 if the version is supported, 0 otherwise. */ int grpc_chttp2_is_alpn_version_supported(const char *version, size_t size); @@ -31,4 +35,8 @@ size_t grpc_chttp2_num_alpn_versions(void); * grpc_chttp2_num_alpn_versions()) */ const char *grpc_chttp2_get_alpn_version_index(size_t i); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_ALPN_ALPN_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_ALPN_ALPN_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/server/chttp2_server.h b/src/core/ext/transport/chttp2/server/chttp2_server.h index ed968496f95..e1df28ed11f 100644 --- a/src/core/ext/transport/chttp2/server/chttp2_server.h +++ b/src/core/ext/transport/chttp2/server/chttp2_server.h @@ -23,10 +23,18 @@ #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + /// Adds a port to \a server. Sets \a port_num to the port number. /// Takes ownership of \a args. grpc_error *grpc_chttp2_server_add_port(grpc_exec_ctx *exec_ctx, grpc_server *server, const char *addr, grpc_channel_args *args, int *port_num); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_SERVER_CHTTP2_SERVER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_SERVER_CHTTP2_SERVER_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/bin_decoder.h b/src/core/ext/transport/chttp2/transport/bin_decoder.h index 047b33d5878..f50e0a8ac42 100644 --- a/src/core/ext/transport/chttp2/transport/bin_decoder.h +++ b/src/core/ext/transport/chttp2/transport/bin_decoder.h @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + struct grpc_base64_decode_context { /* input/output: */ uint8_t *input_cur; @@ -49,4 +53,8 @@ grpc_slice grpc_chttp2_base64_decode_with_length(grpc_exec_ctx *exec_ctx, grpc_slice input, size_t output_length); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_BIN_DECODER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_BIN_DECODER_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/bin_encoder.h b/src/core/ext/transport/chttp2/transport/bin_encoder.h index a8f36a345ad..ae8219c5ced 100644 --- a/src/core/ext/transport/chttp2/transport/bin_encoder.h +++ b/src/core/ext/transport/chttp2/transport/bin_encoder.h @@ -21,6 +21,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* base64 encode a slice. Returns a new slice, does not take ownership of the input */ grpc_slice grpc_chttp2_base64_encode(grpc_slice input); @@ -36,4 +40,8 @@ grpc_slice grpc_chttp2_huffman_compress(grpc_slice input); return y; */ grpc_slice grpc_chttp2_base64_encode_and_huffman_compress(grpc_slice input); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_BIN_ENCODER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_BIN_ENCODER_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.h b/src/core/ext/transport/chttp2/transport/chttp2_transport.h index 55fb1a8343e..321fca4c825 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.h +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.h @@ -23,6 +23,10 @@ #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/transport/transport.h" +#ifdef __cplusplus +extern "C" { +#endif + extern grpc_tracer_flag grpc_http_trace; extern grpc_tracer_flag grpc_flowctl_trace; extern grpc_tracer_flag grpc_trace_http2_stream_state; @@ -41,4 +45,8 @@ void grpc_chttp2_transport_start_reading(grpc_exec_ctx *exec_ctx, grpc_transport *transport, grpc_slice_buffer *read_buffer); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_CHTTP2_TRANSPORT_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame.h b/src/core/ext/transport/chttp2/transport/frame.h index dba4c004eca..e7debdad79a 100644 --- a/src/core/ext/transport/chttp2/transport/frame.h +++ b/src/core/ext/transport/chttp2/transport/frame.h @@ -24,6 +24,10 @@ #include "src/core/lib/iomgr/error.h" +#ifdef __cplusplus +extern "C" { +#endif + /* defined in internal.h */ typedef struct grpc_chttp2_stream grpc_chttp2_stream; typedef struct grpc_chttp2_transport grpc_chttp2_transport; @@ -43,4 +47,8 @@ typedef struct grpc_chttp2_transport grpc_chttp2_transport; #define GRPC_CHTTP2_DATA_FLAG_PADDED 8 #define GRPC_CHTTP2_FLAG_HAS_PRIORITY 0x20 +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_data.h b/src/core/ext/transport/chttp2/transport/frame_data.h index 3f1c7878476..2df99ccf987 100644 --- a/src/core/ext/transport/chttp2/transport/frame_data.h +++ b/src/core/ext/transport/chttp2/transport/frame_data.h @@ -28,6 +28,10 @@ #include "src/core/lib/transport/byte_stream.h" #include "src/core/lib/transport/transport.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { GRPC_CHTTP2_DATA_FH_0, GRPC_CHTTP2_DATA_FH_1, @@ -80,4 +84,8 @@ grpc_error *grpc_deframe_unprocessed_incoming_frames( grpc_slice_buffer *slices, grpc_slice *slice_out, grpc_byte_stream **stream_out); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_DATA_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_DATA_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/frame_goaway.h b/src/core/ext/transport/chttp2/transport/frame_goaway.h index abc48f30c6c..ce6f18b35c3 100644 --- a/src/core/ext/transport/chttp2/transport/frame_goaway.h +++ b/src/core/ext/transport/chttp2/transport/frame_goaway.h @@ -25,6 +25,10 @@ #include "src/core/ext/transport/chttp2/transport/frame.h" #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { GRPC_CHTTP2_GOAWAY_LSI0, GRPC_CHTTP2_GOAWAY_LSI1, @@ -60,4 +64,8 @@ void grpc_chttp2_goaway_append(uint32_t last_stream_id, uint32_t error_code, grpc_slice debug_data, grpc_slice_buffer *slice_buffer); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_GOAWAY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_GOAWAY_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/frame_ping.h b/src/core/ext/transport/chttp2/transport/frame_ping.h index 5969ace9bdd..91f16f050fb 100644 --- a/src/core/ext/transport/chttp2/transport/frame_ping.h +++ b/src/core/ext/transport/chttp2/transport/frame_ping.h @@ -23,6 +23,10 @@ #include "src/core/ext/transport/chttp2/transport/frame.h" #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { uint8_t byte; uint8_t is_ack; @@ -41,4 +45,8 @@ grpc_error *grpc_chttp2_ping_parser_parse(grpc_exec_ctx *exec_ctx, void *parser, /* Test-only function for disabling ping ack */ void grpc_set_disable_ping_ack(bool disable_ping_ack); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_PING_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_PING_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/frame_rst_stream.h b/src/core/ext/transport/chttp2/transport/frame_rst_stream.h index d088221b526..bdca064a917 100644 --- a/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +++ b/src/core/ext/transport/chttp2/transport/frame_rst_stream.h @@ -24,6 +24,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/transport.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { uint8_t byte; uint8_t reason_bytes[4]; @@ -40,4 +44,8 @@ grpc_error *grpc_chttp2_rst_stream_parser_parse(grpc_exec_ctx *exec_ctx, grpc_chttp2_stream *s, grpc_slice slice, int is_last); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_RST_STREAM_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_RST_STREAM_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/frame_settings.h b/src/core/ext/transport/chttp2/transport/frame_settings.h index 47479d675d2..f0793f0e737 100644 --- a/src/core/ext/transport/chttp2/transport/frame_settings.h +++ b/src/core/ext/transport/chttp2/transport/frame_settings.h @@ -25,6 +25,10 @@ #include "src/core/ext/transport/chttp2/transport/http2_settings.h" #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { GRPC_CHTTP2_SPS_ID0, GRPC_CHTTP2_SPS_ID1, @@ -58,4 +62,8 @@ grpc_error *grpc_chttp2_settings_parser_parse(grpc_exec_ctx *exec_ctx, grpc_chttp2_stream *s, grpc_slice slice, int is_last); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_SETTINGS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_SETTINGS_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/frame_window_update.h b/src/core/ext/transport/chttp2/transport/frame_window_update.h index 698da4e351f..29cf0cc740a 100644 --- a/src/core/ext/transport/chttp2/transport/frame_window_update.h +++ b/src/core/ext/transport/chttp2/transport/frame_window_update.h @@ -24,6 +24,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/transport.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { uint8_t byte; uint8_t is_connection_update; @@ -39,4 +43,8 @@ grpc_error *grpc_chttp2_window_update_parser_parse( grpc_exec_ctx *exec_ctx, void *parser, grpc_chttp2_transport *t, grpc_chttp2_stream *s, grpc_slice slice, int is_last); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_WINDOW_UPDATE_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_WINDOW_UPDATE_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/hpack_encoder.h b/src/core/ext/transport/chttp2/transport/hpack_encoder.h index 271192f8947..dc28b5566a6 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_encoder.h +++ b/src/core/ext/transport/chttp2/transport/hpack_encoder.h @@ -34,6 +34,10 @@ /* maximum table size we'll actually use */ #define GRPC_CHTTP2_HPACKC_MAX_TABLE_SIZE (1024 * 1024) +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { uint32_t filter_elems_sum; uint32_t max_table_size; @@ -91,4 +95,8 @@ void grpc_chttp2_encode_header(grpc_exec_ctx *exec_ctx, const grpc_encode_header_options *options, grpc_slice_buffer *outbuf); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_ENCODER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_ENCODER_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/hpack_parser.h b/src/core/ext/transport/chttp2/transport/hpack_parser.h index 8fbc6a602ba..6c36ebdf8d1 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_parser.h +++ b/src/core/ext/transport/chttp2/transport/hpack_parser.h @@ -27,6 +27,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/metadata.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_chttp2_hpack_parser grpc_chttp2_hpack_parser; typedef grpc_error *(*grpc_chttp2_hpack_parser_state)( @@ -111,4 +115,8 @@ grpc_error *grpc_chttp2_header_parser_parse(grpc_exec_ctx *exec_ctx, grpc_chttp2_stream *s, grpc_slice slice, int is_last); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_PARSER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_PARSER_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/hpack_table.h b/src/core/ext/transport/chttp2/transport/hpack_table.h index 2cf8f685063..a3ce2730a89 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_table.h +++ b/src/core/ext/transport/chttp2/transport/hpack_table.h @@ -24,6 +24,10 @@ #include "src/core/lib/iomgr/error.h" #include "src/core/lib/transport/metadata.h" +#ifdef __cplusplus +extern "C" { +#endif + /* HPACK header table */ /* last index in the static table */ @@ -94,4 +98,8 @@ typedef struct { grpc_chttp2_hptbl_find_result grpc_chttp2_hptbl_find( const grpc_chttp2_hptbl *tbl, grpc_mdelem md); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_TABLE_H */ diff --git a/src/core/ext/transport/chttp2/transport/http2_settings.h b/src/core/ext/transport/chttp2/transport/http2_settings.h index 706dfc3139f..01e80b8d014 100644 --- a/src/core/ext/transport/chttp2/transport/http2_settings.h +++ b/src/core/ext/transport/chttp2/transport/http2_settings.h @@ -35,6 +35,10 @@ typedef enum { } grpc_chttp2_setting_id; #define GRPC_CHTTP2_NUM_SETTINGS 7 + +#ifdef __cplusplus +extern "C" { +#endif extern const uint16_t grpc_setting_id_to_wire_id[]; bool grpc_wire_id_to_setting_id(uint32_t wire_id, grpc_chttp2_setting_id *out); @@ -56,4 +60,8 @@ typedef struct { extern const grpc_chttp2_setting_parameters grpc_chttp2_settings_parameters[GRPC_CHTTP2_NUM_SETTINGS]; -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HTTP2_SETTINGS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HTTP2_SETTINGS_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/incoming_metadata.h b/src/core/ext/transport/chttp2/transport/incoming_metadata.h index a951d8764c4..9ffcabd0b93 100644 --- a/src/core/ext/transport/chttp2/transport/incoming_metadata.h +++ b/src/core/ext/transport/chttp2/transport/incoming_metadata.h @@ -21,6 +21,10 @@ #include "src/core/lib/transport/transport.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { gpr_arena *arena; grpc_metadata_batch batch; @@ -45,4 +49,8 @@ grpc_error *grpc_chttp2_incoming_metadata_buffer_replace_or_add( void grpc_chttp2_incoming_metadata_buffer_set_deadline( grpc_chttp2_incoming_metadata_buffer *buffer, gpr_timespec deadline); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_INCOMING_METADATA_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_INCOMING_METADATA_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h index 49022155aab..96af18f1d18 100644 --- a/src/core/ext/transport/chttp2/transport/internal.h +++ b/src/core/ext/transport/chttp2/transport/internal.h @@ -42,6 +42,10 @@ #include "src/core/lib/transport/pid_controller.h" #include "src/core/lib/transport/transport_impl.h" +#ifdef __cplusplus +extern "C" { +#endif + /* streams are kept in various linked lists depending on what things need to happen to them... this enum labels each list */ typedef enum { @@ -908,4 +912,8 @@ void grpc_chttp2_fail_pending_writes(grpc_exec_ctx *exec_ctx, void grpc_chttp2_config_default_keepalive_args(grpc_channel_args *args, bool is_client); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_INTERNAL_H */ diff --git a/src/core/ext/transport/chttp2/transport/stream_map.h b/src/core/ext/transport/chttp2/transport/stream_map.h index 30c50ba32e2..364d37c33af 100644 --- a/src/core/ext/transport/chttp2/transport/stream_map.h +++ b/src/core/ext/transport/chttp2/transport/stream_map.h @@ -23,6 +23,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* Data structure to map a uint32_t to a data object (represented by a void*) Represented as a sorted array of keys, and a corresponding array of values. @@ -65,4 +69,8 @@ void grpc_chttp2_stream_map_for_each(grpc_chttp2_stream_map *map, void *value), void *user_data); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_STREAM_MAP_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_STREAM_MAP_H */ \ No newline at end of file diff --git a/src/core/ext/transport/chttp2/transport/varint.h b/src/core/ext/transport/chttp2/transport/varint.h index 5a2b670f065..d3a9d902c42 100644 --- a/src/core/ext/transport/chttp2/transport/varint.h +++ b/src/core/ext/transport/chttp2/transport/varint.h @@ -21,6 +21,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* Helpers for hpack varint encoding */ /* length of a value that needs varint tail encoding (it's bigger than can be @@ -57,4 +61,8 @@ void grpc_chttp2_hpack_write_varint_tail(uint32_t tail_value, uint8_t* target, } \ } while (0) +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_VARINT_H */ diff --git a/src/core/ext/transport/cronet/transport/cronet_transport.h b/src/core/ext/transport/cronet/transport/cronet_transport.h index 3bd4249b793..c473afa100b 100644 --- a/src/core/ext/transport/cronet/transport/cronet_transport.h +++ b/src/core/ext/transport/cronet/transport/cronet_transport.h @@ -21,8 +21,16 @@ #include "src/core/lib/transport/transport.h" +#ifdef __cplusplus +extern "C" { +#endif + grpc_transport *grpc_create_cronet_transport(void *engine, const char *target, const grpc_channel_args *args, void *reserved); -#endif /* GRPC_CORE_EXT_TRANSPORT_CRONET_TRANSPORT_CRONET_TRANSPORT_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_EXT_TRANSPORT_CRONET_TRANSPORT_CRONET_TRANSPORT_H */ \ No newline at end of file diff --git a/src/core/lib/channel/channel_args.h b/src/core/lib/channel/channel_args.h index 0599e189c35..2837174f491 100644 --- a/src/core/lib/channel/channel_args.h +++ b/src/core/lib/channel/channel_args.h @@ -23,6 +23,10 @@ #include #include "src/core/lib/iomgr/socket_mutator.h" +#ifdef __cplusplus +extern "C" { +#endif + // Channel args are intentionally immutable, to avoid the need for locking. /** Copy the arguments in \a src into a new instance */ @@ -149,4 +153,8 @@ grpc_arg grpc_channel_arg_integer_create(char *name, int value); grpc_arg grpc_channel_arg_pointer_create(char *name, void *value, const grpc_arg_pointer_vtable *vtable); -#endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_ARGS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_ARGS_H */ \ No newline at end of file diff --git a/src/core/lib/channel/connected_channel.h b/src/core/lib/channel/connected_channel.h index 10c98cce54a..b55a1089a00 100644 --- a/src/core/lib/channel/connected_channel.h +++ b/src/core/lib/channel/connected_channel.h @@ -21,6 +21,10 @@ #include "src/core/lib/channel/channel_stack_builder.h" +#ifdef __cplusplus +extern "C" { +#endif + extern const grpc_channel_filter grpc_connected_filter; bool grpc_add_connected_filter(grpc_exec_ctx *exec_ctx, @@ -30,4 +34,8 @@ bool grpc_add_connected_filter(grpc_exec_ctx *exec_ctx, /* Debug helper to dig the transport stream out of a call element */ grpc_stream *grpc_connected_channel_get_stream(grpc_call_element *elem); -#endif /* GRPC_CORE_LIB_CHANNEL_CONNECTED_CHANNEL_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_CHANNEL_CONNECTED_CHANNEL_H */ \ No newline at end of file diff --git a/src/core/lib/channel/handshaker.h b/src/core/lib/channel/handshaker.h index eb9a59bd082..a857cde7914 100644 --- a/src/core/lib/channel/handshaker.h +++ b/src/core/lib/channel/handshaker.h @@ -26,6 +26,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/tcp_server.h" +#ifdef __cplusplus +extern "C" { +#endif + /// Handshakers are used to perform initial handshakes on a connection /// before the client sends the initial request. Some examples of what /// a handshaker can be used for includes support for HTTP CONNECT on @@ -164,4 +168,8 @@ void grpc_handshake_manager_pending_list_remove(grpc_handshake_manager** head, void grpc_handshake_manager_pending_list_shutdown_all( grpc_exec_ctx* exec_ctx, grpc_handshake_manager* head, grpc_error* why); -#endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_H */ \ No newline at end of file diff --git a/src/core/lib/channel/handshaker_factory.h b/src/core/lib/channel/handshaker_factory.h index 6238e735dc5..2a130de252a 100644 --- a/src/core/lib/channel/handshaker_factory.h +++ b/src/core/lib/channel/handshaker_factory.h @@ -24,6 +24,10 @@ #include "src/core/lib/channel/handshaker.h" #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + // A handshaker factory is used to create handshakers. typedef struct grpc_handshaker_factory grpc_handshaker_factory; @@ -48,4 +52,8 @@ void grpc_handshaker_factory_add_handshakers( void grpc_handshaker_factory_destroy( grpc_exec_ctx *exec_ctx, grpc_handshaker_factory *handshaker_factory); -#endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_FACTORY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_FACTORY_H */ \ No newline at end of file diff --git a/src/core/lib/channel/handshaker_registry.h b/src/core/lib/channel/handshaker_registry.h index a3b2ac1dc73..e96bf06b6af 100644 --- a/src/core/lib/channel/handshaker_registry.h +++ b/src/core/lib/channel/handshaker_registry.h @@ -24,6 +24,10 @@ #include "src/core/lib/channel/handshaker_factory.h" #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { HANDSHAKER_CLIENT = 0, HANDSHAKER_SERVER, @@ -45,4 +49,8 @@ void grpc_handshakers_add(grpc_exec_ctx* exec_ctx, const grpc_channel_args* args, grpc_handshake_manager* handshake_mgr); -#endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_REGISTRY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_REGISTRY_H */ \ No newline at end of file diff --git a/src/core/lib/compression/algorithm_metadata.h b/src/core/lib/compression/algorithm_metadata.h index 08feafc1bbe..3eb7088230b 100644 --- a/src/core/lib/compression/algorithm_metadata.h +++ b/src/core/lib/compression/algorithm_metadata.h @@ -22,6 +22,10 @@ #include #include "src/core/lib/transport/metadata.h" +#ifdef __cplusplus +extern "C" { +#endif + /** Return compression algorithm based metadata value */ grpc_slice grpc_compression_algorithm_slice( grpc_compression_algorithm algorithm); @@ -49,4 +53,8 @@ grpc_compression_algorithm grpc_compression_algorithm_from_slice( grpc_stream_compression_algorithm grpc_stream_compression_algorithm_from_slice( grpc_slice str); -#endif /* GRPC_CORE_LIB_COMPRESSION_ALGORITHM_METADATA_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_COMPRESSION_ALGORITHM_METADATA_H */ \ No newline at end of file diff --git a/src/core/lib/compression/message_compress.h b/src/core/lib/compression/message_compress.h index ca8ca37f8e3..d2545a02c2e 100644 --- a/src/core/lib/compression/message_compress.h +++ b/src/core/lib/compression/message_compress.h @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + /* compress 'input' to 'output' using 'algorithm'. On success, appends compressed slices to output and returns 1. On failure, appends uncompressed slices to output and returns 0. */ @@ -36,4 +40,8 @@ int grpc_msg_decompress(grpc_exec_ctx* exec_ctx, grpc_compression_algorithm algorithm, grpc_slice_buffer* input, grpc_slice_buffer* output); -#endif /* GRPC_CORE_LIB_COMPRESSION_MESSAGE_COMPRESS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_COMPRESSION_MESSAGE_COMPRESS_H */ \ No newline at end of file diff --git a/src/core/lib/compression/stream_compression.h b/src/core/lib/compression/stream_compression.h index 6d073280faa..901f9357ee0 100644 --- a/src/core/lib/compression/stream_compression.h +++ b/src/core/lib/compression/stream_compression.h @@ -24,6 +24,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + #include "src/core/lib/transport/static_metadata.h" typedef struct grpc_stream_compression_vtable grpc_stream_compression_vtable; @@ -111,4 +115,8 @@ void grpc_stream_compression_context_destroy( int grpc_stream_compression_method_parse( grpc_slice value, bool is_compress, grpc_stream_compression_method *method); +#ifdef __cplusplus +} +#endif + #endif diff --git a/src/core/lib/debug/stats.h b/src/core/lib/debug/stats.h index 09d190d4883..fec1d651e6a 100644 --- a/src/core/lib/debug/stats.h +++ b/src/core/lib/debug/stats.h @@ -23,6 +23,10 @@ #include "src/core/lib/debug/stats_data.h" #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_stats_data { gpr_atm counters[GRPC_STATS_COUNTER_COUNT]; gpr_atm histograms[GRPC_STATS_HISTOGRAM_BUCKETS]; @@ -58,4 +62,8 @@ double grpc_stats_histo_percentile(const grpc_stats_data *data, size_t grpc_stats_histo_count(const grpc_stats_data *data, grpc_stats_histograms histogram); +#ifdef __cplusplus +} +#endif + #endif diff --git a/src/core/lib/debug/stats_data.h b/src/core/lib/debug/stats_data.h index 28dab00117b..cf5bafbd047 100644 --- a/src/core/lib/debug/stats_data.h +++ b/src/core/lib/debug/stats_data.h @@ -24,6 +24,10 @@ #include #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED, GRPC_STATS_COUNTER_SERVER_CALLS_CREATED, @@ -467,4 +471,8 @@ extern const int *const grpc_stats_histo_bucket_boundaries[13]; extern void (*const grpc_stats_inc_histogram[13])(grpc_exec_ctx *exec_ctx, int x); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_DEBUG_STATS_DATA_H */ diff --git a/src/core/lib/debug/trace.h b/src/core/lib/debug/trace.h index 64f2e3fc331..558ba942bbb 100644 --- a/src/core/lib/debug/trace.h +++ b/src/core/lib/debug/trace.h @@ -23,6 +23,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + #if defined(__has_feature) #if __has_feature(thread_sanitizer) #define GRPC_THREADSAFE_TRACER @@ -52,4 +56,8 @@ void grpc_register_tracer(grpc_tracer_flag *flag); void grpc_tracer_init(const char *env_var_name); void grpc_tracer_shutdown(void); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_DEBUG_TRACE_H */ diff --git a/src/core/lib/http/format_request.h b/src/core/lib/http/format_request.h index 12b42e42fa6..a559aac6603 100644 --- a/src/core/lib/http/format_request.h +++ b/src/core/lib/http/format_request.h @@ -22,6 +22,10 @@ #include #include "src/core/lib/http/httpcli.h" +#ifdef __cplusplus +extern "C" { +#endif + grpc_slice grpc_httpcli_format_get_request(const grpc_httpcli_request *request); grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request *request, const char *body_bytes, @@ -29,4 +33,8 @@ grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request *request, grpc_slice grpc_httpcli_format_connect_request( const grpc_httpcli_request *request); -#endif /* GRPC_CORE_LIB_HTTP_FORMAT_REQUEST_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_HTTP_FORMAT_REQUEST_H */ \ No newline at end of file diff --git a/src/core/lib/http/httpcli.h b/src/core/lib/http/httpcli.h index 809618695e4..630481da540 100644 --- a/src/core/lib/http/httpcli.h +++ b/src/core/lib/http/httpcli.h @@ -32,6 +32,10 @@ /* User agent this library reports */ #define GRPC_HTTPCLI_USER_AGENT "grpc-httpcli/0.0" +#ifdef __cplusplus +extern "C" { +#endif + /* Tracks in-progress http requests TODO(ctiller): allow caching and capturing multiple requests for the same content and combining them */ @@ -123,4 +127,8 @@ typedef int (*grpc_httpcli_post_override)( void grpc_httpcli_set_override(grpc_httpcli_get_override get, grpc_httpcli_post_override post); -#endif /* GRPC_CORE_LIB_HTTP_HTTPCLI_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_HTTP_HTTPCLI_H */ \ No newline at end of file diff --git a/src/core/lib/http/parser.h b/src/core/lib/http/parser.h index c8dced39019..5484948bea8 100644 --- a/src/core/lib/http/parser.h +++ b/src/core/lib/http/parser.h @@ -27,6 +27,10 @@ /* Maximum length of a header string of the form 'Key: Value\r\n' */ #define GRPC_HTTP_PARSER_MAX_HEADER_LENGTH 4096 +#ifdef __cplusplus +extern "C" { +#endif + /* A single header to be passed in a request */ typedef struct grpc_http_header { char *key; @@ -109,4 +113,8 @@ void grpc_http_response_destroy(grpc_http_response *response); extern grpc_tracer_flag grpc_http1_trace; -#endif /* GRPC_CORE_LIB_HTTP_PARSER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_HTTP_PARSER_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/call_combiner.h b/src/core/lib/iomgr/call_combiner.h index 5cfb3f0c072..527f84fce04 100644 --- a/src/core/lib/iomgr/call_combiner.h +++ b/src/core/lib/iomgr/call_combiner.h @@ -27,6 +27,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/support/mpscq.h" +#ifdef __cplusplus +extern "C" { +#endif + // A simple, lock-free mechanism for serializing activity related to a // single call. This is similar to a combiner but is more lightweight. // @@ -118,4 +122,8 @@ void grpc_call_combiner_cancel(grpc_exec_ctx* exec_ctx, grpc_call_combiner* call_combiner, grpc_error* error); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_IOMGR_CALL_COMBINER_H */ diff --git a/src/core/lib/iomgr/combiner.h b/src/core/lib/iomgr/combiner.h index 8e0434369d3..10e5fb480db 100644 --- a/src/core/lib/iomgr/combiner.h +++ b/src/core/lib/iomgr/combiner.h @@ -26,6 +26,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/support/mpscq.h" +#ifdef __cplusplus +extern "C" { +#endif + // Provides serialized access to some resource. // Each action queued on a combiner is executed serially in a borrowed thread. // The actual thread executing actions may change over time (but there will only @@ -63,4 +67,8 @@ bool grpc_combiner_continue_exec_ctx(grpc_exec_ctx *exec_ctx); extern grpc_tracer_flag grpc_combiner_trace; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_IOMGR_COMBINER_H */ diff --git a/src/core/lib/iomgr/endpoint.h b/src/core/lib/iomgr/endpoint.h index 8f0523a981c..16ff0ab733e 100644 --- a/src/core/lib/iomgr/endpoint.h +++ b/src/core/lib/iomgr/endpoint.h @@ -26,6 +26,10 @@ #include "src/core/lib/iomgr/pollset_set.h" #include "src/core/lib/iomgr/resource_quota.h" +#ifdef __cplusplus +extern "C" { +#endif + /* An endpoint caps a streaming channel between two communicating processes. Examples may be: a tcp socket, , or some shared memory. */ @@ -95,4 +99,8 @@ struct grpc_endpoint { const grpc_endpoint_vtable *vtable; }; -#endif /* GRPC_CORE_LIB_IOMGR_ENDPOINT_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_ENDPOINT_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/endpoint_pair.h b/src/core/lib/iomgr/endpoint_pair.h index b60e62fc3e2..f8830022f4b 100644 --- a/src/core/lib/iomgr/endpoint_pair.h +++ b/src/core/lib/iomgr/endpoint_pair.h @@ -21,6 +21,10 @@ #include "src/core/lib/iomgr/endpoint.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { grpc_endpoint *client; grpc_endpoint *server; @@ -29,4 +33,8 @@ typedef struct { grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char *name, grpc_channel_args *args); -#endif /* GRPC_CORE_LIB_IOMGR_ENDPOINT_PAIR_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_ENDPOINT_PAIR_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/error_internal.h b/src/core/lib/iomgr/error_internal.h index 75074845575..f718e06d4e5 100644 --- a/src/core/lib/iomgr/error_internal.h +++ b/src/core/lib/iomgr/error_internal.h @@ -24,6 +24,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_linked_error grpc_linked_error; struct grpc_linked_error { @@ -57,4 +61,8 @@ struct grpc_error { bool grpc_error_is_special(grpc_error *err); -#endif /* GRPC_CORE_LIB_IOMGR_ERROR_INTERNAL_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_ERROR_INTERNAL_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/ev_epoll1_linux.h b/src/core/lib/iomgr/ev_epoll1_linux.h index 0696e0df40f..66fd826b495 100644 --- a/src/core/lib/iomgr/ev_epoll1_linux.h +++ b/src/core/lib/iomgr/ev_epoll1_linux.h @@ -22,8 +22,16 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/port.h" +#ifdef __cplusplus +extern "C" { +#endif + // a polling engine that utilizes a singleton epoll set and turnstile polling const grpc_event_engine_vtable *grpc_init_epoll1_linux(bool explicit_request); -#endif /* GRPC_CORE_LIB_IOMGR_EV_EPOLL1_LINUX_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_EV_EPOLL1_LINUX_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/ev_epollex_linux.h b/src/core/lib/iomgr/ev_epollex_linux.h index cff9b43c029..58cc5a24f8f 100644 --- a/src/core/lib/iomgr/ev_epollex_linux.h +++ b/src/core/lib/iomgr/ev_epollex_linux.h @@ -22,7 +22,15 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/port.h" +#ifdef __cplusplus +extern "C" { +#endif + const grpc_event_engine_vtable *grpc_init_epollex_linux( bool explicitly_requested); -#endif /* GRPC_CORE_LIB_IOMGR_EV_EPOLLEX_LINUX_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_EV_EPOLLEX_LINUX_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/ev_epollsig_linux.h b/src/core/lib/iomgr/ev_epollsig_linux.h index 88328682b3e..c04ff27400b 100644 --- a/src/core/lib/iomgr/ev_epollsig_linux.h +++ b/src/core/lib/iomgr/ev_epollsig_linux.h @@ -22,6 +22,10 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/port.h" +#ifdef __cplusplus +extern "C" { +#endif + const grpc_event_engine_vtable *grpc_init_epollsig_linux(bool explicit_request); #ifdef GRPC_LINUX_EPOLL @@ -30,4 +34,8 @@ void *grpc_pollset_get_polling_island(grpc_pollset *ps); bool grpc_are_polling_islands_equal(void *p, void *q); #endif /* defined(GRPC_LINUX_EPOLL) */ +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_IOMGR_EV_EPOLLSIG_LINUX_H */ diff --git a/src/core/lib/iomgr/ev_poll_posix.h b/src/core/lib/iomgr/ev_poll_posix.h index d444e609441..84b68155b5f 100644 --- a/src/core/lib/iomgr/ev_poll_posix.h +++ b/src/core/lib/iomgr/ev_poll_posix.h @@ -21,7 +21,15 @@ #include "src/core/lib/iomgr/ev_posix.h" +#ifdef __cplusplus +extern "C" { +#endif + const grpc_event_engine_vtable *grpc_init_poll_posix(bool explicit_request); const grpc_event_engine_vtable *grpc_init_poll_cv_posix(bool explicit_request); -#endif /* GRPC_CORE_LIB_IOMGR_EV_POLL_POSIX_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_EV_POLL_POSIX_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/ev_posix.h b/src/core/lib/iomgr/ev_posix.h index 1ff2ff14133..5ad1c13ee66 100644 --- a/src/core/lib/iomgr/ev_posix.h +++ b/src/core/lib/iomgr/ev_posix.h @@ -27,6 +27,10 @@ #include "src/core/lib/iomgr/pollset_set.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" +#ifdef __cplusplus +extern "C" { +#endif + extern grpc_tracer_flag grpc_polling_trace; /* Disabled by default */ typedef struct grpc_fd grpc_fd; @@ -158,4 +162,8 @@ extern grpc_poll_function_type grpc_poll_function; void grpc_set_event_engine_test_only(const grpc_event_engine_vtable *); const grpc_event_engine_vtable *grpc_get_event_engine_test_only(); -#endif /* GRPC_CORE_LIB_IOMGR_EV_POSIX_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_EV_POSIX_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/exec_ctx.h b/src/core/lib/iomgr/exec_ctx.h index c89792c8c4f..a93728f0a67 100644 --- a/src/core/lib/iomgr/exec_ctx.h +++ b/src/core/lib/iomgr/exec_ctx.h @@ -22,6 +22,10 @@ #include #include "src/core/lib/iomgr/closure.h" +#ifdef __cplusplus +extern "C" { +#endif + /* #define GRPC_EXECUTION_CONTEXT_SANITIZER 1 */ /** A workqueue represents a list of work to be executed asynchronously. @@ -106,4 +110,8 @@ void grpc_exec_ctx_global_init(void); void grpc_exec_ctx_global_init(void); void grpc_exec_ctx_global_shutdown(void); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_IOMGR_EXEC_CTX_H */ diff --git a/src/core/lib/iomgr/executor.h b/src/core/lib/iomgr/executor.h index 0412c027907..ab3fc901de2 100644 --- a/src/core/lib/iomgr/executor.h +++ b/src/core/lib/iomgr/executor.h @@ -21,6 +21,10 @@ #include "src/core/lib/iomgr/closure.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { GRPC_EXECUTOR_SHORT, GRPC_EXECUTOR_LONG @@ -45,4 +49,8 @@ bool grpc_executor_is_threaded(); grpc_executor_shutdown */ void grpc_executor_set_threading(grpc_exec_ctx *exec_ctx, bool enable); -#endif /* GRPC_CORE_LIB_IOMGR_EXECUTOR_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_EXECUTOR_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/gethostname.h b/src/core/lib/iomgr/gethostname.h index 9c6b9d8d420..4dcf50c591a 100644 --- a/src/core/lib/iomgr/gethostname.h +++ b/src/core/lib/iomgr/gethostname.h @@ -19,8 +19,16 @@ #ifndef GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H #define GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H +#ifdef __cplusplus +extern "C" { +#endif + // Returns the hostname of the local machine. // Caller takes ownership of result. char *grpc_gethostname(); -#endif /* GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/iocp_windows.h b/src/core/lib/iomgr/iocp_windows.h index 9c89e868c5d..341c159501b 100644 --- a/src/core/lib/iomgr/iocp_windows.h +++ b/src/core/lib/iomgr/iocp_windows.h @@ -23,6 +23,10 @@ #include "src/core/lib/iomgr/socket_windows.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { GRPC_IOCP_WORK_WORK, GRPC_IOCP_WORK_TIMEOUT, @@ -37,4 +41,8 @@ void grpc_iocp_flush(void); void grpc_iocp_shutdown(void); void grpc_iocp_add_socket(grpc_winsocket *); -#endif /* GRPC_CORE_LIB_IOMGR_IOCP_WINDOWS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_IOCP_WINDOWS_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/iomgr.h b/src/core/lib/iomgr/iomgr.h index e3cd6ebe79e..fea08496fef 100644 --- a/src/core/lib/iomgr/iomgr.h +++ b/src/core/lib/iomgr/iomgr.h @@ -22,6 +22,10 @@ #include #include "src/core/lib/iomgr/port.h" +#ifdef __cplusplus +extern "C" { +#endif + /** Initializes the iomgr. */ void grpc_iomgr_init(grpc_exec_ctx *exec_ctx); @@ -32,4 +36,8 @@ void grpc_iomgr_start(grpc_exec_ctx *exec_ctx); * exec_ctx. */ void grpc_iomgr_shutdown(grpc_exec_ctx *exec_ctx); -#endif /* GRPC_CORE_LIB_IOMGR_IOMGR_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_IOMGR_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/iomgr_internal.h b/src/core/lib/iomgr/iomgr_internal.h index 836d82515d7..005abbed13e 100644 --- a/src/core/lib/iomgr/iomgr_internal.h +++ b/src/core/lib/iomgr/iomgr_internal.h @@ -23,6 +23,10 @@ #include "src/core/lib/iomgr/iomgr.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_iomgr_object { char *name; struct grpc_iomgr_object *next; @@ -40,4 +44,8 @@ void grpc_iomgr_platform_shutdown(void); bool grpc_iomgr_abort_on_leaks(void); -#endif /* GRPC_CORE_LIB_IOMGR_IOMGR_INTERNAL_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_IOMGR_INTERNAL_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/is_epollexclusive_available.h b/src/core/lib/iomgr/is_epollexclusive_available.h index 1d2e133a3b1..5c3e4830655 100644 --- a/src/core/lib/iomgr/is_epollexclusive_available.h +++ b/src/core/lib/iomgr/is_epollexclusive_available.h @@ -21,6 +21,14 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + bool grpc_is_epollexclusive_available(void); -#endif /* GRPC_CORE_LIB_IOMGR_IS_EPOLLEXCLUSIVE_AVAILABLE_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_IS_EPOLLEXCLUSIVE_AVAILABLE_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/lockfree_event.h b/src/core/lib/iomgr/lockfree_event.h index 6a14a0f3b2b..925f0049458 100644 --- a/src/core/lib/iomgr/lockfree_event.h +++ b/src/core/lib/iomgr/lockfree_event.h @@ -25,6 +25,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + void grpc_lfev_init(gpr_atm *state); void grpc_lfev_destroy(gpr_atm *state); bool grpc_lfev_is_shutdown(gpr_atm *state); @@ -37,4 +41,8 @@ bool grpc_lfev_set_shutdown(grpc_exec_ctx *exec_ctx, gpr_atm *state, void grpc_lfev_set_ready(grpc_exec_ctx *exec_ctx, gpr_atm *state, const char *variable); -#endif /* GRPC_CORE_LIB_IOMGR_LOCKFREE_EVENT_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_LOCKFREE_EVENT_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/network_status_tracker.h b/src/core/lib/iomgr/network_status_tracker.h index c0295c1f74b..af50d51257e 100644 --- a/src/core/lib/iomgr/network_status_tracker.h +++ b/src/core/lib/iomgr/network_status_tracker.h @@ -20,6 +20,10 @@ #define GRPC_CORE_LIB_IOMGR_NETWORK_STATUS_TRACKER_H #include "src/core/lib/iomgr/endpoint.h" +#ifdef __cplusplus +extern "C" { +#endif + void grpc_network_status_init(void); void grpc_network_status_shutdown(void); @@ -27,4 +31,8 @@ void grpc_network_status_register_endpoint(grpc_endpoint *ep); void grpc_network_status_unregister_endpoint(grpc_endpoint *ep); void grpc_network_status_shutdown_all_endpoints(); -#endif /* GRPC_CORE_LIB_IOMGR_NETWORK_STATUS_TRACKER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_NETWORK_STATUS_TRACKER_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/polling_entity.h b/src/core/lib/iomgr/polling_entity.h index a161e1fea6f..4a37acf212f 100644 --- a/src/core/lib/iomgr/polling_entity.h +++ b/src/core/lib/iomgr/polling_entity.h @@ -22,6 +22,10 @@ #include "src/core/lib/iomgr/pollset.h" #include "src/core/lib/iomgr/pollset_set.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum grpc_pollset_tag { GRPC_POLLS_NONE, GRPC_POLLS_POLLSET, @@ -64,4 +68,8 @@ void grpc_polling_entity_add_to_pollset_set(grpc_exec_ctx *exec_ctx, void grpc_polling_entity_del_from_pollset_set(grpc_exec_ctx *exec_ctx, grpc_polling_entity *pollent, grpc_pollset_set *pss_dst); -#endif /* GRPC_CORE_LIB_IOMGR_POLLING_ENTITY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_POLLING_ENTITY_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/pollset.h b/src/core/lib/iomgr/pollset.h index a0f6b3a9d3a..28d63949ea7 100644 --- a/src/core/lib/iomgr/pollset.h +++ b/src/core/lib/iomgr/pollset.h @@ -25,6 +25,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + #ifndef NDEBUG extern grpc_tracer_flag grpc_trace_fd_refcount; #endif @@ -80,4 +84,8 @@ grpc_error *grpc_pollset_kick(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker *specific_worker) GRPC_MUST_USE_RESULT; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_IOMGR_POLLSET_H */ diff --git a/src/core/lib/iomgr/pollset_set.h b/src/core/lib/iomgr/pollset_set.h index 29c0f035610..17df86542dd 100644 --- a/src/core/lib/iomgr/pollset_set.h +++ b/src/core/lib/iomgr/pollset_set.h @@ -21,6 +21,10 @@ #include "src/core/lib/iomgr/pollset.h" +#ifdef __cplusplus +extern "C" { +#endif + /* A grpc_pollset_set is a set of pollsets that are interested in an action. Adding a pollset to a pollset_set automatically adds any fd's (etc) that have been registered with the set_set to that pollset. @@ -44,4 +48,8 @@ void grpc_pollset_set_del_pollset_set(grpc_exec_ctx *exec_ctx, grpc_pollset_set *bag, grpc_pollset_set *item); -#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_SET_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_SET_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/pollset_uv.h b/src/core/lib/iomgr/pollset_uv.h index 566c110ca6c..d8f72ff867b 100644 --- a/src/core/lib/iomgr/pollset_uv.h +++ b/src/core/lib/iomgr/pollset_uv.h @@ -19,9 +19,17 @@ #ifndef GRPC_CORE_LIB_IOMGR_POLLSET_UV_H #define GRPC_CORE_LIB_IOMGR_POLLSET_UV_H +#ifdef __cplusplus +extern "C" { +#endif + extern int grpc_pollset_work_run_loop; void grpc_pollset_global_init(void); void grpc_pollset_global_shutdown(void); -#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_UV_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_UV_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/pollset_windows.h b/src/core/lib/iomgr/pollset_windows.h index 71878c3d300..7733d26471c 100644 --- a/src/core/lib/iomgr/pollset_windows.h +++ b/src/core/lib/iomgr/pollset_windows.h @@ -23,6 +23,10 @@ #include "src/core/lib/iomgr/socket_windows.h" +#ifdef __cplusplus +extern "C" { +#endif + /* There isn't really any such thing as a pollset under Windows, due to the nature of the IO completion ports. A Windows "pollset" is merely a mutex used to synchronize with the IOCP, and workers are condition variables @@ -60,4 +64,8 @@ struct grpc_pollset { void grpc_pollset_global_init(void); void grpc_pollset_global_shutdown(void); -#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_WINDOWS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_WINDOWS_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/resolve_address.h b/src/core/lib/iomgr/resolve_address.h index fe1dd785769..4a6df2cf264 100644 --- a/src/core/lib/iomgr/resolve_address.h +++ b/src/core/lib/iomgr/resolve_address.h @@ -25,6 +25,10 @@ #define GRPC_MAX_SOCKADDR_SIZE 128 +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { char addr[GRPC_MAX_SOCKADDR_SIZE]; size_t len; @@ -52,4 +56,8 @@ extern grpc_error *(*grpc_blocking_resolve_address)( const char *name, const char *default_port, grpc_resolved_addresses **addresses); -#endif /* GRPC_CORE_LIB_IOMGR_RESOLVE_ADDRESS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_RESOLVE_ADDRESS_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/resource_quota.h b/src/core/lib/iomgr/resource_quota.h index d66f9ae774d..3afb5254349 100644 --- a/src/core/lib/iomgr/resource_quota.h +++ b/src/core/lib/iomgr/resource_quota.h @@ -24,6 +24,10 @@ #include "src/core/lib/debug/trace.h" #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + /** \file Tracks resource usage against a pool. The current implementation tracks only memory usage, but in the future @@ -150,4 +154,8 @@ grpc_slice grpc_resource_user_slice_malloc(grpc_exec_ctx *exec_ctx, grpc_resource_user *resource_user, size_t size); -#endif /* GRPC_CORE_LIB_IOMGR_RESOURCE_QUOTA_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_RESOURCE_QUOTA_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/sockaddr_utils.h b/src/core/lib/iomgr/sockaddr_utils.h index a589a197054..129bb54fc9e 100644 --- a/src/core/lib/iomgr/sockaddr_utils.h +++ b/src/core/lib/iomgr/sockaddr_utils.h @@ -21,6 +21,10 @@ #include "src/core/lib/iomgr/resolve_address.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Returns true if addr is an IPv4-mapped IPv6 address within the ::ffff:0.0.0.0/96 range, or false otherwise. @@ -77,4 +81,8 @@ const char *grpc_sockaddr_get_uri_scheme(const grpc_resolved_address *addr); int grpc_sockaddr_get_family(const grpc_resolved_address *resolved_addr); -#endif /* GRPC_CORE_LIB_IOMGR_SOCKADDR_UTILS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_SOCKADDR_UTILS_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/socket_utils.h b/src/core/lib/iomgr/socket_utils.h index 03fe46e5e91..f319e931b61 100644 --- a/src/core/lib/iomgr/socket_utils.h +++ b/src/core/lib/iomgr/socket_utils.h @@ -21,7 +21,15 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* A wrapper for inet_ntop on POSIX systems and InetNtop on Windows systems */ const char *grpc_inet_ntop(int af, const void *src, char *dst, size_t size); -#endif /* GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/socket_utils_posix.h b/src/core/lib/iomgr/socket_utils_posix.h index eef80b439e8..623b83f08b1 100644 --- a/src/core/lib/iomgr/socket_utils_posix.h +++ b/src/core/lib/iomgr/socket_utils_posix.h @@ -29,6 +29,10 @@ #include "src/core/lib/iomgr/socket_factory_posix.h" #include "src/core/lib/iomgr/socket_mutator.h" +#ifdef __cplusplus +extern "C" { +#endif + /* a wrapper for accept or accept4 */ int grpc_accept4(int sockfd, grpc_resolved_address *resolved_addr, int nonblock, int cloexec); @@ -129,4 +133,8 @@ grpc_error *grpc_create_dualstack_socket_using_factory( grpc_socket_factory *factory, const grpc_resolved_address *addr, int type, int protocol, grpc_dualstack_mode *dsmode, int *newfd); -#endif /* GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_POSIX_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_POSIX_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/socket_windows.h b/src/core/lib/iomgr/socket_windows.h index 67dc4ca53e9..a00a7615a37 100644 --- a/src/core/lib/iomgr/socket_windows.h +++ b/src/core/lib/iomgr/socket_windows.h @@ -28,6 +28,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/iomgr_internal.h" +#ifdef __cplusplus +extern "C" { +#endif + /* This holds the data for an outstanding read or write on a socket. The mutex to protect the concurrent access to that data is the one inside the winsocket wrapper. */ @@ -107,4 +111,8 @@ void grpc_socket_become_ready(grpc_exec_ctx *exec_ctx, grpc_winsocket *winsocket, grpc_winsocket_callback_info *ci); -#endif /* GRPC_CORE_LIB_IOMGR_SOCKET_WINDOWS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_SOCKET_WINDOWS_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/tcp_client.h b/src/core/lib/iomgr/tcp_client.h index 6c9e51ae843..18cf6114f2d 100644 --- a/src/core/lib/iomgr/tcp_client.h +++ b/src/core/lib/iomgr/tcp_client.h @@ -25,6 +25,10 @@ #include "src/core/lib/iomgr/pollset_set.h" #include "src/core/lib/iomgr/resolve_address.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Asynchronously connect to an address (specified as (addr, len)), and call cb with arg and the completed connection when done (or call cb with arg and NULL on failure). @@ -37,4 +41,8 @@ void grpc_tcp_client_connect(grpc_exec_ctx *exec_ctx, grpc_closure *on_connect, const grpc_resolved_address *addr, gpr_timespec deadline); -#endif /* GRPC_CORE_LIB_IOMGR_TCP_CLIENT_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_TCP_CLIENT_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/tcp_client_posix.h b/src/core/lib/iomgr/tcp_client_posix.h index b5a3814799e..0b9775504ca 100644 --- a/src/core/lib/iomgr/tcp_client_posix.h +++ b/src/core/lib/iomgr/tcp_client_posix.h @@ -23,8 +23,16 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/tcp_client.h" +#ifdef __cplusplus +extern "C" { +#endif + grpc_endpoint *grpc_tcp_client_create_from_fd( grpc_exec_ctx *exec_ctx, grpc_fd *fd, const grpc_channel_args *channel_args, const char *addr_str); -#endif /* GRPC_CORE_LIB_IOMGR_TCP_CLIENT_POSIX_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_TCP_CLIENT_POSIX_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/tcp_posix.h b/src/core/lib/iomgr/tcp_posix.h index 6831a4a57fd..dda78b2f8e1 100644 --- a/src/core/lib/iomgr/tcp_posix.h +++ b/src/core/lib/iomgr/tcp_posix.h @@ -33,6 +33,10 @@ #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/ev_posix.h" +#ifdef __cplusplus +extern "C" { +#endif + extern grpc_tracer_flag grpc_tcp_trace; /* Create a tcp endpoint given a file desciptor and a read slice size. @@ -53,4 +57,8 @@ int grpc_tcp_fd(grpc_endpoint *ep); void grpc_tcp_destroy_and_release_fd(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep, int *fd, grpc_closure *done); -#endif /* GRPC_CORE_LIB_IOMGR_TCP_POSIX_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_TCP_POSIX_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/tcp_server.h b/src/core/lib/iomgr/tcp_server.h index 8a126b6dee7..3f190ac2853 100644 --- a/src/core/lib/iomgr/tcp_server.h +++ b/src/core/lib/iomgr/tcp_server.h @@ -25,6 +25,10 @@ #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/resolve_address.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Forward decl of grpc_tcp_server */ typedef struct grpc_tcp_server grpc_tcp_server; @@ -98,4 +102,8 @@ void grpc_tcp_server_unref(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s); void grpc_tcp_server_shutdown_listeners(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s); -#endif /* GRPC_CORE_LIB_IOMGR_TCP_SERVER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_TCP_SERVER_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/tcp_server_utils_posix.h b/src/core/lib/iomgr/tcp_server_utils_posix.h index 85dea515d92..4bb0660f091 100644 --- a/src/core/lib/iomgr/tcp_server_utils_posix.h +++ b/src/core/lib/iomgr/tcp_server_utils_posix.h @@ -24,6 +24,10 @@ #include "src/core/lib/iomgr/socket_utils_posix.h" #include "src/core/lib/iomgr/tcp_server.h" +#ifdef __cplusplus +extern "C" { +#endif + /* one listening port */ typedef struct grpc_tcp_listener { int fd; @@ -117,4 +121,8 @@ grpc_error *grpc_tcp_server_prepare_socket(int fd, /* Ruturn true if the platform supports ifaddrs */ bool grpc_tcp_server_have_ifaddrs(void); -#endif /* GRPC_CORE_LIB_IOMGR_TCP_SERVER_UTILS_POSIX_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_TCP_SERVER_UTILS_POSIX_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/tcp_uv.h b/src/core/lib/iomgr/tcp_uv.h index 0e67481d357..ba7db8a0f7f 100644 --- a/src/core/lib/iomgr/tcp_uv.h +++ b/src/core/lib/iomgr/tcp_uv.h @@ -38,8 +38,16 @@ extern grpc_tracer_flag grpc_tcp_trace; #define GRPC_TCP_DEFAULT_READ_SLICE_SIZE 8192 +#ifdef __cplusplus +extern "C" { +#endif + grpc_endpoint *grpc_tcp_create(uv_tcp_t *handle, grpc_resource_quota *resource_quota, char *peer_string); -#endif /* GRPC_CORE_LIB_IOMGR_TCP_UV_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_TCP_UV_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/tcp_windows.h b/src/core/lib/iomgr/tcp_windows.h index 864184ce84a..1c935da2a21 100644 --- a/src/core/lib/iomgr/tcp_windows.h +++ b/src/core/lib/iomgr/tcp_windows.h @@ -32,6 +32,10 @@ #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/socket_windows.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Create a tcp endpoint given a winsock handle. * Takes ownership of the handle. */ @@ -41,4 +45,8 @@ grpc_endpoint *grpc_tcp_create(grpc_exec_ctx *exec_ctx, grpc_winsocket *socket, grpc_error *grpc_tcp_prepare_socket(SOCKET sock); -#endif /* GRPC_CORE_LIB_IOMGR_TCP_WINDOWS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_TCP_WINDOWS_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/time_averaged_stats.h b/src/core/lib/iomgr/time_averaged_stats.h index 8745f7fa13f..e255b58feeb 100644 --- a/src/core/lib/iomgr/time_averaged_stats.h +++ b/src/core/lib/iomgr/time_averaged_stats.h @@ -19,6 +19,10 @@ #ifndef GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H #define GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H +#ifdef __cplusplus +extern "C" { +#endif + /* This tracks a time-decaying weighted average. It works by collecting batches of samples and then mixing their average into a time-decaying weighted mean. It is designed for batch operations where we do many adds @@ -70,4 +74,8 @@ void grpc_time_averaged_stats_add_sample(grpc_time_averaged_stats* stats, value. */ double grpc_time_averaged_stats_update_average(grpc_time_averaged_stats* stats); -#endif /* GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/timer.h b/src/core/lib/iomgr/timer.h index ac392f87fe4..466600d582c 100644 --- a/src/core/lib/iomgr/timer.h +++ b/src/core/lib/iomgr/timer.h @@ -32,6 +32,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/iomgr.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_timer grpc_timer; /* Initialize *timer. When expired or canceled, closure will be called with @@ -103,4 +107,8 @@ void grpc_timer_consume_kick(void); void grpc_kick_poller(void); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_IOMGR_TIMER_H */ diff --git a/src/core/lib/iomgr/timer_heap.h b/src/core/lib/iomgr/timer_heap.h index 0d64199ab95..f15e8a3abb8 100644 --- a/src/core/lib/iomgr/timer_heap.h +++ b/src/core/lib/iomgr/timer_heap.h @@ -21,6 +21,10 @@ #include "src/core/lib/iomgr/timer.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { grpc_timer **timers; uint32_t timer_count; @@ -39,4 +43,8 @@ void grpc_timer_heap_pop(grpc_timer_heap *heap); int grpc_timer_heap_is_empty(grpc_timer_heap *heap); -#endif /* GRPC_CORE_LIB_IOMGR_TIMER_HEAP_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_TIMER_HEAP_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/timer_manager.h b/src/core/lib/iomgr/timer_manager.h index 0ba502928a5..d8a59a9477a 100644 --- a/src/core/lib/iomgr/timer_manager.h +++ b/src/core/lib/iomgr/timer_manager.h @@ -21,6 +21,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* Timer Manager tries to keep one thread waiting for the next timeout at all times */ @@ -34,4 +38,8 @@ void grpc_timer_manager_set_threading(bool enabled); * disabled */ void grpc_timer_manager_tick(void); -#endif /* GRPC_CORE_LIB_IOMGR_TIMER_MANAGER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_TIMER_MANAGER_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/udp_server.h b/src/core/lib/iomgr/udp_server.h index 881468ea2cb..bcd8572260a 100644 --- a/src/core/lib/iomgr/udp_server.h +++ b/src/core/lib/iomgr/udp_server.h @@ -23,6 +23,10 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/resolve_address.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Forward decl of struct grpc_server */ /* This is not typedef'ed to avoid a typedef-redefinition error */ struct grpc_server; @@ -73,4 +77,8 @@ int grpc_udp_server_add_port(grpc_udp_server *s, void grpc_udp_server_destroy(grpc_exec_ctx *exec_ctx, grpc_udp_server *server, grpc_closure *on_done); -#endif /* GRPC_CORE_LIB_IOMGR_UDP_SERVER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_UDP_SERVER_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/unix_sockets_posix.h b/src/core/lib/iomgr/unix_sockets_posix.h index 25b64b3eecb..b96131ae1ce 100644 --- a/src/core/lib/iomgr/unix_sockets_posix.h +++ b/src/core/lib/iomgr/unix_sockets_posix.h @@ -25,6 +25,10 @@ #include "src/core/lib/iomgr/resolve_address.h" +#ifdef __cplusplus +extern "C" { +#endif + void grpc_create_socketpair_if_unix(int sv[2]); grpc_error *grpc_resolve_unix_domain_address( @@ -38,4 +42,8 @@ void grpc_unlink_if_unix_domain_socket( char *grpc_sockaddr_to_uri_unix_if_possible( const grpc_resolved_address *resolved_addr); -#endif /* GRPC_CORE_LIB_IOMGR_UNIX_SOCKETS_POSIX_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_UNIX_SOCKETS_POSIX_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/wakeup_fd_cv.h b/src/core/lib/iomgr/wakeup_fd_cv.h index dc170ad5b43..34bc42fd7f3 100644 --- a/src/core/lib/iomgr/wakeup_fd_cv.h +++ b/src/core/lib/iomgr/wakeup_fd_cv.h @@ -40,6 +40,10 @@ #define GRPC_FD_TO_IDX(fd) (-(fd)-1) #define GRPC_IDX_TO_FD(idx) (-(idx)-1) +#ifdef __cplusplus +extern "C" { +#endif + typedef struct cv_node { gpr_cv* cv; struct cv_node* next; @@ -62,4 +66,8 @@ typedef struct cv_fd_table { grpc_poll_function_type poll; } cv_fd_table; -#endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_CV_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_CV_H */ \ No newline at end of file diff --git a/src/core/lib/iomgr/wakeup_fd_posix.h b/src/core/lib/iomgr/wakeup_fd_posix.h index a9584d0d489..ae7849f98ce 100644 --- a/src/core/lib/iomgr/wakeup_fd_posix.h +++ b/src/core/lib/iomgr/wakeup_fd_posix.h @@ -49,6 +49,10 @@ #include "src/core/lib/iomgr/error.h" +#ifdef __cplusplus +extern "C" { +#endif + void grpc_wakeup_fd_global_init(void); void grpc_wakeup_fd_global_destroy(void); @@ -91,4 +95,8 @@ void grpc_wakeup_fd_destroy(grpc_wakeup_fd* fd_info); * wakeup_fd_nospecial.c if no such implementation exists. */ extern const grpc_wakeup_fd_vtable grpc_specialized_wakeup_fd_vtable; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_POSIX_H */ diff --git a/src/core/lib/json/json.h b/src/core/lib/json/json.h index bbd43025eb8..81b7e0c9da3 100644 --- a/src/core/lib/json/json.h +++ b/src/core/lib/json/json.h @@ -23,6 +23,10 @@ #include "src/core/lib/json/json_common.h" +#ifdef __cplusplus +extern "C" { +#endif + /* A tree-like structure to hold json values. The key and value pointers * are not owned by it. */ @@ -70,4 +74,8 @@ char* grpc_json_dump_to_string(grpc_json* json, int indent); grpc_json* grpc_json_create(grpc_json_type type); void grpc_json_destroy(grpc_json* json); -#endif /* GRPC_CORE_LIB_JSON_JSON_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_JSON_JSON_H */ \ No newline at end of file diff --git a/src/core/lib/json/json_reader.h b/src/core/lib/json/json_reader.h index 577fbbbaf61..ab2384f7a71 100644 --- a/src/core/lib/json/json_reader.h +++ b/src/core/lib/json/json_reader.h @@ -22,6 +22,10 @@ #include #include "src/core/lib/json/json_common.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { GRPC_JSON_STATE_OBJECT_KEY_BEGIN, GRPC_JSON_STATE_OBJECT_KEY_STRING, @@ -142,4 +146,8 @@ void grpc_json_reader_init(grpc_json_reader *reader, */ int grpc_json_reader_is_complete(grpc_json_reader *reader); -#endif /* GRPC_CORE_LIB_JSON_JSON_READER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_JSON_JSON_READER_H */ \ No newline at end of file diff --git a/src/core/lib/json/json_writer.h b/src/core/lib/json/json_writer.h index 8779039d42e..18bd2a80fec 100644 --- a/src/core/lib/json/json_writer.h +++ b/src/core/lib/json/json_writer.h @@ -35,6 +35,10 @@ #include "src/core/lib/json/json_common.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_json_writer_vtable { /* Adds a character to the output stream. */ void (*output_char)(void *userdata, char); @@ -79,4 +83,8 @@ void grpc_json_writer_value_raw_with_len(grpc_json_writer *writer, void grpc_json_writer_value_string(grpc_json_writer *writer, const char *string); -#endif /* GRPC_CORE_LIB_JSON_JSON_WRITER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_JSON_JSON_WRITER_H */ \ No newline at end of file diff --git a/src/core/lib/profiling/basic_timers.c b/src/core/lib/profiling/basic_timers.c index c7645b74f2a..ab9d60481cc 100644 --- a/src/core/lib/profiling/basic_timers.c +++ b/src/core/lib/profiling/basic_timers.c @@ -18,10 +18,10 @@ #include -#ifdef GRPC_BASIC_PROFILER - #include "src/core/lib/profiling/timers.h" +#ifdef GRPC_BASIC_PROFILER + #include #include #include diff --git a/src/core/lib/security/credentials/composite/composite_credentials.h b/src/core/lib/security/credentials/composite/composite_credentials.h index 3076afcb7ef..6e9f9a8f6fa 100644 --- a/src/core/lib/security/credentials/composite/composite_credentials.h +++ b/src/core/lib/security/credentials/composite/composite_credentials.h @@ -21,6 +21,10 @@ #include "src/core/lib/security/credentials/credentials.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { grpc_call_credentials **creds_array; size_t num_creds; @@ -53,5 +57,9 @@ typedef struct { grpc_call_credentials_array inner; } grpc_composite_call_credentials; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_COMPOSITE_COMPOSITE_CREDENTIALS_H \ */ diff --git a/src/core/lib/security/credentials/credentials.h b/src/core/lib/security/credentials/credentials.h index 04a54b0ca83..73e39ae039a 100644 --- a/src/core/lib/security/credentials/credentials.h +++ b/src/core/lib/security/credentials/credentials.h @@ -29,6 +29,10 @@ #include "src/core/lib/iomgr/polling_entity.h" #include "src/core/lib/security/transport/security_connector.h" +#ifdef __cplusplus +extern "C" { +#endif + struct grpc_http_response; /* --- Constants. --- */ @@ -252,4 +256,8 @@ grpc_credentials_metadata_request *grpc_credentials_metadata_request_create( void grpc_credentials_metadata_request_destroy( grpc_exec_ctx *exec_ctx, grpc_credentials_metadata_request *r); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_CREDENTIALS_H */ diff --git a/src/core/lib/security/credentials/fake/fake_credentials.h b/src/core/lib/security/credentials/fake/fake_credentials.h index aa0f3b6e207..64f6f439f0a 100644 --- a/src/core/lib/security/credentials/fake/fake_credentials.h +++ b/src/core/lib/security/credentials/fake/fake_credentials.h @@ -21,6 +21,10 @@ #include "src/core/lib/security/credentials/credentials.h" +#ifdef __cplusplus +extern "C" { +#endif + /* -- Fake transport security credentials. -- */ /* Creates a fake transport security credentials object for testing. */ @@ -56,4 +60,8 @@ typedef struct { bool is_async; } grpc_md_only_test_credentials; -#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H */ \ No newline at end of file diff --git a/src/core/lib/security/credentials/jwt/json_token.h b/src/core/lib/security/credentials/jwt/json_token.h index e50790ef2ef..486fd981af1 100644 --- a/src/core/lib/security/credentials/jwt/json_token.h +++ b/src/core/lib/security/credentials/jwt/json_token.h @@ -28,6 +28,10 @@ #define GRPC_JWT_OAUTH2_AUDIENCE "https://www.googleapis.com/oauth2/v3/token" +#ifdef __cplusplus +extern "C" { +#endif + /* --- auth_json_key parsing. --- */ typedef struct { @@ -70,4 +74,8 @@ typedef char *(*grpc_jwt_encode_and_sign_override)( void grpc_jwt_encode_and_sign_set_override( grpc_jwt_encode_and_sign_override func); -#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H */ \ No newline at end of file diff --git a/src/core/lib/security/credentials/jwt/jwt_credentials.h b/src/core/lib/security/credentials/jwt/jwt_credentials.h index 07f4022669d..c09485fd55a 100644 --- a/src/core/lib/security/credentials/jwt/jwt_credentials.h +++ b/src/core/lib/security/credentials/jwt/jwt_credentials.h @@ -22,6 +22,10 @@ #include "src/core/lib/security/credentials/credentials.h" #include "src/core/lib/security/credentials/jwt/json_token.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { grpc_call_credentials base; @@ -45,4 +49,8 @@ grpc_service_account_jwt_access_credentials_create_from_auth_json_key( grpc_exec_ctx *exec_ctx, grpc_auth_json_key key, gpr_timespec token_lifetime); -#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JWT_CREDENTIALS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JWT_CREDENTIALS_H */ \ No newline at end of file diff --git a/src/core/lib/security/credentials/jwt/jwt_verifier.h b/src/core/lib/security/credentials/jwt/jwt_verifier.h index 8fac452d4ef..06038116270 100644 --- a/src/core/lib/security/credentials/jwt/jwt_verifier.h +++ b/src/core/lib/security/credentials/jwt/jwt_verifier.h @@ -32,6 +32,10 @@ #define GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX \ "www.googleapis.com/robot/v1/metadata/x509" +#ifdef __cplusplus +extern "C" { +#endif + /* --- grpc_jwt_verifier_status. --- */ typedef enum { @@ -122,4 +126,8 @@ grpc_jwt_verifier_status grpc_jwt_claims_check(const grpc_jwt_claims *claims, const char *audience); const char *grpc_jwt_issuer_email_domain(const char *issuer); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JWT_VERIFIER_H */ diff --git a/src/core/lib/security/credentials/oauth2/oauth2_credentials.h b/src/core/lib/security/credentials/oauth2/oauth2_credentials.h index d9ad6691b84..c8a93334174 100644 --- a/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +++ b/src/core/lib/security/credentials/oauth2/oauth2_credentials.h @@ -22,6 +22,10 @@ #include "src/core/lib/json/json.h" #include "src/core/lib/security/credentials/credentials.h" +#ifdef __cplusplus +extern "C" { +#endif + // auth_refresh_token parsing. typedef struct { const char *type; @@ -102,4 +106,8 @@ grpc_oauth2_token_fetcher_credentials_parse_server_response( grpc_exec_ctx *exec_ctx, const struct grpc_http_response *response, grpc_mdelem *token_md, gpr_timespec *token_lifetime); -#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_OAUTH2_OAUTH2_CREDENTIALS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_OAUTH2_OAUTH2_CREDENTIALS_H */ \ No newline at end of file diff --git a/src/core/lib/security/transport/lb_targets_info.h b/src/core/lib/security/transport/lb_targets_info.h index c3d685df5f1..705d33b0abe 100644 --- a/src/core/lib/security/transport/lb_targets_info.h +++ b/src/core/lib/security/transport/lb_targets_info.h @@ -21,6 +21,10 @@ #include "src/core/lib/slice/slice_hash_table.h" +#ifdef __cplusplus +extern "C" { +#endif + /** Return a channel argument containing \a targets_info. */ grpc_arg grpc_lb_targets_info_create_channel_arg( grpc_slice_hash_table *targets_info); @@ -29,4 +33,8 @@ grpc_arg grpc_lb_targets_info_create_channel_arg( grpc_slice_hash_table *grpc_lb_targets_info_find_in_args( const grpc_channel_args *args); -#endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_LB_TARGETS_INFO_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_LB_TARGETS_INFO_H */ \ No newline at end of file diff --git a/src/core/lib/security/transport/secure_endpoint.h b/src/core/lib/security/transport/secure_endpoint.h index 3323a6ff42a..832cc1c0ce9 100644 --- a/src/core/lib/security/transport/secure_endpoint.h +++ b/src/core/lib/security/transport/secure_endpoint.h @@ -22,6 +22,10 @@ #include #include "src/core/lib/iomgr/endpoint.h" +#ifdef __cplusplus +extern "C" { +#endif + struct tsi_frame_protector; struct tsi_zero_copy_grpc_protector; @@ -36,4 +40,8 @@ grpc_endpoint *grpc_secure_endpoint_create( grpc_endpoint *to_wrap, grpc_slice *leftover_slices, size_t leftover_nslices); -#endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURE_ENDPOINT_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURE_ENDPOINT_H */ \ No newline at end of file diff --git a/src/core/lib/security/transport/security_connector.h b/src/core/lib/security/transport/security_connector.h index 4f9b63ad202..4d87cd0c806 100644 --- a/src/core/lib/security/transport/security_connector.h +++ b/src/core/lib/security/transport/security_connector.h @@ -29,6 +29,10 @@ #include "src/core/tsi/ssl_transport_security.h" #include "src/core/tsi/transport_security_interface.h" +#ifdef __cplusplus +extern "C" { +#endif + #ifndef NDEBUG extern grpc_tracer_flag grpc_trace_security_connector_refcount; #endif @@ -245,4 +249,8 @@ tsi_peer tsi_shallow_peer_from_ssl_auth_context( const grpc_auth_context *auth_context); void tsi_shallow_peer_destruct(tsi_peer *peer); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURITY_CONNECTOR_H */ diff --git a/src/core/lib/security/transport/security_handshaker.h b/src/core/lib/security/transport/security_handshaker.h index 95bf127fc60..345065f26c8 100644 --- a/src/core/lib/security/transport/security_handshaker.h +++ b/src/core/lib/security/transport/security_handshaker.h @@ -23,6 +23,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/security/transport/security_connector.h" +#ifdef __cplusplus +extern "C" { +#endif + /// Creates a security handshaker using \a handshaker. grpc_handshaker *grpc_security_handshaker_create( grpc_exec_ctx *exec_ctx, tsi_handshaker *handshaker, @@ -31,4 +35,8 @@ grpc_handshaker *grpc_security_handshaker_create( /// Registers security handshaker factories. void grpc_security_register_handshaker_factories(); -#endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURITY_HANDSHAKER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURITY_HANDSHAKER_H */ \ No newline at end of file diff --git a/src/core/lib/security/transport/tsi_error.h b/src/core/lib/security/transport/tsi_error.h index 87a63a8a7c6..4c78b06603d 100644 --- a/src/core/lib/security/transport/tsi_error.h +++ b/src/core/lib/security/transport/tsi_error.h @@ -22,6 +22,14 @@ #include "src/core/lib/iomgr/error.h" #include "src/core/tsi/transport_security_interface.h" +#ifdef __cplusplus +extern "C" { +#endif + grpc_error *grpc_set_tsi_error_result(grpc_error *error, tsi_result result); -#endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_TSI_ERROR_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_TSI_ERROR_H */ \ No newline at end of file diff --git a/src/core/lib/security/util/json_util.h b/src/core/lib/security/util/json_util.h index 5ea831e27ea..43a2f6b9d18 100644 --- a/src/core/lib/security/util/json_util.h +++ b/src/core/lib/security/util/json_util.h @@ -28,6 +28,10 @@ #define GRPC_AUTH_JSON_TYPE_SERVICE_ACCOUNT "service_account" #define GRPC_AUTH_JSON_TYPE_AUTHORIZED_USER "authorized_user" +#ifdef __cplusplus +extern "C" { +#endif + // Gets a child property from a json node. const char *grpc_json_get_string_property(const grpc_json *json, const char *prop_name); @@ -37,4 +41,8 @@ const char *grpc_json_get_string_property(const grpc_json *json, bool grpc_copy_json_string_property(const grpc_json *json, const char *prop_name, char **copied_value); -#endif /* GRPC_CORE_LIB_SECURITY_UTIL_JSON_UTIL_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SECURITY_UTIL_JSON_UTIL_H */ \ No newline at end of file diff --git a/src/core/lib/slice/b64.h b/src/core/lib/slice/b64.h index 3fd15febe56..c01da56575c 100644 --- a/src/core/lib/slice/b64.h +++ b/src/core/lib/slice/b64.h @@ -21,6 +21,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* Encodes data using base64. It is the caller's responsability to free the returned char * using gpr_free. Returns NULL on NULL input. TODO(makdharma) : change the flags to bool from int */ @@ -47,4 +51,8 @@ grpc_slice grpc_base64_decode(grpc_exec_ctx *exec_ctx, const char *b64, grpc_slice grpc_base64_decode_with_len(grpc_exec_ctx *exec_ctx, const char *b64, size_t b64_len, int url_safe); -#endif /* GRPC_CORE_LIB_SLICE_B64_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SLICE_B64_H */ \ No newline at end of file diff --git a/src/core/lib/slice/percent_encoding.h b/src/core/lib/slice/percent_encoding.h index faae26a683c..e6f85120c3a 100644 --- a/src/core/lib/slice/percent_encoding.h +++ b/src/core/lib/slice/percent_encoding.h @@ -30,6 +30,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* URL percent encoding spec bitfield (usabel as 'unreserved_bytes' in grpc_percent_encode_slice, grpc_strict_percent_decode_slice). Flags [A-Za-z0-9-_.~] as unreserved bytes for the percent encoding routines @@ -60,4 +64,8 @@ bool grpc_strict_percent_decode_slice(grpc_slice slice_in, This cannot fail. */ grpc_slice grpc_permissive_percent_decode_slice(grpc_slice slice_in); -#endif /* GRPC_CORE_LIB_SLICE_PERCENT_ENCODING_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SLICE_PERCENT_ENCODING_H */ \ No newline at end of file diff --git a/src/core/lib/slice/slice_hash_table.h b/src/core/lib/slice/slice_hash_table.h index 339078fef5e..3c3f0e61f3a 100644 --- a/src/core/lib/slice/slice_hash_table.h +++ b/src/core/lib/slice/slice_hash_table.h @@ -19,6 +19,10 @@ #include "src/core/lib/transport/metadata.h" +#ifdef __cplusplus +extern "C" { +#endif + /** Hash table implementation. * * This implementation uses open addressing @@ -67,4 +71,8 @@ void *grpc_slice_hash_table_get(const grpc_slice_hash_table *table, int grpc_slice_hash_table_cmp(const grpc_slice_hash_table *a, const grpc_slice_hash_table *b); -#endif /* GRPC_CORE_LIB_SLICE_SLICE_HASH_TABLE_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SLICE_SLICE_HASH_TABLE_H */ \ No newline at end of file diff --git a/src/core/lib/slice/slice_internal.h b/src/core/lib/slice/slice_internal.h index 6df0b4b50bb..8591185c53b 100644 --- a/src/core/lib/slice/slice_internal.h +++ b/src/core/lib/slice/slice_internal.h @@ -24,6 +24,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + grpc_slice grpc_slice_ref_internal(grpc_slice slice); void grpc_slice_unref_internal(grpc_exec_ctx *exec_ctx, grpc_slice slice); void grpc_slice_buffer_reset_and_unref_internal(grpc_exec_ctx *exec_ctx, @@ -46,4 +50,8 @@ grpc_slice grpc_slice_maybe_static_intern(grpc_slice slice, uint32_t grpc_static_slice_hash(grpc_slice s); int grpc_static_slice_eq(grpc_slice a, grpc_slice b); -#endif /* GRPC_CORE_LIB_SLICE_SLICE_INTERNAL_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SLICE_SLICE_INTERNAL_H */ \ No newline at end of file diff --git a/src/core/lib/slice/slice_traits.h b/src/core/lib/slice/slice_traits.h index 4b898bdcd46..1eda17cf00b 100644 --- a/src/core/lib/slice/slice_traits.h +++ b/src/core/lib/slice/slice_traits.h @@ -22,8 +22,16 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + bool grpc_slice_is_legal_header(grpc_slice s); bool grpc_slice_is_legal_nonbin_header(grpc_slice s); bool grpc_slice_is_bin_suffixed(grpc_slice s); -#endif /* GRPC_CORE_LIB_SLICE_SLICE_TRAITS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SLICE_SLICE_TRAITS_H */ \ No newline at end of file diff --git a/src/core/lib/support/time_precise.c b/src/core/lib/support/time_precise.c index 6ce19e53ccb..05ef7c59bcc 100644 --- a/src/core/lib/support/time_precise.c +++ b/src/core/lib/support/time_precise.c @@ -20,6 +20,8 @@ #include #include +#include "src/core/lib/support/time_precise.h" + #ifdef GRPC_TIMERS_RDTSC #if defined(__i386__) static void gpr_get_cycle_counter(int64_t int *clk) { diff --git a/src/core/lib/surface/channel.h b/src/core/lib/surface/channel.h index 528bb868e2c..427422b565b 100644 --- a/src/core/lib/surface/channel.h +++ b/src/core/lib/surface/channel.h @@ -23,6 +23,10 @@ #include "src/core/lib/channel/channel_stack_builder.h" #include "src/core/lib/surface/channel_stack_type.h" +#ifdef __cplusplus +extern "C" { +#endif + grpc_channel *grpc_channel_create(grpc_exec_ctx *exec_ctx, const char *target, const grpc_channel_args *args, grpc_channel_stack_type channel_stack_type, @@ -81,4 +85,8 @@ void grpc_channel_internal_unref(grpc_exec_ctx *exec_ctx, grpc_compression_options grpc_channel_compression_options( const grpc_channel *channel); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_H */ diff --git a/src/core/lib/surface/channel_stack_type.h b/src/core/lib/surface/channel_stack_type.h index 3f0e14ffc0d..903b90a0716 100644 --- a/src/core/lib/surface/channel_stack_type.h +++ b/src/core/lib/surface/channel_stack_type.h @@ -21,6 +21,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { // normal top-half client channel with load-balancing, connection management GRPC_CLIENT_CHANNEL, @@ -42,4 +46,8 @@ bool grpc_channel_stack_type_is_client(grpc_channel_stack_type type); const char *grpc_channel_stack_type_string(grpc_channel_stack_type type); -#endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_STACK_TYPE_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_STACK_TYPE_H */ \ No newline at end of file diff --git a/src/core/lib/surface/completion_queue_factory.h b/src/core/lib/surface/completion_queue_factory.h index 89be8f8216a..cb0af6f0fb6 100644 --- a/src/core/lib/surface/completion_queue_factory.h +++ b/src/core/lib/surface/completion_queue_factory.h @@ -22,6 +22,10 @@ #include #include "src/core/lib/surface/completion_queue.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_completion_queue_factory_vtable { grpc_completion_queue* (*create)(const grpc_completion_queue_factory*, const grpc_completion_queue_attributes*); @@ -33,4 +37,8 @@ struct grpc_completion_queue_factory { grpc_completion_queue_factory_vtable* vtable; }; -#endif /* GRPC_CORE_LIB_SURFACE_COMPLETION_QUEUE_FACTORY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SURFACE_COMPLETION_QUEUE_FACTORY_H */ \ No newline at end of file diff --git a/src/core/lib/surface/event_string.h b/src/core/lib/surface/event_string.h index f00efca7f38..127609c404f 100644 --- a/src/core/lib/surface/event_string.h +++ b/src/core/lib/surface/event_string.h @@ -21,7 +21,15 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* Returns a string describing an event. Must be later freed with gpr_free() */ char *grpc_event_string(grpc_event *ev); -#endif /* GRPC_CORE_LIB_SURFACE_EVENT_STRING_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SURFACE_EVENT_STRING_H */ \ No newline at end of file diff --git a/src/core/lib/surface/init.h b/src/core/lib/surface/init.h index 9353208332f..b2f48576e50 100644 --- a/src/core/lib/surface/init.h +++ b/src/core/lib/surface/init.h @@ -19,9 +19,17 @@ #ifndef GRPC_CORE_LIB_SURFACE_INIT_H #define GRPC_CORE_LIB_SURFACE_INIT_H +#ifdef __cplusplus +extern "C" { +#endif + void grpc_register_security_filters(void); void grpc_security_pre_init(void); void grpc_security_init(void); int grpc_is_initialized(void); -#endif /* GRPC_CORE_LIB_SURFACE_INIT_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SURFACE_INIT_H */ \ No newline at end of file diff --git a/src/core/lib/surface/server.h b/src/core/lib/surface/server.h index dd5639d97a2..1114715833b 100644 --- a/src/core/lib/surface/server.h +++ b/src/core/lib/surface/server.h @@ -24,6 +24,10 @@ #include "src/core/lib/debug/trace.h" #include "src/core/lib/transport/transport.h" +#ifdef __cplusplus +extern "C" { +#endif + extern const grpc_channel_filter grpc_server_top_filter; /** Lightweight tracing of server channel state */ @@ -54,4 +58,8 @@ int grpc_server_has_open_connections(grpc_server *server); void grpc_server_get_pollsets(grpc_server *server, grpc_pollset ***pollsets, size_t *pollset_count); -#endif /* GRPC_CORE_LIB_SURFACE_SERVER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SURFACE_SERVER_H */ \ No newline at end of file diff --git a/src/core/lib/surface/validate_metadata.h b/src/core/lib/surface/validate_metadata.h index de869d89b4e..aa02419d9f7 100644 --- a/src/core/lib/surface/validate_metadata.h +++ b/src/core/lib/surface/validate_metadata.h @@ -22,7 +22,15 @@ #include #include "src/core/lib/iomgr/error.h" +#ifdef __cplusplus +extern "C" { +#endif + grpc_error *grpc_validate_header_key_is_legal(grpc_slice slice); grpc_error *grpc_validate_header_nonbin_value_is_legal(grpc_slice slice); -#endif /* GRPC_CORE_LIB_SURFACE_VALIDATE_METADATA_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_SURFACE_VALIDATE_METADATA_H */ \ No newline at end of file diff --git a/src/core/lib/transport/bdp_estimator.h b/src/core/lib/transport/bdp_estimator.h index 1ef0dc99ddb..21c27ec6afd 100644 --- a/src/core/lib/transport/bdp_estimator.h +++ b/src/core/lib/transport/bdp_estimator.h @@ -27,6 +27,10 @@ #define GRPC_BDP_SAMPLES 16 #define GRPC_BDP_MIN_SAMPLES_FOR_ESTIMATE 3 +#ifdef __cplusplus +extern "C" { +#endif + extern grpc_tracer_flag grpc_bdp_estimator_trace; typedef enum { @@ -66,4 +70,8 @@ void grpc_bdp_estimator_start_ping(grpc_bdp_estimator *estimator); // Completes a previously started ping void grpc_bdp_estimator_complete_ping(grpc_bdp_estimator *estimator); -#endif /* GRPC_CORE_LIB_TRANSPORT_BDP_ESTIMATOR_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_TRANSPORT_BDP_ESTIMATOR_H */ \ No newline at end of file diff --git a/src/core/lib/transport/byte_stream.h b/src/core/lib/transport/byte_stream.h index be2a35213e3..d3e04df5c06 100644 --- a/src/core/lib/transport/byte_stream.h +++ b/src/core/lib/transport/byte_stream.h @@ -28,6 +28,10 @@ /** Mask of all valid internal flags. */ #define GRPC_WRITE_INTERNAL_USED_MASK (GRPC_WRITE_INTERNAL_COMPRESS) +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_byte_stream grpc_byte_stream; typedef struct { @@ -135,4 +139,8 @@ void grpc_caching_byte_stream_init(grpc_caching_byte_stream *stream, // Resets the byte stream to the start of the underlying stream. void grpc_caching_byte_stream_reset(grpc_caching_byte_stream *stream); -#endif /* GRPC_CORE_LIB_TRANSPORT_BYTE_STREAM_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_TRANSPORT_BYTE_STREAM_H */ \ No newline at end of file diff --git a/src/core/lib/transport/connectivity_state.h b/src/core/lib/transport/connectivity_state.h index 2fece6cc219..1796a540a79 100644 --- a/src/core/lib/transport/connectivity_state.h +++ b/src/core/lib/transport/connectivity_state.h @@ -23,6 +23,10 @@ #include "src/core/lib/debug/trace.h" #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_connectivity_state_watcher { /** we keep watchers in a linked list */ struct grpc_connectivity_state_watcher *next; @@ -84,4 +88,8 @@ bool grpc_connectivity_state_notify_on_state_change( grpc_exec_ctx *exec_ctx, grpc_connectivity_state_tracker *tracker, grpc_connectivity_state *current, grpc_closure *notify); -#endif /* GRPC_CORE_LIB_TRANSPORT_CONNECTIVITY_STATE_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_TRANSPORT_CONNECTIVITY_STATE_H */ \ No newline at end of file diff --git a/src/core/lib/transport/error_utils.h b/src/core/lib/transport/error_utils.h index e530884215b..18ff54839cc 100644 --- a/src/core/lib/transport/error_utils.h +++ b/src/core/lib/transport/error_utils.h @@ -22,6 +22,10 @@ #include "src/core/lib/iomgr/error.h" #include "src/core/lib/transport/http2_errors.h" +#ifdef __cplusplus +extern "C" { +#endif + /// A utility function to get the status code and message to be returned /// to the application. If not set in the top-level message, looks /// through child errors until it finds the first one with these attributes. @@ -38,4 +42,8 @@ void grpc_error_get_status(grpc_error *error, gpr_timespec deadline, /// GRPC_ERROR_CANCELLED bool grpc_error_has_clear_grpc_status(grpc_error *error); -#endif /* GRPC_CORE_LIB_TRANSPORT_ERROR_UTILS_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_TRANSPORT_ERROR_UTILS_H */ \ No newline at end of file diff --git a/src/core/lib/transport/pid_controller.h b/src/core/lib/transport/pid_controller.h index 9352b2643f7..17feabfd393 100644 --- a/src/core/lib/transport/pid_controller.h +++ b/src/core/lib/transport/pid_controller.h @@ -19,6 +19,10 @@ #ifndef GRPC_CORE_LIB_TRANSPORT_PID_CONTROLLER_H #define GRPC_CORE_LIB_TRANSPORT_PID_CONTROLLER_H +#ifdef __cplusplus +extern "C" { +#endif + /* \file Simple PID controller. Implements a proportional-integral-derivative controller. Used when we want to iteratively control a variable to converge some other @@ -59,4 +63,8 @@ double grpc_pid_controller_update(grpc_pid_controller *pid_controller, /** Returns the last control value calculated */ double grpc_pid_controller_last(grpc_pid_controller *pid_controller); -#endif /* GRPC_CORE_LIB_TRANSPORT_PID_CONTROLLER_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_TRANSPORT_PID_CONTROLLER_H */ \ No newline at end of file diff --git a/src/core/lib/transport/service_config.h b/src/core/lib/transport/service_config.h index 84110abc364..c485f524723 100644 --- a/src/core/lib/transport/service_config.h +++ b/src/core/lib/transport/service_config.h @@ -22,6 +22,10 @@ #include "src/core/lib/json/json.h" #include "src/core/lib/slice/slice_hash_table.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_service_config grpc_service_config; grpc_service_config* grpc_service_config_create(const char* json_string); @@ -59,4 +63,8 @@ void* grpc_method_config_table_get(grpc_exec_ctx* exec_ctx, const grpc_slice_hash_table* table, grpc_slice path); -#endif /* GRPC_CORE_LIB_TRANSPORT_SERVICE_CONFIG_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_TRANSPORT_SERVICE_CONFIG_H */ \ No newline at end of file diff --git a/src/core/lib/transport/status_conversion.h b/src/core/lib/transport/status_conversion.h index e93f3dfd9bc..b257998e4d1 100644 --- a/src/core/lib/transport/status_conversion.h +++ b/src/core/lib/transport/status_conversion.h @@ -22,6 +22,10 @@ #include #include "src/core/lib/transport/http2_errors.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Conversion of grpc status codes to http2 error codes (for RST_STREAM) */ grpc_http2_error_code grpc_status_to_http2_error(grpc_status_code status); grpc_status_code grpc_http2_error_to_grpc_status(grpc_http2_error_code error, @@ -31,4 +35,8 @@ grpc_status_code grpc_http2_error_to_grpc_status(grpc_http2_error_code error, grpc_status_code grpc_http2_status_to_grpc_status(int status); int grpc_status_to_http2_status(grpc_status_code status); -#endif /* GRPC_CORE_LIB_TRANSPORT_STATUS_CONVERSION_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_TRANSPORT_STATUS_CONVERSION_H */ \ No newline at end of file diff --git a/src/core/lib/transport/timeout_encoding.h b/src/core/lib/transport/timeout_encoding.h index 7ff35c40836..1f4e206f8ae 100644 --- a/src/core/lib/transport/timeout_encoding.h +++ b/src/core/lib/transport/timeout_encoding.h @@ -26,9 +26,17 @@ #define GRPC_HTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE (GPR_LTOA_MIN_BUFSIZE + 1) +#ifdef __cplusplus +extern "C" { +#endif + /* Encode/decode timeouts to the GRPC over HTTP/2 format; encoding may round up arbitrarily */ void grpc_http2_encode_timeout(gpr_timespec timeout, char *buffer); int grpc_http2_decode_timeout(grpc_slice text, gpr_timespec *timeout); -#endif /* GRPC_CORE_LIB_TRANSPORT_TIMEOUT_ENCODING_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_TRANSPORT_TIMEOUT_ENCODING_H */ \ No newline at end of file diff --git a/src/core/lib/transport/transport_impl.h b/src/core/lib/transport/transport_impl.h index bbae69c2233..41d34d39542 100644 --- a/src/core/lib/transport/transport_impl.h +++ b/src/core/lib/transport/transport_impl.h @@ -21,6 +21,10 @@ #include "src/core/lib/transport/transport.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct grpc_transport_vtable { /* Memory required for a single stream element - this is allocated by upper layers and initialized by the transport */ @@ -69,4 +73,8 @@ struct grpc_transport { const grpc_transport_vtable *vtable; }; -#endif /* GRPC_CORE_LIB_TRANSPORT_TRANSPORT_IMPL_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_LIB_TRANSPORT_TRANSPORT_IMPL_H */ \ No newline at end of file diff --git a/src/core/tsi/gts_transport_security.h b/src/core/tsi/gts_transport_security.h index 538e1030bc5..b988c3f8616 100644 --- a/src/core/tsi/gts_transport_security.h +++ b/src/core/tsi/gts_transport_security.h @@ -23,6 +23,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct gts_shared_resource { gpr_thd_id thread_id; grpc_channel *channel; @@ -34,4 +38,8 @@ typedef struct gts_shared_resource { * TSI handshakes. */ gts_shared_resource *gts_get_shared_resource(void); -#endif /* GRPC_CORE_TSI_GTS_TRANSPORT_SECURITY_H */ +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_CORE_TSI_GTS_TRANSPORT_SECURITY_H */ \ No newline at end of file From 53a47f09e2fe9755608eac9308a90d232fb1551f Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 21 Sep 2017 12:57:30 -0700 Subject: [PATCH 083/180] Changes for C to C++. Adding extern C to header files for compatibility. --- include/grpc/support/avl.h | 8 ++++++++ src/core/lib/iomgr/iomgr_uv.h | 8 ++++++++ src/core/lib/iomgr/network_status_tracker.c | 1 + src/core/lib/iomgr/wakeup_fd_cv.h | 4 +++- src/core/lib/iomgr/wakeup_fd_pipe.c | 1 + src/core/lib/iomgr/wakeup_fd_pipe.h | 8 ++++++++ src/core/lib/iomgr/wakeup_fd_posix.c | 1 - .../google_default/google_default_credentials.h | 8 ++++++++ src/core/lib/security/transport/auth_filters.h | 8 ++++++++ src/core/lib/surface/alarm_internal.h | 8 ++++++++ src/core/lib/surface/api_trace.h | 8 ++++++++ src/core/lib/surface/lame_client.h | 8 ++++++++ src/core/lib/surface/validate_metadata.c | 1 + 13 files changed, 70 insertions(+), 2 deletions(-) diff --git a/include/grpc/support/avl.h b/include/grpc/support/avl.h index d53ff5d9040..d8a5efd2ad5 100644 --- a/include/grpc/support/avl.h +++ b/include/grpc/support/avl.h @@ -21,6 +21,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /** internal node of an AVL tree */ typedef struct gpr_avl_node { gpr_refcount refs; @@ -91,4 +95,8 @@ GPRAPI int gpr_avl_maybe_get(gpr_avl avl, void *key, void **value, /** Return 1 if avl is empty, 0 otherwise */ GPRAPI int gpr_avl_is_empty(gpr_avl avl); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_SUPPORT_AVL_H */ diff --git a/src/core/lib/iomgr/iomgr_uv.h b/src/core/lib/iomgr/iomgr_uv.h index 3b4daaa73ba..bc42ca8c1c0 100644 --- a/src/core/lib/iomgr/iomgr_uv.h +++ b/src/core/lib/iomgr/iomgr_uv.h @@ -23,10 +23,18 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* The thread ID of the thread on which grpc was initialized. Used to verify * that all calls into libuv are made on that same thread */ extern gpr_thd_id g_init_thread; +#ifdef __cplusplus +} +#endif + #ifdef GRPC_UV_THREAD_CHECK #define GRPC_UV_ASSERT_SAME_THREAD() \ GPR_ASSERT(gpr_thd_currentid() == g_init_thread) diff --git a/src/core/lib/iomgr/network_status_tracker.c b/src/core/lib/iomgr/network_status_tracker.c index 4e5c1d5408c..fe5659160c1 100644 --- a/src/core/lib/iomgr/network_status_tracker.c +++ b/src/core/lib/iomgr/network_status_tracker.c @@ -17,6 +17,7 @@ */ #include "src/core/lib/iomgr/endpoint.h" +#include "src/core/lib/iomgr/network_status_tracker.h" void grpc_network_status_shutdown(void) {} diff --git a/src/core/lib/iomgr/wakeup_fd_cv.h b/src/core/lib/iomgr/wakeup_fd_cv.h index 34bc42fd7f3..8f57de81523 100644 --- a/src/core/lib/iomgr/wakeup_fd_cv.h +++ b/src/core/lib/iomgr/wakeup_fd_cv.h @@ -66,8 +66,10 @@ typedef struct cv_fd_table { grpc_poll_function_type poll; } cv_fd_table; +extern grpc_wakeup_fd_vtable grpc_cv_wakeup_fd_vtable; + #ifdef __cplusplus } #endif -#endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_CV_H */ \ No newline at end of file +#endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_CV_H */ diff --git a/src/core/lib/iomgr/wakeup_fd_pipe.c b/src/core/lib/iomgr/wakeup_fd_pipe.c index 4189488f8a3..c9c390b5872 100644 --- a/src/core/lib/iomgr/wakeup_fd_pipe.c +++ b/src/core/lib/iomgr/wakeup_fd_pipe.c @@ -21,6 +21,7 @@ #ifdef GRPC_POSIX_WAKEUP_FD #include "src/core/lib/iomgr/wakeup_fd_posix.h" +#include "src/core/lib/iomgr/wakeup_fd_pipe.h" #include #include diff --git a/src/core/lib/iomgr/wakeup_fd_pipe.h b/src/core/lib/iomgr/wakeup_fd_pipe.h index f860406bda7..c4c95ab3580 100644 --- a/src/core/lib/iomgr/wakeup_fd_pipe.h +++ b/src/core/lib/iomgr/wakeup_fd_pipe.h @@ -21,6 +21,14 @@ #include "src/core/lib/iomgr/wakeup_fd_posix.h" +#ifdef __cplusplus +extern "C" { +#endif + extern grpc_wakeup_fd_vtable grpc_pipe_wakeup_fd_vtable; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_PIPE_H */ diff --git a/src/core/lib/iomgr/wakeup_fd_posix.c b/src/core/lib/iomgr/wakeup_fd_posix.c index 25daa7d3fb7..9af96d314b5 100644 --- a/src/core/lib/iomgr/wakeup_fd_posix.c +++ b/src/core/lib/iomgr/wakeup_fd_posix.c @@ -25,7 +25,6 @@ #include "src/core/lib/iomgr/wakeup_fd_pipe.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" -extern grpc_wakeup_fd_vtable grpc_cv_wakeup_fd_vtable; static const grpc_wakeup_fd_vtable *wakeup_fd_vtable = NULL; int grpc_allow_specialized_wakeup_fd = 1; diff --git a/src/core/lib/security/credentials/google_default/google_default_credentials.h b/src/core/lib/security/credentials/google_default/google_default_credentials.h index c3755e01a6b..66677873caf 100644 --- a/src/core/lib/security/credentials/google_default/google_default_credentials.h +++ b/src/core/lib/security/credentials/google_default/google_default_credentials.h @@ -23,6 +23,10 @@ #include "src/core/lib/security/credentials/credentials.h" +#ifdef __cplusplus +extern "C" { +#endif + #define GRPC_GOOGLE_CLOUD_SDK_CONFIG_DIRECTORY "gcloud" #define GRPC_GOOGLE_WELL_KNOWN_CREDENTIALS_FILE \ "application_default_credentials.json" @@ -41,5 +45,9 @@ void grpc_flush_cached_google_default_credentials(void); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_GOOGLE_DEFAULT_GOOGLE_DEFAULT_CREDENTIALS_H \ */ diff --git a/src/core/lib/security/transport/auth_filters.h b/src/core/lib/security/transport/auth_filters.h index bd5902a128a..ba5df7fe70f 100644 --- a/src/core/lib/security/transport/auth_filters.h +++ b/src/core/lib/security/transport/auth_filters.h @@ -21,7 +21,15 @@ #include "src/core/lib/channel/channel_stack.h" +#ifdef __cplusplus +extern "C" { +#endif + extern const grpc_channel_filter grpc_client_auth_filter; extern const grpc_channel_filter grpc_server_auth_filter; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_AUTH_FILTERS_H */ diff --git a/src/core/lib/surface/alarm_internal.h b/src/core/lib/surface/alarm_internal.h index 7f2126c5c91..136b60547fa 100644 --- a/src/core/lib/surface/alarm_internal.h +++ b/src/core/lib/surface/alarm_internal.h @@ -22,6 +22,10 @@ #include #include "src/core/lib/debug/trace.h" +#ifdef __cplusplus +extern "C" { +#endif + #ifndef NDEBUG extern grpc_tracer_flag grpc_trace_alarm_refcount; @@ -37,4 +41,8 @@ extern grpc_tracer_flag grpc_trace_alarm_refcount; #endif /* defined(NDEBUG) */ +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SURFACE_ALARM_INTERNAL_H */ diff --git a/src/core/lib/surface/api_trace.h b/src/core/lib/surface/api_trace.h index 849cbaaef6e..105abdf629d 100644 --- a/src/core/lib/surface/api_trace.h +++ b/src/core/lib/surface/api_trace.h @@ -22,6 +22,10 @@ #include #include "src/core/lib/debug/trace.h" +#ifdef __cplusplus +extern "C" { +#endif + extern grpc_tracer_flag grpc_api_trace; /* Provide unwrapping macros because we're in C89 and variadic macros weren't @@ -47,4 +51,8 @@ extern grpc_tracer_flag grpc_api_trace; gpr_log(GPR_INFO, fmt GRPC_API_TRACE_UNWRAP##nargs args); \ } +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SURFACE_API_TRACE_H */ diff --git a/src/core/lib/surface/lame_client.h b/src/core/lib/surface/lame_client.h index 3ce353f101f..2f6f9cd046e 100644 --- a/src/core/lib/surface/lame_client.h +++ b/src/core/lib/surface/lame_client.h @@ -21,6 +21,14 @@ #include "src/core/lib/channel/channel_stack.h" +#ifdef __cplusplus +extern "C" { +#endif + extern const grpc_channel_filter grpc_lame_filter; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_SURFACE_LAME_CLIENT_H */ diff --git a/src/core/lib/surface/validate_metadata.c b/src/core/lib/surface/validate_metadata.c index 61209ae48d1..81d07fae442 100644 --- a/src/core/lib/surface/validate_metadata.c +++ b/src/core/lib/surface/validate_metadata.c @@ -26,6 +26,7 @@ #include "src/core/lib/iomgr/error.h" #include "src/core/lib/slice/slice_internal.h" #include "src/core/lib/slice/slice_string_helpers.h" +#include "src/core/lib/surface/validate_metadata.h" static grpc_error *conforms_to(grpc_slice slice, const uint8_t *legal_bits, const char *err_desc) { From 1c9b584a153ff592c92b6cf6baa620d8602a37cd Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 21 Sep 2017 15:49:55 -0700 Subject: [PATCH 084/180] Changes for C to C++. Adding extern C to header files for compatibility. --- CMakeLists.txt | 6 +- Makefile | 10 +-- binding.gyp | 2 +- config.m4 | 2 +- config.w32 | 2 +- gRPC-Core.podspec | 2 +- grpc.gemspec | 2 +- grpc.gyp | 4 +- package.xml | 2 +- .../resolver/fake/fake_resolver.h | 6 +- .../ext/filters/http/http_filters_plugin.c | 4 +- src/core/lib/debug/stats_data.h | 8 --- src/core/lib/debug/trace.c | 1 + src/core/lib/iomgr/gethostname.h | 10 +-- src/core/lib/iomgr/network_status_tracker.c | 2 +- src/core/lib/iomgr/wakeup_fd_cv.h | 2 +- src/core/lib/iomgr/wakeup_fd_pipe.c | 2 +- src/core/lib/iomgr/wakeup_fd_pipe.h | 2 +- .../lib/security/credentials/jwt/json_token.c | 1 + src/core/lib/support/log.c | 2 +- src/core/lib/support/log_linux.c | 2 +- src/core/lib/support/log_posix.c | 2 +- src/core/lib/support/log_windows.c | 2 +- src/core/lib/surface/call.c | 1 + .../lib/surface/{version.c => version.cc} | 0 ...istry.c => grpc_cronet_plugin_registry.cc} | 24 +++---- ...gin_registry.c => grpc_plugin_registry.cc} | 72 +++++++++---------- ...try.c => grpc_unsecure_plugin_registry.cc} | 68 +++++++++--------- src/python/grpcio/grpc_core_dependencies.py | 2 +- ...version.c.template => version.cc.template} | 0 templates/src/core/plugin_registry.template | 6 +- tools/buildgen/plugins/expand_filegroups.py | 2 +- tools/doxygen/Doxyfile.core.internal | 2 +- 33 files changed, 121 insertions(+), 134 deletions(-) rename src/core/lib/surface/{version.c => version.cc} (100%) rename src/core/plugin_registry/{grpc_cronet_plugin_registry.c => grpc_cronet_plugin_registry.cc} (68%) rename src/core/plugin_registry/{grpc_plugin_registry.c => grpc_plugin_registry.cc} (58%) rename src/core/plugin_registry/{grpc_unsecure_plugin_registry.c => grpc_unsecure_plugin_registry.cc} (58%) rename templates/src/core/lib/surface/{version.c.template => version.cc.template} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2e448c92b66..fe838383f5a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1214,7 +1214,7 @@ add_library(grpc src/core/ext/filters/message_size/message_size_filter.c src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c src/core/ext/filters/workarounds/workaround_utils.c - src/core/plugin_registry/grpc_plugin_registry.c + src/core/plugin_registry/grpc_plugin_registry.cc ) if(WIN32 AND MSVC) @@ -1523,7 +1523,7 @@ add_library(grpc_cronet src/core/ext/transport/chttp2/client/chttp2_connector.c src/core/ext/filters/load_reporting/server_load_reporting_filter.c src/core/ext/filters/load_reporting/server_load_reporting_plugin.c - src/core/plugin_registry/grpc_cronet_plugin_registry.c + src/core/plugin_registry/grpc_cronet_plugin_registry.cc ) if(WIN32 AND MSVC) @@ -2364,7 +2364,7 @@ add_library(grpc_unsecure src/core/ext/filters/message_size/message_size_filter.c src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c src/core/ext/filters/workarounds/workaround_utils.c - src/core/plugin_registry/grpc_unsecure_plugin_registry.c + src/core/plugin_registry/grpc_unsecure_plugin_registry.cc ) if(WIN32 AND MSVC) diff --git a/Makefile b/Makefile index 517ddfd90e0..7f657ef289a 100644 --- a/Makefile +++ b/Makefile @@ -3205,7 +3205,7 @@ LIBGRPC_SRC = \ src/core/ext/filters/message_size/message_size_filter.c \ src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c \ src/core/ext/filters/workarounds/workaround_utils.c \ - src/core/plugin_registry/grpc_plugin_registry.c \ + src/core/plugin_registry/grpc_plugin_registry.cc \ PUBLIC_HEADERS_C += \ include/grpc/impl/codegen/byte_buffer.h \ @@ -3514,7 +3514,7 @@ LIBGRPC_CRONET_SRC = \ src/core/ext/transport/chttp2/client/chttp2_connector.c \ src/core/ext/filters/load_reporting/server_load_reporting_filter.c \ src/core/ext/filters/load_reporting/server_load_reporting_plugin.c \ - src/core/plugin_registry/grpc_cronet_plugin_registry.c \ + src/core/plugin_registry/grpc_cronet_plugin_registry.cc \ PUBLIC_HEADERS_C += \ include/grpc/impl/codegen/byte_buffer.h \ @@ -4323,7 +4323,7 @@ LIBGRPC_UNSECURE_SRC = \ src/core/ext/filters/message_size/message_size_filter.c \ src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c \ src/core/ext/filters/workarounds/workaround_utils.c \ - src/core/plugin_registry/grpc_unsecure_plugin_registry.c \ + src/core/plugin_registry/grpc_unsecure_plugin_registry.cc \ PUBLIC_HEADERS_C += \ include/grpc/impl/codegen/byte_buffer.h \ @@ -20188,8 +20188,8 @@ src/core/lib/security/transport/server_auth_filter.c: $(OPENSSL_DEP) src/core/lib/security/transport/tsi_error.c: $(OPENSSL_DEP) src/core/lib/security/util/json_util.c: $(OPENSSL_DEP) src/core/lib/surface/init_secure.c: $(OPENSSL_DEP) -src/core/plugin_registry/grpc_cronet_plugin_registry.c: $(OPENSSL_DEP) -src/core/plugin_registry/grpc_plugin_registry.c: $(OPENSSL_DEP) +src/core/plugin_registry/grpc_cronet_plugin_registry.cc: $(OPENSSL_DEP) +src/core/plugin_registry/grpc_plugin_registry.cc: $(OPENSSL_DEP) src/core/tsi/fake_transport_security.c: $(OPENSSL_DEP) src/core/tsi/gts_transport_security.c: $(OPENSSL_DEP) src/core/tsi/ssl_transport_security.c: $(OPENSSL_DEP) diff --git a/binding.gyp b/binding.gyp index b4f90382103..476e6fd3c4f 100644 --- a/binding.gyp +++ b/binding.gyp @@ -916,7 +916,7 @@ 'src/core/ext/filters/message_size/message_size_filter.c', 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c', 'src/core/ext/filters/workarounds/workaround_utils.c', - 'src/core/plugin_registry/grpc_plugin_registry.c', + 'src/core/plugin_registry/grpc_plugin_registry.cc', ], 'conditions': [ ['OS == "mac"', { diff --git a/config.m4 b/config.m4 index 72f8a1e710b..edd4c64f261 100644 --- a/config.m4 +++ b/config.m4 @@ -345,7 +345,7 @@ if test "$PHP_GRPC" != "no"; then src/core/ext/filters/message_size/message_size_filter.c \ src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c \ src/core/ext/filters/workarounds/workaround_utils.c \ - src/core/plugin_registry/grpc_plugin_registry.c \ + src/core/plugin_registry/grpc_plugin_registry.cc \ src/boringssl/err_data.c \ third_party/boringssl/crypto/aes/aes.c \ third_party/boringssl/crypto/aes/key_wrap.c \ diff --git a/config.w32 b/config.w32 index 5347baedc22..7247cfafdb1 100644 --- a/config.w32 +++ b/config.w32 @@ -322,7 +322,7 @@ if (PHP_GRPC != "no") { "src\\core\\ext\\filters\\message_size\\message_size_filter.c " + "src\\core\\ext\\filters\\workarounds\\workaround_cronet_compression_filter.c " + "src\\core\\ext\\filters\\workarounds\\workaround_utils.c " + - "src\\core\\plugin_registry\\grpc_plugin_registry.c " + + "src\\core\\plugin_registry\\grpc_plugin_registry.cc " + "src\\boringssl\\err_data.c " + "third_party\\boringssl\\crypto\\aes\\aes.c " + "third_party\\boringssl\\crypto\\aes\\key_wrap.c " + diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index c76b9a3f4bd..487d35606ea 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -727,7 +727,7 @@ Pod::Spec.new do |s| 'src/core/ext/filters/message_size/message_size_filter.c', 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c', 'src/core/ext/filters/workarounds/workaround_utils.c', - 'src/core/plugin_registry/grpc_plugin_registry.c' + 'src/core/plugin_registry/grpc_plugin_registry.cc' ss.private_header_files = 'src/core/lib/profiling/timers.h', 'src/core/lib/support/arena.h', diff --git a/grpc.gemspec b/grpc.gemspec index acf71cab782..93c0cb54fd8 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -667,7 +667,7 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/filters/message_size/message_size_filter.c ) s.files += %w( src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c ) s.files += %w( src/core/ext/filters/workarounds/workaround_utils.c ) - s.files += %w( src/core/plugin_registry/grpc_plugin_registry.c ) + s.files += %w( src/core/plugin_registry/grpc_plugin_registry.cc ) s.files += %w( third_party/boringssl/crypto/aes/internal.h ) s.files += %w( third_party/boringssl/crypto/asn1/asn1_locl.h ) s.files += %w( third_party/boringssl/crypto/bio/internal.h ) diff --git a/grpc.gyp b/grpc.gyp index 6331b76f473..9055dfe9015 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -482,7 +482,7 @@ 'src/core/ext/filters/message_size/message_size_filter.c', 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c', 'src/core/ext/filters/workarounds/workaround_utils.c', - 'src/core/plugin_registry/grpc_plugin_registry.c', + 'src/core/plugin_registry/grpc_plugin_registry.cc', ], }, { @@ -1148,7 +1148,7 @@ 'src/core/ext/filters/message_size/message_size_filter.c', 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c', 'src/core/ext/filters/workarounds/workaround_utils.c', - 'src/core/plugin_registry/grpc_unsecure_plugin_registry.c', + 'src/core/plugin_registry/grpc_unsecure_plugin_registry.cc', ], }, { diff --git a/package.xml b/package.xml index 0eea122b24e..39d238e378f 100644 --- a/package.xml +++ b/package.xml @@ -679,7 +679,7 @@ - + diff --git a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h index 005f5f9417b..95c3bafed82 100644 --- a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +++ b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h @@ -21,13 +21,13 @@ #include "src/core/ext/filters/client_channel/uri_parser.h" #include "src/core/lib/channel/channel_args.h" -#define GRPC_ARG_FAKE_RESOLVER_RESPONSE_GENERATOR \ - "grpc.fake_resolver.response_generator" - #ifdef __cplusplus extern "C" { #endif +#define GRPC_ARG_FAKE_RESOLVER_RESPONSE_GENERATOR \ + "grpc.fake_resolver.response_generator" + void grpc_resolver_fake_init(); // Instances of \a grpc_fake_resolver_response_generator are passed to the diff --git a/src/core/ext/filters/http/http_filters_plugin.c b/src/core/ext/filters/http/http_filters_plugin.c index 88bd2250f9f..8f5b8563172 100644 --- a/src/core/ext/filters/http/http_filters_plugin.c +++ b/src/core/ext/filters/http/http_filters_plugin.c @@ -64,7 +64,7 @@ static bool maybe_add_required_filter(grpc_exec_ctx *exec_ctx, : true; } -void grpc_http_filters_init(void) { +extern "C" void grpc_http_filters_init(void) { grpc_register_tracer(&grpc_compression_trace); grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, @@ -86,4 +86,4 @@ void grpc_http_filters_init(void) { maybe_add_required_filter, (void *)&grpc_http_server_filter); } -void grpc_http_filters_shutdown(void) {} +extern "C" void grpc_http_filters_shutdown(void) {} diff --git a/src/core/lib/debug/stats_data.h b/src/core/lib/debug/stats_data.h index cf5bafbd047..28dab00117b 100644 --- a/src/core/lib/debug/stats_data.h +++ b/src/core/lib/debug/stats_data.h @@ -24,10 +24,6 @@ #include #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif - typedef enum { GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED, GRPC_STATS_COUNTER_SERVER_CALLS_CREATED, @@ -471,8 +467,4 @@ extern const int *const grpc_stats_histo_bucket_boundaries[13]; extern void (*const grpc_stats_inc_histogram[13])(grpc_exec_ctx *exec_ctx, int x); -#ifdef __cplusplus -} -#endif - #endif /* GRPC_CORE_LIB_DEBUG_STATS_DATA_H */ diff --git a/src/core/lib/debug/trace.c b/src/core/lib/debug/trace.c index 7cb2789a19d..21b0d8c3a67 100644 --- a/src/core/lib/debug/trace.c +++ b/src/core/lib/debug/trace.c @@ -20,6 +20,7 @@ #include +#include #include #include #include "src/core/lib/support/env.h" diff --git a/src/core/lib/iomgr/gethostname.h b/src/core/lib/iomgr/gethostname.h index 4dcf50c591a..9c6b9d8d420 100644 --- a/src/core/lib/iomgr/gethostname.h +++ b/src/core/lib/iomgr/gethostname.h @@ -19,16 +19,8 @@ #ifndef GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H #define GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H -#ifdef __cplusplus -extern "C" { -#endif - // Returns the hostname of the local machine. // Caller takes ownership of result. char *grpc_gethostname(); -#ifdef __cplusplus -} -#endif - -#endif /* GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H */ \ No newline at end of file +#endif /* GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H */ diff --git a/src/core/lib/iomgr/network_status_tracker.c b/src/core/lib/iomgr/network_status_tracker.c index fe5659160c1..57a7faa9f1c 100644 --- a/src/core/lib/iomgr/network_status_tracker.c +++ b/src/core/lib/iomgr/network_status_tracker.c @@ -16,8 +16,8 @@ * */ -#include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/network_status_tracker.h" +#include "src/core/lib/iomgr/endpoint.h" void grpc_network_status_shutdown(void) {} diff --git a/src/core/lib/iomgr/wakeup_fd_cv.h b/src/core/lib/iomgr/wakeup_fd_cv.h index 8f57de81523..dcd7bdb560f 100644 --- a/src/core/lib/iomgr/wakeup_fd_cv.h +++ b/src/core/lib/iomgr/wakeup_fd_cv.h @@ -66,7 +66,7 @@ typedef struct cv_fd_table { grpc_poll_function_type poll; } cv_fd_table; -extern grpc_wakeup_fd_vtable grpc_cv_wakeup_fd_vtable; +extern const grpc_wakeup_fd_vtable grpc_cv_wakeup_fd_vtable; #ifdef __cplusplus } diff --git a/src/core/lib/iomgr/wakeup_fd_pipe.c b/src/core/lib/iomgr/wakeup_fd_pipe.c index c9c390b5872..05d69dc9cc6 100644 --- a/src/core/lib/iomgr/wakeup_fd_pipe.c +++ b/src/core/lib/iomgr/wakeup_fd_pipe.c @@ -20,8 +20,8 @@ #ifdef GRPC_POSIX_WAKEUP_FD -#include "src/core/lib/iomgr/wakeup_fd_posix.h" #include "src/core/lib/iomgr/wakeup_fd_pipe.h" +#include "src/core/lib/iomgr/wakeup_fd_posix.h" #include #include diff --git a/src/core/lib/iomgr/wakeup_fd_pipe.h b/src/core/lib/iomgr/wakeup_fd_pipe.h index c4c95ab3580..9bbb5e2ff7b 100644 --- a/src/core/lib/iomgr/wakeup_fd_pipe.h +++ b/src/core/lib/iomgr/wakeup_fd_pipe.h @@ -25,7 +25,7 @@ extern "C" { #endif -extern grpc_wakeup_fd_vtable grpc_pipe_wakeup_fd_vtable; +extern const grpc_wakeup_fd_vtable grpc_pipe_wakeup_fd_vtable; #ifdef __cplusplus } diff --git a/src/core/lib/security/credentials/jwt/json_token.c b/src/core/lib/security/credentials/jwt/json_token.c index e41667c22f3..1f5cc7059da 100644 --- a/src/core/lib/security/credentials/jwt/json_token.c +++ b/src/core/lib/security/credentials/jwt/json_token.c @@ -20,6 +20,7 @@ #include +#include #include #include #include diff --git a/src/core/lib/support/log.c b/src/core/lib/support/log.c index fadb4d9a2cf..69f92e001c1 100644 --- a/src/core/lib/support/log.c +++ b/src/core/lib/support/log.c @@ -27,7 +27,7 @@ #include #include -extern void gpr_default_log(gpr_log_func_args *args); +extern "C" void gpr_default_log(gpr_log_func_args *args); static gpr_atm g_log_func = (gpr_atm)gpr_default_log; static gpr_atm g_min_severity_to_print = GPR_LOG_VERBOSITY_UNSET; diff --git a/src/core/lib/support/log_linux.c b/src/core/lib/support/log_linux.c index 77550186932..0914acedf4f 100644 --- a/src/core/lib/support/log_linux.c +++ b/src/core/lib/support/log_linux.c @@ -56,7 +56,7 @@ void gpr_log(const char *file, int line, gpr_log_severity severity, free(message); } -void gpr_default_log(gpr_log_func_args *args) { +extern "C" void gpr_default_log(gpr_log_func_args *args) { const char *final_slash; char *prefix; const char *display_file; diff --git a/src/core/lib/support/log_posix.c b/src/core/lib/support/log_posix.c index 8b376fce41f..855e8e7107f 100644 --- a/src/core/lib/support/log_posix.c +++ b/src/core/lib/support/log_posix.c @@ -57,7 +57,7 @@ void gpr_log(const char *file, int line, gpr_log_severity severity, gpr_free(allocated); } -void gpr_default_log(gpr_log_func_args *args) { +extern "C" void gpr_default_log(gpr_log_func_args *args) { char *final_slash; const char *display_file; char time_buffer[64]; diff --git a/src/core/lib/support/log_windows.c b/src/core/lib/support/log_windows.c index 0fdab79ae6c..b71dacd80a0 100644 --- a/src/core/lib/support/log_windows.c +++ b/src/core/lib/support/log_windows.c @@ -65,7 +65,7 @@ void gpr_log(const char *file, int line, gpr_log_severity severity, } /* Simple starter implementation */ -void gpr_default_log(gpr_log_func_args *args) { +extern "C" void gpr_default_log(gpr_log_func_args *args) { char *final_slash; const char *display_file; char time_buffer[64]; diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.c index 03f47553a14..74e55d57416 100644 --- a/src/core/lib/surface/call.c +++ b/src/core/lib/surface/call.c @@ -41,6 +41,7 @@ #include "src/core/lib/support/string.h" #include "src/core/lib/surface/api_trace.h" #include "src/core/lib/surface/call.h" +#include "src/core/lib/surface/call_test_only.h" #include "src/core/lib/surface/channel.h" #include "src/core/lib/surface/completion_queue.h" #include "src/core/lib/surface/validate_metadata.h" diff --git a/src/core/lib/surface/version.c b/src/core/lib/surface/version.cc similarity index 100% rename from src/core/lib/surface/version.c rename to src/core/lib/surface/version.cc diff --git a/src/core/plugin_registry/grpc_cronet_plugin_registry.c b/src/core/plugin_registry/grpc_cronet_plugin_registry.cc similarity index 68% rename from src/core/plugin_registry/grpc_cronet_plugin_registry.c rename to src/core/plugin_registry/grpc_cronet_plugin_registry.cc index 1c09f54ad97..e0422f67503 100644 --- a/src/core/plugin_registry/grpc_cronet_plugin_registry.c +++ b/src/core/plugin_registry/grpc_cronet_plugin_registry.cc @@ -18,18 +18,18 @@ #include -extern void grpc_http_filters_init(void); -extern void grpc_http_filters_shutdown(void); -extern void grpc_chttp2_plugin_init(void); -extern void grpc_chttp2_plugin_shutdown(void); -extern void grpc_deadline_filter_init(void); -extern void grpc_deadline_filter_shutdown(void); -extern void grpc_client_channel_init(void); -extern void grpc_client_channel_shutdown(void); -extern void grpc_tsi_gts_init(void); -extern void grpc_tsi_gts_shutdown(void); -extern void grpc_server_load_reporting_plugin_init(void); -extern void grpc_server_load_reporting_plugin_shutdown(void); +extern "C" void grpc_http_filters_init(void); +extern "C" void grpc_http_filters_shutdown(void); +extern "C" void grpc_chttp2_plugin_init(void); +extern "C" void grpc_chttp2_plugin_shutdown(void); +extern "C" void grpc_deadline_filter_init(void); +extern "C" void grpc_deadline_filter_shutdown(void); +extern "C" void grpc_client_channel_init(void); +extern "C" void grpc_client_channel_shutdown(void); +extern "C" void grpc_tsi_gts_init(void); +extern "C" void grpc_tsi_gts_shutdown(void); +extern "C" void grpc_server_load_reporting_plugin_init(void); +extern "C" void grpc_server_load_reporting_plugin_shutdown(void); void grpc_register_built_in_plugins(void) { grpc_register_plugin(grpc_http_filters_init, diff --git a/src/core/plugin_registry/grpc_plugin_registry.c b/src/core/plugin_registry/grpc_plugin_registry.cc similarity index 58% rename from src/core/plugin_registry/grpc_plugin_registry.c rename to src/core/plugin_registry/grpc_plugin_registry.cc index 9cacf3d306c..2d332e2b915 100644 --- a/src/core/plugin_registry/grpc_plugin_registry.c +++ b/src/core/plugin_registry/grpc_plugin_registry.cc @@ -18,42 +18,42 @@ #include -extern void grpc_http_filters_init(void); -extern void grpc_http_filters_shutdown(void); -extern void grpc_chttp2_plugin_init(void); -extern void grpc_chttp2_plugin_shutdown(void); -extern void grpc_tsi_gts_init(void); -extern void grpc_tsi_gts_shutdown(void); -extern void grpc_deadline_filter_init(void); -extern void grpc_deadline_filter_shutdown(void); -extern void grpc_client_channel_init(void); -extern void grpc_client_channel_shutdown(void); -extern void grpc_inproc_plugin_init(void); -extern void grpc_inproc_plugin_shutdown(void); -extern void grpc_resolver_fake_init(void); -extern void grpc_resolver_fake_shutdown(void); -extern void grpc_lb_policy_grpclb_init(void); -extern void grpc_lb_policy_grpclb_shutdown(void); -extern void grpc_lb_policy_pick_first_init(void); -extern void grpc_lb_policy_pick_first_shutdown(void); -extern void grpc_lb_policy_round_robin_init(void); -extern void grpc_lb_policy_round_robin_shutdown(void); -extern void grpc_resolver_dns_ares_init(void); -extern void grpc_resolver_dns_ares_shutdown(void); -extern void grpc_resolver_dns_native_init(void); -extern void grpc_resolver_dns_native_shutdown(void); -extern void grpc_resolver_sockaddr_init(void); -extern void grpc_resolver_sockaddr_shutdown(void); -extern void grpc_server_load_reporting_plugin_init(void); -extern void grpc_server_load_reporting_plugin_shutdown(void); -extern void census_grpc_plugin_init(void); -extern void census_grpc_plugin_shutdown(void); -extern void grpc_max_age_filter_init(void); -extern void grpc_max_age_filter_shutdown(void); -extern void grpc_message_size_filter_init(void); -extern void grpc_message_size_filter_shutdown(void); -extern void grpc_workaround_cronet_compression_filter_init(void); -extern void grpc_workaround_cronet_compression_filter_shutdown(void); +extern "C" void grpc_http_filters_init(void); +extern "C" void grpc_http_filters_shutdown(void); +extern "C" void grpc_chttp2_plugin_init(void); +extern "C" void grpc_chttp2_plugin_shutdown(void); +extern "C" void grpc_tsi_gts_init(void); +extern "C" void grpc_tsi_gts_shutdown(void); +extern "C" void grpc_deadline_filter_init(void); +extern "C" void grpc_deadline_filter_shutdown(void); +extern "C" void grpc_client_channel_init(void); +extern "C" void grpc_client_channel_shutdown(void); +extern "C" void grpc_inproc_plugin_init(void); +extern "C" void grpc_inproc_plugin_shutdown(void); +extern "C" void grpc_resolver_fake_init(void); +extern "C" void grpc_resolver_fake_shutdown(void); +extern "C" void grpc_lb_policy_grpclb_init(void); +extern "C" void grpc_lb_policy_grpclb_shutdown(void); +extern "C" void grpc_lb_policy_pick_first_init(void); +extern "C" void grpc_lb_policy_pick_first_shutdown(void); +extern "C" void grpc_lb_policy_round_robin_init(void); +extern "C" void grpc_lb_policy_round_robin_shutdown(void); +extern "C" void grpc_resolver_dns_ares_init(void); +extern "C" void grpc_resolver_dns_ares_shutdown(void); +extern "C" void grpc_resolver_dns_native_init(void); +extern "C" void grpc_resolver_dns_native_shutdown(void); +extern "C" void grpc_resolver_sockaddr_init(void); +extern "C" void grpc_resolver_sockaddr_shutdown(void); +extern "C" void grpc_server_load_reporting_plugin_init(void); +extern "C" void grpc_server_load_reporting_plugin_shutdown(void); +extern "C" void census_grpc_plugin_init(void); +extern "C" void census_grpc_plugin_shutdown(void); +extern "C" void grpc_max_age_filter_init(void); +extern "C" void grpc_max_age_filter_shutdown(void); +extern "C" void grpc_message_size_filter_init(void); +extern "C" void grpc_message_size_filter_shutdown(void); +extern "C" void grpc_workaround_cronet_compression_filter_init(void); +extern "C" void grpc_workaround_cronet_compression_filter_shutdown(void); void grpc_register_built_in_plugins(void) { grpc_register_plugin(grpc_http_filters_init, diff --git a/src/core/plugin_registry/grpc_unsecure_plugin_registry.c b/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc similarity index 58% rename from src/core/plugin_registry/grpc_unsecure_plugin_registry.c rename to src/core/plugin_registry/grpc_unsecure_plugin_registry.cc index 7b90d796d57..78218582f02 100644 --- a/src/core/plugin_registry/grpc_unsecure_plugin_registry.c +++ b/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc @@ -18,40 +18,40 @@ #include -extern void grpc_http_filters_init(void); -extern void grpc_http_filters_shutdown(void); -extern void grpc_chttp2_plugin_init(void); -extern void grpc_chttp2_plugin_shutdown(void); -extern void grpc_deadline_filter_init(void); -extern void grpc_deadline_filter_shutdown(void); -extern void grpc_client_channel_init(void); -extern void grpc_client_channel_shutdown(void); -extern void grpc_inproc_plugin_init(void); -extern void grpc_inproc_plugin_shutdown(void); -extern void grpc_resolver_dns_ares_init(void); -extern void grpc_resolver_dns_ares_shutdown(void); -extern void grpc_resolver_dns_native_init(void); -extern void grpc_resolver_dns_native_shutdown(void); -extern void grpc_resolver_sockaddr_init(void); -extern void grpc_resolver_sockaddr_shutdown(void); -extern void grpc_resolver_fake_init(void); -extern void grpc_resolver_fake_shutdown(void); -extern void grpc_server_load_reporting_plugin_init(void); -extern void grpc_server_load_reporting_plugin_shutdown(void); -extern void grpc_lb_policy_grpclb_init(void); -extern void grpc_lb_policy_grpclb_shutdown(void); -extern void grpc_lb_policy_pick_first_init(void); -extern void grpc_lb_policy_pick_first_shutdown(void); -extern void grpc_lb_policy_round_robin_init(void); -extern void grpc_lb_policy_round_robin_shutdown(void); -extern void census_grpc_plugin_init(void); -extern void census_grpc_plugin_shutdown(void); -extern void grpc_max_age_filter_init(void); -extern void grpc_max_age_filter_shutdown(void); -extern void grpc_message_size_filter_init(void); -extern void grpc_message_size_filter_shutdown(void); -extern void grpc_workaround_cronet_compression_filter_init(void); -extern void grpc_workaround_cronet_compression_filter_shutdown(void); +extern "C" void grpc_http_filters_init(void); +extern "C" void grpc_http_filters_shutdown(void); +extern "C" void grpc_chttp2_plugin_init(void); +extern "C" void grpc_chttp2_plugin_shutdown(void); +extern "C" void grpc_deadline_filter_init(void); +extern "C" void grpc_deadline_filter_shutdown(void); +extern "C" void grpc_client_channel_init(void); +extern "C" void grpc_client_channel_shutdown(void); +extern "C" void grpc_inproc_plugin_init(void); +extern "C" void grpc_inproc_plugin_shutdown(void); +extern "C" void grpc_resolver_dns_ares_init(void); +extern "C" void grpc_resolver_dns_ares_shutdown(void); +extern "C" void grpc_resolver_dns_native_init(void); +extern "C" void grpc_resolver_dns_native_shutdown(void); +extern "C" void grpc_resolver_sockaddr_init(void); +extern "C" void grpc_resolver_sockaddr_shutdown(void); +extern "C" void grpc_resolver_fake_init(void); +extern "C" void grpc_resolver_fake_shutdown(void); +extern "C" void grpc_server_load_reporting_plugin_init(void); +extern "C" void grpc_server_load_reporting_plugin_shutdown(void); +extern "C" void grpc_lb_policy_grpclb_init(void); +extern "C" void grpc_lb_policy_grpclb_shutdown(void); +extern "C" void grpc_lb_policy_pick_first_init(void); +extern "C" void grpc_lb_policy_pick_first_shutdown(void); +extern "C" void grpc_lb_policy_round_robin_init(void); +extern "C" void grpc_lb_policy_round_robin_shutdown(void); +extern "C" void census_grpc_plugin_init(void); +extern "C" void census_grpc_plugin_shutdown(void); +extern "C" void grpc_max_age_filter_init(void); +extern "C" void grpc_max_age_filter_shutdown(void); +extern "C" void grpc_message_size_filter_init(void); +extern "C" void grpc_message_size_filter_shutdown(void); +extern "C" void grpc_workaround_cronet_compression_filter_init(void); +extern "C" void grpc_workaround_cronet_compression_filter_shutdown(void); void grpc_register_built_in_plugins(void) { grpc_register_plugin(grpc_http_filters_init, diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 7b684f2a585..29e210042d2 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -321,7 +321,7 @@ CORE_SOURCE_FILES = [ 'src/core/ext/filters/message_size/message_size_filter.c', 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c', 'src/core/ext/filters/workarounds/workaround_utils.c', - 'src/core/plugin_registry/grpc_plugin_registry.c', + 'src/core/plugin_registry/grpc_plugin_registry.cc', 'src/boringssl/err_data.c', 'third_party/boringssl/crypto/aes/aes.c', 'third_party/boringssl/crypto/aes/key_wrap.c', diff --git a/templates/src/core/lib/surface/version.c.template b/templates/src/core/lib/surface/version.cc.template similarity index 100% rename from templates/src/core/lib/surface/version.c.template rename to templates/src/core/lib/surface/version.cc.template diff --git a/templates/src/core/plugin_registry.template b/templates/src/core/plugin_registry.template index cf0f4f523e5..8d7617129f8 100644 --- a/templates/src/core/plugin_registry.template +++ b/templates/src/core/plugin_registry.template @@ -2,7 +2,7 @@ --- foreach: libs cond: selected.get('generate_plugin_registry', False) -output_name: ${selected.name}_plugin_registry.c +output_name: ${selected.name}_plugin_registry.cc template: | /* * @@ -25,8 +25,8 @@ template: | #include %for plugin in selected.plugins: - extern void ${plugin}_init(void); - extern void ${plugin}_shutdown(void); + extern "C" void ${plugin}_init(void); + extern "C" void ${plugin}_shutdown(void); %endfor void grpc_register_built_in_plugins(void) { diff --git a/tools/buildgen/plugins/expand_filegroups.py b/tools/buildgen/plugins/expand_filegroups.py index dc073d72b80..669704063eb 100755 --- a/tools/buildgen/plugins/expand_filegroups.py +++ b/tools/buildgen/plugins/expand_filegroups.py @@ -146,7 +146,7 @@ def mako_plugin(dictionary): lib[lst] = vals lib['plugins'] = plugins if lib.get('generate_plugin_registry', False): - lib['src'].append('src/core/plugin_registry/%s_plugin_registry.c' % + lib['src'].append('src/core/plugin_registry/%s_plugin_registry.cc' % lib['name']) for lst in FILEGROUP_LISTS: lib[lst] = uniquify(lib.get(lst, [])) diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 33cafacdde1..205cb2971e4 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1417,7 +1417,7 @@ src/core/lib/transport/transport.c \ src/core/lib/transport/transport.h \ src/core/lib/transport/transport_impl.h \ src/core/lib/transport/transport_op_string.c \ -src/core/plugin_registry/grpc_plugin_registry.c \ +src/core/plugin_registry/grpc_plugin_registry.cc \ src/core/tsi/README.md \ src/core/tsi/fake_transport_security.c \ src/core/tsi/fake_transport_security.h \ From 83062842c3601faeddcae8f901c515e3c78f3661 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 21 Sep 2017 18:56:08 -0700 Subject: [PATCH 085/180] Changes for C to C++. Adding extern C to header files for compatibility. Also converting to .cc --- CMakeLists.txt | 2652 ++++++++-------- Makefile | 2724 ++++++++--------- binding.gyp | 602 ++-- build.yaml | 656 ++-- config.m4 | 602 ++-- config.w32 | 602 ++-- gRPC-Core.podspec | 602 ++-- grpc.gemspec | 602 ++-- grpc.gyp | 1822 ++++++----- package.xml | 602 ++-- .../{base_resources.c => base_resources.cc} | 0 .../census/{census_init.c => census_init.cc} | 0 .../census/{census_log.c => census_log.cc} | 0 ...census_rpc_stats.c => census_rpc_stats.cc} | 0 .../{census_tracing.c => census_tracing.cc} | 0 src/core/ext/census/{context.c => context.cc} | 0 .../census/gen/{census.pb.c => census.pb.cc} | 0 ...trace_context.pb.c => trace_context.pb.cc} | 0 .../{grpc_context.c => grpc_context.cc} | 0 .../census/{grpc_filter.c => grpc_filter.cc} | 0 .../census/{grpc_plugin.c => grpc_plugin.cc} | 4 +- .../census/{hash_table.c => hash_table.cc} | 0 .../census/{initialize.c => initialize.cc} | 0 ...usive_hash_map.c => intrusive_hash_map.cc} | 0 src/core/ext/census/{mlog.c => mlog.cc} | 0 .../ext/census/{operation.c => operation.cc} | 0 .../{placeholders.c => placeholders.cc} | 0 .../ext/census/{resource.c => resource.cc} | 0 .../{trace_context.c => trace_context.cc} | 0 src/core/ext/census/{tracing.c => tracing.cc} | 0 .../{window_stats.c => window_stats.cc} | 0 ...connectivity.c => channel_connectivity.cc} | 0 .../{client_channel.c => client_channel.cc} | 0 ...el_factory.c => client_channel_factory.cc} | 0 ...nnel_plugin.c => client_channel_plugin.cc} | 4 +- .../{connector.c => connector.cc} | 0 ...andshaker.c => http_connect_handshaker.cc} | 0 .../{http_proxy.c => http_proxy.cc} | 0 .../{lb_policy.c => lb_policy.cc} | 0 ...lter.c => client_load_reporting_filter.cc} | 0 .../lb_policy/grpclb/{grpclb.c => grpclb.cc} | 4 +- .../{grpclb_channel.c => grpclb_channel.cc} | 0 ...nnel_secure.c => grpclb_channel_secure.cc} | 0 ..._client_stats.c => grpclb_client_stats.cc} | 0 ...ad_balancer_api.c => load_balancer_api.cc} | 0 ...load_balancer.pb.c => load_balancer.pb.cc} | 0 .../{pick_first.c => pick_first.cc} | 4 +- .../{round_robin.c => round_robin.cc} | 4 +- ..._policy_factory.c => lb_policy_factory.cc} | 0 ...olicy_registry.c => lb_policy_registry.cc} | 0 .../{parse_address.c => parse_address.cc} | 0 .../{proxy_mapper.c => proxy_mapper.cc} | 0 ...er_registry.c => proxy_mapper_registry.cc} | 0 .../{resolver.c => resolver.cc} | 0 ...s_resolver_ares.c => dns_resolver_ares.cc} | 8 +- ...r_posix.c => grpc_ares_ev_driver_posix.cc} | 0 ...pc_ares_wrapper.c => grpc_ares_wrapper.cc} | 0 ...llback.c => grpc_ares_wrapper_fallback.cc} | 0 .../{dns_resolver.c => dns_resolver.cc} | 4 +- .../{fake_resolver.c => fake_resolver.cc} | 4 +- ...ckaddr_resolver.c => sockaddr_resolver.cc} | 4 +- ...resolver_factory.c => resolver_factory.cc} | 0 ...solver_registry.c => resolver_registry.cc} | 0 .../{retry_throttle.c => retry_throttle.cc} | 0 .../{subchannel.c => subchannel.cc} | 0 ...subchannel_index.c => subchannel_index.cc} | 0 .../{uri_parser.c => uri_parser.cc} | 0 .../{deadline_filter.c => deadline_filter.cc} | 4 +- ..._client_filter.c => http_client_filter.cc} | 0 ...ilters_plugin.c => http_filters_plugin.cc} | 0 ...ss_filter.c => message_compress_filter.cc} | 0 ..._server_filter.c => http_server_filter.cc} | 0 ...lter.c => server_load_reporting_filter.cc} | 0 ...ugin.c => server_load_reporting_plugin.cc} | 4 +- .../{max_age_filter.c => max_age_filter.cc} | 4 +- ...e_size_filter.c => message_size_filter.cc} | 4 +- ...> workaround_cronet_compression_filter.cc} | 4 +- ...workaround_utils.c => workaround_utils.cc} | 0 .../transport/chttp2/alpn/{alpn.c => alpn.cc} | 0 ...chttp2_connector.c => chttp2_connector.cc} | 0 .../{channel_create.c => channel_create.cc} | 0 ...create_posix.c => channel_create_posix.cc} | 0 ...nnel_create.c => secure_channel_create.cc} | 0 .../{chttp2_server.c => chttp2_server.cc} | 0 .../{server_chttp2.c => server_chttp2.cc} | 0 ..._chttp2_posix.c => server_chttp2_posix.cc} | 0 ...ecure_chttp2.c => server_secure_chttp2.cc} | 0 .../{bin_decoder.c => bin_decoder.cc} | 0 .../{bin_encoder.c => bin_encoder.cc} | 0 .../{chttp2_plugin.c => chttp2_plugin.cc} | 4 +- ...chttp2_transport.c => chttp2_transport.cc} | 0 .../{flow_control.c => flow_control.cc} | 0 .../transport/{frame_data.c => frame_data.cc} | 0 .../{frame_goaway.c => frame_goaway.cc} | 0 .../transport/{frame_ping.c => frame_ping.cc} | 0 ...frame_rst_stream.c => frame_rst_stream.cc} | 0 .../{frame_settings.c => frame_settings.cc} | 0 ...window_update.c => frame_window_update.cc} | 0 .../{hpack_encoder.c => hpack_encoder.cc} | 0 .../{hpack_parser.c => hpack_parser.cc} | 0 .../{hpack_table.c => hpack_table.cc} | 0 .../{http2_settings.c => http2_settings.cc} | 0 .../transport/{huffsyms.c => huffsyms.cc} | 0 ...coming_metadata.c => incoming_metadata.cc} | 0 .../transport/{parsing.c => parsing.cc} | 0 .../{stream_lists.c => stream_lists.cc} | 0 .../transport/{stream_map.c => stream_map.cc} | 0 .../chttp2/transport/{varint.c => varint.cc} | 0 .../transport/{writing.c => writing.cc} | 0 ...nnel_create.c => cronet_channel_create.cc} | 0 ...cronet_api_dummy.c => cronet_api_dummy.cc} | 0 ...cronet_transport.c => cronet_transport.cc} | 0 .../{inproc_plugin.c => inproc_plugin.cc} | 6 +- ...inproc_transport.c => inproc_transport.cc} | 0 .../{channel_args.c => channel_args.cc} | 0 .../{channel_stack.c => channel_stack.cc} | 0 ...ack_builder.c => channel_stack_builder.cc} | 0 ...nnected_channel.c => connected_channel.cc} | 0 .../channel/{handshaker.c => handshaker.cc} | 0 ...shaker_factory.c => handshaker_factory.cc} | 0 ...aker_registry.c => handshaker_registry.cc} | 0 .../{compression.c => compression.cc} | 0 ...message_compress.c => message_compress.cc} | 0 ...am_compression.c => stream_compression.cc} | 0 src/core/lib/debug/{stats.c => stats.cc} | 0 .../lib/debug/{stats_data.c => stats_data.cc} | 0 src/core/lib/debug/{trace.c => trace.cc} | 0 .../{format_request.c => format_request.cc} | 0 src/core/lib/http/{httpcli.c => httpcli.cc} | 0 ...nector.c => httpcli_security_connector.cc} | 0 src/core/lib/http/{parser.c => parser.cc} | 0 .../{call_combiner.c => call_combiner.cc} | 0 src/core/lib/iomgr/{closure.c => closure.cc} | 0 .../lib/iomgr/{combiner.c => combiner.cc} | 0 .../lib/iomgr/{endpoint.c => endpoint.cc} | 0 ...nt_pair_posix.c => endpoint_pair_posix.cc} | 0 ...endpoint_pair_uv.c => endpoint_pair_uv.cc} | 0 ...air_windows.c => endpoint_pair_windows.cc} | 0 src/core/lib/iomgr/{error.c => error.cc} | 0 .../{ev_epoll1_linux.c => ev_epoll1_linux.cc} | 0 ...ev_epollex_linux.c => ev_epollex_linux.cc} | 0 ..._epollsig_linux.c => ev_epollsig_linux.cc} | 0 .../{ev_poll_posix.c => ev_poll_posix.cc} | 0 .../lib/iomgr/{ev_posix.c => ev_posix.cc} | 0 .../lib/iomgr/{ev_windows.c => ev_windows.cc} | 0 .../lib/iomgr/{exec_ctx.c => exec_ctx.cc} | 0 .../lib/iomgr/{executor.c => executor.cc} | 0 ...ame_fallback.c => gethostname_fallback.cc} | 0 ...ame_max.c => gethostname_host_name_max.cc} | 0 ...tname_sysconf.c => gethostname_sysconf.cc} | 0 .../iomgr/{iocp_windows.c => iocp_windows.cc} | 0 src/core/lib/iomgr/{iomgr.c => iomgr.cc} | 0 .../iomgr/{iomgr_posix.c => iomgr_posix.cc} | 0 .../lib/iomgr/{iomgr_uv.c => iomgr_uv.cc} | 0 .../{iomgr_windows.c => iomgr_windows.cc} | 0 ...lable.c => is_epollexclusive_available.cc} | 0 .../lib/iomgr/{load_file.c => load_file.cc} | 0 .../{lockfree_event.c => lockfree_event.cc} | 0 ...us_tracker.c => network_status_tracker.cc} | 0 .../{polling_entity.c => polling_entity.cc} | 0 .../{pollset_set_uv.c => pollset_set_uv.cc} | 0 ...t_set_windows.c => pollset_set_windows.cc} | 0 .../lib/iomgr/{pollset_uv.c => pollset_uv.cc} | 0 .../{pollset_windows.c => pollset_windows.cc} | 0 ...dress_posix.c => resolve_address_posix.cc} | 0 ...lve_address_uv.c => resolve_address_uv.cc} | 0 ...s_windows.c => resolve_address_windows.cc} | 0 .../{resource_quota.c => resource_quota.cc} | 0 .../{sockaddr_utils.c => sockaddr_utils.cc} | 0 ...actory_posix.c => socket_factory_posix.cc} | 0 .../{socket_mutator.c => socket_mutator.cc} | 0 ...n_posix.c => socket_utils_common_posix.cc} | 0 ...et_utils_linux.c => socket_utils_linux.cc} | 0 ...et_utils_posix.c => socket_utils_posix.cc} | 0 .../{socket_utils_uv.c => socket_utils_uv.cc} | 0 ...tils_windows.c => socket_utils_windows.cc} | 0 .../{socket_windows.c => socket_windows.cc} | 0 ...tcp_client_posix.c => tcp_client_posix.cc} | 0 .../{tcp_client_uv.c => tcp_client_uv.cc} | 0 ...client_windows.c => tcp_client_windows.cc} | 0 .../lib/iomgr/{tcp_posix.c => tcp_posix.cc} | 0 ...tcp_server_posix.c => tcp_server_posix.cc} | 0 ...mon.c => tcp_server_utils_posix_common.cc} | 0 ...rs.c => tcp_server_utils_posix_ifaddrs.cc} | 0 ....c => tcp_server_utils_posix_noifaddrs.cc} | 0 .../{tcp_server_uv.c => tcp_server_uv.cc} | 0 ...server_windows.c => tcp_server_windows.cc} | 0 src/core/lib/iomgr/{tcp_uv.c => tcp_uv.cc} | 0 .../iomgr/{tcp_windows.c => tcp_windows.cc} | 0 ...veraged_stats.c => time_averaged_stats.cc} | 0 .../{timer_generic.c => timer_generic.cc} | 0 .../lib/iomgr/{timer_heap.c => timer_heap.cc} | 0 .../{timer_manager.c => timer_manager.cc} | 0 .../lib/iomgr/{timer_uv.c => timer_uv.cc} | 0 .../lib/iomgr/{udp_server.c => udp_server.cc} | 0 ..._sockets_posix.c => unix_sockets_posix.cc} | 0 ...osix_noop.c => unix_sockets_posix_noop.cc} | 0 .../iomgr/{wakeup_fd_cv.c => wakeup_fd_cv.cc} | 0 ...keup_fd_eventfd.c => wakeup_fd_eventfd.cc} | 0 ..._fd_nospecial.c => wakeup_fd_nospecial.cc} | 0 .../{wakeup_fd_pipe.c => wakeup_fd_pipe.cc} | 0 .../{wakeup_fd_posix.c => wakeup_fd_posix.cc} | 0 src/core/lib/json/{json.c => json.cc} | 0 .../json/{json_reader.c => json_reader.cc} | 0 .../json/{json_string.c => json_string.cc} | 0 .../json/{json_writer.c => json_writer.cc} | 0 .../{basic_timers.c => basic_timers.cc} | 0 .../{stap_timers.c => stap_timers.cc} | 0 ...security_context.c => security_context.cc} | 0 ...credentials.c => composite_credentials.cc} | 0 .../{credentials.c => credentials.cc} | 0 ...als_metadata.c => credentials_metadata.cc} | 0 ...fake_credentials.c => fake_credentials.cc} | 0 ...tials_generic.c => credentials_generic.cc} | 0 ...ntials.c => google_default_credentials.cc} | 1 + .../{iam_credentials.c => iam_credentials.cc} | 0 .../jwt/{json_token.c => json_token.cc} | 0 .../{jwt_credentials.c => jwt_credentials.cc} | 0 .../jwt/{jwt_verifier.c => jwt_verifier.cc} | 0 ...h2_credentials.c => oauth2_credentials.cc} | 0 ...in_credentials.c => plugin_credentials.cc} | 0 .../{ssl_credentials.c => ssl_credentials.cc} | 0 ...nt_auth_filter.c => client_auth_filter.cc} | 0 .../{lb_targets_info.c => lb_targets_info.cc} | 0 .../{secure_endpoint.c => secure_endpoint.cc} | 0 ...rity_connector.c => security_connector.cc} | 0 ...ty_handshaker.c => security_handshaker.cc} | 0 ...er_auth_filter.c => server_auth_filter.cc} | 0 .../transport/{tsi_error.c => tsi_error.cc} | 0 .../util/{json_util.c => json_util.cc} | 0 src/core/lib/slice/{b64.c => b64.cc} | 0 ...percent_encoding.c => percent_encoding.cc} | 0 src/core/lib/slice/{slice.c => slice.cc} | 0 .../slice/{slice_buffer.c => slice_buffer.cc} | 0 ...slice_hash_table.c => slice_hash_table.cc} | 0 .../slice/{slice_intern.c => slice_intern.cc} | 0 ...ring_helpers.c => slice_string_helpers.cc} | 0 src/core/lib/support/{alloc.c => alloc.cc} | 0 src/core/lib/support/{arena.c => arena.cc} | 0 src/core/lib/support/{atm.c => atm.cc} | 0 src/core/lib/support/{avl.c => avl.cc} | 0 .../lib/support/{backoff.c => backoff.cc} | 0 .../lib/support/{cmdline.c => cmdline.cc} | 0 .../support/{cpu_iphone.c => cpu_iphone.cc} | 0 .../lib/support/{cpu_linux.c => cpu_linux.cc} | 0 .../lib/support/{cpu_posix.c => cpu_posix.cc} | 0 .../support/{cpu_windows.c => cpu_windows.cc} | 0 .../lib/support/{env_linux.c => env_linux.cc} | 0 .../lib/support/{env_posix.c => env_posix.cc} | 0 .../support/{env_windows.c => env_windows.cc} | 0 .../lib/support/{histogram.c => histogram.cc} | 0 .../lib/support/{host_port.c => host_port.cc} | 0 src/core/lib/support/{log.c => log.cc} | 0 .../support/{log_android.c => log_android.cc} | 0 .../lib/support/{log_linux.c => log_linux.cc} | 0 .../lib/support/{log_posix.c => log_posix.cc} | 0 .../support/{log_windows.c => log_windows.cc} | 0 src/core/lib/support/{mpscq.c => mpscq.cc} | 0 .../support/{murmur_hash.c => murmur_hash.cc} | 0 .../{stack_lockfree.c => stack_lockfree.cc} | 0 src/core/lib/support/{string.c => string.cc} | 0 .../{string_posix.c => string_posix.cc} | 0 ..._util_windows.c => string_util_windows.cc} | 0 .../{string_windows.c => string_windows.cc} | 0 ...subprocess_posix.c => subprocess_posix.cc} | 0 ...rocess_windows.c => subprocess_windows.cc} | 0 src/core/lib/support/{sync.c => sync.cc} | 0 .../support/{sync_posix.c => sync_posix.cc} | 0 .../{sync_windows.c => sync_windows.cc} | 0 src/core/lib/support/{thd.c => thd.cc} | 0 .../lib/support/{thd_posix.c => thd_posix.cc} | 0 .../support/{thd_windows.c => thd_windows.cc} | 0 src/core/lib/support/{time.c => time.cc} | 0 .../support/{time_posix.c => time_posix.cc} | 0 .../{time_precise.c => time_precise.cc} | 0 .../{time_windows.c => time_windows.cc} | 0 .../support/{tls_pthread.c => tls_pthread.cc} | 0 .../{tmpfile_msys.c => tmpfile_msys.cc} | 0 .../{tmpfile_posix.c => tmpfile_posix.cc} | 0 .../{tmpfile_windows.c => tmpfile_windows.cc} | 0 .../support/{wrap_memcpy.c => wrap_memcpy.cc} | 0 src/core/lib/surface/{alarm.c => alarm.cc} | 0 .../lib/surface/{api_trace.c => api_trace.cc} | 0 .../surface/{byte_buffer.c => byte_buffer.cc} | 0 ..._buffer_reader.c => byte_buffer_reader.cc} | 0 src/core/lib/surface/{call.c => call.cc} | 0 .../{call_details.c => call_details.cc} | 0 .../{call_log_batch.c => call_log_batch.cc} | 0 .../lib/surface/{channel.c => channel.cc} | 0 .../{channel_init.c => channel_init.cc} | 0 .../{channel_ping.c => channel_ping.cc} | 0 ...nel_stack_type.c => channel_stack_type.cc} | 0 ...completion_queue.c => completion_queue.cc} | 0 ..._factory.c => completion_queue_factory.cc} | 0 .../{event_string.c => event_string.cc} | 0 src/core/lib/surface/{init.c => init.cc} | 0 .../surface/{init_secure.c => init_secure.cc} | 0 .../{init_unsecure.c => init_unsecure.cc} | 0 .../{metadata_array.c => metadata_array.cc} | 0 src/core/lib/surface/{server.c => server.cc} | 0 ...lidate_metadata.c => validate_metadata.cc} | 0 .../{bdp_estimator.c => bdp_estimator.cc} | 0 .../{byte_stream.c => byte_stream.cc} | 0 ...ectivity_state.c => connectivity_state.cc} | 0 .../{error_utils.c => error_utils.cc} | 0 .../lib/transport/{metadata.c => metadata.cc} | 0 .../{metadata_batch.c => metadata_batch.cc} | 0 .../{pid_controller.c => pid_controller.cc} | 0 .../{service_config.c => service_config.cc} | 0 .../{static_metadata.c => static_metadata.cc} | 0 ...atus_conversion.c => status_conversion.cc} | 0 ...timeout_encoding.c => timeout_encoding.cc} | 0 .../transport/{transport.c => transport.cc} | 0 ...ort_op_string.c => transport_op_string.cc} | 0 ..._security.c => fake_transport_security.cc} | 0 ...t_security.c => gts_transport_security.cc} | 4 +- ...t_security.c => ssl_transport_security.cc} | 0 ...sport_security.c => transport_security.cc} | 0 ...dapter.c => transport_security_adapter.cc} | 0 ...rity_grpc.c => transport_security_grpc.cc} | 0 src/python/grpcio/grpc_core_dependencies.py | 602 ++-- tools/doxygen/Doxyfile.core.internal | 602 ++-- .../generated/sources_and_headers.json | 656 ++-- 323 files changed, 6676 insertions(+), 6725 deletions(-) rename src/core/ext/census/{base_resources.c => base_resources.cc} (100%) rename src/core/ext/census/{census_init.c => census_init.cc} (100%) rename src/core/ext/census/{census_log.c => census_log.cc} (100%) rename src/core/ext/census/{census_rpc_stats.c => census_rpc_stats.cc} (100%) rename src/core/ext/census/{census_tracing.c => census_tracing.cc} (100%) rename src/core/ext/census/{context.c => context.cc} (100%) rename src/core/ext/census/gen/{census.pb.c => census.pb.cc} (100%) rename src/core/ext/census/gen/{trace_context.pb.c => trace_context.pb.cc} (100%) rename src/core/ext/census/{grpc_context.c => grpc_context.cc} (100%) rename src/core/ext/census/{grpc_filter.c => grpc_filter.cc} (100%) rename src/core/ext/census/{grpc_plugin.c => grpc_plugin.cc} (95%) rename src/core/ext/census/{hash_table.c => hash_table.cc} (100%) rename src/core/ext/census/{initialize.c => initialize.cc} (100%) rename src/core/ext/census/{intrusive_hash_map.c => intrusive_hash_map.cc} (100%) rename src/core/ext/census/{mlog.c => mlog.cc} (100%) rename src/core/ext/census/{operation.c => operation.cc} (100%) rename src/core/ext/census/{placeholders.c => placeholders.cc} (100%) rename src/core/ext/census/{resource.c => resource.cc} (100%) rename src/core/ext/census/{trace_context.c => trace_context.cc} (100%) rename src/core/ext/census/{tracing.c => tracing.cc} (100%) rename src/core/ext/census/{window_stats.c => window_stats.cc} (100%) rename src/core/ext/filters/client_channel/{channel_connectivity.c => channel_connectivity.cc} (100%) rename src/core/ext/filters/client_channel/{client_channel.c => client_channel.cc} (100%) rename src/core/ext/filters/client_channel/{client_channel_factory.c => client_channel_factory.cc} (100%) rename src/core/ext/filters/client_channel/{client_channel_plugin.c => client_channel_plugin.cc} (97%) rename src/core/ext/filters/client_channel/{connector.c => connector.cc} (100%) rename src/core/ext/filters/client_channel/{http_connect_handshaker.c => http_connect_handshaker.cc} (100%) rename src/core/ext/filters/client_channel/{http_proxy.c => http_proxy.cc} (100%) rename src/core/ext/filters/client_channel/{lb_policy.c => lb_policy.cc} (100%) rename src/core/ext/filters/client_channel/lb_policy/grpclb/{client_load_reporting_filter.c => client_load_reporting_filter.cc} (100%) rename src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb.c => grpclb.cc} (99%) rename src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_channel.c => grpclb_channel.cc} (100%) rename src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_channel_secure.c => grpclb_channel_secure.cc} (100%) rename src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_client_stats.c => grpclb_client_stats.cc} (100%) rename src/core/ext/filters/client_channel/lb_policy/grpclb/{load_balancer_api.c => load_balancer_api.cc} (100%) rename src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/{load_balancer.pb.c => load_balancer.pb.cc} (100%) rename src/core/ext/filters/client_channel/lb_policy/pick_first/{pick_first.c => pick_first.cc} (99%) rename src/core/ext/filters/client_channel/lb_policy/round_robin/{round_robin.c => round_robin.cc} (99%) rename src/core/ext/filters/client_channel/{lb_policy_factory.c => lb_policy_factory.cc} (100%) rename src/core/ext/filters/client_channel/{lb_policy_registry.c => lb_policy_registry.cc} (100%) rename src/core/ext/filters/client_channel/{parse_address.c => parse_address.cc} (100%) rename src/core/ext/filters/client_channel/{proxy_mapper.c => proxy_mapper.cc} (100%) rename src/core/ext/filters/client_channel/{proxy_mapper_registry.c => proxy_mapper_registry.cc} (100%) rename src/core/ext/filters/client_channel/{resolver.c => resolver.cc} (100%) rename src/core/ext/filters/client_channel/resolver/dns/c_ares/{dns_resolver_ares.c => dns_resolver_ares.cc} (98%) rename src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_ev_driver_posix.c => grpc_ares_ev_driver_posix.cc} (100%) rename src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_wrapper.c => grpc_ares_wrapper.cc} (100%) rename src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_wrapper_fallback.c => grpc_ares_wrapper_fallback.cc} (100%) rename src/core/ext/filters/client_channel/resolver/dns/native/{dns_resolver.c => dns_resolver.cc} (99%) rename src/core/ext/filters/client_channel/resolver/fake/{fake_resolver.c => fake_resolver.cc} (98%) rename src/core/ext/filters/client_channel/resolver/sockaddr/{sockaddr_resolver.c => sockaddr_resolver.cc} (98%) rename src/core/ext/filters/client_channel/{resolver_factory.c => resolver_factory.cc} (100%) rename src/core/ext/filters/client_channel/{resolver_registry.c => resolver_registry.cc} (100%) rename src/core/ext/filters/client_channel/{retry_throttle.c => retry_throttle.cc} (100%) rename src/core/ext/filters/client_channel/{subchannel.c => subchannel.cc} (100%) rename src/core/ext/filters/client_channel/{subchannel_index.c => subchannel_index.cc} (100%) rename src/core/ext/filters/client_channel/{uri_parser.c => uri_parser.cc} (100%) rename src/core/ext/filters/deadline/{deadline_filter.c => deadline_filter.cc} (99%) rename src/core/ext/filters/http/client/{http_client_filter.c => http_client_filter.cc} (100%) rename src/core/ext/filters/http/{http_filters_plugin.c => http_filters_plugin.cc} (100%) rename src/core/ext/filters/http/message_compress/{message_compress_filter.c => message_compress_filter.cc} (100%) rename src/core/ext/filters/http/server/{http_server_filter.c => http_server_filter.cc} (100%) rename src/core/ext/filters/load_reporting/{server_load_reporting_filter.c => server_load_reporting_filter.cc} (100%) rename src/core/ext/filters/load_reporting/{server_load_reporting_plugin.c => server_load_reporting_plugin.cc} (95%) rename src/core/ext/filters/max_age/{max_age_filter.c => max_age_filter.cc} (99%) rename src/core/ext/filters/message_size/{message_size_filter.c => message_size_filter.cc} (99%) rename src/core/ext/filters/workarounds/{workaround_cronet_compression_filter.c => workaround_cronet_compression_filter.cc} (98%) rename src/core/ext/filters/workarounds/{workaround_utils.c => workaround_utils.cc} (100%) rename src/core/ext/transport/chttp2/alpn/{alpn.c => alpn.cc} (100%) rename src/core/ext/transport/chttp2/client/{chttp2_connector.c => chttp2_connector.cc} (100%) rename src/core/ext/transport/chttp2/client/insecure/{channel_create.c => channel_create.cc} (100%) rename src/core/ext/transport/chttp2/client/insecure/{channel_create_posix.c => channel_create_posix.cc} (100%) rename src/core/ext/transport/chttp2/client/secure/{secure_channel_create.c => secure_channel_create.cc} (100%) rename src/core/ext/transport/chttp2/server/{chttp2_server.c => chttp2_server.cc} (100%) rename src/core/ext/transport/chttp2/server/insecure/{server_chttp2.c => server_chttp2.cc} (100%) rename src/core/ext/transport/chttp2/server/insecure/{server_chttp2_posix.c => server_chttp2_posix.cc} (100%) rename src/core/ext/transport/chttp2/server/secure/{server_secure_chttp2.c => server_secure_chttp2.cc} (100%) rename src/core/ext/transport/chttp2/transport/{bin_decoder.c => bin_decoder.cc} (100%) rename src/core/ext/transport/chttp2/transport/{bin_encoder.c => bin_encoder.cc} (100%) rename src/core/ext/transport/chttp2/transport/{chttp2_plugin.c => chttp2_plugin.cc} (90%) rename src/core/ext/transport/chttp2/transport/{chttp2_transport.c => chttp2_transport.cc} (100%) rename src/core/ext/transport/chttp2/transport/{flow_control.c => flow_control.cc} (100%) rename src/core/ext/transport/chttp2/transport/{frame_data.c => frame_data.cc} (100%) rename src/core/ext/transport/chttp2/transport/{frame_goaway.c => frame_goaway.cc} (100%) rename src/core/ext/transport/chttp2/transport/{frame_ping.c => frame_ping.cc} (100%) rename src/core/ext/transport/chttp2/transport/{frame_rst_stream.c => frame_rst_stream.cc} (100%) rename src/core/ext/transport/chttp2/transport/{frame_settings.c => frame_settings.cc} (100%) rename src/core/ext/transport/chttp2/transport/{frame_window_update.c => frame_window_update.cc} (100%) rename src/core/ext/transport/chttp2/transport/{hpack_encoder.c => hpack_encoder.cc} (100%) rename src/core/ext/transport/chttp2/transport/{hpack_parser.c => hpack_parser.cc} (100%) rename src/core/ext/transport/chttp2/transport/{hpack_table.c => hpack_table.cc} (100%) rename src/core/ext/transport/chttp2/transport/{http2_settings.c => http2_settings.cc} (100%) rename src/core/ext/transport/chttp2/transport/{huffsyms.c => huffsyms.cc} (100%) rename src/core/ext/transport/chttp2/transport/{incoming_metadata.c => incoming_metadata.cc} (100%) rename src/core/ext/transport/chttp2/transport/{parsing.c => parsing.cc} (100%) rename src/core/ext/transport/chttp2/transport/{stream_lists.c => stream_lists.cc} (100%) rename src/core/ext/transport/chttp2/transport/{stream_map.c => stream_map.cc} (100%) rename src/core/ext/transport/chttp2/transport/{varint.c => varint.cc} (100%) rename src/core/ext/transport/chttp2/transport/{writing.c => writing.cc} (100%) rename src/core/ext/transport/cronet/client/secure/{cronet_channel_create.c => cronet_channel_create.cc} (100%) rename src/core/ext/transport/cronet/transport/{cronet_api_dummy.c => cronet_api_dummy.cc} (100%) rename src/core/ext/transport/cronet/transport/{cronet_transport.c => cronet_transport.cc} (100%) rename src/core/ext/transport/inproc/{inproc_plugin.c => inproc_plugin.cc} (86%) rename src/core/ext/transport/inproc/{inproc_transport.c => inproc_transport.cc} (100%) rename src/core/lib/channel/{channel_args.c => channel_args.cc} (100%) rename src/core/lib/channel/{channel_stack.c => channel_stack.cc} (100%) rename src/core/lib/channel/{channel_stack_builder.c => channel_stack_builder.cc} (100%) rename src/core/lib/channel/{connected_channel.c => connected_channel.cc} (100%) rename src/core/lib/channel/{handshaker.c => handshaker.cc} (100%) rename src/core/lib/channel/{handshaker_factory.c => handshaker_factory.cc} (100%) rename src/core/lib/channel/{handshaker_registry.c => handshaker_registry.cc} (100%) rename src/core/lib/compression/{compression.c => compression.cc} (100%) rename src/core/lib/compression/{message_compress.c => message_compress.cc} (100%) rename src/core/lib/compression/{stream_compression.c => stream_compression.cc} (100%) rename src/core/lib/debug/{stats.c => stats.cc} (100%) rename src/core/lib/debug/{stats_data.c => stats_data.cc} (100%) rename src/core/lib/debug/{trace.c => trace.cc} (100%) rename src/core/lib/http/{format_request.c => format_request.cc} (100%) rename src/core/lib/http/{httpcli.c => httpcli.cc} (100%) rename src/core/lib/http/{httpcli_security_connector.c => httpcli_security_connector.cc} (100%) rename src/core/lib/http/{parser.c => parser.cc} (100%) rename src/core/lib/iomgr/{call_combiner.c => call_combiner.cc} (100%) rename src/core/lib/iomgr/{closure.c => closure.cc} (100%) rename src/core/lib/iomgr/{combiner.c => combiner.cc} (100%) rename src/core/lib/iomgr/{endpoint.c => endpoint.cc} (100%) rename src/core/lib/iomgr/{endpoint_pair_posix.c => endpoint_pair_posix.cc} (100%) rename src/core/lib/iomgr/{endpoint_pair_uv.c => endpoint_pair_uv.cc} (100%) rename src/core/lib/iomgr/{endpoint_pair_windows.c => endpoint_pair_windows.cc} (100%) rename src/core/lib/iomgr/{error.c => error.cc} (100%) rename src/core/lib/iomgr/{ev_epoll1_linux.c => ev_epoll1_linux.cc} (100%) rename src/core/lib/iomgr/{ev_epollex_linux.c => ev_epollex_linux.cc} (100%) rename src/core/lib/iomgr/{ev_epollsig_linux.c => ev_epollsig_linux.cc} (100%) rename src/core/lib/iomgr/{ev_poll_posix.c => ev_poll_posix.cc} (100%) rename src/core/lib/iomgr/{ev_posix.c => ev_posix.cc} (100%) rename src/core/lib/iomgr/{ev_windows.c => ev_windows.cc} (100%) rename src/core/lib/iomgr/{exec_ctx.c => exec_ctx.cc} (100%) rename src/core/lib/iomgr/{executor.c => executor.cc} (100%) rename src/core/lib/iomgr/{gethostname_fallback.c => gethostname_fallback.cc} (100%) rename src/core/lib/iomgr/{gethostname_host_name_max.c => gethostname_host_name_max.cc} (100%) rename src/core/lib/iomgr/{gethostname_sysconf.c => gethostname_sysconf.cc} (100%) rename src/core/lib/iomgr/{iocp_windows.c => iocp_windows.cc} (100%) rename src/core/lib/iomgr/{iomgr.c => iomgr.cc} (100%) rename src/core/lib/iomgr/{iomgr_posix.c => iomgr_posix.cc} (100%) rename src/core/lib/iomgr/{iomgr_uv.c => iomgr_uv.cc} (100%) rename src/core/lib/iomgr/{iomgr_windows.c => iomgr_windows.cc} (100%) rename src/core/lib/iomgr/{is_epollexclusive_available.c => is_epollexclusive_available.cc} (100%) rename src/core/lib/iomgr/{load_file.c => load_file.cc} (100%) rename src/core/lib/iomgr/{lockfree_event.c => lockfree_event.cc} (100%) rename src/core/lib/iomgr/{network_status_tracker.c => network_status_tracker.cc} (100%) rename src/core/lib/iomgr/{polling_entity.c => polling_entity.cc} (100%) rename src/core/lib/iomgr/{pollset_set_uv.c => pollset_set_uv.cc} (100%) rename src/core/lib/iomgr/{pollset_set_windows.c => pollset_set_windows.cc} (100%) rename src/core/lib/iomgr/{pollset_uv.c => pollset_uv.cc} (100%) rename src/core/lib/iomgr/{pollset_windows.c => pollset_windows.cc} (100%) rename src/core/lib/iomgr/{resolve_address_posix.c => resolve_address_posix.cc} (100%) rename src/core/lib/iomgr/{resolve_address_uv.c => resolve_address_uv.cc} (100%) rename src/core/lib/iomgr/{resolve_address_windows.c => resolve_address_windows.cc} (100%) rename src/core/lib/iomgr/{resource_quota.c => resource_quota.cc} (100%) rename src/core/lib/iomgr/{sockaddr_utils.c => sockaddr_utils.cc} (100%) rename src/core/lib/iomgr/{socket_factory_posix.c => socket_factory_posix.cc} (100%) rename src/core/lib/iomgr/{socket_mutator.c => socket_mutator.cc} (100%) rename src/core/lib/iomgr/{socket_utils_common_posix.c => socket_utils_common_posix.cc} (100%) rename src/core/lib/iomgr/{socket_utils_linux.c => socket_utils_linux.cc} (100%) rename src/core/lib/iomgr/{socket_utils_posix.c => socket_utils_posix.cc} (100%) rename src/core/lib/iomgr/{socket_utils_uv.c => socket_utils_uv.cc} (100%) rename src/core/lib/iomgr/{socket_utils_windows.c => socket_utils_windows.cc} (100%) rename src/core/lib/iomgr/{socket_windows.c => socket_windows.cc} (100%) rename src/core/lib/iomgr/{tcp_client_posix.c => tcp_client_posix.cc} (100%) rename src/core/lib/iomgr/{tcp_client_uv.c => tcp_client_uv.cc} (100%) rename src/core/lib/iomgr/{tcp_client_windows.c => tcp_client_windows.cc} (100%) rename src/core/lib/iomgr/{tcp_posix.c => tcp_posix.cc} (100%) rename src/core/lib/iomgr/{tcp_server_posix.c => tcp_server_posix.cc} (100%) rename src/core/lib/iomgr/{tcp_server_utils_posix_common.c => tcp_server_utils_posix_common.cc} (100%) rename src/core/lib/iomgr/{tcp_server_utils_posix_ifaddrs.c => tcp_server_utils_posix_ifaddrs.cc} (100%) rename src/core/lib/iomgr/{tcp_server_utils_posix_noifaddrs.c => tcp_server_utils_posix_noifaddrs.cc} (100%) rename src/core/lib/iomgr/{tcp_server_uv.c => tcp_server_uv.cc} (100%) rename src/core/lib/iomgr/{tcp_server_windows.c => tcp_server_windows.cc} (100%) rename src/core/lib/iomgr/{tcp_uv.c => tcp_uv.cc} (100%) rename src/core/lib/iomgr/{tcp_windows.c => tcp_windows.cc} (100%) rename src/core/lib/iomgr/{time_averaged_stats.c => time_averaged_stats.cc} (100%) rename src/core/lib/iomgr/{timer_generic.c => timer_generic.cc} (100%) rename src/core/lib/iomgr/{timer_heap.c => timer_heap.cc} (100%) rename src/core/lib/iomgr/{timer_manager.c => timer_manager.cc} (100%) rename src/core/lib/iomgr/{timer_uv.c => timer_uv.cc} (100%) rename src/core/lib/iomgr/{udp_server.c => udp_server.cc} (100%) rename src/core/lib/iomgr/{unix_sockets_posix.c => unix_sockets_posix.cc} (100%) rename src/core/lib/iomgr/{unix_sockets_posix_noop.c => unix_sockets_posix_noop.cc} (100%) rename src/core/lib/iomgr/{wakeup_fd_cv.c => wakeup_fd_cv.cc} (100%) rename src/core/lib/iomgr/{wakeup_fd_eventfd.c => wakeup_fd_eventfd.cc} (100%) rename src/core/lib/iomgr/{wakeup_fd_nospecial.c => wakeup_fd_nospecial.cc} (100%) rename src/core/lib/iomgr/{wakeup_fd_pipe.c => wakeup_fd_pipe.cc} (100%) rename src/core/lib/iomgr/{wakeup_fd_posix.c => wakeup_fd_posix.cc} (100%) rename src/core/lib/json/{json.c => json.cc} (100%) rename src/core/lib/json/{json_reader.c => json_reader.cc} (100%) rename src/core/lib/json/{json_string.c => json_string.cc} (100%) rename src/core/lib/json/{json_writer.c => json_writer.cc} (100%) rename src/core/lib/profiling/{basic_timers.c => basic_timers.cc} (100%) rename src/core/lib/profiling/{stap_timers.c => stap_timers.cc} (100%) rename src/core/lib/security/context/{security_context.c => security_context.cc} (100%) rename src/core/lib/security/credentials/composite/{composite_credentials.c => composite_credentials.cc} (100%) rename src/core/lib/security/credentials/{credentials.c => credentials.cc} (100%) rename src/core/lib/security/credentials/{credentials_metadata.c => credentials_metadata.cc} (100%) rename src/core/lib/security/credentials/fake/{fake_credentials.c => fake_credentials.cc} (100%) rename src/core/lib/security/credentials/google_default/{credentials_generic.c => credentials_generic.cc} (100%) rename src/core/lib/security/credentials/google_default/{google_default_credentials.c => google_default_credentials.cc} (99%) rename src/core/lib/security/credentials/iam/{iam_credentials.c => iam_credentials.cc} (100%) rename src/core/lib/security/credentials/jwt/{json_token.c => json_token.cc} (100%) rename src/core/lib/security/credentials/jwt/{jwt_credentials.c => jwt_credentials.cc} (100%) rename src/core/lib/security/credentials/jwt/{jwt_verifier.c => jwt_verifier.cc} (100%) rename src/core/lib/security/credentials/oauth2/{oauth2_credentials.c => oauth2_credentials.cc} (100%) rename src/core/lib/security/credentials/plugin/{plugin_credentials.c => plugin_credentials.cc} (100%) rename src/core/lib/security/credentials/ssl/{ssl_credentials.c => ssl_credentials.cc} (100%) rename src/core/lib/security/transport/{client_auth_filter.c => client_auth_filter.cc} (100%) rename src/core/lib/security/transport/{lb_targets_info.c => lb_targets_info.cc} (100%) rename src/core/lib/security/transport/{secure_endpoint.c => secure_endpoint.cc} (100%) rename src/core/lib/security/transport/{security_connector.c => security_connector.cc} (100%) rename src/core/lib/security/transport/{security_handshaker.c => security_handshaker.cc} (100%) rename src/core/lib/security/transport/{server_auth_filter.c => server_auth_filter.cc} (100%) rename src/core/lib/security/transport/{tsi_error.c => tsi_error.cc} (100%) rename src/core/lib/security/util/{json_util.c => json_util.cc} (100%) rename src/core/lib/slice/{b64.c => b64.cc} (100%) rename src/core/lib/slice/{percent_encoding.c => percent_encoding.cc} (100%) rename src/core/lib/slice/{slice.c => slice.cc} (100%) rename src/core/lib/slice/{slice_buffer.c => slice_buffer.cc} (100%) rename src/core/lib/slice/{slice_hash_table.c => slice_hash_table.cc} (100%) rename src/core/lib/slice/{slice_intern.c => slice_intern.cc} (100%) rename src/core/lib/slice/{slice_string_helpers.c => slice_string_helpers.cc} (100%) rename src/core/lib/support/{alloc.c => alloc.cc} (100%) rename src/core/lib/support/{arena.c => arena.cc} (100%) rename src/core/lib/support/{atm.c => atm.cc} (100%) rename src/core/lib/support/{avl.c => avl.cc} (100%) rename src/core/lib/support/{backoff.c => backoff.cc} (100%) rename src/core/lib/support/{cmdline.c => cmdline.cc} (100%) rename src/core/lib/support/{cpu_iphone.c => cpu_iphone.cc} (100%) rename src/core/lib/support/{cpu_linux.c => cpu_linux.cc} (100%) rename src/core/lib/support/{cpu_posix.c => cpu_posix.cc} (100%) rename src/core/lib/support/{cpu_windows.c => cpu_windows.cc} (100%) rename src/core/lib/support/{env_linux.c => env_linux.cc} (100%) rename src/core/lib/support/{env_posix.c => env_posix.cc} (100%) rename src/core/lib/support/{env_windows.c => env_windows.cc} (100%) rename src/core/lib/support/{histogram.c => histogram.cc} (100%) rename src/core/lib/support/{host_port.c => host_port.cc} (100%) rename src/core/lib/support/{log.c => log.cc} (100%) rename src/core/lib/support/{log_android.c => log_android.cc} (100%) rename src/core/lib/support/{log_linux.c => log_linux.cc} (100%) rename src/core/lib/support/{log_posix.c => log_posix.cc} (100%) rename src/core/lib/support/{log_windows.c => log_windows.cc} (100%) rename src/core/lib/support/{mpscq.c => mpscq.cc} (100%) rename src/core/lib/support/{murmur_hash.c => murmur_hash.cc} (100%) rename src/core/lib/support/{stack_lockfree.c => stack_lockfree.cc} (100%) rename src/core/lib/support/{string.c => string.cc} (100%) rename src/core/lib/support/{string_posix.c => string_posix.cc} (100%) rename src/core/lib/support/{string_util_windows.c => string_util_windows.cc} (100%) rename src/core/lib/support/{string_windows.c => string_windows.cc} (100%) rename src/core/lib/support/{subprocess_posix.c => subprocess_posix.cc} (100%) rename src/core/lib/support/{subprocess_windows.c => subprocess_windows.cc} (100%) rename src/core/lib/support/{sync.c => sync.cc} (100%) rename src/core/lib/support/{sync_posix.c => sync_posix.cc} (100%) rename src/core/lib/support/{sync_windows.c => sync_windows.cc} (100%) rename src/core/lib/support/{thd.c => thd.cc} (100%) rename src/core/lib/support/{thd_posix.c => thd_posix.cc} (100%) rename src/core/lib/support/{thd_windows.c => thd_windows.cc} (100%) rename src/core/lib/support/{time.c => time.cc} (100%) rename src/core/lib/support/{time_posix.c => time_posix.cc} (100%) rename src/core/lib/support/{time_precise.c => time_precise.cc} (100%) rename src/core/lib/support/{time_windows.c => time_windows.cc} (100%) rename src/core/lib/support/{tls_pthread.c => tls_pthread.cc} (100%) rename src/core/lib/support/{tmpfile_msys.c => tmpfile_msys.cc} (100%) rename src/core/lib/support/{tmpfile_posix.c => tmpfile_posix.cc} (100%) rename src/core/lib/support/{tmpfile_windows.c => tmpfile_windows.cc} (100%) rename src/core/lib/support/{wrap_memcpy.c => wrap_memcpy.cc} (100%) rename src/core/lib/surface/{alarm.c => alarm.cc} (100%) rename src/core/lib/surface/{api_trace.c => api_trace.cc} (100%) rename src/core/lib/surface/{byte_buffer.c => byte_buffer.cc} (100%) rename src/core/lib/surface/{byte_buffer_reader.c => byte_buffer_reader.cc} (100%) rename src/core/lib/surface/{call.c => call.cc} (100%) rename src/core/lib/surface/{call_details.c => call_details.cc} (100%) rename src/core/lib/surface/{call_log_batch.c => call_log_batch.cc} (100%) rename src/core/lib/surface/{channel.c => channel.cc} (100%) rename src/core/lib/surface/{channel_init.c => channel_init.cc} (100%) rename src/core/lib/surface/{channel_ping.c => channel_ping.cc} (100%) rename src/core/lib/surface/{channel_stack_type.c => channel_stack_type.cc} (100%) rename src/core/lib/surface/{completion_queue.c => completion_queue.cc} (100%) rename src/core/lib/surface/{completion_queue_factory.c => completion_queue_factory.cc} (100%) rename src/core/lib/surface/{event_string.c => event_string.cc} (100%) rename src/core/lib/surface/{init.c => init.cc} (100%) rename src/core/lib/surface/{init_secure.c => init_secure.cc} (100%) rename src/core/lib/surface/{init_unsecure.c => init_unsecure.cc} (100%) rename src/core/lib/surface/{metadata_array.c => metadata_array.cc} (100%) rename src/core/lib/surface/{server.c => server.cc} (100%) rename src/core/lib/surface/{validate_metadata.c => validate_metadata.cc} (100%) rename src/core/lib/transport/{bdp_estimator.c => bdp_estimator.cc} (100%) rename src/core/lib/transport/{byte_stream.c => byte_stream.cc} (100%) rename src/core/lib/transport/{connectivity_state.c => connectivity_state.cc} (100%) rename src/core/lib/transport/{error_utils.c => error_utils.cc} (100%) rename src/core/lib/transport/{metadata.c => metadata.cc} (100%) rename src/core/lib/transport/{metadata_batch.c => metadata_batch.cc} (100%) rename src/core/lib/transport/{pid_controller.c => pid_controller.cc} (100%) rename src/core/lib/transport/{service_config.c => service_config.cc} (100%) rename src/core/lib/transport/{static_metadata.c => static_metadata.cc} (100%) rename src/core/lib/transport/{status_conversion.c => status_conversion.cc} (100%) rename src/core/lib/transport/{timeout_encoding.c => timeout_encoding.cc} (100%) rename src/core/lib/transport/{transport.c => transport.cc} (100%) rename src/core/lib/transport/{transport_op_string.c => transport_op_string.cc} (100%) rename src/core/tsi/{fake_transport_security.c => fake_transport_security.cc} (100%) rename src/core/tsi/{gts_transport_security.c => gts_transport_security.cc} (93%) rename src/core/tsi/{ssl_transport_security.c => ssl_transport_security.cc} (100%) rename src/core/tsi/{transport_security.c => transport_security.cc} (100%) rename src/core/tsi/{transport_security_adapter.c => transport_security_adapter.cc} (100%) rename src/core/tsi/{transport_security_grpc.c => transport_security_grpc.cc} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe838383f5a..bbd8647e25a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -780,52 +780,52 @@ endif (gRPC_BUILD_TESTS) add_library(gpr - src/core/lib/profiling/basic_timers.c - src/core/lib/profiling/stap_timers.c - src/core/lib/support/alloc.c - src/core/lib/support/arena.c - src/core/lib/support/atm.c - src/core/lib/support/avl.c - src/core/lib/support/backoff.c - src/core/lib/support/cmdline.c - src/core/lib/support/cpu_iphone.c - src/core/lib/support/cpu_linux.c - src/core/lib/support/cpu_posix.c - src/core/lib/support/cpu_windows.c - src/core/lib/support/env_linux.c - src/core/lib/support/env_posix.c - src/core/lib/support/env_windows.c - src/core/lib/support/histogram.c - src/core/lib/support/host_port.c - src/core/lib/support/log.c - src/core/lib/support/log_android.c - src/core/lib/support/log_linux.c - src/core/lib/support/log_posix.c - src/core/lib/support/log_windows.c - src/core/lib/support/mpscq.c - src/core/lib/support/murmur_hash.c - src/core/lib/support/stack_lockfree.c - src/core/lib/support/string.c - src/core/lib/support/string_posix.c - src/core/lib/support/string_util_windows.c - src/core/lib/support/string_windows.c - src/core/lib/support/subprocess_posix.c - src/core/lib/support/subprocess_windows.c - src/core/lib/support/sync.c - src/core/lib/support/sync_posix.c - src/core/lib/support/sync_windows.c - src/core/lib/support/thd.c - src/core/lib/support/thd_posix.c - src/core/lib/support/thd_windows.c - src/core/lib/support/time.c - src/core/lib/support/time_posix.c - src/core/lib/support/time_precise.c - src/core/lib/support/time_windows.c - src/core/lib/support/tls_pthread.c - src/core/lib/support/tmpfile_msys.c - src/core/lib/support/tmpfile_posix.c - src/core/lib/support/tmpfile_windows.c - src/core/lib/support/wrap_memcpy.c + src/core/lib/profiling/basic_timers.cc + src/core/lib/profiling/stap_timers.cc + src/core/lib/support/alloc.cc + src/core/lib/support/arena.cc + src/core/lib/support/atm.cc + src/core/lib/support/avl.cc + src/core/lib/support/backoff.cc + src/core/lib/support/cmdline.cc + src/core/lib/support/cpu_iphone.cc + src/core/lib/support/cpu_linux.cc + src/core/lib/support/cpu_posix.cc + src/core/lib/support/cpu_windows.cc + src/core/lib/support/env_linux.cc + src/core/lib/support/env_posix.cc + src/core/lib/support/env_windows.cc + src/core/lib/support/histogram.cc + src/core/lib/support/host_port.cc + src/core/lib/support/log.cc + src/core/lib/support/log_android.cc + src/core/lib/support/log_linux.cc + src/core/lib/support/log_posix.cc + src/core/lib/support/log_windows.cc + src/core/lib/support/mpscq.cc + src/core/lib/support/murmur_hash.cc + src/core/lib/support/stack_lockfree.cc + src/core/lib/support/string.cc + src/core/lib/support/string_posix.cc + src/core/lib/support/string_util_windows.cc + src/core/lib/support/string_windows.cc + src/core/lib/support/subprocess_posix.cc + src/core/lib/support/subprocess_windows.cc + src/core/lib/support/sync.cc + src/core/lib/support/sync_posix.cc + src/core/lib/support/sync_windows.cc + src/core/lib/support/thd.cc + src/core/lib/support/thd_posix.cc + src/core/lib/support/thd_windows.cc + src/core/lib/support/time.cc + src/core/lib/support/time_posix.cc + src/core/lib/support/time_precise.cc + src/core/lib/support/time_windows.cc + src/core/lib/support/tls_pthread.cc + src/core/lib/support/tmpfile_msys.cc + src/core/lib/support/tmpfile_posix.cc + src/core/lib/support/tmpfile_windows.cc + src/core/lib/support/wrap_memcpy.cc ) if(WIN32 AND MSVC) @@ -954,266 +954,264 @@ target_link_libraries(gpr_test_util endif (gRPC_BUILD_TESTS) add_library(grpc - src/core/lib/surface/init.c - src/core/lib/channel/channel_args.c - src/core/lib/channel/channel_stack.c - src/core/lib/channel/channel_stack_builder.c - src/core/lib/channel/connected_channel.c - src/core/lib/channel/handshaker.c - src/core/lib/channel/handshaker_factory.c - src/core/lib/channel/handshaker_registry.c - src/core/lib/compression/compression.c - src/core/lib/compression/message_compress.c - src/core/lib/compression/stream_compression.c - src/core/lib/compression/stream_compression_gzip.c - src/core/lib/compression/stream_compression_identity.c - src/core/lib/debug/stats.c - src/core/lib/debug/stats_data.c - src/core/lib/http/format_request.c - src/core/lib/http/httpcli.c - src/core/lib/http/parser.c - src/core/lib/iomgr/call_combiner.c - src/core/lib/iomgr/closure.c - src/core/lib/iomgr/combiner.c - src/core/lib/iomgr/endpoint.c - src/core/lib/iomgr/endpoint_pair_posix.c - src/core/lib/iomgr/endpoint_pair_uv.c - src/core/lib/iomgr/endpoint_pair_windows.c - src/core/lib/iomgr/error.c - src/core/lib/iomgr/ev_epoll1_linux.c - src/core/lib/iomgr/ev_epollex_linux.c - src/core/lib/iomgr/ev_epollsig_linux.c - src/core/lib/iomgr/ev_poll_posix.c - src/core/lib/iomgr/ev_posix.c - src/core/lib/iomgr/ev_windows.c - src/core/lib/iomgr/exec_ctx.c - src/core/lib/iomgr/executor.c - src/core/lib/iomgr/gethostname_fallback.c - src/core/lib/iomgr/gethostname_host_name_max.c - src/core/lib/iomgr/gethostname_sysconf.c - src/core/lib/iomgr/iocp_windows.c - src/core/lib/iomgr/iomgr.c - src/core/lib/iomgr/iomgr_posix.c - src/core/lib/iomgr/iomgr_uv.c - src/core/lib/iomgr/iomgr_windows.c - src/core/lib/iomgr/is_epollexclusive_available.c - src/core/lib/iomgr/load_file.c - src/core/lib/iomgr/lockfree_event.c - src/core/lib/iomgr/network_status_tracker.c - src/core/lib/iomgr/polling_entity.c - src/core/lib/iomgr/pollset_set_uv.c - src/core/lib/iomgr/pollset_set_windows.c - src/core/lib/iomgr/pollset_uv.c - src/core/lib/iomgr/pollset_windows.c - src/core/lib/iomgr/resolve_address_posix.c - src/core/lib/iomgr/resolve_address_uv.c - src/core/lib/iomgr/resolve_address_windows.c - src/core/lib/iomgr/resource_quota.c - src/core/lib/iomgr/sockaddr_utils.c - src/core/lib/iomgr/socket_factory_posix.c - src/core/lib/iomgr/socket_mutator.c - src/core/lib/iomgr/socket_utils_common_posix.c - src/core/lib/iomgr/socket_utils_linux.c - src/core/lib/iomgr/socket_utils_posix.c - src/core/lib/iomgr/socket_utils_uv.c - src/core/lib/iomgr/socket_utils_windows.c - src/core/lib/iomgr/socket_windows.c - src/core/lib/iomgr/tcp_client_posix.c - src/core/lib/iomgr/tcp_client_uv.c - src/core/lib/iomgr/tcp_client_windows.c - src/core/lib/iomgr/tcp_posix.c - src/core/lib/iomgr/tcp_server_posix.c - src/core/lib/iomgr/tcp_server_utils_posix_common.c - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c - src/core/lib/iomgr/tcp_server_uv.c - src/core/lib/iomgr/tcp_server_windows.c - src/core/lib/iomgr/tcp_uv.c - src/core/lib/iomgr/tcp_windows.c - src/core/lib/iomgr/time_averaged_stats.c - src/core/lib/iomgr/timer_generic.c - src/core/lib/iomgr/timer_heap.c - src/core/lib/iomgr/timer_manager.c - src/core/lib/iomgr/timer_uv.c - src/core/lib/iomgr/udp_server.c - src/core/lib/iomgr/unix_sockets_posix.c - src/core/lib/iomgr/unix_sockets_posix_noop.c - src/core/lib/iomgr/wakeup_fd_cv.c - src/core/lib/iomgr/wakeup_fd_eventfd.c - src/core/lib/iomgr/wakeup_fd_nospecial.c - src/core/lib/iomgr/wakeup_fd_pipe.c - src/core/lib/iomgr/wakeup_fd_posix.c - src/core/lib/json/json.c - src/core/lib/json/json_reader.c - src/core/lib/json/json_string.c - src/core/lib/json/json_writer.c - src/core/lib/slice/b64.c - src/core/lib/slice/percent_encoding.c - src/core/lib/slice/slice.c - src/core/lib/slice/slice_buffer.c - src/core/lib/slice/slice_hash_table.c - src/core/lib/slice/slice_intern.c - src/core/lib/slice/slice_string_helpers.c - src/core/lib/surface/alarm.c - src/core/lib/surface/api_trace.c - src/core/lib/surface/byte_buffer.c - src/core/lib/surface/byte_buffer_reader.c - src/core/lib/surface/call.c - src/core/lib/surface/call_details.c - src/core/lib/surface/call_log_batch.c - src/core/lib/surface/channel.c - src/core/lib/surface/channel_init.c - src/core/lib/surface/channel_ping.c - src/core/lib/surface/channel_stack_type.c - src/core/lib/surface/completion_queue.c - src/core/lib/surface/completion_queue_factory.c - src/core/lib/surface/event_string.c + src/core/lib/surface/init.cc + src/core/lib/channel/channel_args.cc + src/core/lib/channel/channel_stack.cc + src/core/lib/channel/channel_stack_builder.cc + src/core/lib/channel/connected_channel.cc + src/core/lib/channel/handshaker.cc + src/core/lib/channel/handshaker_factory.cc + src/core/lib/channel/handshaker_registry.cc + src/core/lib/compression/compression.cc + src/core/lib/compression/message_compress.cc + src/core/lib/compression/stream_compression.cc + src/core/lib/debug/stats.cc + src/core/lib/debug/stats_data.cc + src/core/lib/http/format_request.cc + src/core/lib/http/httpcli.cc + src/core/lib/http/parser.cc + src/core/lib/iomgr/call_combiner.cc + src/core/lib/iomgr/closure.cc + src/core/lib/iomgr/combiner.cc + src/core/lib/iomgr/endpoint.cc + src/core/lib/iomgr/endpoint_pair_posix.cc + src/core/lib/iomgr/endpoint_pair_uv.cc + src/core/lib/iomgr/endpoint_pair_windows.cc + src/core/lib/iomgr/error.cc + src/core/lib/iomgr/ev_epoll1_linux.cc + src/core/lib/iomgr/ev_epollex_linux.cc + src/core/lib/iomgr/ev_epollsig_linux.cc + src/core/lib/iomgr/ev_poll_posix.cc + src/core/lib/iomgr/ev_posix.cc + src/core/lib/iomgr/ev_windows.cc + src/core/lib/iomgr/exec_ctx.cc + src/core/lib/iomgr/executor.cc + src/core/lib/iomgr/gethostname_fallback.cc + src/core/lib/iomgr/gethostname_host_name_max.cc + src/core/lib/iomgr/gethostname_sysconf.cc + src/core/lib/iomgr/iocp_windows.cc + src/core/lib/iomgr/iomgr.cc + src/core/lib/iomgr/iomgr_posix.cc + src/core/lib/iomgr/iomgr_uv.cc + src/core/lib/iomgr/iomgr_windows.cc + src/core/lib/iomgr/is_epollexclusive_available.cc + src/core/lib/iomgr/load_file.cc + src/core/lib/iomgr/lockfree_event.cc + src/core/lib/iomgr/network_status_tracker.cc + src/core/lib/iomgr/polling_entity.cc + src/core/lib/iomgr/pollset_set_uv.cc + src/core/lib/iomgr/pollset_set_windows.cc + src/core/lib/iomgr/pollset_uv.cc + src/core/lib/iomgr/pollset_windows.cc + src/core/lib/iomgr/resolve_address_posix.cc + src/core/lib/iomgr/resolve_address_uv.cc + src/core/lib/iomgr/resolve_address_windows.cc + src/core/lib/iomgr/resource_quota.cc + src/core/lib/iomgr/sockaddr_utils.cc + src/core/lib/iomgr/socket_factory_posix.cc + src/core/lib/iomgr/socket_mutator.cc + src/core/lib/iomgr/socket_utils_common_posix.cc + src/core/lib/iomgr/socket_utils_linux.cc + src/core/lib/iomgr/socket_utils_posix.cc + src/core/lib/iomgr/socket_utils_uv.cc + src/core/lib/iomgr/socket_utils_windows.cc + src/core/lib/iomgr/socket_windows.cc + src/core/lib/iomgr/tcp_client_posix.cc + src/core/lib/iomgr/tcp_client_uv.cc + src/core/lib/iomgr/tcp_client_windows.cc + src/core/lib/iomgr/tcp_posix.cc + src/core/lib/iomgr/tcp_server_posix.cc + src/core/lib/iomgr/tcp_server_utils_posix_common.cc + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc + src/core/lib/iomgr/tcp_server_uv.cc + src/core/lib/iomgr/tcp_server_windows.cc + src/core/lib/iomgr/tcp_uv.cc + src/core/lib/iomgr/tcp_windows.cc + src/core/lib/iomgr/time_averaged_stats.cc + src/core/lib/iomgr/timer_generic.cc + src/core/lib/iomgr/timer_heap.cc + src/core/lib/iomgr/timer_manager.cc + src/core/lib/iomgr/timer_uv.cc + src/core/lib/iomgr/udp_server.cc + src/core/lib/iomgr/unix_sockets_posix.cc + src/core/lib/iomgr/unix_sockets_posix_noop.cc + src/core/lib/iomgr/wakeup_fd_cv.cc + src/core/lib/iomgr/wakeup_fd_eventfd.cc + src/core/lib/iomgr/wakeup_fd_nospecial.cc + src/core/lib/iomgr/wakeup_fd_pipe.cc + src/core/lib/iomgr/wakeup_fd_posix.cc + src/core/lib/json/json.cc + src/core/lib/json/json_reader.cc + src/core/lib/json/json_string.cc + src/core/lib/json/json_writer.cc + src/core/lib/slice/b64.cc + src/core/lib/slice/percent_encoding.cc + src/core/lib/slice/slice.cc + src/core/lib/slice/slice_buffer.cc + src/core/lib/slice/slice_hash_table.cc + src/core/lib/slice/slice_intern.cc + src/core/lib/slice/slice_string_helpers.cc + src/core/lib/surface/alarm.cc + src/core/lib/surface/api_trace.cc + src/core/lib/surface/byte_buffer.cc + src/core/lib/surface/byte_buffer_reader.cc + src/core/lib/surface/call.cc + src/core/lib/surface/call_details.cc + src/core/lib/surface/call_log_batch.cc + src/core/lib/surface/channel.cc + src/core/lib/surface/channel_init.cc + src/core/lib/surface/channel_ping.cc + src/core/lib/surface/channel_stack_type.cc + src/core/lib/surface/completion_queue.cc + src/core/lib/surface/completion_queue_factory.cc + src/core/lib/surface/event_string.cc src/core/lib/surface/lame_client.cc - src/core/lib/surface/metadata_array.c - src/core/lib/surface/server.c - src/core/lib/surface/validate_metadata.c - src/core/lib/surface/version.c - src/core/lib/transport/bdp_estimator.c - src/core/lib/transport/byte_stream.c - src/core/lib/transport/connectivity_state.c - src/core/lib/transport/error_utils.c - src/core/lib/transport/metadata.c - src/core/lib/transport/metadata_batch.c - src/core/lib/transport/pid_controller.c - src/core/lib/transport/service_config.c - src/core/lib/transport/static_metadata.c - src/core/lib/transport/status_conversion.c - src/core/lib/transport/timeout_encoding.c - src/core/lib/transport/transport.c - src/core/lib/transport/transport_op_string.c - src/core/lib/debug/trace.c - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c - src/core/ext/transport/chttp2/transport/bin_decoder.c - src/core/ext/transport/chttp2/transport/bin_encoder.c - src/core/ext/transport/chttp2/transport/chttp2_plugin.c - src/core/ext/transport/chttp2/transport/chttp2_transport.c - src/core/ext/transport/chttp2/transport/flow_control.c - src/core/ext/transport/chttp2/transport/frame_data.c - src/core/ext/transport/chttp2/transport/frame_goaway.c - src/core/ext/transport/chttp2/transport/frame_ping.c - src/core/ext/transport/chttp2/transport/frame_rst_stream.c - src/core/ext/transport/chttp2/transport/frame_settings.c - src/core/ext/transport/chttp2/transport/frame_window_update.c - src/core/ext/transport/chttp2/transport/hpack_encoder.c - src/core/ext/transport/chttp2/transport/hpack_parser.c - src/core/ext/transport/chttp2/transport/hpack_table.c - src/core/ext/transport/chttp2/transport/http2_settings.c - src/core/ext/transport/chttp2/transport/huffsyms.c - src/core/ext/transport/chttp2/transport/incoming_metadata.c - src/core/ext/transport/chttp2/transport/parsing.c - src/core/ext/transport/chttp2/transport/stream_lists.c - src/core/ext/transport/chttp2/transport/stream_map.c - src/core/ext/transport/chttp2/transport/varint.c - src/core/ext/transport/chttp2/transport/writing.c - src/core/ext/transport/chttp2/alpn/alpn.c - src/core/ext/filters/http/client/http_client_filter.c - src/core/ext/filters/http/http_filters_plugin.c - src/core/ext/filters/http/message_compress/message_compress_filter.c - src/core/ext/filters/http/server/http_server_filter.c - src/core/lib/http/httpcli_security_connector.c - src/core/lib/security/context/security_context.c - src/core/lib/security/credentials/composite/composite_credentials.c - src/core/lib/security/credentials/credentials.c - src/core/lib/security/credentials/credentials_metadata.c - src/core/lib/security/credentials/fake/fake_credentials.c - src/core/lib/security/credentials/google_default/credentials_generic.c - src/core/lib/security/credentials/google_default/google_default_credentials.c - src/core/lib/security/credentials/iam/iam_credentials.c - src/core/lib/security/credentials/jwt/json_token.c - src/core/lib/security/credentials/jwt/jwt_credentials.c - src/core/lib/security/credentials/jwt/jwt_verifier.c - src/core/lib/security/credentials/oauth2/oauth2_credentials.c - src/core/lib/security/credentials/plugin/plugin_credentials.c - src/core/lib/security/credentials/ssl/ssl_credentials.c - src/core/lib/security/transport/client_auth_filter.c - src/core/lib/security/transport/lb_targets_info.c - src/core/lib/security/transport/secure_endpoint.c - src/core/lib/security/transport/security_connector.c - src/core/lib/security/transport/security_handshaker.c - src/core/lib/security/transport/server_auth_filter.c - src/core/lib/security/transport/tsi_error.c - src/core/lib/security/util/json_util.c - src/core/lib/surface/init_secure.c - src/core/tsi/fake_transport_security.c - src/core/tsi/gts_transport_security.c - src/core/tsi/ssl_transport_security.c - src/core/tsi/transport_security_grpc.c - src/core/tsi/transport_security.c - src/core/tsi/transport_security_adapter.c - src/core/ext/transport/chttp2/server/chttp2_server.c - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c - src/core/ext/filters/client_channel/channel_connectivity.c - src/core/ext/filters/client_channel/client_channel.c - src/core/ext/filters/client_channel/client_channel_factory.c - src/core/ext/filters/client_channel/client_channel_plugin.c - src/core/ext/filters/client_channel/connector.c - src/core/ext/filters/client_channel/http_connect_handshaker.c - src/core/ext/filters/client_channel/http_proxy.c - src/core/ext/filters/client_channel/lb_policy.c - src/core/ext/filters/client_channel/lb_policy_factory.c - src/core/ext/filters/client_channel/lb_policy_registry.c - src/core/ext/filters/client_channel/parse_address.c - src/core/ext/filters/client_channel/proxy_mapper.c - src/core/ext/filters/client_channel/proxy_mapper_registry.c - src/core/ext/filters/client_channel/resolver.c - src/core/ext/filters/client_channel/resolver_factory.c - src/core/ext/filters/client_channel/resolver_registry.c - src/core/ext/filters/client_channel/retry_throttle.c - src/core/ext/filters/client_channel/subchannel.c - src/core/ext/filters/client_channel/subchannel_index.c - src/core/ext/filters/client_channel/uri_parser.c - src/core/ext/filters/deadline/deadline_filter.c - src/core/ext/transport/chttp2/client/chttp2_connector.c - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c - src/core/ext/transport/chttp2/client/insecure/channel_create.c - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c - src/core/ext/transport/inproc/inproc_plugin.c - src/core/ext/transport/inproc/inproc_transport.c - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c + src/core/lib/surface/metadata_array.cc + src/core/lib/surface/server.cc + src/core/lib/surface/validate_metadata.cc + src/core/lib/surface/version.cc + src/core/lib/transport/bdp_estimator.cc + src/core/lib/transport/byte_stream.cc + src/core/lib/transport/connectivity_state.cc + src/core/lib/transport/error_utils.cc + src/core/lib/transport/metadata.cc + src/core/lib/transport/metadata_batch.cc + src/core/lib/transport/pid_controller.cc + src/core/lib/transport/service_config.cc + src/core/lib/transport/static_metadata.cc + src/core/lib/transport/status_conversion.cc + src/core/lib/transport/timeout_encoding.cc + src/core/lib/transport/transport.cc + src/core/lib/transport/transport_op_string.cc + src/core/lib/debug/trace.cc + src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc + src/core/ext/transport/chttp2/transport/bin_decoder.cc + src/core/ext/transport/chttp2/transport/bin_encoder.cc + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc + src/core/ext/transport/chttp2/transport/chttp2_transport.cc + src/core/ext/transport/chttp2/transport/flow_control.cc + src/core/ext/transport/chttp2/transport/frame_data.cc + src/core/ext/transport/chttp2/transport/frame_goaway.cc + src/core/ext/transport/chttp2/transport/frame_ping.cc + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc + src/core/ext/transport/chttp2/transport/frame_settings.cc + src/core/ext/transport/chttp2/transport/frame_window_update.cc + src/core/ext/transport/chttp2/transport/hpack_encoder.cc + src/core/ext/transport/chttp2/transport/hpack_parser.cc + src/core/ext/transport/chttp2/transport/hpack_table.cc + src/core/ext/transport/chttp2/transport/http2_settings.cc + src/core/ext/transport/chttp2/transport/huffsyms.cc + src/core/ext/transport/chttp2/transport/incoming_metadata.cc + src/core/ext/transport/chttp2/transport/parsing.cc + src/core/ext/transport/chttp2/transport/stream_lists.cc + src/core/ext/transport/chttp2/transport/stream_map.cc + src/core/ext/transport/chttp2/transport/varint.cc + src/core/ext/transport/chttp2/transport/writing.cc + src/core/ext/transport/chttp2/alpn/alpn.cc + src/core/ext/filters/http/client/http_client_filter.cc + src/core/ext/filters/http/http_filters_plugin.cc + src/core/ext/filters/http/message_compress/message_compress_filter.cc + src/core/ext/filters/http/server/http_server_filter.cc + src/core/lib/http/httpcli_security_connector.cc + src/core/lib/security/context/security_context.cc + src/core/lib/security/credentials/composite/composite_credentials.cc + src/core/lib/security/credentials/credentials.cc + src/core/lib/security/credentials/credentials_metadata.cc + src/core/lib/security/credentials/fake/fake_credentials.cc + src/core/lib/security/credentials/google_default/credentials_generic.cc + src/core/lib/security/credentials/google_default/google_default_credentials.cc + src/core/lib/security/credentials/iam/iam_credentials.cc + src/core/lib/security/credentials/jwt/json_token.cc + src/core/lib/security/credentials/jwt/jwt_credentials.cc + src/core/lib/security/credentials/jwt/jwt_verifier.cc + src/core/lib/security/credentials/oauth2/oauth2_credentials.cc + src/core/lib/security/credentials/plugin/plugin_credentials.cc + src/core/lib/security/credentials/ssl/ssl_credentials.cc + src/core/lib/security/transport/client_auth_filter.cc + src/core/lib/security/transport/lb_targets_info.cc + src/core/lib/security/transport/secure_endpoint.cc + src/core/lib/security/transport/security_connector.cc + src/core/lib/security/transport/security_handshaker.cc + src/core/lib/security/transport/server_auth_filter.cc + src/core/lib/security/transport/tsi_error.cc + src/core/lib/security/util/json_util.cc + src/core/lib/surface/init_secure.cc + src/core/tsi/fake_transport_security.cc + src/core/tsi/gts_transport_security.cc + src/core/tsi/ssl_transport_security.cc + src/core/tsi/transport_security_grpc.cc + src/core/tsi/transport_security.cc + src/core/tsi/transport_security_adapter.cc + src/core/ext/transport/chttp2/server/chttp2_server.cc + src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc + src/core/ext/filters/client_channel/channel_connectivity.cc + src/core/ext/filters/client_channel/client_channel.cc + src/core/ext/filters/client_channel/client_channel_factory.cc + src/core/ext/filters/client_channel/client_channel_plugin.cc + src/core/ext/filters/client_channel/connector.cc + src/core/ext/filters/client_channel/http_connect_handshaker.cc + src/core/ext/filters/client_channel/http_proxy.cc + src/core/ext/filters/client_channel/lb_policy.cc + src/core/ext/filters/client_channel/lb_policy_factory.cc + src/core/ext/filters/client_channel/lb_policy_registry.cc + src/core/ext/filters/client_channel/parse_address.cc + src/core/ext/filters/client_channel/proxy_mapper.cc + src/core/ext/filters/client_channel/proxy_mapper_registry.cc + src/core/ext/filters/client_channel/resolver.cc + src/core/ext/filters/client_channel/resolver_factory.cc + src/core/ext/filters/client_channel/resolver_registry.cc + src/core/ext/filters/client_channel/retry_throttle.cc + src/core/ext/filters/client_channel/subchannel.cc + src/core/ext/filters/client_channel/subchannel_index.cc + src/core/ext/filters/client_channel/uri_parser.cc + src/core/ext/filters/deadline/deadline_filter.cc + src/core/ext/transport/chttp2/client/chttp2_connector.cc + src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc + src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc + src/core/ext/transport/chttp2/client/insecure/channel_create.cc + src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc + src/core/ext/transport/inproc/inproc_plugin.cc + src/core/ext/transport/inproc/inproc_transport.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc third_party/nanopb/pb_common.c third_party/nanopb/pb_decode.c third_party/nanopb/pb_encode.c - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c - src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c - src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c - src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c - src/core/ext/filters/load_reporting/server_load_reporting_filter.c - src/core/ext/filters/load_reporting/server_load_reporting_plugin.c - src/core/ext/census/base_resources.c - src/core/ext/census/context.c - src/core/ext/census/gen/census.pb.c - src/core/ext/census/gen/trace_context.pb.c - src/core/ext/census/grpc_context.c - src/core/ext/census/grpc_filter.c - src/core/ext/census/grpc_plugin.c - src/core/ext/census/initialize.c - src/core/ext/census/intrusive_hash_map.c - src/core/ext/census/mlog.c - src/core/ext/census/operation.c - src/core/ext/census/placeholders.c - src/core/ext/census/resource.c - src/core/ext/census/trace_context.c - src/core/ext/census/tracing.c - src/core/ext/filters/max_age/max_age_filter.c - src/core/ext/filters/message_size/message_size_filter.c - src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c - src/core/ext/filters/workarounds/workaround_utils.c + src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc + src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc + src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc + src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc + src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc + src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc + src/core/ext/filters/load_reporting/server_load_reporting_filter.cc + src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc + src/core/ext/census/base_resources.cc + src/core/ext/census/context.cc + src/core/ext/census/gen/census.pb.cc + src/core/ext/census/gen/trace_context.pb.cc + src/core/ext/census/grpc_context.cc + src/core/ext/census/grpc_filter.cc + src/core/ext/census/grpc_plugin.cc + src/core/ext/census/initialize.cc + src/core/ext/census/intrusive_hash_map.cc + src/core/ext/census/mlog.cc + src/core/ext/census/operation.cc + src/core/ext/census/placeholders.cc + src/core/ext/census/resource.cc + src/core/ext/census/trace_context.cc + src/core/ext/census/tracing.cc + src/core/ext/filters/max_age/max_age_filter.cc + src/core/ext/filters/message_size/message_size_filter.cc + src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc + src/core/ext/filters/workarounds/workaround_utils.cc src/core/plugin_registry/grpc_plugin_registry.cc ) @@ -1305,224 +1303,222 @@ endif() add_library(grpc_cronet - src/core/lib/surface/init.c - src/core/lib/channel/channel_args.c - src/core/lib/channel/channel_stack.c - src/core/lib/channel/channel_stack_builder.c - src/core/lib/channel/connected_channel.c - src/core/lib/channel/handshaker.c - src/core/lib/channel/handshaker_factory.c - src/core/lib/channel/handshaker_registry.c - src/core/lib/compression/compression.c - src/core/lib/compression/message_compress.c - src/core/lib/compression/stream_compression.c - src/core/lib/compression/stream_compression_gzip.c - src/core/lib/compression/stream_compression_identity.c - src/core/lib/debug/stats.c - src/core/lib/debug/stats_data.c - src/core/lib/http/format_request.c - src/core/lib/http/httpcli.c - src/core/lib/http/parser.c - src/core/lib/iomgr/call_combiner.c - src/core/lib/iomgr/closure.c - src/core/lib/iomgr/combiner.c - src/core/lib/iomgr/endpoint.c - src/core/lib/iomgr/endpoint_pair_posix.c - src/core/lib/iomgr/endpoint_pair_uv.c - src/core/lib/iomgr/endpoint_pair_windows.c - src/core/lib/iomgr/error.c - src/core/lib/iomgr/ev_epoll1_linux.c - src/core/lib/iomgr/ev_epollex_linux.c - src/core/lib/iomgr/ev_epollsig_linux.c - src/core/lib/iomgr/ev_poll_posix.c - src/core/lib/iomgr/ev_posix.c - src/core/lib/iomgr/ev_windows.c - src/core/lib/iomgr/exec_ctx.c - src/core/lib/iomgr/executor.c - src/core/lib/iomgr/gethostname_fallback.c - src/core/lib/iomgr/gethostname_host_name_max.c - src/core/lib/iomgr/gethostname_sysconf.c - src/core/lib/iomgr/iocp_windows.c - src/core/lib/iomgr/iomgr.c - src/core/lib/iomgr/iomgr_posix.c - src/core/lib/iomgr/iomgr_uv.c - src/core/lib/iomgr/iomgr_windows.c - src/core/lib/iomgr/is_epollexclusive_available.c - src/core/lib/iomgr/load_file.c - src/core/lib/iomgr/lockfree_event.c - src/core/lib/iomgr/network_status_tracker.c - src/core/lib/iomgr/polling_entity.c - src/core/lib/iomgr/pollset_set_uv.c - src/core/lib/iomgr/pollset_set_windows.c - src/core/lib/iomgr/pollset_uv.c - src/core/lib/iomgr/pollset_windows.c - src/core/lib/iomgr/resolve_address_posix.c - src/core/lib/iomgr/resolve_address_uv.c - src/core/lib/iomgr/resolve_address_windows.c - src/core/lib/iomgr/resource_quota.c - src/core/lib/iomgr/sockaddr_utils.c - src/core/lib/iomgr/socket_factory_posix.c - src/core/lib/iomgr/socket_mutator.c - src/core/lib/iomgr/socket_utils_common_posix.c - src/core/lib/iomgr/socket_utils_linux.c - src/core/lib/iomgr/socket_utils_posix.c - src/core/lib/iomgr/socket_utils_uv.c - src/core/lib/iomgr/socket_utils_windows.c - src/core/lib/iomgr/socket_windows.c - src/core/lib/iomgr/tcp_client_posix.c - src/core/lib/iomgr/tcp_client_uv.c - src/core/lib/iomgr/tcp_client_windows.c - src/core/lib/iomgr/tcp_posix.c - src/core/lib/iomgr/tcp_server_posix.c - src/core/lib/iomgr/tcp_server_utils_posix_common.c - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c - src/core/lib/iomgr/tcp_server_uv.c - src/core/lib/iomgr/tcp_server_windows.c - src/core/lib/iomgr/tcp_uv.c - src/core/lib/iomgr/tcp_windows.c - src/core/lib/iomgr/time_averaged_stats.c - src/core/lib/iomgr/timer_generic.c - src/core/lib/iomgr/timer_heap.c - src/core/lib/iomgr/timer_manager.c - src/core/lib/iomgr/timer_uv.c - src/core/lib/iomgr/udp_server.c - src/core/lib/iomgr/unix_sockets_posix.c - src/core/lib/iomgr/unix_sockets_posix_noop.c - src/core/lib/iomgr/wakeup_fd_cv.c - src/core/lib/iomgr/wakeup_fd_eventfd.c - src/core/lib/iomgr/wakeup_fd_nospecial.c - src/core/lib/iomgr/wakeup_fd_pipe.c - src/core/lib/iomgr/wakeup_fd_posix.c - src/core/lib/json/json.c - src/core/lib/json/json_reader.c - src/core/lib/json/json_string.c - src/core/lib/json/json_writer.c - src/core/lib/slice/b64.c - src/core/lib/slice/percent_encoding.c - src/core/lib/slice/slice.c - src/core/lib/slice/slice_buffer.c - src/core/lib/slice/slice_hash_table.c - src/core/lib/slice/slice_intern.c - src/core/lib/slice/slice_string_helpers.c - src/core/lib/surface/alarm.c - src/core/lib/surface/api_trace.c - src/core/lib/surface/byte_buffer.c - src/core/lib/surface/byte_buffer_reader.c - src/core/lib/surface/call.c - src/core/lib/surface/call_details.c - src/core/lib/surface/call_log_batch.c - src/core/lib/surface/channel.c - src/core/lib/surface/channel_init.c - src/core/lib/surface/channel_ping.c - src/core/lib/surface/channel_stack_type.c - src/core/lib/surface/completion_queue.c - src/core/lib/surface/completion_queue_factory.c - src/core/lib/surface/event_string.c + src/core/lib/surface/init.cc + src/core/lib/channel/channel_args.cc + src/core/lib/channel/channel_stack.cc + src/core/lib/channel/channel_stack_builder.cc + src/core/lib/channel/connected_channel.cc + src/core/lib/channel/handshaker.cc + src/core/lib/channel/handshaker_factory.cc + src/core/lib/channel/handshaker_registry.cc + src/core/lib/compression/compression.cc + src/core/lib/compression/message_compress.cc + src/core/lib/compression/stream_compression.cc + src/core/lib/debug/stats.cc + src/core/lib/debug/stats_data.cc + src/core/lib/http/format_request.cc + src/core/lib/http/httpcli.cc + src/core/lib/http/parser.cc + src/core/lib/iomgr/call_combiner.cc + src/core/lib/iomgr/closure.cc + src/core/lib/iomgr/combiner.cc + src/core/lib/iomgr/endpoint.cc + src/core/lib/iomgr/endpoint_pair_posix.cc + src/core/lib/iomgr/endpoint_pair_uv.cc + src/core/lib/iomgr/endpoint_pair_windows.cc + src/core/lib/iomgr/error.cc + src/core/lib/iomgr/ev_epoll1_linux.cc + src/core/lib/iomgr/ev_epollex_linux.cc + src/core/lib/iomgr/ev_epollsig_linux.cc + src/core/lib/iomgr/ev_poll_posix.cc + src/core/lib/iomgr/ev_posix.cc + src/core/lib/iomgr/ev_windows.cc + src/core/lib/iomgr/exec_ctx.cc + src/core/lib/iomgr/executor.cc + src/core/lib/iomgr/gethostname_fallback.cc + src/core/lib/iomgr/gethostname_host_name_max.cc + src/core/lib/iomgr/gethostname_sysconf.cc + src/core/lib/iomgr/iocp_windows.cc + src/core/lib/iomgr/iomgr.cc + src/core/lib/iomgr/iomgr_posix.cc + src/core/lib/iomgr/iomgr_uv.cc + src/core/lib/iomgr/iomgr_windows.cc + src/core/lib/iomgr/is_epollexclusive_available.cc + src/core/lib/iomgr/load_file.cc + src/core/lib/iomgr/lockfree_event.cc + src/core/lib/iomgr/network_status_tracker.cc + src/core/lib/iomgr/polling_entity.cc + src/core/lib/iomgr/pollset_set_uv.cc + src/core/lib/iomgr/pollset_set_windows.cc + src/core/lib/iomgr/pollset_uv.cc + src/core/lib/iomgr/pollset_windows.cc + src/core/lib/iomgr/resolve_address_posix.cc + src/core/lib/iomgr/resolve_address_uv.cc + src/core/lib/iomgr/resolve_address_windows.cc + src/core/lib/iomgr/resource_quota.cc + src/core/lib/iomgr/sockaddr_utils.cc + src/core/lib/iomgr/socket_factory_posix.cc + src/core/lib/iomgr/socket_mutator.cc + src/core/lib/iomgr/socket_utils_common_posix.cc + src/core/lib/iomgr/socket_utils_linux.cc + src/core/lib/iomgr/socket_utils_posix.cc + src/core/lib/iomgr/socket_utils_uv.cc + src/core/lib/iomgr/socket_utils_windows.cc + src/core/lib/iomgr/socket_windows.cc + src/core/lib/iomgr/tcp_client_posix.cc + src/core/lib/iomgr/tcp_client_uv.cc + src/core/lib/iomgr/tcp_client_windows.cc + src/core/lib/iomgr/tcp_posix.cc + src/core/lib/iomgr/tcp_server_posix.cc + src/core/lib/iomgr/tcp_server_utils_posix_common.cc + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc + src/core/lib/iomgr/tcp_server_uv.cc + src/core/lib/iomgr/tcp_server_windows.cc + src/core/lib/iomgr/tcp_uv.cc + src/core/lib/iomgr/tcp_windows.cc + src/core/lib/iomgr/time_averaged_stats.cc + src/core/lib/iomgr/timer_generic.cc + src/core/lib/iomgr/timer_heap.cc + src/core/lib/iomgr/timer_manager.cc + src/core/lib/iomgr/timer_uv.cc + src/core/lib/iomgr/udp_server.cc + src/core/lib/iomgr/unix_sockets_posix.cc + src/core/lib/iomgr/unix_sockets_posix_noop.cc + src/core/lib/iomgr/wakeup_fd_cv.cc + src/core/lib/iomgr/wakeup_fd_eventfd.cc + src/core/lib/iomgr/wakeup_fd_nospecial.cc + src/core/lib/iomgr/wakeup_fd_pipe.cc + src/core/lib/iomgr/wakeup_fd_posix.cc + src/core/lib/json/json.cc + src/core/lib/json/json_reader.cc + src/core/lib/json/json_string.cc + src/core/lib/json/json_writer.cc + src/core/lib/slice/b64.cc + src/core/lib/slice/percent_encoding.cc + src/core/lib/slice/slice.cc + src/core/lib/slice/slice_buffer.cc + src/core/lib/slice/slice_hash_table.cc + src/core/lib/slice/slice_intern.cc + src/core/lib/slice/slice_string_helpers.cc + src/core/lib/surface/alarm.cc + src/core/lib/surface/api_trace.cc + src/core/lib/surface/byte_buffer.cc + src/core/lib/surface/byte_buffer_reader.cc + src/core/lib/surface/call.cc + src/core/lib/surface/call_details.cc + src/core/lib/surface/call_log_batch.cc + src/core/lib/surface/channel.cc + src/core/lib/surface/channel_init.cc + src/core/lib/surface/channel_ping.cc + src/core/lib/surface/channel_stack_type.cc + src/core/lib/surface/completion_queue.cc + src/core/lib/surface/completion_queue_factory.cc + src/core/lib/surface/event_string.cc src/core/lib/surface/lame_client.cc - src/core/lib/surface/metadata_array.c - src/core/lib/surface/server.c - src/core/lib/surface/validate_metadata.c - src/core/lib/surface/version.c - src/core/lib/transport/bdp_estimator.c - src/core/lib/transport/byte_stream.c - src/core/lib/transport/connectivity_state.c - src/core/lib/transport/error_utils.c - src/core/lib/transport/metadata.c - src/core/lib/transport/metadata_batch.c - src/core/lib/transport/pid_controller.c - src/core/lib/transport/service_config.c - src/core/lib/transport/static_metadata.c - src/core/lib/transport/status_conversion.c - src/core/lib/transport/timeout_encoding.c - src/core/lib/transport/transport.c - src/core/lib/transport/transport_op_string.c - src/core/lib/debug/trace.c - src/core/ext/transport/cronet/client/secure/cronet_channel_create.c - src/core/ext/transport/cronet/transport/cronet_api_dummy.c - src/core/ext/transport/cronet/transport/cronet_transport.c - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c - src/core/ext/transport/chttp2/transport/bin_decoder.c - src/core/ext/transport/chttp2/transport/bin_encoder.c - src/core/ext/transport/chttp2/transport/chttp2_plugin.c - src/core/ext/transport/chttp2/transport/chttp2_transport.c - src/core/ext/transport/chttp2/transport/flow_control.c - src/core/ext/transport/chttp2/transport/frame_data.c - src/core/ext/transport/chttp2/transport/frame_goaway.c - src/core/ext/transport/chttp2/transport/frame_ping.c - src/core/ext/transport/chttp2/transport/frame_rst_stream.c - src/core/ext/transport/chttp2/transport/frame_settings.c - src/core/ext/transport/chttp2/transport/frame_window_update.c - src/core/ext/transport/chttp2/transport/hpack_encoder.c - src/core/ext/transport/chttp2/transport/hpack_parser.c - src/core/ext/transport/chttp2/transport/hpack_table.c - src/core/ext/transport/chttp2/transport/http2_settings.c - src/core/ext/transport/chttp2/transport/huffsyms.c - src/core/ext/transport/chttp2/transport/incoming_metadata.c - src/core/ext/transport/chttp2/transport/parsing.c - src/core/ext/transport/chttp2/transport/stream_lists.c - src/core/ext/transport/chttp2/transport/stream_map.c - src/core/ext/transport/chttp2/transport/varint.c - src/core/ext/transport/chttp2/transport/writing.c - src/core/ext/transport/chttp2/alpn/alpn.c - src/core/ext/filters/http/client/http_client_filter.c - src/core/ext/filters/http/http_filters_plugin.c - src/core/ext/filters/http/message_compress/message_compress_filter.c - src/core/ext/filters/http/server/http_server_filter.c - src/core/ext/filters/client_channel/channel_connectivity.c - src/core/ext/filters/client_channel/client_channel.c - src/core/ext/filters/client_channel/client_channel_factory.c - src/core/ext/filters/client_channel/client_channel_plugin.c - src/core/ext/filters/client_channel/connector.c - src/core/ext/filters/client_channel/http_connect_handshaker.c - src/core/ext/filters/client_channel/http_proxy.c - src/core/ext/filters/client_channel/lb_policy.c - src/core/ext/filters/client_channel/lb_policy_factory.c - src/core/ext/filters/client_channel/lb_policy_registry.c - src/core/ext/filters/client_channel/parse_address.c - src/core/ext/filters/client_channel/proxy_mapper.c - src/core/ext/filters/client_channel/proxy_mapper_registry.c - src/core/ext/filters/client_channel/resolver.c - src/core/ext/filters/client_channel/resolver_factory.c - src/core/ext/filters/client_channel/resolver_registry.c - src/core/ext/filters/client_channel/retry_throttle.c - src/core/ext/filters/client_channel/subchannel.c - src/core/ext/filters/client_channel/subchannel_index.c - src/core/ext/filters/client_channel/uri_parser.c - src/core/ext/filters/deadline/deadline_filter.c - src/core/lib/http/httpcli_security_connector.c - src/core/lib/security/context/security_context.c - src/core/lib/security/credentials/composite/composite_credentials.c - src/core/lib/security/credentials/credentials.c - src/core/lib/security/credentials/credentials_metadata.c - src/core/lib/security/credentials/fake/fake_credentials.c - src/core/lib/security/credentials/google_default/credentials_generic.c - src/core/lib/security/credentials/google_default/google_default_credentials.c - src/core/lib/security/credentials/iam/iam_credentials.c - src/core/lib/security/credentials/jwt/json_token.c - src/core/lib/security/credentials/jwt/jwt_credentials.c - src/core/lib/security/credentials/jwt/jwt_verifier.c - src/core/lib/security/credentials/oauth2/oauth2_credentials.c - src/core/lib/security/credentials/plugin/plugin_credentials.c - src/core/lib/security/credentials/ssl/ssl_credentials.c - src/core/lib/security/transport/client_auth_filter.c - src/core/lib/security/transport/lb_targets_info.c - src/core/lib/security/transport/secure_endpoint.c - src/core/lib/security/transport/security_connector.c - src/core/lib/security/transport/security_handshaker.c - src/core/lib/security/transport/server_auth_filter.c - src/core/lib/security/transport/tsi_error.c - src/core/lib/security/util/json_util.c - src/core/lib/surface/init_secure.c - src/core/tsi/fake_transport_security.c - src/core/tsi/gts_transport_security.c - src/core/tsi/ssl_transport_security.c - src/core/tsi/transport_security_grpc.c - src/core/tsi/transport_security.c - src/core/tsi/transport_security_adapter.c - src/core/ext/transport/chttp2/client/chttp2_connector.c - src/core/ext/filters/load_reporting/server_load_reporting_filter.c - src/core/ext/filters/load_reporting/server_load_reporting_plugin.c + src/core/lib/surface/metadata_array.cc + src/core/lib/surface/server.cc + src/core/lib/surface/validate_metadata.cc + src/core/lib/surface/version.cc + src/core/lib/transport/bdp_estimator.cc + src/core/lib/transport/byte_stream.cc + src/core/lib/transport/connectivity_state.cc + src/core/lib/transport/error_utils.cc + src/core/lib/transport/metadata.cc + src/core/lib/transport/metadata_batch.cc + src/core/lib/transport/pid_controller.cc + src/core/lib/transport/service_config.cc + src/core/lib/transport/static_metadata.cc + src/core/lib/transport/status_conversion.cc + src/core/lib/transport/timeout_encoding.cc + src/core/lib/transport/transport.cc + src/core/lib/transport/transport_op_string.cc + src/core/lib/debug/trace.cc + src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc + src/core/ext/transport/cronet/transport/cronet_api_dummy.cc + src/core/ext/transport/cronet/transport/cronet_transport.cc + src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc + src/core/ext/transport/chttp2/transport/bin_decoder.cc + src/core/ext/transport/chttp2/transport/bin_encoder.cc + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc + src/core/ext/transport/chttp2/transport/chttp2_transport.cc + src/core/ext/transport/chttp2/transport/flow_control.cc + src/core/ext/transport/chttp2/transport/frame_data.cc + src/core/ext/transport/chttp2/transport/frame_goaway.cc + src/core/ext/transport/chttp2/transport/frame_ping.cc + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc + src/core/ext/transport/chttp2/transport/frame_settings.cc + src/core/ext/transport/chttp2/transport/frame_window_update.cc + src/core/ext/transport/chttp2/transport/hpack_encoder.cc + src/core/ext/transport/chttp2/transport/hpack_parser.cc + src/core/ext/transport/chttp2/transport/hpack_table.cc + src/core/ext/transport/chttp2/transport/http2_settings.cc + src/core/ext/transport/chttp2/transport/huffsyms.cc + src/core/ext/transport/chttp2/transport/incoming_metadata.cc + src/core/ext/transport/chttp2/transport/parsing.cc + src/core/ext/transport/chttp2/transport/stream_lists.cc + src/core/ext/transport/chttp2/transport/stream_map.cc + src/core/ext/transport/chttp2/transport/varint.cc + src/core/ext/transport/chttp2/transport/writing.cc + src/core/ext/transport/chttp2/alpn/alpn.cc + src/core/ext/filters/http/client/http_client_filter.cc + src/core/ext/filters/http/http_filters_plugin.cc + src/core/ext/filters/http/message_compress/message_compress_filter.cc + src/core/ext/filters/http/server/http_server_filter.cc + src/core/ext/filters/client_channel/channel_connectivity.cc + src/core/ext/filters/client_channel/client_channel.cc + src/core/ext/filters/client_channel/client_channel_factory.cc + src/core/ext/filters/client_channel/client_channel_plugin.cc + src/core/ext/filters/client_channel/connector.cc + src/core/ext/filters/client_channel/http_connect_handshaker.cc + src/core/ext/filters/client_channel/http_proxy.cc + src/core/ext/filters/client_channel/lb_policy.cc + src/core/ext/filters/client_channel/lb_policy_factory.cc + src/core/ext/filters/client_channel/lb_policy_registry.cc + src/core/ext/filters/client_channel/parse_address.cc + src/core/ext/filters/client_channel/proxy_mapper.cc + src/core/ext/filters/client_channel/proxy_mapper_registry.cc + src/core/ext/filters/client_channel/resolver.cc + src/core/ext/filters/client_channel/resolver_factory.cc + src/core/ext/filters/client_channel/resolver_registry.cc + src/core/ext/filters/client_channel/retry_throttle.cc + src/core/ext/filters/client_channel/subchannel.cc + src/core/ext/filters/client_channel/subchannel_index.cc + src/core/ext/filters/client_channel/uri_parser.cc + src/core/ext/filters/deadline/deadline_filter.cc + src/core/lib/http/httpcli_security_connector.cc + src/core/lib/security/context/security_context.cc + src/core/lib/security/credentials/composite/composite_credentials.cc + src/core/lib/security/credentials/credentials.cc + src/core/lib/security/credentials/credentials_metadata.cc + src/core/lib/security/credentials/fake/fake_credentials.cc + src/core/lib/security/credentials/google_default/credentials_generic.cc + src/core/lib/security/credentials/google_default/google_default_credentials.cc + src/core/lib/security/credentials/iam/iam_credentials.cc + src/core/lib/security/credentials/jwt/json_token.cc + src/core/lib/security/credentials/jwt/jwt_credentials.cc + src/core/lib/security/credentials/jwt/jwt_verifier.cc + src/core/lib/security/credentials/oauth2/oauth2_credentials.cc + src/core/lib/security/credentials/plugin/plugin_credentials.cc + src/core/lib/security/credentials/ssl/ssl_credentials.cc + src/core/lib/security/transport/client_auth_filter.cc + src/core/lib/security/transport/lb_targets_info.cc + src/core/lib/security/transport/secure_endpoint.cc + src/core/lib/security/transport/security_connector.cc + src/core/lib/security/transport/security_handshaker.cc + src/core/lib/security/transport/server_auth_filter.cc + src/core/lib/security/transport/tsi_error.cc + src/core/lib/security/util/json_util.cc + src/core/lib/surface/init_secure.cc + src/core/tsi/fake_transport_security.cc + src/core/tsi/gts_transport_security.cc + src/core/tsi/ssl_transport_security.cc + src/core/tsi/transport_security_grpc.cc + src/core/tsi/transport_security.cc + src/core/tsi/transport_security_adapter.cc + src/core/ext/transport/chttp2/client/chttp2_connector.cc + src/core/ext/filters/load_reporting/server_load_reporting_filter.cc + src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc src/core/plugin_registry/grpc_cronet_plugin_registry.cc ) @@ -1610,201 +1606,199 @@ add_library(grpc_test_util test/core/end2end/data/server1_key.c test/core/end2end/data/test_root_cert.c test/core/security/oauth2_utils.c - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c - test/core/end2end/cq_verifier.c - test/core/end2end/fixtures/http_proxy_fixture.c - test/core/end2end/fixtures/proxy.c - test/core/iomgr/endpoint_tests.c - test/core/util/debugger_macros.c - test/core/util/grpc_profiler.c - test/core/util/memory_counters.c - test/core/util/mock_endpoint.c - test/core/util/parse_hexstring.c - test/core/util/passthru_endpoint.c - test/core/util/port.c - test/core/util/port_server_client.c - test/core/util/slice_splitter.c - test/core/util/trickle_endpoint.c - src/core/lib/channel/channel_args.c - src/core/lib/channel/channel_stack.c - src/core/lib/channel/channel_stack_builder.c - src/core/lib/channel/connected_channel.c - src/core/lib/channel/handshaker.c - src/core/lib/channel/handshaker_factory.c - src/core/lib/channel/handshaker_registry.c - src/core/lib/compression/compression.c - src/core/lib/compression/message_compress.c - src/core/lib/compression/stream_compression.c - src/core/lib/compression/stream_compression_gzip.c - src/core/lib/compression/stream_compression_identity.c - src/core/lib/debug/stats.c - src/core/lib/debug/stats_data.c - src/core/lib/http/format_request.c - src/core/lib/http/httpcli.c - src/core/lib/http/parser.c - src/core/lib/iomgr/call_combiner.c - src/core/lib/iomgr/closure.c - src/core/lib/iomgr/combiner.c - src/core/lib/iomgr/endpoint.c - src/core/lib/iomgr/endpoint_pair_posix.c - src/core/lib/iomgr/endpoint_pair_uv.c - src/core/lib/iomgr/endpoint_pair_windows.c - src/core/lib/iomgr/error.c - src/core/lib/iomgr/ev_epoll1_linux.c - src/core/lib/iomgr/ev_epollex_linux.c - src/core/lib/iomgr/ev_epollsig_linux.c - src/core/lib/iomgr/ev_poll_posix.c - src/core/lib/iomgr/ev_posix.c - src/core/lib/iomgr/ev_windows.c - src/core/lib/iomgr/exec_ctx.c - src/core/lib/iomgr/executor.c - src/core/lib/iomgr/gethostname_fallback.c - src/core/lib/iomgr/gethostname_host_name_max.c - src/core/lib/iomgr/gethostname_sysconf.c - src/core/lib/iomgr/iocp_windows.c - src/core/lib/iomgr/iomgr.c - src/core/lib/iomgr/iomgr_posix.c - src/core/lib/iomgr/iomgr_uv.c - src/core/lib/iomgr/iomgr_windows.c - src/core/lib/iomgr/is_epollexclusive_available.c - src/core/lib/iomgr/load_file.c - src/core/lib/iomgr/lockfree_event.c - src/core/lib/iomgr/network_status_tracker.c - src/core/lib/iomgr/polling_entity.c - src/core/lib/iomgr/pollset_set_uv.c - src/core/lib/iomgr/pollset_set_windows.c - src/core/lib/iomgr/pollset_uv.c - src/core/lib/iomgr/pollset_windows.c - src/core/lib/iomgr/resolve_address_posix.c - src/core/lib/iomgr/resolve_address_uv.c - src/core/lib/iomgr/resolve_address_windows.c - src/core/lib/iomgr/resource_quota.c - src/core/lib/iomgr/sockaddr_utils.c - src/core/lib/iomgr/socket_factory_posix.c - src/core/lib/iomgr/socket_mutator.c - src/core/lib/iomgr/socket_utils_common_posix.c - src/core/lib/iomgr/socket_utils_linux.c - src/core/lib/iomgr/socket_utils_posix.c - src/core/lib/iomgr/socket_utils_uv.c - src/core/lib/iomgr/socket_utils_windows.c - src/core/lib/iomgr/socket_windows.c - src/core/lib/iomgr/tcp_client_posix.c - src/core/lib/iomgr/tcp_client_uv.c - src/core/lib/iomgr/tcp_client_windows.c - src/core/lib/iomgr/tcp_posix.c - src/core/lib/iomgr/tcp_server_posix.c - src/core/lib/iomgr/tcp_server_utils_posix_common.c - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c - src/core/lib/iomgr/tcp_server_uv.c - src/core/lib/iomgr/tcp_server_windows.c - src/core/lib/iomgr/tcp_uv.c - src/core/lib/iomgr/tcp_windows.c - src/core/lib/iomgr/time_averaged_stats.c - src/core/lib/iomgr/timer_generic.c - src/core/lib/iomgr/timer_heap.c - src/core/lib/iomgr/timer_manager.c - src/core/lib/iomgr/timer_uv.c - src/core/lib/iomgr/udp_server.c - src/core/lib/iomgr/unix_sockets_posix.c - src/core/lib/iomgr/unix_sockets_posix_noop.c - src/core/lib/iomgr/wakeup_fd_cv.c - src/core/lib/iomgr/wakeup_fd_eventfd.c - src/core/lib/iomgr/wakeup_fd_nospecial.c - src/core/lib/iomgr/wakeup_fd_pipe.c - src/core/lib/iomgr/wakeup_fd_posix.c - src/core/lib/json/json.c - src/core/lib/json/json_reader.c - src/core/lib/json/json_string.c - src/core/lib/json/json_writer.c - src/core/lib/slice/b64.c - src/core/lib/slice/percent_encoding.c - src/core/lib/slice/slice.c - src/core/lib/slice/slice_buffer.c - src/core/lib/slice/slice_hash_table.c - src/core/lib/slice/slice_intern.c - src/core/lib/slice/slice_string_helpers.c - src/core/lib/surface/alarm.c - src/core/lib/surface/api_trace.c - src/core/lib/surface/byte_buffer.c - src/core/lib/surface/byte_buffer_reader.c - src/core/lib/surface/call.c - src/core/lib/surface/call_details.c - src/core/lib/surface/call_log_batch.c - src/core/lib/surface/channel.c - src/core/lib/surface/channel_init.c - src/core/lib/surface/channel_ping.c - src/core/lib/surface/channel_stack_type.c - src/core/lib/surface/completion_queue.c - src/core/lib/surface/completion_queue_factory.c - src/core/lib/surface/event_string.c + src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc + test/core/end2end/cq_verifier.cc + test/core/end2end/fixtures/http_proxy_fixture.cc + test/core/end2end/fixtures/proxy.cc + test/core/iomgr/endpoint_tests.cc + test/core/util/debugger_macros.cc + test/core/util/grpc_profiler.cc + test/core/util/memory_counters.cc + test/core/util/mock_endpoint.cc + test/core/util/parse_hexstring.cc + test/core/util/passthru_endpoint.cc + test/core/util/port.cc + test/core/util/port_server_client.cc + test/core/util/slice_splitter.cc + test/core/util/trickle_endpoint.cc + src/core/lib/channel/channel_args.cc + src/core/lib/channel/channel_stack.cc + src/core/lib/channel/channel_stack_builder.cc + src/core/lib/channel/connected_channel.cc + src/core/lib/channel/handshaker.cc + src/core/lib/channel/handshaker_factory.cc + src/core/lib/channel/handshaker_registry.cc + src/core/lib/compression/compression.cc + src/core/lib/compression/message_compress.cc + src/core/lib/compression/stream_compression.cc + src/core/lib/debug/stats.cc + src/core/lib/debug/stats_data.cc + src/core/lib/http/format_request.cc + src/core/lib/http/httpcli.cc + src/core/lib/http/parser.cc + src/core/lib/iomgr/call_combiner.cc + src/core/lib/iomgr/closure.cc + src/core/lib/iomgr/combiner.cc + src/core/lib/iomgr/endpoint.cc + src/core/lib/iomgr/endpoint_pair_posix.cc + src/core/lib/iomgr/endpoint_pair_uv.cc + src/core/lib/iomgr/endpoint_pair_windows.cc + src/core/lib/iomgr/error.cc + src/core/lib/iomgr/ev_epoll1_linux.cc + src/core/lib/iomgr/ev_epollex_linux.cc + src/core/lib/iomgr/ev_epollsig_linux.cc + src/core/lib/iomgr/ev_poll_posix.cc + src/core/lib/iomgr/ev_posix.cc + src/core/lib/iomgr/ev_windows.cc + src/core/lib/iomgr/exec_ctx.cc + src/core/lib/iomgr/executor.cc + src/core/lib/iomgr/gethostname_fallback.cc + src/core/lib/iomgr/gethostname_host_name_max.cc + src/core/lib/iomgr/gethostname_sysconf.cc + src/core/lib/iomgr/iocp_windows.cc + src/core/lib/iomgr/iomgr.cc + src/core/lib/iomgr/iomgr_posix.cc + src/core/lib/iomgr/iomgr_uv.cc + src/core/lib/iomgr/iomgr_windows.cc + src/core/lib/iomgr/is_epollexclusive_available.cc + src/core/lib/iomgr/load_file.cc + src/core/lib/iomgr/lockfree_event.cc + src/core/lib/iomgr/network_status_tracker.cc + src/core/lib/iomgr/polling_entity.cc + src/core/lib/iomgr/pollset_set_uv.cc + src/core/lib/iomgr/pollset_set_windows.cc + src/core/lib/iomgr/pollset_uv.cc + src/core/lib/iomgr/pollset_windows.cc + src/core/lib/iomgr/resolve_address_posix.cc + src/core/lib/iomgr/resolve_address_uv.cc + src/core/lib/iomgr/resolve_address_windows.cc + src/core/lib/iomgr/resource_quota.cc + src/core/lib/iomgr/sockaddr_utils.cc + src/core/lib/iomgr/socket_factory_posix.cc + src/core/lib/iomgr/socket_mutator.cc + src/core/lib/iomgr/socket_utils_common_posix.cc + src/core/lib/iomgr/socket_utils_linux.cc + src/core/lib/iomgr/socket_utils_posix.cc + src/core/lib/iomgr/socket_utils_uv.cc + src/core/lib/iomgr/socket_utils_windows.cc + src/core/lib/iomgr/socket_windows.cc + src/core/lib/iomgr/tcp_client_posix.cc + src/core/lib/iomgr/tcp_client_uv.cc + src/core/lib/iomgr/tcp_client_windows.cc + src/core/lib/iomgr/tcp_posix.cc + src/core/lib/iomgr/tcp_server_posix.cc + src/core/lib/iomgr/tcp_server_utils_posix_common.cc + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc + src/core/lib/iomgr/tcp_server_uv.cc + src/core/lib/iomgr/tcp_server_windows.cc + src/core/lib/iomgr/tcp_uv.cc + src/core/lib/iomgr/tcp_windows.cc + src/core/lib/iomgr/time_averaged_stats.cc + src/core/lib/iomgr/timer_generic.cc + src/core/lib/iomgr/timer_heap.cc + src/core/lib/iomgr/timer_manager.cc + src/core/lib/iomgr/timer_uv.cc + src/core/lib/iomgr/udp_server.cc + src/core/lib/iomgr/unix_sockets_posix.cc + src/core/lib/iomgr/unix_sockets_posix_noop.cc + src/core/lib/iomgr/wakeup_fd_cv.cc + src/core/lib/iomgr/wakeup_fd_eventfd.cc + src/core/lib/iomgr/wakeup_fd_nospecial.cc + src/core/lib/iomgr/wakeup_fd_pipe.cc + src/core/lib/iomgr/wakeup_fd_posix.cc + src/core/lib/json/json.cc + src/core/lib/json/json_reader.cc + src/core/lib/json/json_string.cc + src/core/lib/json/json_writer.cc + src/core/lib/slice/b64.cc + src/core/lib/slice/percent_encoding.cc + src/core/lib/slice/slice.cc + src/core/lib/slice/slice_buffer.cc + src/core/lib/slice/slice_hash_table.cc + src/core/lib/slice/slice_intern.cc + src/core/lib/slice/slice_string_helpers.cc + src/core/lib/surface/alarm.cc + src/core/lib/surface/api_trace.cc + src/core/lib/surface/byte_buffer.cc + src/core/lib/surface/byte_buffer_reader.cc + src/core/lib/surface/call.cc + src/core/lib/surface/call_details.cc + src/core/lib/surface/call_log_batch.cc + src/core/lib/surface/channel.cc + src/core/lib/surface/channel_init.cc + src/core/lib/surface/channel_ping.cc + src/core/lib/surface/channel_stack_type.cc + src/core/lib/surface/completion_queue.cc + src/core/lib/surface/completion_queue_factory.cc + src/core/lib/surface/event_string.cc src/core/lib/surface/lame_client.cc - src/core/lib/surface/metadata_array.c - src/core/lib/surface/server.c - src/core/lib/surface/validate_metadata.c - src/core/lib/surface/version.c - src/core/lib/transport/bdp_estimator.c - src/core/lib/transport/byte_stream.c - src/core/lib/transport/connectivity_state.c - src/core/lib/transport/error_utils.c - src/core/lib/transport/metadata.c - src/core/lib/transport/metadata_batch.c - src/core/lib/transport/pid_controller.c - src/core/lib/transport/service_config.c - src/core/lib/transport/static_metadata.c - src/core/lib/transport/status_conversion.c - src/core/lib/transport/timeout_encoding.c - src/core/lib/transport/transport.c - src/core/lib/transport/transport_op_string.c - src/core/lib/debug/trace.c - src/core/ext/filters/client_channel/channel_connectivity.c - src/core/ext/filters/client_channel/client_channel.c - src/core/ext/filters/client_channel/client_channel_factory.c - src/core/ext/filters/client_channel/client_channel_plugin.c - src/core/ext/filters/client_channel/connector.c - src/core/ext/filters/client_channel/http_connect_handshaker.c - src/core/ext/filters/client_channel/http_proxy.c - src/core/ext/filters/client_channel/lb_policy.c - src/core/ext/filters/client_channel/lb_policy_factory.c - src/core/ext/filters/client_channel/lb_policy_registry.c - src/core/ext/filters/client_channel/parse_address.c - src/core/ext/filters/client_channel/proxy_mapper.c - src/core/ext/filters/client_channel/proxy_mapper_registry.c - src/core/ext/filters/client_channel/resolver.c - src/core/ext/filters/client_channel/resolver_factory.c - src/core/ext/filters/client_channel/resolver_registry.c - src/core/ext/filters/client_channel/retry_throttle.c - src/core/ext/filters/client_channel/subchannel.c - src/core/ext/filters/client_channel/subchannel_index.c - src/core/ext/filters/client_channel/uri_parser.c - src/core/ext/filters/deadline/deadline_filter.c - src/core/ext/transport/chttp2/transport/bin_decoder.c - src/core/ext/transport/chttp2/transport/bin_encoder.c - src/core/ext/transport/chttp2/transport/chttp2_plugin.c - src/core/ext/transport/chttp2/transport/chttp2_transport.c - src/core/ext/transport/chttp2/transport/flow_control.c - src/core/ext/transport/chttp2/transport/frame_data.c - src/core/ext/transport/chttp2/transport/frame_goaway.c - src/core/ext/transport/chttp2/transport/frame_ping.c - src/core/ext/transport/chttp2/transport/frame_rst_stream.c - src/core/ext/transport/chttp2/transport/frame_settings.c - src/core/ext/transport/chttp2/transport/frame_window_update.c - src/core/ext/transport/chttp2/transport/hpack_encoder.c - src/core/ext/transport/chttp2/transport/hpack_parser.c - src/core/ext/transport/chttp2/transport/hpack_table.c - src/core/ext/transport/chttp2/transport/http2_settings.c - src/core/ext/transport/chttp2/transport/huffsyms.c - src/core/ext/transport/chttp2/transport/incoming_metadata.c - src/core/ext/transport/chttp2/transport/parsing.c - src/core/ext/transport/chttp2/transport/stream_lists.c - src/core/ext/transport/chttp2/transport/stream_map.c - src/core/ext/transport/chttp2/transport/varint.c - src/core/ext/transport/chttp2/transport/writing.c - src/core/ext/transport/chttp2/alpn/alpn.c - src/core/ext/filters/http/client/http_client_filter.c - src/core/ext/filters/http/http_filters_plugin.c - src/core/ext/filters/http/message_compress/message_compress_filter.c - src/core/ext/filters/http/server/http_server_filter.c + src/core/lib/surface/metadata_array.cc + src/core/lib/surface/server.cc + src/core/lib/surface/validate_metadata.cc + src/core/lib/surface/version.cc + src/core/lib/transport/bdp_estimator.cc + src/core/lib/transport/byte_stream.cc + src/core/lib/transport/connectivity_state.cc + src/core/lib/transport/error_utils.cc + src/core/lib/transport/metadata.cc + src/core/lib/transport/metadata_batch.cc + src/core/lib/transport/pid_controller.cc + src/core/lib/transport/service_config.cc + src/core/lib/transport/static_metadata.cc + src/core/lib/transport/status_conversion.cc + src/core/lib/transport/timeout_encoding.cc + src/core/lib/transport/transport.cc + src/core/lib/transport/transport_op_string.cc + src/core/lib/debug/trace.cc + src/core/ext/filters/client_channel/channel_connectivity.cc + src/core/ext/filters/client_channel/client_channel.cc + src/core/ext/filters/client_channel/client_channel_factory.cc + src/core/ext/filters/client_channel/client_channel_plugin.cc + src/core/ext/filters/client_channel/connector.cc + src/core/ext/filters/client_channel/http_connect_handshaker.cc + src/core/ext/filters/client_channel/http_proxy.cc + src/core/ext/filters/client_channel/lb_policy.cc + src/core/ext/filters/client_channel/lb_policy_factory.cc + src/core/ext/filters/client_channel/lb_policy_registry.cc + src/core/ext/filters/client_channel/parse_address.cc + src/core/ext/filters/client_channel/proxy_mapper.cc + src/core/ext/filters/client_channel/proxy_mapper_registry.cc + src/core/ext/filters/client_channel/resolver.cc + src/core/ext/filters/client_channel/resolver_factory.cc + src/core/ext/filters/client_channel/resolver_registry.cc + src/core/ext/filters/client_channel/retry_throttle.cc + src/core/ext/filters/client_channel/subchannel.cc + src/core/ext/filters/client_channel/subchannel_index.cc + src/core/ext/filters/client_channel/uri_parser.cc + src/core/ext/filters/deadline/deadline_filter.cc + src/core/ext/transport/chttp2/transport/bin_decoder.cc + src/core/ext/transport/chttp2/transport/bin_encoder.cc + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc + src/core/ext/transport/chttp2/transport/chttp2_transport.cc + src/core/ext/transport/chttp2/transport/flow_control.cc + src/core/ext/transport/chttp2/transport/frame_data.cc + src/core/ext/transport/chttp2/transport/frame_goaway.cc + src/core/ext/transport/chttp2/transport/frame_ping.cc + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc + src/core/ext/transport/chttp2/transport/frame_settings.cc + src/core/ext/transport/chttp2/transport/frame_window_update.cc + src/core/ext/transport/chttp2/transport/hpack_encoder.cc + src/core/ext/transport/chttp2/transport/hpack_parser.cc + src/core/ext/transport/chttp2/transport/hpack_table.cc + src/core/ext/transport/chttp2/transport/http2_settings.cc + src/core/ext/transport/chttp2/transport/huffsyms.cc + src/core/ext/transport/chttp2/transport/incoming_metadata.cc + src/core/ext/transport/chttp2/transport/parsing.cc + src/core/ext/transport/chttp2/transport/stream_lists.cc + src/core/ext/transport/chttp2/transport/stream_map.cc + src/core/ext/transport/chttp2/transport/varint.cc + src/core/ext/transport/chttp2/transport/writing.cc + src/core/ext/transport/chttp2/alpn/alpn.cc + src/core/ext/filters/http/client/http_client_filter.cc + src/core/ext/filters/http/http_filters_plugin.cc + src/core/ext/filters/http/message_compress/message_compress_filter.cc + src/core/ext/filters/http/server/http_server_filter.cc ) if(WIN32 AND MSVC) @@ -1873,201 +1867,199 @@ endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_TESTS) add_library(grpc_test_util_unsecure - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c - test/core/end2end/cq_verifier.c - test/core/end2end/fixtures/http_proxy_fixture.c - test/core/end2end/fixtures/proxy.c - test/core/iomgr/endpoint_tests.c - test/core/util/debugger_macros.c - test/core/util/grpc_profiler.c - test/core/util/memory_counters.c - test/core/util/mock_endpoint.c - test/core/util/parse_hexstring.c - test/core/util/passthru_endpoint.c - test/core/util/port.c - test/core/util/port_server_client.c - test/core/util/slice_splitter.c - test/core/util/trickle_endpoint.c - src/core/lib/channel/channel_args.c - src/core/lib/channel/channel_stack.c - src/core/lib/channel/channel_stack_builder.c - src/core/lib/channel/connected_channel.c - src/core/lib/channel/handshaker.c - src/core/lib/channel/handshaker_factory.c - src/core/lib/channel/handshaker_registry.c - src/core/lib/compression/compression.c - src/core/lib/compression/message_compress.c - src/core/lib/compression/stream_compression.c - src/core/lib/compression/stream_compression_gzip.c - src/core/lib/compression/stream_compression_identity.c - src/core/lib/debug/stats.c - src/core/lib/debug/stats_data.c - src/core/lib/http/format_request.c - src/core/lib/http/httpcli.c - src/core/lib/http/parser.c - src/core/lib/iomgr/call_combiner.c - src/core/lib/iomgr/closure.c - src/core/lib/iomgr/combiner.c - src/core/lib/iomgr/endpoint.c - src/core/lib/iomgr/endpoint_pair_posix.c - src/core/lib/iomgr/endpoint_pair_uv.c - src/core/lib/iomgr/endpoint_pair_windows.c - src/core/lib/iomgr/error.c - src/core/lib/iomgr/ev_epoll1_linux.c - src/core/lib/iomgr/ev_epollex_linux.c - src/core/lib/iomgr/ev_epollsig_linux.c - src/core/lib/iomgr/ev_poll_posix.c - src/core/lib/iomgr/ev_posix.c - src/core/lib/iomgr/ev_windows.c - src/core/lib/iomgr/exec_ctx.c - src/core/lib/iomgr/executor.c - src/core/lib/iomgr/gethostname_fallback.c - src/core/lib/iomgr/gethostname_host_name_max.c - src/core/lib/iomgr/gethostname_sysconf.c - src/core/lib/iomgr/iocp_windows.c - src/core/lib/iomgr/iomgr.c - src/core/lib/iomgr/iomgr_posix.c - src/core/lib/iomgr/iomgr_uv.c - src/core/lib/iomgr/iomgr_windows.c - src/core/lib/iomgr/is_epollexclusive_available.c - src/core/lib/iomgr/load_file.c - src/core/lib/iomgr/lockfree_event.c - src/core/lib/iomgr/network_status_tracker.c - src/core/lib/iomgr/polling_entity.c - src/core/lib/iomgr/pollset_set_uv.c - src/core/lib/iomgr/pollset_set_windows.c - src/core/lib/iomgr/pollset_uv.c - src/core/lib/iomgr/pollset_windows.c - src/core/lib/iomgr/resolve_address_posix.c - src/core/lib/iomgr/resolve_address_uv.c - src/core/lib/iomgr/resolve_address_windows.c - src/core/lib/iomgr/resource_quota.c - src/core/lib/iomgr/sockaddr_utils.c - src/core/lib/iomgr/socket_factory_posix.c - src/core/lib/iomgr/socket_mutator.c - src/core/lib/iomgr/socket_utils_common_posix.c - src/core/lib/iomgr/socket_utils_linux.c - src/core/lib/iomgr/socket_utils_posix.c - src/core/lib/iomgr/socket_utils_uv.c - src/core/lib/iomgr/socket_utils_windows.c - src/core/lib/iomgr/socket_windows.c - src/core/lib/iomgr/tcp_client_posix.c - src/core/lib/iomgr/tcp_client_uv.c - src/core/lib/iomgr/tcp_client_windows.c - src/core/lib/iomgr/tcp_posix.c - src/core/lib/iomgr/tcp_server_posix.c - src/core/lib/iomgr/tcp_server_utils_posix_common.c - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c - src/core/lib/iomgr/tcp_server_uv.c - src/core/lib/iomgr/tcp_server_windows.c - src/core/lib/iomgr/tcp_uv.c - src/core/lib/iomgr/tcp_windows.c - src/core/lib/iomgr/time_averaged_stats.c - src/core/lib/iomgr/timer_generic.c - src/core/lib/iomgr/timer_heap.c - src/core/lib/iomgr/timer_manager.c - src/core/lib/iomgr/timer_uv.c - src/core/lib/iomgr/udp_server.c - src/core/lib/iomgr/unix_sockets_posix.c - src/core/lib/iomgr/unix_sockets_posix_noop.c - src/core/lib/iomgr/wakeup_fd_cv.c - src/core/lib/iomgr/wakeup_fd_eventfd.c - src/core/lib/iomgr/wakeup_fd_nospecial.c - src/core/lib/iomgr/wakeup_fd_pipe.c - src/core/lib/iomgr/wakeup_fd_posix.c - src/core/lib/json/json.c - src/core/lib/json/json_reader.c - src/core/lib/json/json_string.c - src/core/lib/json/json_writer.c - src/core/lib/slice/b64.c - src/core/lib/slice/percent_encoding.c - src/core/lib/slice/slice.c - src/core/lib/slice/slice_buffer.c - src/core/lib/slice/slice_hash_table.c - src/core/lib/slice/slice_intern.c - src/core/lib/slice/slice_string_helpers.c - src/core/lib/surface/alarm.c - src/core/lib/surface/api_trace.c - src/core/lib/surface/byte_buffer.c - src/core/lib/surface/byte_buffer_reader.c - src/core/lib/surface/call.c - src/core/lib/surface/call_details.c - src/core/lib/surface/call_log_batch.c - src/core/lib/surface/channel.c - src/core/lib/surface/channel_init.c - src/core/lib/surface/channel_ping.c - src/core/lib/surface/channel_stack_type.c - src/core/lib/surface/completion_queue.c - src/core/lib/surface/completion_queue_factory.c - src/core/lib/surface/event_string.c + src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc + test/core/end2end/cq_verifier.cc + test/core/end2end/fixtures/http_proxy_fixture.cc + test/core/end2end/fixtures/proxy.cc + test/core/iomgr/endpoint_tests.cc + test/core/util/debugger_macros.cc + test/core/util/grpc_profiler.cc + test/core/util/memory_counters.cc + test/core/util/mock_endpoint.cc + test/core/util/parse_hexstring.cc + test/core/util/passthru_endpoint.cc + test/core/util/port.cc + test/core/util/port_server_client.cc + test/core/util/slice_splitter.cc + test/core/util/trickle_endpoint.cc + src/core/lib/channel/channel_args.cc + src/core/lib/channel/channel_stack.cc + src/core/lib/channel/channel_stack_builder.cc + src/core/lib/channel/connected_channel.cc + src/core/lib/channel/handshaker.cc + src/core/lib/channel/handshaker_factory.cc + src/core/lib/channel/handshaker_registry.cc + src/core/lib/compression/compression.cc + src/core/lib/compression/message_compress.cc + src/core/lib/compression/stream_compression.cc + src/core/lib/debug/stats.cc + src/core/lib/debug/stats_data.cc + src/core/lib/http/format_request.cc + src/core/lib/http/httpcli.cc + src/core/lib/http/parser.cc + src/core/lib/iomgr/call_combiner.cc + src/core/lib/iomgr/closure.cc + src/core/lib/iomgr/combiner.cc + src/core/lib/iomgr/endpoint.cc + src/core/lib/iomgr/endpoint_pair_posix.cc + src/core/lib/iomgr/endpoint_pair_uv.cc + src/core/lib/iomgr/endpoint_pair_windows.cc + src/core/lib/iomgr/error.cc + src/core/lib/iomgr/ev_epoll1_linux.cc + src/core/lib/iomgr/ev_epollex_linux.cc + src/core/lib/iomgr/ev_epollsig_linux.cc + src/core/lib/iomgr/ev_poll_posix.cc + src/core/lib/iomgr/ev_posix.cc + src/core/lib/iomgr/ev_windows.cc + src/core/lib/iomgr/exec_ctx.cc + src/core/lib/iomgr/executor.cc + src/core/lib/iomgr/gethostname_fallback.cc + src/core/lib/iomgr/gethostname_host_name_max.cc + src/core/lib/iomgr/gethostname_sysconf.cc + src/core/lib/iomgr/iocp_windows.cc + src/core/lib/iomgr/iomgr.cc + src/core/lib/iomgr/iomgr_posix.cc + src/core/lib/iomgr/iomgr_uv.cc + src/core/lib/iomgr/iomgr_windows.cc + src/core/lib/iomgr/is_epollexclusive_available.cc + src/core/lib/iomgr/load_file.cc + src/core/lib/iomgr/lockfree_event.cc + src/core/lib/iomgr/network_status_tracker.cc + src/core/lib/iomgr/polling_entity.cc + src/core/lib/iomgr/pollset_set_uv.cc + src/core/lib/iomgr/pollset_set_windows.cc + src/core/lib/iomgr/pollset_uv.cc + src/core/lib/iomgr/pollset_windows.cc + src/core/lib/iomgr/resolve_address_posix.cc + src/core/lib/iomgr/resolve_address_uv.cc + src/core/lib/iomgr/resolve_address_windows.cc + src/core/lib/iomgr/resource_quota.cc + src/core/lib/iomgr/sockaddr_utils.cc + src/core/lib/iomgr/socket_factory_posix.cc + src/core/lib/iomgr/socket_mutator.cc + src/core/lib/iomgr/socket_utils_common_posix.cc + src/core/lib/iomgr/socket_utils_linux.cc + src/core/lib/iomgr/socket_utils_posix.cc + src/core/lib/iomgr/socket_utils_uv.cc + src/core/lib/iomgr/socket_utils_windows.cc + src/core/lib/iomgr/socket_windows.cc + src/core/lib/iomgr/tcp_client_posix.cc + src/core/lib/iomgr/tcp_client_uv.cc + src/core/lib/iomgr/tcp_client_windows.cc + src/core/lib/iomgr/tcp_posix.cc + src/core/lib/iomgr/tcp_server_posix.cc + src/core/lib/iomgr/tcp_server_utils_posix_common.cc + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc + src/core/lib/iomgr/tcp_server_uv.cc + src/core/lib/iomgr/tcp_server_windows.cc + src/core/lib/iomgr/tcp_uv.cc + src/core/lib/iomgr/tcp_windows.cc + src/core/lib/iomgr/time_averaged_stats.cc + src/core/lib/iomgr/timer_generic.cc + src/core/lib/iomgr/timer_heap.cc + src/core/lib/iomgr/timer_manager.cc + src/core/lib/iomgr/timer_uv.cc + src/core/lib/iomgr/udp_server.cc + src/core/lib/iomgr/unix_sockets_posix.cc + src/core/lib/iomgr/unix_sockets_posix_noop.cc + src/core/lib/iomgr/wakeup_fd_cv.cc + src/core/lib/iomgr/wakeup_fd_eventfd.cc + src/core/lib/iomgr/wakeup_fd_nospecial.cc + src/core/lib/iomgr/wakeup_fd_pipe.cc + src/core/lib/iomgr/wakeup_fd_posix.cc + src/core/lib/json/json.cc + src/core/lib/json/json_reader.cc + src/core/lib/json/json_string.cc + src/core/lib/json/json_writer.cc + src/core/lib/slice/b64.cc + src/core/lib/slice/percent_encoding.cc + src/core/lib/slice/slice.cc + src/core/lib/slice/slice_buffer.cc + src/core/lib/slice/slice_hash_table.cc + src/core/lib/slice/slice_intern.cc + src/core/lib/slice/slice_string_helpers.cc + src/core/lib/surface/alarm.cc + src/core/lib/surface/api_trace.cc + src/core/lib/surface/byte_buffer.cc + src/core/lib/surface/byte_buffer_reader.cc + src/core/lib/surface/call.cc + src/core/lib/surface/call_details.cc + src/core/lib/surface/call_log_batch.cc + src/core/lib/surface/channel.cc + src/core/lib/surface/channel_init.cc + src/core/lib/surface/channel_ping.cc + src/core/lib/surface/channel_stack_type.cc + src/core/lib/surface/completion_queue.cc + src/core/lib/surface/completion_queue_factory.cc + src/core/lib/surface/event_string.cc src/core/lib/surface/lame_client.cc - src/core/lib/surface/metadata_array.c - src/core/lib/surface/server.c - src/core/lib/surface/validate_metadata.c - src/core/lib/surface/version.c - src/core/lib/transport/bdp_estimator.c - src/core/lib/transport/byte_stream.c - src/core/lib/transport/connectivity_state.c - src/core/lib/transport/error_utils.c - src/core/lib/transport/metadata.c - src/core/lib/transport/metadata_batch.c - src/core/lib/transport/pid_controller.c - src/core/lib/transport/service_config.c - src/core/lib/transport/static_metadata.c - src/core/lib/transport/status_conversion.c - src/core/lib/transport/timeout_encoding.c - src/core/lib/transport/transport.c - src/core/lib/transport/transport_op_string.c - src/core/lib/debug/trace.c - src/core/ext/filters/client_channel/channel_connectivity.c - src/core/ext/filters/client_channel/client_channel.c - src/core/ext/filters/client_channel/client_channel_factory.c - src/core/ext/filters/client_channel/client_channel_plugin.c - src/core/ext/filters/client_channel/connector.c - src/core/ext/filters/client_channel/http_connect_handshaker.c - src/core/ext/filters/client_channel/http_proxy.c - src/core/ext/filters/client_channel/lb_policy.c - src/core/ext/filters/client_channel/lb_policy_factory.c - src/core/ext/filters/client_channel/lb_policy_registry.c - src/core/ext/filters/client_channel/parse_address.c - src/core/ext/filters/client_channel/proxy_mapper.c - src/core/ext/filters/client_channel/proxy_mapper_registry.c - src/core/ext/filters/client_channel/resolver.c - src/core/ext/filters/client_channel/resolver_factory.c - src/core/ext/filters/client_channel/resolver_registry.c - src/core/ext/filters/client_channel/retry_throttle.c - src/core/ext/filters/client_channel/subchannel.c - src/core/ext/filters/client_channel/subchannel_index.c - src/core/ext/filters/client_channel/uri_parser.c - src/core/ext/filters/deadline/deadline_filter.c - src/core/ext/transport/chttp2/transport/bin_decoder.c - src/core/ext/transport/chttp2/transport/bin_encoder.c - src/core/ext/transport/chttp2/transport/chttp2_plugin.c - src/core/ext/transport/chttp2/transport/chttp2_transport.c - src/core/ext/transport/chttp2/transport/flow_control.c - src/core/ext/transport/chttp2/transport/frame_data.c - src/core/ext/transport/chttp2/transport/frame_goaway.c - src/core/ext/transport/chttp2/transport/frame_ping.c - src/core/ext/transport/chttp2/transport/frame_rst_stream.c - src/core/ext/transport/chttp2/transport/frame_settings.c - src/core/ext/transport/chttp2/transport/frame_window_update.c - src/core/ext/transport/chttp2/transport/hpack_encoder.c - src/core/ext/transport/chttp2/transport/hpack_parser.c - src/core/ext/transport/chttp2/transport/hpack_table.c - src/core/ext/transport/chttp2/transport/http2_settings.c - src/core/ext/transport/chttp2/transport/huffsyms.c - src/core/ext/transport/chttp2/transport/incoming_metadata.c - src/core/ext/transport/chttp2/transport/parsing.c - src/core/ext/transport/chttp2/transport/stream_lists.c - src/core/ext/transport/chttp2/transport/stream_map.c - src/core/ext/transport/chttp2/transport/varint.c - src/core/ext/transport/chttp2/transport/writing.c - src/core/ext/transport/chttp2/alpn/alpn.c - src/core/ext/filters/http/client/http_client_filter.c - src/core/ext/filters/http/http_filters_plugin.c - src/core/ext/filters/http/message_compress/message_compress_filter.c - src/core/ext/filters/http/server/http_server_filter.c + src/core/lib/surface/metadata_array.cc + src/core/lib/surface/server.cc + src/core/lib/surface/validate_metadata.cc + src/core/lib/surface/version.cc + src/core/lib/transport/bdp_estimator.cc + src/core/lib/transport/byte_stream.cc + src/core/lib/transport/connectivity_state.cc + src/core/lib/transport/error_utils.cc + src/core/lib/transport/metadata.cc + src/core/lib/transport/metadata_batch.cc + src/core/lib/transport/pid_controller.cc + src/core/lib/transport/service_config.cc + src/core/lib/transport/static_metadata.cc + src/core/lib/transport/status_conversion.cc + src/core/lib/transport/timeout_encoding.cc + src/core/lib/transport/transport.cc + src/core/lib/transport/transport_op_string.cc + src/core/lib/debug/trace.cc + src/core/ext/filters/client_channel/channel_connectivity.cc + src/core/ext/filters/client_channel/client_channel.cc + src/core/ext/filters/client_channel/client_channel_factory.cc + src/core/ext/filters/client_channel/client_channel_plugin.cc + src/core/ext/filters/client_channel/connector.cc + src/core/ext/filters/client_channel/http_connect_handshaker.cc + src/core/ext/filters/client_channel/http_proxy.cc + src/core/ext/filters/client_channel/lb_policy.cc + src/core/ext/filters/client_channel/lb_policy_factory.cc + src/core/ext/filters/client_channel/lb_policy_registry.cc + src/core/ext/filters/client_channel/parse_address.cc + src/core/ext/filters/client_channel/proxy_mapper.cc + src/core/ext/filters/client_channel/proxy_mapper_registry.cc + src/core/ext/filters/client_channel/resolver.cc + src/core/ext/filters/client_channel/resolver_factory.cc + src/core/ext/filters/client_channel/resolver_registry.cc + src/core/ext/filters/client_channel/retry_throttle.cc + src/core/ext/filters/client_channel/subchannel.cc + src/core/ext/filters/client_channel/subchannel_index.cc + src/core/ext/filters/client_channel/uri_parser.cc + src/core/ext/filters/deadline/deadline_filter.cc + src/core/ext/transport/chttp2/transport/bin_decoder.cc + src/core/ext/transport/chttp2/transport/bin_encoder.cc + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc + src/core/ext/transport/chttp2/transport/chttp2_transport.cc + src/core/ext/transport/chttp2/transport/flow_control.cc + src/core/ext/transport/chttp2/transport/frame_data.cc + src/core/ext/transport/chttp2/transport/frame_goaway.cc + src/core/ext/transport/chttp2/transport/frame_ping.cc + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc + src/core/ext/transport/chttp2/transport/frame_settings.cc + src/core/ext/transport/chttp2/transport/frame_window_update.cc + src/core/ext/transport/chttp2/transport/hpack_encoder.cc + src/core/ext/transport/chttp2/transport/hpack_parser.cc + src/core/ext/transport/chttp2/transport/hpack_table.cc + src/core/ext/transport/chttp2/transport/http2_settings.cc + src/core/ext/transport/chttp2/transport/huffsyms.cc + src/core/ext/transport/chttp2/transport/incoming_metadata.cc + src/core/ext/transport/chttp2/transport/parsing.cc + src/core/ext/transport/chttp2/transport/stream_lists.cc + src/core/ext/transport/chttp2/transport/stream_map.cc + src/core/ext/transport/chttp2/transport/varint.cc + src/core/ext/transport/chttp2/transport/writing.cc + src/core/ext/transport/chttp2/alpn/alpn.cc + src/core/ext/filters/http/client/http_client_filter.cc + src/core/ext/filters/http/http_filters_plugin.cc + src/core/ext/filters/http/message_compress/message_compress_filter.cc + src/core/ext/filters/http/server/http_server_filter.cc ) if(WIN32 AND MSVC) @@ -2135,235 +2127,233 @@ endforeach() endif (gRPC_BUILD_TESTS) add_library(grpc_unsecure - src/core/lib/surface/init.c - src/core/lib/surface/init_unsecure.c - src/core/lib/channel/channel_args.c - src/core/lib/channel/channel_stack.c - src/core/lib/channel/channel_stack_builder.c - src/core/lib/channel/connected_channel.c - src/core/lib/channel/handshaker.c - src/core/lib/channel/handshaker_factory.c - src/core/lib/channel/handshaker_registry.c - src/core/lib/compression/compression.c - src/core/lib/compression/message_compress.c - src/core/lib/compression/stream_compression.c - src/core/lib/compression/stream_compression_gzip.c - src/core/lib/compression/stream_compression_identity.c - src/core/lib/debug/stats.c - src/core/lib/debug/stats_data.c - src/core/lib/http/format_request.c - src/core/lib/http/httpcli.c - src/core/lib/http/parser.c - src/core/lib/iomgr/call_combiner.c - src/core/lib/iomgr/closure.c - src/core/lib/iomgr/combiner.c - src/core/lib/iomgr/endpoint.c - src/core/lib/iomgr/endpoint_pair_posix.c - src/core/lib/iomgr/endpoint_pair_uv.c - src/core/lib/iomgr/endpoint_pair_windows.c - src/core/lib/iomgr/error.c - src/core/lib/iomgr/ev_epoll1_linux.c - src/core/lib/iomgr/ev_epollex_linux.c - src/core/lib/iomgr/ev_epollsig_linux.c - src/core/lib/iomgr/ev_poll_posix.c - src/core/lib/iomgr/ev_posix.c - src/core/lib/iomgr/ev_windows.c - src/core/lib/iomgr/exec_ctx.c - src/core/lib/iomgr/executor.c - src/core/lib/iomgr/gethostname_fallback.c - src/core/lib/iomgr/gethostname_host_name_max.c - src/core/lib/iomgr/gethostname_sysconf.c - src/core/lib/iomgr/iocp_windows.c - src/core/lib/iomgr/iomgr.c - src/core/lib/iomgr/iomgr_posix.c - src/core/lib/iomgr/iomgr_uv.c - src/core/lib/iomgr/iomgr_windows.c - src/core/lib/iomgr/is_epollexclusive_available.c - src/core/lib/iomgr/load_file.c - src/core/lib/iomgr/lockfree_event.c - src/core/lib/iomgr/network_status_tracker.c - src/core/lib/iomgr/polling_entity.c - src/core/lib/iomgr/pollset_set_uv.c - src/core/lib/iomgr/pollset_set_windows.c - src/core/lib/iomgr/pollset_uv.c - src/core/lib/iomgr/pollset_windows.c - src/core/lib/iomgr/resolve_address_posix.c - src/core/lib/iomgr/resolve_address_uv.c - src/core/lib/iomgr/resolve_address_windows.c - src/core/lib/iomgr/resource_quota.c - src/core/lib/iomgr/sockaddr_utils.c - src/core/lib/iomgr/socket_factory_posix.c - src/core/lib/iomgr/socket_mutator.c - src/core/lib/iomgr/socket_utils_common_posix.c - src/core/lib/iomgr/socket_utils_linux.c - src/core/lib/iomgr/socket_utils_posix.c - src/core/lib/iomgr/socket_utils_uv.c - src/core/lib/iomgr/socket_utils_windows.c - src/core/lib/iomgr/socket_windows.c - src/core/lib/iomgr/tcp_client_posix.c - src/core/lib/iomgr/tcp_client_uv.c - src/core/lib/iomgr/tcp_client_windows.c - src/core/lib/iomgr/tcp_posix.c - src/core/lib/iomgr/tcp_server_posix.c - src/core/lib/iomgr/tcp_server_utils_posix_common.c - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c - src/core/lib/iomgr/tcp_server_uv.c - src/core/lib/iomgr/tcp_server_windows.c - src/core/lib/iomgr/tcp_uv.c - src/core/lib/iomgr/tcp_windows.c - src/core/lib/iomgr/time_averaged_stats.c - src/core/lib/iomgr/timer_generic.c - src/core/lib/iomgr/timer_heap.c - src/core/lib/iomgr/timer_manager.c - src/core/lib/iomgr/timer_uv.c - src/core/lib/iomgr/udp_server.c - src/core/lib/iomgr/unix_sockets_posix.c - src/core/lib/iomgr/unix_sockets_posix_noop.c - src/core/lib/iomgr/wakeup_fd_cv.c - src/core/lib/iomgr/wakeup_fd_eventfd.c - src/core/lib/iomgr/wakeup_fd_nospecial.c - src/core/lib/iomgr/wakeup_fd_pipe.c - src/core/lib/iomgr/wakeup_fd_posix.c - src/core/lib/json/json.c - src/core/lib/json/json_reader.c - src/core/lib/json/json_string.c - src/core/lib/json/json_writer.c - src/core/lib/slice/b64.c - src/core/lib/slice/percent_encoding.c - src/core/lib/slice/slice.c - src/core/lib/slice/slice_buffer.c - src/core/lib/slice/slice_hash_table.c - src/core/lib/slice/slice_intern.c - src/core/lib/slice/slice_string_helpers.c - src/core/lib/surface/alarm.c - src/core/lib/surface/api_trace.c - src/core/lib/surface/byte_buffer.c - src/core/lib/surface/byte_buffer_reader.c - src/core/lib/surface/call.c - src/core/lib/surface/call_details.c - src/core/lib/surface/call_log_batch.c - src/core/lib/surface/channel.c - src/core/lib/surface/channel_init.c - src/core/lib/surface/channel_ping.c - src/core/lib/surface/channel_stack_type.c - src/core/lib/surface/completion_queue.c - src/core/lib/surface/completion_queue_factory.c - src/core/lib/surface/event_string.c + src/core/lib/surface/init.cc + src/core/lib/surface/init_unsecure.cc + src/core/lib/channel/channel_args.cc + src/core/lib/channel/channel_stack.cc + src/core/lib/channel/channel_stack_builder.cc + src/core/lib/channel/connected_channel.cc + src/core/lib/channel/handshaker.cc + src/core/lib/channel/handshaker_factory.cc + src/core/lib/channel/handshaker_registry.cc + src/core/lib/compression/compression.cc + src/core/lib/compression/message_compress.cc + src/core/lib/compression/stream_compression.cc + src/core/lib/debug/stats.cc + src/core/lib/debug/stats_data.cc + src/core/lib/http/format_request.cc + src/core/lib/http/httpcli.cc + src/core/lib/http/parser.cc + src/core/lib/iomgr/call_combiner.cc + src/core/lib/iomgr/closure.cc + src/core/lib/iomgr/combiner.cc + src/core/lib/iomgr/endpoint.cc + src/core/lib/iomgr/endpoint_pair_posix.cc + src/core/lib/iomgr/endpoint_pair_uv.cc + src/core/lib/iomgr/endpoint_pair_windows.cc + src/core/lib/iomgr/error.cc + src/core/lib/iomgr/ev_epoll1_linux.cc + src/core/lib/iomgr/ev_epollex_linux.cc + src/core/lib/iomgr/ev_epollsig_linux.cc + src/core/lib/iomgr/ev_poll_posix.cc + src/core/lib/iomgr/ev_posix.cc + src/core/lib/iomgr/ev_windows.cc + src/core/lib/iomgr/exec_ctx.cc + src/core/lib/iomgr/executor.cc + src/core/lib/iomgr/gethostname_fallback.cc + src/core/lib/iomgr/gethostname_host_name_max.cc + src/core/lib/iomgr/gethostname_sysconf.cc + src/core/lib/iomgr/iocp_windows.cc + src/core/lib/iomgr/iomgr.cc + src/core/lib/iomgr/iomgr_posix.cc + src/core/lib/iomgr/iomgr_uv.cc + src/core/lib/iomgr/iomgr_windows.cc + src/core/lib/iomgr/is_epollexclusive_available.cc + src/core/lib/iomgr/load_file.cc + src/core/lib/iomgr/lockfree_event.cc + src/core/lib/iomgr/network_status_tracker.cc + src/core/lib/iomgr/polling_entity.cc + src/core/lib/iomgr/pollset_set_uv.cc + src/core/lib/iomgr/pollset_set_windows.cc + src/core/lib/iomgr/pollset_uv.cc + src/core/lib/iomgr/pollset_windows.cc + src/core/lib/iomgr/resolve_address_posix.cc + src/core/lib/iomgr/resolve_address_uv.cc + src/core/lib/iomgr/resolve_address_windows.cc + src/core/lib/iomgr/resource_quota.cc + src/core/lib/iomgr/sockaddr_utils.cc + src/core/lib/iomgr/socket_factory_posix.cc + src/core/lib/iomgr/socket_mutator.cc + src/core/lib/iomgr/socket_utils_common_posix.cc + src/core/lib/iomgr/socket_utils_linux.cc + src/core/lib/iomgr/socket_utils_posix.cc + src/core/lib/iomgr/socket_utils_uv.cc + src/core/lib/iomgr/socket_utils_windows.cc + src/core/lib/iomgr/socket_windows.cc + src/core/lib/iomgr/tcp_client_posix.cc + src/core/lib/iomgr/tcp_client_uv.cc + src/core/lib/iomgr/tcp_client_windows.cc + src/core/lib/iomgr/tcp_posix.cc + src/core/lib/iomgr/tcp_server_posix.cc + src/core/lib/iomgr/tcp_server_utils_posix_common.cc + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc + src/core/lib/iomgr/tcp_server_uv.cc + src/core/lib/iomgr/tcp_server_windows.cc + src/core/lib/iomgr/tcp_uv.cc + src/core/lib/iomgr/tcp_windows.cc + src/core/lib/iomgr/time_averaged_stats.cc + src/core/lib/iomgr/timer_generic.cc + src/core/lib/iomgr/timer_heap.cc + src/core/lib/iomgr/timer_manager.cc + src/core/lib/iomgr/timer_uv.cc + src/core/lib/iomgr/udp_server.cc + src/core/lib/iomgr/unix_sockets_posix.cc + src/core/lib/iomgr/unix_sockets_posix_noop.cc + src/core/lib/iomgr/wakeup_fd_cv.cc + src/core/lib/iomgr/wakeup_fd_eventfd.cc + src/core/lib/iomgr/wakeup_fd_nospecial.cc + src/core/lib/iomgr/wakeup_fd_pipe.cc + src/core/lib/iomgr/wakeup_fd_posix.cc + src/core/lib/json/json.cc + src/core/lib/json/json_reader.cc + src/core/lib/json/json_string.cc + src/core/lib/json/json_writer.cc + src/core/lib/slice/b64.cc + src/core/lib/slice/percent_encoding.cc + src/core/lib/slice/slice.cc + src/core/lib/slice/slice_buffer.cc + src/core/lib/slice/slice_hash_table.cc + src/core/lib/slice/slice_intern.cc + src/core/lib/slice/slice_string_helpers.cc + src/core/lib/surface/alarm.cc + src/core/lib/surface/api_trace.cc + src/core/lib/surface/byte_buffer.cc + src/core/lib/surface/byte_buffer_reader.cc + src/core/lib/surface/call.cc + src/core/lib/surface/call_details.cc + src/core/lib/surface/call_log_batch.cc + src/core/lib/surface/channel.cc + src/core/lib/surface/channel_init.cc + src/core/lib/surface/channel_ping.cc + src/core/lib/surface/channel_stack_type.cc + src/core/lib/surface/completion_queue.cc + src/core/lib/surface/completion_queue_factory.cc + src/core/lib/surface/event_string.cc src/core/lib/surface/lame_client.cc - src/core/lib/surface/metadata_array.c - src/core/lib/surface/server.c - src/core/lib/surface/validate_metadata.c - src/core/lib/surface/version.c - src/core/lib/transport/bdp_estimator.c - src/core/lib/transport/byte_stream.c - src/core/lib/transport/connectivity_state.c - src/core/lib/transport/error_utils.c - src/core/lib/transport/metadata.c - src/core/lib/transport/metadata_batch.c - src/core/lib/transport/pid_controller.c - src/core/lib/transport/service_config.c - src/core/lib/transport/static_metadata.c - src/core/lib/transport/status_conversion.c - src/core/lib/transport/timeout_encoding.c - src/core/lib/transport/transport.c - src/core/lib/transport/transport_op_string.c - src/core/lib/debug/trace.c - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c - src/core/ext/transport/chttp2/transport/bin_decoder.c - src/core/ext/transport/chttp2/transport/bin_encoder.c - src/core/ext/transport/chttp2/transport/chttp2_plugin.c - src/core/ext/transport/chttp2/transport/chttp2_transport.c - src/core/ext/transport/chttp2/transport/flow_control.c - src/core/ext/transport/chttp2/transport/frame_data.c - src/core/ext/transport/chttp2/transport/frame_goaway.c - src/core/ext/transport/chttp2/transport/frame_ping.c - src/core/ext/transport/chttp2/transport/frame_rst_stream.c - src/core/ext/transport/chttp2/transport/frame_settings.c - src/core/ext/transport/chttp2/transport/frame_window_update.c - src/core/ext/transport/chttp2/transport/hpack_encoder.c - src/core/ext/transport/chttp2/transport/hpack_parser.c - src/core/ext/transport/chttp2/transport/hpack_table.c - src/core/ext/transport/chttp2/transport/http2_settings.c - src/core/ext/transport/chttp2/transport/huffsyms.c - src/core/ext/transport/chttp2/transport/incoming_metadata.c - src/core/ext/transport/chttp2/transport/parsing.c - src/core/ext/transport/chttp2/transport/stream_lists.c - src/core/ext/transport/chttp2/transport/stream_map.c - src/core/ext/transport/chttp2/transport/varint.c - src/core/ext/transport/chttp2/transport/writing.c - src/core/ext/transport/chttp2/alpn/alpn.c - src/core/ext/filters/http/client/http_client_filter.c - src/core/ext/filters/http/http_filters_plugin.c - src/core/ext/filters/http/message_compress/message_compress_filter.c - src/core/ext/filters/http/server/http_server_filter.c - src/core/ext/transport/chttp2/server/chttp2_server.c - src/core/ext/transport/chttp2/client/insecure/channel_create.c - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c - src/core/ext/transport/chttp2/client/chttp2_connector.c - src/core/ext/filters/client_channel/channel_connectivity.c - src/core/ext/filters/client_channel/client_channel.c - src/core/ext/filters/client_channel/client_channel_factory.c - src/core/ext/filters/client_channel/client_channel_plugin.c - src/core/ext/filters/client_channel/connector.c - src/core/ext/filters/client_channel/http_connect_handshaker.c - src/core/ext/filters/client_channel/http_proxy.c - src/core/ext/filters/client_channel/lb_policy.c - src/core/ext/filters/client_channel/lb_policy_factory.c - src/core/ext/filters/client_channel/lb_policy_registry.c - src/core/ext/filters/client_channel/parse_address.c - src/core/ext/filters/client_channel/proxy_mapper.c - src/core/ext/filters/client_channel/proxy_mapper_registry.c - src/core/ext/filters/client_channel/resolver.c - src/core/ext/filters/client_channel/resolver_factory.c - src/core/ext/filters/client_channel/resolver_registry.c - src/core/ext/filters/client_channel/retry_throttle.c - src/core/ext/filters/client_channel/subchannel.c - src/core/ext/filters/client_channel/subchannel_index.c - src/core/ext/filters/client_channel/uri_parser.c - src/core/ext/filters/deadline/deadline_filter.c - src/core/ext/transport/inproc/inproc_plugin.c - src/core/ext/transport/inproc/inproc_transport.c - src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c - src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c - src/core/ext/filters/load_reporting/server_load_reporting_filter.c - src/core/ext/filters/load_reporting/server_load_reporting_plugin.c - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.c - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c + src/core/lib/surface/metadata_array.cc + src/core/lib/surface/server.cc + src/core/lib/surface/validate_metadata.cc + src/core/lib/surface/version.cc + src/core/lib/transport/bdp_estimator.cc + src/core/lib/transport/byte_stream.cc + src/core/lib/transport/connectivity_state.cc + src/core/lib/transport/error_utils.cc + src/core/lib/transport/metadata.cc + src/core/lib/transport/metadata_batch.cc + src/core/lib/transport/pid_controller.cc + src/core/lib/transport/service_config.cc + src/core/lib/transport/static_metadata.cc + src/core/lib/transport/status_conversion.cc + src/core/lib/transport/timeout_encoding.cc + src/core/lib/transport/transport.cc + src/core/lib/transport/transport_op_string.cc + src/core/lib/debug/trace.cc + src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc + src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc + src/core/ext/transport/chttp2/transport/bin_decoder.cc + src/core/ext/transport/chttp2/transport/bin_encoder.cc + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc + src/core/ext/transport/chttp2/transport/chttp2_transport.cc + src/core/ext/transport/chttp2/transport/flow_control.cc + src/core/ext/transport/chttp2/transport/frame_data.cc + src/core/ext/transport/chttp2/transport/frame_goaway.cc + src/core/ext/transport/chttp2/transport/frame_ping.cc + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc + src/core/ext/transport/chttp2/transport/frame_settings.cc + src/core/ext/transport/chttp2/transport/frame_window_update.cc + src/core/ext/transport/chttp2/transport/hpack_encoder.cc + src/core/ext/transport/chttp2/transport/hpack_parser.cc + src/core/ext/transport/chttp2/transport/hpack_table.cc + src/core/ext/transport/chttp2/transport/http2_settings.cc + src/core/ext/transport/chttp2/transport/huffsyms.cc + src/core/ext/transport/chttp2/transport/incoming_metadata.cc + src/core/ext/transport/chttp2/transport/parsing.cc + src/core/ext/transport/chttp2/transport/stream_lists.cc + src/core/ext/transport/chttp2/transport/stream_map.cc + src/core/ext/transport/chttp2/transport/varint.cc + src/core/ext/transport/chttp2/transport/writing.cc + src/core/ext/transport/chttp2/alpn/alpn.cc + src/core/ext/filters/http/client/http_client_filter.cc + src/core/ext/filters/http/http_filters_plugin.cc + src/core/ext/filters/http/message_compress/message_compress_filter.cc + src/core/ext/filters/http/server/http_server_filter.cc + src/core/ext/transport/chttp2/server/chttp2_server.cc + src/core/ext/transport/chttp2/client/insecure/channel_create.cc + src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc + src/core/ext/transport/chttp2/client/chttp2_connector.cc + src/core/ext/filters/client_channel/channel_connectivity.cc + src/core/ext/filters/client_channel/client_channel.cc + src/core/ext/filters/client_channel/client_channel_factory.cc + src/core/ext/filters/client_channel/client_channel_plugin.cc + src/core/ext/filters/client_channel/connector.cc + src/core/ext/filters/client_channel/http_connect_handshaker.cc + src/core/ext/filters/client_channel/http_proxy.cc + src/core/ext/filters/client_channel/lb_policy.cc + src/core/ext/filters/client_channel/lb_policy_factory.cc + src/core/ext/filters/client_channel/lb_policy_registry.cc + src/core/ext/filters/client_channel/parse_address.cc + src/core/ext/filters/client_channel/proxy_mapper.cc + src/core/ext/filters/client_channel/proxy_mapper_registry.cc + src/core/ext/filters/client_channel/resolver.cc + src/core/ext/filters/client_channel/resolver_factory.cc + src/core/ext/filters/client_channel/resolver_registry.cc + src/core/ext/filters/client_channel/retry_throttle.cc + src/core/ext/filters/client_channel/subchannel.cc + src/core/ext/filters/client_channel/subchannel_index.cc + src/core/ext/filters/client_channel/uri_parser.cc + src/core/ext/filters/deadline/deadline_filter.cc + src/core/ext/transport/inproc/inproc_plugin.cc + src/core/ext/transport/inproc/inproc_transport.cc + src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc + src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc + src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc + src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc + src/core/ext/filters/load_reporting/server_load_reporting_filter.cc + src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc third_party/nanopb/pb_common.c third_party/nanopb/pb_decode.c third_party/nanopb/pb_encode.c - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c - src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c - src/core/ext/census/base_resources.c - src/core/ext/census/context.c - src/core/ext/census/gen/census.pb.c - src/core/ext/census/gen/trace_context.pb.c - src/core/ext/census/grpc_context.c - src/core/ext/census/grpc_filter.c - src/core/ext/census/grpc_plugin.c - src/core/ext/census/initialize.c - src/core/ext/census/intrusive_hash_map.c - src/core/ext/census/mlog.c - src/core/ext/census/operation.c - src/core/ext/census/placeholders.c - src/core/ext/census/resource.c - src/core/ext/census/trace_context.c - src/core/ext/census/tracing.c - src/core/ext/filters/max_age/max_age_filter.c - src/core/ext/filters/message_size/message_size_filter.c - src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c - src/core/ext/filters/workarounds/workaround_utils.c + src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc + src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc + src/core/ext/census/base_resources.cc + src/core/ext/census/context.cc + src/core/ext/census/gen/census.pb.cc + src/core/ext/census/gen/trace_context.pb.cc + src/core/ext/census/grpc_context.cc + src/core/ext/census/grpc_filter.cc + src/core/ext/census/grpc_plugin.cc + src/core/ext/census/initialize.cc + src/core/ext/census/intrusive_hash_map.cc + src/core/ext/census/mlog.cc + src/core/ext/census/operation.cc + src/core/ext/census/placeholders.cc + src/core/ext/census/resource.cc + src/core/ext/census/trace_context.cc + src/core/ext/census/tracing.cc + src/core/ext/filters/max_age/max_age_filter.cc + src/core/ext/filters/message_size/message_size_filter.cc + src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc + src/core/ext/filters/workarounds/workaround_utils.cc src/core/plugin_registry/grpc_unsecure_plugin_registry.cc ) @@ -2869,207 +2859,205 @@ add_library(grpc++_cronet src/cpp/util/string_ref.cc src/cpp/util/time_cc.cc src/cpp/codegen/codegen_init.cc - src/core/ext/transport/chttp2/client/insecure/channel_create.c - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c - src/core/ext/transport/chttp2/client/chttp2_connector.c - src/core/ext/transport/chttp2/transport/bin_decoder.c - src/core/ext/transport/chttp2/transport/bin_encoder.c - src/core/ext/transport/chttp2/transport/chttp2_plugin.c - src/core/ext/transport/chttp2/transport/chttp2_transport.c - src/core/ext/transport/chttp2/transport/flow_control.c - src/core/ext/transport/chttp2/transport/frame_data.c - src/core/ext/transport/chttp2/transport/frame_goaway.c - src/core/ext/transport/chttp2/transport/frame_ping.c - src/core/ext/transport/chttp2/transport/frame_rst_stream.c - src/core/ext/transport/chttp2/transport/frame_settings.c - src/core/ext/transport/chttp2/transport/frame_window_update.c - src/core/ext/transport/chttp2/transport/hpack_encoder.c - src/core/ext/transport/chttp2/transport/hpack_parser.c - src/core/ext/transport/chttp2/transport/hpack_table.c - src/core/ext/transport/chttp2/transport/http2_settings.c - src/core/ext/transport/chttp2/transport/huffsyms.c - src/core/ext/transport/chttp2/transport/incoming_metadata.c - src/core/ext/transport/chttp2/transport/parsing.c - src/core/ext/transport/chttp2/transport/stream_lists.c - src/core/ext/transport/chttp2/transport/stream_map.c - src/core/ext/transport/chttp2/transport/varint.c - src/core/ext/transport/chttp2/transport/writing.c - src/core/lib/channel/channel_args.c - src/core/lib/channel/channel_stack.c - src/core/lib/channel/channel_stack_builder.c - src/core/lib/channel/connected_channel.c - src/core/lib/channel/handshaker.c - src/core/lib/channel/handshaker_factory.c - src/core/lib/channel/handshaker_registry.c - src/core/lib/compression/compression.c - src/core/lib/compression/message_compress.c - src/core/lib/compression/stream_compression.c - src/core/lib/compression/stream_compression_gzip.c - src/core/lib/compression/stream_compression_identity.c - src/core/lib/debug/stats.c - src/core/lib/debug/stats_data.c - src/core/lib/http/format_request.c - src/core/lib/http/httpcli.c - src/core/lib/http/parser.c - src/core/lib/iomgr/call_combiner.c - src/core/lib/iomgr/closure.c - src/core/lib/iomgr/combiner.c - src/core/lib/iomgr/endpoint.c - src/core/lib/iomgr/endpoint_pair_posix.c - src/core/lib/iomgr/endpoint_pair_uv.c - src/core/lib/iomgr/endpoint_pair_windows.c - src/core/lib/iomgr/error.c - src/core/lib/iomgr/ev_epoll1_linux.c - src/core/lib/iomgr/ev_epollex_linux.c - src/core/lib/iomgr/ev_epollsig_linux.c - src/core/lib/iomgr/ev_poll_posix.c - src/core/lib/iomgr/ev_posix.c - src/core/lib/iomgr/ev_windows.c - src/core/lib/iomgr/exec_ctx.c - src/core/lib/iomgr/executor.c - src/core/lib/iomgr/gethostname_fallback.c - src/core/lib/iomgr/gethostname_host_name_max.c - src/core/lib/iomgr/gethostname_sysconf.c - src/core/lib/iomgr/iocp_windows.c - src/core/lib/iomgr/iomgr.c - src/core/lib/iomgr/iomgr_posix.c - src/core/lib/iomgr/iomgr_uv.c - src/core/lib/iomgr/iomgr_windows.c - src/core/lib/iomgr/is_epollexclusive_available.c - src/core/lib/iomgr/load_file.c - src/core/lib/iomgr/lockfree_event.c - src/core/lib/iomgr/network_status_tracker.c - src/core/lib/iomgr/polling_entity.c - src/core/lib/iomgr/pollset_set_uv.c - src/core/lib/iomgr/pollset_set_windows.c - src/core/lib/iomgr/pollset_uv.c - src/core/lib/iomgr/pollset_windows.c - src/core/lib/iomgr/resolve_address_posix.c - src/core/lib/iomgr/resolve_address_uv.c - src/core/lib/iomgr/resolve_address_windows.c - src/core/lib/iomgr/resource_quota.c - src/core/lib/iomgr/sockaddr_utils.c - src/core/lib/iomgr/socket_factory_posix.c - src/core/lib/iomgr/socket_mutator.c - src/core/lib/iomgr/socket_utils_common_posix.c - src/core/lib/iomgr/socket_utils_linux.c - src/core/lib/iomgr/socket_utils_posix.c - src/core/lib/iomgr/socket_utils_uv.c - src/core/lib/iomgr/socket_utils_windows.c - src/core/lib/iomgr/socket_windows.c - src/core/lib/iomgr/tcp_client_posix.c - src/core/lib/iomgr/tcp_client_uv.c - src/core/lib/iomgr/tcp_client_windows.c - src/core/lib/iomgr/tcp_posix.c - src/core/lib/iomgr/tcp_server_posix.c - src/core/lib/iomgr/tcp_server_utils_posix_common.c - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c - src/core/lib/iomgr/tcp_server_uv.c - src/core/lib/iomgr/tcp_server_windows.c - src/core/lib/iomgr/tcp_uv.c - src/core/lib/iomgr/tcp_windows.c - src/core/lib/iomgr/time_averaged_stats.c - src/core/lib/iomgr/timer_generic.c - src/core/lib/iomgr/timer_heap.c - src/core/lib/iomgr/timer_manager.c - src/core/lib/iomgr/timer_uv.c - src/core/lib/iomgr/udp_server.c - src/core/lib/iomgr/unix_sockets_posix.c - src/core/lib/iomgr/unix_sockets_posix_noop.c - src/core/lib/iomgr/wakeup_fd_cv.c - src/core/lib/iomgr/wakeup_fd_eventfd.c - src/core/lib/iomgr/wakeup_fd_nospecial.c - src/core/lib/iomgr/wakeup_fd_pipe.c - src/core/lib/iomgr/wakeup_fd_posix.c - src/core/lib/json/json.c - src/core/lib/json/json_reader.c - src/core/lib/json/json_string.c - src/core/lib/json/json_writer.c - src/core/lib/slice/b64.c - src/core/lib/slice/percent_encoding.c - src/core/lib/slice/slice.c - src/core/lib/slice/slice_buffer.c - src/core/lib/slice/slice_hash_table.c - src/core/lib/slice/slice_intern.c - src/core/lib/slice/slice_string_helpers.c - src/core/lib/surface/alarm.c - src/core/lib/surface/api_trace.c - src/core/lib/surface/byte_buffer.c - src/core/lib/surface/byte_buffer_reader.c - src/core/lib/surface/call.c - src/core/lib/surface/call_details.c - src/core/lib/surface/call_log_batch.c - src/core/lib/surface/channel.c - src/core/lib/surface/channel_init.c - src/core/lib/surface/channel_ping.c - src/core/lib/surface/channel_stack_type.c - src/core/lib/surface/completion_queue.c - src/core/lib/surface/completion_queue_factory.c - src/core/lib/surface/event_string.c + src/core/ext/transport/chttp2/client/insecure/channel_create.cc + src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc + src/core/ext/transport/chttp2/client/chttp2_connector.cc + src/core/ext/transport/chttp2/transport/bin_decoder.cc + src/core/ext/transport/chttp2/transport/bin_encoder.cc + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc + src/core/ext/transport/chttp2/transport/chttp2_transport.cc + src/core/ext/transport/chttp2/transport/flow_control.cc + src/core/ext/transport/chttp2/transport/frame_data.cc + src/core/ext/transport/chttp2/transport/frame_goaway.cc + src/core/ext/transport/chttp2/transport/frame_ping.cc + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc + src/core/ext/transport/chttp2/transport/frame_settings.cc + src/core/ext/transport/chttp2/transport/frame_window_update.cc + src/core/ext/transport/chttp2/transport/hpack_encoder.cc + src/core/ext/transport/chttp2/transport/hpack_parser.cc + src/core/ext/transport/chttp2/transport/hpack_table.cc + src/core/ext/transport/chttp2/transport/http2_settings.cc + src/core/ext/transport/chttp2/transport/huffsyms.cc + src/core/ext/transport/chttp2/transport/incoming_metadata.cc + src/core/ext/transport/chttp2/transport/parsing.cc + src/core/ext/transport/chttp2/transport/stream_lists.cc + src/core/ext/transport/chttp2/transport/stream_map.cc + src/core/ext/transport/chttp2/transport/varint.cc + src/core/ext/transport/chttp2/transport/writing.cc + src/core/lib/channel/channel_args.cc + src/core/lib/channel/channel_stack.cc + src/core/lib/channel/channel_stack_builder.cc + src/core/lib/channel/connected_channel.cc + src/core/lib/channel/handshaker.cc + src/core/lib/channel/handshaker_factory.cc + src/core/lib/channel/handshaker_registry.cc + src/core/lib/compression/compression.cc + src/core/lib/compression/message_compress.cc + src/core/lib/compression/stream_compression.cc + src/core/lib/debug/stats.cc + src/core/lib/debug/stats_data.cc + src/core/lib/http/format_request.cc + src/core/lib/http/httpcli.cc + src/core/lib/http/parser.cc + src/core/lib/iomgr/call_combiner.cc + src/core/lib/iomgr/closure.cc + src/core/lib/iomgr/combiner.cc + src/core/lib/iomgr/endpoint.cc + src/core/lib/iomgr/endpoint_pair_posix.cc + src/core/lib/iomgr/endpoint_pair_uv.cc + src/core/lib/iomgr/endpoint_pair_windows.cc + src/core/lib/iomgr/error.cc + src/core/lib/iomgr/ev_epoll1_linux.cc + src/core/lib/iomgr/ev_epollex_linux.cc + src/core/lib/iomgr/ev_epollsig_linux.cc + src/core/lib/iomgr/ev_poll_posix.cc + src/core/lib/iomgr/ev_posix.cc + src/core/lib/iomgr/ev_windows.cc + src/core/lib/iomgr/exec_ctx.cc + src/core/lib/iomgr/executor.cc + src/core/lib/iomgr/gethostname_fallback.cc + src/core/lib/iomgr/gethostname_host_name_max.cc + src/core/lib/iomgr/gethostname_sysconf.cc + src/core/lib/iomgr/iocp_windows.cc + src/core/lib/iomgr/iomgr.cc + src/core/lib/iomgr/iomgr_posix.cc + src/core/lib/iomgr/iomgr_uv.cc + src/core/lib/iomgr/iomgr_windows.cc + src/core/lib/iomgr/is_epollexclusive_available.cc + src/core/lib/iomgr/load_file.cc + src/core/lib/iomgr/lockfree_event.cc + src/core/lib/iomgr/network_status_tracker.cc + src/core/lib/iomgr/polling_entity.cc + src/core/lib/iomgr/pollset_set_uv.cc + src/core/lib/iomgr/pollset_set_windows.cc + src/core/lib/iomgr/pollset_uv.cc + src/core/lib/iomgr/pollset_windows.cc + src/core/lib/iomgr/resolve_address_posix.cc + src/core/lib/iomgr/resolve_address_uv.cc + src/core/lib/iomgr/resolve_address_windows.cc + src/core/lib/iomgr/resource_quota.cc + src/core/lib/iomgr/sockaddr_utils.cc + src/core/lib/iomgr/socket_factory_posix.cc + src/core/lib/iomgr/socket_mutator.cc + src/core/lib/iomgr/socket_utils_common_posix.cc + src/core/lib/iomgr/socket_utils_linux.cc + src/core/lib/iomgr/socket_utils_posix.cc + src/core/lib/iomgr/socket_utils_uv.cc + src/core/lib/iomgr/socket_utils_windows.cc + src/core/lib/iomgr/socket_windows.cc + src/core/lib/iomgr/tcp_client_posix.cc + src/core/lib/iomgr/tcp_client_uv.cc + src/core/lib/iomgr/tcp_client_windows.cc + src/core/lib/iomgr/tcp_posix.cc + src/core/lib/iomgr/tcp_server_posix.cc + src/core/lib/iomgr/tcp_server_utils_posix_common.cc + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc + src/core/lib/iomgr/tcp_server_uv.cc + src/core/lib/iomgr/tcp_server_windows.cc + src/core/lib/iomgr/tcp_uv.cc + src/core/lib/iomgr/tcp_windows.cc + src/core/lib/iomgr/time_averaged_stats.cc + src/core/lib/iomgr/timer_generic.cc + src/core/lib/iomgr/timer_heap.cc + src/core/lib/iomgr/timer_manager.cc + src/core/lib/iomgr/timer_uv.cc + src/core/lib/iomgr/udp_server.cc + src/core/lib/iomgr/unix_sockets_posix.cc + src/core/lib/iomgr/unix_sockets_posix_noop.cc + src/core/lib/iomgr/wakeup_fd_cv.cc + src/core/lib/iomgr/wakeup_fd_eventfd.cc + src/core/lib/iomgr/wakeup_fd_nospecial.cc + src/core/lib/iomgr/wakeup_fd_pipe.cc + src/core/lib/iomgr/wakeup_fd_posix.cc + src/core/lib/json/json.cc + src/core/lib/json/json_reader.cc + src/core/lib/json/json_string.cc + src/core/lib/json/json_writer.cc + src/core/lib/slice/b64.cc + src/core/lib/slice/percent_encoding.cc + src/core/lib/slice/slice.cc + src/core/lib/slice/slice_buffer.cc + src/core/lib/slice/slice_hash_table.cc + src/core/lib/slice/slice_intern.cc + src/core/lib/slice/slice_string_helpers.cc + src/core/lib/surface/alarm.cc + src/core/lib/surface/api_trace.cc + src/core/lib/surface/byte_buffer.cc + src/core/lib/surface/byte_buffer_reader.cc + src/core/lib/surface/call.cc + src/core/lib/surface/call_details.cc + src/core/lib/surface/call_log_batch.cc + src/core/lib/surface/channel.cc + src/core/lib/surface/channel_init.cc + src/core/lib/surface/channel_ping.cc + src/core/lib/surface/channel_stack_type.cc + src/core/lib/surface/completion_queue.cc + src/core/lib/surface/completion_queue_factory.cc + src/core/lib/surface/event_string.cc src/core/lib/surface/lame_client.cc - src/core/lib/surface/metadata_array.c - src/core/lib/surface/server.c - src/core/lib/surface/validate_metadata.c - src/core/lib/surface/version.c - src/core/lib/transport/bdp_estimator.c - src/core/lib/transport/byte_stream.c - src/core/lib/transport/connectivity_state.c - src/core/lib/transport/error_utils.c - src/core/lib/transport/metadata.c - src/core/lib/transport/metadata_batch.c - src/core/lib/transport/pid_controller.c - src/core/lib/transport/service_config.c - src/core/lib/transport/static_metadata.c - src/core/lib/transport/status_conversion.c - src/core/lib/transport/timeout_encoding.c - src/core/lib/transport/transport.c - src/core/lib/transport/transport_op_string.c - src/core/lib/debug/trace.c - src/core/ext/transport/chttp2/alpn/alpn.c - src/core/ext/filters/http/client/http_client_filter.c - src/core/ext/filters/http/http_filters_plugin.c - src/core/ext/filters/http/message_compress/message_compress_filter.c - src/core/ext/filters/http/server/http_server_filter.c - src/core/ext/filters/client_channel/channel_connectivity.c - src/core/ext/filters/client_channel/client_channel.c - src/core/ext/filters/client_channel/client_channel_factory.c - src/core/ext/filters/client_channel/client_channel_plugin.c - src/core/ext/filters/client_channel/connector.c - src/core/ext/filters/client_channel/http_connect_handshaker.c - src/core/ext/filters/client_channel/http_proxy.c - src/core/ext/filters/client_channel/lb_policy.c - src/core/ext/filters/client_channel/lb_policy_factory.c - src/core/ext/filters/client_channel/lb_policy_registry.c - src/core/ext/filters/client_channel/parse_address.c - src/core/ext/filters/client_channel/proxy_mapper.c - src/core/ext/filters/client_channel/proxy_mapper_registry.c - src/core/ext/filters/client_channel/resolver.c - src/core/ext/filters/client_channel/resolver_factory.c - src/core/ext/filters/client_channel/resolver_registry.c - src/core/ext/filters/client_channel/retry_throttle.c - src/core/ext/filters/client_channel/subchannel.c - src/core/ext/filters/client_channel/subchannel_index.c - src/core/ext/filters/client_channel/uri_parser.c - src/core/ext/filters/deadline/deadline_filter.c - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c - src/core/ext/transport/chttp2/server/chttp2_server.c - src/core/ext/census/base_resources.c - src/core/ext/census/context.c - src/core/ext/census/gen/census.pb.c - src/core/ext/census/gen/trace_context.pb.c - src/core/ext/census/grpc_context.c - src/core/ext/census/grpc_filter.c - src/core/ext/census/grpc_plugin.c - src/core/ext/census/initialize.c - src/core/ext/census/intrusive_hash_map.c - src/core/ext/census/mlog.c - src/core/ext/census/operation.c - src/core/ext/census/placeholders.c - src/core/ext/census/resource.c - src/core/ext/census/trace_context.c - src/core/ext/census/tracing.c + src/core/lib/surface/metadata_array.cc + src/core/lib/surface/server.cc + src/core/lib/surface/validate_metadata.cc + src/core/lib/surface/version.cc + src/core/lib/transport/bdp_estimator.cc + src/core/lib/transport/byte_stream.cc + src/core/lib/transport/connectivity_state.cc + src/core/lib/transport/error_utils.cc + src/core/lib/transport/metadata.cc + src/core/lib/transport/metadata_batch.cc + src/core/lib/transport/pid_controller.cc + src/core/lib/transport/service_config.cc + src/core/lib/transport/static_metadata.cc + src/core/lib/transport/status_conversion.cc + src/core/lib/transport/timeout_encoding.cc + src/core/lib/transport/transport.cc + src/core/lib/transport/transport_op_string.cc + src/core/lib/debug/trace.cc + src/core/ext/transport/chttp2/alpn/alpn.cc + src/core/ext/filters/http/client/http_client_filter.cc + src/core/ext/filters/http/http_filters_plugin.cc + src/core/ext/filters/http/message_compress/message_compress_filter.cc + src/core/ext/filters/http/server/http_server_filter.cc + src/core/ext/filters/client_channel/channel_connectivity.cc + src/core/ext/filters/client_channel/client_channel.cc + src/core/ext/filters/client_channel/client_channel_factory.cc + src/core/ext/filters/client_channel/client_channel_plugin.cc + src/core/ext/filters/client_channel/connector.cc + src/core/ext/filters/client_channel/http_connect_handshaker.cc + src/core/ext/filters/client_channel/http_proxy.cc + src/core/ext/filters/client_channel/lb_policy.cc + src/core/ext/filters/client_channel/lb_policy_factory.cc + src/core/ext/filters/client_channel/lb_policy_registry.cc + src/core/ext/filters/client_channel/parse_address.cc + src/core/ext/filters/client_channel/proxy_mapper.cc + src/core/ext/filters/client_channel/proxy_mapper_registry.cc + src/core/ext/filters/client_channel/resolver.cc + src/core/ext/filters/client_channel/resolver_factory.cc + src/core/ext/filters/client_channel/resolver_registry.cc + src/core/ext/filters/client_channel/retry_throttle.cc + src/core/ext/filters/client_channel/subchannel.cc + src/core/ext/filters/client_channel/subchannel_index.cc + src/core/ext/filters/client_channel/uri_parser.cc + src/core/ext/filters/deadline/deadline_filter.cc + src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc + src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc + src/core/ext/transport/chttp2/server/chttp2_server.cc + src/core/ext/census/base_resources.cc + src/core/ext/census/context.cc + src/core/ext/census/gen/census.pb.cc + src/core/ext/census/gen/trace_context.pb.cc + src/core/ext/census/grpc_context.cc + src/core/ext/census/grpc_filter.cc + src/core/ext/census/grpc_plugin.cc + src/core/ext/census/initialize.cc + src/core/ext/census/intrusive_hash_map.cc + src/core/ext/census/mlog.cc + src/core/ext/census/operation.cc + src/core/ext/census/placeholders.cc + src/core/ext/census/resource.cc + src/core/ext/census/trace_context.cc + src/core/ext/census/tracing.cc third_party/nanopb/pb_common.c third_party/nanopb/pb_decode.c third_party/nanopb/pb_encode.c diff --git a/Makefile b/Makefile index 7f657ef289a..d846e9a43d5 100644 --- a/Makefile +++ b/Makefile @@ -2794,52 +2794,52 @@ clean: LIBGPR_SRC = \ - src/core/lib/profiling/basic_timers.c \ - src/core/lib/profiling/stap_timers.c \ - src/core/lib/support/alloc.c \ - src/core/lib/support/arena.c \ - src/core/lib/support/atm.c \ - src/core/lib/support/avl.c \ - src/core/lib/support/backoff.c \ - src/core/lib/support/cmdline.c \ - src/core/lib/support/cpu_iphone.c \ - src/core/lib/support/cpu_linux.c \ - src/core/lib/support/cpu_posix.c \ - src/core/lib/support/cpu_windows.c \ - src/core/lib/support/env_linux.c \ - src/core/lib/support/env_posix.c \ - src/core/lib/support/env_windows.c \ - src/core/lib/support/histogram.c \ - src/core/lib/support/host_port.c \ - src/core/lib/support/log.c \ - src/core/lib/support/log_android.c \ - src/core/lib/support/log_linux.c \ - src/core/lib/support/log_posix.c \ - src/core/lib/support/log_windows.c \ - src/core/lib/support/mpscq.c \ - src/core/lib/support/murmur_hash.c \ - src/core/lib/support/stack_lockfree.c \ - src/core/lib/support/string.c \ - src/core/lib/support/string_posix.c \ - src/core/lib/support/string_util_windows.c \ - src/core/lib/support/string_windows.c \ - src/core/lib/support/subprocess_posix.c \ - src/core/lib/support/subprocess_windows.c \ - src/core/lib/support/sync.c \ - src/core/lib/support/sync_posix.c \ - src/core/lib/support/sync_windows.c \ - src/core/lib/support/thd.c \ - src/core/lib/support/thd_posix.c \ - src/core/lib/support/thd_windows.c \ - src/core/lib/support/time.c \ - src/core/lib/support/time_posix.c \ - src/core/lib/support/time_precise.c \ - src/core/lib/support/time_windows.c \ - src/core/lib/support/tls_pthread.c \ - src/core/lib/support/tmpfile_msys.c \ - src/core/lib/support/tmpfile_posix.c \ - src/core/lib/support/tmpfile_windows.c \ - src/core/lib/support/wrap_memcpy.c \ + src/core/lib/profiling/basic_timers.cc \ + src/core/lib/profiling/stap_timers.cc \ + src/core/lib/support/alloc.cc \ + src/core/lib/support/arena.cc \ + src/core/lib/support/atm.cc \ + src/core/lib/support/avl.cc \ + src/core/lib/support/backoff.cc \ + src/core/lib/support/cmdline.cc \ + src/core/lib/support/cpu_iphone.cc \ + src/core/lib/support/cpu_linux.cc \ + src/core/lib/support/cpu_posix.cc \ + src/core/lib/support/cpu_windows.cc \ + src/core/lib/support/env_linux.cc \ + src/core/lib/support/env_posix.cc \ + src/core/lib/support/env_windows.cc \ + src/core/lib/support/histogram.cc \ + src/core/lib/support/host_port.cc \ + src/core/lib/support/log.cc \ + src/core/lib/support/log_android.cc \ + src/core/lib/support/log_linux.cc \ + src/core/lib/support/log_posix.cc \ + src/core/lib/support/log_windows.cc \ + src/core/lib/support/mpscq.cc \ + src/core/lib/support/murmur_hash.cc \ + src/core/lib/support/stack_lockfree.cc \ + src/core/lib/support/string.cc \ + src/core/lib/support/string_posix.cc \ + src/core/lib/support/string_util_windows.cc \ + src/core/lib/support/string_windows.cc \ + src/core/lib/support/subprocess_posix.cc \ + src/core/lib/support/subprocess_windows.cc \ + src/core/lib/support/sync.cc \ + src/core/lib/support/sync_posix.cc \ + src/core/lib/support/sync_windows.cc \ + src/core/lib/support/thd.cc \ + src/core/lib/support/thd_posix.cc \ + src/core/lib/support/thd_windows.cc \ + src/core/lib/support/time.cc \ + src/core/lib/support/time_posix.cc \ + src/core/lib/support/time_precise.cc \ + src/core/lib/support/time_windows.cc \ + src/core/lib/support/tls_pthread.cc \ + src/core/lib/support/tmpfile_msys.cc \ + src/core/lib/support/tmpfile_posix.cc \ + src/core/lib/support/tmpfile_windows.cc \ + src/core/lib/support/wrap_memcpy.cc \ PUBLIC_HEADERS_C += \ include/grpc/support/alloc.h \ @@ -2945,266 +2945,264 @@ endif LIBGRPC_SRC = \ - src/core/lib/surface/init.c \ - src/core/lib/channel/channel_args.c \ - src/core/lib/channel/channel_stack.c \ - src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/connected_channel.c \ - src/core/lib/channel/handshaker.c \ - src/core/lib/channel/handshaker_factory.c \ - src/core/lib/channel/handshaker_registry.c \ - src/core/lib/compression/compression.c \ - src/core/lib/compression/message_compress.c \ - src/core/lib/compression/stream_compression.c \ - src/core/lib/compression/stream_compression_gzip.c \ - src/core/lib/compression/stream_compression_identity.c \ - src/core/lib/debug/stats.c \ - src/core/lib/debug/stats_data.c \ - src/core/lib/http/format_request.c \ - src/core/lib/http/httpcli.c \ - src/core/lib/http/parser.c \ - src/core/lib/iomgr/call_combiner.c \ - src/core/lib/iomgr/closure.c \ - src/core/lib/iomgr/combiner.c \ - src/core/lib/iomgr/endpoint.c \ - src/core/lib/iomgr/endpoint_pair_posix.c \ - src/core/lib/iomgr/endpoint_pair_uv.c \ - src/core/lib/iomgr/endpoint_pair_windows.c \ - src/core/lib/iomgr/error.c \ - src/core/lib/iomgr/ev_epoll1_linux.c \ - src/core/lib/iomgr/ev_epollex_linux.c \ - src/core/lib/iomgr/ev_epollsig_linux.c \ - src/core/lib/iomgr/ev_poll_posix.c \ - src/core/lib/iomgr/ev_posix.c \ - src/core/lib/iomgr/ev_windows.c \ - src/core/lib/iomgr/exec_ctx.c \ - src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/gethostname_fallback.c \ - src/core/lib/iomgr/gethostname_host_name_max.c \ - src/core/lib/iomgr/gethostname_sysconf.c \ - src/core/lib/iomgr/iocp_windows.c \ - src/core/lib/iomgr/iomgr.c \ - src/core/lib/iomgr/iomgr_posix.c \ - src/core/lib/iomgr/iomgr_uv.c \ - src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/is_epollexclusive_available.c \ - src/core/lib/iomgr/load_file.c \ - src/core/lib/iomgr/lockfree_event.c \ - src/core/lib/iomgr/network_status_tracker.c \ - src/core/lib/iomgr/polling_entity.c \ - src/core/lib/iomgr/pollset_set_uv.c \ - src/core/lib/iomgr/pollset_set_windows.c \ - src/core/lib/iomgr/pollset_uv.c \ - src/core/lib/iomgr/pollset_windows.c \ - src/core/lib/iomgr/resolve_address_posix.c \ - src/core/lib/iomgr/resolve_address_uv.c \ - src/core/lib/iomgr/resolve_address_windows.c \ - src/core/lib/iomgr/resource_quota.c \ - src/core/lib/iomgr/sockaddr_utils.c \ - src/core/lib/iomgr/socket_factory_posix.c \ - src/core/lib/iomgr/socket_mutator.c \ - src/core/lib/iomgr/socket_utils_common_posix.c \ - src/core/lib/iomgr/socket_utils_linux.c \ - src/core/lib/iomgr/socket_utils_posix.c \ - src/core/lib/iomgr/socket_utils_uv.c \ - src/core/lib/iomgr/socket_utils_windows.c \ - src/core/lib/iomgr/socket_windows.c \ - src/core/lib/iomgr/tcp_client_posix.c \ - src/core/lib/iomgr/tcp_client_uv.c \ - src/core/lib/iomgr/tcp_client_windows.c \ - src/core/lib/iomgr/tcp_posix.c \ - src/core/lib/iomgr/tcp_server_posix.c \ - src/core/lib/iomgr/tcp_server_utils_posix_common.c \ - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c \ - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c \ - src/core/lib/iomgr/tcp_server_uv.c \ - src/core/lib/iomgr/tcp_server_windows.c \ - src/core/lib/iomgr/tcp_uv.c \ - src/core/lib/iomgr/tcp_windows.c \ - src/core/lib/iomgr/time_averaged_stats.c \ - src/core/lib/iomgr/timer_generic.c \ - src/core/lib/iomgr/timer_heap.c \ - src/core/lib/iomgr/timer_manager.c \ - src/core/lib/iomgr/timer_uv.c \ - src/core/lib/iomgr/udp_server.c \ - src/core/lib/iomgr/unix_sockets_posix.c \ - src/core/lib/iomgr/unix_sockets_posix_noop.c \ - src/core/lib/iomgr/wakeup_fd_cv.c \ - src/core/lib/iomgr/wakeup_fd_eventfd.c \ - src/core/lib/iomgr/wakeup_fd_nospecial.c \ - src/core/lib/iomgr/wakeup_fd_pipe.c \ - src/core/lib/iomgr/wakeup_fd_posix.c \ - src/core/lib/json/json.c \ - src/core/lib/json/json_reader.c \ - src/core/lib/json/json_string.c \ - src/core/lib/json/json_writer.c \ - src/core/lib/slice/b64.c \ - src/core/lib/slice/percent_encoding.c \ - src/core/lib/slice/slice.c \ - src/core/lib/slice/slice_buffer.c \ - src/core/lib/slice/slice_hash_table.c \ - src/core/lib/slice/slice_intern.c \ - src/core/lib/slice/slice_string_helpers.c \ - src/core/lib/surface/alarm.c \ - src/core/lib/surface/api_trace.c \ - src/core/lib/surface/byte_buffer.c \ - src/core/lib/surface/byte_buffer_reader.c \ - src/core/lib/surface/call.c \ - src/core/lib/surface/call_details.c \ - src/core/lib/surface/call_log_batch.c \ - src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_init.c \ - src/core/lib/surface/channel_ping.c \ - src/core/lib/surface/channel_stack_type.c \ - src/core/lib/surface/completion_queue.c \ - src/core/lib/surface/completion_queue_factory.c \ - src/core/lib/surface/event_string.c \ + src/core/lib/surface/init.cc \ + src/core/lib/channel/channel_args.cc \ + src/core/lib/channel/channel_stack.cc \ + src/core/lib/channel/channel_stack_builder.cc \ + src/core/lib/channel/connected_channel.cc \ + src/core/lib/channel/handshaker.cc \ + src/core/lib/channel/handshaker_factory.cc \ + src/core/lib/channel/handshaker_registry.cc \ + src/core/lib/compression/compression.cc \ + src/core/lib/compression/message_compress.cc \ + src/core/lib/compression/stream_compression.cc \ + src/core/lib/debug/stats.cc \ + src/core/lib/debug/stats_data.cc \ + src/core/lib/http/format_request.cc \ + src/core/lib/http/httpcli.cc \ + src/core/lib/http/parser.cc \ + src/core/lib/iomgr/call_combiner.cc \ + src/core/lib/iomgr/closure.cc \ + src/core/lib/iomgr/combiner.cc \ + src/core/lib/iomgr/endpoint.cc \ + src/core/lib/iomgr/endpoint_pair_posix.cc \ + src/core/lib/iomgr/endpoint_pair_uv.cc \ + src/core/lib/iomgr/endpoint_pair_windows.cc \ + src/core/lib/iomgr/error.cc \ + src/core/lib/iomgr/ev_epoll1_linux.cc \ + src/core/lib/iomgr/ev_epollex_linux.cc \ + src/core/lib/iomgr/ev_epollsig_linux.cc \ + src/core/lib/iomgr/ev_poll_posix.cc \ + src/core/lib/iomgr/ev_posix.cc \ + src/core/lib/iomgr/ev_windows.cc \ + src/core/lib/iomgr/exec_ctx.cc \ + src/core/lib/iomgr/executor.cc \ + src/core/lib/iomgr/gethostname_fallback.cc \ + src/core/lib/iomgr/gethostname_host_name_max.cc \ + src/core/lib/iomgr/gethostname_sysconf.cc \ + src/core/lib/iomgr/iocp_windows.cc \ + src/core/lib/iomgr/iomgr.cc \ + src/core/lib/iomgr/iomgr_posix.cc \ + src/core/lib/iomgr/iomgr_uv.cc \ + src/core/lib/iomgr/iomgr_windows.cc \ + src/core/lib/iomgr/is_epollexclusive_available.cc \ + src/core/lib/iomgr/load_file.cc \ + src/core/lib/iomgr/lockfree_event.cc \ + src/core/lib/iomgr/network_status_tracker.cc \ + src/core/lib/iomgr/polling_entity.cc \ + src/core/lib/iomgr/pollset_set_uv.cc \ + src/core/lib/iomgr/pollset_set_windows.cc \ + src/core/lib/iomgr/pollset_uv.cc \ + src/core/lib/iomgr/pollset_windows.cc \ + src/core/lib/iomgr/resolve_address_posix.cc \ + src/core/lib/iomgr/resolve_address_uv.cc \ + src/core/lib/iomgr/resolve_address_windows.cc \ + src/core/lib/iomgr/resource_quota.cc \ + src/core/lib/iomgr/sockaddr_utils.cc \ + src/core/lib/iomgr/socket_factory_posix.cc \ + src/core/lib/iomgr/socket_mutator.cc \ + src/core/lib/iomgr/socket_utils_common_posix.cc \ + src/core/lib/iomgr/socket_utils_linux.cc \ + src/core/lib/iomgr/socket_utils_posix.cc \ + src/core/lib/iomgr/socket_utils_uv.cc \ + src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_windows.cc \ + src/core/lib/iomgr/tcp_client_posix.cc \ + src/core/lib/iomgr/tcp_client_uv.cc \ + src/core/lib/iomgr/tcp_client_windows.cc \ + src/core/lib/iomgr/tcp_posix.cc \ + src/core/lib/iomgr/tcp_server_posix.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_common.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc \ + src/core/lib/iomgr/tcp_server_uv.cc \ + src/core/lib/iomgr/tcp_server_windows.cc \ + src/core/lib/iomgr/tcp_uv.cc \ + src/core/lib/iomgr/tcp_windows.cc \ + src/core/lib/iomgr/time_averaged_stats.cc \ + src/core/lib/iomgr/timer_generic.cc \ + src/core/lib/iomgr/timer_heap.cc \ + src/core/lib/iomgr/timer_manager.cc \ + src/core/lib/iomgr/timer_uv.cc \ + src/core/lib/iomgr/udp_server.cc \ + src/core/lib/iomgr/unix_sockets_posix.cc \ + src/core/lib/iomgr/unix_sockets_posix_noop.cc \ + src/core/lib/iomgr/wakeup_fd_cv.cc \ + src/core/lib/iomgr/wakeup_fd_eventfd.cc \ + src/core/lib/iomgr/wakeup_fd_nospecial.cc \ + src/core/lib/iomgr/wakeup_fd_pipe.cc \ + src/core/lib/iomgr/wakeup_fd_posix.cc \ + src/core/lib/json/json.cc \ + src/core/lib/json/json_reader.cc \ + src/core/lib/json/json_string.cc \ + src/core/lib/json/json_writer.cc \ + src/core/lib/slice/b64.cc \ + src/core/lib/slice/percent_encoding.cc \ + src/core/lib/slice/slice.cc \ + src/core/lib/slice/slice_buffer.cc \ + src/core/lib/slice/slice_hash_table.cc \ + src/core/lib/slice/slice_intern.cc \ + src/core/lib/slice/slice_string_helpers.cc \ + src/core/lib/surface/alarm.cc \ + src/core/lib/surface/api_trace.cc \ + src/core/lib/surface/byte_buffer.cc \ + src/core/lib/surface/byte_buffer_reader.cc \ + src/core/lib/surface/call.cc \ + src/core/lib/surface/call_details.cc \ + src/core/lib/surface/call_log_batch.cc \ + src/core/lib/surface/channel.cc \ + src/core/lib/surface/channel_init.cc \ + src/core/lib/surface/channel_ping.cc \ + src/core/lib/surface/channel_stack_type.cc \ + src/core/lib/surface/completion_queue.cc \ + src/core/lib/surface/completion_queue_factory.cc \ + src/core/lib/surface/event_string.cc \ src/core/lib/surface/lame_client.cc \ - src/core/lib/surface/metadata_array.c \ - src/core/lib/surface/server.c \ - src/core/lib/surface/validate_metadata.c \ - src/core/lib/surface/version.c \ - src/core/lib/transport/bdp_estimator.c \ - src/core/lib/transport/byte_stream.c \ - src/core/lib/transport/connectivity_state.c \ - src/core/lib/transport/error_utils.c \ - src/core/lib/transport/metadata.c \ - src/core/lib/transport/metadata_batch.c \ - src/core/lib/transport/pid_controller.c \ - src/core/lib/transport/service_config.c \ - src/core/lib/transport/static_metadata.c \ - src/core/lib/transport/status_conversion.c \ - src/core/lib/transport/timeout_encoding.c \ - src/core/lib/transport/transport.c \ - src/core/lib/transport/transport_op_string.c \ - src/core/lib/debug/trace.c \ - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c \ - src/core/ext/transport/chttp2/transport/bin_decoder.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/flow_control.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/http2_settings.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/ext/transport/chttp2/alpn/alpn.c \ - src/core/ext/filters/http/client/http_client_filter.c \ - src/core/ext/filters/http/http_filters_plugin.c \ - src/core/ext/filters/http/message_compress/message_compress_filter.c \ - src/core/ext/filters/http/server/http_server_filter.c \ - src/core/lib/http/httpcli_security_connector.c \ - src/core/lib/security/context/security_context.c \ - src/core/lib/security/credentials/composite/composite_credentials.c \ - src/core/lib/security/credentials/credentials.c \ - src/core/lib/security/credentials/credentials_metadata.c \ - src/core/lib/security/credentials/fake/fake_credentials.c \ - src/core/lib/security/credentials/google_default/credentials_generic.c \ - src/core/lib/security/credentials/google_default/google_default_credentials.c \ - src/core/lib/security/credentials/iam/iam_credentials.c \ - src/core/lib/security/credentials/jwt/json_token.c \ - src/core/lib/security/credentials/jwt/jwt_credentials.c \ - src/core/lib/security/credentials/jwt/jwt_verifier.c \ - src/core/lib/security/credentials/oauth2/oauth2_credentials.c \ - src/core/lib/security/credentials/plugin/plugin_credentials.c \ - src/core/lib/security/credentials/ssl/ssl_credentials.c \ - src/core/lib/security/transport/client_auth_filter.c \ - src/core/lib/security/transport/lb_targets_info.c \ - src/core/lib/security/transport/secure_endpoint.c \ - src/core/lib/security/transport/security_connector.c \ - src/core/lib/security/transport/security_handshaker.c \ - src/core/lib/security/transport/server_auth_filter.c \ - src/core/lib/security/transport/tsi_error.c \ - src/core/lib/security/util/json_util.c \ - src/core/lib/surface/init_secure.c \ - src/core/tsi/fake_transport_security.c \ - src/core/tsi/gts_transport_security.c \ - src/core/tsi/ssl_transport_security.c \ - src/core/tsi/transport_security_grpc.c \ - src/core/tsi/transport_security.c \ - src/core/tsi/transport_security_adapter.c \ - src/core/ext/transport/chttp2/server/chttp2_server.c \ - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ - src/core/ext/filters/client_channel/channel_connectivity.c \ - src/core/ext/filters/client_channel/client_channel.c \ - src/core/ext/filters/client_channel/client_channel_factory.c \ - src/core/ext/filters/client_channel/client_channel_plugin.c \ - src/core/ext/filters/client_channel/connector.c \ - src/core/ext/filters/client_channel/http_connect_handshaker.c \ - src/core/ext/filters/client_channel/http_proxy.c \ - src/core/ext/filters/client_channel/lb_policy.c \ - src/core/ext/filters/client_channel/lb_policy_factory.c \ - src/core/ext/filters/client_channel/lb_policy_registry.c \ - src/core/ext/filters/client_channel/parse_address.c \ - src/core/ext/filters/client_channel/proxy_mapper.c \ - src/core/ext/filters/client_channel/proxy_mapper_registry.c \ - src/core/ext/filters/client_channel/resolver.c \ - src/core/ext/filters/client_channel/resolver_factory.c \ - src/core/ext/filters/client_channel/resolver_registry.c \ - src/core/ext/filters/client_channel/retry_throttle.c \ - src/core/ext/filters/client_channel/subchannel.c \ - src/core/ext/filters/client_channel/subchannel_index.c \ - src/core/ext/filters/client_channel/uri_parser.c \ - src/core/ext/filters/deadline/deadline_filter.c \ - src/core/ext/transport/chttp2/client/chttp2_connector.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c \ - src/core/ext/transport/chttp2/client/insecure/channel_create.c \ - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c \ - src/core/ext/transport/inproc/inproc_plugin.c \ - src/core/ext/transport/inproc/inproc_transport.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \ + src/core/lib/surface/metadata_array.cc \ + src/core/lib/surface/server.cc \ + src/core/lib/surface/validate_metadata.cc \ + src/core/lib/surface/version.cc \ + src/core/lib/transport/bdp_estimator.cc \ + src/core/lib/transport/byte_stream.cc \ + src/core/lib/transport/connectivity_state.cc \ + src/core/lib/transport/error_utils.cc \ + src/core/lib/transport/metadata.cc \ + src/core/lib/transport/metadata_batch.cc \ + src/core/lib/transport/pid_controller.cc \ + src/core/lib/transport/service_config.cc \ + src/core/lib/transport/static_metadata.cc \ + src/core/lib/transport/status_conversion.cc \ + src/core/lib/transport/timeout_encoding.cc \ + src/core/lib/transport/transport.cc \ + src/core/lib/transport/transport_op_string.cc \ + src/core/lib/debug/trace.cc \ + src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc \ + src/core/ext/transport/chttp2/transport/bin_decoder.cc \ + src/core/ext/transport/chttp2/transport/bin_encoder.cc \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \ + src/core/ext/transport/chttp2/transport/chttp2_transport.cc \ + src/core/ext/transport/chttp2/transport/flow_control.cc \ + src/core/ext/transport/chttp2/transport/frame_data.cc \ + src/core/ext/transport/chttp2/transport/frame_goaway.cc \ + src/core/ext/transport/chttp2/transport/frame_ping.cc \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc \ + src/core/ext/transport/chttp2/transport/frame_settings.cc \ + src/core/ext/transport/chttp2/transport/frame_window_update.cc \ + src/core/ext/transport/chttp2/transport/hpack_encoder.cc \ + src/core/ext/transport/chttp2/transport/hpack_parser.cc \ + src/core/ext/transport/chttp2/transport/hpack_table.cc \ + src/core/ext/transport/chttp2/transport/http2_settings.cc \ + src/core/ext/transport/chttp2/transport/huffsyms.cc \ + src/core/ext/transport/chttp2/transport/incoming_metadata.cc \ + src/core/ext/transport/chttp2/transport/parsing.cc \ + src/core/ext/transport/chttp2/transport/stream_lists.cc \ + src/core/ext/transport/chttp2/transport/stream_map.cc \ + src/core/ext/transport/chttp2/transport/varint.cc \ + src/core/ext/transport/chttp2/transport/writing.cc \ + src/core/ext/transport/chttp2/alpn/alpn.cc \ + src/core/ext/filters/http/client/http_client_filter.cc \ + src/core/ext/filters/http/http_filters_plugin.cc \ + src/core/ext/filters/http/message_compress/message_compress_filter.cc \ + src/core/ext/filters/http/server/http_server_filter.cc \ + src/core/lib/http/httpcli_security_connector.cc \ + src/core/lib/security/context/security_context.cc \ + src/core/lib/security/credentials/composite/composite_credentials.cc \ + src/core/lib/security/credentials/credentials.cc \ + src/core/lib/security/credentials/credentials_metadata.cc \ + src/core/lib/security/credentials/fake/fake_credentials.cc \ + src/core/lib/security/credentials/google_default/credentials_generic.cc \ + src/core/lib/security/credentials/google_default/google_default_credentials.cc \ + src/core/lib/security/credentials/iam/iam_credentials.cc \ + src/core/lib/security/credentials/jwt/json_token.cc \ + src/core/lib/security/credentials/jwt/jwt_credentials.cc \ + src/core/lib/security/credentials/jwt/jwt_verifier.cc \ + src/core/lib/security/credentials/oauth2/oauth2_credentials.cc \ + src/core/lib/security/credentials/plugin/plugin_credentials.cc \ + src/core/lib/security/credentials/ssl/ssl_credentials.cc \ + src/core/lib/security/transport/client_auth_filter.cc \ + src/core/lib/security/transport/lb_targets_info.cc \ + src/core/lib/security/transport/secure_endpoint.cc \ + src/core/lib/security/transport/security_connector.cc \ + src/core/lib/security/transport/security_handshaker.cc \ + src/core/lib/security/transport/server_auth_filter.cc \ + src/core/lib/security/transport/tsi_error.cc \ + src/core/lib/security/util/json_util.cc \ + src/core/lib/surface/init_secure.cc \ + src/core/tsi/fake_transport_security.cc \ + src/core/tsi/gts_transport_security.cc \ + src/core/tsi/ssl_transport_security.cc \ + src/core/tsi/transport_security_grpc.cc \ + src/core/tsi/transport_security.cc \ + src/core/tsi/transport_security_adapter.cc \ + src/core/ext/transport/chttp2/server/chttp2_server.cc \ + src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc \ + src/core/ext/filters/client_channel/channel_connectivity.cc \ + src/core/ext/filters/client_channel/client_channel.cc \ + src/core/ext/filters/client_channel/client_channel_factory.cc \ + src/core/ext/filters/client_channel/client_channel_plugin.cc \ + src/core/ext/filters/client_channel/connector.cc \ + src/core/ext/filters/client_channel/http_connect_handshaker.cc \ + src/core/ext/filters/client_channel/http_proxy.cc \ + src/core/ext/filters/client_channel/lb_policy.cc \ + src/core/ext/filters/client_channel/lb_policy_factory.cc \ + src/core/ext/filters/client_channel/lb_policy_registry.cc \ + src/core/ext/filters/client_channel/parse_address.cc \ + src/core/ext/filters/client_channel/proxy_mapper.cc \ + src/core/ext/filters/client_channel/proxy_mapper_registry.cc \ + src/core/ext/filters/client_channel/resolver.cc \ + src/core/ext/filters/client_channel/resolver_factory.cc \ + src/core/ext/filters/client_channel/resolver_registry.cc \ + src/core/ext/filters/client_channel/retry_throttle.cc \ + src/core/ext/filters/client_channel/subchannel.cc \ + src/core/ext/filters/client_channel/subchannel_index.cc \ + src/core/ext/filters/client_channel/uri_parser.cc \ + src/core/ext/filters/deadline/deadline_filter.cc \ + src/core/ext/transport/chttp2/client/chttp2_connector.cc \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc \ + src/core/ext/transport/chttp2/client/insecure/channel_create.cc \ + src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc \ + src/core/ext/transport/inproc/inproc_plugin.cc \ + src/core/ext/transport/inproc/inproc_transport.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc \ third_party/nanopb/pb_common.c \ third_party/nanopb/pb_decode.c \ third_party/nanopb/pb_encode.c \ - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c \ - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c \ - src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c \ - src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c \ - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c \ - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c \ - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c \ - src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c \ - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c \ - src/core/ext/filters/load_reporting/server_load_reporting_filter.c \ - src/core/ext/filters/load_reporting/server_load_reporting_plugin.c \ - src/core/ext/census/base_resources.c \ - src/core/ext/census/context.c \ - src/core/ext/census/gen/census.pb.c \ - src/core/ext/census/gen/trace_context.pb.c \ - src/core/ext/census/grpc_context.c \ - src/core/ext/census/grpc_filter.c \ - src/core/ext/census/grpc_plugin.c \ - src/core/ext/census/initialize.c \ - src/core/ext/census/intrusive_hash_map.c \ - src/core/ext/census/mlog.c \ - src/core/ext/census/operation.c \ - src/core/ext/census/placeholders.c \ - src/core/ext/census/resource.c \ - src/core/ext/census/trace_context.c \ - src/core/ext/census/tracing.c \ - src/core/ext/filters/max_age/max_age_filter.c \ - src/core/ext/filters/message_size/message_size_filter.c \ - src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c \ - src/core/ext/filters/workarounds/workaround_utils.c \ + src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc \ + src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc \ + src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \ + src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \ + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \ + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc \ + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc \ + src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc \ + src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc \ + src/core/ext/filters/load_reporting/server_load_reporting_filter.cc \ + src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc \ + src/core/ext/census/base_resources.cc \ + src/core/ext/census/context.cc \ + src/core/ext/census/gen/census.pb.cc \ + src/core/ext/census/gen/trace_context.pb.cc \ + src/core/ext/census/grpc_context.cc \ + src/core/ext/census/grpc_filter.cc \ + src/core/ext/census/grpc_plugin.cc \ + src/core/ext/census/initialize.cc \ + src/core/ext/census/intrusive_hash_map.cc \ + src/core/ext/census/mlog.cc \ + src/core/ext/census/operation.cc \ + src/core/ext/census/placeholders.cc \ + src/core/ext/census/resource.cc \ + src/core/ext/census/trace_context.cc \ + src/core/ext/census/tracing.cc \ + src/core/ext/filters/max_age/max_age_filter.cc \ + src/core/ext/filters/message_size/message_size_filter.cc \ + src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc \ + src/core/ext/filters/workarounds/workaround_utils.cc \ src/core/plugin_registry/grpc_plugin_registry.cc \ PUBLIC_HEADERS_C += \ @@ -3296,224 +3294,222 @@ endif LIBGRPC_CRONET_SRC = \ - src/core/lib/surface/init.c \ - src/core/lib/channel/channel_args.c \ - src/core/lib/channel/channel_stack.c \ - src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/connected_channel.c \ - src/core/lib/channel/handshaker.c \ - src/core/lib/channel/handshaker_factory.c \ - src/core/lib/channel/handshaker_registry.c \ - src/core/lib/compression/compression.c \ - src/core/lib/compression/message_compress.c \ - src/core/lib/compression/stream_compression.c \ - src/core/lib/compression/stream_compression_gzip.c \ - src/core/lib/compression/stream_compression_identity.c \ - src/core/lib/debug/stats.c \ - src/core/lib/debug/stats_data.c \ - src/core/lib/http/format_request.c \ - src/core/lib/http/httpcli.c \ - src/core/lib/http/parser.c \ - src/core/lib/iomgr/call_combiner.c \ - src/core/lib/iomgr/closure.c \ - src/core/lib/iomgr/combiner.c \ - src/core/lib/iomgr/endpoint.c \ - src/core/lib/iomgr/endpoint_pair_posix.c \ - src/core/lib/iomgr/endpoint_pair_uv.c \ - src/core/lib/iomgr/endpoint_pair_windows.c \ - src/core/lib/iomgr/error.c \ - src/core/lib/iomgr/ev_epoll1_linux.c \ - src/core/lib/iomgr/ev_epollex_linux.c \ - src/core/lib/iomgr/ev_epollsig_linux.c \ - src/core/lib/iomgr/ev_poll_posix.c \ - src/core/lib/iomgr/ev_posix.c \ - src/core/lib/iomgr/ev_windows.c \ - src/core/lib/iomgr/exec_ctx.c \ - src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/gethostname_fallback.c \ - src/core/lib/iomgr/gethostname_host_name_max.c \ - src/core/lib/iomgr/gethostname_sysconf.c \ - src/core/lib/iomgr/iocp_windows.c \ - src/core/lib/iomgr/iomgr.c \ - src/core/lib/iomgr/iomgr_posix.c \ - src/core/lib/iomgr/iomgr_uv.c \ - src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/is_epollexclusive_available.c \ - src/core/lib/iomgr/load_file.c \ - src/core/lib/iomgr/lockfree_event.c \ - src/core/lib/iomgr/network_status_tracker.c \ - src/core/lib/iomgr/polling_entity.c \ - src/core/lib/iomgr/pollset_set_uv.c \ - src/core/lib/iomgr/pollset_set_windows.c \ - src/core/lib/iomgr/pollset_uv.c \ - src/core/lib/iomgr/pollset_windows.c \ - src/core/lib/iomgr/resolve_address_posix.c \ - src/core/lib/iomgr/resolve_address_uv.c \ - src/core/lib/iomgr/resolve_address_windows.c \ - src/core/lib/iomgr/resource_quota.c \ - src/core/lib/iomgr/sockaddr_utils.c \ - src/core/lib/iomgr/socket_factory_posix.c \ - src/core/lib/iomgr/socket_mutator.c \ - src/core/lib/iomgr/socket_utils_common_posix.c \ - src/core/lib/iomgr/socket_utils_linux.c \ - src/core/lib/iomgr/socket_utils_posix.c \ - src/core/lib/iomgr/socket_utils_uv.c \ - src/core/lib/iomgr/socket_utils_windows.c \ - src/core/lib/iomgr/socket_windows.c \ - src/core/lib/iomgr/tcp_client_posix.c \ - src/core/lib/iomgr/tcp_client_uv.c \ - src/core/lib/iomgr/tcp_client_windows.c \ - src/core/lib/iomgr/tcp_posix.c \ - src/core/lib/iomgr/tcp_server_posix.c \ - src/core/lib/iomgr/tcp_server_utils_posix_common.c \ - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c \ - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c \ - src/core/lib/iomgr/tcp_server_uv.c \ - src/core/lib/iomgr/tcp_server_windows.c \ - src/core/lib/iomgr/tcp_uv.c \ - src/core/lib/iomgr/tcp_windows.c \ - src/core/lib/iomgr/time_averaged_stats.c \ - src/core/lib/iomgr/timer_generic.c \ - src/core/lib/iomgr/timer_heap.c \ - src/core/lib/iomgr/timer_manager.c \ - src/core/lib/iomgr/timer_uv.c \ - src/core/lib/iomgr/udp_server.c \ - src/core/lib/iomgr/unix_sockets_posix.c \ - src/core/lib/iomgr/unix_sockets_posix_noop.c \ - src/core/lib/iomgr/wakeup_fd_cv.c \ - src/core/lib/iomgr/wakeup_fd_eventfd.c \ - src/core/lib/iomgr/wakeup_fd_nospecial.c \ - src/core/lib/iomgr/wakeup_fd_pipe.c \ - src/core/lib/iomgr/wakeup_fd_posix.c \ - src/core/lib/json/json.c \ - src/core/lib/json/json_reader.c \ - src/core/lib/json/json_string.c \ - src/core/lib/json/json_writer.c \ - src/core/lib/slice/b64.c \ - src/core/lib/slice/percent_encoding.c \ - src/core/lib/slice/slice.c \ - src/core/lib/slice/slice_buffer.c \ - src/core/lib/slice/slice_hash_table.c \ - src/core/lib/slice/slice_intern.c \ - src/core/lib/slice/slice_string_helpers.c \ - src/core/lib/surface/alarm.c \ - src/core/lib/surface/api_trace.c \ - src/core/lib/surface/byte_buffer.c \ - src/core/lib/surface/byte_buffer_reader.c \ - src/core/lib/surface/call.c \ - src/core/lib/surface/call_details.c \ - src/core/lib/surface/call_log_batch.c \ - src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_init.c \ - src/core/lib/surface/channel_ping.c \ - src/core/lib/surface/channel_stack_type.c \ - src/core/lib/surface/completion_queue.c \ - src/core/lib/surface/completion_queue_factory.c \ - src/core/lib/surface/event_string.c \ + src/core/lib/surface/init.cc \ + src/core/lib/channel/channel_args.cc \ + src/core/lib/channel/channel_stack.cc \ + src/core/lib/channel/channel_stack_builder.cc \ + src/core/lib/channel/connected_channel.cc \ + src/core/lib/channel/handshaker.cc \ + src/core/lib/channel/handshaker_factory.cc \ + src/core/lib/channel/handshaker_registry.cc \ + src/core/lib/compression/compression.cc \ + src/core/lib/compression/message_compress.cc \ + src/core/lib/compression/stream_compression.cc \ + src/core/lib/debug/stats.cc \ + src/core/lib/debug/stats_data.cc \ + src/core/lib/http/format_request.cc \ + src/core/lib/http/httpcli.cc \ + src/core/lib/http/parser.cc \ + src/core/lib/iomgr/call_combiner.cc \ + src/core/lib/iomgr/closure.cc \ + src/core/lib/iomgr/combiner.cc \ + src/core/lib/iomgr/endpoint.cc \ + src/core/lib/iomgr/endpoint_pair_posix.cc \ + src/core/lib/iomgr/endpoint_pair_uv.cc \ + src/core/lib/iomgr/endpoint_pair_windows.cc \ + src/core/lib/iomgr/error.cc \ + src/core/lib/iomgr/ev_epoll1_linux.cc \ + src/core/lib/iomgr/ev_epollex_linux.cc \ + src/core/lib/iomgr/ev_epollsig_linux.cc \ + src/core/lib/iomgr/ev_poll_posix.cc \ + src/core/lib/iomgr/ev_posix.cc \ + src/core/lib/iomgr/ev_windows.cc \ + src/core/lib/iomgr/exec_ctx.cc \ + src/core/lib/iomgr/executor.cc \ + src/core/lib/iomgr/gethostname_fallback.cc \ + src/core/lib/iomgr/gethostname_host_name_max.cc \ + src/core/lib/iomgr/gethostname_sysconf.cc \ + src/core/lib/iomgr/iocp_windows.cc \ + src/core/lib/iomgr/iomgr.cc \ + src/core/lib/iomgr/iomgr_posix.cc \ + src/core/lib/iomgr/iomgr_uv.cc \ + src/core/lib/iomgr/iomgr_windows.cc \ + src/core/lib/iomgr/is_epollexclusive_available.cc \ + src/core/lib/iomgr/load_file.cc \ + src/core/lib/iomgr/lockfree_event.cc \ + src/core/lib/iomgr/network_status_tracker.cc \ + src/core/lib/iomgr/polling_entity.cc \ + src/core/lib/iomgr/pollset_set_uv.cc \ + src/core/lib/iomgr/pollset_set_windows.cc \ + src/core/lib/iomgr/pollset_uv.cc \ + src/core/lib/iomgr/pollset_windows.cc \ + src/core/lib/iomgr/resolve_address_posix.cc \ + src/core/lib/iomgr/resolve_address_uv.cc \ + src/core/lib/iomgr/resolve_address_windows.cc \ + src/core/lib/iomgr/resource_quota.cc \ + src/core/lib/iomgr/sockaddr_utils.cc \ + src/core/lib/iomgr/socket_factory_posix.cc \ + src/core/lib/iomgr/socket_mutator.cc \ + src/core/lib/iomgr/socket_utils_common_posix.cc \ + src/core/lib/iomgr/socket_utils_linux.cc \ + src/core/lib/iomgr/socket_utils_posix.cc \ + src/core/lib/iomgr/socket_utils_uv.cc \ + src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_windows.cc \ + src/core/lib/iomgr/tcp_client_posix.cc \ + src/core/lib/iomgr/tcp_client_uv.cc \ + src/core/lib/iomgr/tcp_client_windows.cc \ + src/core/lib/iomgr/tcp_posix.cc \ + src/core/lib/iomgr/tcp_server_posix.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_common.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc \ + src/core/lib/iomgr/tcp_server_uv.cc \ + src/core/lib/iomgr/tcp_server_windows.cc \ + src/core/lib/iomgr/tcp_uv.cc \ + src/core/lib/iomgr/tcp_windows.cc \ + src/core/lib/iomgr/time_averaged_stats.cc \ + src/core/lib/iomgr/timer_generic.cc \ + src/core/lib/iomgr/timer_heap.cc \ + src/core/lib/iomgr/timer_manager.cc \ + src/core/lib/iomgr/timer_uv.cc \ + src/core/lib/iomgr/udp_server.cc \ + src/core/lib/iomgr/unix_sockets_posix.cc \ + src/core/lib/iomgr/unix_sockets_posix_noop.cc \ + src/core/lib/iomgr/wakeup_fd_cv.cc \ + src/core/lib/iomgr/wakeup_fd_eventfd.cc \ + src/core/lib/iomgr/wakeup_fd_nospecial.cc \ + src/core/lib/iomgr/wakeup_fd_pipe.cc \ + src/core/lib/iomgr/wakeup_fd_posix.cc \ + src/core/lib/json/json.cc \ + src/core/lib/json/json_reader.cc \ + src/core/lib/json/json_string.cc \ + src/core/lib/json/json_writer.cc \ + src/core/lib/slice/b64.cc \ + src/core/lib/slice/percent_encoding.cc \ + src/core/lib/slice/slice.cc \ + src/core/lib/slice/slice_buffer.cc \ + src/core/lib/slice/slice_hash_table.cc \ + src/core/lib/slice/slice_intern.cc \ + src/core/lib/slice/slice_string_helpers.cc \ + src/core/lib/surface/alarm.cc \ + src/core/lib/surface/api_trace.cc \ + src/core/lib/surface/byte_buffer.cc \ + src/core/lib/surface/byte_buffer_reader.cc \ + src/core/lib/surface/call.cc \ + src/core/lib/surface/call_details.cc \ + src/core/lib/surface/call_log_batch.cc \ + src/core/lib/surface/channel.cc \ + src/core/lib/surface/channel_init.cc \ + src/core/lib/surface/channel_ping.cc \ + src/core/lib/surface/channel_stack_type.cc \ + src/core/lib/surface/completion_queue.cc \ + src/core/lib/surface/completion_queue_factory.cc \ + src/core/lib/surface/event_string.cc \ src/core/lib/surface/lame_client.cc \ - src/core/lib/surface/metadata_array.c \ - src/core/lib/surface/server.c \ - src/core/lib/surface/validate_metadata.c \ - src/core/lib/surface/version.c \ - src/core/lib/transport/bdp_estimator.c \ - src/core/lib/transport/byte_stream.c \ - src/core/lib/transport/connectivity_state.c \ - src/core/lib/transport/error_utils.c \ - src/core/lib/transport/metadata.c \ - src/core/lib/transport/metadata_batch.c \ - src/core/lib/transport/pid_controller.c \ - src/core/lib/transport/service_config.c \ - src/core/lib/transport/static_metadata.c \ - src/core/lib/transport/status_conversion.c \ - src/core/lib/transport/timeout_encoding.c \ - src/core/lib/transport/transport.c \ - src/core/lib/transport/transport_op_string.c \ - src/core/lib/debug/trace.c \ - src/core/ext/transport/cronet/client/secure/cronet_channel_create.c \ - src/core/ext/transport/cronet/transport/cronet_api_dummy.c \ - src/core/ext/transport/cronet/transport/cronet_transport.c \ - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ - src/core/ext/transport/chttp2/transport/bin_decoder.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/flow_control.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/http2_settings.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/ext/transport/chttp2/alpn/alpn.c \ - src/core/ext/filters/http/client/http_client_filter.c \ - src/core/ext/filters/http/http_filters_plugin.c \ - src/core/ext/filters/http/message_compress/message_compress_filter.c \ - src/core/ext/filters/http/server/http_server_filter.c \ - src/core/ext/filters/client_channel/channel_connectivity.c \ - src/core/ext/filters/client_channel/client_channel.c \ - src/core/ext/filters/client_channel/client_channel_factory.c \ - src/core/ext/filters/client_channel/client_channel_plugin.c \ - src/core/ext/filters/client_channel/connector.c \ - src/core/ext/filters/client_channel/http_connect_handshaker.c \ - src/core/ext/filters/client_channel/http_proxy.c \ - src/core/ext/filters/client_channel/lb_policy.c \ - src/core/ext/filters/client_channel/lb_policy_factory.c \ - src/core/ext/filters/client_channel/lb_policy_registry.c \ - src/core/ext/filters/client_channel/parse_address.c \ - src/core/ext/filters/client_channel/proxy_mapper.c \ - src/core/ext/filters/client_channel/proxy_mapper_registry.c \ - src/core/ext/filters/client_channel/resolver.c \ - src/core/ext/filters/client_channel/resolver_factory.c \ - src/core/ext/filters/client_channel/resolver_registry.c \ - src/core/ext/filters/client_channel/retry_throttle.c \ - src/core/ext/filters/client_channel/subchannel.c \ - src/core/ext/filters/client_channel/subchannel_index.c \ - src/core/ext/filters/client_channel/uri_parser.c \ - src/core/ext/filters/deadline/deadline_filter.c \ - src/core/lib/http/httpcli_security_connector.c \ - src/core/lib/security/context/security_context.c \ - src/core/lib/security/credentials/composite/composite_credentials.c \ - src/core/lib/security/credentials/credentials.c \ - src/core/lib/security/credentials/credentials_metadata.c \ - src/core/lib/security/credentials/fake/fake_credentials.c \ - src/core/lib/security/credentials/google_default/credentials_generic.c \ - src/core/lib/security/credentials/google_default/google_default_credentials.c \ - src/core/lib/security/credentials/iam/iam_credentials.c \ - src/core/lib/security/credentials/jwt/json_token.c \ - src/core/lib/security/credentials/jwt/jwt_credentials.c \ - src/core/lib/security/credentials/jwt/jwt_verifier.c \ - src/core/lib/security/credentials/oauth2/oauth2_credentials.c \ - src/core/lib/security/credentials/plugin/plugin_credentials.c \ - src/core/lib/security/credentials/ssl/ssl_credentials.c \ - src/core/lib/security/transport/client_auth_filter.c \ - src/core/lib/security/transport/lb_targets_info.c \ - src/core/lib/security/transport/secure_endpoint.c \ - src/core/lib/security/transport/security_connector.c \ - src/core/lib/security/transport/security_handshaker.c \ - src/core/lib/security/transport/server_auth_filter.c \ - src/core/lib/security/transport/tsi_error.c \ - src/core/lib/security/util/json_util.c \ - src/core/lib/surface/init_secure.c \ - src/core/tsi/fake_transport_security.c \ - src/core/tsi/gts_transport_security.c \ - src/core/tsi/ssl_transport_security.c \ - src/core/tsi/transport_security_grpc.c \ - src/core/tsi/transport_security.c \ - src/core/tsi/transport_security_adapter.c \ - src/core/ext/transport/chttp2/client/chttp2_connector.c \ - src/core/ext/filters/load_reporting/server_load_reporting_filter.c \ - src/core/ext/filters/load_reporting/server_load_reporting_plugin.c \ + src/core/lib/surface/metadata_array.cc \ + src/core/lib/surface/server.cc \ + src/core/lib/surface/validate_metadata.cc \ + src/core/lib/surface/version.cc \ + src/core/lib/transport/bdp_estimator.cc \ + src/core/lib/transport/byte_stream.cc \ + src/core/lib/transport/connectivity_state.cc \ + src/core/lib/transport/error_utils.cc \ + src/core/lib/transport/metadata.cc \ + src/core/lib/transport/metadata_batch.cc \ + src/core/lib/transport/pid_controller.cc \ + src/core/lib/transport/service_config.cc \ + src/core/lib/transport/static_metadata.cc \ + src/core/lib/transport/status_conversion.cc \ + src/core/lib/transport/timeout_encoding.cc \ + src/core/lib/transport/transport.cc \ + src/core/lib/transport/transport_op_string.cc \ + src/core/lib/debug/trace.cc \ + src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc \ + src/core/ext/transport/cronet/transport/cronet_api_dummy.cc \ + src/core/ext/transport/cronet/transport/cronet_transport.cc \ + src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc \ + src/core/ext/transport/chttp2/transport/bin_decoder.cc \ + src/core/ext/transport/chttp2/transport/bin_encoder.cc \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \ + src/core/ext/transport/chttp2/transport/chttp2_transport.cc \ + src/core/ext/transport/chttp2/transport/flow_control.cc \ + src/core/ext/transport/chttp2/transport/frame_data.cc \ + src/core/ext/transport/chttp2/transport/frame_goaway.cc \ + src/core/ext/transport/chttp2/transport/frame_ping.cc \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc \ + src/core/ext/transport/chttp2/transport/frame_settings.cc \ + src/core/ext/transport/chttp2/transport/frame_window_update.cc \ + src/core/ext/transport/chttp2/transport/hpack_encoder.cc \ + src/core/ext/transport/chttp2/transport/hpack_parser.cc \ + src/core/ext/transport/chttp2/transport/hpack_table.cc \ + src/core/ext/transport/chttp2/transport/http2_settings.cc \ + src/core/ext/transport/chttp2/transport/huffsyms.cc \ + src/core/ext/transport/chttp2/transport/incoming_metadata.cc \ + src/core/ext/transport/chttp2/transport/parsing.cc \ + src/core/ext/transport/chttp2/transport/stream_lists.cc \ + src/core/ext/transport/chttp2/transport/stream_map.cc \ + src/core/ext/transport/chttp2/transport/varint.cc \ + src/core/ext/transport/chttp2/transport/writing.cc \ + src/core/ext/transport/chttp2/alpn/alpn.cc \ + src/core/ext/filters/http/client/http_client_filter.cc \ + src/core/ext/filters/http/http_filters_plugin.cc \ + src/core/ext/filters/http/message_compress/message_compress_filter.cc \ + src/core/ext/filters/http/server/http_server_filter.cc \ + src/core/ext/filters/client_channel/channel_connectivity.cc \ + src/core/ext/filters/client_channel/client_channel.cc \ + src/core/ext/filters/client_channel/client_channel_factory.cc \ + src/core/ext/filters/client_channel/client_channel_plugin.cc \ + src/core/ext/filters/client_channel/connector.cc \ + src/core/ext/filters/client_channel/http_connect_handshaker.cc \ + src/core/ext/filters/client_channel/http_proxy.cc \ + src/core/ext/filters/client_channel/lb_policy.cc \ + src/core/ext/filters/client_channel/lb_policy_factory.cc \ + src/core/ext/filters/client_channel/lb_policy_registry.cc \ + src/core/ext/filters/client_channel/parse_address.cc \ + src/core/ext/filters/client_channel/proxy_mapper.cc \ + src/core/ext/filters/client_channel/proxy_mapper_registry.cc \ + src/core/ext/filters/client_channel/resolver.cc \ + src/core/ext/filters/client_channel/resolver_factory.cc \ + src/core/ext/filters/client_channel/resolver_registry.cc \ + src/core/ext/filters/client_channel/retry_throttle.cc \ + src/core/ext/filters/client_channel/subchannel.cc \ + src/core/ext/filters/client_channel/subchannel_index.cc \ + src/core/ext/filters/client_channel/uri_parser.cc \ + src/core/ext/filters/deadline/deadline_filter.cc \ + src/core/lib/http/httpcli_security_connector.cc \ + src/core/lib/security/context/security_context.cc \ + src/core/lib/security/credentials/composite/composite_credentials.cc \ + src/core/lib/security/credentials/credentials.cc \ + src/core/lib/security/credentials/credentials_metadata.cc \ + src/core/lib/security/credentials/fake/fake_credentials.cc \ + src/core/lib/security/credentials/google_default/credentials_generic.cc \ + src/core/lib/security/credentials/google_default/google_default_credentials.cc \ + src/core/lib/security/credentials/iam/iam_credentials.cc \ + src/core/lib/security/credentials/jwt/json_token.cc \ + src/core/lib/security/credentials/jwt/jwt_credentials.cc \ + src/core/lib/security/credentials/jwt/jwt_verifier.cc \ + src/core/lib/security/credentials/oauth2/oauth2_credentials.cc \ + src/core/lib/security/credentials/plugin/plugin_credentials.cc \ + src/core/lib/security/credentials/ssl/ssl_credentials.cc \ + src/core/lib/security/transport/client_auth_filter.cc \ + src/core/lib/security/transport/lb_targets_info.cc \ + src/core/lib/security/transport/secure_endpoint.cc \ + src/core/lib/security/transport/security_connector.cc \ + src/core/lib/security/transport/security_handshaker.cc \ + src/core/lib/security/transport/server_auth_filter.cc \ + src/core/lib/security/transport/tsi_error.cc \ + src/core/lib/security/util/json_util.cc \ + src/core/lib/surface/init_secure.cc \ + src/core/tsi/fake_transport_security.cc \ + src/core/tsi/gts_transport_security.cc \ + src/core/tsi/ssl_transport_security.cc \ + src/core/tsi/transport_security_grpc.cc \ + src/core/tsi/transport_security.cc \ + src/core/tsi/transport_security_adapter.cc \ + src/core/ext/transport/chttp2/client/chttp2_connector.cc \ + src/core/ext/filters/load_reporting/server_load_reporting_filter.cc \ + src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc \ src/core/plugin_registry/grpc_cronet_plugin_registry.cc \ PUBLIC_HEADERS_C += \ @@ -3600,201 +3596,199 @@ LIBGRPC_TEST_UTIL_SRC = \ test/core/end2end/data/server1_key.c \ test/core/end2end/data/test_root_cert.c \ test/core/security/oauth2_utils.c \ - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c \ - test/core/end2end/cq_verifier.c \ - test/core/end2end/fixtures/http_proxy_fixture.c \ - test/core/end2end/fixtures/proxy.c \ - test/core/iomgr/endpoint_tests.c \ - test/core/util/debugger_macros.c \ - test/core/util/grpc_profiler.c \ - test/core/util/memory_counters.c \ - test/core/util/mock_endpoint.c \ - test/core/util/parse_hexstring.c \ - test/core/util/passthru_endpoint.c \ - test/core/util/port.c \ - test/core/util/port_server_client.c \ - test/core/util/slice_splitter.c \ - test/core/util/trickle_endpoint.c \ - src/core/lib/channel/channel_args.c \ - src/core/lib/channel/channel_stack.c \ - src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/connected_channel.c \ - src/core/lib/channel/handshaker.c \ - src/core/lib/channel/handshaker_factory.c \ - src/core/lib/channel/handshaker_registry.c \ - src/core/lib/compression/compression.c \ - src/core/lib/compression/message_compress.c \ - src/core/lib/compression/stream_compression.c \ - src/core/lib/compression/stream_compression_gzip.c \ - src/core/lib/compression/stream_compression_identity.c \ - src/core/lib/debug/stats.c \ - src/core/lib/debug/stats_data.c \ - src/core/lib/http/format_request.c \ - src/core/lib/http/httpcli.c \ - src/core/lib/http/parser.c \ - src/core/lib/iomgr/call_combiner.c \ - src/core/lib/iomgr/closure.c \ - src/core/lib/iomgr/combiner.c \ - src/core/lib/iomgr/endpoint.c \ - src/core/lib/iomgr/endpoint_pair_posix.c \ - src/core/lib/iomgr/endpoint_pair_uv.c \ - src/core/lib/iomgr/endpoint_pair_windows.c \ - src/core/lib/iomgr/error.c \ - src/core/lib/iomgr/ev_epoll1_linux.c \ - src/core/lib/iomgr/ev_epollex_linux.c \ - src/core/lib/iomgr/ev_epollsig_linux.c \ - src/core/lib/iomgr/ev_poll_posix.c \ - src/core/lib/iomgr/ev_posix.c \ - src/core/lib/iomgr/ev_windows.c \ - src/core/lib/iomgr/exec_ctx.c \ - src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/gethostname_fallback.c \ - src/core/lib/iomgr/gethostname_host_name_max.c \ - src/core/lib/iomgr/gethostname_sysconf.c \ - src/core/lib/iomgr/iocp_windows.c \ - src/core/lib/iomgr/iomgr.c \ - src/core/lib/iomgr/iomgr_posix.c \ - src/core/lib/iomgr/iomgr_uv.c \ - src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/is_epollexclusive_available.c \ - src/core/lib/iomgr/load_file.c \ - src/core/lib/iomgr/lockfree_event.c \ - src/core/lib/iomgr/network_status_tracker.c \ - src/core/lib/iomgr/polling_entity.c \ - src/core/lib/iomgr/pollset_set_uv.c \ - src/core/lib/iomgr/pollset_set_windows.c \ - src/core/lib/iomgr/pollset_uv.c \ - src/core/lib/iomgr/pollset_windows.c \ - src/core/lib/iomgr/resolve_address_posix.c \ - src/core/lib/iomgr/resolve_address_uv.c \ - src/core/lib/iomgr/resolve_address_windows.c \ - src/core/lib/iomgr/resource_quota.c \ - src/core/lib/iomgr/sockaddr_utils.c \ - src/core/lib/iomgr/socket_factory_posix.c \ - src/core/lib/iomgr/socket_mutator.c \ - src/core/lib/iomgr/socket_utils_common_posix.c \ - src/core/lib/iomgr/socket_utils_linux.c \ - src/core/lib/iomgr/socket_utils_posix.c \ - src/core/lib/iomgr/socket_utils_uv.c \ - src/core/lib/iomgr/socket_utils_windows.c \ - src/core/lib/iomgr/socket_windows.c \ - src/core/lib/iomgr/tcp_client_posix.c \ - src/core/lib/iomgr/tcp_client_uv.c \ - src/core/lib/iomgr/tcp_client_windows.c \ - src/core/lib/iomgr/tcp_posix.c \ - src/core/lib/iomgr/tcp_server_posix.c \ - src/core/lib/iomgr/tcp_server_utils_posix_common.c \ - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c \ - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c \ - src/core/lib/iomgr/tcp_server_uv.c \ - src/core/lib/iomgr/tcp_server_windows.c \ - src/core/lib/iomgr/tcp_uv.c \ - src/core/lib/iomgr/tcp_windows.c \ - src/core/lib/iomgr/time_averaged_stats.c \ - src/core/lib/iomgr/timer_generic.c \ - src/core/lib/iomgr/timer_heap.c \ - src/core/lib/iomgr/timer_manager.c \ - src/core/lib/iomgr/timer_uv.c \ - src/core/lib/iomgr/udp_server.c \ - src/core/lib/iomgr/unix_sockets_posix.c \ - src/core/lib/iomgr/unix_sockets_posix_noop.c \ - src/core/lib/iomgr/wakeup_fd_cv.c \ - src/core/lib/iomgr/wakeup_fd_eventfd.c \ - src/core/lib/iomgr/wakeup_fd_nospecial.c \ - src/core/lib/iomgr/wakeup_fd_pipe.c \ - src/core/lib/iomgr/wakeup_fd_posix.c \ - src/core/lib/json/json.c \ - src/core/lib/json/json_reader.c \ - src/core/lib/json/json_string.c \ - src/core/lib/json/json_writer.c \ - src/core/lib/slice/b64.c \ - src/core/lib/slice/percent_encoding.c \ - src/core/lib/slice/slice.c \ - src/core/lib/slice/slice_buffer.c \ - src/core/lib/slice/slice_hash_table.c \ - src/core/lib/slice/slice_intern.c \ - src/core/lib/slice/slice_string_helpers.c \ - src/core/lib/surface/alarm.c \ - src/core/lib/surface/api_trace.c \ - src/core/lib/surface/byte_buffer.c \ - src/core/lib/surface/byte_buffer_reader.c \ - src/core/lib/surface/call.c \ - src/core/lib/surface/call_details.c \ - src/core/lib/surface/call_log_batch.c \ - src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_init.c \ - src/core/lib/surface/channel_ping.c \ - src/core/lib/surface/channel_stack_type.c \ - src/core/lib/surface/completion_queue.c \ - src/core/lib/surface/completion_queue_factory.c \ - src/core/lib/surface/event_string.c \ + src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc \ + test/core/end2end/cq_verifier.cc \ + test/core/end2end/fixtures/http_proxy_fixture.cc \ + test/core/end2end/fixtures/proxy.cc \ + test/core/iomgr/endpoint_tests.cc \ + test/core/util/debugger_macros.cc \ + test/core/util/grpc_profiler.cc \ + test/core/util/memory_counters.cc \ + test/core/util/mock_endpoint.cc \ + test/core/util/parse_hexstring.cc \ + test/core/util/passthru_endpoint.cc \ + test/core/util/port.cc \ + test/core/util/port_server_client.cc \ + test/core/util/slice_splitter.cc \ + test/core/util/trickle_endpoint.cc \ + src/core/lib/channel/channel_args.cc \ + src/core/lib/channel/channel_stack.cc \ + src/core/lib/channel/channel_stack_builder.cc \ + src/core/lib/channel/connected_channel.cc \ + src/core/lib/channel/handshaker.cc \ + src/core/lib/channel/handshaker_factory.cc \ + src/core/lib/channel/handshaker_registry.cc \ + src/core/lib/compression/compression.cc \ + src/core/lib/compression/message_compress.cc \ + src/core/lib/compression/stream_compression.cc \ + src/core/lib/debug/stats.cc \ + src/core/lib/debug/stats_data.cc \ + src/core/lib/http/format_request.cc \ + src/core/lib/http/httpcli.cc \ + src/core/lib/http/parser.cc \ + src/core/lib/iomgr/call_combiner.cc \ + src/core/lib/iomgr/closure.cc \ + src/core/lib/iomgr/combiner.cc \ + src/core/lib/iomgr/endpoint.cc \ + src/core/lib/iomgr/endpoint_pair_posix.cc \ + src/core/lib/iomgr/endpoint_pair_uv.cc \ + src/core/lib/iomgr/endpoint_pair_windows.cc \ + src/core/lib/iomgr/error.cc \ + src/core/lib/iomgr/ev_epoll1_linux.cc \ + src/core/lib/iomgr/ev_epollex_linux.cc \ + src/core/lib/iomgr/ev_epollsig_linux.cc \ + src/core/lib/iomgr/ev_poll_posix.cc \ + src/core/lib/iomgr/ev_posix.cc \ + src/core/lib/iomgr/ev_windows.cc \ + src/core/lib/iomgr/exec_ctx.cc \ + src/core/lib/iomgr/executor.cc \ + src/core/lib/iomgr/gethostname_fallback.cc \ + src/core/lib/iomgr/gethostname_host_name_max.cc \ + src/core/lib/iomgr/gethostname_sysconf.cc \ + src/core/lib/iomgr/iocp_windows.cc \ + src/core/lib/iomgr/iomgr.cc \ + src/core/lib/iomgr/iomgr_posix.cc \ + src/core/lib/iomgr/iomgr_uv.cc \ + src/core/lib/iomgr/iomgr_windows.cc \ + src/core/lib/iomgr/is_epollexclusive_available.cc \ + src/core/lib/iomgr/load_file.cc \ + src/core/lib/iomgr/lockfree_event.cc \ + src/core/lib/iomgr/network_status_tracker.cc \ + src/core/lib/iomgr/polling_entity.cc \ + src/core/lib/iomgr/pollset_set_uv.cc \ + src/core/lib/iomgr/pollset_set_windows.cc \ + src/core/lib/iomgr/pollset_uv.cc \ + src/core/lib/iomgr/pollset_windows.cc \ + src/core/lib/iomgr/resolve_address_posix.cc \ + src/core/lib/iomgr/resolve_address_uv.cc \ + src/core/lib/iomgr/resolve_address_windows.cc \ + src/core/lib/iomgr/resource_quota.cc \ + src/core/lib/iomgr/sockaddr_utils.cc \ + src/core/lib/iomgr/socket_factory_posix.cc \ + src/core/lib/iomgr/socket_mutator.cc \ + src/core/lib/iomgr/socket_utils_common_posix.cc \ + src/core/lib/iomgr/socket_utils_linux.cc \ + src/core/lib/iomgr/socket_utils_posix.cc \ + src/core/lib/iomgr/socket_utils_uv.cc \ + src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_windows.cc \ + src/core/lib/iomgr/tcp_client_posix.cc \ + src/core/lib/iomgr/tcp_client_uv.cc \ + src/core/lib/iomgr/tcp_client_windows.cc \ + src/core/lib/iomgr/tcp_posix.cc \ + src/core/lib/iomgr/tcp_server_posix.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_common.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc \ + src/core/lib/iomgr/tcp_server_uv.cc \ + src/core/lib/iomgr/tcp_server_windows.cc \ + src/core/lib/iomgr/tcp_uv.cc \ + src/core/lib/iomgr/tcp_windows.cc \ + src/core/lib/iomgr/time_averaged_stats.cc \ + src/core/lib/iomgr/timer_generic.cc \ + src/core/lib/iomgr/timer_heap.cc \ + src/core/lib/iomgr/timer_manager.cc \ + src/core/lib/iomgr/timer_uv.cc \ + src/core/lib/iomgr/udp_server.cc \ + src/core/lib/iomgr/unix_sockets_posix.cc \ + src/core/lib/iomgr/unix_sockets_posix_noop.cc \ + src/core/lib/iomgr/wakeup_fd_cv.cc \ + src/core/lib/iomgr/wakeup_fd_eventfd.cc \ + src/core/lib/iomgr/wakeup_fd_nospecial.cc \ + src/core/lib/iomgr/wakeup_fd_pipe.cc \ + src/core/lib/iomgr/wakeup_fd_posix.cc \ + src/core/lib/json/json.cc \ + src/core/lib/json/json_reader.cc \ + src/core/lib/json/json_string.cc \ + src/core/lib/json/json_writer.cc \ + src/core/lib/slice/b64.cc \ + src/core/lib/slice/percent_encoding.cc \ + src/core/lib/slice/slice.cc \ + src/core/lib/slice/slice_buffer.cc \ + src/core/lib/slice/slice_hash_table.cc \ + src/core/lib/slice/slice_intern.cc \ + src/core/lib/slice/slice_string_helpers.cc \ + src/core/lib/surface/alarm.cc \ + src/core/lib/surface/api_trace.cc \ + src/core/lib/surface/byte_buffer.cc \ + src/core/lib/surface/byte_buffer_reader.cc \ + src/core/lib/surface/call.cc \ + src/core/lib/surface/call_details.cc \ + src/core/lib/surface/call_log_batch.cc \ + src/core/lib/surface/channel.cc \ + src/core/lib/surface/channel_init.cc \ + src/core/lib/surface/channel_ping.cc \ + src/core/lib/surface/channel_stack_type.cc \ + src/core/lib/surface/completion_queue.cc \ + src/core/lib/surface/completion_queue_factory.cc \ + src/core/lib/surface/event_string.cc \ src/core/lib/surface/lame_client.cc \ - src/core/lib/surface/metadata_array.c \ - src/core/lib/surface/server.c \ - src/core/lib/surface/validate_metadata.c \ - src/core/lib/surface/version.c \ - src/core/lib/transport/bdp_estimator.c \ - src/core/lib/transport/byte_stream.c \ - src/core/lib/transport/connectivity_state.c \ - src/core/lib/transport/error_utils.c \ - src/core/lib/transport/metadata.c \ - src/core/lib/transport/metadata_batch.c \ - src/core/lib/transport/pid_controller.c \ - src/core/lib/transport/service_config.c \ - src/core/lib/transport/static_metadata.c \ - src/core/lib/transport/status_conversion.c \ - src/core/lib/transport/timeout_encoding.c \ - src/core/lib/transport/transport.c \ - src/core/lib/transport/transport_op_string.c \ - src/core/lib/debug/trace.c \ - src/core/ext/filters/client_channel/channel_connectivity.c \ - src/core/ext/filters/client_channel/client_channel.c \ - src/core/ext/filters/client_channel/client_channel_factory.c \ - src/core/ext/filters/client_channel/client_channel_plugin.c \ - src/core/ext/filters/client_channel/connector.c \ - src/core/ext/filters/client_channel/http_connect_handshaker.c \ - src/core/ext/filters/client_channel/http_proxy.c \ - src/core/ext/filters/client_channel/lb_policy.c \ - src/core/ext/filters/client_channel/lb_policy_factory.c \ - src/core/ext/filters/client_channel/lb_policy_registry.c \ - src/core/ext/filters/client_channel/parse_address.c \ - src/core/ext/filters/client_channel/proxy_mapper.c \ - src/core/ext/filters/client_channel/proxy_mapper_registry.c \ - src/core/ext/filters/client_channel/resolver.c \ - src/core/ext/filters/client_channel/resolver_factory.c \ - src/core/ext/filters/client_channel/resolver_registry.c \ - src/core/ext/filters/client_channel/retry_throttle.c \ - src/core/ext/filters/client_channel/subchannel.c \ - src/core/ext/filters/client_channel/subchannel_index.c \ - src/core/ext/filters/client_channel/uri_parser.c \ - src/core/ext/filters/deadline/deadline_filter.c \ - src/core/ext/transport/chttp2/transport/bin_decoder.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/flow_control.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/http2_settings.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/ext/transport/chttp2/alpn/alpn.c \ - src/core/ext/filters/http/client/http_client_filter.c \ - src/core/ext/filters/http/http_filters_plugin.c \ - src/core/ext/filters/http/message_compress/message_compress_filter.c \ - src/core/ext/filters/http/server/http_server_filter.c \ + src/core/lib/surface/metadata_array.cc \ + src/core/lib/surface/server.cc \ + src/core/lib/surface/validate_metadata.cc \ + src/core/lib/surface/version.cc \ + src/core/lib/transport/bdp_estimator.cc \ + src/core/lib/transport/byte_stream.cc \ + src/core/lib/transport/connectivity_state.cc \ + src/core/lib/transport/error_utils.cc \ + src/core/lib/transport/metadata.cc \ + src/core/lib/transport/metadata_batch.cc \ + src/core/lib/transport/pid_controller.cc \ + src/core/lib/transport/service_config.cc \ + src/core/lib/transport/static_metadata.cc \ + src/core/lib/transport/status_conversion.cc \ + src/core/lib/transport/timeout_encoding.cc \ + src/core/lib/transport/transport.cc \ + src/core/lib/transport/transport_op_string.cc \ + src/core/lib/debug/trace.cc \ + src/core/ext/filters/client_channel/channel_connectivity.cc \ + src/core/ext/filters/client_channel/client_channel.cc \ + src/core/ext/filters/client_channel/client_channel_factory.cc \ + src/core/ext/filters/client_channel/client_channel_plugin.cc \ + src/core/ext/filters/client_channel/connector.cc \ + src/core/ext/filters/client_channel/http_connect_handshaker.cc \ + src/core/ext/filters/client_channel/http_proxy.cc \ + src/core/ext/filters/client_channel/lb_policy.cc \ + src/core/ext/filters/client_channel/lb_policy_factory.cc \ + src/core/ext/filters/client_channel/lb_policy_registry.cc \ + src/core/ext/filters/client_channel/parse_address.cc \ + src/core/ext/filters/client_channel/proxy_mapper.cc \ + src/core/ext/filters/client_channel/proxy_mapper_registry.cc \ + src/core/ext/filters/client_channel/resolver.cc \ + src/core/ext/filters/client_channel/resolver_factory.cc \ + src/core/ext/filters/client_channel/resolver_registry.cc \ + src/core/ext/filters/client_channel/retry_throttle.cc \ + src/core/ext/filters/client_channel/subchannel.cc \ + src/core/ext/filters/client_channel/subchannel_index.cc \ + src/core/ext/filters/client_channel/uri_parser.cc \ + src/core/ext/filters/deadline/deadline_filter.cc \ + src/core/ext/transport/chttp2/transport/bin_decoder.cc \ + src/core/ext/transport/chttp2/transport/bin_encoder.cc \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \ + src/core/ext/transport/chttp2/transport/chttp2_transport.cc \ + src/core/ext/transport/chttp2/transport/flow_control.cc \ + src/core/ext/transport/chttp2/transport/frame_data.cc \ + src/core/ext/transport/chttp2/transport/frame_goaway.cc \ + src/core/ext/transport/chttp2/transport/frame_ping.cc \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc \ + src/core/ext/transport/chttp2/transport/frame_settings.cc \ + src/core/ext/transport/chttp2/transport/frame_window_update.cc \ + src/core/ext/transport/chttp2/transport/hpack_encoder.cc \ + src/core/ext/transport/chttp2/transport/hpack_parser.cc \ + src/core/ext/transport/chttp2/transport/hpack_table.cc \ + src/core/ext/transport/chttp2/transport/http2_settings.cc \ + src/core/ext/transport/chttp2/transport/huffsyms.cc \ + src/core/ext/transport/chttp2/transport/incoming_metadata.cc \ + src/core/ext/transport/chttp2/transport/parsing.cc \ + src/core/ext/transport/chttp2/transport/stream_lists.cc \ + src/core/ext/transport/chttp2/transport/stream_map.cc \ + src/core/ext/transport/chttp2/transport/varint.cc \ + src/core/ext/transport/chttp2/transport/writing.cc \ + src/core/ext/transport/chttp2/alpn/alpn.cc \ + src/core/ext/filters/http/client/http_client_filter.cc \ + src/core/ext/filters/http/http_filters_plugin.cc \ + src/core/ext/filters/http/message_compress/message_compress_filter.cc \ + src/core/ext/filters/http/server/http_server_filter.cc \ PUBLIC_HEADERS_C += \ include/grpc/impl/codegen/byte_buffer.h \ @@ -3854,201 +3848,199 @@ endif LIBGRPC_TEST_UTIL_UNSECURE_SRC = \ - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c \ - test/core/end2end/cq_verifier.c \ - test/core/end2end/fixtures/http_proxy_fixture.c \ - test/core/end2end/fixtures/proxy.c \ - test/core/iomgr/endpoint_tests.c \ - test/core/util/debugger_macros.c \ - test/core/util/grpc_profiler.c \ - test/core/util/memory_counters.c \ - test/core/util/mock_endpoint.c \ - test/core/util/parse_hexstring.c \ - test/core/util/passthru_endpoint.c \ - test/core/util/port.c \ - test/core/util/port_server_client.c \ - test/core/util/slice_splitter.c \ - test/core/util/trickle_endpoint.c \ - src/core/lib/channel/channel_args.c \ - src/core/lib/channel/channel_stack.c \ - src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/connected_channel.c \ - src/core/lib/channel/handshaker.c \ - src/core/lib/channel/handshaker_factory.c \ - src/core/lib/channel/handshaker_registry.c \ - src/core/lib/compression/compression.c \ - src/core/lib/compression/message_compress.c \ - src/core/lib/compression/stream_compression.c \ - src/core/lib/compression/stream_compression_gzip.c \ - src/core/lib/compression/stream_compression_identity.c \ - src/core/lib/debug/stats.c \ - src/core/lib/debug/stats_data.c \ - src/core/lib/http/format_request.c \ - src/core/lib/http/httpcli.c \ - src/core/lib/http/parser.c \ - src/core/lib/iomgr/call_combiner.c \ - src/core/lib/iomgr/closure.c \ - src/core/lib/iomgr/combiner.c \ - src/core/lib/iomgr/endpoint.c \ - src/core/lib/iomgr/endpoint_pair_posix.c \ - src/core/lib/iomgr/endpoint_pair_uv.c \ - src/core/lib/iomgr/endpoint_pair_windows.c \ - src/core/lib/iomgr/error.c \ - src/core/lib/iomgr/ev_epoll1_linux.c \ - src/core/lib/iomgr/ev_epollex_linux.c \ - src/core/lib/iomgr/ev_epollsig_linux.c \ - src/core/lib/iomgr/ev_poll_posix.c \ - src/core/lib/iomgr/ev_posix.c \ - src/core/lib/iomgr/ev_windows.c \ - src/core/lib/iomgr/exec_ctx.c \ - src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/gethostname_fallback.c \ - src/core/lib/iomgr/gethostname_host_name_max.c \ - src/core/lib/iomgr/gethostname_sysconf.c \ - src/core/lib/iomgr/iocp_windows.c \ - src/core/lib/iomgr/iomgr.c \ - src/core/lib/iomgr/iomgr_posix.c \ - src/core/lib/iomgr/iomgr_uv.c \ - src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/is_epollexclusive_available.c \ - src/core/lib/iomgr/load_file.c \ - src/core/lib/iomgr/lockfree_event.c \ - src/core/lib/iomgr/network_status_tracker.c \ - src/core/lib/iomgr/polling_entity.c \ - src/core/lib/iomgr/pollset_set_uv.c \ - src/core/lib/iomgr/pollset_set_windows.c \ - src/core/lib/iomgr/pollset_uv.c \ - src/core/lib/iomgr/pollset_windows.c \ - src/core/lib/iomgr/resolve_address_posix.c \ - src/core/lib/iomgr/resolve_address_uv.c \ - src/core/lib/iomgr/resolve_address_windows.c \ - src/core/lib/iomgr/resource_quota.c \ - src/core/lib/iomgr/sockaddr_utils.c \ - src/core/lib/iomgr/socket_factory_posix.c \ - src/core/lib/iomgr/socket_mutator.c \ - src/core/lib/iomgr/socket_utils_common_posix.c \ - src/core/lib/iomgr/socket_utils_linux.c \ - src/core/lib/iomgr/socket_utils_posix.c \ - src/core/lib/iomgr/socket_utils_uv.c \ - src/core/lib/iomgr/socket_utils_windows.c \ - src/core/lib/iomgr/socket_windows.c \ - src/core/lib/iomgr/tcp_client_posix.c \ - src/core/lib/iomgr/tcp_client_uv.c \ - src/core/lib/iomgr/tcp_client_windows.c \ - src/core/lib/iomgr/tcp_posix.c \ - src/core/lib/iomgr/tcp_server_posix.c \ - src/core/lib/iomgr/tcp_server_utils_posix_common.c \ - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c \ - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c \ - src/core/lib/iomgr/tcp_server_uv.c \ - src/core/lib/iomgr/tcp_server_windows.c \ - src/core/lib/iomgr/tcp_uv.c \ - src/core/lib/iomgr/tcp_windows.c \ - src/core/lib/iomgr/time_averaged_stats.c \ - src/core/lib/iomgr/timer_generic.c \ - src/core/lib/iomgr/timer_heap.c \ - src/core/lib/iomgr/timer_manager.c \ - src/core/lib/iomgr/timer_uv.c \ - src/core/lib/iomgr/udp_server.c \ - src/core/lib/iomgr/unix_sockets_posix.c \ - src/core/lib/iomgr/unix_sockets_posix_noop.c \ - src/core/lib/iomgr/wakeup_fd_cv.c \ - src/core/lib/iomgr/wakeup_fd_eventfd.c \ - src/core/lib/iomgr/wakeup_fd_nospecial.c \ - src/core/lib/iomgr/wakeup_fd_pipe.c \ - src/core/lib/iomgr/wakeup_fd_posix.c \ - src/core/lib/json/json.c \ - src/core/lib/json/json_reader.c \ - src/core/lib/json/json_string.c \ - src/core/lib/json/json_writer.c \ - src/core/lib/slice/b64.c \ - src/core/lib/slice/percent_encoding.c \ - src/core/lib/slice/slice.c \ - src/core/lib/slice/slice_buffer.c \ - src/core/lib/slice/slice_hash_table.c \ - src/core/lib/slice/slice_intern.c \ - src/core/lib/slice/slice_string_helpers.c \ - src/core/lib/surface/alarm.c \ - src/core/lib/surface/api_trace.c \ - src/core/lib/surface/byte_buffer.c \ - src/core/lib/surface/byte_buffer_reader.c \ - src/core/lib/surface/call.c \ - src/core/lib/surface/call_details.c \ - src/core/lib/surface/call_log_batch.c \ - src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_init.c \ - src/core/lib/surface/channel_ping.c \ - src/core/lib/surface/channel_stack_type.c \ - src/core/lib/surface/completion_queue.c \ - src/core/lib/surface/completion_queue_factory.c \ - src/core/lib/surface/event_string.c \ + src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc \ + test/core/end2end/cq_verifier.cc \ + test/core/end2end/fixtures/http_proxy_fixture.cc \ + test/core/end2end/fixtures/proxy.cc \ + test/core/iomgr/endpoint_tests.cc \ + test/core/util/debugger_macros.cc \ + test/core/util/grpc_profiler.cc \ + test/core/util/memory_counters.cc \ + test/core/util/mock_endpoint.cc \ + test/core/util/parse_hexstring.cc \ + test/core/util/passthru_endpoint.cc \ + test/core/util/port.cc \ + test/core/util/port_server_client.cc \ + test/core/util/slice_splitter.cc \ + test/core/util/trickle_endpoint.cc \ + src/core/lib/channel/channel_args.cc \ + src/core/lib/channel/channel_stack.cc \ + src/core/lib/channel/channel_stack_builder.cc \ + src/core/lib/channel/connected_channel.cc \ + src/core/lib/channel/handshaker.cc \ + src/core/lib/channel/handshaker_factory.cc \ + src/core/lib/channel/handshaker_registry.cc \ + src/core/lib/compression/compression.cc \ + src/core/lib/compression/message_compress.cc \ + src/core/lib/compression/stream_compression.cc \ + src/core/lib/debug/stats.cc \ + src/core/lib/debug/stats_data.cc \ + src/core/lib/http/format_request.cc \ + src/core/lib/http/httpcli.cc \ + src/core/lib/http/parser.cc \ + src/core/lib/iomgr/call_combiner.cc \ + src/core/lib/iomgr/closure.cc \ + src/core/lib/iomgr/combiner.cc \ + src/core/lib/iomgr/endpoint.cc \ + src/core/lib/iomgr/endpoint_pair_posix.cc \ + src/core/lib/iomgr/endpoint_pair_uv.cc \ + src/core/lib/iomgr/endpoint_pair_windows.cc \ + src/core/lib/iomgr/error.cc \ + src/core/lib/iomgr/ev_epoll1_linux.cc \ + src/core/lib/iomgr/ev_epollex_linux.cc \ + src/core/lib/iomgr/ev_epollsig_linux.cc \ + src/core/lib/iomgr/ev_poll_posix.cc \ + src/core/lib/iomgr/ev_posix.cc \ + src/core/lib/iomgr/ev_windows.cc \ + src/core/lib/iomgr/exec_ctx.cc \ + src/core/lib/iomgr/executor.cc \ + src/core/lib/iomgr/gethostname_fallback.cc \ + src/core/lib/iomgr/gethostname_host_name_max.cc \ + src/core/lib/iomgr/gethostname_sysconf.cc \ + src/core/lib/iomgr/iocp_windows.cc \ + src/core/lib/iomgr/iomgr.cc \ + src/core/lib/iomgr/iomgr_posix.cc \ + src/core/lib/iomgr/iomgr_uv.cc \ + src/core/lib/iomgr/iomgr_windows.cc \ + src/core/lib/iomgr/is_epollexclusive_available.cc \ + src/core/lib/iomgr/load_file.cc \ + src/core/lib/iomgr/lockfree_event.cc \ + src/core/lib/iomgr/network_status_tracker.cc \ + src/core/lib/iomgr/polling_entity.cc \ + src/core/lib/iomgr/pollset_set_uv.cc \ + src/core/lib/iomgr/pollset_set_windows.cc \ + src/core/lib/iomgr/pollset_uv.cc \ + src/core/lib/iomgr/pollset_windows.cc \ + src/core/lib/iomgr/resolve_address_posix.cc \ + src/core/lib/iomgr/resolve_address_uv.cc \ + src/core/lib/iomgr/resolve_address_windows.cc \ + src/core/lib/iomgr/resource_quota.cc \ + src/core/lib/iomgr/sockaddr_utils.cc \ + src/core/lib/iomgr/socket_factory_posix.cc \ + src/core/lib/iomgr/socket_mutator.cc \ + src/core/lib/iomgr/socket_utils_common_posix.cc \ + src/core/lib/iomgr/socket_utils_linux.cc \ + src/core/lib/iomgr/socket_utils_posix.cc \ + src/core/lib/iomgr/socket_utils_uv.cc \ + src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_windows.cc \ + src/core/lib/iomgr/tcp_client_posix.cc \ + src/core/lib/iomgr/tcp_client_uv.cc \ + src/core/lib/iomgr/tcp_client_windows.cc \ + src/core/lib/iomgr/tcp_posix.cc \ + src/core/lib/iomgr/tcp_server_posix.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_common.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc \ + src/core/lib/iomgr/tcp_server_uv.cc \ + src/core/lib/iomgr/tcp_server_windows.cc \ + src/core/lib/iomgr/tcp_uv.cc \ + src/core/lib/iomgr/tcp_windows.cc \ + src/core/lib/iomgr/time_averaged_stats.cc \ + src/core/lib/iomgr/timer_generic.cc \ + src/core/lib/iomgr/timer_heap.cc \ + src/core/lib/iomgr/timer_manager.cc \ + src/core/lib/iomgr/timer_uv.cc \ + src/core/lib/iomgr/udp_server.cc \ + src/core/lib/iomgr/unix_sockets_posix.cc \ + src/core/lib/iomgr/unix_sockets_posix_noop.cc \ + src/core/lib/iomgr/wakeup_fd_cv.cc \ + src/core/lib/iomgr/wakeup_fd_eventfd.cc \ + src/core/lib/iomgr/wakeup_fd_nospecial.cc \ + src/core/lib/iomgr/wakeup_fd_pipe.cc \ + src/core/lib/iomgr/wakeup_fd_posix.cc \ + src/core/lib/json/json.cc \ + src/core/lib/json/json_reader.cc \ + src/core/lib/json/json_string.cc \ + src/core/lib/json/json_writer.cc \ + src/core/lib/slice/b64.cc \ + src/core/lib/slice/percent_encoding.cc \ + src/core/lib/slice/slice.cc \ + src/core/lib/slice/slice_buffer.cc \ + src/core/lib/slice/slice_hash_table.cc \ + src/core/lib/slice/slice_intern.cc \ + src/core/lib/slice/slice_string_helpers.cc \ + src/core/lib/surface/alarm.cc \ + src/core/lib/surface/api_trace.cc \ + src/core/lib/surface/byte_buffer.cc \ + src/core/lib/surface/byte_buffer_reader.cc \ + src/core/lib/surface/call.cc \ + src/core/lib/surface/call_details.cc \ + src/core/lib/surface/call_log_batch.cc \ + src/core/lib/surface/channel.cc \ + src/core/lib/surface/channel_init.cc \ + src/core/lib/surface/channel_ping.cc \ + src/core/lib/surface/channel_stack_type.cc \ + src/core/lib/surface/completion_queue.cc \ + src/core/lib/surface/completion_queue_factory.cc \ + src/core/lib/surface/event_string.cc \ src/core/lib/surface/lame_client.cc \ - src/core/lib/surface/metadata_array.c \ - src/core/lib/surface/server.c \ - src/core/lib/surface/validate_metadata.c \ - src/core/lib/surface/version.c \ - src/core/lib/transport/bdp_estimator.c \ - src/core/lib/transport/byte_stream.c \ - src/core/lib/transport/connectivity_state.c \ - src/core/lib/transport/error_utils.c \ - src/core/lib/transport/metadata.c \ - src/core/lib/transport/metadata_batch.c \ - src/core/lib/transport/pid_controller.c \ - src/core/lib/transport/service_config.c \ - src/core/lib/transport/static_metadata.c \ - src/core/lib/transport/status_conversion.c \ - src/core/lib/transport/timeout_encoding.c \ - src/core/lib/transport/transport.c \ - src/core/lib/transport/transport_op_string.c \ - src/core/lib/debug/trace.c \ - src/core/ext/filters/client_channel/channel_connectivity.c \ - src/core/ext/filters/client_channel/client_channel.c \ - src/core/ext/filters/client_channel/client_channel_factory.c \ - src/core/ext/filters/client_channel/client_channel_plugin.c \ - src/core/ext/filters/client_channel/connector.c \ - src/core/ext/filters/client_channel/http_connect_handshaker.c \ - src/core/ext/filters/client_channel/http_proxy.c \ - src/core/ext/filters/client_channel/lb_policy.c \ - src/core/ext/filters/client_channel/lb_policy_factory.c \ - src/core/ext/filters/client_channel/lb_policy_registry.c \ - src/core/ext/filters/client_channel/parse_address.c \ - src/core/ext/filters/client_channel/proxy_mapper.c \ - src/core/ext/filters/client_channel/proxy_mapper_registry.c \ - src/core/ext/filters/client_channel/resolver.c \ - src/core/ext/filters/client_channel/resolver_factory.c \ - src/core/ext/filters/client_channel/resolver_registry.c \ - src/core/ext/filters/client_channel/retry_throttle.c \ - src/core/ext/filters/client_channel/subchannel.c \ - src/core/ext/filters/client_channel/subchannel_index.c \ - src/core/ext/filters/client_channel/uri_parser.c \ - src/core/ext/filters/deadline/deadline_filter.c \ - src/core/ext/transport/chttp2/transport/bin_decoder.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/flow_control.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/http2_settings.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/ext/transport/chttp2/alpn/alpn.c \ - src/core/ext/filters/http/client/http_client_filter.c \ - src/core/ext/filters/http/http_filters_plugin.c \ - src/core/ext/filters/http/message_compress/message_compress_filter.c \ - src/core/ext/filters/http/server/http_server_filter.c \ + src/core/lib/surface/metadata_array.cc \ + src/core/lib/surface/server.cc \ + src/core/lib/surface/validate_metadata.cc \ + src/core/lib/surface/version.cc \ + src/core/lib/transport/bdp_estimator.cc \ + src/core/lib/transport/byte_stream.cc \ + src/core/lib/transport/connectivity_state.cc \ + src/core/lib/transport/error_utils.cc \ + src/core/lib/transport/metadata.cc \ + src/core/lib/transport/metadata_batch.cc \ + src/core/lib/transport/pid_controller.cc \ + src/core/lib/transport/service_config.cc \ + src/core/lib/transport/static_metadata.cc \ + src/core/lib/transport/status_conversion.cc \ + src/core/lib/transport/timeout_encoding.cc \ + src/core/lib/transport/transport.cc \ + src/core/lib/transport/transport_op_string.cc \ + src/core/lib/debug/trace.cc \ + src/core/ext/filters/client_channel/channel_connectivity.cc \ + src/core/ext/filters/client_channel/client_channel.cc \ + src/core/ext/filters/client_channel/client_channel_factory.cc \ + src/core/ext/filters/client_channel/client_channel_plugin.cc \ + src/core/ext/filters/client_channel/connector.cc \ + src/core/ext/filters/client_channel/http_connect_handshaker.cc \ + src/core/ext/filters/client_channel/http_proxy.cc \ + src/core/ext/filters/client_channel/lb_policy.cc \ + src/core/ext/filters/client_channel/lb_policy_factory.cc \ + src/core/ext/filters/client_channel/lb_policy_registry.cc \ + src/core/ext/filters/client_channel/parse_address.cc \ + src/core/ext/filters/client_channel/proxy_mapper.cc \ + src/core/ext/filters/client_channel/proxy_mapper_registry.cc \ + src/core/ext/filters/client_channel/resolver.cc \ + src/core/ext/filters/client_channel/resolver_factory.cc \ + src/core/ext/filters/client_channel/resolver_registry.cc \ + src/core/ext/filters/client_channel/retry_throttle.cc \ + src/core/ext/filters/client_channel/subchannel.cc \ + src/core/ext/filters/client_channel/subchannel_index.cc \ + src/core/ext/filters/client_channel/uri_parser.cc \ + src/core/ext/filters/deadline/deadline_filter.cc \ + src/core/ext/transport/chttp2/transport/bin_decoder.cc \ + src/core/ext/transport/chttp2/transport/bin_encoder.cc \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \ + src/core/ext/transport/chttp2/transport/chttp2_transport.cc \ + src/core/ext/transport/chttp2/transport/flow_control.cc \ + src/core/ext/transport/chttp2/transport/frame_data.cc \ + src/core/ext/transport/chttp2/transport/frame_goaway.cc \ + src/core/ext/transport/chttp2/transport/frame_ping.cc \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc \ + src/core/ext/transport/chttp2/transport/frame_settings.cc \ + src/core/ext/transport/chttp2/transport/frame_window_update.cc \ + src/core/ext/transport/chttp2/transport/hpack_encoder.cc \ + src/core/ext/transport/chttp2/transport/hpack_parser.cc \ + src/core/ext/transport/chttp2/transport/hpack_table.cc \ + src/core/ext/transport/chttp2/transport/http2_settings.cc \ + src/core/ext/transport/chttp2/transport/huffsyms.cc \ + src/core/ext/transport/chttp2/transport/incoming_metadata.cc \ + src/core/ext/transport/chttp2/transport/parsing.cc \ + src/core/ext/transport/chttp2/transport/stream_lists.cc \ + src/core/ext/transport/chttp2/transport/stream_map.cc \ + src/core/ext/transport/chttp2/transport/varint.cc \ + src/core/ext/transport/chttp2/transport/writing.cc \ + src/core/ext/transport/chttp2/alpn/alpn.cc \ + src/core/ext/filters/http/client/http_client_filter.cc \ + src/core/ext/filters/http/http_filters_plugin.cc \ + src/core/ext/filters/http/message_compress/message_compress_filter.cc \ + src/core/ext/filters/http/server/http_server_filter.cc \ PUBLIC_HEADERS_C += \ include/grpc/impl/codegen/byte_buffer.h \ @@ -4094,235 +4086,233 @@ endif LIBGRPC_UNSECURE_SRC = \ - src/core/lib/surface/init.c \ - src/core/lib/surface/init_unsecure.c \ - src/core/lib/channel/channel_args.c \ - src/core/lib/channel/channel_stack.c \ - src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/connected_channel.c \ - src/core/lib/channel/handshaker.c \ - src/core/lib/channel/handshaker_factory.c \ - src/core/lib/channel/handshaker_registry.c \ - src/core/lib/compression/compression.c \ - src/core/lib/compression/message_compress.c \ - src/core/lib/compression/stream_compression.c \ - src/core/lib/compression/stream_compression_gzip.c \ - src/core/lib/compression/stream_compression_identity.c \ - src/core/lib/debug/stats.c \ - src/core/lib/debug/stats_data.c \ - src/core/lib/http/format_request.c \ - src/core/lib/http/httpcli.c \ - src/core/lib/http/parser.c \ - src/core/lib/iomgr/call_combiner.c \ - src/core/lib/iomgr/closure.c \ - src/core/lib/iomgr/combiner.c \ - src/core/lib/iomgr/endpoint.c \ - src/core/lib/iomgr/endpoint_pair_posix.c \ - src/core/lib/iomgr/endpoint_pair_uv.c \ - src/core/lib/iomgr/endpoint_pair_windows.c \ - src/core/lib/iomgr/error.c \ - src/core/lib/iomgr/ev_epoll1_linux.c \ - src/core/lib/iomgr/ev_epollex_linux.c \ - src/core/lib/iomgr/ev_epollsig_linux.c \ - src/core/lib/iomgr/ev_poll_posix.c \ - src/core/lib/iomgr/ev_posix.c \ - src/core/lib/iomgr/ev_windows.c \ - src/core/lib/iomgr/exec_ctx.c \ - src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/gethostname_fallback.c \ - src/core/lib/iomgr/gethostname_host_name_max.c \ - src/core/lib/iomgr/gethostname_sysconf.c \ - src/core/lib/iomgr/iocp_windows.c \ - src/core/lib/iomgr/iomgr.c \ - src/core/lib/iomgr/iomgr_posix.c \ - src/core/lib/iomgr/iomgr_uv.c \ - src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/is_epollexclusive_available.c \ - src/core/lib/iomgr/load_file.c \ - src/core/lib/iomgr/lockfree_event.c \ - src/core/lib/iomgr/network_status_tracker.c \ - src/core/lib/iomgr/polling_entity.c \ - src/core/lib/iomgr/pollset_set_uv.c \ - src/core/lib/iomgr/pollset_set_windows.c \ - src/core/lib/iomgr/pollset_uv.c \ - src/core/lib/iomgr/pollset_windows.c \ - src/core/lib/iomgr/resolve_address_posix.c \ - src/core/lib/iomgr/resolve_address_uv.c \ - src/core/lib/iomgr/resolve_address_windows.c \ - src/core/lib/iomgr/resource_quota.c \ - src/core/lib/iomgr/sockaddr_utils.c \ - src/core/lib/iomgr/socket_factory_posix.c \ - src/core/lib/iomgr/socket_mutator.c \ - src/core/lib/iomgr/socket_utils_common_posix.c \ - src/core/lib/iomgr/socket_utils_linux.c \ - src/core/lib/iomgr/socket_utils_posix.c \ - src/core/lib/iomgr/socket_utils_uv.c \ - src/core/lib/iomgr/socket_utils_windows.c \ - src/core/lib/iomgr/socket_windows.c \ - src/core/lib/iomgr/tcp_client_posix.c \ - src/core/lib/iomgr/tcp_client_uv.c \ - src/core/lib/iomgr/tcp_client_windows.c \ - src/core/lib/iomgr/tcp_posix.c \ - src/core/lib/iomgr/tcp_server_posix.c \ - src/core/lib/iomgr/tcp_server_utils_posix_common.c \ - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c \ - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c \ - src/core/lib/iomgr/tcp_server_uv.c \ - src/core/lib/iomgr/tcp_server_windows.c \ - src/core/lib/iomgr/tcp_uv.c \ - src/core/lib/iomgr/tcp_windows.c \ - src/core/lib/iomgr/time_averaged_stats.c \ - src/core/lib/iomgr/timer_generic.c \ - src/core/lib/iomgr/timer_heap.c \ - src/core/lib/iomgr/timer_manager.c \ - src/core/lib/iomgr/timer_uv.c \ - src/core/lib/iomgr/udp_server.c \ - src/core/lib/iomgr/unix_sockets_posix.c \ - src/core/lib/iomgr/unix_sockets_posix_noop.c \ - src/core/lib/iomgr/wakeup_fd_cv.c \ - src/core/lib/iomgr/wakeup_fd_eventfd.c \ - src/core/lib/iomgr/wakeup_fd_nospecial.c \ - src/core/lib/iomgr/wakeup_fd_pipe.c \ - src/core/lib/iomgr/wakeup_fd_posix.c \ - src/core/lib/json/json.c \ - src/core/lib/json/json_reader.c \ - src/core/lib/json/json_string.c \ - src/core/lib/json/json_writer.c \ - src/core/lib/slice/b64.c \ - src/core/lib/slice/percent_encoding.c \ - src/core/lib/slice/slice.c \ - src/core/lib/slice/slice_buffer.c \ - src/core/lib/slice/slice_hash_table.c \ - src/core/lib/slice/slice_intern.c \ - src/core/lib/slice/slice_string_helpers.c \ - src/core/lib/surface/alarm.c \ - src/core/lib/surface/api_trace.c \ - src/core/lib/surface/byte_buffer.c \ - src/core/lib/surface/byte_buffer_reader.c \ - src/core/lib/surface/call.c \ - src/core/lib/surface/call_details.c \ - src/core/lib/surface/call_log_batch.c \ - src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_init.c \ - src/core/lib/surface/channel_ping.c \ - src/core/lib/surface/channel_stack_type.c \ - src/core/lib/surface/completion_queue.c \ - src/core/lib/surface/completion_queue_factory.c \ - src/core/lib/surface/event_string.c \ + src/core/lib/surface/init.cc \ + src/core/lib/surface/init_unsecure.cc \ + src/core/lib/channel/channel_args.cc \ + src/core/lib/channel/channel_stack.cc \ + src/core/lib/channel/channel_stack_builder.cc \ + src/core/lib/channel/connected_channel.cc \ + src/core/lib/channel/handshaker.cc \ + src/core/lib/channel/handshaker_factory.cc \ + src/core/lib/channel/handshaker_registry.cc \ + src/core/lib/compression/compression.cc \ + src/core/lib/compression/message_compress.cc \ + src/core/lib/compression/stream_compression.cc \ + src/core/lib/debug/stats.cc \ + src/core/lib/debug/stats_data.cc \ + src/core/lib/http/format_request.cc \ + src/core/lib/http/httpcli.cc \ + src/core/lib/http/parser.cc \ + src/core/lib/iomgr/call_combiner.cc \ + src/core/lib/iomgr/closure.cc \ + src/core/lib/iomgr/combiner.cc \ + src/core/lib/iomgr/endpoint.cc \ + src/core/lib/iomgr/endpoint_pair_posix.cc \ + src/core/lib/iomgr/endpoint_pair_uv.cc \ + src/core/lib/iomgr/endpoint_pair_windows.cc \ + src/core/lib/iomgr/error.cc \ + src/core/lib/iomgr/ev_epoll1_linux.cc \ + src/core/lib/iomgr/ev_epollex_linux.cc \ + src/core/lib/iomgr/ev_epollsig_linux.cc \ + src/core/lib/iomgr/ev_poll_posix.cc \ + src/core/lib/iomgr/ev_posix.cc \ + src/core/lib/iomgr/ev_windows.cc \ + src/core/lib/iomgr/exec_ctx.cc \ + src/core/lib/iomgr/executor.cc \ + src/core/lib/iomgr/gethostname_fallback.cc \ + src/core/lib/iomgr/gethostname_host_name_max.cc \ + src/core/lib/iomgr/gethostname_sysconf.cc \ + src/core/lib/iomgr/iocp_windows.cc \ + src/core/lib/iomgr/iomgr.cc \ + src/core/lib/iomgr/iomgr_posix.cc \ + src/core/lib/iomgr/iomgr_uv.cc \ + src/core/lib/iomgr/iomgr_windows.cc \ + src/core/lib/iomgr/is_epollexclusive_available.cc \ + src/core/lib/iomgr/load_file.cc \ + src/core/lib/iomgr/lockfree_event.cc \ + src/core/lib/iomgr/network_status_tracker.cc \ + src/core/lib/iomgr/polling_entity.cc \ + src/core/lib/iomgr/pollset_set_uv.cc \ + src/core/lib/iomgr/pollset_set_windows.cc \ + src/core/lib/iomgr/pollset_uv.cc \ + src/core/lib/iomgr/pollset_windows.cc \ + src/core/lib/iomgr/resolve_address_posix.cc \ + src/core/lib/iomgr/resolve_address_uv.cc \ + src/core/lib/iomgr/resolve_address_windows.cc \ + src/core/lib/iomgr/resource_quota.cc \ + src/core/lib/iomgr/sockaddr_utils.cc \ + src/core/lib/iomgr/socket_factory_posix.cc \ + src/core/lib/iomgr/socket_mutator.cc \ + src/core/lib/iomgr/socket_utils_common_posix.cc \ + src/core/lib/iomgr/socket_utils_linux.cc \ + src/core/lib/iomgr/socket_utils_posix.cc \ + src/core/lib/iomgr/socket_utils_uv.cc \ + src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_windows.cc \ + src/core/lib/iomgr/tcp_client_posix.cc \ + src/core/lib/iomgr/tcp_client_uv.cc \ + src/core/lib/iomgr/tcp_client_windows.cc \ + src/core/lib/iomgr/tcp_posix.cc \ + src/core/lib/iomgr/tcp_server_posix.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_common.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc \ + src/core/lib/iomgr/tcp_server_uv.cc \ + src/core/lib/iomgr/tcp_server_windows.cc \ + src/core/lib/iomgr/tcp_uv.cc \ + src/core/lib/iomgr/tcp_windows.cc \ + src/core/lib/iomgr/time_averaged_stats.cc \ + src/core/lib/iomgr/timer_generic.cc \ + src/core/lib/iomgr/timer_heap.cc \ + src/core/lib/iomgr/timer_manager.cc \ + src/core/lib/iomgr/timer_uv.cc \ + src/core/lib/iomgr/udp_server.cc \ + src/core/lib/iomgr/unix_sockets_posix.cc \ + src/core/lib/iomgr/unix_sockets_posix_noop.cc \ + src/core/lib/iomgr/wakeup_fd_cv.cc \ + src/core/lib/iomgr/wakeup_fd_eventfd.cc \ + src/core/lib/iomgr/wakeup_fd_nospecial.cc \ + src/core/lib/iomgr/wakeup_fd_pipe.cc \ + src/core/lib/iomgr/wakeup_fd_posix.cc \ + src/core/lib/json/json.cc \ + src/core/lib/json/json_reader.cc \ + src/core/lib/json/json_string.cc \ + src/core/lib/json/json_writer.cc \ + src/core/lib/slice/b64.cc \ + src/core/lib/slice/percent_encoding.cc \ + src/core/lib/slice/slice.cc \ + src/core/lib/slice/slice_buffer.cc \ + src/core/lib/slice/slice_hash_table.cc \ + src/core/lib/slice/slice_intern.cc \ + src/core/lib/slice/slice_string_helpers.cc \ + src/core/lib/surface/alarm.cc \ + src/core/lib/surface/api_trace.cc \ + src/core/lib/surface/byte_buffer.cc \ + src/core/lib/surface/byte_buffer_reader.cc \ + src/core/lib/surface/call.cc \ + src/core/lib/surface/call_details.cc \ + src/core/lib/surface/call_log_batch.cc \ + src/core/lib/surface/channel.cc \ + src/core/lib/surface/channel_init.cc \ + src/core/lib/surface/channel_ping.cc \ + src/core/lib/surface/channel_stack_type.cc \ + src/core/lib/surface/completion_queue.cc \ + src/core/lib/surface/completion_queue_factory.cc \ + src/core/lib/surface/event_string.cc \ src/core/lib/surface/lame_client.cc \ - src/core/lib/surface/metadata_array.c \ - src/core/lib/surface/server.c \ - src/core/lib/surface/validate_metadata.c \ - src/core/lib/surface/version.c \ - src/core/lib/transport/bdp_estimator.c \ - src/core/lib/transport/byte_stream.c \ - src/core/lib/transport/connectivity_state.c \ - src/core/lib/transport/error_utils.c \ - src/core/lib/transport/metadata.c \ - src/core/lib/transport/metadata_batch.c \ - src/core/lib/transport/pid_controller.c \ - src/core/lib/transport/service_config.c \ - src/core/lib/transport/static_metadata.c \ - src/core/lib/transport/status_conversion.c \ - src/core/lib/transport/timeout_encoding.c \ - src/core/lib/transport/transport.c \ - src/core/lib/transport/transport_op_string.c \ - src/core/lib/debug/trace.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c \ - src/core/ext/transport/chttp2/transport/bin_decoder.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/flow_control.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/http2_settings.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/ext/transport/chttp2/alpn/alpn.c \ - src/core/ext/filters/http/client/http_client_filter.c \ - src/core/ext/filters/http/http_filters_plugin.c \ - src/core/ext/filters/http/message_compress/message_compress_filter.c \ - src/core/ext/filters/http/server/http_server_filter.c \ - src/core/ext/transport/chttp2/server/chttp2_server.c \ - src/core/ext/transport/chttp2/client/insecure/channel_create.c \ - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c \ - src/core/ext/transport/chttp2/client/chttp2_connector.c \ - src/core/ext/filters/client_channel/channel_connectivity.c \ - src/core/ext/filters/client_channel/client_channel.c \ - src/core/ext/filters/client_channel/client_channel_factory.c \ - src/core/ext/filters/client_channel/client_channel_plugin.c \ - src/core/ext/filters/client_channel/connector.c \ - src/core/ext/filters/client_channel/http_connect_handshaker.c \ - src/core/ext/filters/client_channel/http_proxy.c \ - src/core/ext/filters/client_channel/lb_policy.c \ - src/core/ext/filters/client_channel/lb_policy_factory.c \ - src/core/ext/filters/client_channel/lb_policy_registry.c \ - src/core/ext/filters/client_channel/parse_address.c \ - src/core/ext/filters/client_channel/proxy_mapper.c \ - src/core/ext/filters/client_channel/proxy_mapper_registry.c \ - src/core/ext/filters/client_channel/resolver.c \ - src/core/ext/filters/client_channel/resolver_factory.c \ - src/core/ext/filters/client_channel/resolver_registry.c \ - src/core/ext/filters/client_channel/retry_throttle.c \ - src/core/ext/filters/client_channel/subchannel.c \ - src/core/ext/filters/client_channel/subchannel_index.c \ - src/core/ext/filters/client_channel/uri_parser.c \ - src/core/ext/filters/deadline/deadline_filter.c \ - src/core/ext/transport/inproc/inproc_plugin.c \ - src/core/ext/transport/inproc/inproc_transport.c \ - src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c \ - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c \ - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c \ - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c \ - src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c \ - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c \ - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c \ - src/core/ext/filters/load_reporting/server_load_reporting_filter.c \ - src/core/ext/filters/load_reporting/server_load_reporting_plugin.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \ + src/core/lib/surface/metadata_array.cc \ + src/core/lib/surface/server.cc \ + src/core/lib/surface/validate_metadata.cc \ + src/core/lib/surface/version.cc \ + src/core/lib/transport/bdp_estimator.cc \ + src/core/lib/transport/byte_stream.cc \ + src/core/lib/transport/connectivity_state.cc \ + src/core/lib/transport/error_utils.cc \ + src/core/lib/transport/metadata.cc \ + src/core/lib/transport/metadata_batch.cc \ + src/core/lib/transport/pid_controller.cc \ + src/core/lib/transport/service_config.cc \ + src/core/lib/transport/static_metadata.cc \ + src/core/lib/transport/status_conversion.cc \ + src/core/lib/transport/timeout_encoding.cc \ + src/core/lib/transport/transport.cc \ + src/core/lib/transport/transport_op_string.cc \ + src/core/lib/debug/trace.cc \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc \ + src/core/ext/transport/chttp2/transport/bin_decoder.cc \ + src/core/ext/transport/chttp2/transport/bin_encoder.cc \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \ + src/core/ext/transport/chttp2/transport/chttp2_transport.cc \ + src/core/ext/transport/chttp2/transport/flow_control.cc \ + src/core/ext/transport/chttp2/transport/frame_data.cc \ + src/core/ext/transport/chttp2/transport/frame_goaway.cc \ + src/core/ext/transport/chttp2/transport/frame_ping.cc \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc \ + src/core/ext/transport/chttp2/transport/frame_settings.cc \ + src/core/ext/transport/chttp2/transport/frame_window_update.cc \ + src/core/ext/transport/chttp2/transport/hpack_encoder.cc \ + src/core/ext/transport/chttp2/transport/hpack_parser.cc \ + src/core/ext/transport/chttp2/transport/hpack_table.cc \ + src/core/ext/transport/chttp2/transport/http2_settings.cc \ + src/core/ext/transport/chttp2/transport/huffsyms.cc \ + src/core/ext/transport/chttp2/transport/incoming_metadata.cc \ + src/core/ext/transport/chttp2/transport/parsing.cc \ + src/core/ext/transport/chttp2/transport/stream_lists.cc \ + src/core/ext/transport/chttp2/transport/stream_map.cc \ + src/core/ext/transport/chttp2/transport/varint.cc \ + src/core/ext/transport/chttp2/transport/writing.cc \ + src/core/ext/transport/chttp2/alpn/alpn.cc \ + src/core/ext/filters/http/client/http_client_filter.cc \ + src/core/ext/filters/http/http_filters_plugin.cc \ + src/core/ext/filters/http/message_compress/message_compress_filter.cc \ + src/core/ext/filters/http/server/http_server_filter.cc \ + src/core/ext/transport/chttp2/server/chttp2_server.cc \ + src/core/ext/transport/chttp2/client/insecure/channel_create.cc \ + src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc \ + src/core/ext/transport/chttp2/client/chttp2_connector.cc \ + src/core/ext/filters/client_channel/channel_connectivity.cc \ + src/core/ext/filters/client_channel/client_channel.cc \ + src/core/ext/filters/client_channel/client_channel_factory.cc \ + src/core/ext/filters/client_channel/client_channel_plugin.cc \ + src/core/ext/filters/client_channel/connector.cc \ + src/core/ext/filters/client_channel/http_connect_handshaker.cc \ + src/core/ext/filters/client_channel/http_proxy.cc \ + src/core/ext/filters/client_channel/lb_policy.cc \ + src/core/ext/filters/client_channel/lb_policy_factory.cc \ + src/core/ext/filters/client_channel/lb_policy_registry.cc \ + src/core/ext/filters/client_channel/parse_address.cc \ + src/core/ext/filters/client_channel/proxy_mapper.cc \ + src/core/ext/filters/client_channel/proxy_mapper_registry.cc \ + src/core/ext/filters/client_channel/resolver.cc \ + src/core/ext/filters/client_channel/resolver_factory.cc \ + src/core/ext/filters/client_channel/resolver_registry.cc \ + src/core/ext/filters/client_channel/retry_throttle.cc \ + src/core/ext/filters/client_channel/subchannel.cc \ + src/core/ext/filters/client_channel/subchannel_index.cc \ + src/core/ext/filters/client_channel/uri_parser.cc \ + src/core/ext/filters/deadline/deadline_filter.cc \ + src/core/ext/transport/inproc/inproc_plugin.cc \ + src/core/ext/transport/inproc/inproc_transport.cc \ + src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \ + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \ + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc \ + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc \ + src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc \ + src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc \ + src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc \ + src/core/ext/filters/load_reporting/server_load_reporting_filter.cc \ + src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc \ third_party/nanopb/pb_common.c \ third_party/nanopb/pb_decode.c \ third_party/nanopb/pb_encode.c \ - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c \ - src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c \ - src/core/ext/census/base_resources.c \ - src/core/ext/census/context.c \ - src/core/ext/census/gen/census.pb.c \ - src/core/ext/census/gen/trace_context.pb.c \ - src/core/ext/census/grpc_context.c \ - src/core/ext/census/grpc_filter.c \ - src/core/ext/census/grpc_plugin.c \ - src/core/ext/census/initialize.c \ - src/core/ext/census/intrusive_hash_map.c \ - src/core/ext/census/mlog.c \ - src/core/ext/census/operation.c \ - src/core/ext/census/placeholders.c \ - src/core/ext/census/resource.c \ - src/core/ext/census/trace_context.c \ - src/core/ext/census/tracing.c \ - src/core/ext/filters/max_age/max_age_filter.c \ - src/core/ext/filters/message_size/message_size_filter.c \ - src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c \ - src/core/ext/filters/workarounds/workaround_utils.c \ + src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc \ + src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \ + src/core/ext/census/base_resources.cc \ + src/core/ext/census/context.cc \ + src/core/ext/census/gen/census.pb.cc \ + src/core/ext/census/gen/trace_context.pb.cc \ + src/core/ext/census/grpc_context.cc \ + src/core/ext/census/grpc_filter.cc \ + src/core/ext/census/grpc_plugin.cc \ + src/core/ext/census/initialize.cc \ + src/core/ext/census/intrusive_hash_map.cc \ + src/core/ext/census/mlog.cc \ + src/core/ext/census/operation.cc \ + src/core/ext/census/placeholders.cc \ + src/core/ext/census/resource.cc \ + src/core/ext/census/trace_context.cc \ + src/core/ext/census/tracing.cc \ + src/core/ext/filters/max_age/max_age_filter.cc \ + src/core/ext/filters/message_size/message_size_filter.cc \ + src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc \ + src/core/ext/filters/workarounds/workaround_utils.cc \ src/core/plugin_registry/grpc_unsecure_plugin_registry.cc \ PUBLIC_HEADERS_C += \ @@ -4811,207 +4801,205 @@ LIBGRPC++_CRONET_SRC = \ src/cpp/util/string_ref.cc \ src/cpp/util/time_cc.cc \ src/cpp/codegen/codegen_init.cc \ - src/core/ext/transport/chttp2/client/insecure/channel_create.c \ - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c \ - src/core/ext/transport/chttp2/client/chttp2_connector.c \ - src/core/ext/transport/chttp2/transport/bin_decoder.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/flow_control.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/http2_settings.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/lib/channel/channel_args.c \ - src/core/lib/channel/channel_stack.c \ - src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/connected_channel.c \ - src/core/lib/channel/handshaker.c \ - src/core/lib/channel/handshaker_factory.c \ - src/core/lib/channel/handshaker_registry.c \ - src/core/lib/compression/compression.c \ - src/core/lib/compression/message_compress.c \ - src/core/lib/compression/stream_compression.c \ - src/core/lib/compression/stream_compression_gzip.c \ - src/core/lib/compression/stream_compression_identity.c \ - src/core/lib/debug/stats.c \ - src/core/lib/debug/stats_data.c \ - src/core/lib/http/format_request.c \ - src/core/lib/http/httpcli.c \ - src/core/lib/http/parser.c \ - src/core/lib/iomgr/call_combiner.c \ - src/core/lib/iomgr/closure.c \ - src/core/lib/iomgr/combiner.c \ - src/core/lib/iomgr/endpoint.c \ - src/core/lib/iomgr/endpoint_pair_posix.c \ - src/core/lib/iomgr/endpoint_pair_uv.c \ - src/core/lib/iomgr/endpoint_pair_windows.c \ - src/core/lib/iomgr/error.c \ - src/core/lib/iomgr/ev_epoll1_linux.c \ - src/core/lib/iomgr/ev_epollex_linux.c \ - src/core/lib/iomgr/ev_epollsig_linux.c \ - src/core/lib/iomgr/ev_poll_posix.c \ - src/core/lib/iomgr/ev_posix.c \ - src/core/lib/iomgr/ev_windows.c \ - src/core/lib/iomgr/exec_ctx.c \ - src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/gethostname_fallback.c \ - src/core/lib/iomgr/gethostname_host_name_max.c \ - src/core/lib/iomgr/gethostname_sysconf.c \ - src/core/lib/iomgr/iocp_windows.c \ - src/core/lib/iomgr/iomgr.c \ - src/core/lib/iomgr/iomgr_posix.c \ - src/core/lib/iomgr/iomgr_uv.c \ - src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/is_epollexclusive_available.c \ - src/core/lib/iomgr/load_file.c \ - src/core/lib/iomgr/lockfree_event.c \ - src/core/lib/iomgr/network_status_tracker.c \ - src/core/lib/iomgr/polling_entity.c \ - src/core/lib/iomgr/pollset_set_uv.c \ - src/core/lib/iomgr/pollset_set_windows.c \ - src/core/lib/iomgr/pollset_uv.c \ - src/core/lib/iomgr/pollset_windows.c \ - src/core/lib/iomgr/resolve_address_posix.c \ - src/core/lib/iomgr/resolve_address_uv.c \ - src/core/lib/iomgr/resolve_address_windows.c \ - src/core/lib/iomgr/resource_quota.c \ - src/core/lib/iomgr/sockaddr_utils.c \ - src/core/lib/iomgr/socket_factory_posix.c \ - src/core/lib/iomgr/socket_mutator.c \ - src/core/lib/iomgr/socket_utils_common_posix.c \ - src/core/lib/iomgr/socket_utils_linux.c \ - src/core/lib/iomgr/socket_utils_posix.c \ - src/core/lib/iomgr/socket_utils_uv.c \ - src/core/lib/iomgr/socket_utils_windows.c \ - src/core/lib/iomgr/socket_windows.c \ - src/core/lib/iomgr/tcp_client_posix.c \ - src/core/lib/iomgr/tcp_client_uv.c \ - src/core/lib/iomgr/tcp_client_windows.c \ - src/core/lib/iomgr/tcp_posix.c \ - src/core/lib/iomgr/tcp_server_posix.c \ - src/core/lib/iomgr/tcp_server_utils_posix_common.c \ - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c \ - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c \ - src/core/lib/iomgr/tcp_server_uv.c \ - src/core/lib/iomgr/tcp_server_windows.c \ - src/core/lib/iomgr/tcp_uv.c \ - src/core/lib/iomgr/tcp_windows.c \ - src/core/lib/iomgr/time_averaged_stats.c \ - src/core/lib/iomgr/timer_generic.c \ - src/core/lib/iomgr/timer_heap.c \ - src/core/lib/iomgr/timer_manager.c \ - src/core/lib/iomgr/timer_uv.c \ - src/core/lib/iomgr/udp_server.c \ - src/core/lib/iomgr/unix_sockets_posix.c \ - src/core/lib/iomgr/unix_sockets_posix_noop.c \ - src/core/lib/iomgr/wakeup_fd_cv.c \ - src/core/lib/iomgr/wakeup_fd_eventfd.c \ - src/core/lib/iomgr/wakeup_fd_nospecial.c \ - src/core/lib/iomgr/wakeup_fd_pipe.c \ - src/core/lib/iomgr/wakeup_fd_posix.c \ - src/core/lib/json/json.c \ - src/core/lib/json/json_reader.c \ - src/core/lib/json/json_string.c \ - src/core/lib/json/json_writer.c \ - src/core/lib/slice/b64.c \ - src/core/lib/slice/percent_encoding.c \ - src/core/lib/slice/slice.c \ - src/core/lib/slice/slice_buffer.c \ - src/core/lib/slice/slice_hash_table.c \ - src/core/lib/slice/slice_intern.c \ - src/core/lib/slice/slice_string_helpers.c \ - src/core/lib/surface/alarm.c \ - src/core/lib/surface/api_trace.c \ - src/core/lib/surface/byte_buffer.c \ - src/core/lib/surface/byte_buffer_reader.c \ - src/core/lib/surface/call.c \ - src/core/lib/surface/call_details.c \ - src/core/lib/surface/call_log_batch.c \ - src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_init.c \ - src/core/lib/surface/channel_ping.c \ - src/core/lib/surface/channel_stack_type.c \ - src/core/lib/surface/completion_queue.c \ - src/core/lib/surface/completion_queue_factory.c \ - src/core/lib/surface/event_string.c \ + src/core/ext/transport/chttp2/client/insecure/channel_create.cc \ + src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc \ + src/core/ext/transport/chttp2/client/chttp2_connector.cc \ + src/core/ext/transport/chttp2/transport/bin_decoder.cc \ + src/core/ext/transport/chttp2/transport/bin_encoder.cc \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \ + src/core/ext/transport/chttp2/transport/chttp2_transport.cc \ + src/core/ext/transport/chttp2/transport/flow_control.cc \ + src/core/ext/transport/chttp2/transport/frame_data.cc \ + src/core/ext/transport/chttp2/transport/frame_goaway.cc \ + src/core/ext/transport/chttp2/transport/frame_ping.cc \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc \ + src/core/ext/transport/chttp2/transport/frame_settings.cc \ + src/core/ext/transport/chttp2/transport/frame_window_update.cc \ + src/core/ext/transport/chttp2/transport/hpack_encoder.cc \ + src/core/ext/transport/chttp2/transport/hpack_parser.cc \ + src/core/ext/transport/chttp2/transport/hpack_table.cc \ + src/core/ext/transport/chttp2/transport/http2_settings.cc \ + src/core/ext/transport/chttp2/transport/huffsyms.cc \ + src/core/ext/transport/chttp2/transport/incoming_metadata.cc \ + src/core/ext/transport/chttp2/transport/parsing.cc \ + src/core/ext/transport/chttp2/transport/stream_lists.cc \ + src/core/ext/transport/chttp2/transport/stream_map.cc \ + src/core/ext/transport/chttp2/transport/varint.cc \ + src/core/ext/transport/chttp2/transport/writing.cc \ + src/core/lib/channel/channel_args.cc \ + src/core/lib/channel/channel_stack.cc \ + src/core/lib/channel/channel_stack_builder.cc \ + src/core/lib/channel/connected_channel.cc \ + src/core/lib/channel/handshaker.cc \ + src/core/lib/channel/handshaker_factory.cc \ + src/core/lib/channel/handshaker_registry.cc \ + src/core/lib/compression/compression.cc \ + src/core/lib/compression/message_compress.cc \ + src/core/lib/compression/stream_compression.cc \ + src/core/lib/debug/stats.cc \ + src/core/lib/debug/stats_data.cc \ + src/core/lib/http/format_request.cc \ + src/core/lib/http/httpcli.cc \ + src/core/lib/http/parser.cc \ + src/core/lib/iomgr/call_combiner.cc \ + src/core/lib/iomgr/closure.cc \ + src/core/lib/iomgr/combiner.cc \ + src/core/lib/iomgr/endpoint.cc \ + src/core/lib/iomgr/endpoint_pair_posix.cc \ + src/core/lib/iomgr/endpoint_pair_uv.cc \ + src/core/lib/iomgr/endpoint_pair_windows.cc \ + src/core/lib/iomgr/error.cc \ + src/core/lib/iomgr/ev_epoll1_linux.cc \ + src/core/lib/iomgr/ev_epollex_linux.cc \ + src/core/lib/iomgr/ev_epollsig_linux.cc \ + src/core/lib/iomgr/ev_poll_posix.cc \ + src/core/lib/iomgr/ev_posix.cc \ + src/core/lib/iomgr/ev_windows.cc \ + src/core/lib/iomgr/exec_ctx.cc \ + src/core/lib/iomgr/executor.cc \ + src/core/lib/iomgr/gethostname_fallback.cc \ + src/core/lib/iomgr/gethostname_host_name_max.cc \ + src/core/lib/iomgr/gethostname_sysconf.cc \ + src/core/lib/iomgr/iocp_windows.cc \ + src/core/lib/iomgr/iomgr.cc \ + src/core/lib/iomgr/iomgr_posix.cc \ + src/core/lib/iomgr/iomgr_uv.cc \ + src/core/lib/iomgr/iomgr_windows.cc \ + src/core/lib/iomgr/is_epollexclusive_available.cc \ + src/core/lib/iomgr/load_file.cc \ + src/core/lib/iomgr/lockfree_event.cc \ + src/core/lib/iomgr/network_status_tracker.cc \ + src/core/lib/iomgr/polling_entity.cc \ + src/core/lib/iomgr/pollset_set_uv.cc \ + src/core/lib/iomgr/pollset_set_windows.cc \ + src/core/lib/iomgr/pollset_uv.cc \ + src/core/lib/iomgr/pollset_windows.cc \ + src/core/lib/iomgr/resolve_address_posix.cc \ + src/core/lib/iomgr/resolve_address_uv.cc \ + src/core/lib/iomgr/resolve_address_windows.cc \ + src/core/lib/iomgr/resource_quota.cc \ + src/core/lib/iomgr/sockaddr_utils.cc \ + src/core/lib/iomgr/socket_factory_posix.cc \ + src/core/lib/iomgr/socket_mutator.cc \ + src/core/lib/iomgr/socket_utils_common_posix.cc \ + src/core/lib/iomgr/socket_utils_linux.cc \ + src/core/lib/iomgr/socket_utils_posix.cc \ + src/core/lib/iomgr/socket_utils_uv.cc \ + src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_windows.cc \ + src/core/lib/iomgr/tcp_client_posix.cc \ + src/core/lib/iomgr/tcp_client_uv.cc \ + src/core/lib/iomgr/tcp_client_windows.cc \ + src/core/lib/iomgr/tcp_posix.cc \ + src/core/lib/iomgr/tcp_server_posix.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_common.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc \ + src/core/lib/iomgr/tcp_server_uv.cc \ + src/core/lib/iomgr/tcp_server_windows.cc \ + src/core/lib/iomgr/tcp_uv.cc \ + src/core/lib/iomgr/tcp_windows.cc \ + src/core/lib/iomgr/time_averaged_stats.cc \ + src/core/lib/iomgr/timer_generic.cc \ + src/core/lib/iomgr/timer_heap.cc \ + src/core/lib/iomgr/timer_manager.cc \ + src/core/lib/iomgr/timer_uv.cc \ + src/core/lib/iomgr/udp_server.cc \ + src/core/lib/iomgr/unix_sockets_posix.cc \ + src/core/lib/iomgr/unix_sockets_posix_noop.cc \ + src/core/lib/iomgr/wakeup_fd_cv.cc \ + src/core/lib/iomgr/wakeup_fd_eventfd.cc \ + src/core/lib/iomgr/wakeup_fd_nospecial.cc \ + src/core/lib/iomgr/wakeup_fd_pipe.cc \ + src/core/lib/iomgr/wakeup_fd_posix.cc \ + src/core/lib/json/json.cc \ + src/core/lib/json/json_reader.cc \ + src/core/lib/json/json_string.cc \ + src/core/lib/json/json_writer.cc \ + src/core/lib/slice/b64.cc \ + src/core/lib/slice/percent_encoding.cc \ + src/core/lib/slice/slice.cc \ + src/core/lib/slice/slice_buffer.cc \ + src/core/lib/slice/slice_hash_table.cc \ + src/core/lib/slice/slice_intern.cc \ + src/core/lib/slice/slice_string_helpers.cc \ + src/core/lib/surface/alarm.cc \ + src/core/lib/surface/api_trace.cc \ + src/core/lib/surface/byte_buffer.cc \ + src/core/lib/surface/byte_buffer_reader.cc \ + src/core/lib/surface/call.cc \ + src/core/lib/surface/call_details.cc \ + src/core/lib/surface/call_log_batch.cc \ + src/core/lib/surface/channel.cc \ + src/core/lib/surface/channel_init.cc \ + src/core/lib/surface/channel_ping.cc \ + src/core/lib/surface/channel_stack_type.cc \ + src/core/lib/surface/completion_queue.cc \ + src/core/lib/surface/completion_queue_factory.cc \ + src/core/lib/surface/event_string.cc \ src/core/lib/surface/lame_client.cc \ - src/core/lib/surface/metadata_array.c \ - src/core/lib/surface/server.c \ - src/core/lib/surface/validate_metadata.c \ - src/core/lib/surface/version.c \ - src/core/lib/transport/bdp_estimator.c \ - src/core/lib/transport/byte_stream.c \ - src/core/lib/transport/connectivity_state.c \ - src/core/lib/transport/error_utils.c \ - src/core/lib/transport/metadata.c \ - src/core/lib/transport/metadata_batch.c \ - src/core/lib/transport/pid_controller.c \ - src/core/lib/transport/service_config.c \ - src/core/lib/transport/static_metadata.c \ - src/core/lib/transport/status_conversion.c \ - src/core/lib/transport/timeout_encoding.c \ - src/core/lib/transport/transport.c \ - src/core/lib/transport/transport_op_string.c \ - src/core/lib/debug/trace.c \ - src/core/ext/transport/chttp2/alpn/alpn.c \ - src/core/ext/filters/http/client/http_client_filter.c \ - src/core/ext/filters/http/http_filters_plugin.c \ - src/core/ext/filters/http/message_compress/message_compress_filter.c \ - src/core/ext/filters/http/server/http_server_filter.c \ - src/core/ext/filters/client_channel/channel_connectivity.c \ - src/core/ext/filters/client_channel/client_channel.c \ - src/core/ext/filters/client_channel/client_channel_factory.c \ - src/core/ext/filters/client_channel/client_channel_plugin.c \ - src/core/ext/filters/client_channel/connector.c \ - src/core/ext/filters/client_channel/http_connect_handshaker.c \ - src/core/ext/filters/client_channel/http_proxy.c \ - src/core/ext/filters/client_channel/lb_policy.c \ - src/core/ext/filters/client_channel/lb_policy_factory.c \ - src/core/ext/filters/client_channel/lb_policy_registry.c \ - src/core/ext/filters/client_channel/parse_address.c \ - src/core/ext/filters/client_channel/proxy_mapper.c \ - src/core/ext/filters/client_channel/proxy_mapper_registry.c \ - src/core/ext/filters/client_channel/resolver.c \ - src/core/ext/filters/client_channel/resolver_factory.c \ - src/core/ext/filters/client_channel/resolver_registry.c \ - src/core/ext/filters/client_channel/retry_throttle.c \ - src/core/ext/filters/client_channel/subchannel.c \ - src/core/ext/filters/client_channel/subchannel_index.c \ - src/core/ext/filters/client_channel/uri_parser.c \ - src/core/ext/filters/deadline/deadline_filter.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c \ - src/core/ext/transport/chttp2/server/chttp2_server.c \ - src/core/ext/census/base_resources.c \ - src/core/ext/census/context.c \ - src/core/ext/census/gen/census.pb.c \ - src/core/ext/census/gen/trace_context.pb.c \ - src/core/ext/census/grpc_context.c \ - src/core/ext/census/grpc_filter.c \ - src/core/ext/census/grpc_plugin.c \ - src/core/ext/census/initialize.c \ - src/core/ext/census/intrusive_hash_map.c \ - src/core/ext/census/mlog.c \ - src/core/ext/census/operation.c \ - src/core/ext/census/placeholders.c \ - src/core/ext/census/resource.c \ - src/core/ext/census/trace_context.c \ - src/core/ext/census/tracing.c \ + src/core/lib/surface/metadata_array.cc \ + src/core/lib/surface/server.cc \ + src/core/lib/surface/validate_metadata.cc \ + src/core/lib/surface/version.cc \ + src/core/lib/transport/bdp_estimator.cc \ + src/core/lib/transport/byte_stream.cc \ + src/core/lib/transport/connectivity_state.cc \ + src/core/lib/transport/error_utils.cc \ + src/core/lib/transport/metadata.cc \ + src/core/lib/transport/metadata_batch.cc \ + src/core/lib/transport/pid_controller.cc \ + src/core/lib/transport/service_config.cc \ + src/core/lib/transport/static_metadata.cc \ + src/core/lib/transport/status_conversion.cc \ + src/core/lib/transport/timeout_encoding.cc \ + src/core/lib/transport/transport.cc \ + src/core/lib/transport/transport_op_string.cc \ + src/core/lib/debug/trace.cc \ + src/core/ext/transport/chttp2/alpn/alpn.cc \ + src/core/ext/filters/http/client/http_client_filter.cc \ + src/core/ext/filters/http/http_filters_plugin.cc \ + src/core/ext/filters/http/message_compress/message_compress_filter.cc \ + src/core/ext/filters/http/server/http_server_filter.cc \ + src/core/ext/filters/client_channel/channel_connectivity.cc \ + src/core/ext/filters/client_channel/client_channel.cc \ + src/core/ext/filters/client_channel/client_channel_factory.cc \ + src/core/ext/filters/client_channel/client_channel_plugin.cc \ + src/core/ext/filters/client_channel/connector.cc \ + src/core/ext/filters/client_channel/http_connect_handshaker.cc \ + src/core/ext/filters/client_channel/http_proxy.cc \ + src/core/ext/filters/client_channel/lb_policy.cc \ + src/core/ext/filters/client_channel/lb_policy_factory.cc \ + src/core/ext/filters/client_channel/lb_policy_registry.cc \ + src/core/ext/filters/client_channel/parse_address.cc \ + src/core/ext/filters/client_channel/proxy_mapper.cc \ + src/core/ext/filters/client_channel/proxy_mapper_registry.cc \ + src/core/ext/filters/client_channel/resolver.cc \ + src/core/ext/filters/client_channel/resolver_factory.cc \ + src/core/ext/filters/client_channel/resolver_registry.cc \ + src/core/ext/filters/client_channel/retry_throttle.cc \ + src/core/ext/filters/client_channel/subchannel.cc \ + src/core/ext/filters/client_channel/subchannel_index.cc \ + src/core/ext/filters/client_channel/uri_parser.cc \ + src/core/ext/filters/deadline/deadline_filter.cc \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc \ + src/core/ext/transport/chttp2/server/chttp2_server.cc \ + src/core/ext/census/base_resources.cc \ + src/core/ext/census/context.cc \ + src/core/ext/census/gen/census.pb.cc \ + src/core/ext/census/gen/trace_context.pb.cc \ + src/core/ext/census/grpc_context.cc \ + src/core/ext/census/grpc_filter.cc \ + src/core/ext/census/grpc_plugin.cc \ + src/core/ext/census/initialize.cc \ + src/core/ext/census/intrusive_hash_map.cc \ + src/core/ext/census/mlog.cc \ + src/core/ext/census/operation.cc \ + src/core/ext/census/placeholders.cc \ + src/core/ext/census/resource.cc \ + src/core/ext/census/trace_context.cc \ + src/core/ext/census/tracing.cc \ third_party/nanopb/pb_common.c \ third_party/nanopb/pb_decode.c \ third_party/nanopb/pb_encode.c \ @@ -20158,44 +20146,44 @@ ifneq ($(OPENSSL_DEP),) # This is to ensure the embedded OpenSSL is built beforehand, properly # installing headers to their final destination on the drive. We need this # otherwise parallel compilation will fail if a source is compiled first. -src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c: $(OPENSSL_DEP) -src/core/ext/transport/chttp2/client/secure/secure_channel_create.c: $(OPENSSL_DEP) -src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c: $(OPENSSL_DEP) -src/core/ext/transport/cronet/client/secure/cronet_channel_create.c: $(OPENSSL_DEP) -src/core/ext/transport/cronet/transport/cronet_api_dummy.c: $(OPENSSL_DEP) -src/core/ext/transport/cronet/transport/cronet_transport.c: $(OPENSSL_DEP) -src/core/lib/http/httpcli_security_connector.c: $(OPENSSL_DEP) -src/core/lib/security/context/security_context.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/composite/composite_credentials.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/credentials.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/credentials_metadata.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/fake/fake_credentials.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/google_default/credentials_generic.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/google_default/google_default_credentials.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/iam/iam_credentials.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/jwt/json_token.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/jwt/jwt_credentials.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/jwt/jwt_verifier.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/oauth2/oauth2_credentials.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/plugin/plugin_credentials.c: $(OPENSSL_DEP) -src/core/lib/security/credentials/ssl/ssl_credentials.c: $(OPENSSL_DEP) -src/core/lib/security/transport/client_auth_filter.c: $(OPENSSL_DEP) -src/core/lib/security/transport/lb_targets_info.c: $(OPENSSL_DEP) -src/core/lib/security/transport/secure_endpoint.c: $(OPENSSL_DEP) -src/core/lib/security/transport/security_connector.c: $(OPENSSL_DEP) -src/core/lib/security/transport/security_handshaker.c: $(OPENSSL_DEP) -src/core/lib/security/transport/server_auth_filter.c: $(OPENSSL_DEP) -src/core/lib/security/transport/tsi_error.c: $(OPENSSL_DEP) -src/core/lib/security/util/json_util.c: $(OPENSSL_DEP) -src/core/lib/surface/init_secure.c: $(OPENSSL_DEP) +src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc: $(OPENSSL_DEP) +src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc: $(OPENSSL_DEP) +src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc: $(OPENSSL_DEP) +src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc: $(OPENSSL_DEP) +src/core/ext/transport/cronet/transport/cronet_api_dummy.cc: $(OPENSSL_DEP) +src/core/ext/transport/cronet/transport/cronet_transport.cc: $(OPENSSL_DEP) +src/core/lib/http/httpcli_security_connector.cc: $(OPENSSL_DEP) +src/core/lib/security/context/security_context.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/composite/composite_credentials.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/credentials.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/credentials_metadata.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/fake/fake_credentials.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/google_default/credentials_generic.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/google_default/google_default_credentials.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/iam/iam_credentials.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/jwt/json_token.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/jwt/jwt_credentials.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/jwt/jwt_verifier.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/oauth2/oauth2_credentials.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/plugin/plugin_credentials.cc: $(OPENSSL_DEP) +src/core/lib/security/credentials/ssl/ssl_credentials.cc: $(OPENSSL_DEP) +src/core/lib/security/transport/client_auth_filter.cc: $(OPENSSL_DEP) +src/core/lib/security/transport/lb_targets_info.cc: $(OPENSSL_DEP) +src/core/lib/security/transport/secure_endpoint.cc: $(OPENSSL_DEP) +src/core/lib/security/transport/security_connector.cc: $(OPENSSL_DEP) +src/core/lib/security/transport/security_handshaker.cc: $(OPENSSL_DEP) +src/core/lib/security/transport/server_auth_filter.cc: $(OPENSSL_DEP) +src/core/lib/security/transport/tsi_error.cc: $(OPENSSL_DEP) +src/core/lib/security/util/json_util.cc: $(OPENSSL_DEP) +src/core/lib/surface/init_secure.cc: $(OPENSSL_DEP) src/core/plugin_registry/grpc_cronet_plugin_registry.cc: $(OPENSSL_DEP) src/core/plugin_registry/grpc_plugin_registry.cc: $(OPENSSL_DEP) -src/core/tsi/fake_transport_security.c: $(OPENSSL_DEP) -src/core/tsi/gts_transport_security.c: $(OPENSSL_DEP) -src/core/tsi/ssl_transport_security.c: $(OPENSSL_DEP) -src/core/tsi/transport_security.c: $(OPENSSL_DEP) -src/core/tsi/transport_security_adapter.c: $(OPENSSL_DEP) -src/core/tsi/transport_security_grpc.c: $(OPENSSL_DEP) +src/core/tsi/fake_transport_security.cc: $(OPENSSL_DEP) +src/core/tsi/gts_transport_security.cc: $(OPENSSL_DEP) +src/core/tsi/ssl_transport_security.cc: $(OPENSSL_DEP) +src/core/tsi/transport_security.cc: $(OPENSSL_DEP) +src/core/tsi/transport_security_adapter.cc: $(OPENSSL_DEP) +src/core/tsi/transport_security_grpc.cc: $(OPENSSL_DEP) src/cpp/client/cronet_credentials.cc: $(OPENSSL_DEP) src/cpp/client/secure_credentials.cc: $(OPENSSL_DEP) src/cpp/common/auth_property_iterator.cc: $(OPENSSL_DEP) diff --git a/binding.gyp b/binding.gyp index 476e6fd3c4f..2608fb1a7ee 100644 --- a/binding.gyp +++ b/binding.gyp @@ -593,52 +593,52 @@ 'dependencies': [ ], 'sources': [ - 'src/core/lib/profiling/basic_timers.c', - 'src/core/lib/profiling/stap_timers.c', - 'src/core/lib/support/alloc.c', - 'src/core/lib/support/arena.c', - 'src/core/lib/support/atm.c', - 'src/core/lib/support/avl.c', - 'src/core/lib/support/backoff.c', - 'src/core/lib/support/cmdline.c', - 'src/core/lib/support/cpu_iphone.c', - 'src/core/lib/support/cpu_linux.c', - 'src/core/lib/support/cpu_posix.c', - 'src/core/lib/support/cpu_windows.c', - 'src/core/lib/support/env_linux.c', - 'src/core/lib/support/env_posix.c', - 'src/core/lib/support/env_windows.c', - 'src/core/lib/support/histogram.c', - 'src/core/lib/support/host_port.c', - 'src/core/lib/support/log.c', - 'src/core/lib/support/log_android.c', - 'src/core/lib/support/log_linux.c', - 'src/core/lib/support/log_posix.c', - 'src/core/lib/support/log_windows.c', - 'src/core/lib/support/mpscq.c', - 'src/core/lib/support/murmur_hash.c', - 'src/core/lib/support/stack_lockfree.c', - 'src/core/lib/support/string.c', - 'src/core/lib/support/string_posix.c', - 'src/core/lib/support/string_util_windows.c', - 'src/core/lib/support/string_windows.c', - 'src/core/lib/support/subprocess_posix.c', - 'src/core/lib/support/subprocess_windows.c', - 'src/core/lib/support/sync.c', - 'src/core/lib/support/sync_posix.c', - 'src/core/lib/support/sync_windows.c', - 'src/core/lib/support/thd.c', - 'src/core/lib/support/thd_posix.c', - 'src/core/lib/support/thd_windows.c', - 'src/core/lib/support/time.c', - 'src/core/lib/support/time_posix.c', - 'src/core/lib/support/time_precise.c', - 'src/core/lib/support/time_windows.c', - 'src/core/lib/support/tls_pthread.c', - 'src/core/lib/support/tmpfile_msys.c', - 'src/core/lib/support/tmpfile_posix.c', - 'src/core/lib/support/tmpfile_windows.c', - 'src/core/lib/support/wrap_memcpy.c', + 'src/core/lib/profiling/basic_timers.cc', + 'src/core/lib/profiling/stap_timers.cc', + 'src/core/lib/support/alloc.cc', + 'src/core/lib/support/arena.cc', + 'src/core/lib/support/atm.cc', + 'src/core/lib/support/avl.cc', + 'src/core/lib/support/backoff.cc', + 'src/core/lib/support/cmdline.cc', + 'src/core/lib/support/cpu_iphone.cc', + 'src/core/lib/support/cpu_linux.cc', + 'src/core/lib/support/cpu_posix.cc', + 'src/core/lib/support/cpu_windows.cc', + 'src/core/lib/support/env_linux.cc', + 'src/core/lib/support/env_posix.cc', + 'src/core/lib/support/env_windows.cc', + 'src/core/lib/support/histogram.cc', + 'src/core/lib/support/host_port.cc', + 'src/core/lib/support/log.cc', + 'src/core/lib/support/log_android.cc', + 'src/core/lib/support/log_linux.cc', + 'src/core/lib/support/log_posix.cc', + 'src/core/lib/support/log_windows.cc', + 'src/core/lib/support/mpscq.cc', + 'src/core/lib/support/murmur_hash.cc', + 'src/core/lib/support/stack_lockfree.cc', + 'src/core/lib/support/string.cc', + 'src/core/lib/support/string_posix.cc', + 'src/core/lib/support/string_util_windows.cc', + 'src/core/lib/support/string_windows.cc', + 'src/core/lib/support/subprocess_posix.cc', + 'src/core/lib/support/subprocess_windows.cc', + 'src/core/lib/support/sync.cc', + 'src/core/lib/support/sync_posix.cc', + 'src/core/lib/support/sync_windows.cc', + 'src/core/lib/support/thd.cc', + 'src/core/lib/support/thd_posix.cc', + 'src/core/lib/support/thd_windows.cc', + 'src/core/lib/support/time.cc', + 'src/core/lib/support/time_posix.cc', + 'src/core/lib/support/time_precise.cc', + 'src/core/lib/support/time_windows.cc', + 'src/core/lib/support/tls_pthread.cc', + 'src/core/lib/support/tmpfile_msys.cc', + 'src/core/lib/support/tmpfile_posix.cc', + 'src/core/lib/support/tmpfile_windows.cc', + 'src/core/lib/support/wrap_memcpy.cc', ], 'conditions': [ ['OS == "mac"', { @@ -656,266 +656,264 @@ 'gpr', ], 'sources': [ - 'src/core/lib/surface/init.c', - 'src/core/lib/channel/channel_args.c', - 'src/core/lib/channel/channel_stack.c', - 'src/core/lib/channel/channel_stack_builder.c', - 'src/core/lib/channel/connected_channel.c', - 'src/core/lib/channel/handshaker.c', - 'src/core/lib/channel/handshaker_factory.c', - 'src/core/lib/channel/handshaker_registry.c', - 'src/core/lib/compression/compression.c', - 'src/core/lib/compression/message_compress.c', - 'src/core/lib/compression/stream_compression.c', - 'src/core/lib/compression/stream_compression_gzip.c', - 'src/core/lib/compression/stream_compression_identity.c', - 'src/core/lib/debug/stats.c', - 'src/core/lib/debug/stats_data.c', - 'src/core/lib/http/format_request.c', - 'src/core/lib/http/httpcli.c', - 'src/core/lib/http/parser.c', - 'src/core/lib/iomgr/call_combiner.c', - 'src/core/lib/iomgr/closure.c', - 'src/core/lib/iomgr/combiner.c', - 'src/core/lib/iomgr/endpoint.c', - 'src/core/lib/iomgr/endpoint_pair_posix.c', - 'src/core/lib/iomgr/endpoint_pair_uv.c', - 'src/core/lib/iomgr/endpoint_pair_windows.c', - 'src/core/lib/iomgr/error.c', - 'src/core/lib/iomgr/ev_epoll1_linux.c', - 'src/core/lib/iomgr/ev_epollex_linux.c', - 'src/core/lib/iomgr/ev_epollsig_linux.c', - 'src/core/lib/iomgr/ev_poll_posix.c', - 'src/core/lib/iomgr/ev_posix.c', - 'src/core/lib/iomgr/ev_windows.c', - 'src/core/lib/iomgr/exec_ctx.c', - 'src/core/lib/iomgr/executor.c', - 'src/core/lib/iomgr/gethostname_fallback.c', - 'src/core/lib/iomgr/gethostname_host_name_max.c', - 'src/core/lib/iomgr/gethostname_sysconf.c', - 'src/core/lib/iomgr/iocp_windows.c', - 'src/core/lib/iomgr/iomgr.c', - 'src/core/lib/iomgr/iomgr_posix.c', - 'src/core/lib/iomgr/iomgr_uv.c', - 'src/core/lib/iomgr/iomgr_windows.c', - 'src/core/lib/iomgr/is_epollexclusive_available.c', - 'src/core/lib/iomgr/load_file.c', - 'src/core/lib/iomgr/lockfree_event.c', - 'src/core/lib/iomgr/network_status_tracker.c', - 'src/core/lib/iomgr/polling_entity.c', - 'src/core/lib/iomgr/pollset_set_uv.c', - 'src/core/lib/iomgr/pollset_set_windows.c', - 'src/core/lib/iomgr/pollset_uv.c', - 'src/core/lib/iomgr/pollset_windows.c', - 'src/core/lib/iomgr/resolve_address_posix.c', - 'src/core/lib/iomgr/resolve_address_uv.c', - 'src/core/lib/iomgr/resolve_address_windows.c', - 'src/core/lib/iomgr/resource_quota.c', - 'src/core/lib/iomgr/sockaddr_utils.c', - 'src/core/lib/iomgr/socket_factory_posix.c', - 'src/core/lib/iomgr/socket_mutator.c', - 'src/core/lib/iomgr/socket_utils_common_posix.c', - 'src/core/lib/iomgr/socket_utils_linux.c', - 'src/core/lib/iomgr/socket_utils_posix.c', - 'src/core/lib/iomgr/socket_utils_uv.c', - 'src/core/lib/iomgr/socket_utils_windows.c', - 'src/core/lib/iomgr/socket_windows.c', - 'src/core/lib/iomgr/tcp_client_posix.c', - 'src/core/lib/iomgr/tcp_client_uv.c', - 'src/core/lib/iomgr/tcp_client_windows.c', - 'src/core/lib/iomgr/tcp_posix.c', - 'src/core/lib/iomgr/tcp_server_posix.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_common.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c', - 'src/core/lib/iomgr/tcp_server_uv.c', - 'src/core/lib/iomgr/tcp_server_windows.c', - 'src/core/lib/iomgr/tcp_uv.c', - 'src/core/lib/iomgr/tcp_windows.c', - 'src/core/lib/iomgr/time_averaged_stats.c', - 'src/core/lib/iomgr/timer_generic.c', - 'src/core/lib/iomgr/timer_heap.c', - 'src/core/lib/iomgr/timer_manager.c', - 'src/core/lib/iomgr/timer_uv.c', - 'src/core/lib/iomgr/udp_server.c', - 'src/core/lib/iomgr/unix_sockets_posix.c', - 'src/core/lib/iomgr/unix_sockets_posix_noop.c', - 'src/core/lib/iomgr/wakeup_fd_cv.c', - 'src/core/lib/iomgr/wakeup_fd_eventfd.c', - 'src/core/lib/iomgr/wakeup_fd_nospecial.c', - 'src/core/lib/iomgr/wakeup_fd_pipe.c', - 'src/core/lib/iomgr/wakeup_fd_posix.c', - 'src/core/lib/json/json.c', - 'src/core/lib/json/json_reader.c', - 'src/core/lib/json/json_string.c', - 'src/core/lib/json/json_writer.c', - 'src/core/lib/slice/b64.c', - 'src/core/lib/slice/percent_encoding.c', - 'src/core/lib/slice/slice.c', - 'src/core/lib/slice/slice_buffer.c', - 'src/core/lib/slice/slice_hash_table.c', - 'src/core/lib/slice/slice_intern.c', - 'src/core/lib/slice/slice_string_helpers.c', - 'src/core/lib/surface/alarm.c', - 'src/core/lib/surface/api_trace.c', - 'src/core/lib/surface/byte_buffer.c', - 'src/core/lib/surface/byte_buffer_reader.c', - 'src/core/lib/surface/call.c', - 'src/core/lib/surface/call_details.c', - 'src/core/lib/surface/call_log_batch.c', - 'src/core/lib/surface/channel.c', - 'src/core/lib/surface/channel_init.c', - 'src/core/lib/surface/channel_ping.c', - 'src/core/lib/surface/channel_stack_type.c', - 'src/core/lib/surface/completion_queue.c', - 'src/core/lib/surface/completion_queue_factory.c', - 'src/core/lib/surface/event_string.c', + 'src/core/lib/surface/init.cc', + 'src/core/lib/channel/channel_args.cc', + 'src/core/lib/channel/channel_stack.cc', + 'src/core/lib/channel/channel_stack_builder.cc', + 'src/core/lib/channel/connected_channel.cc', + 'src/core/lib/channel/handshaker.cc', + 'src/core/lib/channel/handshaker_factory.cc', + 'src/core/lib/channel/handshaker_registry.cc', + 'src/core/lib/compression/compression.cc', + 'src/core/lib/compression/message_compress.cc', + 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/debug/stats.cc', + 'src/core/lib/debug/stats_data.cc', + 'src/core/lib/http/format_request.cc', + 'src/core/lib/http/httpcli.cc', + 'src/core/lib/http/parser.cc', + 'src/core/lib/iomgr/call_combiner.cc', + 'src/core/lib/iomgr/closure.cc', + 'src/core/lib/iomgr/combiner.cc', + 'src/core/lib/iomgr/endpoint.cc', + 'src/core/lib/iomgr/endpoint_pair_posix.cc', + 'src/core/lib/iomgr/endpoint_pair_uv.cc', + 'src/core/lib/iomgr/endpoint_pair_windows.cc', + 'src/core/lib/iomgr/error.cc', + 'src/core/lib/iomgr/ev_epoll1_linux.cc', + 'src/core/lib/iomgr/ev_epollex_linux.cc', + 'src/core/lib/iomgr/ev_epollsig_linux.cc', + 'src/core/lib/iomgr/ev_poll_posix.cc', + 'src/core/lib/iomgr/ev_posix.cc', + 'src/core/lib/iomgr/ev_windows.cc', + 'src/core/lib/iomgr/exec_ctx.cc', + 'src/core/lib/iomgr/executor.cc', + 'src/core/lib/iomgr/gethostname_fallback.cc', + 'src/core/lib/iomgr/gethostname_host_name_max.cc', + 'src/core/lib/iomgr/gethostname_sysconf.cc', + 'src/core/lib/iomgr/iocp_windows.cc', + 'src/core/lib/iomgr/iomgr.cc', + 'src/core/lib/iomgr/iomgr_posix.cc', + 'src/core/lib/iomgr/iomgr_uv.cc', + 'src/core/lib/iomgr/iomgr_windows.cc', + 'src/core/lib/iomgr/is_epollexclusive_available.cc', + 'src/core/lib/iomgr/load_file.cc', + 'src/core/lib/iomgr/lockfree_event.cc', + 'src/core/lib/iomgr/network_status_tracker.cc', + 'src/core/lib/iomgr/polling_entity.cc', + 'src/core/lib/iomgr/pollset_set_uv.cc', + 'src/core/lib/iomgr/pollset_set_windows.cc', + 'src/core/lib/iomgr/pollset_uv.cc', + 'src/core/lib/iomgr/pollset_windows.cc', + 'src/core/lib/iomgr/resolve_address_posix.cc', + 'src/core/lib/iomgr/resolve_address_uv.cc', + 'src/core/lib/iomgr/resolve_address_windows.cc', + 'src/core/lib/iomgr/resource_quota.cc', + 'src/core/lib/iomgr/sockaddr_utils.cc', + 'src/core/lib/iomgr/socket_factory_posix.cc', + 'src/core/lib/iomgr/socket_mutator.cc', + 'src/core/lib/iomgr/socket_utils_common_posix.cc', + 'src/core/lib/iomgr/socket_utils_linux.cc', + 'src/core/lib/iomgr/socket_utils_posix.cc', + 'src/core/lib/iomgr/socket_utils_uv.cc', + 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_windows.cc', + 'src/core/lib/iomgr/tcp_client_posix.cc', + 'src/core/lib/iomgr/tcp_client_uv.cc', + 'src/core/lib/iomgr/tcp_client_windows.cc', + 'src/core/lib/iomgr/tcp_posix.cc', + 'src/core/lib/iomgr/tcp_server_posix.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_common.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_uv.cc', + 'src/core/lib/iomgr/tcp_server_windows.cc', + 'src/core/lib/iomgr/tcp_uv.cc', + 'src/core/lib/iomgr/tcp_windows.cc', + 'src/core/lib/iomgr/time_averaged_stats.cc', + 'src/core/lib/iomgr/timer_generic.cc', + 'src/core/lib/iomgr/timer_heap.cc', + 'src/core/lib/iomgr/timer_manager.cc', + 'src/core/lib/iomgr/timer_uv.cc', + 'src/core/lib/iomgr/udp_server.cc', + 'src/core/lib/iomgr/unix_sockets_posix.cc', + 'src/core/lib/iomgr/unix_sockets_posix_noop.cc', + 'src/core/lib/iomgr/wakeup_fd_cv.cc', + 'src/core/lib/iomgr/wakeup_fd_eventfd.cc', + 'src/core/lib/iomgr/wakeup_fd_nospecial.cc', + 'src/core/lib/iomgr/wakeup_fd_pipe.cc', + 'src/core/lib/iomgr/wakeup_fd_posix.cc', + 'src/core/lib/json/json.cc', + 'src/core/lib/json/json_reader.cc', + 'src/core/lib/json/json_string.cc', + 'src/core/lib/json/json_writer.cc', + 'src/core/lib/slice/b64.cc', + 'src/core/lib/slice/percent_encoding.cc', + 'src/core/lib/slice/slice.cc', + 'src/core/lib/slice/slice_buffer.cc', + 'src/core/lib/slice/slice_hash_table.cc', + 'src/core/lib/slice/slice_intern.cc', + 'src/core/lib/slice/slice_string_helpers.cc', + 'src/core/lib/surface/alarm.cc', + 'src/core/lib/surface/api_trace.cc', + 'src/core/lib/surface/byte_buffer.cc', + 'src/core/lib/surface/byte_buffer_reader.cc', + 'src/core/lib/surface/call.cc', + 'src/core/lib/surface/call_details.cc', + 'src/core/lib/surface/call_log_batch.cc', + 'src/core/lib/surface/channel.cc', + 'src/core/lib/surface/channel_init.cc', + 'src/core/lib/surface/channel_ping.cc', + 'src/core/lib/surface/channel_stack_type.cc', + 'src/core/lib/surface/completion_queue.cc', + 'src/core/lib/surface/completion_queue_factory.cc', + 'src/core/lib/surface/event_string.cc', 'src/core/lib/surface/lame_client.cc', - 'src/core/lib/surface/metadata_array.c', - 'src/core/lib/surface/server.c', - 'src/core/lib/surface/validate_metadata.c', - 'src/core/lib/surface/version.c', - 'src/core/lib/transport/bdp_estimator.c', - 'src/core/lib/transport/byte_stream.c', - 'src/core/lib/transport/connectivity_state.c', - 'src/core/lib/transport/error_utils.c', - 'src/core/lib/transport/metadata.c', - 'src/core/lib/transport/metadata_batch.c', - 'src/core/lib/transport/pid_controller.c', - 'src/core/lib/transport/service_config.c', - 'src/core/lib/transport/static_metadata.c', - 'src/core/lib/transport/status_conversion.c', - 'src/core/lib/transport/timeout_encoding.c', - 'src/core/lib/transport/transport.c', - 'src/core/lib/transport/transport_op_string.c', - 'src/core/lib/debug/trace.c', - 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c', - 'src/core/ext/transport/chttp2/transport/bin_decoder.c', - 'src/core/ext/transport/chttp2/transport/bin_encoder.c', - 'src/core/ext/transport/chttp2/transport/chttp2_plugin.c', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', - 'src/core/ext/transport/chttp2/transport/flow_control.c', - 'src/core/ext/transport/chttp2/transport/frame_data.c', - 'src/core/ext/transport/chttp2/transport/frame_goaway.c', - 'src/core/ext/transport/chttp2/transport/frame_ping.c', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', - 'src/core/ext/transport/chttp2/transport/frame_settings.c', - 'src/core/ext/transport/chttp2/transport/frame_window_update.c', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', - 'src/core/ext/transport/chttp2/transport/hpack_parser.c', - 'src/core/ext/transport/chttp2/transport/hpack_table.c', - 'src/core/ext/transport/chttp2/transport/http2_settings.c', - 'src/core/ext/transport/chttp2/transport/huffsyms.c', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', - 'src/core/ext/transport/chttp2/transport/parsing.c', - 'src/core/ext/transport/chttp2/transport/stream_lists.c', - 'src/core/ext/transport/chttp2/transport/stream_map.c', - 'src/core/ext/transport/chttp2/transport/varint.c', - 'src/core/ext/transport/chttp2/transport/writing.c', - 'src/core/ext/transport/chttp2/alpn/alpn.c', - 'src/core/ext/filters/http/client/http_client_filter.c', - 'src/core/ext/filters/http/http_filters_plugin.c', - 'src/core/ext/filters/http/message_compress/message_compress_filter.c', - 'src/core/ext/filters/http/server/http_server_filter.c', - 'src/core/lib/http/httpcli_security_connector.c', - 'src/core/lib/security/context/security_context.c', - 'src/core/lib/security/credentials/composite/composite_credentials.c', - 'src/core/lib/security/credentials/credentials.c', - 'src/core/lib/security/credentials/credentials_metadata.c', - 'src/core/lib/security/credentials/fake/fake_credentials.c', - 'src/core/lib/security/credentials/google_default/credentials_generic.c', - 'src/core/lib/security/credentials/google_default/google_default_credentials.c', - 'src/core/lib/security/credentials/iam/iam_credentials.c', - 'src/core/lib/security/credentials/jwt/json_token.c', - 'src/core/lib/security/credentials/jwt/jwt_credentials.c', - 'src/core/lib/security/credentials/jwt/jwt_verifier.c', - 'src/core/lib/security/credentials/oauth2/oauth2_credentials.c', - 'src/core/lib/security/credentials/plugin/plugin_credentials.c', - 'src/core/lib/security/credentials/ssl/ssl_credentials.c', - 'src/core/lib/security/transport/client_auth_filter.c', - 'src/core/lib/security/transport/lb_targets_info.c', - 'src/core/lib/security/transport/secure_endpoint.c', - 'src/core/lib/security/transport/security_connector.c', - 'src/core/lib/security/transport/security_handshaker.c', - 'src/core/lib/security/transport/server_auth_filter.c', - 'src/core/lib/security/transport/tsi_error.c', - 'src/core/lib/security/util/json_util.c', - 'src/core/lib/surface/init_secure.c', - 'src/core/tsi/fake_transport_security.c', - 'src/core/tsi/gts_transport_security.c', - 'src/core/tsi/ssl_transport_security.c', - 'src/core/tsi/transport_security_grpc.c', - 'src/core/tsi/transport_security.c', - 'src/core/tsi/transport_security_adapter.c', - 'src/core/ext/transport/chttp2/server/chttp2_server.c', - 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.c', - 'src/core/ext/filters/client_channel/channel_connectivity.c', - 'src/core/ext/filters/client_channel/client_channel.c', - 'src/core/ext/filters/client_channel/client_channel_factory.c', - 'src/core/ext/filters/client_channel/client_channel_plugin.c', - 'src/core/ext/filters/client_channel/connector.c', - 'src/core/ext/filters/client_channel/http_connect_handshaker.c', - 'src/core/ext/filters/client_channel/http_proxy.c', - 'src/core/ext/filters/client_channel/lb_policy.c', - 'src/core/ext/filters/client_channel/lb_policy_factory.c', - 'src/core/ext/filters/client_channel/lb_policy_registry.c', - 'src/core/ext/filters/client_channel/parse_address.c', - 'src/core/ext/filters/client_channel/proxy_mapper.c', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.c', - 'src/core/ext/filters/client_channel/resolver.c', - 'src/core/ext/filters/client_channel/resolver_factory.c', - 'src/core/ext/filters/client_channel/resolver_registry.c', - 'src/core/ext/filters/client_channel/retry_throttle.c', - 'src/core/ext/filters/client_channel/subchannel.c', - 'src/core/ext/filters/client_channel/subchannel_index.c', - 'src/core/ext/filters/client_channel/uri_parser.c', - 'src/core/ext/filters/deadline/deadline_filter.c', - 'src/core/ext/transport/chttp2/client/chttp2_connector.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c', - 'src/core/ext/transport/chttp2/client/insecure/channel_create.c', - 'src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c', - 'src/core/ext/transport/inproc/inproc_plugin.c', - 'src/core/ext/transport/inproc/inproc_transport.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c', + 'src/core/lib/surface/metadata_array.cc', + 'src/core/lib/surface/server.cc', + 'src/core/lib/surface/validate_metadata.cc', + 'src/core/lib/surface/version.cc', + 'src/core/lib/transport/bdp_estimator.cc', + 'src/core/lib/transport/byte_stream.cc', + 'src/core/lib/transport/connectivity_state.cc', + 'src/core/lib/transport/error_utils.cc', + 'src/core/lib/transport/metadata.cc', + 'src/core/lib/transport/metadata_batch.cc', + 'src/core/lib/transport/pid_controller.cc', + 'src/core/lib/transport/service_config.cc', + 'src/core/lib/transport/static_metadata.cc', + 'src/core/lib/transport/status_conversion.cc', + 'src/core/lib/transport/timeout_encoding.cc', + 'src/core/lib/transport/transport.cc', + 'src/core/lib/transport/transport_op_string.cc', + 'src/core/lib/debug/trace.cc', + 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc', + 'src/core/ext/transport/chttp2/transport/bin_decoder.cc', + 'src/core/ext/transport/chttp2/transport/bin_encoder.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_plugin.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_transport.cc', + 'src/core/ext/transport/chttp2/transport/flow_control.cc', + 'src/core/ext/transport/chttp2/transport/frame_data.cc', + 'src/core/ext/transport/chttp2/transport/frame_goaway.cc', + 'src/core/ext/transport/chttp2/transport/frame_ping.cc', + 'src/core/ext/transport/chttp2/transport/frame_rst_stream.cc', + 'src/core/ext/transport/chttp2/transport/frame_settings.cc', + 'src/core/ext/transport/chttp2/transport/frame_window_update.cc', + 'src/core/ext/transport/chttp2/transport/hpack_encoder.cc', + 'src/core/ext/transport/chttp2/transport/hpack_parser.cc', + 'src/core/ext/transport/chttp2/transport/hpack_table.cc', + 'src/core/ext/transport/chttp2/transport/http2_settings.cc', + 'src/core/ext/transport/chttp2/transport/huffsyms.cc', + 'src/core/ext/transport/chttp2/transport/incoming_metadata.cc', + 'src/core/ext/transport/chttp2/transport/parsing.cc', + 'src/core/ext/transport/chttp2/transport/stream_lists.cc', + 'src/core/ext/transport/chttp2/transport/stream_map.cc', + 'src/core/ext/transport/chttp2/transport/varint.cc', + 'src/core/ext/transport/chttp2/transport/writing.cc', + 'src/core/ext/transport/chttp2/alpn/alpn.cc', + 'src/core/ext/filters/http/client/http_client_filter.cc', + 'src/core/ext/filters/http/http_filters_plugin.cc', + 'src/core/ext/filters/http/message_compress/message_compress_filter.cc', + 'src/core/ext/filters/http/server/http_server_filter.cc', + 'src/core/lib/http/httpcli_security_connector.cc', + 'src/core/lib/security/context/security_context.cc', + 'src/core/lib/security/credentials/composite/composite_credentials.cc', + 'src/core/lib/security/credentials/credentials.cc', + 'src/core/lib/security/credentials/credentials_metadata.cc', + 'src/core/lib/security/credentials/fake/fake_credentials.cc', + 'src/core/lib/security/credentials/google_default/credentials_generic.cc', + 'src/core/lib/security/credentials/google_default/google_default_credentials.cc', + 'src/core/lib/security/credentials/iam/iam_credentials.cc', + 'src/core/lib/security/credentials/jwt/json_token.cc', + 'src/core/lib/security/credentials/jwt/jwt_credentials.cc', + 'src/core/lib/security/credentials/jwt/jwt_verifier.cc', + 'src/core/lib/security/credentials/oauth2/oauth2_credentials.cc', + 'src/core/lib/security/credentials/plugin/plugin_credentials.cc', + 'src/core/lib/security/credentials/ssl/ssl_credentials.cc', + 'src/core/lib/security/transport/client_auth_filter.cc', + 'src/core/lib/security/transport/lb_targets_info.cc', + 'src/core/lib/security/transport/secure_endpoint.cc', + 'src/core/lib/security/transport/security_connector.cc', + 'src/core/lib/security/transport/security_handshaker.cc', + 'src/core/lib/security/transport/server_auth_filter.cc', + 'src/core/lib/security/transport/tsi_error.cc', + 'src/core/lib/security/util/json_util.cc', + 'src/core/lib/surface/init_secure.cc', + 'src/core/tsi/fake_transport_security.cc', + 'src/core/tsi/gts_transport_security.cc', + 'src/core/tsi/ssl_transport_security.cc', + 'src/core/tsi/transport_security_grpc.cc', + 'src/core/tsi/transport_security.cc', + 'src/core/tsi/transport_security_adapter.cc', + 'src/core/ext/transport/chttp2/server/chttp2_server.cc', + 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc', + 'src/core/ext/filters/client_channel/channel_connectivity.cc', + 'src/core/ext/filters/client_channel/client_channel.cc', + 'src/core/ext/filters/client_channel/client_channel_factory.cc', + 'src/core/ext/filters/client_channel/client_channel_plugin.cc', + 'src/core/ext/filters/client_channel/connector.cc', + 'src/core/ext/filters/client_channel/http_connect_handshaker.cc', + 'src/core/ext/filters/client_channel/http_proxy.cc', + 'src/core/ext/filters/client_channel/lb_policy.cc', + 'src/core/ext/filters/client_channel/lb_policy_factory.cc', + 'src/core/ext/filters/client_channel/lb_policy_registry.cc', + 'src/core/ext/filters/client_channel/parse_address.cc', + 'src/core/ext/filters/client_channel/proxy_mapper.cc', + 'src/core/ext/filters/client_channel/proxy_mapper_registry.cc', + 'src/core/ext/filters/client_channel/resolver.cc', + 'src/core/ext/filters/client_channel/resolver_factory.cc', + 'src/core/ext/filters/client_channel/resolver_registry.cc', + 'src/core/ext/filters/client_channel/retry_throttle.cc', + 'src/core/ext/filters/client_channel/subchannel.cc', + 'src/core/ext/filters/client_channel/subchannel_index.cc', + 'src/core/ext/filters/client_channel/uri_parser.cc', + 'src/core/ext/filters/deadline/deadline_filter.cc', + 'src/core/ext/transport/chttp2/client/chttp2_connector.cc', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc', + 'src/core/ext/transport/chttp2/client/insecure/channel_create.cc', + 'src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc', + 'src/core/ext/transport/inproc/inproc_plugin.cc', + 'src/core/ext/transport/inproc/inproc_transport.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc', 'third_party/nanopb/pb_common.c', 'third_party/nanopb/pb_decode.c', 'third_party/nanopb/pb_encode.c', - 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c', - 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c', - 'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c', - 'src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c', - 'src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c', - 'src/core/ext/filters/load_reporting/server_load_reporting_filter.c', - 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.c', - 'src/core/ext/census/base_resources.c', - 'src/core/ext/census/context.c', - 'src/core/ext/census/gen/census.pb.c', - 'src/core/ext/census/gen/trace_context.pb.c', - 'src/core/ext/census/grpc_context.c', - 'src/core/ext/census/grpc_filter.c', - 'src/core/ext/census/grpc_plugin.c', - 'src/core/ext/census/initialize.c', - 'src/core/ext/census/intrusive_hash_map.c', - 'src/core/ext/census/mlog.c', - 'src/core/ext/census/operation.c', - 'src/core/ext/census/placeholders.c', - 'src/core/ext/census/resource.c', - 'src/core/ext/census/trace_context.c', - 'src/core/ext/census/tracing.c', - 'src/core/ext/filters/max_age/max_age_filter.c', - 'src/core/ext/filters/message_size/message_size_filter.c', - 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c', - 'src/core/ext/filters/workarounds/workaround_utils.c', + 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc', + 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc', + 'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc', + 'src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc', + 'src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc', + 'src/core/ext/filters/load_reporting/server_load_reporting_filter.cc', + 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc', + 'src/core/ext/census/base_resources.cc', + 'src/core/ext/census/context.cc', + 'src/core/ext/census/gen/census.pb.cc', + 'src/core/ext/census/gen/trace_context.pb.cc', + 'src/core/ext/census/grpc_context.cc', + 'src/core/ext/census/grpc_filter.cc', + 'src/core/ext/census/grpc_plugin.cc', + 'src/core/ext/census/initialize.cc', + 'src/core/ext/census/intrusive_hash_map.cc', + 'src/core/ext/census/mlog.cc', + 'src/core/ext/census/operation.cc', + 'src/core/ext/census/placeholders.cc', + 'src/core/ext/census/resource.cc', + 'src/core/ext/census/trace_context.cc', + 'src/core/ext/census/tracing.cc', + 'src/core/ext/filters/max_age/max_age_filter.cc', + 'src/core/ext/filters/message_size/message_size_filter.cc', + 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc', + 'src/core/ext/filters/workarounds/workaround_utils.cc', 'src/core/plugin_registry/grpc_plugin_registry.cc', ], 'conditions': [ diff --git a/build.yaml b/build.yaml index 9b5aacc4c8f..4fc7a85712a 100644 --- a/build.yaml +++ b/build.yaml @@ -39,73 +39,73 @@ filegroups: - src/core/ext/census/trace_string.h - src/core/ext/census/tracing.h src: - - src/core/ext/census/base_resources.c - - src/core/ext/census/context.c - - src/core/ext/census/gen/census.pb.c - - src/core/ext/census/gen/trace_context.pb.c - - src/core/ext/census/grpc_context.c - - src/core/ext/census/grpc_filter.c - - src/core/ext/census/grpc_plugin.c - - src/core/ext/census/initialize.c - - src/core/ext/census/intrusive_hash_map.c - - src/core/ext/census/mlog.c - - src/core/ext/census/operation.c - - src/core/ext/census/placeholders.c - - src/core/ext/census/resource.c - - src/core/ext/census/trace_context.c - - src/core/ext/census/tracing.c + - src/core/ext/census/base_resources.cc + - src/core/ext/census/context.cc + - src/core/ext/census/gen/census.pb.cc + - src/core/ext/census/gen/trace_context.pb.cc + - src/core/ext/census/grpc_context.cc + - src/core/ext/census/grpc_filter.cc + - src/core/ext/census/grpc_plugin.cc + - src/core/ext/census/initialize.cc + - src/core/ext/census/intrusive_hash_map.cc + - src/core/ext/census/mlog.cc + - src/core/ext/census/operation.cc + - src/core/ext/census/placeholders.cc + - src/core/ext/census/resource.cc + - src/core/ext/census/trace_context.cc + - src/core/ext/census/tracing.cc plugin: census_grpc_plugin uses: - grpc_base - nanopb - name: gpr_base src: - - src/core/lib/profiling/basic_timers.c - - src/core/lib/profiling/stap_timers.c - - src/core/lib/support/alloc.c - - src/core/lib/support/arena.c - - src/core/lib/support/atm.c - - src/core/lib/support/avl.c - - src/core/lib/support/backoff.c - - src/core/lib/support/cmdline.c - - src/core/lib/support/cpu_iphone.c - - src/core/lib/support/cpu_linux.c - - src/core/lib/support/cpu_posix.c - - src/core/lib/support/cpu_windows.c - - src/core/lib/support/env_linux.c - - src/core/lib/support/env_posix.c - - src/core/lib/support/env_windows.c - - src/core/lib/support/histogram.c - - src/core/lib/support/host_port.c - - src/core/lib/support/log.c - - src/core/lib/support/log_android.c - - src/core/lib/support/log_linux.c - - src/core/lib/support/log_posix.c - - src/core/lib/support/log_windows.c - - src/core/lib/support/mpscq.c - - src/core/lib/support/murmur_hash.c - - src/core/lib/support/stack_lockfree.c - - src/core/lib/support/string.c - - src/core/lib/support/string_posix.c - - src/core/lib/support/string_util_windows.c - - src/core/lib/support/string_windows.c - - src/core/lib/support/subprocess_posix.c - - src/core/lib/support/subprocess_windows.c - - src/core/lib/support/sync.c - - src/core/lib/support/sync_posix.c - - src/core/lib/support/sync_windows.c - - src/core/lib/support/thd.c - - src/core/lib/support/thd_posix.c - - src/core/lib/support/thd_windows.c - - src/core/lib/support/time.c - - src/core/lib/support/time_posix.c - - src/core/lib/support/time_precise.c - - src/core/lib/support/time_windows.c - - src/core/lib/support/tls_pthread.c - - src/core/lib/support/tmpfile_msys.c - - src/core/lib/support/tmpfile_posix.c - - src/core/lib/support/tmpfile_windows.c - - src/core/lib/support/wrap_memcpy.c + - src/core/lib/profiling/basic_timers.cc + - src/core/lib/profiling/stap_timers.cc + - src/core/lib/support/alloc.cc + - src/core/lib/support/arena.cc + - src/core/lib/support/atm.cc + - src/core/lib/support/avl.cc + - src/core/lib/support/backoff.cc + - src/core/lib/support/cmdline.cc + - src/core/lib/support/cpu_iphone.cc + - src/core/lib/support/cpu_linux.cc + - src/core/lib/support/cpu_posix.cc + - src/core/lib/support/cpu_windows.cc + - src/core/lib/support/env_linux.cc + - src/core/lib/support/env_posix.cc + - src/core/lib/support/env_windows.cc + - src/core/lib/support/histogram.cc + - src/core/lib/support/host_port.cc + - src/core/lib/support/log.cc + - src/core/lib/support/log_android.cc + - src/core/lib/support/log_linux.cc + - src/core/lib/support/log_posix.cc + - src/core/lib/support/log_windows.cc + - src/core/lib/support/mpscq.cc + - src/core/lib/support/murmur_hash.cc + - src/core/lib/support/stack_lockfree.cc + - src/core/lib/support/string.cc + - src/core/lib/support/string_posix.cc + - src/core/lib/support/string_util_windows.cc + - src/core/lib/support/string_windows.cc + - src/core/lib/support/subprocess_posix.cc + - src/core/lib/support/subprocess_windows.cc + - src/core/lib/support/sync.cc + - src/core/lib/support/sync_posix.cc + - src/core/lib/support/sync_windows.cc + - src/core/lib/support/thd.cc + - src/core/lib/support/thd_posix.cc + - src/core/lib/support/thd_windows.cc + - src/core/lib/support/time.cc + - src/core/lib/support/time_posix.cc + - src/core/lib/support/time_precise.cc + - src/core/lib/support/time_windows.cc + - src/core/lib/support/tls_pthread.cc + - src/core/lib/support/tmpfile_msys.cc + - src/core/lib/support/tmpfile_posix.cc + - src/core/lib/support/tmpfile_windows.cc + - src/core/lib/support/wrap_memcpy.cc uses: - gpr_base_headers - name: gpr_base_headers @@ -185,137 +185,135 @@ filegroups: - grpc++_codegen_base - name: grpc_base src: - - src/core/lib/channel/channel_args.c - - src/core/lib/channel/channel_stack.c - - src/core/lib/channel/channel_stack_builder.c - - src/core/lib/channel/connected_channel.c - - src/core/lib/channel/handshaker.c - - src/core/lib/channel/handshaker_factory.c - - src/core/lib/channel/handshaker_registry.c - - src/core/lib/compression/compression.c - - src/core/lib/compression/message_compress.c - - src/core/lib/compression/stream_compression.c - - src/core/lib/compression/stream_compression_gzip.c - - src/core/lib/compression/stream_compression_identity.c - - src/core/lib/debug/stats.c - - src/core/lib/debug/stats_data.c - - src/core/lib/http/format_request.c - - src/core/lib/http/httpcli.c - - src/core/lib/http/parser.c - - src/core/lib/iomgr/call_combiner.c - - src/core/lib/iomgr/closure.c - - src/core/lib/iomgr/combiner.c - - src/core/lib/iomgr/endpoint.c - - src/core/lib/iomgr/endpoint_pair_posix.c - - src/core/lib/iomgr/endpoint_pair_uv.c - - src/core/lib/iomgr/endpoint_pair_windows.c - - src/core/lib/iomgr/error.c - - src/core/lib/iomgr/ev_epoll1_linux.c - - src/core/lib/iomgr/ev_epollex_linux.c - - src/core/lib/iomgr/ev_epollsig_linux.c - - src/core/lib/iomgr/ev_poll_posix.c - - src/core/lib/iomgr/ev_posix.c - - src/core/lib/iomgr/ev_windows.c - - src/core/lib/iomgr/exec_ctx.c - - src/core/lib/iomgr/executor.c - - src/core/lib/iomgr/gethostname_fallback.c - - src/core/lib/iomgr/gethostname_host_name_max.c - - src/core/lib/iomgr/gethostname_sysconf.c - - src/core/lib/iomgr/iocp_windows.c - - src/core/lib/iomgr/iomgr.c - - src/core/lib/iomgr/iomgr_posix.c - - src/core/lib/iomgr/iomgr_uv.c - - src/core/lib/iomgr/iomgr_windows.c - - src/core/lib/iomgr/is_epollexclusive_available.c - - src/core/lib/iomgr/load_file.c - - src/core/lib/iomgr/lockfree_event.c - - src/core/lib/iomgr/network_status_tracker.c - - src/core/lib/iomgr/polling_entity.c - - src/core/lib/iomgr/pollset_set_uv.c - - src/core/lib/iomgr/pollset_set_windows.c - - src/core/lib/iomgr/pollset_uv.c - - src/core/lib/iomgr/pollset_windows.c - - src/core/lib/iomgr/resolve_address_posix.c - - src/core/lib/iomgr/resolve_address_uv.c - - src/core/lib/iomgr/resolve_address_windows.c - - src/core/lib/iomgr/resource_quota.c - - src/core/lib/iomgr/sockaddr_utils.c - - src/core/lib/iomgr/socket_factory_posix.c - - src/core/lib/iomgr/socket_mutator.c - - src/core/lib/iomgr/socket_utils_common_posix.c - - src/core/lib/iomgr/socket_utils_linux.c - - src/core/lib/iomgr/socket_utils_posix.c - - src/core/lib/iomgr/socket_utils_uv.c - - src/core/lib/iomgr/socket_utils_windows.c - - src/core/lib/iomgr/socket_windows.c - - src/core/lib/iomgr/tcp_client_posix.c - - src/core/lib/iomgr/tcp_client_uv.c - - src/core/lib/iomgr/tcp_client_windows.c - - src/core/lib/iomgr/tcp_posix.c - - src/core/lib/iomgr/tcp_server_posix.c - - src/core/lib/iomgr/tcp_server_utils_posix_common.c - - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c - - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c - - src/core/lib/iomgr/tcp_server_uv.c - - src/core/lib/iomgr/tcp_server_windows.c - - src/core/lib/iomgr/tcp_uv.c - - src/core/lib/iomgr/tcp_windows.c - - src/core/lib/iomgr/time_averaged_stats.c - - src/core/lib/iomgr/timer_generic.c - - src/core/lib/iomgr/timer_heap.c - - src/core/lib/iomgr/timer_manager.c - - src/core/lib/iomgr/timer_uv.c - - src/core/lib/iomgr/udp_server.c - - src/core/lib/iomgr/unix_sockets_posix.c - - src/core/lib/iomgr/unix_sockets_posix_noop.c - - src/core/lib/iomgr/wakeup_fd_cv.c - - src/core/lib/iomgr/wakeup_fd_eventfd.c - - src/core/lib/iomgr/wakeup_fd_nospecial.c - - src/core/lib/iomgr/wakeup_fd_pipe.c - - src/core/lib/iomgr/wakeup_fd_posix.c - - src/core/lib/json/json.c - - src/core/lib/json/json_reader.c - - src/core/lib/json/json_string.c - - src/core/lib/json/json_writer.c - - src/core/lib/slice/b64.c - - src/core/lib/slice/percent_encoding.c - - src/core/lib/slice/slice.c - - src/core/lib/slice/slice_buffer.c - - src/core/lib/slice/slice_hash_table.c - - src/core/lib/slice/slice_intern.c - - src/core/lib/slice/slice_string_helpers.c - - src/core/lib/surface/alarm.c - - src/core/lib/surface/api_trace.c - - src/core/lib/surface/byte_buffer.c - - src/core/lib/surface/byte_buffer_reader.c - - src/core/lib/surface/call.c - - src/core/lib/surface/call_details.c - - src/core/lib/surface/call_log_batch.c - - src/core/lib/surface/channel.c - - src/core/lib/surface/channel_init.c - - src/core/lib/surface/channel_ping.c - - src/core/lib/surface/channel_stack_type.c - - src/core/lib/surface/completion_queue.c - - src/core/lib/surface/completion_queue_factory.c - - src/core/lib/surface/event_string.c + - src/core/lib/channel/channel_args.cc + - src/core/lib/channel/channel_stack.cc + - src/core/lib/channel/channel_stack_builder.cc + - src/core/lib/channel/connected_channel.cc + - src/core/lib/channel/handshaker.cc + - src/core/lib/channel/handshaker_factory.cc + - src/core/lib/channel/handshaker_registry.cc + - src/core/lib/compression/compression.cc + - src/core/lib/compression/message_compress.cc + - src/core/lib/compression/stream_compression.cc + - src/core/lib/debug/stats.cc + - src/core/lib/debug/stats_data.cc + - src/core/lib/http/format_request.cc + - src/core/lib/http/httpcli.cc + - src/core/lib/http/parser.cc + - src/core/lib/iomgr/call_combiner.cc + - src/core/lib/iomgr/closure.cc + - src/core/lib/iomgr/combiner.cc + - src/core/lib/iomgr/endpoint.cc + - src/core/lib/iomgr/endpoint_pair_posix.cc + - src/core/lib/iomgr/endpoint_pair_uv.cc + - src/core/lib/iomgr/endpoint_pair_windows.cc + - src/core/lib/iomgr/error.cc + - src/core/lib/iomgr/ev_epoll1_linux.cc + - src/core/lib/iomgr/ev_epollex_linux.cc + - src/core/lib/iomgr/ev_epollsig_linux.cc + - src/core/lib/iomgr/ev_poll_posix.cc + - src/core/lib/iomgr/ev_posix.cc + - src/core/lib/iomgr/ev_windows.cc + - src/core/lib/iomgr/exec_ctx.cc + - src/core/lib/iomgr/executor.cc + - src/core/lib/iomgr/gethostname_fallback.cc + - src/core/lib/iomgr/gethostname_host_name_max.cc + - src/core/lib/iomgr/gethostname_sysconf.cc + - src/core/lib/iomgr/iocp_windows.cc + - src/core/lib/iomgr/iomgr.cc + - src/core/lib/iomgr/iomgr_posix.cc + - src/core/lib/iomgr/iomgr_uv.cc + - src/core/lib/iomgr/iomgr_windows.cc + - src/core/lib/iomgr/is_epollexclusive_available.cc + - src/core/lib/iomgr/load_file.cc + - src/core/lib/iomgr/lockfree_event.cc + - src/core/lib/iomgr/network_status_tracker.cc + - src/core/lib/iomgr/polling_entity.cc + - src/core/lib/iomgr/pollset_set_uv.cc + - src/core/lib/iomgr/pollset_set_windows.cc + - src/core/lib/iomgr/pollset_uv.cc + - src/core/lib/iomgr/pollset_windows.cc + - src/core/lib/iomgr/resolve_address_posix.cc + - src/core/lib/iomgr/resolve_address_uv.cc + - src/core/lib/iomgr/resolve_address_windows.cc + - src/core/lib/iomgr/resource_quota.cc + - src/core/lib/iomgr/sockaddr_utils.cc + - src/core/lib/iomgr/socket_factory_posix.cc + - src/core/lib/iomgr/socket_mutator.cc + - src/core/lib/iomgr/socket_utils_common_posix.cc + - src/core/lib/iomgr/socket_utils_linux.cc + - src/core/lib/iomgr/socket_utils_posix.cc + - src/core/lib/iomgr/socket_utils_uv.cc + - src/core/lib/iomgr/socket_utils_windows.cc + - src/core/lib/iomgr/socket_windows.cc + - src/core/lib/iomgr/tcp_client_posix.cc + - src/core/lib/iomgr/tcp_client_uv.cc + - src/core/lib/iomgr/tcp_client_windows.cc + - src/core/lib/iomgr/tcp_posix.cc + - src/core/lib/iomgr/tcp_server_posix.cc + - src/core/lib/iomgr/tcp_server_utils_posix_common.cc + - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc + - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc + - src/core/lib/iomgr/tcp_server_uv.cc + - src/core/lib/iomgr/tcp_server_windows.cc + - src/core/lib/iomgr/tcp_uv.cc + - src/core/lib/iomgr/tcp_windows.cc + - src/core/lib/iomgr/time_averaged_stats.cc + - src/core/lib/iomgr/timer_generic.cc + - src/core/lib/iomgr/timer_heap.cc + - src/core/lib/iomgr/timer_manager.cc + - src/core/lib/iomgr/timer_uv.cc + - src/core/lib/iomgr/udp_server.cc + - src/core/lib/iomgr/unix_sockets_posix.cc + - src/core/lib/iomgr/unix_sockets_posix_noop.cc + - src/core/lib/iomgr/wakeup_fd_cv.cc + - src/core/lib/iomgr/wakeup_fd_eventfd.cc + - src/core/lib/iomgr/wakeup_fd_nospecial.cc + - src/core/lib/iomgr/wakeup_fd_pipe.cc + - src/core/lib/iomgr/wakeup_fd_posix.cc + - src/core/lib/json/json.cc + - src/core/lib/json/json_reader.cc + - src/core/lib/json/json_string.cc + - src/core/lib/json/json_writer.cc + - src/core/lib/slice/b64.cc + - src/core/lib/slice/percent_encoding.cc + - src/core/lib/slice/slice.cc + - src/core/lib/slice/slice_buffer.cc + - src/core/lib/slice/slice_hash_table.cc + - src/core/lib/slice/slice_intern.cc + - src/core/lib/slice/slice_string_helpers.cc + - src/core/lib/surface/alarm.cc + - src/core/lib/surface/api_trace.cc + - src/core/lib/surface/byte_buffer.cc + - src/core/lib/surface/byte_buffer_reader.cc + - src/core/lib/surface/call.cc + - src/core/lib/surface/call_details.cc + - src/core/lib/surface/call_log_batch.cc + - src/core/lib/surface/channel.cc + - src/core/lib/surface/channel_init.cc + - src/core/lib/surface/channel_ping.cc + - src/core/lib/surface/channel_stack_type.cc + - src/core/lib/surface/completion_queue.cc + - src/core/lib/surface/completion_queue_factory.cc + - src/core/lib/surface/event_string.cc - src/core/lib/surface/lame_client.cc - - src/core/lib/surface/metadata_array.c - - src/core/lib/surface/server.c - - src/core/lib/surface/validate_metadata.c - - src/core/lib/surface/version.c - - src/core/lib/transport/bdp_estimator.c - - src/core/lib/transport/byte_stream.c - - src/core/lib/transport/connectivity_state.c - - src/core/lib/transport/error_utils.c - - src/core/lib/transport/metadata.c - - src/core/lib/transport/metadata_batch.c - - src/core/lib/transport/pid_controller.c - - src/core/lib/transport/service_config.c - - src/core/lib/transport/static_metadata.c - - src/core/lib/transport/status_conversion.c - - src/core/lib/transport/timeout_encoding.c - - src/core/lib/transport/transport.c - - src/core/lib/transport/transport_op_string.c + - src/core/lib/surface/metadata_array.cc + - src/core/lib/surface/server.cc + - src/core/lib/surface/validate_metadata.cc + - src/core/lib/surface/version.cc + - src/core/lib/transport/bdp_estimator.cc + - src/core/lib/transport/byte_stream.cc + - src/core/lib/transport/connectivity_state.cc + - src/core/lib/transport/error_utils.cc + - src/core/lib/transport/metadata.cc + - src/core/lib/transport/metadata_batch.cc + - src/core/lib/transport/pid_controller.cc + - src/core/lib/transport/service_config.cc + - src/core/lib/transport/static_metadata.cc + - src/core/lib/transport/status_conversion.cc + - src/core/lib/transport/timeout_encoding.cc + - src/core/lib/transport/transport.cc + - src/core/lib/transport/transport_op_string.cc deps: - gpr filegroups: @@ -480,26 +478,26 @@ filegroups: - src/core/ext/filters/client_channel/subchannel_index.h - src/core/ext/filters/client_channel/uri_parser.h src: - - src/core/ext/filters/client_channel/channel_connectivity.c - - src/core/ext/filters/client_channel/client_channel.c - - src/core/ext/filters/client_channel/client_channel_factory.c - - src/core/ext/filters/client_channel/client_channel_plugin.c - - src/core/ext/filters/client_channel/connector.c - - src/core/ext/filters/client_channel/http_connect_handshaker.c - - src/core/ext/filters/client_channel/http_proxy.c - - src/core/ext/filters/client_channel/lb_policy.c - - src/core/ext/filters/client_channel/lb_policy_factory.c - - src/core/ext/filters/client_channel/lb_policy_registry.c - - src/core/ext/filters/client_channel/parse_address.c - - src/core/ext/filters/client_channel/proxy_mapper.c - - src/core/ext/filters/client_channel/proxy_mapper_registry.c - - src/core/ext/filters/client_channel/resolver.c - - src/core/ext/filters/client_channel/resolver_factory.c - - src/core/ext/filters/client_channel/resolver_registry.c - - src/core/ext/filters/client_channel/retry_throttle.c - - src/core/ext/filters/client_channel/subchannel.c - - src/core/ext/filters/client_channel/subchannel_index.c - - src/core/ext/filters/client_channel/uri_parser.c + - src/core/ext/filters/client_channel/channel_connectivity.cc + - src/core/ext/filters/client_channel/client_channel.cc + - src/core/ext/filters/client_channel/client_channel_factory.cc + - src/core/ext/filters/client_channel/client_channel_plugin.cc + - src/core/ext/filters/client_channel/connector.cc + - src/core/ext/filters/client_channel/http_connect_handshaker.cc + - src/core/ext/filters/client_channel/http_proxy.cc + - src/core/ext/filters/client_channel/lb_policy.cc + - src/core/ext/filters/client_channel/lb_policy_factory.cc + - src/core/ext/filters/client_channel/lb_policy_registry.cc + - src/core/ext/filters/client_channel/parse_address.cc + - src/core/ext/filters/client_channel/proxy_mapper.cc + - src/core/ext/filters/client_channel/proxy_mapper_registry.cc + - src/core/ext/filters/client_channel/resolver.cc + - src/core/ext/filters/client_channel/resolver_factory.cc + - src/core/ext/filters/client_channel/resolver_registry.cc + - src/core/ext/filters/client_channel/retry_throttle.cc + - src/core/ext/filters/client_channel/subchannel.cc + - src/core/ext/filters/client_channel/subchannel_index.cc + - src/core/ext/filters/client_channel/uri_parser.cc plugin: grpc_client_channel uses: - grpc_base @@ -521,7 +519,7 @@ filegroups: headers: - src/core/ext/filters/deadline/deadline_filter.h src: - - src/core/ext/filters/deadline/deadline_filter.c + - src/core/ext/filters/deadline/deadline_filter.cc plugin: grpc_deadline_filter uses: - grpc_base @@ -531,10 +529,10 @@ filegroups: - src/core/ext/filters/http/message_compress/message_compress_filter.h - src/core/ext/filters/http/server/http_server_filter.h src: - - src/core/ext/filters/http/client/http_client_filter.c - - src/core/ext/filters/http/http_filters_plugin.c - - src/core/ext/filters/http/message_compress/message_compress_filter.c - - src/core/ext/filters/http/server/http_server_filter.c + - src/core/ext/filters/http/client/http_client_filter.cc + - src/core/ext/filters/http/http_filters_plugin.cc + - src/core/ext/filters/http/message_compress/message_compress_filter.cc + - src/core/ext/filters/http/server/http_server_filter.cc plugin: grpc_http_filters uses: - grpc_base @@ -547,12 +545,12 @@ filegroups: - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h src: - - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c - - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c - - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.c - - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c - - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c - - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c + - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc + - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc + - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc + - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc + - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc + - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc plugin: grpc_lb_policy_grpclb uses: - grpc_base @@ -568,12 +566,12 @@ filegroups: - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h src: - - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c - - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c - - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c - - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c - - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c - - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c + - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc + - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc + - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc + - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc + - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc + - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc plugin: grpc_lb_policy_grpclb uses: - grpc_base @@ -583,14 +581,14 @@ filegroups: - grpc_resolver_fake - name: grpc_lb_policy_pick_first src: - - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c + - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc plugin: grpc_lb_policy_pick_first uses: - grpc_base - grpc_client_channel - name: grpc_lb_policy_round_robin src: - - src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c + - src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc plugin: grpc_lb_policy_round_robin uses: - grpc_base @@ -599,7 +597,7 @@ filegroups: headers: - src/core/ext/filters/max_age/max_age_filter.h src: - - src/core/ext/filters/max_age/max_age_filter.c + - src/core/ext/filters/max_age/max_age_filter.cc plugin: grpc_max_age_filter uses: - grpc_base @@ -607,7 +605,7 @@ filegroups: headers: - src/core/ext/filters/message_size/message_size_filter.h src: - - src/core/ext/filters/message_size/message_size_filter.c + - src/core/ext/filters/message_size/message_size_filter.cc plugin: grpc_message_size_filter uses: - grpc_base @@ -616,17 +614,17 @@ filegroups: - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h src: - - src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c - - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c - - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c - - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c + - src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc + - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc + - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc + - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc plugin: grpc_resolver_dns_ares uses: - grpc_base - grpc_client_channel - name: grpc_resolver_dns_native src: - - src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c + - src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc plugin: grpc_resolver_dns_native uses: - grpc_base @@ -635,14 +633,14 @@ filegroups: headers: - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h src: - - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c + - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc plugin: grpc_resolver_fake uses: - grpc_base - grpc_client_channel - name: grpc_resolver_sockaddr src: - - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c + - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc plugin: grpc_resolver_sockaddr uses: - grpc_base @@ -671,30 +669,30 @@ filegroups: - src/core/lib/security/transport/tsi_error.h - src/core/lib/security/util/json_util.h src: - - src/core/lib/http/httpcli_security_connector.c - - src/core/lib/security/context/security_context.c - - src/core/lib/security/credentials/composite/composite_credentials.c - - src/core/lib/security/credentials/credentials.c - - src/core/lib/security/credentials/credentials_metadata.c - - src/core/lib/security/credentials/fake/fake_credentials.c - - src/core/lib/security/credentials/google_default/credentials_generic.c - - src/core/lib/security/credentials/google_default/google_default_credentials.c - - src/core/lib/security/credentials/iam/iam_credentials.c - - src/core/lib/security/credentials/jwt/json_token.c - - src/core/lib/security/credentials/jwt/jwt_credentials.c - - src/core/lib/security/credentials/jwt/jwt_verifier.c - - src/core/lib/security/credentials/oauth2/oauth2_credentials.c - - src/core/lib/security/credentials/plugin/plugin_credentials.c - - src/core/lib/security/credentials/ssl/ssl_credentials.c - - src/core/lib/security/transport/client_auth_filter.c - - src/core/lib/security/transport/lb_targets_info.c - - src/core/lib/security/transport/secure_endpoint.c - - src/core/lib/security/transport/security_connector.c - - src/core/lib/security/transport/security_handshaker.c - - src/core/lib/security/transport/server_auth_filter.c - - src/core/lib/security/transport/tsi_error.c - - src/core/lib/security/util/json_util.c - - src/core/lib/surface/init_secure.c + - src/core/lib/http/httpcli_security_connector.cc + - src/core/lib/security/context/security_context.cc + - src/core/lib/security/credentials/composite/composite_credentials.cc + - src/core/lib/security/credentials/credentials.cc + - src/core/lib/security/credentials/credentials_metadata.cc + - src/core/lib/security/credentials/fake/fake_credentials.cc + - src/core/lib/security/credentials/google_default/credentials_generic.cc + - src/core/lib/security/credentials/google_default/google_default_credentials.cc + - src/core/lib/security/credentials/iam/iam_credentials.cc + - src/core/lib/security/credentials/jwt/json_token.cc + - src/core/lib/security/credentials/jwt/jwt_credentials.cc + - src/core/lib/security/credentials/jwt/jwt_verifier.cc + - src/core/lib/security/credentials/oauth2/oauth2_credentials.cc + - src/core/lib/security/credentials/plugin/plugin_credentials.cc + - src/core/lib/security/credentials/ssl/ssl_credentials.cc + - src/core/lib/security/transport/client_auth_filter.cc + - src/core/lib/security/transport/lb_targets_info.cc + - src/core/lib/security/transport/secure_endpoint.cc + - src/core/lib/security/transport/security_connector.cc + - src/core/lib/security/transport/security_handshaker.cc + - src/core/lib/security/transport/server_auth_filter.cc + - src/core/lib/security/transport/tsi_error.cc + - src/core/lib/security/util/json_util.cc + - src/core/lib/surface/init_secure.cc secure: true uses: - grpc_base @@ -704,7 +702,7 @@ filegroups: headers: - src/core/ext/filters/workarounds/workaround_utils.h src: - - src/core/ext/filters/workarounds/workaround_utils.c + - src/core/ext/filters/workarounds/workaround_utils.cc uses: - grpc_base - name: grpc_server_load_reporting @@ -712,8 +710,8 @@ filegroups: - src/core/ext/filters/load_reporting/server_load_reporting_filter.h - src/core/ext/filters/load_reporting/server_load_reporting_plugin.h src: - - src/core/ext/filters/load_reporting/server_load_reporting_filter.c - - src/core/ext/filters/load_reporting/server_load_reporting_plugin.c + - src/core/ext/filters/load_reporting/server_load_reporting_filter.cc + - src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc plugin: grpc_server_load_reporting_plugin uses: - grpc_base @@ -736,21 +734,21 @@ filegroups: - test/core/util/slice_splitter.h - test/core/util/trickle_endpoint.h src: - - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c - - test/core/end2end/cq_verifier.c - - test/core/end2end/fixtures/http_proxy_fixture.c - - test/core/end2end/fixtures/proxy.c - - test/core/iomgr/endpoint_tests.c - - test/core/util/debugger_macros.c - - test/core/util/grpc_profiler.c - - test/core/util/memory_counters.c - - test/core/util/mock_endpoint.c - - test/core/util/parse_hexstring.c - - test/core/util/passthru_endpoint.c - - test/core/util/port.c - - test/core/util/port_server_client.c - - test/core/util/slice_splitter.c - - test/core/util/trickle_endpoint.c + - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc + - test/core/end2end/cq_verifier.cc + - test/core/end2end/fixtures/http_proxy_fixture.cc + - test/core/end2end/fixtures/proxy.cc + - test/core/iomgr/endpoint_tests.cc + - test/core/util/debugger_macros.cc + - test/core/util/grpc_profiler.cc + - test/core/util/memory_counters.cc + - test/core/util/mock_endpoint.cc + - test/core/util/parse_hexstring.cc + - test/core/util/passthru_endpoint.cc + - test/core/util/port.cc + - test/core/util/port_server_client.cc + - test/core/util/slice_splitter.cc + - test/core/util/trickle_endpoint.cc deps: - gpr_test_util - gpr @@ -760,7 +758,7 @@ filegroups: - grpc_transport_chttp2 - name: grpc_trace src: - - src/core/lib/debug/trace.c + - src/core/lib/debug/trace.cc deps: - gpr filegroups: @@ -792,28 +790,28 @@ filegroups: - src/core/ext/transport/chttp2/transport/stream_map.h - src/core/ext/transport/chttp2/transport/varint.h src: - - src/core/ext/transport/chttp2/transport/bin_decoder.c - - src/core/ext/transport/chttp2/transport/bin_encoder.c - - src/core/ext/transport/chttp2/transport/chttp2_plugin.c - - src/core/ext/transport/chttp2/transport/chttp2_transport.c - - src/core/ext/transport/chttp2/transport/flow_control.c - - src/core/ext/transport/chttp2/transport/frame_data.c - - src/core/ext/transport/chttp2/transport/frame_goaway.c - - src/core/ext/transport/chttp2/transport/frame_ping.c - - src/core/ext/transport/chttp2/transport/frame_rst_stream.c - - src/core/ext/transport/chttp2/transport/frame_settings.c - - src/core/ext/transport/chttp2/transport/frame_window_update.c - - src/core/ext/transport/chttp2/transport/hpack_encoder.c - - src/core/ext/transport/chttp2/transport/hpack_parser.c - - src/core/ext/transport/chttp2/transport/hpack_table.c - - src/core/ext/transport/chttp2/transport/http2_settings.c - - src/core/ext/transport/chttp2/transport/huffsyms.c - - src/core/ext/transport/chttp2/transport/incoming_metadata.c - - src/core/ext/transport/chttp2/transport/parsing.c - - src/core/ext/transport/chttp2/transport/stream_lists.c - - src/core/ext/transport/chttp2/transport/stream_map.c - - src/core/ext/transport/chttp2/transport/varint.c - - src/core/ext/transport/chttp2/transport/writing.c + - src/core/ext/transport/chttp2/transport/bin_decoder.cc + - src/core/ext/transport/chttp2/transport/bin_encoder.cc + - src/core/ext/transport/chttp2/transport/chttp2_plugin.cc + - src/core/ext/transport/chttp2/transport/chttp2_transport.cc + - src/core/ext/transport/chttp2/transport/flow_control.cc + - src/core/ext/transport/chttp2/transport/frame_data.cc + - src/core/ext/transport/chttp2/transport/frame_goaway.cc + - src/core/ext/transport/chttp2/transport/frame_ping.cc + - src/core/ext/transport/chttp2/transport/frame_rst_stream.cc + - src/core/ext/transport/chttp2/transport/frame_settings.cc + - src/core/ext/transport/chttp2/transport/frame_window_update.cc + - src/core/ext/transport/chttp2/transport/hpack_encoder.cc + - src/core/ext/transport/chttp2/transport/hpack_parser.cc + - src/core/ext/transport/chttp2/transport/hpack_table.cc + - src/core/ext/transport/chttp2/transport/http2_settings.cc + - src/core/ext/transport/chttp2/transport/huffsyms.cc + - src/core/ext/transport/chttp2/transport/incoming_metadata.cc + - src/core/ext/transport/chttp2/transport/parsing.cc + - src/core/ext/transport/chttp2/transport/stream_lists.cc + - src/core/ext/transport/chttp2/transport/stream_map.cc + - src/core/ext/transport/chttp2/transport/varint.cc + - src/core/ext/transport/chttp2/transport/writing.cc plugin: grpc_chttp2_plugin uses: - grpc_base @@ -823,22 +821,22 @@ filegroups: headers: - src/core/ext/transport/chttp2/alpn/alpn.h src: - - src/core/ext/transport/chttp2/alpn/alpn.c + - src/core/ext/transport/chttp2/alpn/alpn.cc deps: - gpr - name: grpc_transport_chttp2_client_connector headers: - src/core/ext/transport/chttp2/client/chttp2_connector.h src: - - src/core/ext/transport/chttp2/client/chttp2_connector.c + - src/core/ext/transport/chttp2/client/chttp2_connector.cc uses: - grpc_transport_chttp2 - grpc_base - grpc_client_channel - name: grpc_transport_chttp2_client_insecure src: - - src/core/ext/transport/chttp2/client/insecure/channel_create.c - - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c + - src/core/ext/transport/chttp2/client/insecure/channel_create.cc + - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc uses: - grpc_transport_chttp2_client_connector - grpc_transport_chttp2 @@ -846,7 +844,7 @@ filegroups: - grpc_client_channel - name: grpc_transport_chttp2_client_secure src: - - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c + - src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc uses: - grpc_transport_chttp2 - grpc_base @@ -857,21 +855,21 @@ filegroups: headers: - src/core/ext/transport/chttp2/server/chttp2_server.h src: - - src/core/ext/transport/chttp2/server/chttp2_server.c + - src/core/ext/transport/chttp2/server/chttp2_server.cc uses: - grpc_transport_chttp2 - grpc_base - name: grpc_transport_chttp2_server_insecure src: - - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c - - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c + - src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc + - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc uses: - grpc_transport_chttp2 - grpc_base - grpc_transport_chttp2_server - name: grpc_transport_chttp2_server_secure src: - - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c + - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc uses: - grpc_transport_chttp2 - grpc_base @@ -886,17 +884,17 @@ filegroups: - src/core/ext/transport/cronet/transport/cronet_transport.h - third_party/objective_c/Cronet/bidirectional_stream_c.h src: - - src/core/ext/transport/cronet/client/secure/cronet_channel_create.c - - src/core/ext/transport/cronet/transport/cronet_api_dummy.c - - src/core/ext/transport/cronet/transport/cronet_transport.c + - src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc + - src/core/ext/transport/cronet/transport/cronet_api_dummy.cc + - src/core/ext/transport/cronet/transport/cronet_transport.cc filegroups: - grpc_base - grpc_transport_chttp2 - grpc_http_filters - name: grpc_transport_inproc src: - - src/core/ext/transport/inproc/inproc_plugin.c - - src/core/ext/transport/inproc/inproc_transport.c + - src/core/ext/transport/inproc/inproc_plugin.cc + - src/core/ext/transport/inproc/inproc_transport.cc plugin: grpc_inproc_plugin uses: - grpc_transport_inproc_headers @@ -910,7 +908,7 @@ filegroups: headers: - src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h src: - - src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c + - src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc plugin: grpc_workaround_cronet_compression_filter uses: - grpc_base @@ -944,10 +942,10 @@ filegroups: - src/core/tsi/ssl_types.h - src/core/tsi/transport_security_grpc.h src: - - src/core/tsi/fake_transport_security.c - - src/core/tsi/gts_transport_security.c - - src/core/tsi/ssl_transport_security.c - - src/core/tsi/transport_security_grpc.c + - src/core/tsi/fake_transport_security.cc + - src/core/tsi/gts_transport_security.cc + - src/core/tsi/ssl_transport_security.cc + - src/core/tsi/transport_security_grpc.cc deps: - gpr plugin: grpc_tsi_gts @@ -962,8 +960,8 @@ filegroups: - src/core/tsi/transport_security_adapter.h - src/core/tsi/transport_security_interface.h src: - - src/core/tsi/transport_security.c - - src/core/tsi/transport_security_adapter.c + - src/core/tsi/transport_security.cc + - src/core/tsi/transport_security_adapter.cc deps: - gpr secure: true @@ -1152,7 +1150,7 @@ libs: build: all language: c src: - - src/core/lib/surface/init.c + - src/core/lib/surface/init.cc baselib: true deps_linkage: static dll: true @@ -1188,7 +1186,7 @@ libs: build: all language: c src: - - src/core/lib/surface/init.c + - src/core/lib/surface/init.cc baselib: true deps_linkage: static dll: true @@ -1256,8 +1254,8 @@ libs: build: all language: c src: - - src/core/lib/surface/init.c - - src/core/lib/surface/init_unsecure.c + - src/core/lib/surface/init.cc + - src/core/lib/surface/init_unsecure.cc baselib: true deps_linkage: static dll: true diff --git a/config.m4 b/config.m4 index edd4c64f261..ff4dcec4a45 100644 --- a/config.m4 +++ b/config.m4 @@ -39,312 +39,310 @@ if test "$PHP_GRPC" != "no"; then src/php/ext/grpc/server.c \ src/php/ext/grpc/server_credentials.c \ src/php/ext/grpc/timeval.c \ - src/core/lib/profiling/basic_timers.c \ - src/core/lib/profiling/stap_timers.c \ - src/core/lib/support/alloc.c \ - src/core/lib/support/arena.c \ - src/core/lib/support/atm.c \ - src/core/lib/support/avl.c \ - src/core/lib/support/backoff.c \ - src/core/lib/support/cmdline.c \ - src/core/lib/support/cpu_iphone.c \ - src/core/lib/support/cpu_linux.c \ - src/core/lib/support/cpu_posix.c \ - src/core/lib/support/cpu_windows.c \ - src/core/lib/support/env_linux.c \ - src/core/lib/support/env_posix.c \ - src/core/lib/support/env_windows.c \ - src/core/lib/support/histogram.c \ - src/core/lib/support/host_port.c \ - src/core/lib/support/log.c \ - src/core/lib/support/log_android.c \ - src/core/lib/support/log_linux.c \ - src/core/lib/support/log_posix.c \ - src/core/lib/support/log_windows.c \ - src/core/lib/support/mpscq.c \ - src/core/lib/support/murmur_hash.c \ - src/core/lib/support/stack_lockfree.c \ - src/core/lib/support/string.c \ - src/core/lib/support/string_posix.c \ - src/core/lib/support/string_util_windows.c \ - src/core/lib/support/string_windows.c \ - src/core/lib/support/subprocess_posix.c \ - src/core/lib/support/subprocess_windows.c \ - src/core/lib/support/sync.c \ - src/core/lib/support/sync_posix.c \ - src/core/lib/support/sync_windows.c \ - src/core/lib/support/thd.c \ - src/core/lib/support/thd_posix.c \ - src/core/lib/support/thd_windows.c \ - src/core/lib/support/time.c \ - src/core/lib/support/time_posix.c \ - src/core/lib/support/time_precise.c \ - src/core/lib/support/time_windows.c \ - src/core/lib/support/tls_pthread.c \ - src/core/lib/support/tmpfile_msys.c \ - src/core/lib/support/tmpfile_posix.c \ - src/core/lib/support/tmpfile_windows.c \ - src/core/lib/support/wrap_memcpy.c \ - src/core/lib/surface/init.c \ - src/core/lib/channel/channel_args.c \ - src/core/lib/channel/channel_stack.c \ - src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/connected_channel.c \ - src/core/lib/channel/handshaker.c \ - src/core/lib/channel/handshaker_factory.c \ - src/core/lib/channel/handshaker_registry.c \ - src/core/lib/compression/compression.c \ - src/core/lib/compression/message_compress.c \ - src/core/lib/compression/stream_compression.c \ - src/core/lib/compression/stream_compression_gzip.c \ - src/core/lib/compression/stream_compression_identity.c \ - src/core/lib/debug/stats.c \ - src/core/lib/debug/stats_data.c \ - src/core/lib/http/format_request.c \ - src/core/lib/http/httpcli.c \ - src/core/lib/http/parser.c \ - src/core/lib/iomgr/call_combiner.c \ - src/core/lib/iomgr/closure.c \ - src/core/lib/iomgr/combiner.c \ - src/core/lib/iomgr/endpoint.c \ - src/core/lib/iomgr/endpoint_pair_posix.c \ - src/core/lib/iomgr/endpoint_pair_uv.c \ - src/core/lib/iomgr/endpoint_pair_windows.c \ - src/core/lib/iomgr/error.c \ - src/core/lib/iomgr/ev_epoll1_linux.c \ - src/core/lib/iomgr/ev_epollex_linux.c \ - src/core/lib/iomgr/ev_epollsig_linux.c \ - src/core/lib/iomgr/ev_poll_posix.c \ - src/core/lib/iomgr/ev_posix.c \ - src/core/lib/iomgr/ev_windows.c \ - src/core/lib/iomgr/exec_ctx.c \ - src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/gethostname_fallback.c \ - src/core/lib/iomgr/gethostname_host_name_max.c \ - src/core/lib/iomgr/gethostname_sysconf.c \ - src/core/lib/iomgr/iocp_windows.c \ - src/core/lib/iomgr/iomgr.c \ - src/core/lib/iomgr/iomgr_posix.c \ - src/core/lib/iomgr/iomgr_uv.c \ - src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/is_epollexclusive_available.c \ - src/core/lib/iomgr/load_file.c \ - src/core/lib/iomgr/lockfree_event.c \ - src/core/lib/iomgr/network_status_tracker.c \ - src/core/lib/iomgr/polling_entity.c \ - src/core/lib/iomgr/pollset_set_uv.c \ - src/core/lib/iomgr/pollset_set_windows.c \ - src/core/lib/iomgr/pollset_uv.c \ - src/core/lib/iomgr/pollset_windows.c \ - src/core/lib/iomgr/resolve_address_posix.c \ - src/core/lib/iomgr/resolve_address_uv.c \ - src/core/lib/iomgr/resolve_address_windows.c \ - src/core/lib/iomgr/resource_quota.c \ - src/core/lib/iomgr/sockaddr_utils.c \ - src/core/lib/iomgr/socket_factory_posix.c \ - src/core/lib/iomgr/socket_mutator.c \ - src/core/lib/iomgr/socket_utils_common_posix.c \ - src/core/lib/iomgr/socket_utils_linux.c \ - src/core/lib/iomgr/socket_utils_posix.c \ - src/core/lib/iomgr/socket_utils_uv.c \ - src/core/lib/iomgr/socket_utils_windows.c \ - src/core/lib/iomgr/socket_windows.c \ - src/core/lib/iomgr/tcp_client_posix.c \ - src/core/lib/iomgr/tcp_client_uv.c \ - src/core/lib/iomgr/tcp_client_windows.c \ - src/core/lib/iomgr/tcp_posix.c \ - src/core/lib/iomgr/tcp_server_posix.c \ - src/core/lib/iomgr/tcp_server_utils_posix_common.c \ - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c \ - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c \ - src/core/lib/iomgr/tcp_server_uv.c \ - src/core/lib/iomgr/tcp_server_windows.c \ - src/core/lib/iomgr/tcp_uv.c \ - src/core/lib/iomgr/tcp_windows.c \ - src/core/lib/iomgr/time_averaged_stats.c \ - src/core/lib/iomgr/timer_generic.c \ - src/core/lib/iomgr/timer_heap.c \ - src/core/lib/iomgr/timer_manager.c \ - src/core/lib/iomgr/timer_uv.c \ - src/core/lib/iomgr/udp_server.c \ - src/core/lib/iomgr/unix_sockets_posix.c \ - src/core/lib/iomgr/unix_sockets_posix_noop.c \ - src/core/lib/iomgr/wakeup_fd_cv.c \ - src/core/lib/iomgr/wakeup_fd_eventfd.c \ - src/core/lib/iomgr/wakeup_fd_nospecial.c \ - src/core/lib/iomgr/wakeup_fd_pipe.c \ - src/core/lib/iomgr/wakeup_fd_posix.c \ - src/core/lib/json/json.c \ - src/core/lib/json/json_reader.c \ - src/core/lib/json/json_string.c \ - src/core/lib/json/json_writer.c \ - src/core/lib/slice/b64.c \ - src/core/lib/slice/percent_encoding.c \ - src/core/lib/slice/slice.c \ - src/core/lib/slice/slice_buffer.c \ - src/core/lib/slice/slice_hash_table.c \ - src/core/lib/slice/slice_intern.c \ - src/core/lib/slice/slice_string_helpers.c \ - src/core/lib/surface/alarm.c \ - src/core/lib/surface/api_trace.c \ - src/core/lib/surface/byte_buffer.c \ - src/core/lib/surface/byte_buffer_reader.c \ - src/core/lib/surface/call.c \ - src/core/lib/surface/call_details.c \ - src/core/lib/surface/call_log_batch.c \ - src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_init.c \ - src/core/lib/surface/channel_ping.c \ - src/core/lib/surface/channel_stack_type.c \ - src/core/lib/surface/completion_queue.c \ - src/core/lib/surface/completion_queue_factory.c \ - src/core/lib/surface/event_string.c \ + src/core/lib/profiling/basic_timers.cc \ + src/core/lib/profiling/stap_timers.cc \ + src/core/lib/support/alloc.cc \ + src/core/lib/support/arena.cc \ + src/core/lib/support/atm.cc \ + src/core/lib/support/avl.cc \ + src/core/lib/support/backoff.cc \ + src/core/lib/support/cmdline.cc \ + src/core/lib/support/cpu_iphone.cc \ + src/core/lib/support/cpu_linux.cc \ + src/core/lib/support/cpu_posix.cc \ + src/core/lib/support/cpu_windows.cc \ + src/core/lib/support/env_linux.cc \ + src/core/lib/support/env_posix.cc \ + src/core/lib/support/env_windows.cc \ + src/core/lib/support/histogram.cc \ + src/core/lib/support/host_port.cc \ + src/core/lib/support/log.cc \ + src/core/lib/support/log_android.cc \ + src/core/lib/support/log_linux.cc \ + src/core/lib/support/log_posix.cc \ + src/core/lib/support/log_windows.cc \ + src/core/lib/support/mpscq.cc \ + src/core/lib/support/murmur_hash.cc \ + src/core/lib/support/stack_lockfree.cc \ + src/core/lib/support/string.cc \ + src/core/lib/support/string_posix.cc \ + src/core/lib/support/string_util_windows.cc \ + src/core/lib/support/string_windows.cc \ + src/core/lib/support/subprocess_posix.cc \ + src/core/lib/support/subprocess_windows.cc \ + src/core/lib/support/sync.cc \ + src/core/lib/support/sync_posix.cc \ + src/core/lib/support/sync_windows.cc \ + src/core/lib/support/thd.cc \ + src/core/lib/support/thd_posix.cc \ + src/core/lib/support/thd_windows.cc \ + src/core/lib/support/time.cc \ + src/core/lib/support/time_posix.cc \ + src/core/lib/support/time_precise.cc \ + src/core/lib/support/time_windows.cc \ + src/core/lib/support/tls_pthread.cc \ + src/core/lib/support/tmpfile_msys.cc \ + src/core/lib/support/tmpfile_posix.cc \ + src/core/lib/support/tmpfile_windows.cc \ + src/core/lib/support/wrap_memcpy.cc \ + src/core/lib/surface/init.cc \ + src/core/lib/channel/channel_args.cc \ + src/core/lib/channel/channel_stack.cc \ + src/core/lib/channel/channel_stack_builder.cc \ + src/core/lib/channel/connected_channel.cc \ + src/core/lib/channel/handshaker.cc \ + src/core/lib/channel/handshaker_factory.cc \ + src/core/lib/channel/handshaker_registry.cc \ + src/core/lib/compression/compression.cc \ + src/core/lib/compression/message_compress.cc \ + src/core/lib/compression/stream_compression.cc \ + src/core/lib/debug/stats.cc \ + src/core/lib/debug/stats_data.cc \ + src/core/lib/http/format_request.cc \ + src/core/lib/http/httpcli.cc \ + src/core/lib/http/parser.cc \ + src/core/lib/iomgr/call_combiner.cc \ + src/core/lib/iomgr/closure.cc \ + src/core/lib/iomgr/combiner.cc \ + src/core/lib/iomgr/endpoint.cc \ + src/core/lib/iomgr/endpoint_pair_posix.cc \ + src/core/lib/iomgr/endpoint_pair_uv.cc \ + src/core/lib/iomgr/endpoint_pair_windows.cc \ + src/core/lib/iomgr/error.cc \ + src/core/lib/iomgr/ev_epoll1_linux.cc \ + src/core/lib/iomgr/ev_epollex_linux.cc \ + src/core/lib/iomgr/ev_epollsig_linux.cc \ + src/core/lib/iomgr/ev_poll_posix.cc \ + src/core/lib/iomgr/ev_posix.cc \ + src/core/lib/iomgr/ev_windows.cc \ + src/core/lib/iomgr/exec_ctx.cc \ + src/core/lib/iomgr/executor.cc \ + src/core/lib/iomgr/gethostname_fallback.cc \ + src/core/lib/iomgr/gethostname_host_name_max.cc \ + src/core/lib/iomgr/gethostname_sysconf.cc \ + src/core/lib/iomgr/iocp_windows.cc \ + src/core/lib/iomgr/iomgr.cc \ + src/core/lib/iomgr/iomgr_posix.cc \ + src/core/lib/iomgr/iomgr_uv.cc \ + src/core/lib/iomgr/iomgr_windows.cc \ + src/core/lib/iomgr/is_epollexclusive_available.cc \ + src/core/lib/iomgr/load_file.cc \ + src/core/lib/iomgr/lockfree_event.cc \ + src/core/lib/iomgr/network_status_tracker.cc \ + src/core/lib/iomgr/polling_entity.cc \ + src/core/lib/iomgr/pollset_set_uv.cc \ + src/core/lib/iomgr/pollset_set_windows.cc \ + src/core/lib/iomgr/pollset_uv.cc \ + src/core/lib/iomgr/pollset_windows.cc \ + src/core/lib/iomgr/resolve_address_posix.cc \ + src/core/lib/iomgr/resolve_address_uv.cc \ + src/core/lib/iomgr/resolve_address_windows.cc \ + src/core/lib/iomgr/resource_quota.cc \ + src/core/lib/iomgr/sockaddr_utils.cc \ + src/core/lib/iomgr/socket_factory_posix.cc \ + src/core/lib/iomgr/socket_mutator.cc \ + src/core/lib/iomgr/socket_utils_common_posix.cc \ + src/core/lib/iomgr/socket_utils_linux.cc \ + src/core/lib/iomgr/socket_utils_posix.cc \ + src/core/lib/iomgr/socket_utils_uv.cc \ + src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_windows.cc \ + src/core/lib/iomgr/tcp_client_posix.cc \ + src/core/lib/iomgr/tcp_client_uv.cc \ + src/core/lib/iomgr/tcp_client_windows.cc \ + src/core/lib/iomgr/tcp_posix.cc \ + src/core/lib/iomgr/tcp_server_posix.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_common.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc \ + src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc \ + src/core/lib/iomgr/tcp_server_uv.cc \ + src/core/lib/iomgr/tcp_server_windows.cc \ + src/core/lib/iomgr/tcp_uv.cc \ + src/core/lib/iomgr/tcp_windows.cc \ + src/core/lib/iomgr/time_averaged_stats.cc \ + src/core/lib/iomgr/timer_generic.cc \ + src/core/lib/iomgr/timer_heap.cc \ + src/core/lib/iomgr/timer_manager.cc \ + src/core/lib/iomgr/timer_uv.cc \ + src/core/lib/iomgr/udp_server.cc \ + src/core/lib/iomgr/unix_sockets_posix.cc \ + src/core/lib/iomgr/unix_sockets_posix_noop.cc \ + src/core/lib/iomgr/wakeup_fd_cv.cc \ + src/core/lib/iomgr/wakeup_fd_eventfd.cc \ + src/core/lib/iomgr/wakeup_fd_nospecial.cc \ + src/core/lib/iomgr/wakeup_fd_pipe.cc \ + src/core/lib/iomgr/wakeup_fd_posix.cc \ + src/core/lib/json/json.cc \ + src/core/lib/json/json_reader.cc \ + src/core/lib/json/json_string.cc \ + src/core/lib/json/json_writer.cc \ + src/core/lib/slice/b64.cc \ + src/core/lib/slice/percent_encoding.cc \ + src/core/lib/slice/slice.cc \ + src/core/lib/slice/slice_buffer.cc \ + src/core/lib/slice/slice_hash_table.cc \ + src/core/lib/slice/slice_intern.cc \ + src/core/lib/slice/slice_string_helpers.cc \ + src/core/lib/surface/alarm.cc \ + src/core/lib/surface/api_trace.cc \ + src/core/lib/surface/byte_buffer.cc \ + src/core/lib/surface/byte_buffer_reader.cc \ + src/core/lib/surface/call.cc \ + src/core/lib/surface/call_details.cc \ + src/core/lib/surface/call_log_batch.cc \ + src/core/lib/surface/channel.cc \ + src/core/lib/surface/channel_init.cc \ + src/core/lib/surface/channel_ping.cc \ + src/core/lib/surface/channel_stack_type.cc \ + src/core/lib/surface/completion_queue.cc \ + src/core/lib/surface/completion_queue_factory.cc \ + src/core/lib/surface/event_string.cc \ src/core/lib/surface/lame_client.cc \ - src/core/lib/surface/metadata_array.c \ - src/core/lib/surface/server.c \ - src/core/lib/surface/validate_metadata.c \ - src/core/lib/surface/version.c \ - src/core/lib/transport/bdp_estimator.c \ - src/core/lib/transport/byte_stream.c \ - src/core/lib/transport/connectivity_state.c \ - src/core/lib/transport/error_utils.c \ - src/core/lib/transport/metadata.c \ - src/core/lib/transport/metadata_batch.c \ - src/core/lib/transport/pid_controller.c \ - src/core/lib/transport/service_config.c \ - src/core/lib/transport/static_metadata.c \ - src/core/lib/transport/status_conversion.c \ - src/core/lib/transport/timeout_encoding.c \ - src/core/lib/transport/transport.c \ - src/core/lib/transport/transport_op_string.c \ - src/core/lib/debug/trace.c \ - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c \ - src/core/ext/transport/chttp2/transport/bin_decoder.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/flow_control.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/http2_settings.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/ext/transport/chttp2/alpn/alpn.c \ - src/core/ext/filters/http/client/http_client_filter.c \ - src/core/ext/filters/http/http_filters_plugin.c \ - src/core/ext/filters/http/message_compress/message_compress_filter.c \ - src/core/ext/filters/http/server/http_server_filter.c \ - src/core/lib/http/httpcli_security_connector.c \ - src/core/lib/security/context/security_context.c \ - src/core/lib/security/credentials/composite/composite_credentials.c \ - src/core/lib/security/credentials/credentials.c \ - src/core/lib/security/credentials/credentials_metadata.c \ - src/core/lib/security/credentials/fake/fake_credentials.c \ - src/core/lib/security/credentials/google_default/credentials_generic.c \ - src/core/lib/security/credentials/google_default/google_default_credentials.c \ - src/core/lib/security/credentials/iam/iam_credentials.c \ - src/core/lib/security/credentials/jwt/json_token.c \ - src/core/lib/security/credentials/jwt/jwt_credentials.c \ - src/core/lib/security/credentials/jwt/jwt_verifier.c \ - src/core/lib/security/credentials/oauth2/oauth2_credentials.c \ - src/core/lib/security/credentials/plugin/plugin_credentials.c \ - src/core/lib/security/credentials/ssl/ssl_credentials.c \ - src/core/lib/security/transport/client_auth_filter.c \ - src/core/lib/security/transport/lb_targets_info.c \ - src/core/lib/security/transport/secure_endpoint.c \ - src/core/lib/security/transport/security_connector.c \ - src/core/lib/security/transport/security_handshaker.c \ - src/core/lib/security/transport/server_auth_filter.c \ - src/core/lib/security/transport/tsi_error.c \ - src/core/lib/security/util/json_util.c \ - src/core/lib/surface/init_secure.c \ - src/core/tsi/fake_transport_security.c \ - src/core/tsi/gts_transport_security.c \ - src/core/tsi/ssl_transport_security.c \ - src/core/tsi/transport_security_grpc.c \ - src/core/tsi/transport_security.c \ - src/core/tsi/transport_security_adapter.c \ - src/core/ext/transport/chttp2/server/chttp2_server.c \ - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ - src/core/ext/filters/client_channel/channel_connectivity.c \ - src/core/ext/filters/client_channel/client_channel.c \ - src/core/ext/filters/client_channel/client_channel_factory.c \ - src/core/ext/filters/client_channel/client_channel_plugin.c \ - src/core/ext/filters/client_channel/connector.c \ - src/core/ext/filters/client_channel/http_connect_handshaker.c \ - src/core/ext/filters/client_channel/http_proxy.c \ - src/core/ext/filters/client_channel/lb_policy.c \ - src/core/ext/filters/client_channel/lb_policy_factory.c \ - src/core/ext/filters/client_channel/lb_policy_registry.c \ - src/core/ext/filters/client_channel/parse_address.c \ - src/core/ext/filters/client_channel/proxy_mapper.c \ - src/core/ext/filters/client_channel/proxy_mapper_registry.c \ - src/core/ext/filters/client_channel/resolver.c \ - src/core/ext/filters/client_channel/resolver_factory.c \ - src/core/ext/filters/client_channel/resolver_registry.c \ - src/core/ext/filters/client_channel/retry_throttle.c \ - src/core/ext/filters/client_channel/subchannel.c \ - src/core/ext/filters/client_channel/subchannel_index.c \ - src/core/ext/filters/client_channel/uri_parser.c \ - src/core/ext/filters/deadline/deadline_filter.c \ - src/core/ext/transport/chttp2/client/chttp2_connector.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c \ - src/core/ext/transport/chttp2/client/insecure/channel_create.c \ - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c \ - src/core/ext/transport/inproc/inproc_plugin.c \ - src/core/ext/transport/inproc/inproc_transport.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c \ - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \ + src/core/lib/surface/metadata_array.cc \ + src/core/lib/surface/server.cc \ + src/core/lib/surface/validate_metadata.cc \ + src/core/lib/surface/version.cc \ + src/core/lib/transport/bdp_estimator.cc \ + src/core/lib/transport/byte_stream.cc \ + src/core/lib/transport/connectivity_state.cc \ + src/core/lib/transport/error_utils.cc \ + src/core/lib/transport/metadata.cc \ + src/core/lib/transport/metadata_batch.cc \ + src/core/lib/transport/pid_controller.cc \ + src/core/lib/transport/service_config.cc \ + src/core/lib/transport/static_metadata.cc \ + src/core/lib/transport/status_conversion.cc \ + src/core/lib/transport/timeout_encoding.cc \ + src/core/lib/transport/transport.cc \ + src/core/lib/transport/transport_op_string.cc \ + src/core/lib/debug/trace.cc \ + src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc \ + src/core/ext/transport/chttp2/transport/bin_decoder.cc \ + src/core/ext/transport/chttp2/transport/bin_encoder.cc \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \ + src/core/ext/transport/chttp2/transport/chttp2_transport.cc \ + src/core/ext/transport/chttp2/transport/flow_control.cc \ + src/core/ext/transport/chttp2/transport/frame_data.cc \ + src/core/ext/transport/chttp2/transport/frame_goaway.cc \ + src/core/ext/transport/chttp2/transport/frame_ping.cc \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.cc \ + src/core/ext/transport/chttp2/transport/frame_settings.cc \ + src/core/ext/transport/chttp2/transport/frame_window_update.cc \ + src/core/ext/transport/chttp2/transport/hpack_encoder.cc \ + src/core/ext/transport/chttp2/transport/hpack_parser.cc \ + src/core/ext/transport/chttp2/transport/hpack_table.cc \ + src/core/ext/transport/chttp2/transport/http2_settings.cc \ + src/core/ext/transport/chttp2/transport/huffsyms.cc \ + src/core/ext/transport/chttp2/transport/incoming_metadata.cc \ + src/core/ext/transport/chttp2/transport/parsing.cc \ + src/core/ext/transport/chttp2/transport/stream_lists.cc \ + src/core/ext/transport/chttp2/transport/stream_map.cc \ + src/core/ext/transport/chttp2/transport/varint.cc \ + src/core/ext/transport/chttp2/transport/writing.cc \ + src/core/ext/transport/chttp2/alpn/alpn.cc \ + src/core/ext/filters/http/client/http_client_filter.cc \ + src/core/ext/filters/http/http_filters_plugin.cc \ + src/core/ext/filters/http/message_compress/message_compress_filter.cc \ + src/core/ext/filters/http/server/http_server_filter.cc \ + src/core/lib/http/httpcli_security_connector.cc \ + src/core/lib/security/context/security_context.cc \ + src/core/lib/security/credentials/composite/composite_credentials.cc \ + src/core/lib/security/credentials/credentials.cc \ + src/core/lib/security/credentials/credentials_metadata.cc \ + src/core/lib/security/credentials/fake/fake_credentials.cc \ + src/core/lib/security/credentials/google_default/credentials_generic.cc \ + src/core/lib/security/credentials/google_default/google_default_credentials.cc \ + src/core/lib/security/credentials/iam/iam_credentials.cc \ + src/core/lib/security/credentials/jwt/json_token.cc \ + src/core/lib/security/credentials/jwt/jwt_credentials.cc \ + src/core/lib/security/credentials/jwt/jwt_verifier.cc \ + src/core/lib/security/credentials/oauth2/oauth2_credentials.cc \ + src/core/lib/security/credentials/plugin/plugin_credentials.cc \ + src/core/lib/security/credentials/ssl/ssl_credentials.cc \ + src/core/lib/security/transport/client_auth_filter.cc \ + src/core/lib/security/transport/lb_targets_info.cc \ + src/core/lib/security/transport/secure_endpoint.cc \ + src/core/lib/security/transport/security_connector.cc \ + src/core/lib/security/transport/security_handshaker.cc \ + src/core/lib/security/transport/server_auth_filter.cc \ + src/core/lib/security/transport/tsi_error.cc \ + src/core/lib/security/util/json_util.cc \ + src/core/lib/surface/init_secure.cc \ + src/core/tsi/fake_transport_security.cc \ + src/core/tsi/gts_transport_security.cc \ + src/core/tsi/ssl_transport_security.cc \ + src/core/tsi/transport_security_grpc.cc \ + src/core/tsi/transport_security.cc \ + src/core/tsi/transport_security_adapter.cc \ + src/core/ext/transport/chttp2/server/chttp2_server.cc \ + src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc \ + src/core/ext/filters/client_channel/channel_connectivity.cc \ + src/core/ext/filters/client_channel/client_channel.cc \ + src/core/ext/filters/client_channel/client_channel_factory.cc \ + src/core/ext/filters/client_channel/client_channel_plugin.cc \ + src/core/ext/filters/client_channel/connector.cc \ + src/core/ext/filters/client_channel/http_connect_handshaker.cc \ + src/core/ext/filters/client_channel/http_proxy.cc \ + src/core/ext/filters/client_channel/lb_policy.cc \ + src/core/ext/filters/client_channel/lb_policy_factory.cc \ + src/core/ext/filters/client_channel/lb_policy_registry.cc \ + src/core/ext/filters/client_channel/parse_address.cc \ + src/core/ext/filters/client_channel/proxy_mapper.cc \ + src/core/ext/filters/client_channel/proxy_mapper_registry.cc \ + src/core/ext/filters/client_channel/resolver.cc \ + src/core/ext/filters/client_channel/resolver_factory.cc \ + src/core/ext/filters/client_channel/resolver_registry.cc \ + src/core/ext/filters/client_channel/retry_throttle.cc \ + src/core/ext/filters/client_channel/subchannel.cc \ + src/core/ext/filters/client_channel/subchannel_index.cc \ + src/core/ext/filters/client_channel/uri_parser.cc \ + src/core/ext/filters/deadline/deadline_filter.cc \ + src/core/ext/transport/chttp2/client/chttp2_connector.cc \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc \ + src/core/ext/transport/chttp2/client/insecure/channel_create.cc \ + src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc \ + src/core/ext/transport/inproc/inproc_plugin.cc \ + src/core/ext/transport/inproc/inproc_transport.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc \ third_party/nanopb/pb_common.c \ third_party/nanopb/pb_decode.c \ third_party/nanopb/pb_encode.c \ - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c \ - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c \ - src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c \ - src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c \ - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c \ - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c \ - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c \ - src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c \ - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c \ - src/core/ext/filters/load_reporting/server_load_reporting_filter.c \ - src/core/ext/filters/load_reporting/server_load_reporting_plugin.c \ - src/core/ext/census/base_resources.c \ - src/core/ext/census/context.c \ - src/core/ext/census/gen/census.pb.c \ - src/core/ext/census/gen/trace_context.pb.c \ - src/core/ext/census/grpc_context.c \ - src/core/ext/census/grpc_filter.c \ - src/core/ext/census/grpc_plugin.c \ - src/core/ext/census/initialize.c \ - src/core/ext/census/intrusive_hash_map.c \ - src/core/ext/census/mlog.c \ - src/core/ext/census/operation.c \ - src/core/ext/census/placeholders.c \ - src/core/ext/census/resource.c \ - src/core/ext/census/trace_context.c \ - src/core/ext/census/tracing.c \ - src/core/ext/filters/max_age/max_age_filter.c \ - src/core/ext/filters/message_size/message_size_filter.c \ - src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c \ - src/core/ext/filters/workarounds/workaround_utils.c \ + src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc \ + src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc \ + src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \ + src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \ + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \ + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc \ + src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc \ + src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc \ + src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc \ + src/core/ext/filters/load_reporting/server_load_reporting_filter.cc \ + src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc \ + src/core/ext/census/base_resources.cc \ + src/core/ext/census/context.cc \ + src/core/ext/census/gen/census.pb.cc \ + src/core/ext/census/gen/trace_context.pb.cc \ + src/core/ext/census/grpc_context.cc \ + src/core/ext/census/grpc_filter.cc \ + src/core/ext/census/grpc_plugin.cc \ + src/core/ext/census/initialize.cc \ + src/core/ext/census/intrusive_hash_map.cc \ + src/core/ext/census/mlog.cc \ + src/core/ext/census/operation.cc \ + src/core/ext/census/placeholders.cc \ + src/core/ext/census/resource.cc \ + src/core/ext/census/trace_context.cc \ + src/core/ext/census/tracing.cc \ + src/core/ext/filters/max_age/max_age_filter.cc \ + src/core/ext/filters/message_size/message_size_filter.cc \ + src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc \ + src/core/ext/filters/workarounds/workaround_utils.cc \ src/core/plugin_registry/grpc_plugin_registry.cc \ src/boringssl/err_data.c \ third_party/boringssl/crypto/aes/aes.c \ diff --git a/config.w32 b/config.w32 index 7247cfafdb1..b710c88781e 100644 --- a/config.w32 +++ b/config.w32 @@ -16,312 +16,310 @@ if (PHP_GRPC != "no") { "src\\php\\ext\\grpc\\server.c " + "src\\php\\ext\\grpc\\server_credentials.c " + "src\\php\\ext\\grpc\\timeval.c " + - "src\\core\\lib\\profiling\\basic_timers.c " + - "src\\core\\lib\\profiling\\stap_timers.c " + - "src\\core\\lib\\support\\alloc.c " + - "src\\core\\lib\\support\\arena.c " + - "src\\core\\lib\\support\\atm.c " + - "src\\core\\lib\\support\\avl.c " + - "src\\core\\lib\\support\\backoff.c " + - "src\\core\\lib\\support\\cmdline.c " + - "src\\core\\lib\\support\\cpu_iphone.c " + - "src\\core\\lib\\support\\cpu_linux.c " + - "src\\core\\lib\\support\\cpu_posix.c " + - "src\\core\\lib\\support\\cpu_windows.c " + - "src\\core\\lib\\support\\env_linux.c " + - "src\\core\\lib\\support\\env_posix.c " + - "src\\core\\lib\\support\\env_windows.c " + - "src\\core\\lib\\support\\histogram.c " + - "src\\core\\lib\\support\\host_port.c " + - "src\\core\\lib\\support\\log.c " + - "src\\core\\lib\\support\\log_android.c " + - "src\\core\\lib\\support\\log_linux.c " + - "src\\core\\lib\\support\\log_posix.c " + - "src\\core\\lib\\support\\log_windows.c " + - "src\\core\\lib\\support\\mpscq.c " + - "src\\core\\lib\\support\\murmur_hash.c " + - "src\\core\\lib\\support\\stack_lockfree.c " + - "src\\core\\lib\\support\\string.c " + - "src\\core\\lib\\support\\string_posix.c " + - "src\\core\\lib\\support\\string_util_windows.c " + - "src\\core\\lib\\support\\string_windows.c " + - "src\\core\\lib\\support\\subprocess_posix.c " + - "src\\core\\lib\\support\\subprocess_windows.c " + - "src\\core\\lib\\support\\sync.c " + - "src\\core\\lib\\support\\sync_posix.c " + - "src\\core\\lib\\support\\sync_windows.c " + - "src\\core\\lib\\support\\thd.c " + - "src\\core\\lib\\support\\thd_posix.c " + - "src\\core\\lib\\support\\thd_windows.c " + - "src\\core\\lib\\support\\time.c " + - "src\\core\\lib\\support\\time_posix.c " + - "src\\core\\lib\\support\\time_precise.c " + - "src\\core\\lib\\support\\time_windows.c " + - "src\\core\\lib\\support\\tls_pthread.c " + - "src\\core\\lib\\support\\tmpfile_msys.c " + - "src\\core\\lib\\support\\tmpfile_posix.c " + - "src\\core\\lib\\support\\tmpfile_windows.c " + - "src\\core\\lib\\support\\wrap_memcpy.c " + - "src\\core\\lib\\surface\\init.c " + - "src\\core\\lib\\channel\\channel_args.c " + - "src\\core\\lib\\channel\\channel_stack.c " + - "src\\core\\lib\\channel\\channel_stack_builder.c " + - "src\\core\\lib\\channel\\connected_channel.c " + - "src\\core\\lib\\channel\\handshaker.c " + - "src\\core\\lib\\channel\\handshaker_factory.c " + - "src\\core\\lib\\channel\\handshaker_registry.c " + - "src\\core\\lib\\compression\\compression.c " + - "src\\core\\lib\\compression\\message_compress.c " + - "src\\core\\lib\\compression\\stream_compression.c " + - "src\\core\\lib\\compression\\stream_compression_gzip.c " + - "src\\core\\lib\\compression\\stream_compression_identity.c " + - "src\\core\\lib\\debug\\stats.c " + - "src\\core\\lib\\debug\\stats_data.c " + - "src\\core\\lib\\http\\format_request.c " + - "src\\core\\lib\\http\\httpcli.c " + - "src\\core\\lib\\http\\parser.c " + - "src\\core\\lib\\iomgr\\call_combiner.c " + - "src\\core\\lib\\iomgr\\closure.c " + - "src\\core\\lib\\iomgr\\combiner.c " + - "src\\core\\lib\\iomgr\\endpoint.c " + - "src\\core\\lib\\iomgr\\endpoint_pair_posix.c " + - "src\\core\\lib\\iomgr\\endpoint_pair_uv.c " + - "src\\core\\lib\\iomgr\\endpoint_pair_windows.c " + - "src\\core\\lib\\iomgr\\error.c " + - "src\\core\\lib\\iomgr\\ev_epoll1_linux.c " + - "src\\core\\lib\\iomgr\\ev_epollex_linux.c " + - "src\\core\\lib\\iomgr\\ev_epollsig_linux.c " + - "src\\core\\lib\\iomgr\\ev_poll_posix.c " + - "src\\core\\lib\\iomgr\\ev_posix.c " + - "src\\core\\lib\\iomgr\\ev_windows.c " + - "src\\core\\lib\\iomgr\\exec_ctx.c " + - "src\\core\\lib\\iomgr\\executor.c " + - "src\\core\\lib\\iomgr\\gethostname_fallback.c " + - "src\\core\\lib\\iomgr\\gethostname_host_name_max.c " + - "src\\core\\lib\\iomgr\\gethostname_sysconf.c " + - "src\\core\\lib\\iomgr\\iocp_windows.c " + - "src\\core\\lib\\iomgr\\iomgr.c " + - "src\\core\\lib\\iomgr\\iomgr_posix.c " + - "src\\core\\lib\\iomgr\\iomgr_uv.c " + - "src\\core\\lib\\iomgr\\iomgr_windows.c " + - "src\\core\\lib\\iomgr\\is_epollexclusive_available.c " + - "src\\core\\lib\\iomgr\\load_file.c " + - "src\\core\\lib\\iomgr\\lockfree_event.c " + - "src\\core\\lib\\iomgr\\network_status_tracker.c " + - "src\\core\\lib\\iomgr\\polling_entity.c " + - "src\\core\\lib\\iomgr\\pollset_set_uv.c " + - "src\\core\\lib\\iomgr\\pollset_set_windows.c " + - "src\\core\\lib\\iomgr\\pollset_uv.c " + - "src\\core\\lib\\iomgr\\pollset_windows.c " + - "src\\core\\lib\\iomgr\\resolve_address_posix.c " + - "src\\core\\lib\\iomgr\\resolve_address_uv.c " + - "src\\core\\lib\\iomgr\\resolve_address_windows.c " + - "src\\core\\lib\\iomgr\\resource_quota.c " + - "src\\core\\lib\\iomgr\\sockaddr_utils.c " + - "src\\core\\lib\\iomgr\\socket_factory_posix.c " + - "src\\core\\lib\\iomgr\\socket_mutator.c " + - "src\\core\\lib\\iomgr\\socket_utils_common_posix.c " + - "src\\core\\lib\\iomgr\\socket_utils_linux.c " + - "src\\core\\lib\\iomgr\\socket_utils_posix.c " + - "src\\core\\lib\\iomgr\\socket_utils_uv.c " + - "src\\core\\lib\\iomgr\\socket_utils_windows.c " + - "src\\core\\lib\\iomgr\\socket_windows.c " + - "src\\core\\lib\\iomgr\\tcp_client_posix.c " + - "src\\core\\lib\\iomgr\\tcp_client_uv.c " + - "src\\core\\lib\\iomgr\\tcp_client_windows.c " + - "src\\core\\lib\\iomgr\\tcp_posix.c " + - "src\\core\\lib\\iomgr\\tcp_server_posix.c " + - "src\\core\\lib\\iomgr\\tcp_server_utils_posix_common.c " + - "src\\core\\lib\\iomgr\\tcp_server_utils_posix_ifaddrs.c " + - "src\\core\\lib\\iomgr\\tcp_server_utils_posix_noifaddrs.c " + - "src\\core\\lib\\iomgr\\tcp_server_uv.c " + - "src\\core\\lib\\iomgr\\tcp_server_windows.c " + - "src\\core\\lib\\iomgr\\tcp_uv.c " + - "src\\core\\lib\\iomgr\\tcp_windows.c " + - "src\\core\\lib\\iomgr\\time_averaged_stats.c " + - "src\\core\\lib\\iomgr\\timer_generic.c " + - "src\\core\\lib\\iomgr\\timer_heap.c " + - "src\\core\\lib\\iomgr\\timer_manager.c " + - "src\\core\\lib\\iomgr\\timer_uv.c " + - "src\\core\\lib\\iomgr\\udp_server.c " + - "src\\core\\lib\\iomgr\\unix_sockets_posix.c " + - "src\\core\\lib\\iomgr\\unix_sockets_posix_noop.c " + - "src\\core\\lib\\iomgr\\wakeup_fd_cv.c " + - "src\\core\\lib\\iomgr\\wakeup_fd_eventfd.c " + - "src\\core\\lib\\iomgr\\wakeup_fd_nospecial.c " + - "src\\core\\lib\\iomgr\\wakeup_fd_pipe.c " + - "src\\core\\lib\\iomgr\\wakeup_fd_posix.c " + - "src\\core\\lib\\json\\json.c " + - "src\\core\\lib\\json\\json_reader.c " + - "src\\core\\lib\\json\\json_string.c " + - "src\\core\\lib\\json\\json_writer.c " + - "src\\core\\lib\\slice\\b64.c " + - "src\\core\\lib\\slice\\percent_encoding.c " + - "src\\core\\lib\\slice\\slice.c " + - "src\\core\\lib\\slice\\slice_buffer.c " + - "src\\core\\lib\\slice\\slice_hash_table.c " + - "src\\core\\lib\\slice\\slice_intern.c " + - "src\\core\\lib\\slice\\slice_string_helpers.c " + - "src\\core\\lib\\surface\\alarm.c " + - "src\\core\\lib\\surface\\api_trace.c " + - "src\\core\\lib\\surface\\byte_buffer.c " + - "src\\core\\lib\\surface\\byte_buffer_reader.c " + - "src\\core\\lib\\surface\\call.c " + - "src\\core\\lib\\surface\\call_details.c " + - "src\\core\\lib\\surface\\call_log_batch.c " + - "src\\core\\lib\\surface\\channel.c " + - "src\\core\\lib\\surface\\channel_init.c " + - "src\\core\\lib\\surface\\channel_ping.c " + - "src\\core\\lib\\surface\\channel_stack_type.c " + - "src\\core\\lib\\surface\\completion_queue.c " + - "src\\core\\lib\\surface\\completion_queue_factory.c " + - "src\\core\\lib\\surface\\event_string.c " + + "src\\core\\lib\\profiling\\basic_timers.cc " + + "src\\core\\lib\\profiling\\stap_timers.cc " + + "src\\core\\lib\\support\\alloc.cc " + + "src\\core\\lib\\support\\arena.cc " + + "src\\core\\lib\\support\\atm.cc " + + "src\\core\\lib\\support\\avl.cc " + + "src\\core\\lib\\support\\backoff.cc " + + "src\\core\\lib\\support\\cmdline.cc " + + "src\\core\\lib\\support\\cpu_iphone.cc " + + "src\\core\\lib\\support\\cpu_linux.cc " + + "src\\core\\lib\\support\\cpu_posix.cc " + + "src\\core\\lib\\support\\cpu_windows.cc " + + "src\\core\\lib\\support\\env_linux.cc " + + "src\\core\\lib\\support\\env_posix.cc " + + "src\\core\\lib\\support\\env_windows.cc " + + "src\\core\\lib\\support\\histogram.cc " + + "src\\core\\lib\\support\\host_port.cc " + + "src\\core\\lib\\support\\log.cc " + + "src\\core\\lib\\support\\log_android.cc " + + "src\\core\\lib\\support\\log_linux.cc " + + "src\\core\\lib\\support\\log_posix.cc " + + "src\\core\\lib\\support\\log_windows.cc " + + "src\\core\\lib\\support\\mpscq.cc " + + "src\\core\\lib\\support\\murmur_hash.cc " + + "src\\core\\lib\\support\\stack_lockfree.cc " + + "src\\core\\lib\\support\\string.cc " + + "src\\core\\lib\\support\\string_posix.cc " + + "src\\core\\lib\\support\\string_util_windows.cc " + + "src\\core\\lib\\support\\string_windows.cc " + + "src\\core\\lib\\support\\subprocess_posix.cc " + + "src\\core\\lib\\support\\subprocess_windows.cc " + + "src\\core\\lib\\support\\sync.cc " + + "src\\core\\lib\\support\\sync_posix.cc " + + "src\\core\\lib\\support\\sync_windows.cc " + + "src\\core\\lib\\support\\thd.cc " + + "src\\core\\lib\\support\\thd_posix.cc " + + "src\\core\\lib\\support\\thd_windows.cc " + + "src\\core\\lib\\support\\time.cc " + + "src\\core\\lib\\support\\time_posix.cc " + + "src\\core\\lib\\support\\time_precise.cc " + + "src\\core\\lib\\support\\time_windows.cc " + + "src\\core\\lib\\support\\tls_pthread.cc " + + "src\\core\\lib\\support\\tmpfile_msys.cc " + + "src\\core\\lib\\support\\tmpfile_posix.cc " + + "src\\core\\lib\\support\\tmpfile_windows.cc " + + "src\\core\\lib\\support\\wrap_memcpy.cc " + + "src\\core\\lib\\surface\\init.cc " + + "src\\core\\lib\\channel\\channel_args.cc " + + "src\\core\\lib\\channel\\channel_stack.cc " + + "src\\core\\lib\\channel\\channel_stack_builder.cc " + + "src\\core\\lib\\channel\\connected_channel.cc " + + "src\\core\\lib\\channel\\handshaker.cc " + + "src\\core\\lib\\channel\\handshaker_factory.cc " + + "src\\core\\lib\\channel\\handshaker_registry.cc " + + "src\\core\\lib\\compression\\compression.cc " + + "src\\core\\lib\\compression\\message_compress.cc " + + "src\\core\\lib\\compression\\stream_compression.cc " + + "src\\core\\lib\\debug\\stats.cc " + + "src\\core\\lib\\debug\\stats_data.cc " + + "src\\core\\lib\\http\\format_request.cc " + + "src\\core\\lib\\http\\httpcli.cc " + + "src\\core\\lib\\http\\parser.cc " + + "src\\core\\lib\\iomgr\\call_combiner.cc " + + "src\\core\\lib\\iomgr\\closure.cc " + + "src\\core\\lib\\iomgr\\combiner.cc " + + "src\\core\\lib\\iomgr\\endpoint.cc " + + "src\\core\\lib\\iomgr\\endpoint_pair_posix.cc " + + "src\\core\\lib\\iomgr\\endpoint_pair_uv.cc " + + "src\\core\\lib\\iomgr\\endpoint_pair_windows.cc " + + "src\\core\\lib\\iomgr\\error.cc " + + "src\\core\\lib\\iomgr\\ev_epoll1_linux.cc " + + "src\\core\\lib\\iomgr\\ev_epollex_linux.cc " + + "src\\core\\lib\\iomgr\\ev_epollsig_linux.cc " + + "src\\core\\lib\\iomgr\\ev_poll_posix.cc " + + "src\\core\\lib\\iomgr\\ev_posix.cc " + + "src\\core\\lib\\iomgr\\ev_windows.cc " + + "src\\core\\lib\\iomgr\\exec_ctx.cc " + + "src\\core\\lib\\iomgr\\executor.cc " + + "src\\core\\lib\\iomgr\\gethostname_fallback.cc " + + "src\\core\\lib\\iomgr\\gethostname_host_name_max.cc " + + "src\\core\\lib\\iomgr\\gethostname_sysconf.cc " + + "src\\core\\lib\\iomgr\\iocp_windows.cc " + + "src\\core\\lib\\iomgr\\iomgr.cc " + + "src\\core\\lib\\iomgr\\iomgr_posix.cc " + + "src\\core\\lib\\iomgr\\iomgr_uv.cc " + + "src\\core\\lib\\iomgr\\iomgr_windows.cc " + + "src\\core\\lib\\iomgr\\is_epollexclusive_available.cc " + + "src\\core\\lib\\iomgr\\load_file.cc " + + "src\\core\\lib\\iomgr\\lockfree_event.cc " + + "src\\core\\lib\\iomgr\\network_status_tracker.cc " + + "src\\core\\lib\\iomgr\\polling_entity.cc " + + "src\\core\\lib\\iomgr\\pollset_set_uv.cc " + + "src\\core\\lib\\iomgr\\pollset_set_windows.cc " + + "src\\core\\lib\\iomgr\\pollset_uv.cc " + + "src\\core\\lib\\iomgr\\pollset_windows.cc " + + "src\\core\\lib\\iomgr\\resolve_address_posix.cc " + + "src\\core\\lib\\iomgr\\resolve_address_uv.cc " + + "src\\core\\lib\\iomgr\\resolve_address_windows.cc " + + "src\\core\\lib\\iomgr\\resource_quota.cc " + + "src\\core\\lib\\iomgr\\sockaddr_utils.cc " + + "src\\core\\lib\\iomgr\\socket_factory_posix.cc " + + "src\\core\\lib\\iomgr\\socket_mutator.cc " + + "src\\core\\lib\\iomgr\\socket_utils_common_posix.cc " + + "src\\core\\lib\\iomgr\\socket_utils_linux.cc " + + "src\\core\\lib\\iomgr\\socket_utils_posix.cc " + + "src\\core\\lib\\iomgr\\socket_utils_uv.cc " + + "src\\core\\lib\\iomgr\\socket_utils_windows.cc " + + "src\\core\\lib\\iomgr\\socket_windows.cc " + + "src\\core\\lib\\iomgr\\tcp_client_posix.cc " + + "src\\core\\lib\\iomgr\\tcp_client_uv.cc " + + "src\\core\\lib\\iomgr\\tcp_client_windows.cc " + + "src\\core\\lib\\iomgr\\tcp_posix.cc " + + "src\\core\\lib\\iomgr\\tcp_server_posix.cc " + + "src\\core\\lib\\iomgr\\tcp_server_utils_posix_common.cc " + + "src\\core\\lib\\iomgr\\tcp_server_utils_posix_ifaddrs.cc " + + "src\\core\\lib\\iomgr\\tcp_server_utils_posix_noifaddrs.cc " + + "src\\core\\lib\\iomgr\\tcp_server_uv.cc " + + "src\\core\\lib\\iomgr\\tcp_server_windows.cc " + + "src\\core\\lib\\iomgr\\tcp_uv.cc " + + "src\\core\\lib\\iomgr\\tcp_windows.cc " + + "src\\core\\lib\\iomgr\\time_averaged_stats.cc " + + "src\\core\\lib\\iomgr\\timer_generic.cc " + + "src\\core\\lib\\iomgr\\timer_heap.cc " + + "src\\core\\lib\\iomgr\\timer_manager.cc " + + "src\\core\\lib\\iomgr\\timer_uv.cc " + + "src\\core\\lib\\iomgr\\udp_server.cc " + + "src\\core\\lib\\iomgr\\unix_sockets_posix.cc " + + "src\\core\\lib\\iomgr\\unix_sockets_posix_noop.cc " + + "src\\core\\lib\\iomgr\\wakeup_fd_cv.cc " + + "src\\core\\lib\\iomgr\\wakeup_fd_eventfd.cc " + + "src\\core\\lib\\iomgr\\wakeup_fd_nospecial.cc " + + "src\\core\\lib\\iomgr\\wakeup_fd_pipe.cc " + + "src\\core\\lib\\iomgr\\wakeup_fd_posix.cc " + + "src\\core\\lib\\json\\json.cc " + + "src\\core\\lib\\json\\json_reader.cc " + + "src\\core\\lib\\json\\json_string.cc " + + "src\\core\\lib\\json\\json_writer.cc " + + "src\\core\\lib\\slice\\b64.cc " + + "src\\core\\lib\\slice\\percent_encoding.cc " + + "src\\core\\lib\\slice\\slice.cc " + + "src\\core\\lib\\slice\\slice_buffer.cc " + + "src\\core\\lib\\slice\\slice_hash_table.cc " + + "src\\core\\lib\\slice\\slice_intern.cc " + + "src\\core\\lib\\slice\\slice_string_helpers.cc " + + "src\\core\\lib\\surface\\alarm.cc " + + "src\\core\\lib\\surface\\api_trace.cc " + + "src\\core\\lib\\surface\\byte_buffer.cc " + + "src\\core\\lib\\surface\\byte_buffer_reader.cc " + + "src\\core\\lib\\surface\\call.cc " + + "src\\core\\lib\\surface\\call_details.cc " + + "src\\core\\lib\\surface\\call_log_batch.cc " + + "src\\core\\lib\\surface\\channel.cc " + + "src\\core\\lib\\surface\\channel_init.cc " + + "src\\core\\lib\\surface\\channel_ping.cc " + + "src\\core\\lib\\surface\\channel_stack_type.cc " + + "src\\core\\lib\\surface\\completion_queue.cc " + + "src\\core\\lib\\surface\\completion_queue_factory.cc " + + "src\\core\\lib\\surface\\event_string.cc " + "src\\core\\lib\\surface\\lame_client.cc " + - "src\\core\\lib\\surface\\metadata_array.c " + - "src\\core\\lib\\surface\\server.c " + - "src\\core\\lib\\surface\\validate_metadata.c " + - "src\\core\\lib\\surface\\version.c " + - "src\\core\\lib\\transport\\bdp_estimator.c " + - "src\\core\\lib\\transport\\byte_stream.c " + - "src\\core\\lib\\transport\\connectivity_state.c " + - "src\\core\\lib\\transport\\error_utils.c " + - "src\\core\\lib\\transport\\metadata.c " + - "src\\core\\lib\\transport\\metadata_batch.c " + - "src\\core\\lib\\transport\\pid_controller.c " + - "src\\core\\lib\\transport\\service_config.c " + - "src\\core\\lib\\transport\\static_metadata.c " + - "src\\core\\lib\\transport\\status_conversion.c " + - "src\\core\\lib\\transport\\timeout_encoding.c " + - "src\\core\\lib\\transport\\transport.c " + - "src\\core\\lib\\transport\\transport_op_string.c " + - "src\\core\\lib\\debug\\trace.c " + - "src\\core\\ext\\transport\\chttp2\\server\\secure\\server_secure_chttp2.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\bin_decoder.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\bin_encoder.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\chttp2_plugin.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\chttp2_transport.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\flow_control.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\frame_data.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\frame_goaway.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\frame_ping.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\frame_rst_stream.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\frame_settings.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\frame_window_update.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\hpack_encoder.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\hpack_parser.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\hpack_table.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\http2_settings.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\huffsyms.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\incoming_metadata.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\parsing.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\stream_lists.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\stream_map.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\varint.c " + - "src\\core\\ext\\transport\\chttp2\\transport\\writing.c " + - "src\\core\\ext\\transport\\chttp2\\alpn\\alpn.c " + - "src\\core\\ext\\filters\\http\\client\\http_client_filter.c " + - "src\\core\\ext\\filters\\http\\http_filters_plugin.c " + - "src\\core\\ext\\filters\\http\\message_compress\\message_compress_filter.c " + - "src\\core\\ext\\filters\\http\\server\\http_server_filter.c " + - "src\\core\\lib\\http\\httpcli_security_connector.c " + - "src\\core\\lib\\security\\context\\security_context.c " + - "src\\core\\lib\\security\\credentials\\composite\\composite_credentials.c " + - "src\\core\\lib\\security\\credentials\\credentials.c " + - "src\\core\\lib\\security\\credentials\\credentials_metadata.c " + - "src\\core\\lib\\security\\credentials\\fake\\fake_credentials.c " + - "src\\core\\lib\\security\\credentials\\google_default\\credentials_generic.c " + - "src\\core\\lib\\security\\credentials\\google_default\\google_default_credentials.c " + - "src\\core\\lib\\security\\credentials\\iam\\iam_credentials.c " + - "src\\core\\lib\\security\\credentials\\jwt\\json_token.c " + - "src\\core\\lib\\security\\credentials\\jwt\\jwt_credentials.c " + - "src\\core\\lib\\security\\credentials\\jwt\\jwt_verifier.c " + - "src\\core\\lib\\security\\credentials\\oauth2\\oauth2_credentials.c " + - "src\\core\\lib\\security\\credentials\\plugin\\plugin_credentials.c " + - "src\\core\\lib\\security\\credentials\\ssl\\ssl_credentials.c " + - "src\\core\\lib\\security\\transport\\client_auth_filter.c " + - "src\\core\\lib\\security\\transport\\lb_targets_info.c " + - "src\\core\\lib\\security\\transport\\secure_endpoint.c " + - "src\\core\\lib\\security\\transport\\security_connector.c " + - "src\\core\\lib\\security\\transport\\security_handshaker.c " + - "src\\core\\lib\\security\\transport\\server_auth_filter.c " + - "src\\core\\lib\\security\\transport\\tsi_error.c " + - "src\\core\\lib\\security\\util\\json_util.c " + - "src\\core\\lib\\surface\\init_secure.c " + - "src\\core\\tsi\\fake_transport_security.c " + - "src\\core\\tsi\\gts_transport_security.c " + - "src\\core\\tsi\\ssl_transport_security.c " + - "src\\core\\tsi\\transport_security_grpc.c " + - "src\\core\\tsi\\transport_security.c " + - "src\\core\\tsi\\transport_security_adapter.c " + - "src\\core\\ext\\transport\\chttp2\\server\\chttp2_server.c " + - "src\\core\\ext\\transport\\chttp2\\client\\secure\\secure_channel_create.c " + - "src\\core\\ext\\filters\\client_channel\\channel_connectivity.c " + - "src\\core\\ext\\filters\\client_channel\\client_channel.c " + - "src\\core\\ext\\filters\\client_channel\\client_channel_factory.c " + - "src\\core\\ext\\filters\\client_channel\\client_channel_plugin.c " + - "src\\core\\ext\\filters\\client_channel\\connector.c " + - "src\\core\\ext\\filters\\client_channel\\http_connect_handshaker.c " + - "src\\core\\ext\\filters\\client_channel\\http_proxy.c " + - "src\\core\\ext\\filters\\client_channel\\lb_policy.c " + - "src\\core\\ext\\filters\\client_channel\\lb_policy_factory.c " + - "src\\core\\ext\\filters\\client_channel\\lb_policy_registry.c " + - "src\\core\\ext\\filters\\client_channel\\parse_address.c " + - "src\\core\\ext\\filters\\client_channel\\proxy_mapper.c " + - "src\\core\\ext\\filters\\client_channel\\proxy_mapper_registry.c " + - "src\\core\\ext\\filters\\client_channel\\resolver.c " + - "src\\core\\ext\\filters\\client_channel\\resolver_factory.c " + - "src\\core\\ext\\filters\\client_channel\\resolver_registry.c " + - "src\\core\\ext\\filters\\client_channel\\retry_throttle.c " + - "src\\core\\ext\\filters\\client_channel\\subchannel.c " + - "src\\core\\ext\\filters\\client_channel\\subchannel_index.c " + - "src\\core\\ext\\filters\\client_channel\\uri_parser.c " + - "src\\core\\ext\\filters\\deadline\\deadline_filter.c " + - "src\\core\\ext\\transport\\chttp2\\client\\chttp2_connector.c " + - "src\\core\\ext\\transport\\chttp2\\server\\insecure\\server_chttp2.c " + - "src\\core\\ext\\transport\\chttp2\\server\\insecure\\server_chttp2_posix.c " + - "src\\core\\ext\\transport\\chttp2\\client\\insecure\\channel_create.c " + - "src\\core\\ext\\transport\\chttp2\\client\\insecure\\channel_create_posix.c " + - "src\\core\\ext\\transport\\inproc\\inproc_plugin.c " + - "src\\core\\ext\\transport\\inproc\\inproc_transport.c " + - "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\client_load_reporting_filter.c " + - "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\grpclb.c " + - "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\grpclb_channel_secure.c " + - "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\grpclb_client_stats.c " + - "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\load_balancer_api.c " + - "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\proto\\grpc\\lb\\v1\\load_balancer.pb.c " + + "src\\core\\lib\\surface\\metadata_array.cc " + + "src\\core\\lib\\surface\\server.cc " + + "src\\core\\lib\\surface\\validate_metadata.cc " + + "src\\core\\lib\\surface\\version.cc " + + "src\\core\\lib\\transport\\bdp_estimator.cc " + + "src\\core\\lib\\transport\\byte_stream.cc " + + "src\\core\\lib\\transport\\connectivity_state.cc " + + "src\\core\\lib\\transport\\error_utils.cc " + + "src\\core\\lib\\transport\\metadata.cc " + + "src\\core\\lib\\transport\\metadata_batch.cc " + + "src\\core\\lib\\transport\\pid_controller.cc " + + "src\\core\\lib\\transport\\service_config.cc " + + "src\\core\\lib\\transport\\static_metadata.cc " + + "src\\core\\lib\\transport\\status_conversion.cc " + + "src\\core\\lib\\transport\\timeout_encoding.cc " + + "src\\core\\lib\\transport\\transport.cc " + + "src\\core\\lib\\transport\\transport_op_string.cc " + + "src\\core\\lib\\debug\\trace.cc " + + "src\\core\\ext\\transport\\chttp2\\server\\secure\\server_secure_chttp2.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\bin_decoder.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\bin_encoder.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\chttp2_plugin.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\chttp2_transport.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\flow_control.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\frame_data.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\frame_goaway.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\frame_ping.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\frame_rst_stream.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\frame_settings.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\frame_window_update.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\hpack_encoder.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\hpack_parser.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\hpack_table.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\http2_settings.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\huffsyms.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\incoming_metadata.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\parsing.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\stream_lists.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\stream_map.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\varint.cc " + + "src\\core\\ext\\transport\\chttp2\\transport\\writing.cc " + + "src\\core\\ext\\transport\\chttp2\\alpn\\alpn.cc " + + "src\\core\\ext\\filters\\http\\client\\http_client_filter.cc " + + "src\\core\\ext\\filters\\http\\http_filters_plugin.cc " + + "src\\core\\ext\\filters\\http\\message_compress\\message_compress_filter.cc " + + "src\\core\\ext\\filters\\http\\server\\http_server_filter.cc " + + "src\\core\\lib\\http\\httpcli_security_connector.cc " + + "src\\core\\lib\\security\\context\\security_context.cc " + + "src\\core\\lib\\security\\credentials\\composite\\composite_credentials.cc " + + "src\\core\\lib\\security\\credentials\\credentials.cc " + + "src\\core\\lib\\security\\credentials\\credentials_metadata.cc " + + "src\\core\\lib\\security\\credentials\\fake\\fake_credentials.cc " + + "src\\core\\lib\\security\\credentials\\google_default\\credentials_generic.cc " + + "src\\core\\lib\\security\\credentials\\google_default\\google_default_credentials.cc " + + "src\\core\\lib\\security\\credentials\\iam\\iam_credentials.cc " + + "src\\core\\lib\\security\\credentials\\jwt\\json_token.cc " + + "src\\core\\lib\\security\\credentials\\jwt\\jwt_credentials.cc " + + "src\\core\\lib\\security\\credentials\\jwt\\jwt_verifier.cc " + + "src\\core\\lib\\security\\credentials\\oauth2\\oauth2_credentials.cc " + + "src\\core\\lib\\security\\credentials\\plugin\\plugin_credentials.cc " + + "src\\core\\lib\\security\\credentials\\ssl\\ssl_credentials.cc " + + "src\\core\\lib\\security\\transport\\client_auth_filter.cc " + + "src\\core\\lib\\security\\transport\\lb_targets_info.cc " + + "src\\core\\lib\\security\\transport\\secure_endpoint.cc " + + "src\\core\\lib\\security\\transport\\security_connector.cc " + + "src\\core\\lib\\security\\transport\\security_handshaker.cc " + + "src\\core\\lib\\security\\transport\\server_auth_filter.cc " + + "src\\core\\lib\\security\\transport\\tsi_error.cc " + + "src\\core\\lib\\security\\util\\json_util.cc " + + "src\\core\\lib\\surface\\init_secure.cc " + + "src\\core\\tsi\\fake_transport_security.cc " + + "src\\core\\tsi\\gts_transport_security.cc " + + "src\\core\\tsi\\ssl_transport_security.cc " + + "src\\core\\tsi\\transport_security_grpc.cc " + + "src\\core\\tsi\\transport_security.cc " + + "src\\core\\tsi\\transport_security_adapter.cc " + + "src\\core\\ext\\transport\\chttp2\\server\\chttp2_server.cc " + + "src\\core\\ext\\transport\\chttp2\\client\\secure\\secure_channel_create.cc " + + "src\\core\\ext\\filters\\client_channel\\channel_connectivity.cc " + + "src\\core\\ext\\filters\\client_channel\\client_channel.cc " + + "src\\core\\ext\\filters\\client_channel\\client_channel_factory.cc " + + "src\\core\\ext\\filters\\client_channel\\client_channel_plugin.cc " + + "src\\core\\ext\\filters\\client_channel\\connector.cc " + + "src\\core\\ext\\filters\\client_channel\\http_connect_handshaker.cc " + + "src\\core\\ext\\filters\\client_channel\\http_proxy.cc " + + "src\\core\\ext\\filters\\client_channel\\lb_policy.cc " + + "src\\core\\ext\\filters\\client_channel\\lb_policy_factory.cc " + + "src\\core\\ext\\filters\\client_channel\\lb_policy_registry.cc " + + "src\\core\\ext\\filters\\client_channel\\parse_address.cc " + + "src\\core\\ext\\filters\\client_channel\\proxy_mapper.cc " + + "src\\core\\ext\\filters\\client_channel\\proxy_mapper_registry.cc " + + "src\\core\\ext\\filters\\client_channel\\resolver.cc " + + "src\\core\\ext\\filters\\client_channel\\resolver_factory.cc " + + "src\\core\\ext\\filters\\client_channel\\resolver_registry.cc " + + "src\\core\\ext\\filters\\client_channel\\retry_throttle.cc " + + "src\\core\\ext\\filters\\client_channel\\subchannel.cc " + + "src\\core\\ext\\filters\\client_channel\\subchannel_index.cc " + + "src\\core\\ext\\filters\\client_channel\\uri_parser.cc " + + "src\\core\\ext\\filters\\deadline\\deadline_filter.cc " + + "src\\core\\ext\\transport\\chttp2\\client\\chttp2_connector.cc " + + "src\\core\\ext\\transport\\chttp2\\server\\insecure\\server_chttp2.cc " + + "src\\core\\ext\\transport\\chttp2\\server\\insecure\\server_chttp2_posix.cc " + + "src\\core\\ext\\transport\\chttp2\\client\\insecure\\channel_create.cc " + + "src\\core\\ext\\transport\\chttp2\\client\\insecure\\channel_create_posix.cc " + + "src\\core\\ext\\transport\\inproc\\inproc_plugin.cc " + + "src\\core\\ext\\transport\\inproc\\inproc_transport.cc " + + "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\client_load_reporting_filter.cc " + + "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\grpclb.cc " + + "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\grpclb_channel_secure.cc " + + "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\grpclb_client_stats.cc " + + "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\load_balancer_api.cc " + + "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\proto\\grpc\\lb\\v1\\load_balancer.pb.cc " + "third_party\\nanopb\\pb_common.c " + "third_party\\nanopb\\pb_decode.c " + "third_party\\nanopb\\pb_encode.c " + - "src\\core\\ext\\filters\\client_channel\\resolver\\fake\\fake_resolver.c " + - "src\\core\\ext\\filters\\client_channel\\lb_policy\\pick_first\\pick_first.c " + - "src\\core\\ext\\filters\\client_channel\\lb_policy\\round_robin\\round_robin.c " + - "src\\core\\ext\\filters\\client_channel\\resolver\\dns\\c_ares\\dns_resolver_ares.c " + - "src\\core\\ext\\filters\\client_channel\\resolver\\dns\\c_ares\\grpc_ares_ev_driver_posix.c " + - "src\\core\\ext\\filters\\client_channel\\resolver\\dns\\c_ares\\grpc_ares_wrapper.c " + - "src\\core\\ext\\filters\\client_channel\\resolver\\dns\\c_ares\\grpc_ares_wrapper_fallback.c " + - "src\\core\\ext\\filters\\client_channel\\resolver\\dns\\native\\dns_resolver.c " + - "src\\core\\ext\\filters\\client_channel\\resolver\\sockaddr\\sockaddr_resolver.c " + - "src\\core\\ext\\filters\\load_reporting\\server_load_reporting_filter.c " + - "src\\core\\ext\\filters\\load_reporting\\server_load_reporting_plugin.c " + - "src\\core\\ext\\census\\base_resources.c " + - "src\\core\\ext\\census\\context.c " + - "src\\core\\ext\\census\\gen\\census.pb.c " + - "src\\core\\ext\\census\\gen\\trace_context.pb.c " + - "src\\core\\ext\\census\\grpc_context.c " + - "src\\core\\ext\\census\\grpc_filter.c " + - "src\\core\\ext\\census\\grpc_plugin.c " + - "src\\core\\ext\\census\\initialize.c " + - "src\\core\\ext\\census\\intrusive_hash_map.c " + - "src\\core\\ext\\census\\mlog.c " + - "src\\core\\ext\\census\\operation.c " + - "src\\core\\ext\\census\\placeholders.c " + - "src\\core\\ext\\census\\resource.c " + - "src\\core\\ext\\census\\trace_context.c " + - "src\\core\\ext\\census\\tracing.c " + - "src\\core\\ext\\filters\\max_age\\max_age_filter.c " + - "src\\core\\ext\\filters\\message_size\\message_size_filter.c " + - "src\\core\\ext\\filters\\workarounds\\workaround_cronet_compression_filter.c " + - "src\\core\\ext\\filters\\workarounds\\workaround_utils.c " + + "src\\core\\ext\\filters\\client_channel\\resolver\\fake\\fake_resolver.cc " + + "src\\core\\ext\\filters\\client_channel\\lb_policy\\pick_first\\pick_first.cc " + + "src\\core\\ext\\filters\\client_channel\\lb_policy\\round_robin\\round_robin.cc " + + "src\\core\\ext\\filters\\client_channel\\resolver\\dns\\c_ares\\dns_resolver_ares.cc " + + "src\\core\\ext\\filters\\client_channel\\resolver\\dns\\c_ares\\grpc_ares_ev_driver_posix.cc " + + "src\\core\\ext\\filters\\client_channel\\resolver\\dns\\c_ares\\grpc_ares_wrapper.cc " + + "src\\core\\ext\\filters\\client_channel\\resolver\\dns\\c_ares\\grpc_ares_wrapper_fallback.cc " + + "src\\core\\ext\\filters\\client_channel\\resolver\\dns\\native\\dns_resolver.cc " + + "src\\core\\ext\\filters\\client_channel\\resolver\\sockaddr\\sockaddr_resolver.cc " + + "src\\core\\ext\\filters\\load_reporting\\server_load_reporting_filter.cc " + + "src\\core\\ext\\filters\\load_reporting\\server_load_reporting_plugin.cc " + + "src\\core\\ext\\census\\base_resources.cc " + + "src\\core\\ext\\census\\context.cc " + + "src\\core\\ext\\census\\gen\\census.pb.cc " + + "src\\core\\ext\\census\\gen\\trace_context.pb.cc " + + "src\\core\\ext\\census\\grpc_context.cc " + + "src\\core\\ext\\census\\grpc_filter.cc " + + "src\\core\\ext\\census\\grpc_plugin.cc " + + "src\\core\\ext\\census\\initialize.cc " + + "src\\core\\ext\\census\\intrusive_hash_map.cc " + + "src\\core\\ext\\census\\mlog.cc " + + "src\\core\\ext\\census\\operation.cc " + + "src\\core\\ext\\census\\placeholders.cc " + + "src\\core\\ext\\census\\resource.cc " + + "src\\core\\ext\\census\\trace_context.cc " + + "src\\core\\ext\\census\\tracing.cc " + + "src\\core\\ext\\filters\\max_age\\max_age_filter.cc " + + "src\\core\\ext\\filters\\message_size\\message_size_filter.cc " + + "src\\core\\ext\\filters\\workarounds\\workaround_cronet_compression_filter.cc " + + "src\\core\\ext\\filters\\workarounds\\workaround_utils.cc " + "src\\core\\plugin_registry\\grpc_plugin_registry.cc " + "src\\boringssl\\err_data.c " + "third_party\\boringssl\\crypto\\aes\\aes.c " + diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 487d35606ea..4f7b00dcfd5 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -201,52 +201,52 @@ Pod::Spec.new do |s| 'src/core/lib/support/string_windows.h', 'src/core/lib/support/time_precise.h', 'src/core/lib/support/tmpfile.h', - 'src/core/lib/profiling/basic_timers.c', - 'src/core/lib/profiling/stap_timers.c', - 'src/core/lib/support/alloc.c', - 'src/core/lib/support/arena.c', - 'src/core/lib/support/atm.c', - 'src/core/lib/support/avl.c', - 'src/core/lib/support/backoff.c', - 'src/core/lib/support/cmdline.c', - 'src/core/lib/support/cpu_iphone.c', - 'src/core/lib/support/cpu_linux.c', - 'src/core/lib/support/cpu_posix.c', - 'src/core/lib/support/cpu_windows.c', - 'src/core/lib/support/env_linux.c', - 'src/core/lib/support/env_posix.c', - 'src/core/lib/support/env_windows.c', - 'src/core/lib/support/histogram.c', - 'src/core/lib/support/host_port.c', - 'src/core/lib/support/log.c', - 'src/core/lib/support/log_android.c', - 'src/core/lib/support/log_linux.c', - 'src/core/lib/support/log_posix.c', - 'src/core/lib/support/log_windows.c', - 'src/core/lib/support/mpscq.c', - 'src/core/lib/support/murmur_hash.c', - 'src/core/lib/support/stack_lockfree.c', - 'src/core/lib/support/string.c', - 'src/core/lib/support/string_posix.c', - 'src/core/lib/support/string_util_windows.c', - 'src/core/lib/support/string_windows.c', - 'src/core/lib/support/subprocess_posix.c', - 'src/core/lib/support/subprocess_windows.c', - 'src/core/lib/support/sync.c', - 'src/core/lib/support/sync_posix.c', - 'src/core/lib/support/sync_windows.c', - 'src/core/lib/support/thd.c', - 'src/core/lib/support/thd_posix.c', - 'src/core/lib/support/thd_windows.c', - 'src/core/lib/support/time.c', - 'src/core/lib/support/time_posix.c', - 'src/core/lib/support/time_precise.c', - 'src/core/lib/support/time_windows.c', - 'src/core/lib/support/tls_pthread.c', - 'src/core/lib/support/tmpfile_msys.c', - 'src/core/lib/support/tmpfile_posix.c', - 'src/core/lib/support/tmpfile_windows.c', - 'src/core/lib/support/wrap_memcpy.c', + 'src/core/lib/profiling/basic_timers.cc', + 'src/core/lib/profiling/stap_timers.cc', + 'src/core/lib/support/alloc.cc', + 'src/core/lib/support/arena.cc', + 'src/core/lib/support/atm.cc', + 'src/core/lib/support/avl.cc', + 'src/core/lib/support/backoff.cc', + 'src/core/lib/support/cmdline.cc', + 'src/core/lib/support/cpu_iphone.cc', + 'src/core/lib/support/cpu_linux.cc', + 'src/core/lib/support/cpu_posix.cc', + 'src/core/lib/support/cpu_windows.cc', + 'src/core/lib/support/env_linux.cc', + 'src/core/lib/support/env_posix.cc', + 'src/core/lib/support/env_windows.cc', + 'src/core/lib/support/histogram.cc', + 'src/core/lib/support/host_port.cc', + 'src/core/lib/support/log.cc', + 'src/core/lib/support/log_android.cc', + 'src/core/lib/support/log_linux.cc', + 'src/core/lib/support/log_posix.cc', + 'src/core/lib/support/log_windows.cc', + 'src/core/lib/support/mpscq.cc', + 'src/core/lib/support/murmur_hash.cc', + 'src/core/lib/support/stack_lockfree.cc', + 'src/core/lib/support/string.cc', + 'src/core/lib/support/string_posix.cc', + 'src/core/lib/support/string_util_windows.cc', + 'src/core/lib/support/string_windows.cc', + 'src/core/lib/support/subprocess_posix.cc', + 'src/core/lib/support/subprocess_windows.cc', + 'src/core/lib/support/sync.cc', + 'src/core/lib/support/sync_posix.cc', + 'src/core/lib/support/sync_windows.cc', + 'src/core/lib/support/thd.cc', + 'src/core/lib/support/thd_posix.cc', + 'src/core/lib/support/thd_windows.cc', + 'src/core/lib/support/time.cc', + 'src/core/lib/support/time_posix.cc', + 'src/core/lib/support/time_precise.cc', + 'src/core/lib/support/time_windows.cc', + 'src/core/lib/support/tls_pthread.cc', + 'src/core/lib/support/tmpfile_msys.cc', + 'src/core/lib/support/tmpfile_posix.cc', + 'src/core/lib/support/tmpfile_windows.cc', + 'src/core/lib/support/wrap_memcpy.cc', 'src/core/ext/transport/chttp2/transport/bin_decoder.h', 'src/core/ext/transport/chttp2/transport/bin_encoder.h', 'src/core/ext/transport/chttp2/transport/chttp2_transport.h', @@ -470,263 +470,261 @@ Pod::Spec.new do |s| 'src/core/ext/filters/message_size/message_size_filter.h', 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h', 'src/core/ext/filters/workarounds/workaround_utils.h', - 'src/core/lib/surface/init.c', - 'src/core/lib/channel/channel_args.c', - 'src/core/lib/channel/channel_stack.c', - 'src/core/lib/channel/channel_stack_builder.c', - 'src/core/lib/channel/connected_channel.c', - 'src/core/lib/channel/handshaker.c', - 'src/core/lib/channel/handshaker_factory.c', - 'src/core/lib/channel/handshaker_registry.c', - 'src/core/lib/compression/compression.c', - 'src/core/lib/compression/message_compress.c', - 'src/core/lib/compression/stream_compression.c', - 'src/core/lib/compression/stream_compression_gzip.c', - 'src/core/lib/compression/stream_compression_identity.c', - 'src/core/lib/debug/stats.c', - 'src/core/lib/debug/stats_data.c', - 'src/core/lib/http/format_request.c', - 'src/core/lib/http/httpcli.c', - 'src/core/lib/http/parser.c', - 'src/core/lib/iomgr/call_combiner.c', - 'src/core/lib/iomgr/closure.c', - 'src/core/lib/iomgr/combiner.c', - 'src/core/lib/iomgr/endpoint.c', - 'src/core/lib/iomgr/endpoint_pair_posix.c', - 'src/core/lib/iomgr/endpoint_pair_uv.c', - 'src/core/lib/iomgr/endpoint_pair_windows.c', - 'src/core/lib/iomgr/error.c', - 'src/core/lib/iomgr/ev_epoll1_linux.c', - 'src/core/lib/iomgr/ev_epollex_linux.c', - 'src/core/lib/iomgr/ev_epollsig_linux.c', - 'src/core/lib/iomgr/ev_poll_posix.c', - 'src/core/lib/iomgr/ev_posix.c', - 'src/core/lib/iomgr/ev_windows.c', - 'src/core/lib/iomgr/exec_ctx.c', - 'src/core/lib/iomgr/executor.c', - 'src/core/lib/iomgr/gethostname_fallback.c', - 'src/core/lib/iomgr/gethostname_host_name_max.c', - 'src/core/lib/iomgr/gethostname_sysconf.c', - 'src/core/lib/iomgr/iocp_windows.c', - 'src/core/lib/iomgr/iomgr.c', - 'src/core/lib/iomgr/iomgr_posix.c', - 'src/core/lib/iomgr/iomgr_uv.c', - 'src/core/lib/iomgr/iomgr_windows.c', - 'src/core/lib/iomgr/is_epollexclusive_available.c', - 'src/core/lib/iomgr/load_file.c', - 'src/core/lib/iomgr/lockfree_event.c', - 'src/core/lib/iomgr/network_status_tracker.c', - 'src/core/lib/iomgr/polling_entity.c', - 'src/core/lib/iomgr/pollset_set_uv.c', - 'src/core/lib/iomgr/pollset_set_windows.c', - 'src/core/lib/iomgr/pollset_uv.c', - 'src/core/lib/iomgr/pollset_windows.c', - 'src/core/lib/iomgr/resolve_address_posix.c', - 'src/core/lib/iomgr/resolve_address_uv.c', - 'src/core/lib/iomgr/resolve_address_windows.c', - 'src/core/lib/iomgr/resource_quota.c', - 'src/core/lib/iomgr/sockaddr_utils.c', - 'src/core/lib/iomgr/socket_factory_posix.c', - 'src/core/lib/iomgr/socket_mutator.c', - 'src/core/lib/iomgr/socket_utils_common_posix.c', - 'src/core/lib/iomgr/socket_utils_linux.c', - 'src/core/lib/iomgr/socket_utils_posix.c', - 'src/core/lib/iomgr/socket_utils_uv.c', - 'src/core/lib/iomgr/socket_utils_windows.c', - 'src/core/lib/iomgr/socket_windows.c', - 'src/core/lib/iomgr/tcp_client_posix.c', - 'src/core/lib/iomgr/tcp_client_uv.c', - 'src/core/lib/iomgr/tcp_client_windows.c', - 'src/core/lib/iomgr/tcp_posix.c', - 'src/core/lib/iomgr/tcp_server_posix.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_common.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c', - 'src/core/lib/iomgr/tcp_server_uv.c', - 'src/core/lib/iomgr/tcp_server_windows.c', - 'src/core/lib/iomgr/tcp_uv.c', - 'src/core/lib/iomgr/tcp_windows.c', - 'src/core/lib/iomgr/time_averaged_stats.c', - 'src/core/lib/iomgr/timer_generic.c', - 'src/core/lib/iomgr/timer_heap.c', - 'src/core/lib/iomgr/timer_manager.c', - 'src/core/lib/iomgr/timer_uv.c', - 'src/core/lib/iomgr/udp_server.c', - 'src/core/lib/iomgr/unix_sockets_posix.c', - 'src/core/lib/iomgr/unix_sockets_posix_noop.c', - 'src/core/lib/iomgr/wakeup_fd_cv.c', - 'src/core/lib/iomgr/wakeup_fd_eventfd.c', - 'src/core/lib/iomgr/wakeup_fd_nospecial.c', - 'src/core/lib/iomgr/wakeup_fd_pipe.c', - 'src/core/lib/iomgr/wakeup_fd_posix.c', - 'src/core/lib/json/json.c', - 'src/core/lib/json/json_reader.c', - 'src/core/lib/json/json_string.c', - 'src/core/lib/json/json_writer.c', - 'src/core/lib/slice/b64.c', - 'src/core/lib/slice/percent_encoding.c', - 'src/core/lib/slice/slice.c', - 'src/core/lib/slice/slice_buffer.c', - 'src/core/lib/slice/slice_hash_table.c', - 'src/core/lib/slice/slice_intern.c', - 'src/core/lib/slice/slice_string_helpers.c', - 'src/core/lib/surface/alarm.c', - 'src/core/lib/surface/api_trace.c', - 'src/core/lib/surface/byte_buffer.c', - 'src/core/lib/surface/byte_buffer_reader.c', - 'src/core/lib/surface/call.c', - 'src/core/lib/surface/call_details.c', - 'src/core/lib/surface/call_log_batch.c', - 'src/core/lib/surface/channel.c', - 'src/core/lib/surface/channel_init.c', - 'src/core/lib/surface/channel_ping.c', - 'src/core/lib/surface/channel_stack_type.c', - 'src/core/lib/surface/completion_queue.c', - 'src/core/lib/surface/completion_queue_factory.c', - 'src/core/lib/surface/event_string.c', + 'src/core/lib/surface/init.cc', + 'src/core/lib/channel/channel_args.cc', + 'src/core/lib/channel/channel_stack.cc', + 'src/core/lib/channel/channel_stack_builder.cc', + 'src/core/lib/channel/connected_channel.cc', + 'src/core/lib/channel/handshaker.cc', + 'src/core/lib/channel/handshaker_factory.cc', + 'src/core/lib/channel/handshaker_registry.cc', + 'src/core/lib/compression/compression.cc', + 'src/core/lib/compression/message_compress.cc', + 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/debug/stats.cc', + 'src/core/lib/debug/stats_data.cc', + 'src/core/lib/http/format_request.cc', + 'src/core/lib/http/httpcli.cc', + 'src/core/lib/http/parser.cc', + 'src/core/lib/iomgr/call_combiner.cc', + 'src/core/lib/iomgr/closure.cc', + 'src/core/lib/iomgr/combiner.cc', + 'src/core/lib/iomgr/endpoint.cc', + 'src/core/lib/iomgr/endpoint_pair_posix.cc', + 'src/core/lib/iomgr/endpoint_pair_uv.cc', + 'src/core/lib/iomgr/endpoint_pair_windows.cc', + 'src/core/lib/iomgr/error.cc', + 'src/core/lib/iomgr/ev_epoll1_linux.cc', + 'src/core/lib/iomgr/ev_epollex_linux.cc', + 'src/core/lib/iomgr/ev_epollsig_linux.cc', + 'src/core/lib/iomgr/ev_poll_posix.cc', + 'src/core/lib/iomgr/ev_posix.cc', + 'src/core/lib/iomgr/ev_windows.cc', + 'src/core/lib/iomgr/exec_ctx.cc', + 'src/core/lib/iomgr/executor.cc', + 'src/core/lib/iomgr/gethostname_fallback.cc', + 'src/core/lib/iomgr/gethostname_host_name_max.cc', + 'src/core/lib/iomgr/gethostname_sysconf.cc', + 'src/core/lib/iomgr/iocp_windows.cc', + 'src/core/lib/iomgr/iomgr.cc', + 'src/core/lib/iomgr/iomgr_posix.cc', + 'src/core/lib/iomgr/iomgr_uv.cc', + 'src/core/lib/iomgr/iomgr_windows.cc', + 'src/core/lib/iomgr/is_epollexclusive_available.cc', + 'src/core/lib/iomgr/load_file.cc', + 'src/core/lib/iomgr/lockfree_event.cc', + 'src/core/lib/iomgr/network_status_tracker.cc', + 'src/core/lib/iomgr/polling_entity.cc', + 'src/core/lib/iomgr/pollset_set_uv.cc', + 'src/core/lib/iomgr/pollset_set_windows.cc', + 'src/core/lib/iomgr/pollset_uv.cc', + 'src/core/lib/iomgr/pollset_windows.cc', + 'src/core/lib/iomgr/resolve_address_posix.cc', + 'src/core/lib/iomgr/resolve_address_uv.cc', + 'src/core/lib/iomgr/resolve_address_windows.cc', + 'src/core/lib/iomgr/resource_quota.cc', + 'src/core/lib/iomgr/sockaddr_utils.cc', + 'src/core/lib/iomgr/socket_factory_posix.cc', + 'src/core/lib/iomgr/socket_mutator.cc', + 'src/core/lib/iomgr/socket_utils_common_posix.cc', + 'src/core/lib/iomgr/socket_utils_linux.cc', + 'src/core/lib/iomgr/socket_utils_posix.cc', + 'src/core/lib/iomgr/socket_utils_uv.cc', + 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_windows.cc', + 'src/core/lib/iomgr/tcp_client_posix.cc', + 'src/core/lib/iomgr/tcp_client_uv.cc', + 'src/core/lib/iomgr/tcp_client_windows.cc', + 'src/core/lib/iomgr/tcp_posix.cc', + 'src/core/lib/iomgr/tcp_server_posix.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_common.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_uv.cc', + 'src/core/lib/iomgr/tcp_server_windows.cc', + 'src/core/lib/iomgr/tcp_uv.cc', + 'src/core/lib/iomgr/tcp_windows.cc', + 'src/core/lib/iomgr/time_averaged_stats.cc', + 'src/core/lib/iomgr/timer_generic.cc', + 'src/core/lib/iomgr/timer_heap.cc', + 'src/core/lib/iomgr/timer_manager.cc', + 'src/core/lib/iomgr/timer_uv.cc', + 'src/core/lib/iomgr/udp_server.cc', + 'src/core/lib/iomgr/unix_sockets_posix.cc', + 'src/core/lib/iomgr/unix_sockets_posix_noop.cc', + 'src/core/lib/iomgr/wakeup_fd_cv.cc', + 'src/core/lib/iomgr/wakeup_fd_eventfd.cc', + 'src/core/lib/iomgr/wakeup_fd_nospecial.cc', + 'src/core/lib/iomgr/wakeup_fd_pipe.cc', + 'src/core/lib/iomgr/wakeup_fd_posix.cc', + 'src/core/lib/json/json.cc', + 'src/core/lib/json/json_reader.cc', + 'src/core/lib/json/json_string.cc', + 'src/core/lib/json/json_writer.cc', + 'src/core/lib/slice/b64.cc', + 'src/core/lib/slice/percent_encoding.cc', + 'src/core/lib/slice/slice.cc', + 'src/core/lib/slice/slice_buffer.cc', + 'src/core/lib/slice/slice_hash_table.cc', + 'src/core/lib/slice/slice_intern.cc', + 'src/core/lib/slice/slice_string_helpers.cc', + 'src/core/lib/surface/alarm.cc', + 'src/core/lib/surface/api_trace.cc', + 'src/core/lib/surface/byte_buffer.cc', + 'src/core/lib/surface/byte_buffer_reader.cc', + 'src/core/lib/surface/call.cc', + 'src/core/lib/surface/call_details.cc', + 'src/core/lib/surface/call_log_batch.cc', + 'src/core/lib/surface/channel.cc', + 'src/core/lib/surface/channel_init.cc', + 'src/core/lib/surface/channel_ping.cc', + 'src/core/lib/surface/channel_stack_type.cc', + 'src/core/lib/surface/completion_queue.cc', + 'src/core/lib/surface/completion_queue_factory.cc', + 'src/core/lib/surface/event_string.cc', 'src/core/lib/surface/lame_client.cc', - 'src/core/lib/surface/metadata_array.c', - 'src/core/lib/surface/server.c', - 'src/core/lib/surface/validate_metadata.c', - 'src/core/lib/surface/version.c', - 'src/core/lib/transport/bdp_estimator.c', - 'src/core/lib/transport/byte_stream.c', - 'src/core/lib/transport/connectivity_state.c', - 'src/core/lib/transport/error_utils.c', - 'src/core/lib/transport/metadata.c', - 'src/core/lib/transport/metadata_batch.c', - 'src/core/lib/transport/pid_controller.c', - 'src/core/lib/transport/service_config.c', - 'src/core/lib/transport/static_metadata.c', - 'src/core/lib/transport/status_conversion.c', - 'src/core/lib/transport/timeout_encoding.c', - 'src/core/lib/transport/transport.c', - 'src/core/lib/transport/transport_op_string.c', - 'src/core/lib/debug/trace.c', - 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c', - 'src/core/ext/transport/chttp2/transport/bin_decoder.c', - 'src/core/ext/transport/chttp2/transport/bin_encoder.c', - 'src/core/ext/transport/chttp2/transport/chttp2_plugin.c', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', - 'src/core/ext/transport/chttp2/transport/flow_control.c', - 'src/core/ext/transport/chttp2/transport/frame_data.c', - 'src/core/ext/transport/chttp2/transport/frame_goaway.c', - 'src/core/ext/transport/chttp2/transport/frame_ping.c', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', - 'src/core/ext/transport/chttp2/transport/frame_settings.c', - 'src/core/ext/transport/chttp2/transport/frame_window_update.c', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', - 'src/core/ext/transport/chttp2/transport/hpack_parser.c', - 'src/core/ext/transport/chttp2/transport/hpack_table.c', - 'src/core/ext/transport/chttp2/transport/http2_settings.c', - 'src/core/ext/transport/chttp2/transport/huffsyms.c', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', - 'src/core/ext/transport/chttp2/transport/parsing.c', - 'src/core/ext/transport/chttp2/transport/stream_lists.c', - 'src/core/ext/transport/chttp2/transport/stream_map.c', - 'src/core/ext/transport/chttp2/transport/varint.c', - 'src/core/ext/transport/chttp2/transport/writing.c', - 'src/core/ext/transport/chttp2/alpn/alpn.c', - 'src/core/ext/filters/http/client/http_client_filter.c', - 'src/core/ext/filters/http/http_filters_plugin.c', - 'src/core/ext/filters/http/message_compress/message_compress_filter.c', - 'src/core/ext/filters/http/server/http_server_filter.c', - 'src/core/lib/http/httpcli_security_connector.c', - 'src/core/lib/security/context/security_context.c', - 'src/core/lib/security/credentials/composite/composite_credentials.c', - 'src/core/lib/security/credentials/credentials.c', - 'src/core/lib/security/credentials/credentials_metadata.c', - 'src/core/lib/security/credentials/fake/fake_credentials.c', - 'src/core/lib/security/credentials/google_default/credentials_generic.c', - 'src/core/lib/security/credentials/google_default/google_default_credentials.c', - 'src/core/lib/security/credentials/iam/iam_credentials.c', - 'src/core/lib/security/credentials/jwt/json_token.c', - 'src/core/lib/security/credentials/jwt/jwt_credentials.c', - 'src/core/lib/security/credentials/jwt/jwt_verifier.c', - 'src/core/lib/security/credentials/oauth2/oauth2_credentials.c', - 'src/core/lib/security/credentials/plugin/plugin_credentials.c', - 'src/core/lib/security/credentials/ssl/ssl_credentials.c', - 'src/core/lib/security/transport/client_auth_filter.c', - 'src/core/lib/security/transport/lb_targets_info.c', - 'src/core/lib/security/transport/secure_endpoint.c', - 'src/core/lib/security/transport/security_connector.c', - 'src/core/lib/security/transport/security_handshaker.c', - 'src/core/lib/security/transport/server_auth_filter.c', - 'src/core/lib/security/transport/tsi_error.c', - 'src/core/lib/security/util/json_util.c', - 'src/core/lib/surface/init_secure.c', - 'src/core/tsi/fake_transport_security.c', - 'src/core/tsi/gts_transport_security.c', - 'src/core/tsi/ssl_transport_security.c', - 'src/core/tsi/transport_security_grpc.c', - 'src/core/tsi/transport_security.c', - 'src/core/tsi/transport_security_adapter.c', - 'src/core/ext/transport/chttp2/server/chttp2_server.c', - 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.c', - 'src/core/ext/filters/client_channel/channel_connectivity.c', - 'src/core/ext/filters/client_channel/client_channel.c', - 'src/core/ext/filters/client_channel/client_channel_factory.c', - 'src/core/ext/filters/client_channel/client_channel_plugin.c', - 'src/core/ext/filters/client_channel/connector.c', - 'src/core/ext/filters/client_channel/http_connect_handshaker.c', - 'src/core/ext/filters/client_channel/http_proxy.c', - 'src/core/ext/filters/client_channel/lb_policy.c', - 'src/core/ext/filters/client_channel/lb_policy_factory.c', - 'src/core/ext/filters/client_channel/lb_policy_registry.c', - 'src/core/ext/filters/client_channel/parse_address.c', - 'src/core/ext/filters/client_channel/proxy_mapper.c', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.c', - 'src/core/ext/filters/client_channel/resolver.c', - 'src/core/ext/filters/client_channel/resolver_factory.c', - 'src/core/ext/filters/client_channel/resolver_registry.c', - 'src/core/ext/filters/client_channel/retry_throttle.c', - 'src/core/ext/filters/client_channel/subchannel.c', - 'src/core/ext/filters/client_channel/subchannel_index.c', - 'src/core/ext/filters/client_channel/uri_parser.c', - 'src/core/ext/filters/deadline/deadline_filter.c', - 'src/core/ext/transport/chttp2/client/chttp2_connector.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c', - 'src/core/ext/transport/chttp2/client/insecure/channel_create.c', - 'src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c', - 'src/core/ext/transport/inproc/inproc_plugin.c', - 'src/core/ext/transport/inproc/inproc_transport.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c', - 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c', - 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c', - 'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c', - 'src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c', - 'src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c', - 'src/core/ext/filters/load_reporting/server_load_reporting_filter.c', - 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.c', - 'src/core/ext/census/base_resources.c', - 'src/core/ext/census/context.c', - 'src/core/ext/census/gen/census.pb.c', - 'src/core/ext/census/gen/trace_context.pb.c', - 'src/core/ext/census/grpc_context.c', - 'src/core/ext/census/grpc_filter.c', - 'src/core/ext/census/grpc_plugin.c', - 'src/core/ext/census/initialize.c', - 'src/core/ext/census/intrusive_hash_map.c', - 'src/core/ext/census/mlog.c', - 'src/core/ext/census/operation.c', - 'src/core/ext/census/placeholders.c', - 'src/core/ext/census/resource.c', - 'src/core/ext/census/trace_context.c', - 'src/core/ext/census/tracing.c', - 'src/core/ext/filters/max_age/max_age_filter.c', - 'src/core/ext/filters/message_size/message_size_filter.c', - 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c', - 'src/core/ext/filters/workarounds/workaround_utils.c', + 'src/core/lib/surface/metadata_array.cc', + 'src/core/lib/surface/server.cc', + 'src/core/lib/surface/validate_metadata.cc', + 'src/core/lib/surface/version.cc', + 'src/core/lib/transport/bdp_estimator.cc', + 'src/core/lib/transport/byte_stream.cc', + 'src/core/lib/transport/connectivity_state.cc', + 'src/core/lib/transport/error_utils.cc', + 'src/core/lib/transport/metadata.cc', + 'src/core/lib/transport/metadata_batch.cc', + 'src/core/lib/transport/pid_controller.cc', + 'src/core/lib/transport/service_config.cc', + 'src/core/lib/transport/static_metadata.cc', + 'src/core/lib/transport/status_conversion.cc', + 'src/core/lib/transport/timeout_encoding.cc', + 'src/core/lib/transport/transport.cc', + 'src/core/lib/transport/transport_op_string.cc', + 'src/core/lib/debug/trace.cc', + 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc', + 'src/core/ext/transport/chttp2/transport/bin_decoder.cc', + 'src/core/ext/transport/chttp2/transport/bin_encoder.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_plugin.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_transport.cc', + 'src/core/ext/transport/chttp2/transport/flow_control.cc', + 'src/core/ext/transport/chttp2/transport/frame_data.cc', + 'src/core/ext/transport/chttp2/transport/frame_goaway.cc', + 'src/core/ext/transport/chttp2/transport/frame_ping.cc', + 'src/core/ext/transport/chttp2/transport/frame_rst_stream.cc', + 'src/core/ext/transport/chttp2/transport/frame_settings.cc', + 'src/core/ext/transport/chttp2/transport/frame_window_update.cc', + 'src/core/ext/transport/chttp2/transport/hpack_encoder.cc', + 'src/core/ext/transport/chttp2/transport/hpack_parser.cc', + 'src/core/ext/transport/chttp2/transport/hpack_table.cc', + 'src/core/ext/transport/chttp2/transport/http2_settings.cc', + 'src/core/ext/transport/chttp2/transport/huffsyms.cc', + 'src/core/ext/transport/chttp2/transport/incoming_metadata.cc', + 'src/core/ext/transport/chttp2/transport/parsing.cc', + 'src/core/ext/transport/chttp2/transport/stream_lists.cc', + 'src/core/ext/transport/chttp2/transport/stream_map.cc', + 'src/core/ext/transport/chttp2/transport/varint.cc', + 'src/core/ext/transport/chttp2/transport/writing.cc', + 'src/core/ext/transport/chttp2/alpn/alpn.cc', + 'src/core/ext/filters/http/client/http_client_filter.cc', + 'src/core/ext/filters/http/http_filters_plugin.cc', + 'src/core/ext/filters/http/message_compress/message_compress_filter.cc', + 'src/core/ext/filters/http/server/http_server_filter.cc', + 'src/core/lib/http/httpcli_security_connector.cc', + 'src/core/lib/security/context/security_context.cc', + 'src/core/lib/security/credentials/composite/composite_credentials.cc', + 'src/core/lib/security/credentials/credentials.cc', + 'src/core/lib/security/credentials/credentials_metadata.cc', + 'src/core/lib/security/credentials/fake/fake_credentials.cc', + 'src/core/lib/security/credentials/google_default/credentials_generic.cc', + 'src/core/lib/security/credentials/google_default/google_default_credentials.cc', + 'src/core/lib/security/credentials/iam/iam_credentials.cc', + 'src/core/lib/security/credentials/jwt/json_token.cc', + 'src/core/lib/security/credentials/jwt/jwt_credentials.cc', + 'src/core/lib/security/credentials/jwt/jwt_verifier.cc', + 'src/core/lib/security/credentials/oauth2/oauth2_credentials.cc', + 'src/core/lib/security/credentials/plugin/plugin_credentials.cc', + 'src/core/lib/security/credentials/ssl/ssl_credentials.cc', + 'src/core/lib/security/transport/client_auth_filter.cc', + 'src/core/lib/security/transport/lb_targets_info.cc', + 'src/core/lib/security/transport/secure_endpoint.cc', + 'src/core/lib/security/transport/security_connector.cc', + 'src/core/lib/security/transport/security_handshaker.cc', + 'src/core/lib/security/transport/server_auth_filter.cc', + 'src/core/lib/security/transport/tsi_error.cc', + 'src/core/lib/security/util/json_util.cc', + 'src/core/lib/surface/init_secure.cc', + 'src/core/tsi/fake_transport_security.cc', + 'src/core/tsi/gts_transport_security.cc', + 'src/core/tsi/ssl_transport_security.cc', + 'src/core/tsi/transport_security_grpc.cc', + 'src/core/tsi/transport_security.cc', + 'src/core/tsi/transport_security_adapter.cc', + 'src/core/ext/transport/chttp2/server/chttp2_server.cc', + 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc', + 'src/core/ext/filters/client_channel/channel_connectivity.cc', + 'src/core/ext/filters/client_channel/client_channel.cc', + 'src/core/ext/filters/client_channel/client_channel_factory.cc', + 'src/core/ext/filters/client_channel/client_channel_plugin.cc', + 'src/core/ext/filters/client_channel/connector.cc', + 'src/core/ext/filters/client_channel/http_connect_handshaker.cc', + 'src/core/ext/filters/client_channel/http_proxy.cc', + 'src/core/ext/filters/client_channel/lb_policy.cc', + 'src/core/ext/filters/client_channel/lb_policy_factory.cc', + 'src/core/ext/filters/client_channel/lb_policy_registry.cc', + 'src/core/ext/filters/client_channel/parse_address.cc', + 'src/core/ext/filters/client_channel/proxy_mapper.cc', + 'src/core/ext/filters/client_channel/proxy_mapper_registry.cc', + 'src/core/ext/filters/client_channel/resolver.cc', + 'src/core/ext/filters/client_channel/resolver_factory.cc', + 'src/core/ext/filters/client_channel/resolver_registry.cc', + 'src/core/ext/filters/client_channel/retry_throttle.cc', + 'src/core/ext/filters/client_channel/subchannel.cc', + 'src/core/ext/filters/client_channel/subchannel_index.cc', + 'src/core/ext/filters/client_channel/uri_parser.cc', + 'src/core/ext/filters/deadline/deadline_filter.cc', + 'src/core/ext/transport/chttp2/client/chttp2_connector.cc', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc', + 'src/core/ext/transport/chttp2/client/insecure/channel_create.cc', + 'src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc', + 'src/core/ext/transport/inproc/inproc_plugin.cc', + 'src/core/ext/transport/inproc/inproc_transport.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc', + 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc', + 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc', + 'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc', + 'src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc', + 'src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc', + 'src/core/ext/filters/load_reporting/server_load_reporting_filter.cc', + 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc', + 'src/core/ext/census/base_resources.cc', + 'src/core/ext/census/context.cc', + 'src/core/ext/census/gen/census.pb.cc', + 'src/core/ext/census/gen/trace_context.pb.cc', + 'src/core/ext/census/grpc_context.cc', + 'src/core/ext/census/grpc_filter.cc', + 'src/core/ext/census/grpc_plugin.cc', + 'src/core/ext/census/initialize.cc', + 'src/core/ext/census/intrusive_hash_map.cc', + 'src/core/ext/census/mlog.cc', + 'src/core/ext/census/operation.cc', + 'src/core/ext/census/placeholders.cc', + 'src/core/ext/census/resource.cc', + 'src/core/ext/census/trace_context.cc', + 'src/core/ext/census/tracing.cc', + 'src/core/ext/filters/max_age/max_age_filter.cc', + 'src/core/ext/filters/message_size/message_size_filter.cc', + 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc', + 'src/core/ext/filters/workarounds/workaround_utils.cc', 'src/core/plugin_registry/grpc_plugin_registry.cc' ss.private_header_files = 'src/core/lib/profiling/timers.h', diff --git a/grpc.gemspec b/grpc.gemspec index 93c0cb54fd8..dc441c7eda1 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -100,52 +100,52 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/support/string_windows.h ) s.files += %w( src/core/lib/support/time_precise.h ) s.files += %w( src/core/lib/support/tmpfile.h ) - s.files += %w( src/core/lib/profiling/basic_timers.c ) - s.files += %w( src/core/lib/profiling/stap_timers.c ) - s.files += %w( src/core/lib/support/alloc.c ) - s.files += %w( src/core/lib/support/arena.c ) - s.files += %w( src/core/lib/support/atm.c ) - s.files += %w( src/core/lib/support/avl.c ) - s.files += %w( src/core/lib/support/backoff.c ) - s.files += %w( src/core/lib/support/cmdline.c ) - s.files += %w( src/core/lib/support/cpu_iphone.c ) - s.files += %w( src/core/lib/support/cpu_linux.c ) - s.files += %w( src/core/lib/support/cpu_posix.c ) - s.files += %w( src/core/lib/support/cpu_windows.c ) - s.files += %w( src/core/lib/support/env_linux.c ) - s.files += %w( src/core/lib/support/env_posix.c ) - s.files += %w( src/core/lib/support/env_windows.c ) - s.files += %w( src/core/lib/support/histogram.c ) - s.files += %w( src/core/lib/support/host_port.c ) - s.files += %w( src/core/lib/support/log.c ) - s.files += %w( src/core/lib/support/log_android.c ) - s.files += %w( src/core/lib/support/log_linux.c ) - s.files += %w( src/core/lib/support/log_posix.c ) - s.files += %w( src/core/lib/support/log_windows.c ) - s.files += %w( src/core/lib/support/mpscq.c ) - s.files += %w( src/core/lib/support/murmur_hash.c ) - s.files += %w( src/core/lib/support/stack_lockfree.c ) - s.files += %w( src/core/lib/support/string.c ) - s.files += %w( src/core/lib/support/string_posix.c ) - s.files += %w( src/core/lib/support/string_util_windows.c ) - s.files += %w( src/core/lib/support/string_windows.c ) - s.files += %w( src/core/lib/support/subprocess_posix.c ) - s.files += %w( src/core/lib/support/subprocess_windows.c ) - s.files += %w( src/core/lib/support/sync.c ) - s.files += %w( src/core/lib/support/sync_posix.c ) - s.files += %w( src/core/lib/support/sync_windows.c ) - s.files += %w( src/core/lib/support/thd.c ) - s.files += %w( src/core/lib/support/thd_posix.c ) - s.files += %w( src/core/lib/support/thd_windows.c ) - s.files += %w( src/core/lib/support/time.c ) - s.files += %w( src/core/lib/support/time_posix.c ) - s.files += %w( src/core/lib/support/time_precise.c ) - s.files += %w( src/core/lib/support/time_windows.c ) - s.files += %w( src/core/lib/support/tls_pthread.c ) - s.files += %w( src/core/lib/support/tmpfile_msys.c ) - s.files += %w( src/core/lib/support/tmpfile_posix.c ) - s.files += %w( src/core/lib/support/tmpfile_windows.c ) - s.files += %w( src/core/lib/support/wrap_memcpy.c ) + s.files += %w( src/core/lib/profiling/basic_timers.cc ) + s.files += %w( src/core/lib/profiling/stap_timers.cc ) + s.files += %w( src/core/lib/support/alloc.cc ) + s.files += %w( src/core/lib/support/arena.cc ) + s.files += %w( src/core/lib/support/atm.cc ) + s.files += %w( src/core/lib/support/avl.cc ) + s.files += %w( src/core/lib/support/backoff.cc ) + s.files += %w( src/core/lib/support/cmdline.cc ) + s.files += %w( src/core/lib/support/cpu_iphone.cc ) + s.files += %w( src/core/lib/support/cpu_linux.cc ) + s.files += %w( src/core/lib/support/cpu_posix.cc ) + s.files += %w( src/core/lib/support/cpu_windows.cc ) + s.files += %w( src/core/lib/support/env_linux.cc ) + s.files += %w( src/core/lib/support/env_posix.cc ) + s.files += %w( src/core/lib/support/env_windows.cc ) + s.files += %w( src/core/lib/support/histogram.cc ) + s.files += %w( src/core/lib/support/host_port.cc ) + s.files += %w( src/core/lib/support/log.cc ) + s.files += %w( src/core/lib/support/log_android.cc ) + s.files += %w( src/core/lib/support/log_linux.cc ) + s.files += %w( src/core/lib/support/log_posix.cc ) + s.files += %w( src/core/lib/support/log_windows.cc ) + s.files += %w( src/core/lib/support/mpscq.cc ) + s.files += %w( src/core/lib/support/murmur_hash.cc ) + s.files += %w( src/core/lib/support/stack_lockfree.cc ) + s.files += %w( src/core/lib/support/string.cc ) + s.files += %w( src/core/lib/support/string_posix.cc ) + s.files += %w( src/core/lib/support/string_util_windows.cc ) + s.files += %w( src/core/lib/support/string_windows.cc ) + s.files += %w( src/core/lib/support/subprocess_posix.cc ) + s.files += %w( src/core/lib/support/subprocess_windows.cc ) + s.files += %w( src/core/lib/support/sync.cc ) + s.files += %w( src/core/lib/support/sync_posix.cc ) + s.files += %w( src/core/lib/support/sync_windows.cc ) + s.files += %w( src/core/lib/support/thd.cc ) + s.files += %w( src/core/lib/support/thd_posix.cc ) + s.files += %w( src/core/lib/support/thd_windows.cc ) + s.files += %w( src/core/lib/support/time.cc ) + s.files += %w( src/core/lib/support/time_posix.cc ) + s.files += %w( src/core/lib/support/time_precise.cc ) + s.files += %w( src/core/lib/support/time_windows.cc ) + s.files += %w( src/core/lib/support/tls_pthread.cc ) + s.files += %w( src/core/lib/support/tmpfile_msys.cc ) + s.files += %w( src/core/lib/support/tmpfile_posix.cc ) + s.files += %w( src/core/lib/support/tmpfile_windows.cc ) + s.files += %w( src/core/lib/support/wrap_memcpy.cc ) s.files += %w( include/grpc/impl/codegen/byte_buffer.h ) s.files += %w( include/grpc/impl/codegen/byte_buffer_reader.h ) s.files += %w( include/grpc/impl/codegen/compression_types.h ) @@ -407,266 +407,264 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/filters/message_size/message_size_filter.h ) s.files += %w( src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h ) s.files += %w( src/core/ext/filters/workarounds/workaround_utils.h ) - s.files += %w( src/core/lib/surface/init.c ) - s.files += %w( src/core/lib/channel/channel_args.c ) - s.files += %w( src/core/lib/channel/channel_stack.c ) - s.files += %w( src/core/lib/channel/channel_stack_builder.c ) - s.files += %w( src/core/lib/channel/connected_channel.c ) - s.files += %w( src/core/lib/channel/handshaker.c ) - s.files += %w( src/core/lib/channel/handshaker_factory.c ) - s.files += %w( src/core/lib/channel/handshaker_registry.c ) - s.files += %w( src/core/lib/compression/compression.c ) - s.files += %w( src/core/lib/compression/message_compress.c ) - s.files += %w( src/core/lib/compression/stream_compression.c ) - s.files += %w( src/core/lib/compression/stream_compression_gzip.c ) - s.files += %w( src/core/lib/compression/stream_compression_identity.c ) - s.files += %w( src/core/lib/debug/stats.c ) - s.files += %w( src/core/lib/debug/stats_data.c ) - s.files += %w( src/core/lib/http/format_request.c ) - s.files += %w( src/core/lib/http/httpcli.c ) - s.files += %w( src/core/lib/http/parser.c ) - s.files += %w( src/core/lib/iomgr/call_combiner.c ) - s.files += %w( src/core/lib/iomgr/closure.c ) - s.files += %w( src/core/lib/iomgr/combiner.c ) - s.files += %w( src/core/lib/iomgr/endpoint.c ) - s.files += %w( src/core/lib/iomgr/endpoint_pair_posix.c ) - s.files += %w( src/core/lib/iomgr/endpoint_pair_uv.c ) - s.files += %w( src/core/lib/iomgr/endpoint_pair_windows.c ) - s.files += %w( src/core/lib/iomgr/error.c ) - s.files += %w( src/core/lib/iomgr/ev_epoll1_linux.c ) - s.files += %w( src/core/lib/iomgr/ev_epollex_linux.c ) - s.files += %w( src/core/lib/iomgr/ev_epollsig_linux.c ) - s.files += %w( src/core/lib/iomgr/ev_poll_posix.c ) - s.files += %w( src/core/lib/iomgr/ev_posix.c ) - s.files += %w( src/core/lib/iomgr/ev_windows.c ) - s.files += %w( src/core/lib/iomgr/exec_ctx.c ) - s.files += %w( src/core/lib/iomgr/executor.c ) - s.files += %w( src/core/lib/iomgr/gethostname_fallback.c ) - s.files += %w( src/core/lib/iomgr/gethostname_host_name_max.c ) - s.files += %w( src/core/lib/iomgr/gethostname_sysconf.c ) - s.files += %w( src/core/lib/iomgr/iocp_windows.c ) - s.files += %w( src/core/lib/iomgr/iomgr.c ) - s.files += %w( src/core/lib/iomgr/iomgr_posix.c ) - s.files += %w( src/core/lib/iomgr/iomgr_uv.c ) - s.files += %w( src/core/lib/iomgr/iomgr_windows.c ) - s.files += %w( src/core/lib/iomgr/is_epollexclusive_available.c ) - s.files += %w( src/core/lib/iomgr/load_file.c ) - s.files += %w( src/core/lib/iomgr/lockfree_event.c ) - s.files += %w( src/core/lib/iomgr/network_status_tracker.c ) - s.files += %w( src/core/lib/iomgr/polling_entity.c ) - s.files += %w( src/core/lib/iomgr/pollset_set_uv.c ) - s.files += %w( src/core/lib/iomgr/pollset_set_windows.c ) - s.files += %w( src/core/lib/iomgr/pollset_uv.c ) - s.files += %w( src/core/lib/iomgr/pollset_windows.c ) - s.files += %w( src/core/lib/iomgr/resolve_address_posix.c ) - s.files += %w( src/core/lib/iomgr/resolve_address_uv.c ) - s.files += %w( src/core/lib/iomgr/resolve_address_windows.c ) - s.files += %w( src/core/lib/iomgr/resource_quota.c ) - s.files += %w( src/core/lib/iomgr/sockaddr_utils.c ) - s.files += %w( src/core/lib/iomgr/socket_factory_posix.c ) - s.files += %w( src/core/lib/iomgr/socket_mutator.c ) - s.files += %w( src/core/lib/iomgr/socket_utils_common_posix.c ) - s.files += %w( src/core/lib/iomgr/socket_utils_linux.c ) - s.files += %w( src/core/lib/iomgr/socket_utils_posix.c ) - s.files += %w( src/core/lib/iomgr/socket_utils_uv.c ) - s.files += %w( src/core/lib/iomgr/socket_utils_windows.c ) - s.files += %w( src/core/lib/iomgr/socket_windows.c ) - s.files += %w( src/core/lib/iomgr/tcp_client_posix.c ) - s.files += %w( src/core/lib/iomgr/tcp_client_uv.c ) - s.files += %w( src/core/lib/iomgr/tcp_client_windows.c ) - s.files += %w( src/core/lib/iomgr/tcp_posix.c ) - s.files += %w( src/core/lib/iomgr/tcp_server_posix.c ) - s.files += %w( src/core/lib/iomgr/tcp_server_utils_posix_common.c ) - s.files += %w( src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c ) - s.files += %w( src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c ) - s.files += %w( src/core/lib/iomgr/tcp_server_uv.c ) - s.files += %w( src/core/lib/iomgr/tcp_server_windows.c ) - s.files += %w( src/core/lib/iomgr/tcp_uv.c ) - s.files += %w( src/core/lib/iomgr/tcp_windows.c ) - s.files += %w( src/core/lib/iomgr/time_averaged_stats.c ) - s.files += %w( src/core/lib/iomgr/timer_generic.c ) - s.files += %w( src/core/lib/iomgr/timer_heap.c ) - s.files += %w( src/core/lib/iomgr/timer_manager.c ) - s.files += %w( src/core/lib/iomgr/timer_uv.c ) - s.files += %w( src/core/lib/iomgr/udp_server.c ) - s.files += %w( src/core/lib/iomgr/unix_sockets_posix.c ) - s.files += %w( src/core/lib/iomgr/unix_sockets_posix_noop.c ) - s.files += %w( src/core/lib/iomgr/wakeup_fd_cv.c ) - s.files += %w( src/core/lib/iomgr/wakeup_fd_eventfd.c ) - s.files += %w( src/core/lib/iomgr/wakeup_fd_nospecial.c ) - s.files += %w( src/core/lib/iomgr/wakeup_fd_pipe.c ) - s.files += %w( src/core/lib/iomgr/wakeup_fd_posix.c ) - s.files += %w( src/core/lib/json/json.c ) - s.files += %w( src/core/lib/json/json_reader.c ) - s.files += %w( src/core/lib/json/json_string.c ) - s.files += %w( src/core/lib/json/json_writer.c ) - s.files += %w( src/core/lib/slice/b64.c ) - s.files += %w( src/core/lib/slice/percent_encoding.c ) - s.files += %w( src/core/lib/slice/slice.c ) - s.files += %w( src/core/lib/slice/slice_buffer.c ) - s.files += %w( src/core/lib/slice/slice_hash_table.c ) - s.files += %w( src/core/lib/slice/slice_intern.c ) - s.files += %w( src/core/lib/slice/slice_string_helpers.c ) - s.files += %w( src/core/lib/surface/alarm.c ) - s.files += %w( src/core/lib/surface/api_trace.c ) - s.files += %w( src/core/lib/surface/byte_buffer.c ) - s.files += %w( src/core/lib/surface/byte_buffer_reader.c ) - s.files += %w( src/core/lib/surface/call.c ) - s.files += %w( src/core/lib/surface/call_details.c ) - s.files += %w( src/core/lib/surface/call_log_batch.c ) - s.files += %w( src/core/lib/surface/channel.c ) - s.files += %w( src/core/lib/surface/channel_init.c ) - s.files += %w( src/core/lib/surface/channel_ping.c ) - s.files += %w( src/core/lib/surface/channel_stack_type.c ) - s.files += %w( src/core/lib/surface/completion_queue.c ) - s.files += %w( src/core/lib/surface/completion_queue_factory.c ) - s.files += %w( src/core/lib/surface/event_string.c ) + s.files += %w( src/core/lib/surface/init.cc ) + s.files += %w( src/core/lib/channel/channel_args.cc ) + s.files += %w( src/core/lib/channel/channel_stack.cc ) + s.files += %w( src/core/lib/channel/channel_stack_builder.cc ) + s.files += %w( src/core/lib/channel/connected_channel.cc ) + s.files += %w( src/core/lib/channel/handshaker.cc ) + s.files += %w( src/core/lib/channel/handshaker_factory.cc ) + s.files += %w( src/core/lib/channel/handshaker_registry.cc ) + s.files += %w( src/core/lib/compression/compression.cc ) + s.files += %w( src/core/lib/compression/message_compress.cc ) + s.files += %w( src/core/lib/compression/stream_compression.cc ) + s.files += %w( src/core/lib/debug/stats.cc ) + s.files += %w( src/core/lib/debug/stats_data.cc ) + s.files += %w( src/core/lib/http/format_request.cc ) + s.files += %w( src/core/lib/http/httpcli.cc ) + s.files += %w( src/core/lib/http/parser.cc ) + s.files += %w( src/core/lib/iomgr/call_combiner.cc ) + s.files += %w( src/core/lib/iomgr/closure.cc ) + s.files += %w( src/core/lib/iomgr/combiner.cc ) + s.files += %w( src/core/lib/iomgr/endpoint.cc ) + s.files += %w( src/core/lib/iomgr/endpoint_pair_posix.cc ) + s.files += %w( src/core/lib/iomgr/endpoint_pair_uv.cc ) + s.files += %w( src/core/lib/iomgr/endpoint_pair_windows.cc ) + s.files += %w( src/core/lib/iomgr/error.cc ) + s.files += %w( src/core/lib/iomgr/ev_epoll1_linux.cc ) + s.files += %w( src/core/lib/iomgr/ev_epollex_linux.cc ) + s.files += %w( src/core/lib/iomgr/ev_epollsig_linux.cc ) + s.files += %w( src/core/lib/iomgr/ev_poll_posix.cc ) + s.files += %w( src/core/lib/iomgr/ev_posix.cc ) + s.files += %w( src/core/lib/iomgr/ev_windows.cc ) + s.files += %w( src/core/lib/iomgr/exec_ctx.cc ) + s.files += %w( src/core/lib/iomgr/executor.cc ) + s.files += %w( src/core/lib/iomgr/gethostname_fallback.cc ) + s.files += %w( src/core/lib/iomgr/gethostname_host_name_max.cc ) + s.files += %w( src/core/lib/iomgr/gethostname_sysconf.cc ) + s.files += %w( src/core/lib/iomgr/iocp_windows.cc ) + s.files += %w( src/core/lib/iomgr/iomgr.cc ) + s.files += %w( src/core/lib/iomgr/iomgr_posix.cc ) + s.files += %w( src/core/lib/iomgr/iomgr_uv.cc ) + s.files += %w( src/core/lib/iomgr/iomgr_windows.cc ) + s.files += %w( src/core/lib/iomgr/is_epollexclusive_available.cc ) + s.files += %w( src/core/lib/iomgr/load_file.cc ) + s.files += %w( src/core/lib/iomgr/lockfree_event.cc ) + s.files += %w( src/core/lib/iomgr/network_status_tracker.cc ) + s.files += %w( src/core/lib/iomgr/polling_entity.cc ) + s.files += %w( src/core/lib/iomgr/pollset_set_uv.cc ) + s.files += %w( src/core/lib/iomgr/pollset_set_windows.cc ) + s.files += %w( src/core/lib/iomgr/pollset_uv.cc ) + s.files += %w( src/core/lib/iomgr/pollset_windows.cc ) + s.files += %w( src/core/lib/iomgr/resolve_address_posix.cc ) + s.files += %w( src/core/lib/iomgr/resolve_address_uv.cc ) + s.files += %w( src/core/lib/iomgr/resolve_address_windows.cc ) + s.files += %w( src/core/lib/iomgr/resource_quota.cc ) + s.files += %w( src/core/lib/iomgr/sockaddr_utils.cc ) + s.files += %w( src/core/lib/iomgr/socket_factory_posix.cc ) + s.files += %w( src/core/lib/iomgr/socket_mutator.cc ) + s.files += %w( src/core/lib/iomgr/socket_utils_common_posix.cc ) + s.files += %w( src/core/lib/iomgr/socket_utils_linux.cc ) + s.files += %w( src/core/lib/iomgr/socket_utils_posix.cc ) + s.files += %w( src/core/lib/iomgr/socket_utils_uv.cc ) + s.files += %w( src/core/lib/iomgr/socket_utils_windows.cc ) + s.files += %w( src/core/lib/iomgr/socket_windows.cc ) + s.files += %w( src/core/lib/iomgr/tcp_client_posix.cc ) + s.files += %w( src/core/lib/iomgr/tcp_client_uv.cc ) + s.files += %w( src/core/lib/iomgr/tcp_client_windows.cc ) + s.files += %w( src/core/lib/iomgr/tcp_posix.cc ) + s.files += %w( src/core/lib/iomgr/tcp_server_posix.cc ) + s.files += %w( src/core/lib/iomgr/tcp_server_utils_posix_common.cc ) + s.files += %w( src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc ) + s.files += %w( src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc ) + s.files += %w( src/core/lib/iomgr/tcp_server_uv.cc ) + s.files += %w( src/core/lib/iomgr/tcp_server_windows.cc ) + s.files += %w( src/core/lib/iomgr/tcp_uv.cc ) + s.files += %w( src/core/lib/iomgr/tcp_windows.cc ) + s.files += %w( src/core/lib/iomgr/time_averaged_stats.cc ) + s.files += %w( src/core/lib/iomgr/timer_generic.cc ) + s.files += %w( src/core/lib/iomgr/timer_heap.cc ) + s.files += %w( src/core/lib/iomgr/timer_manager.cc ) + s.files += %w( src/core/lib/iomgr/timer_uv.cc ) + s.files += %w( src/core/lib/iomgr/udp_server.cc ) + s.files += %w( src/core/lib/iomgr/unix_sockets_posix.cc ) + s.files += %w( src/core/lib/iomgr/unix_sockets_posix_noop.cc ) + s.files += %w( src/core/lib/iomgr/wakeup_fd_cv.cc ) + s.files += %w( src/core/lib/iomgr/wakeup_fd_eventfd.cc ) + s.files += %w( src/core/lib/iomgr/wakeup_fd_nospecial.cc ) + s.files += %w( src/core/lib/iomgr/wakeup_fd_pipe.cc ) + s.files += %w( src/core/lib/iomgr/wakeup_fd_posix.cc ) + s.files += %w( src/core/lib/json/json.cc ) + s.files += %w( src/core/lib/json/json_reader.cc ) + s.files += %w( src/core/lib/json/json_string.cc ) + s.files += %w( src/core/lib/json/json_writer.cc ) + s.files += %w( src/core/lib/slice/b64.cc ) + s.files += %w( src/core/lib/slice/percent_encoding.cc ) + s.files += %w( src/core/lib/slice/slice.cc ) + s.files += %w( src/core/lib/slice/slice_buffer.cc ) + s.files += %w( src/core/lib/slice/slice_hash_table.cc ) + s.files += %w( src/core/lib/slice/slice_intern.cc ) + s.files += %w( src/core/lib/slice/slice_string_helpers.cc ) + s.files += %w( src/core/lib/surface/alarm.cc ) + s.files += %w( src/core/lib/surface/api_trace.cc ) + s.files += %w( src/core/lib/surface/byte_buffer.cc ) + s.files += %w( src/core/lib/surface/byte_buffer_reader.cc ) + s.files += %w( src/core/lib/surface/call.cc ) + s.files += %w( src/core/lib/surface/call_details.cc ) + s.files += %w( src/core/lib/surface/call_log_batch.cc ) + s.files += %w( src/core/lib/surface/channel.cc ) + s.files += %w( src/core/lib/surface/channel_init.cc ) + s.files += %w( src/core/lib/surface/channel_ping.cc ) + s.files += %w( src/core/lib/surface/channel_stack_type.cc ) + s.files += %w( src/core/lib/surface/completion_queue.cc ) + s.files += %w( src/core/lib/surface/completion_queue_factory.cc ) + s.files += %w( src/core/lib/surface/event_string.cc ) s.files += %w( src/core/lib/surface/lame_client.cc ) - s.files += %w( src/core/lib/surface/metadata_array.c ) - s.files += %w( src/core/lib/surface/server.c ) - s.files += %w( src/core/lib/surface/validate_metadata.c ) - s.files += %w( src/core/lib/surface/version.c ) - s.files += %w( src/core/lib/transport/bdp_estimator.c ) - s.files += %w( src/core/lib/transport/byte_stream.c ) - s.files += %w( src/core/lib/transport/connectivity_state.c ) - s.files += %w( src/core/lib/transport/error_utils.c ) - s.files += %w( src/core/lib/transport/metadata.c ) - s.files += %w( src/core/lib/transport/metadata_batch.c ) - s.files += %w( src/core/lib/transport/pid_controller.c ) - s.files += %w( src/core/lib/transport/service_config.c ) - s.files += %w( src/core/lib/transport/static_metadata.c ) - s.files += %w( src/core/lib/transport/status_conversion.c ) - s.files += %w( src/core/lib/transport/timeout_encoding.c ) - s.files += %w( src/core/lib/transport/transport.c ) - s.files += %w( src/core/lib/transport/transport_op_string.c ) - s.files += %w( src/core/lib/debug/trace.c ) - s.files += %w( src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/bin_decoder.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/bin_encoder.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/chttp2_plugin.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/chttp2_transport.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/flow_control.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_data.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_goaway.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_ping.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_rst_stream.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_settings.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_window_update.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/hpack_encoder.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/hpack_parser.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/hpack_table.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/http2_settings.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/huffsyms.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/incoming_metadata.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/parsing.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/stream_lists.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/stream_map.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/varint.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/writing.c ) - s.files += %w( src/core/ext/transport/chttp2/alpn/alpn.c ) - s.files += %w( src/core/ext/filters/http/client/http_client_filter.c ) - s.files += %w( src/core/ext/filters/http/http_filters_plugin.c ) - s.files += %w( src/core/ext/filters/http/message_compress/message_compress_filter.c ) - s.files += %w( src/core/ext/filters/http/server/http_server_filter.c ) - s.files += %w( src/core/lib/http/httpcli_security_connector.c ) - s.files += %w( src/core/lib/security/context/security_context.c ) - s.files += %w( src/core/lib/security/credentials/composite/composite_credentials.c ) - s.files += %w( src/core/lib/security/credentials/credentials.c ) - s.files += %w( src/core/lib/security/credentials/credentials_metadata.c ) - s.files += %w( src/core/lib/security/credentials/fake/fake_credentials.c ) - s.files += %w( src/core/lib/security/credentials/google_default/credentials_generic.c ) - s.files += %w( src/core/lib/security/credentials/google_default/google_default_credentials.c ) - s.files += %w( src/core/lib/security/credentials/iam/iam_credentials.c ) - s.files += %w( src/core/lib/security/credentials/jwt/json_token.c ) - s.files += %w( src/core/lib/security/credentials/jwt/jwt_credentials.c ) - s.files += %w( src/core/lib/security/credentials/jwt/jwt_verifier.c ) - s.files += %w( src/core/lib/security/credentials/oauth2/oauth2_credentials.c ) - s.files += %w( src/core/lib/security/credentials/plugin/plugin_credentials.c ) - s.files += %w( src/core/lib/security/credentials/ssl/ssl_credentials.c ) - s.files += %w( src/core/lib/security/transport/client_auth_filter.c ) - s.files += %w( src/core/lib/security/transport/lb_targets_info.c ) - s.files += %w( src/core/lib/security/transport/secure_endpoint.c ) - s.files += %w( src/core/lib/security/transport/security_connector.c ) - s.files += %w( src/core/lib/security/transport/security_handshaker.c ) - s.files += %w( src/core/lib/security/transport/server_auth_filter.c ) - s.files += %w( src/core/lib/security/transport/tsi_error.c ) - s.files += %w( src/core/lib/security/util/json_util.c ) - s.files += %w( src/core/lib/surface/init_secure.c ) - s.files += %w( src/core/tsi/fake_transport_security.c ) - s.files += %w( src/core/tsi/gts_transport_security.c ) - s.files += %w( src/core/tsi/ssl_transport_security.c ) - s.files += %w( src/core/tsi/transport_security_grpc.c ) - s.files += %w( src/core/tsi/transport_security.c ) - s.files += %w( src/core/tsi/transport_security_adapter.c ) - s.files += %w( src/core/ext/transport/chttp2/server/chttp2_server.c ) - s.files += %w( src/core/ext/transport/chttp2/client/secure/secure_channel_create.c ) - s.files += %w( src/core/ext/filters/client_channel/channel_connectivity.c ) - s.files += %w( src/core/ext/filters/client_channel/client_channel.c ) - s.files += %w( src/core/ext/filters/client_channel/client_channel_factory.c ) - s.files += %w( src/core/ext/filters/client_channel/client_channel_plugin.c ) - s.files += %w( src/core/ext/filters/client_channel/connector.c ) - s.files += %w( src/core/ext/filters/client_channel/http_connect_handshaker.c ) - s.files += %w( src/core/ext/filters/client_channel/http_proxy.c ) - s.files += %w( src/core/ext/filters/client_channel/lb_policy.c ) - s.files += %w( src/core/ext/filters/client_channel/lb_policy_factory.c ) - s.files += %w( src/core/ext/filters/client_channel/lb_policy_registry.c ) - s.files += %w( src/core/ext/filters/client_channel/parse_address.c ) - s.files += %w( src/core/ext/filters/client_channel/proxy_mapper.c ) - s.files += %w( src/core/ext/filters/client_channel/proxy_mapper_registry.c ) - s.files += %w( src/core/ext/filters/client_channel/resolver.c ) - s.files += %w( src/core/ext/filters/client_channel/resolver_factory.c ) - s.files += %w( src/core/ext/filters/client_channel/resolver_registry.c ) - s.files += %w( src/core/ext/filters/client_channel/retry_throttle.c ) - s.files += %w( src/core/ext/filters/client_channel/subchannel.c ) - s.files += %w( src/core/ext/filters/client_channel/subchannel_index.c ) - s.files += %w( src/core/ext/filters/client_channel/uri_parser.c ) - s.files += %w( src/core/ext/filters/deadline/deadline_filter.c ) - s.files += %w( src/core/ext/transport/chttp2/client/chttp2_connector.c ) - s.files += %w( src/core/ext/transport/chttp2/server/insecure/server_chttp2.c ) - s.files += %w( src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c ) - s.files += %w( src/core/ext/transport/chttp2/client/insecure/channel_create.c ) - s.files += %w( src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c ) - s.files += %w( src/core/ext/transport/inproc/inproc_plugin.c ) - s.files += %w( src/core/ext/transport/inproc/inproc_transport.c ) - s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c ) - s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c ) - s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c ) - s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c ) - s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c ) - s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c ) + s.files += %w( src/core/lib/surface/metadata_array.cc ) + s.files += %w( src/core/lib/surface/server.cc ) + s.files += %w( src/core/lib/surface/validate_metadata.cc ) + s.files += %w( src/core/lib/surface/version.cc ) + s.files += %w( src/core/lib/transport/bdp_estimator.cc ) + s.files += %w( src/core/lib/transport/byte_stream.cc ) + s.files += %w( src/core/lib/transport/connectivity_state.cc ) + s.files += %w( src/core/lib/transport/error_utils.cc ) + s.files += %w( src/core/lib/transport/metadata.cc ) + s.files += %w( src/core/lib/transport/metadata_batch.cc ) + s.files += %w( src/core/lib/transport/pid_controller.cc ) + s.files += %w( src/core/lib/transport/service_config.cc ) + s.files += %w( src/core/lib/transport/static_metadata.cc ) + s.files += %w( src/core/lib/transport/status_conversion.cc ) + s.files += %w( src/core/lib/transport/timeout_encoding.cc ) + s.files += %w( src/core/lib/transport/transport.cc ) + s.files += %w( src/core/lib/transport/transport_op_string.cc ) + s.files += %w( src/core/lib/debug/trace.cc ) + s.files += %w( src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/bin_decoder.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/bin_encoder.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/chttp2_plugin.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/chttp2_transport.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/flow_control.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_data.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_goaway.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_ping.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_rst_stream.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_settings.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_window_update.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/hpack_encoder.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/hpack_parser.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/hpack_table.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/http2_settings.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/huffsyms.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/incoming_metadata.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/parsing.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/stream_lists.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/stream_map.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/varint.cc ) + s.files += %w( src/core/ext/transport/chttp2/transport/writing.cc ) + s.files += %w( src/core/ext/transport/chttp2/alpn/alpn.cc ) + s.files += %w( src/core/ext/filters/http/client/http_client_filter.cc ) + s.files += %w( src/core/ext/filters/http/http_filters_plugin.cc ) + s.files += %w( src/core/ext/filters/http/message_compress/message_compress_filter.cc ) + s.files += %w( src/core/ext/filters/http/server/http_server_filter.cc ) + s.files += %w( src/core/lib/http/httpcli_security_connector.cc ) + s.files += %w( src/core/lib/security/context/security_context.cc ) + s.files += %w( src/core/lib/security/credentials/composite/composite_credentials.cc ) + s.files += %w( src/core/lib/security/credentials/credentials.cc ) + s.files += %w( src/core/lib/security/credentials/credentials_metadata.cc ) + s.files += %w( src/core/lib/security/credentials/fake/fake_credentials.cc ) + s.files += %w( src/core/lib/security/credentials/google_default/credentials_generic.cc ) + s.files += %w( src/core/lib/security/credentials/google_default/google_default_credentials.cc ) + s.files += %w( src/core/lib/security/credentials/iam/iam_credentials.cc ) + s.files += %w( src/core/lib/security/credentials/jwt/json_token.cc ) + s.files += %w( src/core/lib/security/credentials/jwt/jwt_credentials.cc ) + s.files += %w( src/core/lib/security/credentials/jwt/jwt_verifier.cc ) + s.files += %w( src/core/lib/security/credentials/oauth2/oauth2_credentials.cc ) + s.files += %w( src/core/lib/security/credentials/plugin/plugin_credentials.cc ) + s.files += %w( src/core/lib/security/credentials/ssl/ssl_credentials.cc ) + s.files += %w( src/core/lib/security/transport/client_auth_filter.cc ) + s.files += %w( src/core/lib/security/transport/lb_targets_info.cc ) + s.files += %w( src/core/lib/security/transport/secure_endpoint.cc ) + s.files += %w( src/core/lib/security/transport/security_connector.cc ) + s.files += %w( src/core/lib/security/transport/security_handshaker.cc ) + s.files += %w( src/core/lib/security/transport/server_auth_filter.cc ) + s.files += %w( src/core/lib/security/transport/tsi_error.cc ) + s.files += %w( src/core/lib/security/util/json_util.cc ) + s.files += %w( src/core/lib/surface/init_secure.cc ) + s.files += %w( src/core/tsi/fake_transport_security.cc ) + s.files += %w( src/core/tsi/gts_transport_security.cc ) + s.files += %w( src/core/tsi/ssl_transport_security.cc ) + s.files += %w( src/core/tsi/transport_security_grpc.cc ) + s.files += %w( src/core/tsi/transport_security.cc ) + s.files += %w( src/core/tsi/transport_security_adapter.cc ) + s.files += %w( src/core/ext/transport/chttp2/server/chttp2_server.cc ) + s.files += %w( src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc ) + s.files += %w( src/core/ext/filters/client_channel/channel_connectivity.cc ) + s.files += %w( src/core/ext/filters/client_channel/client_channel.cc ) + s.files += %w( src/core/ext/filters/client_channel/client_channel_factory.cc ) + s.files += %w( src/core/ext/filters/client_channel/client_channel_plugin.cc ) + s.files += %w( src/core/ext/filters/client_channel/connector.cc ) + s.files += %w( src/core/ext/filters/client_channel/http_connect_handshaker.cc ) + s.files += %w( src/core/ext/filters/client_channel/http_proxy.cc ) + s.files += %w( src/core/ext/filters/client_channel/lb_policy.cc ) + s.files += %w( src/core/ext/filters/client_channel/lb_policy_factory.cc ) + s.files += %w( src/core/ext/filters/client_channel/lb_policy_registry.cc ) + s.files += %w( src/core/ext/filters/client_channel/parse_address.cc ) + s.files += %w( src/core/ext/filters/client_channel/proxy_mapper.cc ) + s.files += %w( src/core/ext/filters/client_channel/proxy_mapper_registry.cc ) + s.files += %w( src/core/ext/filters/client_channel/resolver.cc ) + s.files += %w( src/core/ext/filters/client_channel/resolver_factory.cc ) + s.files += %w( src/core/ext/filters/client_channel/resolver_registry.cc ) + s.files += %w( src/core/ext/filters/client_channel/retry_throttle.cc ) + s.files += %w( src/core/ext/filters/client_channel/subchannel.cc ) + s.files += %w( src/core/ext/filters/client_channel/subchannel_index.cc ) + s.files += %w( src/core/ext/filters/client_channel/uri_parser.cc ) + s.files += %w( src/core/ext/filters/deadline/deadline_filter.cc ) + s.files += %w( src/core/ext/transport/chttp2/client/chttp2_connector.cc ) + s.files += %w( src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc ) + s.files += %w( src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc ) + s.files += %w( src/core/ext/transport/chttp2/client/insecure/channel_create.cc ) + s.files += %w( src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc ) + s.files += %w( src/core/ext/transport/inproc/inproc_plugin.cc ) + s.files += %w( src/core/ext/transport/inproc/inproc_transport.cc ) + s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc ) + s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc ) + s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc ) + s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc ) + s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc ) + s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc ) s.files += %w( third_party/nanopb/pb_common.c ) s.files += %w( third_party/nanopb/pb_decode.c ) s.files += %w( third_party/nanopb/pb_encode.c ) - s.files += %w( src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c ) - s.files += %w( src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c ) - s.files += %w( src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c ) - s.files += %w( src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c ) - s.files += %w( src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c ) - s.files += %w( src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c ) - s.files += %w( src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c ) - s.files += %w( src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c ) - s.files += %w( src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c ) - s.files += %w( src/core/ext/filters/load_reporting/server_load_reporting_filter.c ) - s.files += %w( src/core/ext/filters/load_reporting/server_load_reporting_plugin.c ) - s.files += %w( src/core/ext/census/base_resources.c ) - s.files += %w( src/core/ext/census/context.c ) - s.files += %w( src/core/ext/census/gen/census.pb.c ) - s.files += %w( src/core/ext/census/gen/trace_context.pb.c ) - s.files += %w( src/core/ext/census/grpc_context.c ) - s.files += %w( src/core/ext/census/grpc_filter.c ) - s.files += %w( src/core/ext/census/grpc_plugin.c ) - s.files += %w( src/core/ext/census/initialize.c ) - s.files += %w( src/core/ext/census/intrusive_hash_map.c ) - s.files += %w( src/core/ext/census/mlog.c ) - s.files += %w( src/core/ext/census/operation.c ) - s.files += %w( src/core/ext/census/placeholders.c ) - s.files += %w( src/core/ext/census/resource.c ) - s.files += %w( src/core/ext/census/trace_context.c ) - s.files += %w( src/core/ext/census/tracing.c ) - s.files += %w( src/core/ext/filters/max_age/max_age_filter.c ) - s.files += %w( src/core/ext/filters/message_size/message_size_filter.c ) - s.files += %w( src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c ) - s.files += %w( src/core/ext/filters/workarounds/workaround_utils.c ) + s.files += %w( src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc ) + s.files += %w( src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc ) + s.files += %w( src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc ) + s.files += %w( src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc ) + s.files += %w( src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc ) + s.files += %w( src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc ) + s.files += %w( src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc ) + s.files += %w( src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc ) + s.files += %w( src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc ) + s.files += %w( src/core/ext/filters/load_reporting/server_load_reporting_filter.cc ) + s.files += %w( src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc ) + s.files += %w( src/core/ext/census/base_resources.cc ) + s.files += %w( src/core/ext/census/context.cc ) + s.files += %w( src/core/ext/census/gen/census.pb.cc ) + s.files += %w( src/core/ext/census/gen/trace_context.pb.cc ) + s.files += %w( src/core/ext/census/grpc_context.cc ) + s.files += %w( src/core/ext/census/grpc_filter.cc ) + s.files += %w( src/core/ext/census/grpc_plugin.cc ) + s.files += %w( src/core/ext/census/initialize.cc ) + s.files += %w( src/core/ext/census/intrusive_hash_map.cc ) + s.files += %w( src/core/ext/census/mlog.cc ) + s.files += %w( src/core/ext/census/operation.cc ) + s.files += %w( src/core/ext/census/placeholders.cc ) + s.files += %w( src/core/ext/census/resource.cc ) + s.files += %w( src/core/ext/census/trace_context.cc ) + s.files += %w( src/core/ext/census/tracing.cc ) + s.files += %w( src/core/ext/filters/max_age/max_age_filter.cc ) + s.files += %w( src/core/ext/filters/message_size/message_size_filter.cc ) + s.files += %w( src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc ) + s.files += %w( src/core/ext/filters/workarounds/workaround_utils.cc ) s.files += %w( src/core/plugin_registry/grpc_plugin_registry.cc ) s.files += %w( third_party/boringssl/crypto/aes/internal.h ) s.files += %w( third_party/boringssl/crypto/asn1/asn1_locl.h ) diff --git a/grpc.gyp b/grpc.gyp index 9055dfe9015..468fcde9a16 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -157,52 +157,52 @@ 'dependencies': [ ], 'sources': [ - 'src/core/lib/profiling/basic_timers.c', - 'src/core/lib/profiling/stap_timers.c', - 'src/core/lib/support/alloc.c', - 'src/core/lib/support/arena.c', - 'src/core/lib/support/atm.c', - 'src/core/lib/support/avl.c', - 'src/core/lib/support/backoff.c', - 'src/core/lib/support/cmdline.c', - 'src/core/lib/support/cpu_iphone.c', - 'src/core/lib/support/cpu_linux.c', - 'src/core/lib/support/cpu_posix.c', - 'src/core/lib/support/cpu_windows.c', - 'src/core/lib/support/env_linux.c', - 'src/core/lib/support/env_posix.c', - 'src/core/lib/support/env_windows.c', - 'src/core/lib/support/histogram.c', - 'src/core/lib/support/host_port.c', - 'src/core/lib/support/log.c', - 'src/core/lib/support/log_android.c', - 'src/core/lib/support/log_linux.c', - 'src/core/lib/support/log_posix.c', - 'src/core/lib/support/log_windows.c', - 'src/core/lib/support/mpscq.c', - 'src/core/lib/support/murmur_hash.c', - 'src/core/lib/support/stack_lockfree.c', - 'src/core/lib/support/string.c', - 'src/core/lib/support/string_posix.c', - 'src/core/lib/support/string_util_windows.c', - 'src/core/lib/support/string_windows.c', - 'src/core/lib/support/subprocess_posix.c', - 'src/core/lib/support/subprocess_windows.c', - 'src/core/lib/support/sync.c', - 'src/core/lib/support/sync_posix.c', - 'src/core/lib/support/sync_windows.c', - 'src/core/lib/support/thd.c', - 'src/core/lib/support/thd_posix.c', - 'src/core/lib/support/thd_windows.c', - 'src/core/lib/support/time.c', - 'src/core/lib/support/time_posix.c', - 'src/core/lib/support/time_precise.c', - 'src/core/lib/support/time_windows.c', - 'src/core/lib/support/tls_pthread.c', - 'src/core/lib/support/tmpfile_msys.c', - 'src/core/lib/support/tmpfile_posix.c', - 'src/core/lib/support/tmpfile_windows.c', - 'src/core/lib/support/wrap_memcpy.c', + 'src/core/lib/profiling/basic_timers.cc', + 'src/core/lib/profiling/stap_timers.cc', + 'src/core/lib/support/alloc.cc', + 'src/core/lib/support/arena.cc', + 'src/core/lib/support/atm.cc', + 'src/core/lib/support/avl.cc', + 'src/core/lib/support/backoff.cc', + 'src/core/lib/support/cmdline.cc', + 'src/core/lib/support/cpu_iphone.cc', + 'src/core/lib/support/cpu_linux.cc', + 'src/core/lib/support/cpu_posix.cc', + 'src/core/lib/support/cpu_windows.cc', + 'src/core/lib/support/env_linux.cc', + 'src/core/lib/support/env_posix.cc', + 'src/core/lib/support/env_windows.cc', + 'src/core/lib/support/histogram.cc', + 'src/core/lib/support/host_port.cc', + 'src/core/lib/support/log.cc', + 'src/core/lib/support/log_android.cc', + 'src/core/lib/support/log_linux.cc', + 'src/core/lib/support/log_posix.cc', + 'src/core/lib/support/log_windows.cc', + 'src/core/lib/support/mpscq.cc', + 'src/core/lib/support/murmur_hash.cc', + 'src/core/lib/support/stack_lockfree.cc', + 'src/core/lib/support/string.cc', + 'src/core/lib/support/string_posix.cc', + 'src/core/lib/support/string_util_windows.cc', + 'src/core/lib/support/string_windows.cc', + 'src/core/lib/support/subprocess_posix.cc', + 'src/core/lib/support/subprocess_windows.cc', + 'src/core/lib/support/sync.cc', + 'src/core/lib/support/sync_posix.cc', + 'src/core/lib/support/sync_windows.cc', + 'src/core/lib/support/thd.cc', + 'src/core/lib/support/thd_posix.cc', + 'src/core/lib/support/thd_windows.cc', + 'src/core/lib/support/time.cc', + 'src/core/lib/support/time_posix.cc', + 'src/core/lib/support/time_precise.cc', + 'src/core/lib/support/time_windows.cc', + 'src/core/lib/support/tls_pthread.cc', + 'src/core/lib/support/tmpfile_msys.cc', + 'src/core/lib/support/tmpfile_posix.cc', + 'src/core/lib/support/tmpfile_windows.cc', + 'src/core/lib/support/wrap_memcpy.cc', ], }, { @@ -222,266 +222,264 @@ 'gpr', ], 'sources': [ - 'src/core/lib/surface/init.c', - 'src/core/lib/channel/channel_args.c', - 'src/core/lib/channel/channel_stack.c', - 'src/core/lib/channel/channel_stack_builder.c', - 'src/core/lib/channel/connected_channel.c', - 'src/core/lib/channel/handshaker.c', - 'src/core/lib/channel/handshaker_factory.c', - 'src/core/lib/channel/handshaker_registry.c', - 'src/core/lib/compression/compression.c', - 'src/core/lib/compression/message_compress.c', - 'src/core/lib/compression/stream_compression.c', - 'src/core/lib/compression/stream_compression_gzip.c', - 'src/core/lib/compression/stream_compression_identity.c', - 'src/core/lib/debug/stats.c', - 'src/core/lib/debug/stats_data.c', - 'src/core/lib/http/format_request.c', - 'src/core/lib/http/httpcli.c', - 'src/core/lib/http/parser.c', - 'src/core/lib/iomgr/call_combiner.c', - 'src/core/lib/iomgr/closure.c', - 'src/core/lib/iomgr/combiner.c', - 'src/core/lib/iomgr/endpoint.c', - 'src/core/lib/iomgr/endpoint_pair_posix.c', - 'src/core/lib/iomgr/endpoint_pair_uv.c', - 'src/core/lib/iomgr/endpoint_pair_windows.c', - 'src/core/lib/iomgr/error.c', - 'src/core/lib/iomgr/ev_epoll1_linux.c', - 'src/core/lib/iomgr/ev_epollex_linux.c', - 'src/core/lib/iomgr/ev_epollsig_linux.c', - 'src/core/lib/iomgr/ev_poll_posix.c', - 'src/core/lib/iomgr/ev_posix.c', - 'src/core/lib/iomgr/ev_windows.c', - 'src/core/lib/iomgr/exec_ctx.c', - 'src/core/lib/iomgr/executor.c', - 'src/core/lib/iomgr/gethostname_fallback.c', - 'src/core/lib/iomgr/gethostname_host_name_max.c', - 'src/core/lib/iomgr/gethostname_sysconf.c', - 'src/core/lib/iomgr/iocp_windows.c', - 'src/core/lib/iomgr/iomgr.c', - 'src/core/lib/iomgr/iomgr_posix.c', - 'src/core/lib/iomgr/iomgr_uv.c', - 'src/core/lib/iomgr/iomgr_windows.c', - 'src/core/lib/iomgr/is_epollexclusive_available.c', - 'src/core/lib/iomgr/load_file.c', - 'src/core/lib/iomgr/lockfree_event.c', - 'src/core/lib/iomgr/network_status_tracker.c', - 'src/core/lib/iomgr/polling_entity.c', - 'src/core/lib/iomgr/pollset_set_uv.c', - 'src/core/lib/iomgr/pollset_set_windows.c', - 'src/core/lib/iomgr/pollset_uv.c', - 'src/core/lib/iomgr/pollset_windows.c', - 'src/core/lib/iomgr/resolve_address_posix.c', - 'src/core/lib/iomgr/resolve_address_uv.c', - 'src/core/lib/iomgr/resolve_address_windows.c', - 'src/core/lib/iomgr/resource_quota.c', - 'src/core/lib/iomgr/sockaddr_utils.c', - 'src/core/lib/iomgr/socket_factory_posix.c', - 'src/core/lib/iomgr/socket_mutator.c', - 'src/core/lib/iomgr/socket_utils_common_posix.c', - 'src/core/lib/iomgr/socket_utils_linux.c', - 'src/core/lib/iomgr/socket_utils_posix.c', - 'src/core/lib/iomgr/socket_utils_uv.c', - 'src/core/lib/iomgr/socket_utils_windows.c', - 'src/core/lib/iomgr/socket_windows.c', - 'src/core/lib/iomgr/tcp_client_posix.c', - 'src/core/lib/iomgr/tcp_client_uv.c', - 'src/core/lib/iomgr/tcp_client_windows.c', - 'src/core/lib/iomgr/tcp_posix.c', - 'src/core/lib/iomgr/tcp_server_posix.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_common.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c', - 'src/core/lib/iomgr/tcp_server_uv.c', - 'src/core/lib/iomgr/tcp_server_windows.c', - 'src/core/lib/iomgr/tcp_uv.c', - 'src/core/lib/iomgr/tcp_windows.c', - 'src/core/lib/iomgr/time_averaged_stats.c', - 'src/core/lib/iomgr/timer_generic.c', - 'src/core/lib/iomgr/timer_heap.c', - 'src/core/lib/iomgr/timer_manager.c', - 'src/core/lib/iomgr/timer_uv.c', - 'src/core/lib/iomgr/udp_server.c', - 'src/core/lib/iomgr/unix_sockets_posix.c', - 'src/core/lib/iomgr/unix_sockets_posix_noop.c', - 'src/core/lib/iomgr/wakeup_fd_cv.c', - 'src/core/lib/iomgr/wakeup_fd_eventfd.c', - 'src/core/lib/iomgr/wakeup_fd_nospecial.c', - 'src/core/lib/iomgr/wakeup_fd_pipe.c', - 'src/core/lib/iomgr/wakeup_fd_posix.c', - 'src/core/lib/json/json.c', - 'src/core/lib/json/json_reader.c', - 'src/core/lib/json/json_string.c', - 'src/core/lib/json/json_writer.c', - 'src/core/lib/slice/b64.c', - 'src/core/lib/slice/percent_encoding.c', - 'src/core/lib/slice/slice.c', - 'src/core/lib/slice/slice_buffer.c', - 'src/core/lib/slice/slice_hash_table.c', - 'src/core/lib/slice/slice_intern.c', - 'src/core/lib/slice/slice_string_helpers.c', - 'src/core/lib/surface/alarm.c', - 'src/core/lib/surface/api_trace.c', - 'src/core/lib/surface/byte_buffer.c', - 'src/core/lib/surface/byte_buffer_reader.c', - 'src/core/lib/surface/call.c', - 'src/core/lib/surface/call_details.c', - 'src/core/lib/surface/call_log_batch.c', - 'src/core/lib/surface/channel.c', - 'src/core/lib/surface/channel_init.c', - 'src/core/lib/surface/channel_ping.c', - 'src/core/lib/surface/channel_stack_type.c', - 'src/core/lib/surface/completion_queue.c', - 'src/core/lib/surface/completion_queue_factory.c', - 'src/core/lib/surface/event_string.c', + 'src/core/lib/surface/init.cc', + 'src/core/lib/channel/channel_args.cc', + 'src/core/lib/channel/channel_stack.cc', + 'src/core/lib/channel/channel_stack_builder.cc', + 'src/core/lib/channel/connected_channel.cc', + 'src/core/lib/channel/handshaker.cc', + 'src/core/lib/channel/handshaker_factory.cc', + 'src/core/lib/channel/handshaker_registry.cc', + 'src/core/lib/compression/compression.cc', + 'src/core/lib/compression/message_compress.cc', + 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/debug/stats.cc', + 'src/core/lib/debug/stats_data.cc', + 'src/core/lib/http/format_request.cc', + 'src/core/lib/http/httpcli.cc', + 'src/core/lib/http/parser.cc', + 'src/core/lib/iomgr/call_combiner.cc', + 'src/core/lib/iomgr/closure.cc', + 'src/core/lib/iomgr/combiner.cc', + 'src/core/lib/iomgr/endpoint.cc', + 'src/core/lib/iomgr/endpoint_pair_posix.cc', + 'src/core/lib/iomgr/endpoint_pair_uv.cc', + 'src/core/lib/iomgr/endpoint_pair_windows.cc', + 'src/core/lib/iomgr/error.cc', + 'src/core/lib/iomgr/ev_epoll1_linux.cc', + 'src/core/lib/iomgr/ev_epollex_linux.cc', + 'src/core/lib/iomgr/ev_epollsig_linux.cc', + 'src/core/lib/iomgr/ev_poll_posix.cc', + 'src/core/lib/iomgr/ev_posix.cc', + 'src/core/lib/iomgr/ev_windows.cc', + 'src/core/lib/iomgr/exec_ctx.cc', + 'src/core/lib/iomgr/executor.cc', + 'src/core/lib/iomgr/gethostname_fallback.cc', + 'src/core/lib/iomgr/gethostname_host_name_max.cc', + 'src/core/lib/iomgr/gethostname_sysconf.cc', + 'src/core/lib/iomgr/iocp_windows.cc', + 'src/core/lib/iomgr/iomgr.cc', + 'src/core/lib/iomgr/iomgr_posix.cc', + 'src/core/lib/iomgr/iomgr_uv.cc', + 'src/core/lib/iomgr/iomgr_windows.cc', + 'src/core/lib/iomgr/is_epollexclusive_available.cc', + 'src/core/lib/iomgr/load_file.cc', + 'src/core/lib/iomgr/lockfree_event.cc', + 'src/core/lib/iomgr/network_status_tracker.cc', + 'src/core/lib/iomgr/polling_entity.cc', + 'src/core/lib/iomgr/pollset_set_uv.cc', + 'src/core/lib/iomgr/pollset_set_windows.cc', + 'src/core/lib/iomgr/pollset_uv.cc', + 'src/core/lib/iomgr/pollset_windows.cc', + 'src/core/lib/iomgr/resolve_address_posix.cc', + 'src/core/lib/iomgr/resolve_address_uv.cc', + 'src/core/lib/iomgr/resolve_address_windows.cc', + 'src/core/lib/iomgr/resource_quota.cc', + 'src/core/lib/iomgr/sockaddr_utils.cc', + 'src/core/lib/iomgr/socket_factory_posix.cc', + 'src/core/lib/iomgr/socket_mutator.cc', + 'src/core/lib/iomgr/socket_utils_common_posix.cc', + 'src/core/lib/iomgr/socket_utils_linux.cc', + 'src/core/lib/iomgr/socket_utils_posix.cc', + 'src/core/lib/iomgr/socket_utils_uv.cc', + 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_windows.cc', + 'src/core/lib/iomgr/tcp_client_posix.cc', + 'src/core/lib/iomgr/tcp_client_uv.cc', + 'src/core/lib/iomgr/tcp_client_windows.cc', + 'src/core/lib/iomgr/tcp_posix.cc', + 'src/core/lib/iomgr/tcp_server_posix.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_common.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_uv.cc', + 'src/core/lib/iomgr/tcp_server_windows.cc', + 'src/core/lib/iomgr/tcp_uv.cc', + 'src/core/lib/iomgr/tcp_windows.cc', + 'src/core/lib/iomgr/time_averaged_stats.cc', + 'src/core/lib/iomgr/timer_generic.cc', + 'src/core/lib/iomgr/timer_heap.cc', + 'src/core/lib/iomgr/timer_manager.cc', + 'src/core/lib/iomgr/timer_uv.cc', + 'src/core/lib/iomgr/udp_server.cc', + 'src/core/lib/iomgr/unix_sockets_posix.cc', + 'src/core/lib/iomgr/unix_sockets_posix_noop.cc', + 'src/core/lib/iomgr/wakeup_fd_cv.cc', + 'src/core/lib/iomgr/wakeup_fd_eventfd.cc', + 'src/core/lib/iomgr/wakeup_fd_nospecial.cc', + 'src/core/lib/iomgr/wakeup_fd_pipe.cc', + 'src/core/lib/iomgr/wakeup_fd_posix.cc', + 'src/core/lib/json/json.cc', + 'src/core/lib/json/json_reader.cc', + 'src/core/lib/json/json_string.cc', + 'src/core/lib/json/json_writer.cc', + 'src/core/lib/slice/b64.cc', + 'src/core/lib/slice/percent_encoding.cc', + 'src/core/lib/slice/slice.cc', + 'src/core/lib/slice/slice_buffer.cc', + 'src/core/lib/slice/slice_hash_table.cc', + 'src/core/lib/slice/slice_intern.cc', + 'src/core/lib/slice/slice_string_helpers.cc', + 'src/core/lib/surface/alarm.cc', + 'src/core/lib/surface/api_trace.cc', + 'src/core/lib/surface/byte_buffer.cc', + 'src/core/lib/surface/byte_buffer_reader.cc', + 'src/core/lib/surface/call.cc', + 'src/core/lib/surface/call_details.cc', + 'src/core/lib/surface/call_log_batch.cc', + 'src/core/lib/surface/channel.cc', + 'src/core/lib/surface/channel_init.cc', + 'src/core/lib/surface/channel_ping.cc', + 'src/core/lib/surface/channel_stack_type.cc', + 'src/core/lib/surface/completion_queue.cc', + 'src/core/lib/surface/completion_queue_factory.cc', + 'src/core/lib/surface/event_string.cc', 'src/core/lib/surface/lame_client.cc', - 'src/core/lib/surface/metadata_array.c', - 'src/core/lib/surface/server.c', - 'src/core/lib/surface/validate_metadata.c', - 'src/core/lib/surface/version.c', - 'src/core/lib/transport/bdp_estimator.c', - 'src/core/lib/transport/byte_stream.c', - 'src/core/lib/transport/connectivity_state.c', - 'src/core/lib/transport/error_utils.c', - 'src/core/lib/transport/metadata.c', - 'src/core/lib/transport/metadata_batch.c', - 'src/core/lib/transport/pid_controller.c', - 'src/core/lib/transport/service_config.c', - 'src/core/lib/transport/static_metadata.c', - 'src/core/lib/transport/status_conversion.c', - 'src/core/lib/transport/timeout_encoding.c', - 'src/core/lib/transport/transport.c', - 'src/core/lib/transport/transport_op_string.c', - 'src/core/lib/debug/trace.c', - 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c', - 'src/core/ext/transport/chttp2/transport/bin_decoder.c', - 'src/core/ext/transport/chttp2/transport/bin_encoder.c', - 'src/core/ext/transport/chttp2/transport/chttp2_plugin.c', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', - 'src/core/ext/transport/chttp2/transport/flow_control.c', - 'src/core/ext/transport/chttp2/transport/frame_data.c', - 'src/core/ext/transport/chttp2/transport/frame_goaway.c', - 'src/core/ext/transport/chttp2/transport/frame_ping.c', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', - 'src/core/ext/transport/chttp2/transport/frame_settings.c', - 'src/core/ext/transport/chttp2/transport/frame_window_update.c', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', - 'src/core/ext/transport/chttp2/transport/hpack_parser.c', - 'src/core/ext/transport/chttp2/transport/hpack_table.c', - 'src/core/ext/transport/chttp2/transport/http2_settings.c', - 'src/core/ext/transport/chttp2/transport/huffsyms.c', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', - 'src/core/ext/transport/chttp2/transport/parsing.c', - 'src/core/ext/transport/chttp2/transport/stream_lists.c', - 'src/core/ext/transport/chttp2/transport/stream_map.c', - 'src/core/ext/transport/chttp2/transport/varint.c', - 'src/core/ext/transport/chttp2/transport/writing.c', - 'src/core/ext/transport/chttp2/alpn/alpn.c', - 'src/core/ext/filters/http/client/http_client_filter.c', - 'src/core/ext/filters/http/http_filters_plugin.c', - 'src/core/ext/filters/http/message_compress/message_compress_filter.c', - 'src/core/ext/filters/http/server/http_server_filter.c', - 'src/core/lib/http/httpcli_security_connector.c', - 'src/core/lib/security/context/security_context.c', - 'src/core/lib/security/credentials/composite/composite_credentials.c', - 'src/core/lib/security/credentials/credentials.c', - 'src/core/lib/security/credentials/credentials_metadata.c', - 'src/core/lib/security/credentials/fake/fake_credentials.c', - 'src/core/lib/security/credentials/google_default/credentials_generic.c', - 'src/core/lib/security/credentials/google_default/google_default_credentials.c', - 'src/core/lib/security/credentials/iam/iam_credentials.c', - 'src/core/lib/security/credentials/jwt/json_token.c', - 'src/core/lib/security/credentials/jwt/jwt_credentials.c', - 'src/core/lib/security/credentials/jwt/jwt_verifier.c', - 'src/core/lib/security/credentials/oauth2/oauth2_credentials.c', - 'src/core/lib/security/credentials/plugin/plugin_credentials.c', - 'src/core/lib/security/credentials/ssl/ssl_credentials.c', - 'src/core/lib/security/transport/client_auth_filter.c', - 'src/core/lib/security/transport/lb_targets_info.c', - 'src/core/lib/security/transport/secure_endpoint.c', - 'src/core/lib/security/transport/security_connector.c', - 'src/core/lib/security/transport/security_handshaker.c', - 'src/core/lib/security/transport/server_auth_filter.c', - 'src/core/lib/security/transport/tsi_error.c', - 'src/core/lib/security/util/json_util.c', - 'src/core/lib/surface/init_secure.c', - 'src/core/tsi/fake_transport_security.c', - 'src/core/tsi/gts_transport_security.c', - 'src/core/tsi/ssl_transport_security.c', - 'src/core/tsi/transport_security_grpc.c', - 'src/core/tsi/transport_security.c', - 'src/core/tsi/transport_security_adapter.c', - 'src/core/ext/transport/chttp2/server/chttp2_server.c', - 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.c', - 'src/core/ext/filters/client_channel/channel_connectivity.c', - 'src/core/ext/filters/client_channel/client_channel.c', - 'src/core/ext/filters/client_channel/client_channel_factory.c', - 'src/core/ext/filters/client_channel/client_channel_plugin.c', - 'src/core/ext/filters/client_channel/connector.c', - 'src/core/ext/filters/client_channel/http_connect_handshaker.c', - 'src/core/ext/filters/client_channel/http_proxy.c', - 'src/core/ext/filters/client_channel/lb_policy.c', - 'src/core/ext/filters/client_channel/lb_policy_factory.c', - 'src/core/ext/filters/client_channel/lb_policy_registry.c', - 'src/core/ext/filters/client_channel/parse_address.c', - 'src/core/ext/filters/client_channel/proxy_mapper.c', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.c', - 'src/core/ext/filters/client_channel/resolver.c', - 'src/core/ext/filters/client_channel/resolver_factory.c', - 'src/core/ext/filters/client_channel/resolver_registry.c', - 'src/core/ext/filters/client_channel/retry_throttle.c', - 'src/core/ext/filters/client_channel/subchannel.c', - 'src/core/ext/filters/client_channel/subchannel_index.c', - 'src/core/ext/filters/client_channel/uri_parser.c', - 'src/core/ext/filters/deadline/deadline_filter.c', - 'src/core/ext/transport/chttp2/client/chttp2_connector.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c', - 'src/core/ext/transport/chttp2/client/insecure/channel_create.c', - 'src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c', - 'src/core/ext/transport/inproc/inproc_plugin.c', - 'src/core/ext/transport/inproc/inproc_transport.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c', + 'src/core/lib/surface/metadata_array.cc', + 'src/core/lib/surface/server.cc', + 'src/core/lib/surface/validate_metadata.cc', + 'src/core/lib/surface/version.cc', + 'src/core/lib/transport/bdp_estimator.cc', + 'src/core/lib/transport/byte_stream.cc', + 'src/core/lib/transport/connectivity_state.cc', + 'src/core/lib/transport/error_utils.cc', + 'src/core/lib/transport/metadata.cc', + 'src/core/lib/transport/metadata_batch.cc', + 'src/core/lib/transport/pid_controller.cc', + 'src/core/lib/transport/service_config.cc', + 'src/core/lib/transport/static_metadata.cc', + 'src/core/lib/transport/status_conversion.cc', + 'src/core/lib/transport/timeout_encoding.cc', + 'src/core/lib/transport/transport.cc', + 'src/core/lib/transport/transport_op_string.cc', + 'src/core/lib/debug/trace.cc', + 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc', + 'src/core/ext/transport/chttp2/transport/bin_decoder.cc', + 'src/core/ext/transport/chttp2/transport/bin_encoder.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_plugin.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_transport.cc', + 'src/core/ext/transport/chttp2/transport/flow_control.cc', + 'src/core/ext/transport/chttp2/transport/frame_data.cc', + 'src/core/ext/transport/chttp2/transport/frame_goaway.cc', + 'src/core/ext/transport/chttp2/transport/frame_ping.cc', + 'src/core/ext/transport/chttp2/transport/frame_rst_stream.cc', + 'src/core/ext/transport/chttp2/transport/frame_settings.cc', + 'src/core/ext/transport/chttp2/transport/frame_window_update.cc', + 'src/core/ext/transport/chttp2/transport/hpack_encoder.cc', + 'src/core/ext/transport/chttp2/transport/hpack_parser.cc', + 'src/core/ext/transport/chttp2/transport/hpack_table.cc', + 'src/core/ext/transport/chttp2/transport/http2_settings.cc', + 'src/core/ext/transport/chttp2/transport/huffsyms.cc', + 'src/core/ext/transport/chttp2/transport/incoming_metadata.cc', + 'src/core/ext/transport/chttp2/transport/parsing.cc', + 'src/core/ext/transport/chttp2/transport/stream_lists.cc', + 'src/core/ext/transport/chttp2/transport/stream_map.cc', + 'src/core/ext/transport/chttp2/transport/varint.cc', + 'src/core/ext/transport/chttp2/transport/writing.cc', + 'src/core/ext/transport/chttp2/alpn/alpn.cc', + 'src/core/ext/filters/http/client/http_client_filter.cc', + 'src/core/ext/filters/http/http_filters_plugin.cc', + 'src/core/ext/filters/http/message_compress/message_compress_filter.cc', + 'src/core/ext/filters/http/server/http_server_filter.cc', + 'src/core/lib/http/httpcli_security_connector.cc', + 'src/core/lib/security/context/security_context.cc', + 'src/core/lib/security/credentials/composite/composite_credentials.cc', + 'src/core/lib/security/credentials/credentials.cc', + 'src/core/lib/security/credentials/credentials_metadata.cc', + 'src/core/lib/security/credentials/fake/fake_credentials.cc', + 'src/core/lib/security/credentials/google_default/credentials_generic.cc', + 'src/core/lib/security/credentials/google_default/google_default_credentials.cc', + 'src/core/lib/security/credentials/iam/iam_credentials.cc', + 'src/core/lib/security/credentials/jwt/json_token.cc', + 'src/core/lib/security/credentials/jwt/jwt_credentials.cc', + 'src/core/lib/security/credentials/jwt/jwt_verifier.cc', + 'src/core/lib/security/credentials/oauth2/oauth2_credentials.cc', + 'src/core/lib/security/credentials/plugin/plugin_credentials.cc', + 'src/core/lib/security/credentials/ssl/ssl_credentials.cc', + 'src/core/lib/security/transport/client_auth_filter.cc', + 'src/core/lib/security/transport/lb_targets_info.cc', + 'src/core/lib/security/transport/secure_endpoint.cc', + 'src/core/lib/security/transport/security_connector.cc', + 'src/core/lib/security/transport/security_handshaker.cc', + 'src/core/lib/security/transport/server_auth_filter.cc', + 'src/core/lib/security/transport/tsi_error.cc', + 'src/core/lib/security/util/json_util.cc', + 'src/core/lib/surface/init_secure.cc', + 'src/core/tsi/fake_transport_security.cc', + 'src/core/tsi/gts_transport_security.cc', + 'src/core/tsi/ssl_transport_security.cc', + 'src/core/tsi/transport_security_grpc.cc', + 'src/core/tsi/transport_security.cc', + 'src/core/tsi/transport_security_adapter.cc', + 'src/core/ext/transport/chttp2/server/chttp2_server.cc', + 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc', + 'src/core/ext/filters/client_channel/channel_connectivity.cc', + 'src/core/ext/filters/client_channel/client_channel.cc', + 'src/core/ext/filters/client_channel/client_channel_factory.cc', + 'src/core/ext/filters/client_channel/client_channel_plugin.cc', + 'src/core/ext/filters/client_channel/connector.cc', + 'src/core/ext/filters/client_channel/http_connect_handshaker.cc', + 'src/core/ext/filters/client_channel/http_proxy.cc', + 'src/core/ext/filters/client_channel/lb_policy.cc', + 'src/core/ext/filters/client_channel/lb_policy_factory.cc', + 'src/core/ext/filters/client_channel/lb_policy_registry.cc', + 'src/core/ext/filters/client_channel/parse_address.cc', + 'src/core/ext/filters/client_channel/proxy_mapper.cc', + 'src/core/ext/filters/client_channel/proxy_mapper_registry.cc', + 'src/core/ext/filters/client_channel/resolver.cc', + 'src/core/ext/filters/client_channel/resolver_factory.cc', + 'src/core/ext/filters/client_channel/resolver_registry.cc', + 'src/core/ext/filters/client_channel/retry_throttle.cc', + 'src/core/ext/filters/client_channel/subchannel.cc', + 'src/core/ext/filters/client_channel/subchannel_index.cc', + 'src/core/ext/filters/client_channel/uri_parser.cc', + 'src/core/ext/filters/deadline/deadline_filter.cc', + 'src/core/ext/transport/chttp2/client/chttp2_connector.cc', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc', + 'src/core/ext/transport/chttp2/client/insecure/channel_create.cc', + 'src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc', + 'src/core/ext/transport/inproc/inproc_plugin.cc', + 'src/core/ext/transport/inproc/inproc_transport.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc', 'third_party/nanopb/pb_common.c', 'third_party/nanopb/pb_decode.c', 'third_party/nanopb/pb_encode.c', - 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c', - 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c', - 'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c', - 'src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c', - 'src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c', - 'src/core/ext/filters/load_reporting/server_load_reporting_filter.c', - 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.c', - 'src/core/ext/census/base_resources.c', - 'src/core/ext/census/context.c', - 'src/core/ext/census/gen/census.pb.c', - 'src/core/ext/census/gen/trace_context.pb.c', - 'src/core/ext/census/grpc_context.c', - 'src/core/ext/census/grpc_filter.c', - 'src/core/ext/census/grpc_plugin.c', - 'src/core/ext/census/initialize.c', - 'src/core/ext/census/intrusive_hash_map.c', - 'src/core/ext/census/mlog.c', - 'src/core/ext/census/operation.c', - 'src/core/ext/census/placeholders.c', - 'src/core/ext/census/resource.c', - 'src/core/ext/census/trace_context.c', - 'src/core/ext/census/tracing.c', - 'src/core/ext/filters/max_age/max_age_filter.c', - 'src/core/ext/filters/message_size/message_size_filter.c', - 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c', - 'src/core/ext/filters/workarounds/workaround_utils.c', + 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc', + 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc', + 'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc', + 'src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc', + 'src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc', + 'src/core/ext/filters/load_reporting/server_load_reporting_filter.cc', + 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc', + 'src/core/ext/census/base_resources.cc', + 'src/core/ext/census/context.cc', + 'src/core/ext/census/gen/census.pb.cc', + 'src/core/ext/census/gen/trace_context.pb.cc', + 'src/core/ext/census/grpc_context.cc', + 'src/core/ext/census/grpc_filter.cc', + 'src/core/ext/census/grpc_plugin.cc', + 'src/core/ext/census/initialize.cc', + 'src/core/ext/census/intrusive_hash_map.cc', + 'src/core/ext/census/mlog.cc', + 'src/core/ext/census/operation.cc', + 'src/core/ext/census/placeholders.cc', + 'src/core/ext/census/resource.cc', + 'src/core/ext/census/trace_context.cc', + 'src/core/ext/census/tracing.cc', + 'src/core/ext/filters/max_age/max_age_filter.cc', + 'src/core/ext/filters/message_size/message_size_filter.cc', + 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc', + 'src/core/ext/filters/workarounds/workaround_utils.cc', 'src/core/plugin_registry/grpc_plugin_registry.cc', ], }, @@ -509,201 +507,199 @@ 'test/core/end2end/data/server1_key.c', 'test/core/end2end/data/test_root_cert.c', 'test/core/security/oauth2_utils.c', - 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c', - 'test/core/end2end/cq_verifier.c', - 'test/core/end2end/fixtures/http_proxy_fixture.c', - 'test/core/end2end/fixtures/proxy.c', - 'test/core/iomgr/endpoint_tests.c', - 'test/core/util/debugger_macros.c', - 'test/core/util/grpc_profiler.c', - 'test/core/util/memory_counters.c', - 'test/core/util/mock_endpoint.c', - 'test/core/util/parse_hexstring.c', - 'test/core/util/passthru_endpoint.c', - 'test/core/util/port.c', - 'test/core/util/port_server_client.c', - 'test/core/util/slice_splitter.c', - 'test/core/util/trickle_endpoint.c', - 'src/core/lib/channel/channel_args.c', - 'src/core/lib/channel/channel_stack.c', - 'src/core/lib/channel/channel_stack_builder.c', - 'src/core/lib/channel/connected_channel.c', - 'src/core/lib/channel/handshaker.c', - 'src/core/lib/channel/handshaker_factory.c', - 'src/core/lib/channel/handshaker_registry.c', - 'src/core/lib/compression/compression.c', - 'src/core/lib/compression/message_compress.c', - 'src/core/lib/compression/stream_compression.c', - 'src/core/lib/compression/stream_compression_gzip.c', - 'src/core/lib/compression/stream_compression_identity.c', - 'src/core/lib/debug/stats.c', - 'src/core/lib/debug/stats_data.c', - 'src/core/lib/http/format_request.c', - 'src/core/lib/http/httpcli.c', - 'src/core/lib/http/parser.c', - 'src/core/lib/iomgr/call_combiner.c', - 'src/core/lib/iomgr/closure.c', - 'src/core/lib/iomgr/combiner.c', - 'src/core/lib/iomgr/endpoint.c', - 'src/core/lib/iomgr/endpoint_pair_posix.c', - 'src/core/lib/iomgr/endpoint_pair_uv.c', - 'src/core/lib/iomgr/endpoint_pair_windows.c', - 'src/core/lib/iomgr/error.c', - 'src/core/lib/iomgr/ev_epoll1_linux.c', - 'src/core/lib/iomgr/ev_epollex_linux.c', - 'src/core/lib/iomgr/ev_epollsig_linux.c', - 'src/core/lib/iomgr/ev_poll_posix.c', - 'src/core/lib/iomgr/ev_posix.c', - 'src/core/lib/iomgr/ev_windows.c', - 'src/core/lib/iomgr/exec_ctx.c', - 'src/core/lib/iomgr/executor.c', - 'src/core/lib/iomgr/gethostname_fallback.c', - 'src/core/lib/iomgr/gethostname_host_name_max.c', - 'src/core/lib/iomgr/gethostname_sysconf.c', - 'src/core/lib/iomgr/iocp_windows.c', - 'src/core/lib/iomgr/iomgr.c', - 'src/core/lib/iomgr/iomgr_posix.c', - 'src/core/lib/iomgr/iomgr_uv.c', - 'src/core/lib/iomgr/iomgr_windows.c', - 'src/core/lib/iomgr/is_epollexclusive_available.c', - 'src/core/lib/iomgr/load_file.c', - 'src/core/lib/iomgr/lockfree_event.c', - 'src/core/lib/iomgr/network_status_tracker.c', - 'src/core/lib/iomgr/polling_entity.c', - 'src/core/lib/iomgr/pollset_set_uv.c', - 'src/core/lib/iomgr/pollset_set_windows.c', - 'src/core/lib/iomgr/pollset_uv.c', - 'src/core/lib/iomgr/pollset_windows.c', - 'src/core/lib/iomgr/resolve_address_posix.c', - 'src/core/lib/iomgr/resolve_address_uv.c', - 'src/core/lib/iomgr/resolve_address_windows.c', - 'src/core/lib/iomgr/resource_quota.c', - 'src/core/lib/iomgr/sockaddr_utils.c', - 'src/core/lib/iomgr/socket_factory_posix.c', - 'src/core/lib/iomgr/socket_mutator.c', - 'src/core/lib/iomgr/socket_utils_common_posix.c', - 'src/core/lib/iomgr/socket_utils_linux.c', - 'src/core/lib/iomgr/socket_utils_posix.c', - 'src/core/lib/iomgr/socket_utils_uv.c', - 'src/core/lib/iomgr/socket_utils_windows.c', - 'src/core/lib/iomgr/socket_windows.c', - 'src/core/lib/iomgr/tcp_client_posix.c', - 'src/core/lib/iomgr/tcp_client_uv.c', - 'src/core/lib/iomgr/tcp_client_windows.c', - 'src/core/lib/iomgr/tcp_posix.c', - 'src/core/lib/iomgr/tcp_server_posix.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_common.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c', - 'src/core/lib/iomgr/tcp_server_uv.c', - 'src/core/lib/iomgr/tcp_server_windows.c', - 'src/core/lib/iomgr/tcp_uv.c', - 'src/core/lib/iomgr/tcp_windows.c', - 'src/core/lib/iomgr/time_averaged_stats.c', - 'src/core/lib/iomgr/timer_generic.c', - 'src/core/lib/iomgr/timer_heap.c', - 'src/core/lib/iomgr/timer_manager.c', - 'src/core/lib/iomgr/timer_uv.c', - 'src/core/lib/iomgr/udp_server.c', - 'src/core/lib/iomgr/unix_sockets_posix.c', - 'src/core/lib/iomgr/unix_sockets_posix_noop.c', - 'src/core/lib/iomgr/wakeup_fd_cv.c', - 'src/core/lib/iomgr/wakeup_fd_eventfd.c', - 'src/core/lib/iomgr/wakeup_fd_nospecial.c', - 'src/core/lib/iomgr/wakeup_fd_pipe.c', - 'src/core/lib/iomgr/wakeup_fd_posix.c', - 'src/core/lib/json/json.c', - 'src/core/lib/json/json_reader.c', - 'src/core/lib/json/json_string.c', - 'src/core/lib/json/json_writer.c', - 'src/core/lib/slice/b64.c', - 'src/core/lib/slice/percent_encoding.c', - 'src/core/lib/slice/slice.c', - 'src/core/lib/slice/slice_buffer.c', - 'src/core/lib/slice/slice_hash_table.c', - 'src/core/lib/slice/slice_intern.c', - 'src/core/lib/slice/slice_string_helpers.c', - 'src/core/lib/surface/alarm.c', - 'src/core/lib/surface/api_trace.c', - 'src/core/lib/surface/byte_buffer.c', - 'src/core/lib/surface/byte_buffer_reader.c', - 'src/core/lib/surface/call.c', - 'src/core/lib/surface/call_details.c', - 'src/core/lib/surface/call_log_batch.c', - 'src/core/lib/surface/channel.c', - 'src/core/lib/surface/channel_init.c', - 'src/core/lib/surface/channel_ping.c', - 'src/core/lib/surface/channel_stack_type.c', - 'src/core/lib/surface/completion_queue.c', - 'src/core/lib/surface/completion_queue_factory.c', - 'src/core/lib/surface/event_string.c', + 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc', + 'test/core/end2end/cq_verifier.cc', + 'test/core/end2end/fixtures/http_proxy_fixture.cc', + 'test/core/end2end/fixtures/proxy.cc', + 'test/core/iomgr/endpoint_tests.cc', + 'test/core/util/debugger_macros.cc', + 'test/core/util/grpc_profiler.cc', + 'test/core/util/memory_counters.cc', + 'test/core/util/mock_endpoint.cc', + 'test/core/util/parse_hexstring.cc', + 'test/core/util/passthru_endpoint.cc', + 'test/core/util/port.cc', + 'test/core/util/port_server_client.cc', + 'test/core/util/slice_splitter.cc', + 'test/core/util/trickle_endpoint.cc', + 'src/core/lib/channel/channel_args.cc', + 'src/core/lib/channel/channel_stack.cc', + 'src/core/lib/channel/channel_stack_builder.cc', + 'src/core/lib/channel/connected_channel.cc', + 'src/core/lib/channel/handshaker.cc', + 'src/core/lib/channel/handshaker_factory.cc', + 'src/core/lib/channel/handshaker_registry.cc', + 'src/core/lib/compression/compression.cc', + 'src/core/lib/compression/message_compress.cc', + 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/debug/stats.cc', + 'src/core/lib/debug/stats_data.cc', + 'src/core/lib/http/format_request.cc', + 'src/core/lib/http/httpcli.cc', + 'src/core/lib/http/parser.cc', + 'src/core/lib/iomgr/call_combiner.cc', + 'src/core/lib/iomgr/closure.cc', + 'src/core/lib/iomgr/combiner.cc', + 'src/core/lib/iomgr/endpoint.cc', + 'src/core/lib/iomgr/endpoint_pair_posix.cc', + 'src/core/lib/iomgr/endpoint_pair_uv.cc', + 'src/core/lib/iomgr/endpoint_pair_windows.cc', + 'src/core/lib/iomgr/error.cc', + 'src/core/lib/iomgr/ev_epoll1_linux.cc', + 'src/core/lib/iomgr/ev_epollex_linux.cc', + 'src/core/lib/iomgr/ev_epollsig_linux.cc', + 'src/core/lib/iomgr/ev_poll_posix.cc', + 'src/core/lib/iomgr/ev_posix.cc', + 'src/core/lib/iomgr/ev_windows.cc', + 'src/core/lib/iomgr/exec_ctx.cc', + 'src/core/lib/iomgr/executor.cc', + 'src/core/lib/iomgr/gethostname_fallback.cc', + 'src/core/lib/iomgr/gethostname_host_name_max.cc', + 'src/core/lib/iomgr/gethostname_sysconf.cc', + 'src/core/lib/iomgr/iocp_windows.cc', + 'src/core/lib/iomgr/iomgr.cc', + 'src/core/lib/iomgr/iomgr_posix.cc', + 'src/core/lib/iomgr/iomgr_uv.cc', + 'src/core/lib/iomgr/iomgr_windows.cc', + 'src/core/lib/iomgr/is_epollexclusive_available.cc', + 'src/core/lib/iomgr/load_file.cc', + 'src/core/lib/iomgr/lockfree_event.cc', + 'src/core/lib/iomgr/network_status_tracker.cc', + 'src/core/lib/iomgr/polling_entity.cc', + 'src/core/lib/iomgr/pollset_set_uv.cc', + 'src/core/lib/iomgr/pollset_set_windows.cc', + 'src/core/lib/iomgr/pollset_uv.cc', + 'src/core/lib/iomgr/pollset_windows.cc', + 'src/core/lib/iomgr/resolve_address_posix.cc', + 'src/core/lib/iomgr/resolve_address_uv.cc', + 'src/core/lib/iomgr/resolve_address_windows.cc', + 'src/core/lib/iomgr/resource_quota.cc', + 'src/core/lib/iomgr/sockaddr_utils.cc', + 'src/core/lib/iomgr/socket_factory_posix.cc', + 'src/core/lib/iomgr/socket_mutator.cc', + 'src/core/lib/iomgr/socket_utils_common_posix.cc', + 'src/core/lib/iomgr/socket_utils_linux.cc', + 'src/core/lib/iomgr/socket_utils_posix.cc', + 'src/core/lib/iomgr/socket_utils_uv.cc', + 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_windows.cc', + 'src/core/lib/iomgr/tcp_client_posix.cc', + 'src/core/lib/iomgr/tcp_client_uv.cc', + 'src/core/lib/iomgr/tcp_client_windows.cc', + 'src/core/lib/iomgr/tcp_posix.cc', + 'src/core/lib/iomgr/tcp_server_posix.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_common.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_uv.cc', + 'src/core/lib/iomgr/tcp_server_windows.cc', + 'src/core/lib/iomgr/tcp_uv.cc', + 'src/core/lib/iomgr/tcp_windows.cc', + 'src/core/lib/iomgr/time_averaged_stats.cc', + 'src/core/lib/iomgr/timer_generic.cc', + 'src/core/lib/iomgr/timer_heap.cc', + 'src/core/lib/iomgr/timer_manager.cc', + 'src/core/lib/iomgr/timer_uv.cc', + 'src/core/lib/iomgr/udp_server.cc', + 'src/core/lib/iomgr/unix_sockets_posix.cc', + 'src/core/lib/iomgr/unix_sockets_posix_noop.cc', + 'src/core/lib/iomgr/wakeup_fd_cv.cc', + 'src/core/lib/iomgr/wakeup_fd_eventfd.cc', + 'src/core/lib/iomgr/wakeup_fd_nospecial.cc', + 'src/core/lib/iomgr/wakeup_fd_pipe.cc', + 'src/core/lib/iomgr/wakeup_fd_posix.cc', + 'src/core/lib/json/json.cc', + 'src/core/lib/json/json_reader.cc', + 'src/core/lib/json/json_string.cc', + 'src/core/lib/json/json_writer.cc', + 'src/core/lib/slice/b64.cc', + 'src/core/lib/slice/percent_encoding.cc', + 'src/core/lib/slice/slice.cc', + 'src/core/lib/slice/slice_buffer.cc', + 'src/core/lib/slice/slice_hash_table.cc', + 'src/core/lib/slice/slice_intern.cc', + 'src/core/lib/slice/slice_string_helpers.cc', + 'src/core/lib/surface/alarm.cc', + 'src/core/lib/surface/api_trace.cc', + 'src/core/lib/surface/byte_buffer.cc', + 'src/core/lib/surface/byte_buffer_reader.cc', + 'src/core/lib/surface/call.cc', + 'src/core/lib/surface/call_details.cc', + 'src/core/lib/surface/call_log_batch.cc', + 'src/core/lib/surface/channel.cc', + 'src/core/lib/surface/channel_init.cc', + 'src/core/lib/surface/channel_ping.cc', + 'src/core/lib/surface/channel_stack_type.cc', + 'src/core/lib/surface/completion_queue.cc', + 'src/core/lib/surface/completion_queue_factory.cc', + 'src/core/lib/surface/event_string.cc', 'src/core/lib/surface/lame_client.cc', - 'src/core/lib/surface/metadata_array.c', - 'src/core/lib/surface/server.c', - 'src/core/lib/surface/validate_metadata.c', - 'src/core/lib/surface/version.c', - 'src/core/lib/transport/bdp_estimator.c', - 'src/core/lib/transport/byte_stream.c', - 'src/core/lib/transport/connectivity_state.c', - 'src/core/lib/transport/error_utils.c', - 'src/core/lib/transport/metadata.c', - 'src/core/lib/transport/metadata_batch.c', - 'src/core/lib/transport/pid_controller.c', - 'src/core/lib/transport/service_config.c', - 'src/core/lib/transport/static_metadata.c', - 'src/core/lib/transport/status_conversion.c', - 'src/core/lib/transport/timeout_encoding.c', - 'src/core/lib/transport/transport.c', - 'src/core/lib/transport/transport_op_string.c', - 'src/core/lib/debug/trace.c', - 'src/core/ext/filters/client_channel/channel_connectivity.c', - 'src/core/ext/filters/client_channel/client_channel.c', - 'src/core/ext/filters/client_channel/client_channel_factory.c', - 'src/core/ext/filters/client_channel/client_channel_plugin.c', - 'src/core/ext/filters/client_channel/connector.c', - 'src/core/ext/filters/client_channel/http_connect_handshaker.c', - 'src/core/ext/filters/client_channel/http_proxy.c', - 'src/core/ext/filters/client_channel/lb_policy.c', - 'src/core/ext/filters/client_channel/lb_policy_factory.c', - 'src/core/ext/filters/client_channel/lb_policy_registry.c', - 'src/core/ext/filters/client_channel/parse_address.c', - 'src/core/ext/filters/client_channel/proxy_mapper.c', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.c', - 'src/core/ext/filters/client_channel/resolver.c', - 'src/core/ext/filters/client_channel/resolver_factory.c', - 'src/core/ext/filters/client_channel/resolver_registry.c', - 'src/core/ext/filters/client_channel/retry_throttle.c', - 'src/core/ext/filters/client_channel/subchannel.c', - 'src/core/ext/filters/client_channel/subchannel_index.c', - 'src/core/ext/filters/client_channel/uri_parser.c', - 'src/core/ext/filters/deadline/deadline_filter.c', - 'src/core/ext/transport/chttp2/transport/bin_decoder.c', - 'src/core/ext/transport/chttp2/transport/bin_encoder.c', - 'src/core/ext/transport/chttp2/transport/chttp2_plugin.c', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', - 'src/core/ext/transport/chttp2/transport/flow_control.c', - 'src/core/ext/transport/chttp2/transport/frame_data.c', - 'src/core/ext/transport/chttp2/transport/frame_goaway.c', - 'src/core/ext/transport/chttp2/transport/frame_ping.c', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', - 'src/core/ext/transport/chttp2/transport/frame_settings.c', - 'src/core/ext/transport/chttp2/transport/frame_window_update.c', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', - 'src/core/ext/transport/chttp2/transport/hpack_parser.c', - 'src/core/ext/transport/chttp2/transport/hpack_table.c', - 'src/core/ext/transport/chttp2/transport/http2_settings.c', - 'src/core/ext/transport/chttp2/transport/huffsyms.c', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', - 'src/core/ext/transport/chttp2/transport/parsing.c', - 'src/core/ext/transport/chttp2/transport/stream_lists.c', - 'src/core/ext/transport/chttp2/transport/stream_map.c', - 'src/core/ext/transport/chttp2/transport/varint.c', - 'src/core/ext/transport/chttp2/transport/writing.c', - 'src/core/ext/transport/chttp2/alpn/alpn.c', - 'src/core/ext/filters/http/client/http_client_filter.c', - 'src/core/ext/filters/http/http_filters_plugin.c', - 'src/core/ext/filters/http/message_compress/message_compress_filter.c', - 'src/core/ext/filters/http/server/http_server_filter.c', + 'src/core/lib/surface/metadata_array.cc', + 'src/core/lib/surface/server.cc', + 'src/core/lib/surface/validate_metadata.cc', + 'src/core/lib/surface/version.cc', + 'src/core/lib/transport/bdp_estimator.cc', + 'src/core/lib/transport/byte_stream.cc', + 'src/core/lib/transport/connectivity_state.cc', + 'src/core/lib/transport/error_utils.cc', + 'src/core/lib/transport/metadata.cc', + 'src/core/lib/transport/metadata_batch.cc', + 'src/core/lib/transport/pid_controller.cc', + 'src/core/lib/transport/service_config.cc', + 'src/core/lib/transport/static_metadata.cc', + 'src/core/lib/transport/status_conversion.cc', + 'src/core/lib/transport/timeout_encoding.cc', + 'src/core/lib/transport/transport.cc', + 'src/core/lib/transport/transport_op_string.cc', + 'src/core/lib/debug/trace.cc', + 'src/core/ext/filters/client_channel/channel_connectivity.cc', + 'src/core/ext/filters/client_channel/client_channel.cc', + 'src/core/ext/filters/client_channel/client_channel_factory.cc', + 'src/core/ext/filters/client_channel/client_channel_plugin.cc', + 'src/core/ext/filters/client_channel/connector.cc', + 'src/core/ext/filters/client_channel/http_connect_handshaker.cc', + 'src/core/ext/filters/client_channel/http_proxy.cc', + 'src/core/ext/filters/client_channel/lb_policy.cc', + 'src/core/ext/filters/client_channel/lb_policy_factory.cc', + 'src/core/ext/filters/client_channel/lb_policy_registry.cc', + 'src/core/ext/filters/client_channel/parse_address.cc', + 'src/core/ext/filters/client_channel/proxy_mapper.cc', + 'src/core/ext/filters/client_channel/proxy_mapper_registry.cc', + 'src/core/ext/filters/client_channel/resolver.cc', + 'src/core/ext/filters/client_channel/resolver_factory.cc', + 'src/core/ext/filters/client_channel/resolver_registry.cc', + 'src/core/ext/filters/client_channel/retry_throttle.cc', + 'src/core/ext/filters/client_channel/subchannel.cc', + 'src/core/ext/filters/client_channel/subchannel_index.cc', + 'src/core/ext/filters/client_channel/uri_parser.cc', + 'src/core/ext/filters/deadline/deadline_filter.cc', + 'src/core/ext/transport/chttp2/transport/bin_decoder.cc', + 'src/core/ext/transport/chttp2/transport/bin_encoder.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_plugin.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_transport.cc', + 'src/core/ext/transport/chttp2/transport/flow_control.cc', + 'src/core/ext/transport/chttp2/transport/frame_data.cc', + 'src/core/ext/transport/chttp2/transport/frame_goaway.cc', + 'src/core/ext/transport/chttp2/transport/frame_ping.cc', + 'src/core/ext/transport/chttp2/transport/frame_rst_stream.cc', + 'src/core/ext/transport/chttp2/transport/frame_settings.cc', + 'src/core/ext/transport/chttp2/transport/frame_window_update.cc', + 'src/core/ext/transport/chttp2/transport/hpack_encoder.cc', + 'src/core/ext/transport/chttp2/transport/hpack_parser.cc', + 'src/core/ext/transport/chttp2/transport/hpack_table.cc', + 'src/core/ext/transport/chttp2/transport/http2_settings.cc', + 'src/core/ext/transport/chttp2/transport/huffsyms.cc', + 'src/core/ext/transport/chttp2/transport/incoming_metadata.cc', + 'src/core/ext/transport/chttp2/transport/parsing.cc', + 'src/core/ext/transport/chttp2/transport/stream_lists.cc', + 'src/core/ext/transport/chttp2/transport/stream_map.cc', + 'src/core/ext/transport/chttp2/transport/varint.cc', + 'src/core/ext/transport/chttp2/transport/writing.cc', + 'src/core/ext/transport/chttp2/alpn/alpn.cc', + 'src/core/ext/filters/http/client/http_client_filter.cc', + 'src/core/ext/filters/http/http_filters_plugin.cc', + 'src/core/ext/filters/http/message_compress/message_compress_filter.cc', + 'src/core/ext/filters/http/server/http_server_filter.cc', ], }, { @@ -715,201 +711,199 @@ 'grpc_unsecure', ], 'sources': [ - 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c', - 'test/core/end2end/cq_verifier.c', - 'test/core/end2end/fixtures/http_proxy_fixture.c', - 'test/core/end2end/fixtures/proxy.c', - 'test/core/iomgr/endpoint_tests.c', - 'test/core/util/debugger_macros.c', - 'test/core/util/grpc_profiler.c', - 'test/core/util/memory_counters.c', - 'test/core/util/mock_endpoint.c', - 'test/core/util/parse_hexstring.c', - 'test/core/util/passthru_endpoint.c', - 'test/core/util/port.c', - 'test/core/util/port_server_client.c', - 'test/core/util/slice_splitter.c', - 'test/core/util/trickle_endpoint.c', - 'src/core/lib/channel/channel_args.c', - 'src/core/lib/channel/channel_stack.c', - 'src/core/lib/channel/channel_stack_builder.c', - 'src/core/lib/channel/connected_channel.c', - 'src/core/lib/channel/handshaker.c', - 'src/core/lib/channel/handshaker_factory.c', - 'src/core/lib/channel/handshaker_registry.c', - 'src/core/lib/compression/compression.c', - 'src/core/lib/compression/message_compress.c', - 'src/core/lib/compression/stream_compression.c', - 'src/core/lib/compression/stream_compression_gzip.c', - 'src/core/lib/compression/stream_compression_identity.c', - 'src/core/lib/debug/stats.c', - 'src/core/lib/debug/stats_data.c', - 'src/core/lib/http/format_request.c', - 'src/core/lib/http/httpcli.c', - 'src/core/lib/http/parser.c', - 'src/core/lib/iomgr/call_combiner.c', - 'src/core/lib/iomgr/closure.c', - 'src/core/lib/iomgr/combiner.c', - 'src/core/lib/iomgr/endpoint.c', - 'src/core/lib/iomgr/endpoint_pair_posix.c', - 'src/core/lib/iomgr/endpoint_pair_uv.c', - 'src/core/lib/iomgr/endpoint_pair_windows.c', - 'src/core/lib/iomgr/error.c', - 'src/core/lib/iomgr/ev_epoll1_linux.c', - 'src/core/lib/iomgr/ev_epollex_linux.c', - 'src/core/lib/iomgr/ev_epollsig_linux.c', - 'src/core/lib/iomgr/ev_poll_posix.c', - 'src/core/lib/iomgr/ev_posix.c', - 'src/core/lib/iomgr/ev_windows.c', - 'src/core/lib/iomgr/exec_ctx.c', - 'src/core/lib/iomgr/executor.c', - 'src/core/lib/iomgr/gethostname_fallback.c', - 'src/core/lib/iomgr/gethostname_host_name_max.c', - 'src/core/lib/iomgr/gethostname_sysconf.c', - 'src/core/lib/iomgr/iocp_windows.c', - 'src/core/lib/iomgr/iomgr.c', - 'src/core/lib/iomgr/iomgr_posix.c', - 'src/core/lib/iomgr/iomgr_uv.c', - 'src/core/lib/iomgr/iomgr_windows.c', - 'src/core/lib/iomgr/is_epollexclusive_available.c', - 'src/core/lib/iomgr/load_file.c', - 'src/core/lib/iomgr/lockfree_event.c', - 'src/core/lib/iomgr/network_status_tracker.c', - 'src/core/lib/iomgr/polling_entity.c', - 'src/core/lib/iomgr/pollset_set_uv.c', - 'src/core/lib/iomgr/pollset_set_windows.c', - 'src/core/lib/iomgr/pollset_uv.c', - 'src/core/lib/iomgr/pollset_windows.c', - 'src/core/lib/iomgr/resolve_address_posix.c', - 'src/core/lib/iomgr/resolve_address_uv.c', - 'src/core/lib/iomgr/resolve_address_windows.c', - 'src/core/lib/iomgr/resource_quota.c', - 'src/core/lib/iomgr/sockaddr_utils.c', - 'src/core/lib/iomgr/socket_factory_posix.c', - 'src/core/lib/iomgr/socket_mutator.c', - 'src/core/lib/iomgr/socket_utils_common_posix.c', - 'src/core/lib/iomgr/socket_utils_linux.c', - 'src/core/lib/iomgr/socket_utils_posix.c', - 'src/core/lib/iomgr/socket_utils_uv.c', - 'src/core/lib/iomgr/socket_utils_windows.c', - 'src/core/lib/iomgr/socket_windows.c', - 'src/core/lib/iomgr/tcp_client_posix.c', - 'src/core/lib/iomgr/tcp_client_uv.c', - 'src/core/lib/iomgr/tcp_client_windows.c', - 'src/core/lib/iomgr/tcp_posix.c', - 'src/core/lib/iomgr/tcp_server_posix.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_common.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c', - 'src/core/lib/iomgr/tcp_server_uv.c', - 'src/core/lib/iomgr/tcp_server_windows.c', - 'src/core/lib/iomgr/tcp_uv.c', - 'src/core/lib/iomgr/tcp_windows.c', - 'src/core/lib/iomgr/time_averaged_stats.c', - 'src/core/lib/iomgr/timer_generic.c', - 'src/core/lib/iomgr/timer_heap.c', - 'src/core/lib/iomgr/timer_manager.c', - 'src/core/lib/iomgr/timer_uv.c', - 'src/core/lib/iomgr/udp_server.c', - 'src/core/lib/iomgr/unix_sockets_posix.c', - 'src/core/lib/iomgr/unix_sockets_posix_noop.c', - 'src/core/lib/iomgr/wakeup_fd_cv.c', - 'src/core/lib/iomgr/wakeup_fd_eventfd.c', - 'src/core/lib/iomgr/wakeup_fd_nospecial.c', - 'src/core/lib/iomgr/wakeup_fd_pipe.c', - 'src/core/lib/iomgr/wakeup_fd_posix.c', - 'src/core/lib/json/json.c', - 'src/core/lib/json/json_reader.c', - 'src/core/lib/json/json_string.c', - 'src/core/lib/json/json_writer.c', - 'src/core/lib/slice/b64.c', - 'src/core/lib/slice/percent_encoding.c', - 'src/core/lib/slice/slice.c', - 'src/core/lib/slice/slice_buffer.c', - 'src/core/lib/slice/slice_hash_table.c', - 'src/core/lib/slice/slice_intern.c', - 'src/core/lib/slice/slice_string_helpers.c', - 'src/core/lib/surface/alarm.c', - 'src/core/lib/surface/api_trace.c', - 'src/core/lib/surface/byte_buffer.c', - 'src/core/lib/surface/byte_buffer_reader.c', - 'src/core/lib/surface/call.c', - 'src/core/lib/surface/call_details.c', - 'src/core/lib/surface/call_log_batch.c', - 'src/core/lib/surface/channel.c', - 'src/core/lib/surface/channel_init.c', - 'src/core/lib/surface/channel_ping.c', - 'src/core/lib/surface/channel_stack_type.c', - 'src/core/lib/surface/completion_queue.c', - 'src/core/lib/surface/completion_queue_factory.c', - 'src/core/lib/surface/event_string.c', + 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc', + 'test/core/end2end/cq_verifier.cc', + 'test/core/end2end/fixtures/http_proxy_fixture.cc', + 'test/core/end2end/fixtures/proxy.cc', + 'test/core/iomgr/endpoint_tests.cc', + 'test/core/util/debugger_macros.cc', + 'test/core/util/grpc_profiler.cc', + 'test/core/util/memory_counters.cc', + 'test/core/util/mock_endpoint.cc', + 'test/core/util/parse_hexstring.cc', + 'test/core/util/passthru_endpoint.cc', + 'test/core/util/port.cc', + 'test/core/util/port_server_client.cc', + 'test/core/util/slice_splitter.cc', + 'test/core/util/trickle_endpoint.cc', + 'src/core/lib/channel/channel_args.cc', + 'src/core/lib/channel/channel_stack.cc', + 'src/core/lib/channel/channel_stack_builder.cc', + 'src/core/lib/channel/connected_channel.cc', + 'src/core/lib/channel/handshaker.cc', + 'src/core/lib/channel/handshaker_factory.cc', + 'src/core/lib/channel/handshaker_registry.cc', + 'src/core/lib/compression/compression.cc', + 'src/core/lib/compression/message_compress.cc', + 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/debug/stats.cc', + 'src/core/lib/debug/stats_data.cc', + 'src/core/lib/http/format_request.cc', + 'src/core/lib/http/httpcli.cc', + 'src/core/lib/http/parser.cc', + 'src/core/lib/iomgr/call_combiner.cc', + 'src/core/lib/iomgr/closure.cc', + 'src/core/lib/iomgr/combiner.cc', + 'src/core/lib/iomgr/endpoint.cc', + 'src/core/lib/iomgr/endpoint_pair_posix.cc', + 'src/core/lib/iomgr/endpoint_pair_uv.cc', + 'src/core/lib/iomgr/endpoint_pair_windows.cc', + 'src/core/lib/iomgr/error.cc', + 'src/core/lib/iomgr/ev_epoll1_linux.cc', + 'src/core/lib/iomgr/ev_epollex_linux.cc', + 'src/core/lib/iomgr/ev_epollsig_linux.cc', + 'src/core/lib/iomgr/ev_poll_posix.cc', + 'src/core/lib/iomgr/ev_posix.cc', + 'src/core/lib/iomgr/ev_windows.cc', + 'src/core/lib/iomgr/exec_ctx.cc', + 'src/core/lib/iomgr/executor.cc', + 'src/core/lib/iomgr/gethostname_fallback.cc', + 'src/core/lib/iomgr/gethostname_host_name_max.cc', + 'src/core/lib/iomgr/gethostname_sysconf.cc', + 'src/core/lib/iomgr/iocp_windows.cc', + 'src/core/lib/iomgr/iomgr.cc', + 'src/core/lib/iomgr/iomgr_posix.cc', + 'src/core/lib/iomgr/iomgr_uv.cc', + 'src/core/lib/iomgr/iomgr_windows.cc', + 'src/core/lib/iomgr/is_epollexclusive_available.cc', + 'src/core/lib/iomgr/load_file.cc', + 'src/core/lib/iomgr/lockfree_event.cc', + 'src/core/lib/iomgr/network_status_tracker.cc', + 'src/core/lib/iomgr/polling_entity.cc', + 'src/core/lib/iomgr/pollset_set_uv.cc', + 'src/core/lib/iomgr/pollset_set_windows.cc', + 'src/core/lib/iomgr/pollset_uv.cc', + 'src/core/lib/iomgr/pollset_windows.cc', + 'src/core/lib/iomgr/resolve_address_posix.cc', + 'src/core/lib/iomgr/resolve_address_uv.cc', + 'src/core/lib/iomgr/resolve_address_windows.cc', + 'src/core/lib/iomgr/resource_quota.cc', + 'src/core/lib/iomgr/sockaddr_utils.cc', + 'src/core/lib/iomgr/socket_factory_posix.cc', + 'src/core/lib/iomgr/socket_mutator.cc', + 'src/core/lib/iomgr/socket_utils_common_posix.cc', + 'src/core/lib/iomgr/socket_utils_linux.cc', + 'src/core/lib/iomgr/socket_utils_posix.cc', + 'src/core/lib/iomgr/socket_utils_uv.cc', + 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_windows.cc', + 'src/core/lib/iomgr/tcp_client_posix.cc', + 'src/core/lib/iomgr/tcp_client_uv.cc', + 'src/core/lib/iomgr/tcp_client_windows.cc', + 'src/core/lib/iomgr/tcp_posix.cc', + 'src/core/lib/iomgr/tcp_server_posix.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_common.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_uv.cc', + 'src/core/lib/iomgr/tcp_server_windows.cc', + 'src/core/lib/iomgr/tcp_uv.cc', + 'src/core/lib/iomgr/tcp_windows.cc', + 'src/core/lib/iomgr/time_averaged_stats.cc', + 'src/core/lib/iomgr/timer_generic.cc', + 'src/core/lib/iomgr/timer_heap.cc', + 'src/core/lib/iomgr/timer_manager.cc', + 'src/core/lib/iomgr/timer_uv.cc', + 'src/core/lib/iomgr/udp_server.cc', + 'src/core/lib/iomgr/unix_sockets_posix.cc', + 'src/core/lib/iomgr/unix_sockets_posix_noop.cc', + 'src/core/lib/iomgr/wakeup_fd_cv.cc', + 'src/core/lib/iomgr/wakeup_fd_eventfd.cc', + 'src/core/lib/iomgr/wakeup_fd_nospecial.cc', + 'src/core/lib/iomgr/wakeup_fd_pipe.cc', + 'src/core/lib/iomgr/wakeup_fd_posix.cc', + 'src/core/lib/json/json.cc', + 'src/core/lib/json/json_reader.cc', + 'src/core/lib/json/json_string.cc', + 'src/core/lib/json/json_writer.cc', + 'src/core/lib/slice/b64.cc', + 'src/core/lib/slice/percent_encoding.cc', + 'src/core/lib/slice/slice.cc', + 'src/core/lib/slice/slice_buffer.cc', + 'src/core/lib/slice/slice_hash_table.cc', + 'src/core/lib/slice/slice_intern.cc', + 'src/core/lib/slice/slice_string_helpers.cc', + 'src/core/lib/surface/alarm.cc', + 'src/core/lib/surface/api_trace.cc', + 'src/core/lib/surface/byte_buffer.cc', + 'src/core/lib/surface/byte_buffer_reader.cc', + 'src/core/lib/surface/call.cc', + 'src/core/lib/surface/call_details.cc', + 'src/core/lib/surface/call_log_batch.cc', + 'src/core/lib/surface/channel.cc', + 'src/core/lib/surface/channel_init.cc', + 'src/core/lib/surface/channel_ping.cc', + 'src/core/lib/surface/channel_stack_type.cc', + 'src/core/lib/surface/completion_queue.cc', + 'src/core/lib/surface/completion_queue_factory.cc', + 'src/core/lib/surface/event_string.cc', 'src/core/lib/surface/lame_client.cc', - 'src/core/lib/surface/metadata_array.c', - 'src/core/lib/surface/server.c', - 'src/core/lib/surface/validate_metadata.c', - 'src/core/lib/surface/version.c', - 'src/core/lib/transport/bdp_estimator.c', - 'src/core/lib/transport/byte_stream.c', - 'src/core/lib/transport/connectivity_state.c', - 'src/core/lib/transport/error_utils.c', - 'src/core/lib/transport/metadata.c', - 'src/core/lib/transport/metadata_batch.c', - 'src/core/lib/transport/pid_controller.c', - 'src/core/lib/transport/service_config.c', - 'src/core/lib/transport/static_metadata.c', - 'src/core/lib/transport/status_conversion.c', - 'src/core/lib/transport/timeout_encoding.c', - 'src/core/lib/transport/transport.c', - 'src/core/lib/transport/transport_op_string.c', - 'src/core/lib/debug/trace.c', - 'src/core/ext/filters/client_channel/channel_connectivity.c', - 'src/core/ext/filters/client_channel/client_channel.c', - 'src/core/ext/filters/client_channel/client_channel_factory.c', - 'src/core/ext/filters/client_channel/client_channel_plugin.c', - 'src/core/ext/filters/client_channel/connector.c', - 'src/core/ext/filters/client_channel/http_connect_handshaker.c', - 'src/core/ext/filters/client_channel/http_proxy.c', - 'src/core/ext/filters/client_channel/lb_policy.c', - 'src/core/ext/filters/client_channel/lb_policy_factory.c', - 'src/core/ext/filters/client_channel/lb_policy_registry.c', - 'src/core/ext/filters/client_channel/parse_address.c', - 'src/core/ext/filters/client_channel/proxy_mapper.c', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.c', - 'src/core/ext/filters/client_channel/resolver.c', - 'src/core/ext/filters/client_channel/resolver_factory.c', - 'src/core/ext/filters/client_channel/resolver_registry.c', - 'src/core/ext/filters/client_channel/retry_throttle.c', - 'src/core/ext/filters/client_channel/subchannel.c', - 'src/core/ext/filters/client_channel/subchannel_index.c', - 'src/core/ext/filters/client_channel/uri_parser.c', - 'src/core/ext/filters/deadline/deadline_filter.c', - 'src/core/ext/transport/chttp2/transport/bin_decoder.c', - 'src/core/ext/transport/chttp2/transport/bin_encoder.c', - 'src/core/ext/transport/chttp2/transport/chttp2_plugin.c', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', - 'src/core/ext/transport/chttp2/transport/flow_control.c', - 'src/core/ext/transport/chttp2/transport/frame_data.c', - 'src/core/ext/transport/chttp2/transport/frame_goaway.c', - 'src/core/ext/transport/chttp2/transport/frame_ping.c', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', - 'src/core/ext/transport/chttp2/transport/frame_settings.c', - 'src/core/ext/transport/chttp2/transport/frame_window_update.c', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', - 'src/core/ext/transport/chttp2/transport/hpack_parser.c', - 'src/core/ext/transport/chttp2/transport/hpack_table.c', - 'src/core/ext/transport/chttp2/transport/http2_settings.c', - 'src/core/ext/transport/chttp2/transport/huffsyms.c', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', - 'src/core/ext/transport/chttp2/transport/parsing.c', - 'src/core/ext/transport/chttp2/transport/stream_lists.c', - 'src/core/ext/transport/chttp2/transport/stream_map.c', - 'src/core/ext/transport/chttp2/transport/varint.c', - 'src/core/ext/transport/chttp2/transport/writing.c', - 'src/core/ext/transport/chttp2/alpn/alpn.c', - 'src/core/ext/filters/http/client/http_client_filter.c', - 'src/core/ext/filters/http/http_filters_plugin.c', - 'src/core/ext/filters/http/message_compress/message_compress_filter.c', - 'src/core/ext/filters/http/server/http_server_filter.c', + 'src/core/lib/surface/metadata_array.cc', + 'src/core/lib/surface/server.cc', + 'src/core/lib/surface/validate_metadata.cc', + 'src/core/lib/surface/version.cc', + 'src/core/lib/transport/bdp_estimator.cc', + 'src/core/lib/transport/byte_stream.cc', + 'src/core/lib/transport/connectivity_state.cc', + 'src/core/lib/transport/error_utils.cc', + 'src/core/lib/transport/metadata.cc', + 'src/core/lib/transport/metadata_batch.cc', + 'src/core/lib/transport/pid_controller.cc', + 'src/core/lib/transport/service_config.cc', + 'src/core/lib/transport/static_metadata.cc', + 'src/core/lib/transport/status_conversion.cc', + 'src/core/lib/transport/timeout_encoding.cc', + 'src/core/lib/transport/transport.cc', + 'src/core/lib/transport/transport_op_string.cc', + 'src/core/lib/debug/trace.cc', + 'src/core/ext/filters/client_channel/channel_connectivity.cc', + 'src/core/ext/filters/client_channel/client_channel.cc', + 'src/core/ext/filters/client_channel/client_channel_factory.cc', + 'src/core/ext/filters/client_channel/client_channel_plugin.cc', + 'src/core/ext/filters/client_channel/connector.cc', + 'src/core/ext/filters/client_channel/http_connect_handshaker.cc', + 'src/core/ext/filters/client_channel/http_proxy.cc', + 'src/core/ext/filters/client_channel/lb_policy.cc', + 'src/core/ext/filters/client_channel/lb_policy_factory.cc', + 'src/core/ext/filters/client_channel/lb_policy_registry.cc', + 'src/core/ext/filters/client_channel/parse_address.cc', + 'src/core/ext/filters/client_channel/proxy_mapper.cc', + 'src/core/ext/filters/client_channel/proxy_mapper_registry.cc', + 'src/core/ext/filters/client_channel/resolver.cc', + 'src/core/ext/filters/client_channel/resolver_factory.cc', + 'src/core/ext/filters/client_channel/resolver_registry.cc', + 'src/core/ext/filters/client_channel/retry_throttle.cc', + 'src/core/ext/filters/client_channel/subchannel.cc', + 'src/core/ext/filters/client_channel/subchannel_index.cc', + 'src/core/ext/filters/client_channel/uri_parser.cc', + 'src/core/ext/filters/deadline/deadline_filter.cc', + 'src/core/ext/transport/chttp2/transport/bin_decoder.cc', + 'src/core/ext/transport/chttp2/transport/bin_encoder.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_plugin.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_transport.cc', + 'src/core/ext/transport/chttp2/transport/flow_control.cc', + 'src/core/ext/transport/chttp2/transport/frame_data.cc', + 'src/core/ext/transport/chttp2/transport/frame_goaway.cc', + 'src/core/ext/transport/chttp2/transport/frame_ping.cc', + 'src/core/ext/transport/chttp2/transport/frame_rst_stream.cc', + 'src/core/ext/transport/chttp2/transport/frame_settings.cc', + 'src/core/ext/transport/chttp2/transport/frame_window_update.cc', + 'src/core/ext/transport/chttp2/transport/hpack_encoder.cc', + 'src/core/ext/transport/chttp2/transport/hpack_parser.cc', + 'src/core/ext/transport/chttp2/transport/hpack_table.cc', + 'src/core/ext/transport/chttp2/transport/http2_settings.cc', + 'src/core/ext/transport/chttp2/transport/huffsyms.cc', + 'src/core/ext/transport/chttp2/transport/incoming_metadata.cc', + 'src/core/ext/transport/chttp2/transport/parsing.cc', + 'src/core/ext/transport/chttp2/transport/stream_lists.cc', + 'src/core/ext/transport/chttp2/transport/stream_map.cc', + 'src/core/ext/transport/chttp2/transport/varint.cc', + 'src/core/ext/transport/chttp2/transport/writing.cc', + 'src/core/ext/transport/chttp2/alpn/alpn.cc', + 'src/core/ext/filters/http/client/http_client_filter.cc', + 'src/core/ext/filters/http/http_filters_plugin.cc', + 'src/core/ext/filters/http/message_compress/message_compress_filter.cc', + 'src/core/ext/filters/http/server/http_server_filter.cc', ], }, { @@ -919,235 +913,233 @@ 'gpr', ], 'sources': [ - 'src/core/lib/surface/init.c', - 'src/core/lib/surface/init_unsecure.c', - 'src/core/lib/channel/channel_args.c', - 'src/core/lib/channel/channel_stack.c', - 'src/core/lib/channel/channel_stack_builder.c', - 'src/core/lib/channel/connected_channel.c', - 'src/core/lib/channel/handshaker.c', - 'src/core/lib/channel/handshaker_factory.c', - 'src/core/lib/channel/handshaker_registry.c', - 'src/core/lib/compression/compression.c', - 'src/core/lib/compression/message_compress.c', - 'src/core/lib/compression/stream_compression.c', - 'src/core/lib/compression/stream_compression_gzip.c', - 'src/core/lib/compression/stream_compression_identity.c', - 'src/core/lib/debug/stats.c', - 'src/core/lib/debug/stats_data.c', - 'src/core/lib/http/format_request.c', - 'src/core/lib/http/httpcli.c', - 'src/core/lib/http/parser.c', - 'src/core/lib/iomgr/call_combiner.c', - 'src/core/lib/iomgr/closure.c', - 'src/core/lib/iomgr/combiner.c', - 'src/core/lib/iomgr/endpoint.c', - 'src/core/lib/iomgr/endpoint_pair_posix.c', - 'src/core/lib/iomgr/endpoint_pair_uv.c', - 'src/core/lib/iomgr/endpoint_pair_windows.c', - 'src/core/lib/iomgr/error.c', - 'src/core/lib/iomgr/ev_epoll1_linux.c', - 'src/core/lib/iomgr/ev_epollex_linux.c', - 'src/core/lib/iomgr/ev_epollsig_linux.c', - 'src/core/lib/iomgr/ev_poll_posix.c', - 'src/core/lib/iomgr/ev_posix.c', - 'src/core/lib/iomgr/ev_windows.c', - 'src/core/lib/iomgr/exec_ctx.c', - 'src/core/lib/iomgr/executor.c', - 'src/core/lib/iomgr/gethostname_fallback.c', - 'src/core/lib/iomgr/gethostname_host_name_max.c', - 'src/core/lib/iomgr/gethostname_sysconf.c', - 'src/core/lib/iomgr/iocp_windows.c', - 'src/core/lib/iomgr/iomgr.c', - 'src/core/lib/iomgr/iomgr_posix.c', - 'src/core/lib/iomgr/iomgr_uv.c', - 'src/core/lib/iomgr/iomgr_windows.c', - 'src/core/lib/iomgr/is_epollexclusive_available.c', - 'src/core/lib/iomgr/load_file.c', - 'src/core/lib/iomgr/lockfree_event.c', - 'src/core/lib/iomgr/network_status_tracker.c', - 'src/core/lib/iomgr/polling_entity.c', - 'src/core/lib/iomgr/pollset_set_uv.c', - 'src/core/lib/iomgr/pollset_set_windows.c', - 'src/core/lib/iomgr/pollset_uv.c', - 'src/core/lib/iomgr/pollset_windows.c', - 'src/core/lib/iomgr/resolve_address_posix.c', - 'src/core/lib/iomgr/resolve_address_uv.c', - 'src/core/lib/iomgr/resolve_address_windows.c', - 'src/core/lib/iomgr/resource_quota.c', - 'src/core/lib/iomgr/sockaddr_utils.c', - 'src/core/lib/iomgr/socket_factory_posix.c', - 'src/core/lib/iomgr/socket_mutator.c', - 'src/core/lib/iomgr/socket_utils_common_posix.c', - 'src/core/lib/iomgr/socket_utils_linux.c', - 'src/core/lib/iomgr/socket_utils_posix.c', - 'src/core/lib/iomgr/socket_utils_uv.c', - 'src/core/lib/iomgr/socket_utils_windows.c', - 'src/core/lib/iomgr/socket_windows.c', - 'src/core/lib/iomgr/tcp_client_posix.c', - 'src/core/lib/iomgr/tcp_client_uv.c', - 'src/core/lib/iomgr/tcp_client_windows.c', - 'src/core/lib/iomgr/tcp_posix.c', - 'src/core/lib/iomgr/tcp_server_posix.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_common.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c', - 'src/core/lib/iomgr/tcp_server_uv.c', - 'src/core/lib/iomgr/tcp_server_windows.c', - 'src/core/lib/iomgr/tcp_uv.c', - 'src/core/lib/iomgr/tcp_windows.c', - 'src/core/lib/iomgr/time_averaged_stats.c', - 'src/core/lib/iomgr/timer_generic.c', - 'src/core/lib/iomgr/timer_heap.c', - 'src/core/lib/iomgr/timer_manager.c', - 'src/core/lib/iomgr/timer_uv.c', - 'src/core/lib/iomgr/udp_server.c', - 'src/core/lib/iomgr/unix_sockets_posix.c', - 'src/core/lib/iomgr/unix_sockets_posix_noop.c', - 'src/core/lib/iomgr/wakeup_fd_cv.c', - 'src/core/lib/iomgr/wakeup_fd_eventfd.c', - 'src/core/lib/iomgr/wakeup_fd_nospecial.c', - 'src/core/lib/iomgr/wakeup_fd_pipe.c', - 'src/core/lib/iomgr/wakeup_fd_posix.c', - 'src/core/lib/json/json.c', - 'src/core/lib/json/json_reader.c', - 'src/core/lib/json/json_string.c', - 'src/core/lib/json/json_writer.c', - 'src/core/lib/slice/b64.c', - 'src/core/lib/slice/percent_encoding.c', - 'src/core/lib/slice/slice.c', - 'src/core/lib/slice/slice_buffer.c', - 'src/core/lib/slice/slice_hash_table.c', - 'src/core/lib/slice/slice_intern.c', - 'src/core/lib/slice/slice_string_helpers.c', - 'src/core/lib/surface/alarm.c', - 'src/core/lib/surface/api_trace.c', - 'src/core/lib/surface/byte_buffer.c', - 'src/core/lib/surface/byte_buffer_reader.c', - 'src/core/lib/surface/call.c', - 'src/core/lib/surface/call_details.c', - 'src/core/lib/surface/call_log_batch.c', - 'src/core/lib/surface/channel.c', - 'src/core/lib/surface/channel_init.c', - 'src/core/lib/surface/channel_ping.c', - 'src/core/lib/surface/channel_stack_type.c', - 'src/core/lib/surface/completion_queue.c', - 'src/core/lib/surface/completion_queue_factory.c', - 'src/core/lib/surface/event_string.c', + 'src/core/lib/surface/init.cc', + 'src/core/lib/surface/init_unsecure.cc', + 'src/core/lib/channel/channel_args.cc', + 'src/core/lib/channel/channel_stack.cc', + 'src/core/lib/channel/channel_stack_builder.cc', + 'src/core/lib/channel/connected_channel.cc', + 'src/core/lib/channel/handshaker.cc', + 'src/core/lib/channel/handshaker_factory.cc', + 'src/core/lib/channel/handshaker_registry.cc', + 'src/core/lib/compression/compression.cc', + 'src/core/lib/compression/message_compress.cc', + 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/debug/stats.cc', + 'src/core/lib/debug/stats_data.cc', + 'src/core/lib/http/format_request.cc', + 'src/core/lib/http/httpcli.cc', + 'src/core/lib/http/parser.cc', + 'src/core/lib/iomgr/call_combiner.cc', + 'src/core/lib/iomgr/closure.cc', + 'src/core/lib/iomgr/combiner.cc', + 'src/core/lib/iomgr/endpoint.cc', + 'src/core/lib/iomgr/endpoint_pair_posix.cc', + 'src/core/lib/iomgr/endpoint_pair_uv.cc', + 'src/core/lib/iomgr/endpoint_pair_windows.cc', + 'src/core/lib/iomgr/error.cc', + 'src/core/lib/iomgr/ev_epoll1_linux.cc', + 'src/core/lib/iomgr/ev_epollex_linux.cc', + 'src/core/lib/iomgr/ev_epollsig_linux.cc', + 'src/core/lib/iomgr/ev_poll_posix.cc', + 'src/core/lib/iomgr/ev_posix.cc', + 'src/core/lib/iomgr/ev_windows.cc', + 'src/core/lib/iomgr/exec_ctx.cc', + 'src/core/lib/iomgr/executor.cc', + 'src/core/lib/iomgr/gethostname_fallback.cc', + 'src/core/lib/iomgr/gethostname_host_name_max.cc', + 'src/core/lib/iomgr/gethostname_sysconf.cc', + 'src/core/lib/iomgr/iocp_windows.cc', + 'src/core/lib/iomgr/iomgr.cc', + 'src/core/lib/iomgr/iomgr_posix.cc', + 'src/core/lib/iomgr/iomgr_uv.cc', + 'src/core/lib/iomgr/iomgr_windows.cc', + 'src/core/lib/iomgr/is_epollexclusive_available.cc', + 'src/core/lib/iomgr/load_file.cc', + 'src/core/lib/iomgr/lockfree_event.cc', + 'src/core/lib/iomgr/network_status_tracker.cc', + 'src/core/lib/iomgr/polling_entity.cc', + 'src/core/lib/iomgr/pollset_set_uv.cc', + 'src/core/lib/iomgr/pollset_set_windows.cc', + 'src/core/lib/iomgr/pollset_uv.cc', + 'src/core/lib/iomgr/pollset_windows.cc', + 'src/core/lib/iomgr/resolve_address_posix.cc', + 'src/core/lib/iomgr/resolve_address_uv.cc', + 'src/core/lib/iomgr/resolve_address_windows.cc', + 'src/core/lib/iomgr/resource_quota.cc', + 'src/core/lib/iomgr/sockaddr_utils.cc', + 'src/core/lib/iomgr/socket_factory_posix.cc', + 'src/core/lib/iomgr/socket_mutator.cc', + 'src/core/lib/iomgr/socket_utils_common_posix.cc', + 'src/core/lib/iomgr/socket_utils_linux.cc', + 'src/core/lib/iomgr/socket_utils_posix.cc', + 'src/core/lib/iomgr/socket_utils_uv.cc', + 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_windows.cc', + 'src/core/lib/iomgr/tcp_client_posix.cc', + 'src/core/lib/iomgr/tcp_client_uv.cc', + 'src/core/lib/iomgr/tcp_client_windows.cc', + 'src/core/lib/iomgr/tcp_posix.cc', + 'src/core/lib/iomgr/tcp_server_posix.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_common.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_uv.cc', + 'src/core/lib/iomgr/tcp_server_windows.cc', + 'src/core/lib/iomgr/tcp_uv.cc', + 'src/core/lib/iomgr/tcp_windows.cc', + 'src/core/lib/iomgr/time_averaged_stats.cc', + 'src/core/lib/iomgr/timer_generic.cc', + 'src/core/lib/iomgr/timer_heap.cc', + 'src/core/lib/iomgr/timer_manager.cc', + 'src/core/lib/iomgr/timer_uv.cc', + 'src/core/lib/iomgr/udp_server.cc', + 'src/core/lib/iomgr/unix_sockets_posix.cc', + 'src/core/lib/iomgr/unix_sockets_posix_noop.cc', + 'src/core/lib/iomgr/wakeup_fd_cv.cc', + 'src/core/lib/iomgr/wakeup_fd_eventfd.cc', + 'src/core/lib/iomgr/wakeup_fd_nospecial.cc', + 'src/core/lib/iomgr/wakeup_fd_pipe.cc', + 'src/core/lib/iomgr/wakeup_fd_posix.cc', + 'src/core/lib/json/json.cc', + 'src/core/lib/json/json_reader.cc', + 'src/core/lib/json/json_string.cc', + 'src/core/lib/json/json_writer.cc', + 'src/core/lib/slice/b64.cc', + 'src/core/lib/slice/percent_encoding.cc', + 'src/core/lib/slice/slice.cc', + 'src/core/lib/slice/slice_buffer.cc', + 'src/core/lib/slice/slice_hash_table.cc', + 'src/core/lib/slice/slice_intern.cc', + 'src/core/lib/slice/slice_string_helpers.cc', + 'src/core/lib/surface/alarm.cc', + 'src/core/lib/surface/api_trace.cc', + 'src/core/lib/surface/byte_buffer.cc', + 'src/core/lib/surface/byte_buffer_reader.cc', + 'src/core/lib/surface/call.cc', + 'src/core/lib/surface/call_details.cc', + 'src/core/lib/surface/call_log_batch.cc', + 'src/core/lib/surface/channel.cc', + 'src/core/lib/surface/channel_init.cc', + 'src/core/lib/surface/channel_ping.cc', + 'src/core/lib/surface/channel_stack_type.cc', + 'src/core/lib/surface/completion_queue.cc', + 'src/core/lib/surface/completion_queue_factory.cc', + 'src/core/lib/surface/event_string.cc', 'src/core/lib/surface/lame_client.cc', - 'src/core/lib/surface/metadata_array.c', - 'src/core/lib/surface/server.c', - 'src/core/lib/surface/validate_metadata.c', - 'src/core/lib/surface/version.c', - 'src/core/lib/transport/bdp_estimator.c', - 'src/core/lib/transport/byte_stream.c', - 'src/core/lib/transport/connectivity_state.c', - 'src/core/lib/transport/error_utils.c', - 'src/core/lib/transport/metadata.c', - 'src/core/lib/transport/metadata_batch.c', - 'src/core/lib/transport/pid_controller.c', - 'src/core/lib/transport/service_config.c', - 'src/core/lib/transport/static_metadata.c', - 'src/core/lib/transport/status_conversion.c', - 'src/core/lib/transport/timeout_encoding.c', - 'src/core/lib/transport/transport.c', - 'src/core/lib/transport/transport_op_string.c', - 'src/core/lib/debug/trace.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c', - 'src/core/ext/transport/chttp2/transport/bin_decoder.c', - 'src/core/ext/transport/chttp2/transport/bin_encoder.c', - 'src/core/ext/transport/chttp2/transport/chttp2_plugin.c', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', - 'src/core/ext/transport/chttp2/transport/flow_control.c', - 'src/core/ext/transport/chttp2/transport/frame_data.c', - 'src/core/ext/transport/chttp2/transport/frame_goaway.c', - 'src/core/ext/transport/chttp2/transport/frame_ping.c', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', - 'src/core/ext/transport/chttp2/transport/frame_settings.c', - 'src/core/ext/transport/chttp2/transport/frame_window_update.c', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', - 'src/core/ext/transport/chttp2/transport/hpack_parser.c', - 'src/core/ext/transport/chttp2/transport/hpack_table.c', - 'src/core/ext/transport/chttp2/transport/http2_settings.c', - 'src/core/ext/transport/chttp2/transport/huffsyms.c', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', - 'src/core/ext/transport/chttp2/transport/parsing.c', - 'src/core/ext/transport/chttp2/transport/stream_lists.c', - 'src/core/ext/transport/chttp2/transport/stream_map.c', - 'src/core/ext/transport/chttp2/transport/varint.c', - 'src/core/ext/transport/chttp2/transport/writing.c', - 'src/core/ext/transport/chttp2/alpn/alpn.c', - 'src/core/ext/filters/http/client/http_client_filter.c', - 'src/core/ext/filters/http/http_filters_plugin.c', - 'src/core/ext/filters/http/message_compress/message_compress_filter.c', - 'src/core/ext/filters/http/server/http_server_filter.c', - 'src/core/ext/transport/chttp2/server/chttp2_server.c', - 'src/core/ext/transport/chttp2/client/insecure/channel_create.c', - 'src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c', - 'src/core/ext/transport/chttp2/client/chttp2_connector.c', - 'src/core/ext/filters/client_channel/channel_connectivity.c', - 'src/core/ext/filters/client_channel/client_channel.c', - 'src/core/ext/filters/client_channel/client_channel_factory.c', - 'src/core/ext/filters/client_channel/client_channel_plugin.c', - 'src/core/ext/filters/client_channel/connector.c', - 'src/core/ext/filters/client_channel/http_connect_handshaker.c', - 'src/core/ext/filters/client_channel/http_proxy.c', - 'src/core/ext/filters/client_channel/lb_policy.c', - 'src/core/ext/filters/client_channel/lb_policy_factory.c', - 'src/core/ext/filters/client_channel/lb_policy_registry.c', - 'src/core/ext/filters/client_channel/parse_address.c', - 'src/core/ext/filters/client_channel/proxy_mapper.c', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.c', - 'src/core/ext/filters/client_channel/resolver.c', - 'src/core/ext/filters/client_channel/resolver_factory.c', - 'src/core/ext/filters/client_channel/resolver_registry.c', - 'src/core/ext/filters/client_channel/retry_throttle.c', - 'src/core/ext/filters/client_channel/subchannel.c', - 'src/core/ext/filters/client_channel/subchannel_index.c', - 'src/core/ext/filters/client_channel/uri_parser.c', - 'src/core/ext/filters/deadline/deadline_filter.c', - 'src/core/ext/transport/inproc/inproc_plugin.c', - 'src/core/ext/transport/inproc/inproc_transport.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c', - 'src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c', - 'src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c', - 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c', - 'src/core/ext/filters/load_reporting/server_load_reporting_filter.c', - 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c', + 'src/core/lib/surface/metadata_array.cc', + 'src/core/lib/surface/server.cc', + 'src/core/lib/surface/validate_metadata.cc', + 'src/core/lib/surface/version.cc', + 'src/core/lib/transport/bdp_estimator.cc', + 'src/core/lib/transport/byte_stream.cc', + 'src/core/lib/transport/connectivity_state.cc', + 'src/core/lib/transport/error_utils.cc', + 'src/core/lib/transport/metadata.cc', + 'src/core/lib/transport/metadata_batch.cc', + 'src/core/lib/transport/pid_controller.cc', + 'src/core/lib/transport/service_config.cc', + 'src/core/lib/transport/static_metadata.cc', + 'src/core/lib/transport/status_conversion.cc', + 'src/core/lib/transport/timeout_encoding.cc', + 'src/core/lib/transport/transport.cc', + 'src/core/lib/transport/transport_op_string.cc', + 'src/core/lib/debug/trace.cc', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc', + 'src/core/ext/transport/chttp2/transport/bin_decoder.cc', + 'src/core/ext/transport/chttp2/transport/bin_encoder.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_plugin.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_transport.cc', + 'src/core/ext/transport/chttp2/transport/flow_control.cc', + 'src/core/ext/transport/chttp2/transport/frame_data.cc', + 'src/core/ext/transport/chttp2/transport/frame_goaway.cc', + 'src/core/ext/transport/chttp2/transport/frame_ping.cc', + 'src/core/ext/transport/chttp2/transport/frame_rst_stream.cc', + 'src/core/ext/transport/chttp2/transport/frame_settings.cc', + 'src/core/ext/transport/chttp2/transport/frame_window_update.cc', + 'src/core/ext/transport/chttp2/transport/hpack_encoder.cc', + 'src/core/ext/transport/chttp2/transport/hpack_parser.cc', + 'src/core/ext/transport/chttp2/transport/hpack_table.cc', + 'src/core/ext/transport/chttp2/transport/http2_settings.cc', + 'src/core/ext/transport/chttp2/transport/huffsyms.cc', + 'src/core/ext/transport/chttp2/transport/incoming_metadata.cc', + 'src/core/ext/transport/chttp2/transport/parsing.cc', + 'src/core/ext/transport/chttp2/transport/stream_lists.cc', + 'src/core/ext/transport/chttp2/transport/stream_map.cc', + 'src/core/ext/transport/chttp2/transport/varint.cc', + 'src/core/ext/transport/chttp2/transport/writing.cc', + 'src/core/ext/transport/chttp2/alpn/alpn.cc', + 'src/core/ext/filters/http/client/http_client_filter.cc', + 'src/core/ext/filters/http/http_filters_plugin.cc', + 'src/core/ext/filters/http/message_compress/message_compress_filter.cc', + 'src/core/ext/filters/http/server/http_server_filter.cc', + 'src/core/ext/transport/chttp2/server/chttp2_server.cc', + 'src/core/ext/transport/chttp2/client/insecure/channel_create.cc', + 'src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc', + 'src/core/ext/transport/chttp2/client/chttp2_connector.cc', + 'src/core/ext/filters/client_channel/channel_connectivity.cc', + 'src/core/ext/filters/client_channel/client_channel.cc', + 'src/core/ext/filters/client_channel/client_channel_factory.cc', + 'src/core/ext/filters/client_channel/client_channel_plugin.cc', + 'src/core/ext/filters/client_channel/connector.cc', + 'src/core/ext/filters/client_channel/http_connect_handshaker.cc', + 'src/core/ext/filters/client_channel/http_proxy.cc', + 'src/core/ext/filters/client_channel/lb_policy.cc', + 'src/core/ext/filters/client_channel/lb_policy_factory.cc', + 'src/core/ext/filters/client_channel/lb_policy_registry.cc', + 'src/core/ext/filters/client_channel/parse_address.cc', + 'src/core/ext/filters/client_channel/proxy_mapper.cc', + 'src/core/ext/filters/client_channel/proxy_mapper_registry.cc', + 'src/core/ext/filters/client_channel/resolver.cc', + 'src/core/ext/filters/client_channel/resolver_factory.cc', + 'src/core/ext/filters/client_channel/resolver_registry.cc', + 'src/core/ext/filters/client_channel/retry_throttle.cc', + 'src/core/ext/filters/client_channel/subchannel.cc', + 'src/core/ext/filters/client_channel/subchannel_index.cc', + 'src/core/ext/filters/client_channel/uri_parser.cc', + 'src/core/ext/filters/deadline/deadline_filter.cc', + 'src/core/ext/transport/inproc/inproc_plugin.cc', + 'src/core/ext/transport/inproc/inproc_transport.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc', + 'src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc', + 'src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc', + 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc', + 'src/core/ext/filters/load_reporting/server_load_reporting_filter.cc', + 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc', 'third_party/nanopb/pb_common.c', 'third_party/nanopb/pb_decode.c', 'third_party/nanopb/pb_encode.c', - 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c', - 'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c', - 'src/core/ext/census/base_resources.c', - 'src/core/ext/census/context.c', - 'src/core/ext/census/gen/census.pb.c', - 'src/core/ext/census/gen/trace_context.pb.c', - 'src/core/ext/census/grpc_context.c', - 'src/core/ext/census/grpc_filter.c', - 'src/core/ext/census/grpc_plugin.c', - 'src/core/ext/census/initialize.c', - 'src/core/ext/census/intrusive_hash_map.c', - 'src/core/ext/census/mlog.c', - 'src/core/ext/census/operation.c', - 'src/core/ext/census/placeholders.c', - 'src/core/ext/census/resource.c', - 'src/core/ext/census/trace_context.c', - 'src/core/ext/census/tracing.c', - 'src/core/ext/filters/max_age/max_age_filter.c', - 'src/core/ext/filters/message_size/message_size_filter.c', - 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c', - 'src/core/ext/filters/workarounds/workaround_utils.c', + 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc', + 'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc', + 'src/core/ext/census/base_resources.cc', + 'src/core/ext/census/context.cc', + 'src/core/ext/census/gen/census.pb.cc', + 'src/core/ext/census/gen/trace_context.pb.cc', + 'src/core/ext/census/grpc_context.cc', + 'src/core/ext/census/grpc_filter.cc', + 'src/core/ext/census/grpc_plugin.cc', + 'src/core/ext/census/initialize.cc', + 'src/core/ext/census/intrusive_hash_map.cc', + 'src/core/ext/census/mlog.cc', + 'src/core/ext/census/operation.cc', + 'src/core/ext/census/placeholders.cc', + 'src/core/ext/census/resource.cc', + 'src/core/ext/census/trace_context.cc', + 'src/core/ext/census/tracing.cc', + 'src/core/ext/filters/max_age/max_age_filter.cc', + 'src/core/ext/filters/message_size/message_size_filter.cc', + 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc', + 'src/core/ext/filters/workarounds/workaround_utils.cc', 'src/core/plugin_registry/grpc_unsecure_plugin_registry.cc', ], }, diff --git a/package.xml b/package.xml index 39d238e378f..bbe2a10edd7 100644 --- a/package.xml +++ b/package.xml @@ -112,52 +112,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -419,266 +419,264 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/core/ext/census/base_resources.c b/src/core/ext/census/base_resources.cc similarity index 100% rename from src/core/ext/census/base_resources.c rename to src/core/ext/census/base_resources.cc diff --git a/src/core/ext/census/census_init.c b/src/core/ext/census/census_init.cc similarity index 100% rename from src/core/ext/census/census_init.c rename to src/core/ext/census/census_init.cc diff --git a/src/core/ext/census/census_log.c b/src/core/ext/census/census_log.cc similarity index 100% rename from src/core/ext/census/census_log.c rename to src/core/ext/census/census_log.cc diff --git a/src/core/ext/census/census_rpc_stats.c b/src/core/ext/census/census_rpc_stats.cc similarity index 100% rename from src/core/ext/census/census_rpc_stats.c rename to src/core/ext/census/census_rpc_stats.cc diff --git a/src/core/ext/census/census_tracing.c b/src/core/ext/census/census_tracing.cc similarity index 100% rename from src/core/ext/census/census_tracing.c rename to src/core/ext/census/census_tracing.cc diff --git a/src/core/ext/census/context.c b/src/core/ext/census/context.cc similarity index 100% rename from src/core/ext/census/context.c rename to src/core/ext/census/context.cc diff --git a/src/core/ext/census/gen/census.pb.c b/src/core/ext/census/gen/census.pb.cc similarity index 100% rename from src/core/ext/census/gen/census.pb.c rename to src/core/ext/census/gen/census.pb.cc diff --git a/src/core/ext/census/gen/trace_context.pb.c b/src/core/ext/census/gen/trace_context.pb.cc similarity index 100% rename from src/core/ext/census/gen/trace_context.pb.c rename to src/core/ext/census/gen/trace_context.pb.cc diff --git a/src/core/ext/census/grpc_context.c b/src/core/ext/census/grpc_context.cc similarity index 100% rename from src/core/ext/census/grpc_context.c rename to src/core/ext/census/grpc_context.cc diff --git a/src/core/ext/census/grpc_filter.c b/src/core/ext/census/grpc_filter.cc similarity index 100% rename from src/core/ext/census/grpc_filter.c rename to src/core/ext/census/grpc_filter.cc diff --git a/src/core/ext/census/grpc_plugin.c b/src/core/ext/census/grpc_plugin.cc similarity index 95% rename from src/core/ext/census/grpc_plugin.c rename to src/core/ext/census/grpc_plugin.cc index c0efe5afb85..22b16c6c63d 100644 --- a/src/core/ext/census/grpc_plugin.c +++ b/src/core/ext/census/grpc_plugin.cc @@ -50,7 +50,7 @@ static bool maybe_add_census_filter(grpc_exec_ctx *exec_ctx, return true; } -void census_grpc_plugin_init(void) { +extern "C" void census_grpc_plugin_init(void) { /* Only initialize census if no one else has and some features are * available. */ if (census_enabled() == CENSUS_FEATURE_NONE && @@ -67,4 +67,4 @@ void census_grpc_plugin_init(void) { (void *)&grpc_server_census_filter); } -void census_grpc_plugin_shutdown(void) { census_shutdown(); } +extern "C" void census_grpc_plugin_shutdown(void) { census_shutdown(); } diff --git a/src/core/ext/census/hash_table.c b/src/core/ext/census/hash_table.cc similarity index 100% rename from src/core/ext/census/hash_table.c rename to src/core/ext/census/hash_table.cc diff --git a/src/core/ext/census/initialize.c b/src/core/ext/census/initialize.cc similarity index 100% rename from src/core/ext/census/initialize.c rename to src/core/ext/census/initialize.cc diff --git a/src/core/ext/census/intrusive_hash_map.c b/src/core/ext/census/intrusive_hash_map.cc similarity index 100% rename from src/core/ext/census/intrusive_hash_map.c rename to src/core/ext/census/intrusive_hash_map.cc diff --git a/src/core/ext/census/mlog.c b/src/core/ext/census/mlog.cc similarity index 100% rename from src/core/ext/census/mlog.c rename to src/core/ext/census/mlog.cc diff --git a/src/core/ext/census/operation.c b/src/core/ext/census/operation.cc similarity index 100% rename from src/core/ext/census/operation.c rename to src/core/ext/census/operation.cc diff --git a/src/core/ext/census/placeholders.c b/src/core/ext/census/placeholders.cc similarity index 100% rename from src/core/ext/census/placeholders.c rename to src/core/ext/census/placeholders.cc diff --git a/src/core/ext/census/resource.c b/src/core/ext/census/resource.cc similarity index 100% rename from src/core/ext/census/resource.c rename to src/core/ext/census/resource.cc diff --git a/src/core/ext/census/trace_context.c b/src/core/ext/census/trace_context.cc similarity index 100% rename from src/core/ext/census/trace_context.c rename to src/core/ext/census/trace_context.cc diff --git a/src/core/ext/census/tracing.c b/src/core/ext/census/tracing.cc similarity index 100% rename from src/core/ext/census/tracing.c rename to src/core/ext/census/tracing.cc diff --git a/src/core/ext/census/window_stats.c b/src/core/ext/census/window_stats.cc similarity index 100% rename from src/core/ext/census/window_stats.c rename to src/core/ext/census/window_stats.cc diff --git a/src/core/ext/filters/client_channel/channel_connectivity.c b/src/core/ext/filters/client_channel/channel_connectivity.cc similarity index 100% rename from src/core/ext/filters/client_channel/channel_connectivity.c rename to src/core/ext/filters/client_channel/channel_connectivity.cc diff --git a/src/core/ext/filters/client_channel/client_channel.c b/src/core/ext/filters/client_channel/client_channel.cc similarity index 100% rename from src/core/ext/filters/client_channel/client_channel.c rename to src/core/ext/filters/client_channel/client_channel.cc diff --git a/src/core/ext/filters/client_channel/client_channel_factory.c b/src/core/ext/filters/client_channel/client_channel_factory.cc similarity index 100% rename from src/core/ext/filters/client_channel/client_channel_factory.c rename to src/core/ext/filters/client_channel/client_channel_factory.cc diff --git a/src/core/ext/filters/client_channel/client_channel_plugin.c b/src/core/ext/filters/client_channel/client_channel_plugin.cc similarity index 97% rename from src/core/ext/filters/client_channel/client_channel_plugin.c rename to src/core/ext/filters/client_channel/client_channel_plugin.cc index 1f71c5a7f92..4431d115198 100644 --- a/src/core/ext/filters/client_channel/client_channel_plugin.c +++ b/src/core/ext/filters/client_channel/client_channel_plugin.cc @@ -65,7 +65,7 @@ static bool set_default_host_if_unset(grpc_exec_ctx *exec_ctx, return true; } -void grpc_client_channel_init(void) { +extern "C" void grpc_client_channel_init(void) { grpc_lb_policy_registry_init(); grpc_resolver_registry_init(); grpc_retry_throttle_map_init(); @@ -84,7 +84,7 @@ void grpc_client_channel_init(void) { #endif } -void grpc_client_channel_shutdown(void) { +extern "C" void grpc_client_channel_shutdown(void) { grpc_subchannel_index_shutdown(); grpc_channel_init_shutdown(); grpc_proxy_mapper_registry_shutdown(); diff --git a/src/core/ext/filters/client_channel/connector.c b/src/core/ext/filters/client_channel/connector.cc similarity index 100% rename from src/core/ext/filters/client_channel/connector.c rename to src/core/ext/filters/client_channel/connector.cc diff --git a/src/core/ext/filters/client_channel/http_connect_handshaker.c b/src/core/ext/filters/client_channel/http_connect_handshaker.cc similarity index 100% rename from src/core/ext/filters/client_channel/http_connect_handshaker.c rename to src/core/ext/filters/client_channel/http_connect_handshaker.cc diff --git a/src/core/ext/filters/client_channel/http_proxy.c b/src/core/ext/filters/client_channel/http_proxy.cc similarity index 100% rename from src/core/ext/filters/client_channel/http_proxy.c rename to src/core/ext/filters/client_channel/http_proxy.cc diff --git a/src/core/ext/filters/client_channel/lb_policy.c b/src/core/ext/filters/client_channel/lb_policy.cc similarity index 100% rename from src/core/ext/filters/client_channel/lb_policy.c rename to src/core/ext/filters/client_channel/lb_policy.cc diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc similarity index 100% rename from src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c rename to src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc similarity index 99% rename from src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c rename to src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc index 8dc81b46d13..b9e72da6beb 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc @@ -2006,7 +2006,7 @@ static bool maybe_add_client_load_reporting_filter( return true; } -void grpc_lb_policy_grpclb_init() { +extern "C" void grpc_lb_policy_grpclb_init() { grpc_register_lb_policy(grpc_glb_lb_factory_create()); grpc_register_tracer(&grpc_lb_glb_trace); #ifndef NDEBUG @@ -2018,4 +2018,4 @@ void grpc_lb_policy_grpclb_init() { (void *)&grpc_client_load_reporting_filter); } -void grpc_lb_policy_grpclb_shutdown() {} +extern "C" void grpc_lb_policy_grpclb_shutdown() {} diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc similarity index 100% rename from src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.c rename to src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc similarity index 100% rename from src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c rename to src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc similarity index 100% rename from src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c rename to src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc similarity index 100% rename from src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c rename to src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc similarity index 100% rename from src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c rename to src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc diff --git a/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c b/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc similarity index 99% rename from src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c rename to src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc index d20cbb83881..b07fc3b720b 100644 --- a/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c +++ b/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc @@ -706,9 +706,9 @@ static grpc_lb_policy_factory *pick_first_lb_factory_create() { /* Plugin registration */ -void grpc_lb_policy_pick_first_init() { +extern "C" void grpc_lb_policy_pick_first_init() { grpc_register_lb_policy(pick_first_lb_factory_create()); grpc_register_tracer(&grpc_lb_pick_first_trace); } -void grpc_lb_policy_pick_first_shutdown() {} +extern "C" void grpc_lb_policy_pick_first_shutdown() {} diff --git a/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c b/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc similarity index 99% rename from src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c rename to src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc index a3a62e9f3ce..6812bb50cd9 100644 --- a/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c +++ b/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc @@ -916,9 +916,9 @@ static grpc_lb_policy_factory *round_robin_lb_factory_create() { /* Plugin registration */ -void grpc_lb_policy_round_robin_init() { +extern "C" void grpc_lb_policy_round_robin_init() { grpc_register_lb_policy(round_robin_lb_factory_create()); grpc_register_tracer(&grpc_lb_round_robin_trace); } -void grpc_lb_policy_round_robin_shutdown() {} +extern "C" void grpc_lb_policy_round_robin_shutdown() {} diff --git a/src/core/ext/filters/client_channel/lb_policy_factory.c b/src/core/ext/filters/client_channel/lb_policy_factory.cc similarity index 100% rename from src/core/ext/filters/client_channel/lb_policy_factory.c rename to src/core/ext/filters/client_channel/lb_policy_factory.cc diff --git a/src/core/ext/filters/client_channel/lb_policy_registry.c b/src/core/ext/filters/client_channel/lb_policy_registry.cc similarity index 100% rename from src/core/ext/filters/client_channel/lb_policy_registry.c rename to src/core/ext/filters/client_channel/lb_policy_registry.cc diff --git a/src/core/ext/filters/client_channel/parse_address.c b/src/core/ext/filters/client_channel/parse_address.cc similarity index 100% rename from src/core/ext/filters/client_channel/parse_address.c rename to src/core/ext/filters/client_channel/parse_address.cc diff --git a/src/core/ext/filters/client_channel/proxy_mapper.c b/src/core/ext/filters/client_channel/proxy_mapper.cc similarity index 100% rename from src/core/ext/filters/client_channel/proxy_mapper.c rename to src/core/ext/filters/client_channel/proxy_mapper.cc diff --git a/src/core/ext/filters/client_channel/proxy_mapper_registry.c b/src/core/ext/filters/client_channel/proxy_mapper_registry.cc similarity index 100% rename from src/core/ext/filters/client_channel/proxy_mapper_registry.c rename to src/core/ext/filters/client_channel/proxy_mapper_registry.cc diff --git a/src/core/ext/filters/client_channel/resolver.c b/src/core/ext/filters/client_channel/resolver.cc similarity index 100% rename from src/core/ext/filters/client_channel/resolver.c rename to src/core/ext/filters/client_channel/resolver.cc diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc similarity index 98% rename from src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c rename to src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc index 9bb229ad958..69f5877b006 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc @@ -425,7 +425,7 @@ static grpc_resolver_factory *dns_ares_resolver_factory_create() { return &dns_resolver_factory; } -void grpc_resolver_dns_ares_init(void) { +extern "C" void grpc_resolver_dns_ares_init(void) { char *resolver = gpr_getenv("GRPC_DNS_RESOLVER"); /* TODO(zyc): Turn on c-ares based resolver by default after the address sorter and the CNAME support are added. */ @@ -441,7 +441,7 @@ void grpc_resolver_dns_ares_init(void) { gpr_free(resolver); } -void grpc_resolver_dns_ares_shutdown(void) { +extern "C" void grpc_resolver_dns_ares_shutdown(void) { char *resolver = gpr_getenv("GRPC_DNS_RESOLVER"); if (resolver != NULL && gpr_stricmp(resolver, "ares") == 0) { grpc_ares_cleanup(); @@ -451,8 +451,8 @@ void grpc_resolver_dns_ares_shutdown(void) { #else /* GRPC_ARES == 1 && !defined(GRPC_UV) */ -void grpc_resolver_dns_ares_init(void) {} +extern "C" void grpc_resolver_dns_ares_init(void) {} -void grpc_resolver_dns_ares_shutdown(void) {} +extern "C" void grpc_resolver_dns_ares_shutdown(void) {} #endif /* GRPC_ARES == 1 && !defined(GRPC_UV) */ diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc similarity index 100% rename from src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c rename to src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc similarity index 100% rename from src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c rename to src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc similarity index 100% rename from src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c rename to src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc diff --git a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc similarity index 99% rename from src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c rename to src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc index 5ea75f05549..1baf80b7205 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c +++ b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc @@ -289,7 +289,7 @@ static grpc_resolver_factory *dns_resolver_factory_create() { return &dns_resolver_factory; } -void grpc_resolver_dns_native_init(void) { +extern "C" void grpc_resolver_dns_native_init(void) { char *resolver = gpr_getenv("GRPC_DNS_RESOLVER"); if (resolver != NULL && gpr_stricmp(resolver, "native") == 0) { gpr_log(GPR_DEBUG, "Using native dns resolver"); @@ -307,4 +307,4 @@ void grpc_resolver_dns_native_init(void) { gpr_free(resolver); } -void grpc_resolver_dns_native_shutdown(void) {} +extern "C" void grpc_resolver_dns_native_shutdown(void) {} diff --git a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc similarity index 98% rename from src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c rename to src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc index 69ea440ae6a..ed5b1011fbb 100644 --- a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c +++ b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc @@ -258,8 +258,8 @@ static const grpc_resolver_factory_vtable fake_resolver_factory_vtable = { static grpc_resolver_factory fake_resolver_factory = { &fake_resolver_factory_vtable}; -void grpc_resolver_fake_init(void) { +extern "C" void grpc_resolver_fake_init(void) { grpc_register_resolver_type(&fake_resolver_factory); } -void grpc_resolver_fake_shutdown(void) {} +extern "C" void grpc_resolver_fake_shutdown(void) {} diff --git a/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c b/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc similarity index 98% rename from src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c rename to src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc index 7ceb8f40a17..dda9542325d 100644 --- a/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c +++ b/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc @@ -211,7 +211,7 @@ DECL_FACTORY(unix); DECL_FACTORY(ipv4); DECL_FACTORY(ipv6); -void grpc_resolver_sockaddr_init(void) { +extern "C" void grpc_resolver_sockaddr_init(void) { grpc_register_resolver_type(&ipv4_resolver_factory); grpc_register_resolver_type(&ipv6_resolver_factory); #ifdef GRPC_HAVE_UNIX_SOCKET @@ -219,4 +219,4 @@ void grpc_resolver_sockaddr_init(void) { #endif } -void grpc_resolver_sockaddr_shutdown(void) {} +extern "C" void grpc_resolver_sockaddr_shutdown(void) {} diff --git a/src/core/ext/filters/client_channel/resolver_factory.c b/src/core/ext/filters/client_channel/resolver_factory.cc similarity index 100% rename from src/core/ext/filters/client_channel/resolver_factory.c rename to src/core/ext/filters/client_channel/resolver_factory.cc diff --git a/src/core/ext/filters/client_channel/resolver_registry.c b/src/core/ext/filters/client_channel/resolver_registry.cc similarity index 100% rename from src/core/ext/filters/client_channel/resolver_registry.c rename to src/core/ext/filters/client_channel/resolver_registry.cc diff --git a/src/core/ext/filters/client_channel/retry_throttle.c b/src/core/ext/filters/client_channel/retry_throttle.cc similarity index 100% rename from src/core/ext/filters/client_channel/retry_throttle.c rename to src/core/ext/filters/client_channel/retry_throttle.cc diff --git a/src/core/ext/filters/client_channel/subchannel.c b/src/core/ext/filters/client_channel/subchannel.cc similarity index 100% rename from src/core/ext/filters/client_channel/subchannel.c rename to src/core/ext/filters/client_channel/subchannel.cc diff --git a/src/core/ext/filters/client_channel/subchannel_index.c b/src/core/ext/filters/client_channel/subchannel_index.cc similarity index 100% rename from src/core/ext/filters/client_channel/subchannel_index.c rename to src/core/ext/filters/client_channel/subchannel_index.cc diff --git a/src/core/ext/filters/client_channel/uri_parser.c b/src/core/ext/filters/client_channel/uri_parser.cc similarity index 100% rename from src/core/ext/filters/client_channel/uri_parser.c rename to src/core/ext/filters/client_channel/uri_parser.cc diff --git a/src/core/ext/filters/deadline/deadline_filter.c b/src/core/ext/filters/deadline/deadline_filter.cc similarity index 99% rename from src/core/ext/filters/deadline/deadline_filter.c rename to src/core/ext/filters/deadline/deadline_filter.cc index 1aed488077d..866ce46acf2 100644 --- a/src/core/ext/filters/deadline/deadline_filter.c +++ b/src/core/ext/filters/deadline/deadline_filter.cc @@ -385,7 +385,7 @@ static bool maybe_add_deadline_filter(grpc_exec_ctx* exec_ctx, : true; } -void grpc_deadline_filter_init(void) { +extern "C" void grpc_deadline_filter_init(void) { grpc_channel_init_register_stage( GRPC_CLIENT_DIRECT_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, maybe_add_deadline_filter, (void*)&grpc_client_deadline_filter); @@ -394,4 +394,4 @@ void grpc_deadline_filter_init(void) { maybe_add_deadline_filter, (void*)&grpc_server_deadline_filter); } -void grpc_deadline_filter_shutdown(void) {} +extern "C" void grpc_deadline_filter_shutdown(void) {} diff --git a/src/core/ext/filters/http/client/http_client_filter.c b/src/core/ext/filters/http/client/http_client_filter.cc similarity index 100% rename from src/core/ext/filters/http/client/http_client_filter.c rename to src/core/ext/filters/http/client/http_client_filter.cc diff --git a/src/core/ext/filters/http/http_filters_plugin.c b/src/core/ext/filters/http/http_filters_plugin.cc similarity index 100% rename from src/core/ext/filters/http/http_filters_plugin.c rename to src/core/ext/filters/http/http_filters_plugin.cc diff --git a/src/core/ext/filters/http/message_compress/message_compress_filter.c b/src/core/ext/filters/http/message_compress/message_compress_filter.cc similarity index 100% rename from src/core/ext/filters/http/message_compress/message_compress_filter.c rename to src/core/ext/filters/http/message_compress/message_compress_filter.cc diff --git a/src/core/ext/filters/http/server/http_server_filter.c b/src/core/ext/filters/http/server/http_server_filter.cc similarity index 100% rename from src/core/ext/filters/http/server/http_server_filter.c rename to src/core/ext/filters/http/server/http_server_filter.cc diff --git a/src/core/ext/filters/load_reporting/server_load_reporting_filter.c b/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc similarity index 100% rename from src/core/ext/filters/load_reporting/server_load_reporting_filter.c rename to src/core/ext/filters/load_reporting/server_load_reporting_filter.cc diff --git a/src/core/ext/filters/load_reporting/server_load_reporting_plugin.c b/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc similarity index 95% rename from src/core/ext/filters/load_reporting/server_load_reporting_plugin.c rename to src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc index 2486ead4272..223fb3ee8b4 100644 --- a/src/core/ext/filters/load_reporting/server_load_reporting_plugin.c +++ b/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc @@ -61,10 +61,10 @@ grpc_arg grpc_load_reporting_enable_arg() { /* Plugin registration */ -void grpc_server_load_reporting_plugin_init(void) { +extern "C" void grpc_server_load_reporting_plugin_init(void) { grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX, maybe_add_server_load_reporting_filter, (void *)&grpc_server_load_reporting_filter); } -void grpc_server_load_reporting_plugin_shutdown() {} +extern "C" void grpc_server_load_reporting_plugin_shutdown() {} diff --git a/src/core/ext/filters/max_age/max_age_filter.c b/src/core/ext/filters/max_age/max_age_filter.cc similarity index 99% rename from src/core/ext/filters/max_age/max_age_filter.c rename to src/core/ext/filters/max_age/max_age_filter.cc index 0ac803ed41f..9639ec9fb0e 100644 --- a/src/core/ext/filters/max_age/max_age_filter.c +++ b/src/core/ext/filters/max_age/max_age_filter.cc @@ -414,10 +414,10 @@ static bool maybe_add_max_age_filter(grpc_exec_ctx* exec_ctx, } } -void grpc_max_age_filter_init(void) { +extern "C" void grpc_max_age_filter_init(void) { grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, maybe_add_max_age_filter, NULL); } -void grpc_max_age_filter_shutdown(void) {} +extern "C" void grpc_max_age_filter_shutdown(void) {} diff --git a/src/core/ext/filters/message_size/message_size_filter.c b/src/core/ext/filters/message_size/message_size_filter.cc similarity index 99% rename from src/core/ext/filters/message_size/message_size_filter.c rename to src/core/ext/filters/message_size/message_size_filter.cc index 47763b1deb1..5dc131b9f6c 100644 --- a/src/core/ext/filters/message_size/message_size_filter.c +++ b/src/core/ext/filters/message_size/message_size_filter.cc @@ -288,7 +288,7 @@ static bool maybe_add_message_size_filter(grpc_exec_ctx* exec_ctx, } } -void grpc_message_size_filter_init(void) { +extern "C" void grpc_message_size_filter_init(void) { grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, maybe_add_message_size_filter, NULL); @@ -300,4 +300,4 @@ void grpc_message_size_filter_init(void) { maybe_add_message_size_filter, NULL); } -void grpc_message_size_filter_shutdown(void) {} +extern "C" void grpc_message_size_filter_shutdown(void) {} diff --git a/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c b/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc similarity index 98% rename from src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c rename to src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc index c8b2fe5f99c..f77ed024211 100644 --- a/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c +++ b/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc @@ -196,7 +196,7 @@ static bool register_workaround_cronet_compression( builder, &grpc_workaround_cronet_compression_filter, NULL, NULL); } -void grpc_workaround_cronet_compression_filter_init(void) { +extern "C" void grpc_workaround_cronet_compression_filter_init(void) { grpc_channel_init_register_stage( GRPC_SERVER_CHANNEL, GRPC_WORKAROUND_PRIORITY_HIGH, register_workaround_cronet_compression, NULL); @@ -204,4 +204,4 @@ void grpc_workaround_cronet_compression_filter_init(void) { parse_user_agent); } -void grpc_workaround_cronet_compression_filter_shutdown(void) {} +extern "C" void grpc_workaround_cronet_compression_filter_shutdown(void) {} diff --git a/src/core/ext/filters/workarounds/workaround_utils.c b/src/core/ext/filters/workarounds/workaround_utils.cc similarity index 100% rename from src/core/ext/filters/workarounds/workaround_utils.c rename to src/core/ext/filters/workarounds/workaround_utils.cc diff --git a/src/core/ext/transport/chttp2/alpn/alpn.c b/src/core/ext/transport/chttp2/alpn/alpn.cc similarity index 100% rename from src/core/ext/transport/chttp2/alpn/alpn.c rename to src/core/ext/transport/chttp2/alpn/alpn.cc diff --git a/src/core/ext/transport/chttp2/client/chttp2_connector.c b/src/core/ext/transport/chttp2/client/chttp2_connector.cc similarity index 100% rename from src/core/ext/transport/chttp2/client/chttp2_connector.c rename to src/core/ext/transport/chttp2/client/chttp2_connector.cc diff --git a/src/core/ext/transport/chttp2/client/insecure/channel_create.c b/src/core/ext/transport/chttp2/client/insecure/channel_create.cc similarity index 100% rename from src/core/ext/transport/chttp2/client/insecure/channel_create.c rename to src/core/ext/transport/chttp2/client/insecure/channel_create.cc diff --git a/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c b/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc similarity index 100% rename from src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c rename to src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc diff --git a/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c b/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc similarity index 100% rename from src/core/ext/transport/chttp2/client/secure/secure_channel_create.c rename to src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc diff --git a/src/core/ext/transport/chttp2/server/chttp2_server.c b/src/core/ext/transport/chttp2/server/chttp2_server.cc similarity index 100% rename from src/core/ext/transport/chttp2/server/chttp2_server.c rename to src/core/ext/transport/chttp2/server/chttp2_server.cc diff --git a/src/core/ext/transport/chttp2/server/insecure/server_chttp2.c b/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc similarity index 100% rename from src/core/ext/transport/chttp2/server/insecure/server_chttp2.c rename to src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc diff --git a/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c b/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc similarity index 100% rename from src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c rename to src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc diff --git a/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c b/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc similarity index 100% rename from src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c rename to src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc diff --git a/src/core/ext/transport/chttp2/transport/bin_decoder.c b/src/core/ext/transport/chttp2/transport/bin_decoder.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/bin_decoder.c rename to src/core/ext/transport/chttp2/transport/bin_decoder.cc diff --git a/src/core/ext/transport/chttp2/transport/bin_encoder.c b/src/core/ext/transport/chttp2/transport/bin_encoder.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/bin_encoder.c rename to src/core/ext/transport/chttp2/transport/bin_encoder.cc diff --git a/src/core/ext/transport/chttp2/transport/chttp2_plugin.c b/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc similarity index 90% rename from src/core/ext/transport/chttp2/transport/chttp2_plugin.c rename to src/core/ext/transport/chttp2/transport/chttp2_plugin.cc index 6d09953830c..ac9ae5c395f 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_plugin.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc @@ -20,7 +20,7 @@ #include "src/core/lib/debug/trace.h" #include "src/core/lib/transport/metadata.h" -void grpc_chttp2_plugin_init(void) { +extern "C" void grpc_chttp2_plugin_init(void) { grpc_register_tracer(&grpc_http_trace); grpc_register_tracer(&grpc_flowctl_trace); grpc_register_tracer(&grpc_trace_http2_stream_state); @@ -29,4 +29,4 @@ void grpc_chttp2_plugin_init(void) { #endif } -void grpc_chttp2_plugin_shutdown(void) {} +extern "C" void grpc_chttp2_plugin_shutdown(void) {} diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/chttp2_transport.c rename to src/core/ext/transport/chttp2/transport/chttp2_transport.cc diff --git a/src/core/ext/transport/chttp2/transport/flow_control.c b/src/core/ext/transport/chttp2/transport/flow_control.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/flow_control.c rename to src/core/ext/transport/chttp2/transport/flow_control.cc diff --git a/src/core/ext/transport/chttp2/transport/frame_data.c b/src/core/ext/transport/chttp2/transport/frame_data.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/frame_data.c rename to src/core/ext/transport/chttp2/transport/frame_data.cc diff --git a/src/core/ext/transport/chttp2/transport/frame_goaway.c b/src/core/ext/transport/chttp2/transport/frame_goaway.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/frame_goaway.c rename to src/core/ext/transport/chttp2/transport/frame_goaway.cc diff --git a/src/core/ext/transport/chttp2/transport/frame_ping.c b/src/core/ext/transport/chttp2/transport/frame_ping.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/frame_ping.c rename to src/core/ext/transport/chttp2/transport/frame_ping.cc diff --git a/src/core/ext/transport/chttp2/transport/frame_rst_stream.c b/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/frame_rst_stream.c rename to src/core/ext/transport/chttp2/transport/frame_rst_stream.cc diff --git a/src/core/ext/transport/chttp2/transport/frame_settings.c b/src/core/ext/transport/chttp2/transport/frame_settings.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/frame_settings.c rename to src/core/ext/transport/chttp2/transport/frame_settings.cc diff --git a/src/core/ext/transport/chttp2/transport/frame_window_update.c b/src/core/ext/transport/chttp2/transport/frame_window_update.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/frame_window_update.c rename to src/core/ext/transport/chttp2/transport/frame_window_update.cc diff --git a/src/core/ext/transport/chttp2/transport/hpack_encoder.c b/src/core/ext/transport/chttp2/transport/hpack_encoder.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/hpack_encoder.c rename to src/core/ext/transport/chttp2/transport/hpack_encoder.cc diff --git a/src/core/ext/transport/chttp2/transport/hpack_parser.c b/src/core/ext/transport/chttp2/transport/hpack_parser.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/hpack_parser.c rename to src/core/ext/transport/chttp2/transport/hpack_parser.cc diff --git a/src/core/ext/transport/chttp2/transport/hpack_table.c b/src/core/ext/transport/chttp2/transport/hpack_table.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/hpack_table.c rename to src/core/ext/transport/chttp2/transport/hpack_table.cc diff --git a/src/core/ext/transport/chttp2/transport/http2_settings.c b/src/core/ext/transport/chttp2/transport/http2_settings.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/http2_settings.c rename to src/core/ext/transport/chttp2/transport/http2_settings.cc diff --git a/src/core/ext/transport/chttp2/transport/huffsyms.c b/src/core/ext/transport/chttp2/transport/huffsyms.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/huffsyms.c rename to src/core/ext/transport/chttp2/transport/huffsyms.cc diff --git a/src/core/ext/transport/chttp2/transport/incoming_metadata.c b/src/core/ext/transport/chttp2/transport/incoming_metadata.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/incoming_metadata.c rename to src/core/ext/transport/chttp2/transport/incoming_metadata.cc diff --git a/src/core/ext/transport/chttp2/transport/parsing.c b/src/core/ext/transport/chttp2/transport/parsing.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/parsing.c rename to src/core/ext/transport/chttp2/transport/parsing.cc diff --git a/src/core/ext/transport/chttp2/transport/stream_lists.c b/src/core/ext/transport/chttp2/transport/stream_lists.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/stream_lists.c rename to src/core/ext/transport/chttp2/transport/stream_lists.cc diff --git a/src/core/ext/transport/chttp2/transport/stream_map.c b/src/core/ext/transport/chttp2/transport/stream_map.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/stream_map.c rename to src/core/ext/transport/chttp2/transport/stream_map.cc diff --git a/src/core/ext/transport/chttp2/transport/varint.c b/src/core/ext/transport/chttp2/transport/varint.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/varint.c rename to src/core/ext/transport/chttp2/transport/varint.cc diff --git a/src/core/ext/transport/chttp2/transport/writing.c b/src/core/ext/transport/chttp2/transport/writing.cc similarity index 100% rename from src/core/ext/transport/chttp2/transport/writing.c rename to src/core/ext/transport/chttp2/transport/writing.cc diff --git a/src/core/ext/transport/cronet/client/secure/cronet_channel_create.c b/src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc similarity index 100% rename from src/core/ext/transport/cronet/client/secure/cronet_channel_create.c rename to src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc diff --git a/src/core/ext/transport/cronet/transport/cronet_api_dummy.c b/src/core/ext/transport/cronet/transport/cronet_api_dummy.cc similarity index 100% rename from src/core/ext/transport/cronet/transport/cronet_api_dummy.c rename to src/core/ext/transport/cronet/transport/cronet_api_dummy.cc diff --git a/src/core/ext/transport/cronet/transport/cronet_transport.c b/src/core/ext/transport/cronet/transport/cronet_transport.cc similarity index 100% rename from src/core/ext/transport/cronet/transport/cronet_transport.c rename to src/core/ext/transport/cronet/transport/cronet_transport.cc diff --git a/src/core/ext/transport/inproc/inproc_plugin.c b/src/core/ext/transport/inproc/inproc_plugin.cc similarity index 86% rename from src/core/ext/transport/inproc/inproc_plugin.c rename to src/core/ext/transport/inproc/inproc_plugin.cc index 6a796a0b19f..5d8a1c74abd 100644 --- a/src/core/ext/transport/inproc/inproc_plugin.c +++ b/src/core/ext/transport/inproc/inproc_plugin.cc @@ -21,9 +21,11 @@ grpc_tracer_flag grpc_inproc_trace = GRPC_TRACER_INITIALIZER(false, "inproc"); -void grpc_inproc_plugin_init(void) { +extern "C" void grpc_inproc_plugin_init(void) { grpc_register_tracer(&grpc_inproc_trace); grpc_inproc_transport_init(); } -void grpc_inproc_plugin_shutdown(void) { grpc_inproc_transport_shutdown(); } +extern "C" void grpc_inproc_plugin_shutdown(void) { + grpc_inproc_transport_shutdown(); +} diff --git a/src/core/ext/transport/inproc/inproc_transport.c b/src/core/ext/transport/inproc/inproc_transport.cc similarity index 100% rename from src/core/ext/transport/inproc/inproc_transport.c rename to src/core/ext/transport/inproc/inproc_transport.cc diff --git a/src/core/lib/channel/channel_args.c b/src/core/lib/channel/channel_args.cc similarity index 100% rename from src/core/lib/channel/channel_args.c rename to src/core/lib/channel/channel_args.cc diff --git a/src/core/lib/channel/channel_stack.c b/src/core/lib/channel/channel_stack.cc similarity index 100% rename from src/core/lib/channel/channel_stack.c rename to src/core/lib/channel/channel_stack.cc diff --git a/src/core/lib/channel/channel_stack_builder.c b/src/core/lib/channel/channel_stack_builder.cc similarity index 100% rename from src/core/lib/channel/channel_stack_builder.c rename to src/core/lib/channel/channel_stack_builder.cc diff --git a/src/core/lib/channel/connected_channel.c b/src/core/lib/channel/connected_channel.cc similarity index 100% rename from src/core/lib/channel/connected_channel.c rename to src/core/lib/channel/connected_channel.cc diff --git a/src/core/lib/channel/handshaker.c b/src/core/lib/channel/handshaker.cc similarity index 100% rename from src/core/lib/channel/handshaker.c rename to src/core/lib/channel/handshaker.cc diff --git a/src/core/lib/channel/handshaker_factory.c b/src/core/lib/channel/handshaker_factory.cc similarity index 100% rename from src/core/lib/channel/handshaker_factory.c rename to src/core/lib/channel/handshaker_factory.cc diff --git a/src/core/lib/channel/handshaker_registry.c b/src/core/lib/channel/handshaker_registry.cc similarity index 100% rename from src/core/lib/channel/handshaker_registry.c rename to src/core/lib/channel/handshaker_registry.cc diff --git a/src/core/lib/compression/compression.c b/src/core/lib/compression/compression.cc similarity index 100% rename from src/core/lib/compression/compression.c rename to src/core/lib/compression/compression.cc diff --git a/src/core/lib/compression/message_compress.c b/src/core/lib/compression/message_compress.cc similarity index 100% rename from src/core/lib/compression/message_compress.c rename to src/core/lib/compression/message_compress.cc diff --git a/src/core/lib/compression/stream_compression.c b/src/core/lib/compression/stream_compression.cc similarity index 100% rename from src/core/lib/compression/stream_compression.c rename to src/core/lib/compression/stream_compression.cc diff --git a/src/core/lib/debug/stats.c b/src/core/lib/debug/stats.cc similarity index 100% rename from src/core/lib/debug/stats.c rename to src/core/lib/debug/stats.cc diff --git a/src/core/lib/debug/stats_data.c b/src/core/lib/debug/stats_data.cc similarity index 100% rename from src/core/lib/debug/stats_data.c rename to src/core/lib/debug/stats_data.cc diff --git a/src/core/lib/debug/trace.c b/src/core/lib/debug/trace.cc similarity index 100% rename from src/core/lib/debug/trace.c rename to src/core/lib/debug/trace.cc diff --git a/src/core/lib/http/format_request.c b/src/core/lib/http/format_request.cc similarity index 100% rename from src/core/lib/http/format_request.c rename to src/core/lib/http/format_request.cc diff --git a/src/core/lib/http/httpcli.c b/src/core/lib/http/httpcli.cc similarity index 100% rename from src/core/lib/http/httpcli.c rename to src/core/lib/http/httpcli.cc diff --git a/src/core/lib/http/httpcli_security_connector.c b/src/core/lib/http/httpcli_security_connector.cc similarity index 100% rename from src/core/lib/http/httpcli_security_connector.c rename to src/core/lib/http/httpcli_security_connector.cc diff --git a/src/core/lib/http/parser.c b/src/core/lib/http/parser.cc similarity index 100% rename from src/core/lib/http/parser.c rename to src/core/lib/http/parser.cc diff --git a/src/core/lib/iomgr/call_combiner.c b/src/core/lib/iomgr/call_combiner.cc similarity index 100% rename from src/core/lib/iomgr/call_combiner.c rename to src/core/lib/iomgr/call_combiner.cc diff --git a/src/core/lib/iomgr/closure.c b/src/core/lib/iomgr/closure.cc similarity index 100% rename from src/core/lib/iomgr/closure.c rename to src/core/lib/iomgr/closure.cc diff --git a/src/core/lib/iomgr/combiner.c b/src/core/lib/iomgr/combiner.cc similarity index 100% rename from src/core/lib/iomgr/combiner.c rename to src/core/lib/iomgr/combiner.cc diff --git a/src/core/lib/iomgr/endpoint.c b/src/core/lib/iomgr/endpoint.cc similarity index 100% rename from src/core/lib/iomgr/endpoint.c rename to src/core/lib/iomgr/endpoint.cc diff --git a/src/core/lib/iomgr/endpoint_pair_posix.c b/src/core/lib/iomgr/endpoint_pair_posix.cc similarity index 100% rename from src/core/lib/iomgr/endpoint_pair_posix.c rename to src/core/lib/iomgr/endpoint_pair_posix.cc diff --git a/src/core/lib/iomgr/endpoint_pair_uv.c b/src/core/lib/iomgr/endpoint_pair_uv.cc similarity index 100% rename from src/core/lib/iomgr/endpoint_pair_uv.c rename to src/core/lib/iomgr/endpoint_pair_uv.cc diff --git a/src/core/lib/iomgr/endpoint_pair_windows.c b/src/core/lib/iomgr/endpoint_pair_windows.cc similarity index 100% rename from src/core/lib/iomgr/endpoint_pair_windows.c rename to src/core/lib/iomgr/endpoint_pair_windows.cc diff --git a/src/core/lib/iomgr/error.c b/src/core/lib/iomgr/error.cc similarity index 100% rename from src/core/lib/iomgr/error.c rename to src/core/lib/iomgr/error.cc diff --git a/src/core/lib/iomgr/ev_epoll1_linux.c b/src/core/lib/iomgr/ev_epoll1_linux.cc similarity index 100% rename from src/core/lib/iomgr/ev_epoll1_linux.c rename to src/core/lib/iomgr/ev_epoll1_linux.cc diff --git a/src/core/lib/iomgr/ev_epollex_linux.c b/src/core/lib/iomgr/ev_epollex_linux.cc similarity index 100% rename from src/core/lib/iomgr/ev_epollex_linux.c rename to src/core/lib/iomgr/ev_epollex_linux.cc diff --git a/src/core/lib/iomgr/ev_epollsig_linux.c b/src/core/lib/iomgr/ev_epollsig_linux.cc similarity index 100% rename from src/core/lib/iomgr/ev_epollsig_linux.c rename to src/core/lib/iomgr/ev_epollsig_linux.cc diff --git a/src/core/lib/iomgr/ev_poll_posix.c b/src/core/lib/iomgr/ev_poll_posix.cc similarity index 100% rename from src/core/lib/iomgr/ev_poll_posix.c rename to src/core/lib/iomgr/ev_poll_posix.cc diff --git a/src/core/lib/iomgr/ev_posix.c b/src/core/lib/iomgr/ev_posix.cc similarity index 100% rename from src/core/lib/iomgr/ev_posix.c rename to src/core/lib/iomgr/ev_posix.cc diff --git a/src/core/lib/iomgr/ev_windows.c b/src/core/lib/iomgr/ev_windows.cc similarity index 100% rename from src/core/lib/iomgr/ev_windows.c rename to src/core/lib/iomgr/ev_windows.cc diff --git a/src/core/lib/iomgr/exec_ctx.c b/src/core/lib/iomgr/exec_ctx.cc similarity index 100% rename from src/core/lib/iomgr/exec_ctx.c rename to src/core/lib/iomgr/exec_ctx.cc diff --git a/src/core/lib/iomgr/executor.c b/src/core/lib/iomgr/executor.cc similarity index 100% rename from src/core/lib/iomgr/executor.c rename to src/core/lib/iomgr/executor.cc diff --git a/src/core/lib/iomgr/gethostname_fallback.c b/src/core/lib/iomgr/gethostname_fallback.cc similarity index 100% rename from src/core/lib/iomgr/gethostname_fallback.c rename to src/core/lib/iomgr/gethostname_fallback.cc diff --git a/src/core/lib/iomgr/gethostname_host_name_max.c b/src/core/lib/iomgr/gethostname_host_name_max.cc similarity index 100% rename from src/core/lib/iomgr/gethostname_host_name_max.c rename to src/core/lib/iomgr/gethostname_host_name_max.cc diff --git a/src/core/lib/iomgr/gethostname_sysconf.c b/src/core/lib/iomgr/gethostname_sysconf.cc similarity index 100% rename from src/core/lib/iomgr/gethostname_sysconf.c rename to src/core/lib/iomgr/gethostname_sysconf.cc diff --git a/src/core/lib/iomgr/iocp_windows.c b/src/core/lib/iomgr/iocp_windows.cc similarity index 100% rename from src/core/lib/iomgr/iocp_windows.c rename to src/core/lib/iomgr/iocp_windows.cc diff --git a/src/core/lib/iomgr/iomgr.c b/src/core/lib/iomgr/iomgr.cc similarity index 100% rename from src/core/lib/iomgr/iomgr.c rename to src/core/lib/iomgr/iomgr.cc diff --git a/src/core/lib/iomgr/iomgr_posix.c b/src/core/lib/iomgr/iomgr_posix.cc similarity index 100% rename from src/core/lib/iomgr/iomgr_posix.c rename to src/core/lib/iomgr/iomgr_posix.cc diff --git a/src/core/lib/iomgr/iomgr_uv.c b/src/core/lib/iomgr/iomgr_uv.cc similarity index 100% rename from src/core/lib/iomgr/iomgr_uv.c rename to src/core/lib/iomgr/iomgr_uv.cc diff --git a/src/core/lib/iomgr/iomgr_windows.c b/src/core/lib/iomgr/iomgr_windows.cc similarity index 100% rename from src/core/lib/iomgr/iomgr_windows.c rename to src/core/lib/iomgr/iomgr_windows.cc diff --git a/src/core/lib/iomgr/is_epollexclusive_available.c b/src/core/lib/iomgr/is_epollexclusive_available.cc similarity index 100% rename from src/core/lib/iomgr/is_epollexclusive_available.c rename to src/core/lib/iomgr/is_epollexclusive_available.cc diff --git a/src/core/lib/iomgr/load_file.c b/src/core/lib/iomgr/load_file.cc similarity index 100% rename from src/core/lib/iomgr/load_file.c rename to src/core/lib/iomgr/load_file.cc diff --git a/src/core/lib/iomgr/lockfree_event.c b/src/core/lib/iomgr/lockfree_event.cc similarity index 100% rename from src/core/lib/iomgr/lockfree_event.c rename to src/core/lib/iomgr/lockfree_event.cc diff --git a/src/core/lib/iomgr/network_status_tracker.c b/src/core/lib/iomgr/network_status_tracker.cc similarity index 100% rename from src/core/lib/iomgr/network_status_tracker.c rename to src/core/lib/iomgr/network_status_tracker.cc diff --git a/src/core/lib/iomgr/polling_entity.c b/src/core/lib/iomgr/polling_entity.cc similarity index 100% rename from src/core/lib/iomgr/polling_entity.c rename to src/core/lib/iomgr/polling_entity.cc diff --git a/src/core/lib/iomgr/pollset_set_uv.c b/src/core/lib/iomgr/pollset_set_uv.cc similarity index 100% rename from src/core/lib/iomgr/pollset_set_uv.c rename to src/core/lib/iomgr/pollset_set_uv.cc diff --git a/src/core/lib/iomgr/pollset_set_windows.c b/src/core/lib/iomgr/pollset_set_windows.cc similarity index 100% rename from src/core/lib/iomgr/pollset_set_windows.c rename to src/core/lib/iomgr/pollset_set_windows.cc diff --git a/src/core/lib/iomgr/pollset_uv.c b/src/core/lib/iomgr/pollset_uv.cc similarity index 100% rename from src/core/lib/iomgr/pollset_uv.c rename to src/core/lib/iomgr/pollset_uv.cc diff --git a/src/core/lib/iomgr/pollset_windows.c b/src/core/lib/iomgr/pollset_windows.cc similarity index 100% rename from src/core/lib/iomgr/pollset_windows.c rename to src/core/lib/iomgr/pollset_windows.cc diff --git a/src/core/lib/iomgr/resolve_address_posix.c b/src/core/lib/iomgr/resolve_address_posix.cc similarity index 100% rename from src/core/lib/iomgr/resolve_address_posix.c rename to src/core/lib/iomgr/resolve_address_posix.cc diff --git a/src/core/lib/iomgr/resolve_address_uv.c b/src/core/lib/iomgr/resolve_address_uv.cc similarity index 100% rename from src/core/lib/iomgr/resolve_address_uv.c rename to src/core/lib/iomgr/resolve_address_uv.cc diff --git a/src/core/lib/iomgr/resolve_address_windows.c b/src/core/lib/iomgr/resolve_address_windows.cc similarity index 100% rename from src/core/lib/iomgr/resolve_address_windows.c rename to src/core/lib/iomgr/resolve_address_windows.cc diff --git a/src/core/lib/iomgr/resource_quota.c b/src/core/lib/iomgr/resource_quota.cc similarity index 100% rename from src/core/lib/iomgr/resource_quota.c rename to src/core/lib/iomgr/resource_quota.cc diff --git a/src/core/lib/iomgr/sockaddr_utils.c b/src/core/lib/iomgr/sockaddr_utils.cc similarity index 100% rename from src/core/lib/iomgr/sockaddr_utils.c rename to src/core/lib/iomgr/sockaddr_utils.cc diff --git a/src/core/lib/iomgr/socket_factory_posix.c b/src/core/lib/iomgr/socket_factory_posix.cc similarity index 100% rename from src/core/lib/iomgr/socket_factory_posix.c rename to src/core/lib/iomgr/socket_factory_posix.cc diff --git a/src/core/lib/iomgr/socket_mutator.c b/src/core/lib/iomgr/socket_mutator.cc similarity index 100% rename from src/core/lib/iomgr/socket_mutator.c rename to src/core/lib/iomgr/socket_mutator.cc diff --git a/src/core/lib/iomgr/socket_utils_common_posix.c b/src/core/lib/iomgr/socket_utils_common_posix.cc similarity index 100% rename from src/core/lib/iomgr/socket_utils_common_posix.c rename to src/core/lib/iomgr/socket_utils_common_posix.cc diff --git a/src/core/lib/iomgr/socket_utils_linux.c b/src/core/lib/iomgr/socket_utils_linux.cc similarity index 100% rename from src/core/lib/iomgr/socket_utils_linux.c rename to src/core/lib/iomgr/socket_utils_linux.cc diff --git a/src/core/lib/iomgr/socket_utils_posix.c b/src/core/lib/iomgr/socket_utils_posix.cc similarity index 100% rename from src/core/lib/iomgr/socket_utils_posix.c rename to src/core/lib/iomgr/socket_utils_posix.cc diff --git a/src/core/lib/iomgr/socket_utils_uv.c b/src/core/lib/iomgr/socket_utils_uv.cc similarity index 100% rename from src/core/lib/iomgr/socket_utils_uv.c rename to src/core/lib/iomgr/socket_utils_uv.cc diff --git a/src/core/lib/iomgr/socket_utils_windows.c b/src/core/lib/iomgr/socket_utils_windows.cc similarity index 100% rename from src/core/lib/iomgr/socket_utils_windows.c rename to src/core/lib/iomgr/socket_utils_windows.cc diff --git a/src/core/lib/iomgr/socket_windows.c b/src/core/lib/iomgr/socket_windows.cc similarity index 100% rename from src/core/lib/iomgr/socket_windows.c rename to src/core/lib/iomgr/socket_windows.cc diff --git a/src/core/lib/iomgr/tcp_client_posix.c b/src/core/lib/iomgr/tcp_client_posix.cc similarity index 100% rename from src/core/lib/iomgr/tcp_client_posix.c rename to src/core/lib/iomgr/tcp_client_posix.cc diff --git a/src/core/lib/iomgr/tcp_client_uv.c b/src/core/lib/iomgr/tcp_client_uv.cc similarity index 100% rename from src/core/lib/iomgr/tcp_client_uv.c rename to src/core/lib/iomgr/tcp_client_uv.cc diff --git a/src/core/lib/iomgr/tcp_client_windows.c b/src/core/lib/iomgr/tcp_client_windows.cc similarity index 100% rename from src/core/lib/iomgr/tcp_client_windows.c rename to src/core/lib/iomgr/tcp_client_windows.cc diff --git a/src/core/lib/iomgr/tcp_posix.c b/src/core/lib/iomgr/tcp_posix.cc similarity index 100% rename from src/core/lib/iomgr/tcp_posix.c rename to src/core/lib/iomgr/tcp_posix.cc diff --git a/src/core/lib/iomgr/tcp_server_posix.c b/src/core/lib/iomgr/tcp_server_posix.cc similarity index 100% rename from src/core/lib/iomgr/tcp_server_posix.c rename to src/core/lib/iomgr/tcp_server_posix.cc diff --git a/src/core/lib/iomgr/tcp_server_utils_posix_common.c b/src/core/lib/iomgr/tcp_server_utils_posix_common.cc similarity index 100% rename from src/core/lib/iomgr/tcp_server_utils_posix_common.c rename to src/core/lib/iomgr/tcp_server_utils_posix_common.cc diff --git a/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c b/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc similarity index 100% rename from src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c rename to src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc diff --git a/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c b/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc similarity index 100% rename from src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c rename to src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc diff --git a/src/core/lib/iomgr/tcp_server_uv.c b/src/core/lib/iomgr/tcp_server_uv.cc similarity index 100% rename from src/core/lib/iomgr/tcp_server_uv.c rename to src/core/lib/iomgr/tcp_server_uv.cc diff --git a/src/core/lib/iomgr/tcp_server_windows.c b/src/core/lib/iomgr/tcp_server_windows.cc similarity index 100% rename from src/core/lib/iomgr/tcp_server_windows.c rename to src/core/lib/iomgr/tcp_server_windows.cc diff --git a/src/core/lib/iomgr/tcp_uv.c b/src/core/lib/iomgr/tcp_uv.cc similarity index 100% rename from src/core/lib/iomgr/tcp_uv.c rename to src/core/lib/iomgr/tcp_uv.cc diff --git a/src/core/lib/iomgr/tcp_windows.c b/src/core/lib/iomgr/tcp_windows.cc similarity index 100% rename from src/core/lib/iomgr/tcp_windows.c rename to src/core/lib/iomgr/tcp_windows.cc diff --git a/src/core/lib/iomgr/time_averaged_stats.c b/src/core/lib/iomgr/time_averaged_stats.cc similarity index 100% rename from src/core/lib/iomgr/time_averaged_stats.c rename to src/core/lib/iomgr/time_averaged_stats.cc diff --git a/src/core/lib/iomgr/timer_generic.c b/src/core/lib/iomgr/timer_generic.cc similarity index 100% rename from src/core/lib/iomgr/timer_generic.c rename to src/core/lib/iomgr/timer_generic.cc diff --git a/src/core/lib/iomgr/timer_heap.c b/src/core/lib/iomgr/timer_heap.cc similarity index 100% rename from src/core/lib/iomgr/timer_heap.c rename to src/core/lib/iomgr/timer_heap.cc diff --git a/src/core/lib/iomgr/timer_manager.c b/src/core/lib/iomgr/timer_manager.cc similarity index 100% rename from src/core/lib/iomgr/timer_manager.c rename to src/core/lib/iomgr/timer_manager.cc diff --git a/src/core/lib/iomgr/timer_uv.c b/src/core/lib/iomgr/timer_uv.cc similarity index 100% rename from src/core/lib/iomgr/timer_uv.c rename to src/core/lib/iomgr/timer_uv.cc diff --git a/src/core/lib/iomgr/udp_server.c b/src/core/lib/iomgr/udp_server.cc similarity index 100% rename from src/core/lib/iomgr/udp_server.c rename to src/core/lib/iomgr/udp_server.cc diff --git a/src/core/lib/iomgr/unix_sockets_posix.c b/src/core/lib/iomgr/unix_sockets_posix.cc similarity index 100% rename from src/core/lib/iomgr/unix_sockets_posix.c rename to src/core/lib/iomgr/unix_sockets_posix.cc diff --git a/src/core/lib/iomgr/unix_sockets_posix_noop.c b/src/core/lib/iomgr/unix_sockets_posix_noop.cc similarity index 100% rename from src/core/lib/iomgr/unix_sockets_posix_noop.c rename to src/core/lib/iomgr/unix_sockets_posix_noop.cc diff --git a/src/core/lib/iomgr/wakeup_fd_cv.c b/src/core/lib/iomgr/wakeup_fd_cv.cc similarity index 100% rename from src/core/lib/iomgr/wakeup_fd_cv.c rename to src/core/lib/iomgr/wakeup_fd_cv.cc diff --git a/src/core/lib/iomgr/wakeup_fd_eventfd.c b/src/core/lib/iomgr/wakeup_fd_eventfd.cc similarity index 100% rename from src/core/lib/iomgr/wakeup_fd_eventfd.c rename to src/core/lib/iomgr/wakeup_fd_eventfd.cc diff --git a/src/core/lib/iomgr/wakeup_fd_nospecial.c b/src/core/lib/iomgr/wakeup_fd_nospecial.cc similarity index 100% rename from src/core/lib/iomgr/wakeup_fd_nospecial.c rename to src/core/lib/iomgr/wakeup_fd_nospecial.cc diff --git a/src/core/lib/iomgr/wakeup_fd_pipe.c b/src/core/lib/iomgr/wakeup_fd_pipe.cc similarity index 100% rename from src/core/lib/iomgr/wakeup_fd_pipe.c rename to src/core/lib/iomgr/wakeup_fd_pipe.cc diff --git a/src/core/lib/iomgr/wakeup_fd_posix.c b/src/core/lib/iomgr/wakeup_fd_posix.cc similarity index 100% rename from src/core/lib/iomgr/wakeup_fd_posix.c rename to src/core/lib/iomgr/wakeup_fd_posix.cc diff --git a/src/core/lib/json/json.c b/src/core/lib/json/json.cc similarity index 100% rename from src/core/lib/json/json.c rename to src/core/lib/json/json.cc diff --git a/src/core/lib/json/json_reader.c b/src/core/lib/json/json_reader.cc similarity index 100% rename from src/core/lib/json/json_reader.c rename to src/core/lib/json/json_reader.cc diff --git a/src/core/lib/json/json_string.c b/src/core/lib/json/json_string.cc similarity index 100% rename from src/core/lib/json/json_string.c rename to src/core/lib/json/json_string.cc diff --git a/src/core/lib/json/json_writer.c b/src/core/lib/json/json_writer.cc similarity index 100% rename from src/core/lib/json/json_writer.c rename to src/core/lib/json/json_writer.cc diff --git a/src/core/lib/profiling/basic_timers.c b/src/core/lib/profiling/basic_timers.cc similarity index 100% rename from src/core/lib/profiling/basic_timers.c rename to src/core/lib/profiling/basic_timers.cc diff --git a/src/core/lib/profiling/stap_timers.c b/src/core/lib/profiling/stap_timers.cc similarity index 100% rename from src/core/lib/profiling/stap_timers.c rename to src/core/lib/profiling/stap_timers.cc diff --git a/src/core/lib/security/context/security_context.c b/src/core/lib/security/context/security_context.cc similarity index 100% rename from src/core/lib/security/context/security_context.c rename to src/core/lib/security/context/security_context.cc diff --git a/src/core/lib/security/credentials/composite/composite_credentials.c b/src/core/lib/security/credentials/composite/composite_credentials.cc similarity index 100% rename from src/core/lib/security/credentials/composite/composite_credentials.c rename to src/core/lib/security/credentials/composite/composite_credentials.cc diff --git a/src/core/lib/security/credentials/credentials.c b/src/core/lib/security/credentials/credentials.cc similarity index 100% rename from src/core/lib/security/credentials/credentials.c rename to src/core/lib/security/credentials/credentials.cc diff --git a/src/core/lib/security/credentials/credentials_metadata.c b/src/core/lib/security/credentials/credentials_metadata.cc similarity index 100% rename from src/core/lib/security/credentials/credentials_metadata.c rename to src/core/lib/security/credentials/credentials_metadata.cc diff --git a/src/core/lib/security/credentials/fake/fake_credentials.c b/src/core/lib/security/credentials/fake/fake_credentials.cc similarity index 100% rename from src/core/lib/security/credentials/fake/fake_credentials.c rename to src/core/lib/security/credentials/fake/fake_credentials.cc diff --git a/src/core/lib/security/credentials/google_default/credentials_generic.c b/src/core/lib/security/credentials/google_default/credentials_generic.cc similarity index 100% rename from src/core/lib/security/credentials/google_default/credentials_generic.c rename to src/core/lib/security/credentials/google_default/credentials_generic.cc diff --git a/src/core/lib/security/credentials/google_default/google_default_credentials.c b/src/core/lib/security/credentials/google_default/google_default_credentials.cc similarity index 99% rename from src/core/lib/security/credentials/google_default/google_default_credentials.c rename to src/core/lib/security/credentials/google_default/google_default_credentials.cc index 11a06e994fd..8fe5802d49b 100644 --- a/src/core/lib/security/credentials/google_default/google_default_credentials.c +++ b/src/core/lib/security/credentials/google_default/google_default_credentials.cc @@ -28,6 +28,7 @@ #include "src/core/lib/http/parser.h" #include "src/core/lib/iomgr/load_file.h" #include "src/core/lib/iomgr/polling_entity.h" +#include "src/core/lib/security/credentials/google_default/google_default_credentials.h" #include "src/core/lib/security/credentials/jwt/jwt_credentials.h" #include "src/core/lib/security/credentials/oauth2/oauth2_credentials.h" #include "src/core/lib/slice/slice_internal.h" diff --git a/src/core/lib/security/credentials/iam/iam_credentials.c b/src/core/lib/security/credentials/iam/iam_credentials.cc similarity index 100% rename from src/core/lib/security/credentials/iam/iam_credentials.c rename to src/core/lib/security/credentials/iam/iam_credentials.cc diff --git a/src/core/lib/security/credentials/jwt/json_token.c b/src/core/lib/security/credentials/jwt/json_token.cc similarity index 100% rename from src/core/lib/security/credentials/jwt/json_token.c rename to src/core/lib/security/credentials/jwt/json_token.cc diff --git a/src/core/lib/security/credentials/jwt/jwt_credentials.c b/src/core/lib/security/credentials/jwt/jwt_credentials.cc similarity index 100% rename from src/core/lib/security/credentials/jwt/jwt_credentials.c rename to src/core/lib/security/credentials/jwt/jwt_credentials.cc diff --git a/src/core/lib/security/credentials/jwt/jwt_verifier.c b/src/core/lib/security/credentials/jwt/jwt_verifier.cc similarity index 100% rename from src/core/lib/security/credentials/jwt/jwt_verifier.c rename to src/core/lib/security/credentials/jwt/jwt_verifier.cc diff --git a/src/core/lib/security/credentials/oauth2/oauth2_credentials.c b/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc similarity index 100% rename from src/core/lib/security/credentials/oauth2/oauth2_credentials.c rename to src/core/lib/security/credentials/oauth2/oauth2_credentials.cc diff --git a/src/core/lib/security/credentials/plugin/plugin_credentials.c b/src/core/lib/security/credentials/plugin/plugin_credentials.cc similarity index 100% rename from src/core/lib/security/credentials/plugin/plugin_credentials.c rename to src/core/lib/security/credentials/plugin/plugin_credentials.cc diff --git a/src/core/lib/security/credentials/ssl/ssl_credentials.c b/src/core/lib/security/credentials/ssl/ssl_credentials.cc similarity index 100% rename from src/core/lib/security/credentials/ssl/ssl_credentials.c rename to src/core/lib/security/credentials/ssl/ssl_credentials.cc diff --git a/src/core/lib/security/transport/client_auth_filter.c b/src/core/lib/security/transport/client_auth_filter.cc similarity index 100% rename from src/core/lib/security/transport/client_auth_filter.c rename to src/core/lib/security/transport/client_auth_filter.cc diff --git a/src/core/lib/security/transport/lb_targets_info.c b/src/core/lib/security/transport/lb_targets_info.cc similarity index 100% rename from src/core/lib/security/transport/lb_targets_info.c rename to src/core/lib/security/transport/lb_targets_info.cc diff --git a/src/core/lib/security/transport/secure_endpoint.c b/src/core/lib/security/transport/secure_endpoint.cc similarity index 100% rename from src/core/lib/security/transport/secure_endpoint.c rename to src/core/lib/security/transport/secure_endpoint.cc diff --git a/src/core/lib/security/transport/security_connector.c b/src/core/lib/security/transport/security_connector.cc similarity index 100% rename from src/core/lib/security/transport/security_connector.c rename to src/core/lib/security/transport/security_connector.cc diff --git a/src/core/lib/security/transport/security_handshaker.c b/src/core/lib/security/transport/security_handshaker.cc similarity index 100% rename from src/core/lib/security/transport/security_handshaker.c rename to src/core/lib/security/transport/security_handshaker.cc diff --git a/src/core/lib/security/transport/server_auth_filter.c b/src/core/lib/security/transport/server_auth_filter.cc similarity index 100% rename from src/core/lib/security/transport/server_auth_filter.c rename to src/core/lib/security/transport/server_auth_filter.cc diff --git a/src/core/lib/security/transport/tsi_error.c b/src/core/lib/security/transport/tsi_error.cc similarity index 100% rename from src/core/lib/security/transport/tsi_error.c rename to src/core/lib/security/transport/tsi_error.cc diff --git a/src/core/lib/security/util/json_util.c b/src/core/lib/security/util/json_util.cc similarity index 100% rename from src/core/lib/security/util/json_util.c rename to src/core/lib/security/util/json_util.cc diff --git a/src/core/lib/slice/b64.c b/src/core/lib/slice/b64.cc similarity index 100% rename from src/core/lib/slice/b64.c rename to src/core/lib/slice/b64.cc diff --git a/src/core/lib/slice/percent_encoding.c b/src/core/lib/slice/percent_encoding.cc similarity index 100% rename from src/core/lib/slice/percent_encoding.c rename to src/core/lib/slice/percent_encoding.cc diff --git a/src/core/lib/slice/slice.c b/src/core/lib/slice/slice.cc similarity index 100% rename from src/core/lib/slice/slice.c rename to src/core/lib/slice/slice.cc diff --git a/src/core/lib/slice/slice_buffer.c b/src/core/lib/slice/slice_buffer.cc similarity index 100% rename from src/core/lib/slice/slice_buffer.c rename to src/core/lib/slice/slice_buffer.cc diff --git a/src/core/lib/slice/slice_hash_table.c b/src/core/lib/slice/slice_hash_table.cc similarity index 100% rename from src/core/lib/slice/slice_hash_table.c rename to src/core/lib/slice/slice_hash_table.cc diff --git a/src/core/lib/slice/slice_intern.c b/src/core/lib/slice/slice_intern.cc similarity index 100% rename from src/core/lib/slice/slice_intern.c rename to src/core/lib/slice/slice_intern.cc diff --git a/src/core/lib/slice/slice_string_helpers.c b/src/core/lib/slice/slice_string_helpers.cc similarity index 100% rename from src/core/lib/slice/slice_string_helpers.c rename to src/core/lib/slice/slice_string_helpers.cc diff --git a/src/core/lib/support/alloc.c b/src/core/lib/support/alloc.cc similarity index 100% rename from src/core/lib/support/alloc.c rename to src/core/lib/support/alloc.cc diff --git a/src/core/lib/support/arena.c b/src/core/lib/support/arena.cc similarity index 100% rename from src/core/lib/support/arena.c rename to src/core/lib/support/arena.cc diff --git a/src/core/lib/support/atm.c b/src/core/lib/support/atm.cc similarity index 100% rename from src/core/lib/support/atm.c rename to src/core/lib/support/atm.cc diff --git a/src/core/lib/support/avl.c b/src/core/lib/support/avl.cc similarity index 100% rename from src/core/lib/support/avl.c rename to src/core/lib/support/avl.cc diff --git a/src/core/lib/support/backoff.c b/src/core/lib/support/backoff.cc similarity index 100% rename from src/core/lib/support/backoff.c rename to src/core/lib/support/backoff.cc diff --git a/src/core/lib/support/cmdline.c b/src/core/lib/support/cmdline.cc similarity index 100% rename from src/core/lib/support/cmdline.c rename to src/core/lib/support/cmdline.cc diff --git a/src/core/lib/support/cpu_iphone.c b/src/core/lib/support/cpu_iphone.cc similarity index 100% rename from src/core/lib/support/cpu_iphone.c rename to src/core/lib/support/cpu_iphone.cc diff --git a/src/core/lib/support/cpu_linux.c b/src/core/lib/support/cpu_linux.cc similarity index 100% rename from src/core/lib/support/cpu_linux.c rename to src/core/lib/support/cpu_linux.cc diff --git a/src/core/lib/support/cpu_posix.c b/src/core/lib/support/cpu_posix.cc similarity index 100% rename from src/core/lib/support/cpu_posix.c rename to src/core/lib/support/cpu_posix.cc diff --git a/src/core/lib/support/cpu_windows.c b/src/core/lib/support/cpu_windows.cc similarity index 100% rename from src/core/lib/support/cpu_windows.c rename to src/core/lib/support/cpu_windows.cc diff --git a/src/core/lib/support/env_linux.c b/src/core/lib/support/env_linux.cc similarity index 100% rename from src/core/lib/support/env_linux.c rename to src/core/lib/support/env_linux.cc diff --git a/src/core/lib/support/env_posix.c b/src/core/lib/support/env_posix.cc similarity index 100% rename from src/core/lib/support/env_posix.c rename to src/core/lib/support/env_posix.cc diff --git a/src/core/lib/support/env_windows.c b/src/core/lib/support/env_windows.cc similarity index 100% rename from src/core/lib/support/env_windows.c rename to src/core/lib/support/env_windows.cc diff --git a/src/core/lib/support/histogram.c b/src/core/lib/support/histogram.cc similarity index 100% rename from src/core/lib/support/histogram.c rename to src/core/lib/support/histogram.cc diff --git a/src/core/lib/support/host_port.c b/src/core/lib/support/host_port.cc similarity index 100% rename from src/core/lib/support/host_port.c rename to src/core/lib/support/host_port.cc diff --git a/src/core/lib/support/log.c b/src/core/lib/support/log.cc similarity index 100% rename from src/core/lib/support/log.c rename to src/core/lib/support/log.cc diff --git a/src/core/lib/support/log_android.c b/src/core/lib/support/log_android.cc similarity index 100% rename from src/core/lib/support/log_android.c rename to src/core/lib/support/log_android.cc diff --git a/src/core/lib/support/log_linux.c b/src/core/lib/support/log_linux.cc similarity index 100% rename from src/core/lib/support/log_linux.c rename to src/core/lib/support/log_linux.cc diff --git a/src/core/lib/support/log_posix.c b/src/core/lib/support/log_posix.cc similarity index 100% rename from src/core/lib/support/log_posix.c rename to src/core/lib/support/log_posix.cc diff --git a/src/core/lib/support/log_windows.c b/src/core/lib/support/log_windows.cc similarity index 100% rename from src/core/lib/support/log_windows.c rename to src/core/lib/support/log_windows.cc diff --git a/src/core/lib/support/mpscq.c b/src/core/lib/support/mpscq.cc similarity index 100% rename from src/core/lib/support/mpscq.c rename to src/core/lib/support/mpscq.cc diff --git a/src/core/lib/support/murmur_hash.c b/src/core/lib/support/murmur_hash.cc similarity index 100% rename from src/core/lib/support/murmur_hash.c rename to src/core/lib/support/murmur_hash.cc diff --git a/src/core/lib/support/stack_lockfree.c b/src/core/lib/support/stack_lockfree.cc similarity index 100% rename from src/core/lib/support/stack_lockfree.c rename to src/core/lib/support/stack_lockfree.cc diff --git a/src/core/lib/support/string.c b/src/core/lib/support/string.cc similarity index 100% rename from src/core/lib/support/string.c rename to src/core/lib/support/string.cc diff --git a/src/core/lib/support/string_posix.c b/src/core/lib/support/string_posix.cc similarity index 100% rename from src/core/lib/support/string_posix.c rename to src/core/lib/support/string_posix.cc diff --git a/src/core/lib/support/string_util_windows.c b/src/core/lib/support/string_util_windows.cc similarity index 100% rename from src/core/lib/support/string_util_windows.c rename to src/core/lib/support/string_util_windows.cc diff --git a/src/core/lib/support/string_windows.c b/src/core/lib/support/string_windows.cc similarity index 100% rename from src/core/lib/support/string_windows.c rename to src/core/lib/support/string_windows.cc diff --git a/src/core/lib/support/subprocess_posix.c b/src/core/lib/support/subprocess_posix.cc similarity index 100% rename from src/core/lib/support/subprocess_posix.c rename to src/core/lib/support/subprocess_posix.cc diff --git a/src/core/lib/support/subprocess_windows.c b/src/core/lib/support/subprocess_windows.cc similarity index 100% rename from src/core/lib/support/subprocess_windows.c rename to src/core/lib/support/subprocess_windows.cc diff --git a/src/core/lib/support/sync.c b/src/core/lib/support/sync.cc similarity index 100% rename from src/core/lib/support/sync.c rename to src/core/lib/support/sync.cc diff --git a/src/core/lib/support/sync_posix.c b/src/core/lib/support/sync_posix.cc similarity index 100% rename from src/core/lib/support/sync_posix.c rename to src/core/lib/support/sync_posix.cc diff --git a/src/core/lib/support/sync_windows.c b/src/core/lib/support/sync_windows.cc similarity index 100% rename from src/core/lib/support/sync_windows.c rename to src/core/lib/support/sync_windows.cc diff --git a/src/core/lib/support/thd.c b/src/core/lib/support/thd.cc similarity index 100% rename from src/core/lib/support/thd.c rename to src/core/lib/support/thd.cc diff --git a/src/core/lib/support/thd_posix.c b/src/core/lib/support/thd_posix.cc similarity index 100% rename from src/core/lib/support/thd_posix.c rename to src/core/lib/support/thd_posix.cc diff --git a/src/core/lib/support/thd_windows.c b/src/core/lib/support/thd_windows.cc similarity index 100% rename from src/core/lib/support/thd_windows.c rename to src/core/lib/support/thd_windows.cc diff --git a/src/core/lib/support/time.c b/src/core/lib/support/time.cc similarity index 100% rename from src/core/lib/support/time.c rename to src/core/lib/support/time.cc diff --git a/src/core/lib/support/time_posix.c b/src/core/lib/support/time_posix.cc similarity index 100% rename from src/core/lib/support/time_posix.c rename to src/core/lib/support/time_posix.cc diff --git a/src/core/lib/support/time_precise.c b/src/core/lib/support/time_precise.cc similarity index 100% rename from src/core/lib/support/time_precise.c rename to src/core/lib/support/time_precise.cc diff --git a/src/core/lib/support/time_windows.c b/src/core/lib/support/time_windows.cc similarity index 100% rename from src/core/lib/support/time_windows.c rename to src/core/lib/support/time_windows.cc diff --git a/src/core/lib/support/tls_pthread.c b/src/core/lib/support/tls_pthread.cc similarity index 100% rename from src/core/lib/support/tls_pthread.c rename to src/core/lib/support/tls_pthread.cc diff --git a/src/core/lib/support/tmpfile_msys.c b/src/core/lib/support/tmpfile_msys.cc similarity index 100% rename from src/core/lib/support/tmpfile_msys.c rename to src/core/lib/support/tmpfile_msys.cc diff --git a/src/core/lib/support/tmpfile_posix.c b/src/core/lib/support/tmpfile_posix.cc similarity index 100% rename from src/core/lib/support/tmpfile_posix.c rename to src/core/lib/support/tmpfile_posix.cc diff --git a/src/core/lib/support/tmpfile_windows.c b/src/core/lib/support/tmpfile_windows.cc similarity index 100% rename from src/core/lib/support/tmpfile_windows.c rename to src/core/lib/support/tmpfile_windows.cc diff --git a/src/core/lib/support/wrap_memcpy.c b/src/core/lib/support/wrap_memcpy.cc similarity index 100% rename from src/core/lib/support/wrap_memcpy.c rename to src/core/lib/support/wrap_memcpy.cc diff --git a/src/core/lib/surface/alarm.c b/src/core/lib/surface/alarm.cc similarity index 100% rename from src/core/lib/surface/alarm.c rename to src/core/lib/surface/alarm.cc diff --git a/src/core/lib/surface/api_trace.c b/src/core/lib/surface/api_trace.cc similarity index 100% rename from src/core/lib/surface/api_trace.c rename to src/core/lib/surface/api_trace.cc diff --git a/src/core/lib/surface/byte_buffer.c b/src/core/lib/surface/byte_buffer.cc similarity index 100% rename from src/core/lib/surface/byte_buffer.c rename to src/core/lib/surface/byte_buffer.cc diff --git a/src/core/lib/surface/byte_buffer_reader.c b/src/core/lib/surface/byte_buffer_reader.cc similarity index 100% rename from src/core/lib/surface/byte_buffer_reader.c rename to src/core/lib/surface/byte_buffer_reader.cc diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.cc similarity index 100% rename from src/core/lib/surface/call.c rename to src/core/lib/surface/call.cc diff --git a/src/core/lib/surface/call_details.c b/src/core/lib/surface/call_details.cc similarity index 100% rename from src/core/lib/surface/call_details.c rename to src/core/lib/surface/call_details.cc diff --git a/src/core/lib/surface/call_log_batch.c b/src/core/lib/surface/call_log_batch.cc similarity index 100% rename from src/core/lib/surface/call_log_batch.c rename to src/core/lib/surface/call_log_batch.cc diff --git a/src/core/lib/surface/channel.c b/src/core/lib/surface/channel.cc similarity index 100% rename from src/core/lib/surface/channel.c rename to src/core/lib/surface/channel.cc diff --git a/src/core/lib/surface/channel_init.c b/src/core/lib/surface/channel_init.cc similarity index 100% rename from src/core/lib/surface/channel_init.c rename to src/core/lib/surface/channel_init.cc diff --git a/src/core/lib/surface/channel_ping.c b/src/core/lib/surface/channel_ping.cc similarity index 100% rename from src/core/lib/surface/channel_ping.c rename to src/core/lib/surface/channel_ping.cc diff --git a/src/core/lib/surface/channel_stack_type.c b/src/core/lib/surface/channel_stack_type.cc similarity index 100% rename from src/core/lib/surface/channel_stack_type.c rename to src/core/lib/surface/channel_stack_type.cc diff --git a/src/core/lib/surface/completion_queue.c b/src/core/lib/surface/completion_queue.cc similarity index 100% rename from src/core/lib/surface/completion_queue.c rename to src/core/lib/surface/completion_queue.cc diff --git a/src/core/lib/surface/completion_queue_factory.c b/src/core/lib/surface/completion_queue_factory.cc similarity index 100% rename from src/core/lib/surface/completion_queue_factory.c rename to src/core/lib/surface/completion_queue_factory.cc diff --git a/src/core/lib/surface/event_string.c b/src/core/lib/surface/event_string.cc similarity index 100% rename from src/core/lib/surface/event_string.c rename to src/core/lib/surface/event_string.cc diff --git a/src/core/lib/surface/init.c b/src/core/lib/surface/init.cc similarity index 100% rename from src/core/lib/surface/init.c rename to src/core/lib/surface/init.cc diff --git a/src/core/lib/surface/init_secure.c b/src/core/lib/surface/init_secure.cc similarity index 100% rename from src/core/lib/surface/init_secure.c rename to src/core/lib/surface/init_secure.cc diff --git a/src/core/lib/surface/init_unsecure.c b/src/core/lib/surface/init_unsecure.cc similarity index 100% rename from src/core/lib/surface/init_unsecure.c rename to src/core/lib/surface/init_unsecure.cc diff --git a/src/core/lib/surface/metadata_array.c b/src/core/lib/surface/metadata_array.cc similarity index 100% rename from src/core/lib/surface/metadata_array.c rename to src/core/lib/surface/metadata_array.cc diff --git a/src/core/lib/surface/server.c b/src/core/lib/surface/server.cc similarity index 100% rename from src/core/lib/surface/server.c rename to src/core/lib/surface/server.cc diff --git a/src/core/lib/surface/validate_metadata.c b/src/core/lib/surface/validate_metadata.cc similarity index 100% rename from src/core/lib/surface/validate_metadata.c rename to src/core/lib/surface/validate_metadata.cc diff --git a/src/core/lib/transport/bdp_estimator.c b/src/core/lib/transport/bdp_estimator.cc similarity index 100% rename from src/core/lib/transport/bdp_estimator.c rename to src/core/lib/transport/bdp_estimator.cc diff --git a/src/core/lib/transport/byte_stream.c b/src/core/lib/transport/byte_stream.cc similarity index 100% rename from src/core/lib/transport/byte_stream.c rename to src/core/lib/transport/byte_stream.cc diff --git a/src/core/lib/transport/connectivity_state.c b/src/core/lib/transport/connectivity_state.cc similarity index 100% rename from src/core/lib/transport/connectivity_state.c rename to src/core/lib/transport/connectivity_state.cc diff --git a/src/core/lib/transport/error_utils.c b/src/core/lib/transport/error_utils.cc similarity index 100% rename from src/core/lib/transport/error_utils.c rename to src/core/lib/transport/error_utils.cc diff --git a/src/core/lib/transport/metadata.c b/src/core/lib/transport/metadata.cc similarity index 100% rename from src/core/lib/transport/metadata.c rename to src/core/lib/transport/metadata.cc diff --git a/src/core/lib/transport/metadata_batch.c b/src/core/lib/transport/metadata_batch.cc similarity index 100% rename from src/core/lib/transport/metadata_batch.c rename to src/core/lib/transport/metadata_batch.cc diff --git a/src/core/lib/transport/pid_controller.c b/src/core/lib/transport/pid_controller.cc similarity index 100% rename from src/core/lib/transport/pid_controller.c rename to src/core/lib/transport/pid_controller.cc diff --git a/src/core/lib/transport/service_config.c b/src/core/lib/transport/service_config.cc similarity index 100% rename from src/core/lib/transport/service_config.c rename to src/core/lib/transport/service_config.cc diff --git a/src/core/lib/transport/static_metadata.c b/src/core/lib/transport/static_metadata.cc similarity index 100% rename from src/core/lib/transport/static_metadata.c rename to src/core/lib/transport/static_metadata.cc diff --git a/src/core/lib/transport/status_conversion.c b/src/core/lib/transport/status_conversion.cc similarity index 100% rename from src/core/lib/transport/status_conversion.c rename to src/core/lib/transport/status_conversion.cc diff --git a/src/core/lib/transport/timeout_encoding.c b/src/core/lib/transport/timeout_encoding.cc similarity index 100% rename from src/core/lib/transport/timeout_encoding.c rename to src/core/lib/transport/timeout_encoding.cc diff --git a/src/core/lib/transport/transport.c b/src/core/lib/transport/transport.cc similarity index 100% rename from src/core/lib/transport/transport.c rename to src/core/lib/transport/transport.cc diff --git a/src/core/lib/transport/transport_op_string.c b/src/core/lib/transport/transport_op_string.cc similarity index 100% rename from src/core/lib/transport/transport_op_string.c rename to src/core/lib/transport/transport_op_string.cc diff --git a/src/core/tsi/fake_transport_security.c b/src/core/tsi/fake_transport_security.cc similarity index 100% rename from src/core/tsi/fake_transport_security.c rename to src/core/tsi/fake_transport_security.cc diff --git a/src/core/tsi/gts_transport_security.c b/src/core/tsi/gts_transport_security.cc similarity index 93% rename from src/core/tsi/gts_transport_security.c rename to src/core/tsi/gts_transport_security.cc index e2ac685e441..d37f3bf8f64 100644 --- a/src/core/tsi/gts_transport_security.c +++ b/src/core/tsi/gts_transport_security.cc @@ -24,12 +24,12 @@ static gts_shared_resource g_gts_resource; gts_shared_resource *gts_get_shared_resource(void) { return &g_gts_resource; } -void grpc_tsi_gts_init() { +extern "C" void grpc_tsi_gts_init() { memset(&g_gts_resource, 0, sizeof(gts_shared_resource)); gpr_mu_init(&g_gts_resource.mu); } -void grpc_tsi_gts_shutdown() { +extern "C" void grpc_tsi_gts_shutdown() { gpr_mu_destroy(&g_gts_resource.mu); if (g_gts_resource.cq == NULL) { return; diff --git a/src/core/tsi/ssl_transport_security.c b/src/core/tsi/ssl_transport_security.cc similarity index 100% rename from src/core/tsi/ssl_transport_security.c rename to src/core/tsi/ssl_transport_security.cc diff --git a/src/core/tsi/transport_security.c b/src/core/tsi/transport_security.cc similarity index 100% rename from src/core/tsi/transport_security.c rename to src/core/tsi/transport_security.cc diff --git a/src/core/tsi/transport_security_adapter.c b/src/core/tsi/transport_security_adapter.cc similarity index 100% rename from src/core/tsi/transport_security_adapter.c rename to src/core/tsi/transport_security_adapter.cc diff --git a/src/core/tsi/transport_security_grpc.c b/src/core/tsi/transport_security_grpc.cc similarity index 100% rename from src/core/tsi/transport_security_grpc.c rename to src/core/tsi/transport_security_grpc.cc diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 29e210042d2..5d3251c8843 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -15,312 +15,310 @@ # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/grpc_core_dependencies.py.template`!!! CORE_SOURCE_FILES = [ - 'src/core/lib/profiling/basic_timers.c', - 'src/core/lib/profiling/stap_timers.c', - 'src/core/lib/support/alloc.c', - 'src/core/lib/support/arena.c', - 'src/core/lib/support/atm.c', - 'src/core/lib/support/avl.c', - 'src/core/lib/support/backoff.c', - 'src/core/lib/support/cmdline.c', - 'src/core/lib/support/cpu_iphone.c', - 'src/core/lib/support/cpu_linux.c', - 'src/core/lib/support/cpu_posix.c', - 'src/core/lib/support/cpu_windows.c', - 'src/core/lib/support/env_linux.c', - 'src/core/lib/support/env_posix.c', - 'src/core/lib/support/env_windows.c', - 'src/core/lib/support/histogram.c', - 'src/core/lib/support/host_port.c', - 'src/core/lib/support/log.c', - 'src/core/lib/support/log_android.c', - 'src/core/lib/support/log_linux.c', - 'src/core/lib/support/log_posix.c', - 'src/core/lib/support/log_windows.c', - 'src/core/lib/support/mpscq.c', - 'src/core/lib/support/murmur_hash.c', - 'src/core/lib/support/stack_lockfree.c', - 'src/core/lib/support/string.c', - 'src/core/lib/support/string_posix.c', - 'src/core/lib/support/string_util_windows.c', - 'src/core/lib/support/string_windows.c', - 'src/core/lib/support/subprocess_posix.c', - 'src/core/lib/support/subprocess_windows.c', - 'src/core/lib/support/sync.c', - 'src/core/lib/support/sync_posix.c', - 'src/core/lib/support/sync_windows.c', - 'src/core/lib/support/thd.c', - 'src/core/lib/support/thd_posix.c', - 'src/core/lib/support/thd_windows.c', - 'src/core/lib/support/time.c', - 'src/core/lib/support/time_posix.c', - 'src/core/lib/support/time_precise.c', - 'src/core/lib/support/time_windows.c', - 'src/core/lib/support/tls_pthread.c', - 'src/core/lib/support/tmpfile_msys.c', - 'src/core/lib/support/tmpfile_posix.c', - 'src/core/lib/support/tmpfile_windows.c', - 'src/core/lib/support/wrap_memcpy.c', - 'src/core/lib/surface/init.c', - 'src/core/lib/channel/channel_args.c', - 'src/core/lib/channel/channel_stack.c', - 'src/core/lib/channel/channel_stack_builder.c', - 'src/core/lib/channel/connected_channel.c', - 'src/core/lib/channel/handshaker.c', - 'src/core/lib/channel/handshaker_factory.c', - 'src/core/lib/channel/handshaker_registry.c', - 'src/core/lib/compression/compression.c', - 'src/core/lib/compression/message_compress.c', - 'src/core/lib/compression/stream_compression.c', - 'src/core/lib/compression/stream_compression_gzip.c', - 'src/core/lib/compression/stream_compression_identity.c', - 'src/core/lib/debug/stats.c', - 'src/core/lib/debug/stats_data.c', - 'src/core/lib/http/format_request.c', - 'src/core/lib/http/httpcli.c', - 'src/core/lib/http/parser.c', - 'src/core/lib/iomgr/call_combiner.c', - 'src/core/lib/iomgr/closure.c', - 'src/core/lib/iomgr/combiner.c', - 'src/core/lib/iomgr/endpoint.c', - 'src/core/lib/iomgr/endpoint_pair_posix.c', - 'src/core/lib/iomgr/endpoint_pair_uv.c', - 'src/core/lib/iomgr/endpoint_pair_windows.c', - 'src/core/lib/iomgr/error.c', - 'src/core/lib/iomgr/ev_epoll1_linux.c', - 'src/core/lib/iomgr/ev_epollex_linux.c', - 'src/core/lib/iomgr/ev_epollsig_linux.c', - 'src/core/lib/iomgr/ev_poll_posix.c', - 'src/core/lib/iomgr/ev_posix.c', - 'src/core/lib/iomgr/ev_windows.c', - 'src/core/lib/iomgr/exec_ctx.c', - 'src/core/lib/iomgr/executor.c', - 'src/core/lib/iomgr/gethostname_fallback.c', - 'src/core/lib/iomgr/gethostname_host_name_max.c', - 'src/core/lib/iomgr/gethostname_sysconf.c', - 'src/core/lib/iomgr/iocp_windows.c', - 'src/core/lib/iomgr/iomgr.c', - 'src/core/lib/iomgr/iomgr_posix.c', - 'src/core/lib/iomgr/iomgr_uv.c', - 'src/core/lib/iomgr/iomgr_windows.c', - 'src/core/lib/iomgr/is_epollexclusive_available.c', - 'src/core/lib/iomgr/load_file.c', - 'src/core/lib/iomgr/lockfree_event.c', - 'src/core/lib/iomgr/network_status_tracker.c', - 'src/core/lib/iomgr/polling_entity.c', - 'src/core/lib/iomgr/pollset_set_uv.c', - 'src/core/lib/iomgr/pollset_set_windows.c', - 'src/core/lib/iomgr/pollset_uv.c', - 'src/core/lib/iomgr/pollset_windows.c', - 'src/core/lib/iomgr/resolve_address_posix.c', - 'src/core/lib/iomgr/resolve_address_uv.c', - 'src/core/lib/iomgr/resolve_address_windows.c', - 'src/core/lib/iomgr/resource_quota.c', - 'src/core/lib/iomgr/sockaddr_utils.c', - 'src/core/lib/iomgr/socket_factory_posix.c', - 'src/core/lib/iomgr/socket_mutator.c', - 'src/core/lib/iomgr/socket_utils_common_posix.c', - 'src/core/lib/iomgr/socket_utils_linux.c', - 'src/core/lib/iomgr/socket_utils_posix.c', - 'src/core/lib/iomgr/socket_utils_uv.c', - 'src/core/lib/iomgr/socket_utils_windows.c', - 'src/core/lib/iomgr/socket_windows.c', - 'src/core/lib/iomgr/tcp_client_posix.c', - 'src/core/lib/iomgr/tcp_client_uv.c', - 'src/core/lib/iomgr/tcp_client_windows.c', - 'src/core/lib/iomgr/tcp_posix.c', - 'src/core/lib/iomgr/tcp_server_posix.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_common.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c', - 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c', - 'src/core/lib/iomgr/tcp_server_uv.c', - 'src/core/lib/iomgr/tcp_server_windows.c', - 'src/core/lib/iomgr/tcp_uv.c', - 'src/core/lib/iomgr/tcp_windows.c', - 'src/core/lib/iomgr/time_averaged_stats.c', - 'src/core/lib/iomgr/timer_generic.c', - 'src/core/lib/iomgr/timer_heap.c', - 'src/core/lib/iomgr/timer_manager.c', - 'src/core/lib/iomgr/timer_uv.c', - 'src/core/lib/iomgr/udp_server.c', - 'src/core/lib/iomgr/unix_sockets_posix.c', - 'src/core/lib/iomgr/unix_sockets_posix_noop.c', - 'src/core/lib/iomgr/wakeup_fd_cv.c', - 'src/core/lib/iomgr/wakeup_fd_eventfd.c', - 'src/core/lib/iomgr/wakeup_fd_nospecial.c', - 'src/core/lib/iomgr/wakeup_fd_pipe.c', - 'src/core/lib/iomgr/wakeup_fd_posix.c', - 'src/core/lib/json/json.c', - 'src/core/lib/json/json_reader.c', - 'src/core/lib/json/json_string.c', - 'src/core/lib/json/json_writer.c', - 'src/core/lib/slice/b64.c', - 'src/core/lib/slice/percent_encoding.c', - 'src/core/lib/slice/slice.c', - 'src/core/lib/slice/slice_buffer.c', - 'src/core/lib/slice/slice_hash_table.c', - 'src/core/lib/slice/slice_intern.c', - 'src/core/lib/slice/slice_string_helpers.c', - 'src/core/lib/surface/alarm.c', - 'src/core/lib/surface/api_trace.c', - 'src/core/lib/surface/byte_buffer.c', - 'src/core/lib/surface/byte_buffer_reader.c', - 'src/core/lib/surface/call.c', - 'src/core/lib/surface/call_details.c', - 'src/core/lib/surface/call_log_batch.c', - 'src/core/lib/surface/channel.c', - 'src/core/lib/surface/channel_init.c', - 'src/core/lib/surface/channel_ping.c', - 'src/core/lib/surface/channel_stack_type.c', - 'src/core/lib/surface/completion_queue.c', - 'src/core/lib/surface/completion_queue_factory.c', - 'src/core/lib/surface/event_string.c', + 'src/core/lib/profiling/basic_timers.cc', + 'src/core/lib/profiling/stap_timers.cc', + 'src/core/lib/support/alloc.cc', + 'src/core/lib/support/arena.cc', + 'src/core/lib/support/atm.cc', + 'src/core/lib/support/avl.cc', + 'src/core/lib/support/backoff.cc', + 'src/core/lib/support/cmdline.cc', + 'src/core/lib/support/cpu_iphone.cc', + 'src/core/lib/support/cpu_linux.cc', + 'src/core/lib/support/cpu_posix.cc', + 'src/core/lib/support/cpu_windows.cc', + 'src/core/lib/support/env_linux.cc', + 'src/core/lib/support/env_posix.cc', + 'src/core/lib/support/env_windows.cc', + 'src/core/lib/support/histogram.cc', + 'src/core/lib/support/host_port.cc', + 'src/core/lib/support/log.cc', + 'src/core/lib/support/log_android.cc', + 'src/core/lib/support/log_linux.cc', + 'src/core/lib/support/log_posix.cc', + 'src/core/lib/support/log_windows.cc', + 'src/core/lib/support/mpscq.cc', + 'src/core/lib/support/murmur_hash.cc', + 'src/core/lib/support/stack_lockfree.cc', + 'src/core/lib/support/string.cc', + 'src/core/lib/support/string_posix.cc', + 'src/core/lib/support/string_util_windows.cc', + 'src/core/lib/support/string_windows.cc', + 'src/core/lib/support/subprocess_posix.cc', + 'src/core/lib/support/subprocess_windows.cc', + 'src/core/lib/support/sync.cc', + 'src/core/lib/support/sync_posix.cc', + 'src/core/lib/support/sync_windows.cc', + 'src/core/lib/support/thd.cc', + 'src/core/lib/support/thd_posix.cc', + 'src/core/lib/support/thd_windows.cc', + 'src/core/lib/support/time.cc', + 'src/core/lib/support/time_posix.cc', + 'src/core/lib/support/time_precise.cc', + 'src/core/lib/support/time_windows.cc', + 'src/core/lib/support/tls_pthread.cc', + 'src/core/lib/support/tmpfile_msys.cc', + 'src/core/lib/support/tmpfile_posix.cc', + 'src/core/lib/support/tmpfile_windows.cc', + 'src/core/lib/support/wrap_memcpy.cc', + 'src/core/lib/surface/init.cc', + 'src/core/lib/channel/channel_args.cc', + 'src/core/lib/channel/channel_stack.cc', + 'src/core/lib/channel/channel_stack_builder.cc', + 'src/core/lib/channel/connected_channel.cc', + 'src/core/lib/channel/handshaker.cc', + 'src/core/lib/channel/handshaker_factory.cc', + 'src/core/lib/channel/handshaker_registry.cc', + 'src/core/lib/compression/compression.cc', + 'src/core/lib/compression/message_compress.cc', + 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/debug/stats.cc', + 'src/core/lib/debug/stats_data.cc', + 'src/core/lib/http/format_request.cc', + 'src/core/lib/http/httpcli.cc', + 'src/core/lib/http/parser.cc', + 'src/core/lib/iomgr/call_combiner.cc', + 'src/core/lib/iomgr/closure.cc', + 'src/core/lib/iomgr/combiner.cc', + 'src/core/lib/iomgr/endpoint.cc', + 'src/core/lib/iomgr/endpoint_pair_posix.cc', + 'src/core/lib/iomgr/endpoint_pair_uv.cc', + 'src/core/lib/iomgr/endpoint_pair_windows.cc', + 'src/core/lib/iomgr/error.cc', + 'src/core/lib/iomgr/ev_epoll1_linux.cc', + 'src/core/lib/iomgr/ev_epollex_linux.cc', + 'src/core/lib/iomgr/ev_epollsig_linux.cc', + 'src/core/lib/iomgr/ev_poll_posix.cc', + 'src/core/lib/iomgr/ev_posix.cc', + 'src/core/lib/iomgr/ev_windows.cc', + 'src/core/lib/iomgr/exec_ctx.cc', + 'src/core/lib/iomgr/executor.cc', + 'src/core/lib/iomgr/gethostname_fallback.cc', + 'src/core/lib/iomgr/gethostname_host_name_max.cc', + 'src/core/lib/iomgr/gethostname_sysconf.cc', + 'src/core/lib/iomgr/iocp_windows.cc', + 'src/core/lib/iomgr/iomgr.cc', + 'src/core/lib/iomgr/iomgr_posix.cc', + 'src/core/lib/iomgr/iomgr_uv.cc', + 'src/core/lib/iomgr/iomgr_windows.cc', + 'src/core/lib/iomgr/is_epollexclusive_available.cc', + 'src/core/lib/iomgr/load_file.cc', + 'src/core/lib/iomgr/lockfree_event.cc', + 'src/core/lib/iomgr/network_status_tracker.cc', + 'src/core/lib/iomgr/polling_entity.cc', + 'src/core/lib/iomgr/pollset_set_uv.cc', + 'src/core/lib/iomgr/pollset_set_windows.cc', + 'src/core/lib/iomgr/pollset_uv.cc', + 'src/core/lib/iomgr/pollset_windows.cc', + 'src/core/lib/iomgr/resolve_address_posix.cc', + 'src/core/lib/iomgr/resolve_address_uv.cc', + 'src/core/lib/iomgr/resolve_address_windows.cc', + 'src/core/lib/iomgr/resource_quota.cc', + 'src/core/lib/iomgr/sockaddr_utils.cc', + 'src/core/lib/iomgr/socket_factory_posix.cc', + 'src/core/lib/iomgr/socket_mutator.cc', + 'src/core/lib/iomgr/socket_utils_common_posix.cc', + 'src/core/lib/iomgr/socket_utils_linux.cc', + 'src/core/lib/iomgr/socket_utils_posix.cc', + 'src/core/lib/iomgr/socket_utils_uv.cc', + 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_windows.cc', + 'src/core/lib/iomgr/tcp_client_posix.cc', + 'src/core/lib/iomgr/tcp_client_uv.cc', + 'src/core/lib/iomgr/tcp_client_windows.cc', + 'src/core/lib/iomgr/tcp_posix.cc', + 'src/core/lib/iomgr/tcp_server_posix.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_common.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc', + 'src/core/lib/iomgr/tcp_server_uv.cc', + 'src/core/lib/iomgr/tcp_server_windows.cc', + 'src/core/lib/iomgr/tcp_uv.cc', + 'src/core/lib/iomgr/tcp_windows.cc', + 'src/core/lib/iomgr/time_averaged_stats.cc', + 'src/core/lib/iomgr/timer_generic.cc', + 'src/core/lib/iomgr/timer_heap.cc', + 'src/core/lib/iomgr/timer_manager.cc', + 'src/core/lib/iomgr/timer_uv.cc', + 'src/core/lib/iomgr/udp_server.cc', + 'src/core/lib/iomgr/unix_sockets_posix.cc', + 'src/core/lib/iomgr/unix_sockets_posix_noop.cc', + 'src/core/lib/iomgr/wakeup_fd_cv.cc', + 'src/core/lib/iomgr/wakeup_fd_eventfd.cc', + 'src/core/lib/iomgr/wakeup_fd_nospecial.cc', + 'src/core/lib/iomgr/wakeup_fd_pipe.cc', + 'src/core/lib/iomgr/wakeup_fd_posix.cc', + 'src/core/lib/json/json.cc', + 'src/core/lib/json/json_reader.cc', + 'src/core/lib/json/json_string.cc', + 'src/core/lib/json/json_writer.cc', + 'src/core/lib/slice/b64.cc', + 'src/core/lib/slice/percent_encoding.cc', + 'src/core/lib/slice/slice.cc', + 'src/core/lib/slice/slice_buffer.cc', + 'src/core/lib/slice/slice_hash_table.cc', + 'src/core/lib/slice/slice_intern.cc', + 'src/core/lib/slice/slice_string_helpers.cc', + 'src/core/lib/surface/alarm.cc', + 'src/core/lib/surface/api_trace.cc', + 'src/core/lib/surface/byte_buffer.cc', + 'src/core/lib/surface/byte_buffer_reader.cc', + 'src/core/lib/surface/call.cc', + 'src/core/lib/surface/call_details.cc', + 'src/core/lib/surface/call_log_batch.cc', + 'src/core/lib/surface/channel.cc', + 'src/core/lib/surface/channel_init.cc', + 'src/core/lib/surface/channel_ping.cc', + 'src/core/lib/surface/channel_stack_type.cc', + 'src/core/lib/surface/completion_queue.cc', + 'src/core/lib/surface/completion_queue_factory.cc', + 'src/core/lib/surface/event_string.cc', 'src/core/lib/surface/lame_client.cc', - 'src/core/lib/surface/metadata_array.c', - 'src/core/lib/surface/server.c', - 'src/core/lib/surface/validate_metadata.c', - 'src/core/lib/surface/version.c', - 'src/core/lib/transport/bdp_estimator.c', - 'src/core/lib/transport/byte_stream.c', - 'src/core/lib/transport/connectivity_state.c', - 'src/core/lib/transport/error_utils.c', - 'src/core/lib/transport/metadata.c', - 'src/core/lib/transport/metadata_batch.c', - 'src/core/lib/transport/pid_controller.c', - 'src/core/lib/transport/service_config.c', - 'src/core/lib/transport/static_metadata.c', - 'src/core/lib/transport/status_conversion.c', - 'src/core/lib/transport/timeout_encoding.c', - 'src/core/lib/transport/transport.c', - 'src/core/lib/transport/transport_op_string.c', - 'src/core/lib/debug/trace.c', - 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c', - 'src/core/ext/transport/chttp2/transport/bin_decoder.c', - 'src/core/ext/transport/chttp2/transport/bin_encoder.c', - 'src/core/ext/transport/chttp2/transport/chttp2_plugin.c', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', - 'src/core/ext/transport/chttp2/transport/flow_control.c', - 'src/core/ext/transport/chttp2/transport/frame_data.c', - 'src/core/ext/transport/chttp2/transport/frame_goaway.c', - 'src/core/ext/transport/chttp2/transport/frame_ping.c', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', - 'src/core/ext/transport/chttp2/transport/frame_settings.c', - 'src/core/ext/transport/chttp2/transport/frame_window_update.c', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', - 'src/core/ext/transport/chttp2/transport/hpack_parser.c', - 'src/core/ext/transport/chttp2/transport/hpack_table.c', - 'src/core/ext/transport/chttp2/transport/http2_settings.c', - 'src/core/ext/transport/chttp2/transport/huffsyms.c', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', - 'src/core/ext/transport/chttp2/transport/parsing.c', - 'src/core/ext/transport/chttp2/transport/stream_lists.c', - 'src/core/ext/transport/chttp2/transport/stream_map.c', - 'src/core/ext/transport/chttp2/transport/varint.c', - 'src/core/ext/transport/chttp2/transport/writing.c', - 'src/core/ext/transport/chttp2/alpn/alpn.c', - 'src/core/ext/filters/http/client/http_client_filter.c', - 'src/core/ext/filters/http/http_filters_plugin.c', - 'src/core/ext/filters/http/message_compress/message_compress_filter.c', - 'src/core/ext/filters/http/server/http_server_filter.c', - 'src/core/lib/http/httpcli_security_connector.c', - 'src/core/lib/security/context/security_context.c', - 'src/core/lib/security/credentials/composite/composite_credentials.c', - 'src/core/lib/security/credentials/credentials.c', - 'src/core/lib/security/credentials/credentials_metadata.c', - 'src/core/lib/security/credentials/fake/fake_credentials.c', - 'src/core/lib/security/credentials/google_default/credentials_generic.c', - 'src/core/lib/security/credentials/google_default/google_default_credentials.c', - 'src/core/lib/security/credentials/iam/iam_credentials.c', - 'src/core/lib/security/credentials/jwt/json_token.c', - 'src/core/lib/security/credentials/jwt/jwt_credentials.c', - 'src/core/lib/security/credentials/jwt/jwt_verifier.c', - 'src/core/lib/security/credentials/oauth2/oauth2_credentials.c', - 'src/core/lib/security/credentials/plugin/plugin_credentials.c', - 'src/core/lib/security/credentials/ssl/ssl_credentials.c', - 'src/core/lib/security/transport/client_auth_filter.c', - 'src/core/lib/security/transport/lb_targets_info.c', - 'src/core/lib/security/transport/secure_endpoint.c', - 'src/core/lib/security/transport/security_connector.c', - 'src/core/lib/security/transport/security_handshaker.c', - 'src/core/lib/security/transport/server_auth_filter.c', - 'src/core/lib/security/transport/tsi_error.c', - 'src/core/lib/security/util/json_util.c', - 'src/core/lib/surface/init_secure.c', - 'src/core/tsi/fake_transport_security.c', - 'src/core/tsi/gts_transport_security.c', - 'src/core/tsi/ssl_transport_security.c', - 'src/core/tsi/transport_security_grpc.c', - 'src/core/tsi/transport_security.c', - 'src/core/tsi/transport_security_adapter.c', - 'src/core/ext/transport/chttp2/server/chttp2_server.c', - 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.c', - 'src/core/ext/filters/client_channel/channel_connectivity.c', - 'src/core/ext/filters/client_channel/client_channel.c', - 'src/core/ext/filters/client_channel/client_channel_factory.c', - 'src/core/ext/filters/client_channel/client_channel_plugin.c', - 'src/core/ext/filters/client_channel/connector.c', - 'src/core/ext/filters/client_channel/http_connect_handshaker.c', - 'src/core/ext/filters/client_channel/http_proxy.c', - 'src/core/ext/filters/client_channel/lb_policy.c', - 'src/core/ext/filters/client_channel/lb_policy_factory.c', - 'src/core/ext/filters/client_channel/lb_policy_registry.c', - 'src/core/ext/filters/client_channel/parse_address.c', - 'src/core/ext/filters/client_channel/proxy_mapper.c', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.c', - 'src/core/ext/filters/client_channel/resolver.c', - 'src/core/ext/filters/client_channel/resolver_factory.c', - 'src/core/ext/filters/client_channel/resolver_registry.c', - 'src/core/ext/filters/client_channel/retry_throttle.c', - 'src/core/ext/filters/client_channel/subchannel.c', - 'src/core/ext/filters/client_channel/subchannel_index.c', - 'src/core/ext/filters/client_channel/uri_parser.c', - 'src/core/ext/filters/deadline/deadline_filter.c', - 'src/core/ext/transport/chttp2/client/chttp2_connector.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c', - 'src/core/ext/transport/chttp2/client/insecure/channel_create.c', - 'src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c', - 'src/core/ext/transport/inproc/inproc_plugin.c', - 'src/core/ext/transport/inproc/inproc_transport.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c', + 'src/core/lib/surface/metadata_array.cc', + 'src/core/lib/surface/server.cc', + 'src/core/lib/surface/validate_metadata.cc', + 'src/core/lib/surface/version.cc', + 'src/core/lib/transport/bdp_estimator.cc', + 'src/core/lib/transport/byte_stream.cc', + 'src/core/lib/transport/connectivity_state.cc', + 'src/core/lib/transport/error_utils.cc', + 'src/core/lib/transport/metadata.cc', + 'src/core/lib/transport/metadata_batch.cc', + 'src/core/lib/transport/pid_controller.cc', + 'src/core/lib/transport/service_config.cc', + 'src/core/lib/transport/static_metadata.cc', + 'src/core/lib/transport/status_conversion.cc', + 'src/core/lib/transport/timeout_encoding.cc', + 'src/core/lib/transport/transport.cc', + 'src/core/lib/transport/transport_op_string.cc', + 'src/core/lib/debug/trace.cc', + 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc', + 'src/core/ext/transport/chttp2/transport/bin_decoder.cc', + 'src/core/ext/transport/chttp2/transport/bin_encoder.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_plugin.cc', + 'src/core/ext/transport/chttp2/transport/chttp2_transport.cc', + 'src/core/ext/transport/chttp2/transport/flow_control.cc', + 'src/core/ext/transport/chttp2/transport/frame_data.cc', + 'src/core/ext/transport/chttp2/transport/frame_goaway.cc', + 'src/core/ext/transport/chttp2/transport/frame_ping.cc', + 'src/core/ext/transport/chttp2/transport/frame_rst_stream.cc', + 'src/core/ext/transport/chttp2/transport/frame_settings.cc', + 'src/core/ext/transport/chttp2/transport/frame_window_update.cc', + 'src/core/ext/transport/chttp2/transport/hpack_encoder.cc', + 'src/core/ext/transport/chttp2/transport/hpack_parser.cc', + 'src/core/ext/transport/chttp2/transport/hpack_table.cc', + 'src/core/ext/transport/chttp2/transport/http2_settings.cc', + 'src/core/ext/transport/chttp2/transport/huffsyms.cc', + 'src/core/ext/transport/chttp2/transport/incoming_metadata.cc', + 'src/core/ext/transport/chttp2/transport/parsing.cc', + 'src/core/ext/transport/chttp2/transport/stream_lists.cc', + 'src/core/ext/transport/chttp2/transport/stream_map.cc', + 'src/core/ext/transport/chttp2/transport/varint.cc', + 'src/core/ext/transport/chttp2/transport/writing.cc', + 'src/core/ext/transport/chttp2/alpn/alpn.cc', + 'src/core/ext/filters/http/client/http_client_filter.cc', + 'src/core/ext/filters/http/http_filters_plugin.cc', + 'src/core/ext/filters/http/message_compress/message_compress_filter.cc', + 'src/core/ext/filters/http/server/http_server_filter.cc', + 'src/core/lib/http/httpcli_security_connector.cc', + 'src/core/lib/security/context/security_context.cc', + 'src/core/lib/security/credentials/composite/composite_credentials.cc', + 'src/core/lib/security/credentials/credentials.cc', + 'src/core/lib/security/credentials/credentials_metadata.cc', + 'src/core/lib/security/credentials/fake/fake_credentials.cc', + 'src/core/lib/security/credentials/google_default/credentials_generic.cc', + 'src/core/lib/security/credentials/google_default/google_default_credentials.cc', + 'src/core/lib/security/credentials/iam/iam_credentials.cc', + 'src/core/lib/security/credentials/jwt/json_token.cc', + 'src/core/lib/security/credentials/jwt/jwt_credentials.cc', + 'src/core/lib/security/credentials/jwt/jwt_verifier.cc', + 'src/core/lib/security/credentials/oauth2/oauth2_credentials.cc', + 'src/core/lib/security/credentials/plugin/plugin_credentials.cc', + 'src/core/lib/security/credentials/ssl/ssl_credentials.cc', + 'src/core/lib/security/transport/client_auth_filter.cc', + 'src/core/lib/security/transport/lb_targets_info.cc', + 'src/core/lib/security/transport/secure_endpoint.cc', + 'src/core/lib/security/transport/security_connector.cc', + 'src/core/lib/security/transport/security_handshaker.cc', + 'src/core/lib/security/transport/server_auth_filter.cc', + 'src/core/lib/security/transport/tsi_error.cc', + 'src/core/lib/security/util/json_util.cc', + 'src/core/lib/surface/init_secure.cc', + 'src/core/tsi/fake_transport_security.cc', + 'src/core/tsi/gts_transport_security.cc', + 'src/core/tsi/ssl_transport_security.cc', + 'src/core/tsi/transport_security_grpc.cc', + 'src/core/tsi/transport_security.cc', + 'src/core/tsi/transport_security_adapter.cc', + 'src/core/ext/transport/chttp2/server/chttp2_server.cc', + 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc', + 'src/core/ext/filters/client_channel/channel_connectivity.cc', + 'src/core/ext/filters/client_channel/client_channel.cc', + 'src/core/ext/filters/client_channel/client_channel_factory.cc', + 'src/core/ext/filters/client_channel/client_channel_plugin.cc', + 'src/core/ext/filters/client_channel/connector.cc', + 'src/core/ext/filters/client_channel/http_connect_handshaker.cc', + 'src/core/ext/filters/client_channel/http_proxy.cc', + 'src/core/ext/filters/client_channel/lb_policy.cc', + 'src/core/ext/filters/client_channel/lb_policy_factory.cc', + 'src/core/ext/filters/client_channel/lb_policy_registry.cc', + 'src/core/ext/filters/client_channel/parse_address.cc', + 'src/core/ext/filters/client_channel/proxy_mapper.cc', + 'src/core/ext/filters/client_channel/proxy_mapper_registry.cc', + 'src/core/ext/filters/client_channel/resolver.cc', + 'src/core/ext/filters/client_channel/resolver_factory.cc', + 'src/core/ext/filters/client_channel/resolver_registry.cc', + 'src/core/ext/filters/client_channel/retry_throttle.cc', + 'src/core/ext/filters/client_channel/subchannel.cc', + 'src/core/ext/filters/client_channel/subchannel_index.cc', + 'src/core/ext/filters/client_channel/uri_parser.cc', + 'src/core/ext/filters/deadline/deadline_filter.cc', + 'src/core/ext/transport/chttp2/client/chttp2_connector.cc', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc', + 'src/core/ext/transport/chttp2/client/insecure/channel_create.cc', + 'src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc', + 'src/core/ext/transport/inproc/inproc_plugin.cc', + 'src/core/ext/transport/inproc/inproc_transport.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc', 'third_party/nanopb/pb_common.c', 'third_party/nanopb/pb_decode.c', 'third_party/nanopb/pb_encode.c', - 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c', - 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c', - 'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c', - 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c', - 'src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c', - 'src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c', - 'src/core/ext/filters/load_reporting/server_load_reporting_filter.c', - 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.c', - 'src/core/ext/census/base_resources.c', - 'src/core/ext/census/context.c', - 'src/core/ext/census/gen/census.pb.c', - 'src/core/ext/census/gen/trace_context.pb.c', - 'src/core/ext/census/grpc_context.c', - 'src/core/ext/census/grpc_filter.c', - 'src/core/ext/census/grpc_plugin.c', - 'src/core/ext/census/initialize.c', - 'src/core/ext/census/intrusive_hash_map.c', - 'src/core/ext/census/mlog.c', - 'src/core/ext/census/operation.c', - 'src/core/ext/census/placeholders.c', - 'src/core/ext/census/resource.c', - 'src/core/ext/census/trace_context.c', - 'src/core/ext/census/tracing.c', - 'src/core/ext/filters/max_age/max_age_filter.c', - 'src/core/ext/filters/message_size/message_size_filter.c', - 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c', - 'src/core/ext/filters/workarounds/workaround_utils.c', + 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc', + 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc', + 'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc', + 'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc', + 'src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc', + 'src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc', + 'src/core/ext/filters/load_reporting/server_load_reporting_filter.cc', + 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc', + 'src/core/ext/census/base_resources.cc', + 'src/core/ext/census/context.cc', + 'src/core/ext/census/gen/census.pb.cc', + 'src/core/ext/census/gen/trace_context.pb.cc', + 'src/core/ext/census/grpc_context.cc', + 'src/core/ext/census/grpc_filter.cc', + 'src/core/ext/census/grpc_plugin.cc', + 'src/core/ext/census/initialize.cc', + 'src/core/ext/census/intrusive_hash_map.cc', + 'src/core/ext/census/mlog.cc', + 'src/core/ext/census/operation.cc', + 'src/core/ext/census/placeholders.cc', + 'src/core/ext/census/resource.cc', + 'src/core/ext/census/trace_context.cc', + 'src/core/ext/census/tracing.cc', + 'src/core/ext/filters/max_age/max_age_filter.cc', + 'src/core/ext/filters/message_size/message_size_filter.cc', + 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc', + 'src/core/ext/filters/workarounds/workaround_utils.cc', 'src/core/plugin_registry/grpc_plugin_registry.cc', 'src/boringssl/err_data.c', 'third_party/boringssl/crypto/aes/aes.c', diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 205cb2971e4..b6ea3c2eb71 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -872,565 +872,563 @@ src/core/README.md \ src/core/ext/README.md \ src/core/ext/census/README.md \ src/core/ext/census/aggregation.h \ -src/core/ext/census/base_resources.c \ +src/core/ext/census/base_resources.cc \ src/core/ext/census/base_resources.h \ src/core/ext/census/census_interface.h \ src/core/ext/census/census_rpc_stats.h \ -src/core/ext/census/context.c \ +src/core/ext/census/context.cc \ src/core/ext/census/gen/README.md \ -src/core/ext/census/gen/census.pb.c \ +src/core/ext/census/gen/census.pb.cc \ src/core/ext/census/gen/census.pb.h \ -src/core/ext/census/gen/trace_context.pb.c \ +src/core/ext/census/gen/trace_context.pb.cc \ src/core/ext/census/gen/trace_context.pb.h \ -src/core/ext/census/grpc_context.c \ -src/core/ext/census/grpc_filter.c \ +src/core/ext/census/grpc_context.cc \ +src/core/ext/census/grpc_filter.cc \ src/core/ext/census/grpc_filter.h \ -src/core/ext/census/grpc_plugin.c \ -src/core/ext/census/initialize.c \ -src/core/ext/census/intrusive_hash_map.c \ +src/core/ext/census/grpc_plugin.cc \ +src/core/ext/census/initialize.cc \ +src/core/ext/census/intrusive_hash_map.cc \ src/core/ext/census/intrusive_hash_map.h \ src/core/ext/census/intrusive_hash_map_internal.h \ -src/core/ext/census/mlog.c \ +src/core/ext/census/mlog.cc \ src/core/ext/census/mlog.h \ -src/core/ext/census/operation.c \ -src/core/ext/census/placeholders.c \ -src/core/ext/census/resource.c \ +src/core/ext/census/operation.cc \ +src/core/ext/census/placeholders.cc \ +src/core/ext/census/resource.cc \ src/core/ext/census/resource.h \ src/core/ext/census/rpc_metric_id.h \ -src/core/ext/census/trace_context.c \ +src/core/ext/census/trace_context.cc \ src/core/ext/census/trace_context.h \ src/core/ext/census/trace_label.h \ src/core/ext/census/trace_propagation.h \ src/core/ext/census/trace_status.h \ src/core/ext/census/trace_string.h \ -src/core/ext/census/tracing.c \ +src/core/ext/census/tracing.cc \ src/core/ext/census/tracing.h \ src/core/ext/filters/client_channel/README.md \ -src/core/ext/filters/client_channel/channel_connectivity.c \ -src/core/ext/filters/client_channel/client_channel.c \ +src/core/ext/filters/client_channel/channel_connectivity.cc \ +src/core/ext/filters/client_channel/client_channel.cc \ src/core/ext/filters/client_channel/client_channel.h \ -src/core/ext/filters/client_channel/client_channel_factory.c \ +src/core/ext/filters/client_channel/client_channel_factory.cc \ src/core/ext/filters/client_channel/client_channel_factory.h \ -src/core/ext/filters/client_channel/client_channel_plugin.c \ -src/core/ext/filters/client_channel/connector.c \ +src/core/ext/filters/client_channel/client_channel_plugin.cc \ +src/core/ext/filters/client_channel/connector.cc \ src/core/ext/filters/client_channel/connector.h \ -src/core/ext/filters/client_channel/http_connect_handshaker.c \ +src/core/ext/filters/client_channel/http_connect_handshaker.cc \ src/core/ext/filters/client_channel/http_connect_handshaker.h \ -src/core/ext/filters/client_channel/http_proxy.c \ +src/core/ext/filters/client_channel/http_proxy.cc \ src/core/ext/filters/client_channel/http_proxy.h \ -src/core/ext/filters/client_channel/lb_policy.c \ +src/core/ext/filters/client_channel/lb_policy.cc \ src/core/ext/filters/client_channel/lb_policy.h \ -src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c \ +src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h \ -src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c \ +src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h \ src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h \ -src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c \ -src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c \ +src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc \ +src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h \ -src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c \ +src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h \ -src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \ +src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h \ -src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c \ -src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c \ -src/core/ext/filters/client_channel/lb_policy_factory.c \ +src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc \ +src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \ +src/core/ext/filters/client_channel/lb_policy_factory.cc \ src/core/ext/filters/client_channel/lb_policy_factory.h \ -src/core/ext/filters/client_channel/lb_policy_registry.c \ +src/core/ext/filters/client_channel/lb_policy_registry.cc \ src/core/ext/filters/client_channel/lb_policy_registry.h \ -src/core/ext/filters/client_channel/parse_address.c \ +src/core/ext/filters/client_channel/parse_address.cc \ src/core/ext/filters/client_channel/parse_address.h \ -src/core/ext/filters/client_channel/proxy_mapper.c \ +src/core/ext/filters/client_channel/proxy_mapper.cc \ src/core/ext/filters/client_channel/proxy_mapper.h \ -src/core/ext/filters/client_channel/proxy_mapper_registry.c \ +src/core/ext/filters/client_channel/proxy_mapper_registry.cc \ src/core/ext/filters/client_channel/proxy_mapper_registry.h \ -src/core/ext/filters/client_channel/resolver.c \ +src/core/ext/filters/client_channel/resolver.cc \ src/core/ext/filters/client_channel/resolver.h \ src/core/ext/filters/client_channel/resolver/README.md \ -src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c \ +src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \ src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h \ -src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c \ -src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c \ +src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \ +src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc \ src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h \ -src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c \ +src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc \ src/core/ext/filters/client_channel/resolver/dns/native/README.md \ -src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c \ -src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c \ +src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc \ +src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc \ src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h \ src/core/ext/filters/client_channel/resolver/sockaddr/README.md \ -src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c \ -src/core/ext/filters/client_channel/resolver_factory.c \ +src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc \ +src/core/ext/filters/client_channel/resolver_factory.cc \ src/core/ext/filters/client_channel/resolver_factory.h \ -src/core/ext/filters/client_channel/resolver_registry.c \ +src/core/ext/filters/client_channel/resolver_registry.cc \ src/core/ext/filters/client_channel/resolver_registry.h \ -src/core/ext/filters/client_channel/retry_throttle.c \ +src/core/ext/filters/client_channel/retry_throttle.cc \ src/core/ext/filters/client_channel/retry_throttle.h \ -src/core/ext/filters/client_channel/subchannel.c \ +src/core/ext/filters/client_channel/subchannel.cc \ src/core/ext/filters/client_channel/subchannel.h \ -src/core/ext/filters/client_channel/subchannel_index.c \ +src/core/ext/filters/client_channel/subchannel_index.cc \ src/core/ext/filters/client_channel/subchannel_index.h \ -src/core/ext/filters/client_channel/uri_parser.c \ +src/core/ext/filters/client_channel/uri_parser.cc \ src/core/ext/filters/client_channel/uri_parser.h \ -src/core/ext/filters/deadline/deadline_filter.c \ +src/core/ext/filters/deadline/deadline_filter.cc \ src/core/ext/filters/deadline/deadline_filter.h \ -src/core/ext/filters/http/client/http_client_filter.c \ +src/core/ext/filters/http/client/http_client_filter.cc \ src/core/ext/filters/http/client/http_client_filter.h \ -src/core/ext/filters/http/http_filters_plugin.c \ -src/core/ext/filters/http/message_compress/message_compress_filter.c \ +src/core/ext/filters/http/http_filters_plugin.cc \ +src/core/ext/filters/http/message_compress/message_compress_filter.cc \ src/core/ext/filters/http/message_compress/message_compress_filter.h \ -src/core/ext/filters/http/server/http_server_filter.c \ +src/core/ext/filters/http/server/http_server_filter.cc \ src/core/ext/filters/http/server/http_server_filter.h \ -src/core/ext/filters/load_reporting/server_load_reporting_filter.c \ +src/core/ext/filters/load_reporting/server_load_reporting_filter.cc \ src/core/ext/filters/load_reporting/server_load_reporting_filter.h \ -src/core/ext/filters/load_reporting/server_load_reporting_plugin.c \ +src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc \ src/core/ext/filters/load_reporting/server_load_reporting_plugin.h \ -src/core/ext/filters/max_age/max_age_filter.c \ +src/core/ext/filters/max_age/max_age_filter.cc \ src/core/ext/filters/max_age/max_age_filter.h \ -src/core/ext/filters/message_size/message_size_filter.c \ +src/core/ext/filters/message_size/message_size_filter.cc \ src/core/ext/filters/message_size/message_size_filter.h \ -src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c \ +src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc \ src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h \ -src/core/ext/filters/workarounds/workaround_utils.c \ +src/core/ext/filters/workarounds/workaround_utils.cc \ src/core/ext/filters/workarounds/workaround_utils.h \ src/core/ext/transport/README.md \ src/core/ext/transport/chttp2/README.md \ -src/core/ext/transport/chttp2/alpn/alpn.c \ +src/core/ext/transport/chttp2/alpn/alpn.cc \ src/core/ext/transport/chttp2/alpn/alpn.h \ -src/core/ext/transport/chttp2/client/chttp2_connector.c \ +src/core/ext/transport/chttp2/client/chttp2_connector.cc \ src/core/ext/transport/chttp2/client/chttp2_connector.h \ src/core/ext/transport/chttp2/client/insecure/README.md \ -src/core/ext/transport/chttp2/client/insecure/channel_create.c \ -src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c \ +src/core/ext/transport/chttp2/client/insecure/channel_create.cc \ +src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc \ src/core/ext/transport/chttp2/client/secure/README.md \ -src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ -src/core/ext/transport/chttp2/server/chttp2_server.c \ +src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc \ +src/core/ext/transport/chttp2/server/chttp2_server.cc \ src/core/ext/transport/chttp2/server/chttp2_server.h \ src/core/ext/transport/chttp2/server/insecure/README.md \ -src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ -src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c \ +src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc \ +src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc \ src/core/ext/transport/chttp2/server/secure/README.md \ -src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c \ +src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc \ src/core/ext/transport/chttp2/transport/README.md \ -src/core/ext/transport/chttp2/transport/bin_decoder.c \ +src/core/ext/transport/chttp2/transport/bin_decoder.cc \ src/core/ext/transport/chttp2/transport/bin_decoder.h \ -src/core/ext/transport/chttp2/transport/bin_encoder.c \ +src/core/ext/transport/chttp2/transport/bin_encoder.cc \ src/core/ext/transport/chttp2/transport/bin_encoder.h \ -src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ -src/core/ext/transport/chttp2/transport/chttp2_transport.c \ +src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \ +src/core/ext/transport/chttp2/transport/chttp2_transport.cc \ src/core/ext/transport/chttp2/transport/chttp2_transport.h \ -src/core/ext/transport/chttp2/transport/flow_control.c \ +src/core/ext/transport/chttp2/transport/flow_control.cc \ src/core/ext/transport/chttp2/transport/frame.h \ -src/core/ext/transport/chttp2/transport/frame_data.c \ +src/core/ext/transport/chttp2/transport/frame_data.cc \ src/core/ext/transport/chttp2/transport/frame_data.h \ -src/core/ext/transport/chttp2/transport/frame_goaway.c \ +src/core/ext/transport/chttp2/transport/frame_goaway.cc \ src/core/ext/transport/chttp2/transport/frame_goaway.h \ -src/core/ext/transport/chttp2/transport/frame_ping.c \ +src/core/ext/transport/chttp2/transport/frame_ping.cc \ src/core/ext/transport/chttp2/transport/frame_ping.h \ -src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ +src/core/ext/transport/chttp2/transport/frame_rst_stream.cc \ src/core/ext/transport/chttp2/transport/frame_rst_stream.h \ -src/core/ext/transport/chttp2/transport/frame_settings.c \ +src/core/ext/transport/chttp2/transport/frame_settings.cc \ src/core/ext/transport/chttp2/transport/frame_settings.h \ -src/core/ext/transport/chttp2/transport/frame_window_update.c \ +src/core/ext/transport/chttp2/transport/frame_window_update.cc \ src/core/ext/transport/chttp2/transport/frame_window_update.h \ -src/core/ext/transport/chttp2/transport/hpack_encoder.c \ +src/core/ext/transport/chttp2/transport/hpack_encoder.cc \ src/core/ext/transport/chttp2/transport/hpack_encoder.h \ -src/core/ext/transport/chttp2/transport/hpack_parser.c \ +src/core/ext/transport/chttp2/transport/hpack_parser.cc \ src/core/ext/transport/chttp2/transport/hpack_parser.h \ -src/core/ext/transport/chttp2/transport/hpack_table.c \ +src/core/ext/transport/chttp2/transport/hpack_table.cc \ src/core/ext/transport/chttp2/transport/hpack_table.h \ -src/core/ext/transport/chttp2/transport/http2_settings.c \ +src/core/ext/transport/chttp2/transport/http2_settings.cc \ src/core/ext/transport/chttp2/transport/http2_settings.h \ -src/core/ext/transport/chttp2/transport/huffsyms.c \ +src/core/ext/transport/chttp2/transport/huffsyms.cc \ src/core/ext/transport/chttp2/transport/huffsyms.h \ -src/core/ext/transport/chttp2/transport/incoming_metadata.c \ +src/core/ext/transport/chttp2/transport/incoming_metadata.cc \ src/core/ext/transport/chttp2/transport/incoming_metadata.h \ src/core/ext/transport/chttp2/transport/internal.h \ -src/core/ext/transport/chttp2/transport/parsing.c \ -src/core/ext/transport/chttp2/transport/stream_lists.c \ -src/core/ext/transport/chttp2/transport/stream_map.c \ +src/core/ext/transport/chttp2/transport/parsing.cc \ +src/core/ext/transport/chttp2/transport/stream_lists.cc \ +src/core/ext/transport/chttp2/transport/stream_map.cc \ src/core/ext/transport/chttp2/transport/stream_map.h \ -src/core/ext/transport/chttp2/transport/varint.c \ +src/core/ext/transport/chttp2/transport/varint.cc \ src/core/ext/transport/chttp2/transport/varint.h \ -src/core/ext/transport/chttp2/transport/writing.c \ -src/core/ext/transport/inproc/inproc_plugin.c \ -src/core/ext/transport/inproc/inproc_transport.c \ +src/core/ext/transport/chttp2/transport/writing.cc \ +src/core/ext/transport/inproc/inproc_plugin.cc \ +src/core/ext/transport/inproc/inproc_transport.cc \ src/core/ext/transport/inproc/inproc_transport.h \ src/core/lib/README.md \ src/core/lib/channel/README.md \ -src/core/lib/channel/channel_args.c \ +src/core/lib/channel/channel_args.cc \ src/core/lib/channel/channel_args.h \ -src/core/lib/channel/channel_stack.c \ +src/core/lib/channel/channel_stack.cc \ src/core/lib/channel/channel_stack.h \ -src/core/lib/channel/channel_stack_builder.c \ +src/core/lib/channel/channel_stack_builder.cc \ src/core/lib/channel/channel_stack_builder.h \ -src/core/lib/channel/connected_channel.c \ +src/core/lib/channel/connected_channel.cc \ src/core/lib/channel/connected_channel.h \ src/core/lib/channel/context.h \ -src/core/lib/channel/handshaker.c \ +src/core/lib/channel/handshaker.cc \ src/core/lib/channel/handshaker.h \ -src/core/lib/channel/handshaker_factory.c \ +src/core/lib/channel/handshaker_factory.cc \ src/core/lib/channel/handshaker_factory.h \ -src/core/lib/channel/handshaker_registry.c \ +src/core/lib/channel/handshaker_registry.cc \ src/core/lib/channel/handshaker_registry.h \ src/core/lib/compression/algorithm_metadata.h \ -src/core/lib/compression/compression.c \ -src/core/lib/compression/message_compress.c \ +src/core/lib/compression/compression.cc \ +src/core/lib/compression/message_compress.cc \ src/core/lib/compression/message_compress.h \ -src/core/lib/compression/stream_compression.c \ +src/core/lib/compression/stream_compression.cc \ src/core/lib/compression/stream_compression.h \ -src/core/lib/compression/stream_compression_gzip.c \ src/core/lib/compression/stream_compression_gzip.h \ -src/core/lib/compression/stream_compression_identity.c \ src/core/lib/compression/stream_compression_identity.h \ -src/core/lib/debug/stats.c \ +src/core/lib/debug/stats.cc \ src/core/lib/debug/stats.h \ -src/core/lib/debug/stats_data.c \ +src/core/lib/debug/stats_data.cc \ src/core/lib/debug/stats_data.h \ -src/core/lib/debug/trace.c \ +src/core/lib/debug/trace.cc \ src/core/lib/debug/trace.h \ -src/core/lib/http/format_request.c \ +src/core/lib/http/format_request.cc \ src/core/lib/http/format_request.h \ -src/core/lib/http/httpcli.c \ +src/core/lib/http/httpcli.cc \ src/core/lib/http/httpcli.h \ -src/core/lib/http/httpcli_security_connector.c \ -src/core/lib/http/parser.c \ +src/core/lib/http/httpcli_security_connector.cc \ +src/core/lib/http/parser.cc \ src/core/lib/http/parser.h \ src/core/lib/iomgr/README.md \ -src/core/lib/iomgr/call_combiner.c \ +src/core/lib/iomgr/call_combiner.cc \ src/core/lib/iomgr/call_combiner.h \ -src/core/lib/iomgr/closure.c \ +src/core/lib/iomgr/closure.cc \ src/core/lib/iomgr/closure.h \ -src/core/lib/iomgr/combiner.c \ +src/core/lib/iomgr/combiner.cc \ src/core/lib/iomgr/combiner.h \ -src/core/lib/iomgr/endpoint.c \ +src/core/lib/iomgr/endpoint.cc \ src/core/lib/iomgr/endpoint.h \ src/core/lib/iomgr/endpoint_pair.h \ -src/core/lib/iomgr/endpoint_pair_posix.c \ -src/core/lib/iomgr/endpoint_pair_uv.c \ -src/core/lib/iomgr/endpoint_pair_windows.c \ -src/core/lib/iomgr/error.c \ +src/core/lib/iomgr/endpoint_pair_posix.cc \ +src/core/lib/iomgr/endpoint_pair_uv.cc \ +src/core/lib/iomgr/endpoint_pair_windows.cc \ +src/core/lib/iomgr/error.cc \ src/core/lib/iomgr/error.h \ src/core/lib/iomgr/error_internal.h \ -src/core/lib/iomgr/ev_epoll1_linux.c \ +src/core/lib/iomgr/ev_epoll1_linux.cc \ src/core/lib/iomgr/ev_epoll1_linux.h \ -src/core/lib/iomgr/ev_epollex_linux.c \ +src/core/lib/iomgr/ev_epollex_linux.cc \ src/core/lib/iomgr/ev_epollex_linux.h \ -src/core/lib/iomgr/ev_epollsig_linux.c \ +src/core/lib/iomgr/ev_epollsig_linux.cc \ src/core/lib/iomgr/ev_epollsig_linux.h \ -src/core/lib/iomgr/ev_poll_posix.c \ +src/core/lib/iomgr/ev_poll_posix.cc \ src/core/lib/iomgr/ev_poll_posix.h \ -src/core/lib/iomgr/ev_posix.c \ +src/core/lib/iomgr/ev_posix.cc \ src/core/lib/iomgr/ev_posix.h \ -src/core/lib/iomgr/ev_windows.c \ -src/core/lib/iomgr/exec_ctx.c \ +src/core/lib/iomgr/ev_windows.cc \ +src/core/lib/iomgr/exec_ctx.cc \ src/core/lib/iomgr/exec_ctx.h \ -src/core/lib/iomgr/executor.c \ +src/core/lib/iomgr/executor.cc \ src/core/lib/iomgr/executor.h \ src/core/lib/iomgr/gethostname.h \ -src/core/lib/iomgr/gethostname_fallback.c \ -src/core/lib/iomgr/gethostname_host_name_max.c \ -src/core/lib/iomgr/gethostname_sysconf.c \ -src/core/lib/iomgr/iocp_windows.c \ +src/core/lib/iomgr/gethostname_fallback.cc \ +src/core/lib/iomgr/gethostname_host_name_max.cc \ +src/core/lib/iomgr/gethostname_sysconf.cc \ +src/core/lib/iomgr/iocp_windows.cc \ src/core/lib/iomgr/iocp_windows.h \ -src/core/lib/iomgr/iomgr.c \ +src/core/lib/iomgr/iomgr.cc \ src/core/lib/iomgr/iomgr.h \ src/core/lib/iomgr/iomgr_internal.h \ -src/core/lib/iomgr/iomgr_posix.c \ +src/core/lib/iomgr/iomgr_posix.cc \ src/core/lib/iomgr/iomgr_posix.h \ -src/core/lib/iomgr/iomgr_uv.c \ +src/core/lib/iomgr/iomgr_uv.cc \ src/core/lib/iomgr/iomgr_uv.h \ -src/core/lib/iomgr/iomgr_windows.c \ -src/core/lib/iomgr/is_epollexclusive_available.c \ +src/core/lib/iomgr/iomgr_windows.cc \ +src/core/lib/iomgr/is_epollexclusive_available.cc \ src/core/lib/iomgr/is_epollexclusive_available.h \ -src/core/lib/iomgr/load_file.c \ +src/core/lib/iomgr/load_file.cc \ src/core/lib/iomgr/load_file.h \ -src/core/lib/iomgr/lockfree_event.c \ +src/core/lib/iomgr/lockfree_event.cc \ src/core/lib/iomgr/lockfree_event.h \ src/core/lib/iomgr/nameser.h \ -src/core/lib/iomgr/network_status_tracker.c \ +src/core/lib/iomgr/network_status_tracker.cc \ src/core/lib/iomgr/network_status_tracker.h \ -src/core/lib/iomgr/polling_entity.c \ +src/core/lib/iomgr/polling_entity.cc \ src/core/lib/iomgr/polling_entity.h \ src/core/lib/iomgr/pollset.h \ src/core/lib/iomgr/pollset_set.h \ -src/core/lib/iomgr/pollset_set_uv.c \ -src/core/lib/iomgr/pollset_set_windows.c \ +src/core/lib/iomgr/pollset_set_uv.cc \ +src/core/lib/iomgr/pollset_set_windows.cc \ src/core/lib/iomgr/pollset_set_windows.h \ -src/core/lib/iomgr/pollset_uv.c \ +src/core/lib/iomgr/pollset_uv.cc \ src/core/lib/iomgr/pollset_uv.h \ -src/core/lib/iomgr/pollset_windows.c \ +src/core/lib/iomgr/pollset_windows.cc \ src/core/lib/iomgr/pollset_windows.h \ src/core/lib/iomgr/port.h \ src/core/lib/iomgr/resolve_address.h \ -src/core/lib/iomgr/resolve_address_posix.c \ -src/core/lib/iomgr/resolve_address_uv.c \ -src/core/lib/iomgr/resolve_address_windows.c \ -src/core/lib/iomgr/resource_quota.c \ +src/core/lib/iomgr/resolve_address_posix.cc \ +src/core/lib/iomgr/resolve_address_uv.cc \ +src/core/lib/iomgr/resolve_address_windows.cc \ +src/core/lib/iomgr/resource_quota.cc \ src/core/lib/iomgr/resource_quota.h \ src/core/lib/iomgr/sockaddr.h \ src/core/lib/iomgr/sockaddr_posix.h \ -src/core/lib/iomgr/sockaddr_utils.c \ +src/core/lib/iomgr/sockaddr_utils.cc \ src/core/lib/iomgr/sockaddr_utils.h \ src/core/lib/iomgr/sockaddr_windows.h \ -src/core/lib/iomgr/socket_factory_posix.c \ +src/core/lib/iomgr/socket_factory_posix.cc \ src/core/lib/iomgr/socket_factory_posix.h \ -src/core/lib/iomgr/socket_mutator.c \ +src/core/lib/iomgr/socket_mutator.cc \ src/core/lib/iomgr/socket_mutator.h \ src/core/lib/iomgr/socket_utils.h \ -src/core/lib/iomgr/socket_utils_common_posix.c \ -src/core/lib/iomgr/socket_utils_linux.c \ -src/core/lib/iomgr/socket_utils_posix.c \ +src/core/lib/iomgr/socket_utils_common_posix.cc \ +src/core/lib/iomgr/socket_utils_linux.cc \ +src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_posix.h \ -src/core/lib/iomgr/socket_utils_uv.c \ -src/core/lib/iomgr/socket_utils_windows.c \ -src/core/lib/iomgr/socket_windows.c \ +src/core/lib/iomgr/socket_utils_uv.cc \ +src/core/lib/iomgr/socket_utils_windows.cc \ +src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/socket_windows.h \ src/core/lib/iomgr/sys_epoll_wrapper.h \ src/core/lib/iomgr/tcp_client.h \ -src/core/lib/iomgr/tcp_client_posix.c \ +src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_posix.h \ -src/core/lib/iomgr/tcp_client_uv.c \ -src/core/lib/iomgr/tcp_client_windows.c \ -src/core/lib/iomgr/tcp_posix.c \ +src/core/lib/iomgr/tcp_client_uv.cc \ +src/core/lib/iomgr/tcp_client_windows.cc \ +src/core/lib/iomgr/tcp_posix.cc \ src/core/lib/iomgr/tcp_posix.h \ src/core/lib/iomgr/tcp_server.h \ -src/core/lib/iomgr/tcp_server_posix.c \ +src/core/lib/iomgr/tcp_server_posix.cc \ src/core/lib/iomgr/tcp_server_utils_posix.h \ -src/core/lib/iomgr/tcp_server_utils_posix_common.c \ -src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c \ -src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c \ -src/core/lib/iomgr/tcp_server_uv.c \ -src/core/lib/iomgr/tcp_server_windows.c \ -src/core/lib/iomgr/tcp_uv.c \ +src/core/lib/iomgr/tcp_server_utils_posix_common.cc \ +src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc \ +src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc \ +src/core/lib/iomgr/tcp_server_uv.cc \ +src/core/lib/iomgr/tcp_server_windows.cc \ +src/core/lib/iomgr/tcp_uv.cc \ src/core/lib/iomgr/tcp_uv.h \ -src/core/lib/iomgr/tcp_windows.c \ +src/core/lib/iomgr/tcp_windows.cc \ src/core/lib/iomgr/tcp_windows.h \ -src/core/lib/iomgr/time_averaged_stats.c \ +src/core/lib/iomgr/time_averaged_stats.cc \ src/core/lib/iomgr/time_averaged_stats.h \ src/core/lib/iomgr/timer.h \ -src/core/lib/iomgr/timer_generic.c \ +src/core/lib/iomgr/timer_generic.cc \ src/core/lib/iomgr/timer_generic.h \ -src/core/lib/iomgr/timer_heap.c \ +src/core/lib/iomgr/timer_heap.cc \ src/core/lib/iomgr/timer_heap.h \ -src/core/lib/iomgr/timer_manager.c \ +src/core/lib/iomgr/timer_manager.cc \ src/core/lib/iomgr/timer_manager.h \ -src/core/lib/iomgr/timer_uv.c \ +src/core/lib/iomgr/timer_uv.cc \ src/core/lib/iomgr/timer_uv.h \ -src/core/lib/iomgr/udp_server.c \ +src/core/lib/iomgr/udp_server.cc \ src/core/lib/iomgr/udp_server.h \ -src/core/lib/iomgr/unix_sockets_posix.c \ +src/core/lib/iomgr/unix_sockets_posix.cc \ src/core/lib/iomgr/unix_sockets_posix.h \ -src/core/lib/iomgr/unix_sockets_posix_noop.c \ -src/core/lib/iomgr/wakeup_fd_cv.c \ +src/core/lib/iomgr/unix_sockets_posix_noop.cc \ +src/core/lib/iomgr/wakeup_fd_cv.cc \ src/core/lib/iomgr/wakeup_fd_cv.h \ -src/core/lib/iomgr/wakeup_fd_eventfd.c \ -src/core/lib/iomgr/wakeup_fd_nospecial.c \ -src/core/lib/iomgr/wakeup_fd_pipe.c \ +src/core/lib/iomgr/wakeup_fd_eventfd.cc \ +src/core/lib/iomgr/wakeup_fd_nospecial.cc \ +src/core/lib/iomgr/wakeup_fd_pipe.cc \ src/core/lib/iomgr/wakeup_fd_pipe.h \ -src/core/lib/iomgr/wakeup_fd_posix.c \ +src/core/lib/iomgr/wakeup_fd_posix.cc \ src/core/lib/iomgr/wakeup_fd_posix.h \ -src/core/lib/json/json.c \ +src/core/lib/json/json.cc \ src/core/lib/json/json.h \ src/core/lib/json/json_common.h \ -src/core/lib/json/json_reader.c \ +src/core/lib/json/json_reader.cc \ src/core/lib/json/json_reader.h \ -src/core/lib/json/json_string.c \ -src/core/lib/json/json_writer.c \ +src/core/lib/json/json_string.cc \ +src/core/lib/json/json_writer.cc \ src/core/lib/json/json_writer.h \ -src/core/lib/profiling/basic_timers.c \ -src/core/lib/profiling/stap_timers.c \ +src/core/lib/profiling/basic_timers.cc \ +src/core/lib/profiling/stap_timers.cc \ src/core/lib/profiling/timers.h \ -src/core/lib/security/context/security_context.c \ +src/core/lib/security/context/security_context.cc \ src/core/lib/security/context/security_context.h \ -src/core/lib/security/credentials/composite/composite_credentials.c \ +src/core/lib/security/credentials/composite/composite_credentials.cc \ src/core/lib/security/credentials/composite/composite_credentials.h \ -src/core/lib/security/credentials/credentials.c \ +src/core/lib/security/credentials/credentials.cc \ src/core/lib/security/credentials/credentials.h \ -src/core/lib/security/credentials/credentials_metadata.c \ -src/core/lib/security/credentials/fake/fake_credentials.c \ +src/core/lib/security/credentials/credentials_metadata.cc \ +src/core/lib/security/credentials/fake/fake_credentials.cc \ src/core/lib/security/credentials/fake/fake_credentials.h \ -src/core/lib/security/credentials/google_default/credentials_generic.c \ -src/core/lib/security/credentials/google_default/google_default_credentials.c \ +src/core/lib/security/credentials/google_default/credentials_generic.cc \ +src/core/lib/security/credentials/google_default/google_default_credentials.cc \ src/core/lib/security/credentials/google_default/google_default_credentials.h \ -src/core/lib/security/credentials/iam/iam_credentials.c \ +src/core/lib/security/credentials/iam/iam_credentials.cc \ src/core/lib/security/credentials/iam/iam_credentials.h \ -src/core/lib/security/credentials/jwt/json_token.c \ +src/core/lib/security/credentials/jwt/json_token.cc \ src/core/lib/security/credentials/jwt/json_token.h \ -src/core/lib/security/credentials/jwt/jwt_credentials.c \ +src/core/lib/security/credentials/jwt/jwt_credentials.cc \ src/core/lib/security/credentials/jwt/jwt_credentials.h \ -src/core/lib/security/credentials/jwt/jwt_verifier.c \ +src/core/lib/security/credentials/jwt/jwt_verifier.cc \ src/core/lib/security/credentials/jwt/jwt_verifier.h \ -src/core/lib/security/credentials/oauth2/oauth2_credentials.c \ +src/core/lib/security/credentials/oauth2/oauth2_credentials.cc \ src/core/lib/security/credentials/oauth2/oauth2_credentials.h \ -src/core/lib/security/credentials/plugin/plugin_credentials.c \ +src/core/lib/security/credentials/plugin/plugin_credentials.cc \ src/core/lib/security/credentials/plugin/plugin_credentials.h \ -src/core/lib/security/credentials/ssl/ssl_credentials.c \ +src/core/lib/security/credentials/ssl/ssl_credentials.cc \ src/core/lib/security/credentials/ssl/ssl_credentials.h \ src/core/lib/security/transport/auth_filters.h \ -src/core/lib/security/transport/client_auth_filter.c \ -src/core/lib/security/transport/lb_targets_info.c \ +src/core/lib/security/transport/client_auth_filter.cc \ +src/core/lib/security/transport/lb_targets_info.cc \ src/core/lib/security/transport/lb_targets_info.h \ -src/core/lib/security/transport/secure_endpoint.c \ +src/core/lib/security/transport/secure_endpoint.cc \ src/core/lib/security/transport/secure_endpoint.h \ -src/core/lib/security/transport/security_connector.c \ +src/core/lib/security/transport/security_connector.cc \ src/core/lib/security/transport/security_connector.h \ -src/core/lib/security/transport/security_handshaker.c \ +src/core/lib/security/transport/security_handshaker.cc \ src/core/lib/security/transport/security_handshaker.h \ -src/core/lib/security/transport/server_auth_filter.c \ -src/core/lib/security/transport/tsi_error.c \ +src/core/lib/security/transport/server_auth_filter.cc \ +src/core/lib/security/transport/tsi_error.cc \ src/core/lib/security/transport/tsi_error.h \ -src/core/lib/security/util/json_util.c \ +src/core/lib/security/util/json_util.cc \ src/core/lib/security/util/json_util.h \ -src/core/lib/slice/b64.c \ +src/core/lib/slice/b64.cc \ src/core/lib/slice/b64.h \ -src/core/lib/slice/percent_encoding.c \ +src/core/lib/slice/percent_encoding.cc \ src/core/lib/slice/percent_encoding.h \ -src/core/lib/slice/slice.c \ -src/core/lib/slice/slice_buffer.c \ -src/core/lib/slice/slice_hash_table.c \ +src/core/lib/slice/slice.cc \ +src/core/lib/slice/slice_buffer.cc \ +src/core/lib/slice/slice_hash_table.cc \ src/core/lib/slice/slice_hash_table.h \ -src/core/lib/slice/slice_intern.c \ +src/core/lib/slice/slice_intern.cc \ src/core/lib/slice/slice_internal.h \ -src/core/lib/slice/slice_string_helpers.c \ +src/core/lib/slice/slice_string_helpers.cc \ src/core/lib/slice/slice_string_helpers.h \ -src/core/lib/support/alloc.c \ -src/core/lib/support/arena.c \ +src/core/lib/support/alloc.cc \ +src/core/lib/support/arena.cc \ src/core/lib/support/arena.h \ -src/core/lib/support/atm.c \ +src/core/lib/support/atm.cc \ src/core/lib/support/atomic.h \ src/core/lib/support/atomic_with_atm.h \ src/core/lib/support/atomic_with_std.h \ -src/core/lib/support/avl.c \ -src/core/lib/support/backoff.c \ +src/core/lib/support/avl.cc \ +src/core/lib/support/backoff.cc \ src/core/lib/support/backoff.h \ src/core/lib/support/block_annotate.h \ -src/core/lib/support/cmdline.c \ -src/core/lib/support/cpu_iphone.c \ -src/core/lib/support/cpu_linux.c \ -src/core/lib/support/cpu_posix.c \ -src/core/lib/support/cpu_windows.c \ +src/core/lib/support/cmdline.cc \ +src/core/lib/support/cpu_iphone.cc \ +src/core/lib/support/cpu_linux.cc \ +src/core/lib/support/cpu_posix.cc \ +src/core/lib/support/cpu_windows.cc \ src/core/lib/support/env.h \ -src/core/lib/support/env_linux.c \ -src/core/lib/support/env_posix.c \ -src/core/lib/support/env_windows.c \ -src/core/lib/support/histogram.c \ -src/core/lib/support/host_port.c \ -src/core/lib/support/log.c \ -src/core/lib/support/log_android.c \ -src/core/lib/support/log_linux.c \ -src/core/lib/support/log_posix.c \ -src/core/lib/support/log_windows.c \ +src/core/lib/support/env_linux.cc \ +src/core/lib/support/env_posix.cc \ +src/core/lib/support/env_windows.cc \ +src/core/lib/support/histogram.cc \ +src/core/lib/support/host_port.cc \ +src/core/lib/support/log.cc \ +src/core/lib/support/log_android.cc \ +src/core/lib/support/log_linux.cc \ +src/core/lib/support/log_posix.cc \ +src/core/lib/support/log_windows.cc \ src/core/lib/support/memory.h \ -src/core/lib/support/mpscq.c \ +src/core/lib/support/mpscq.cc \ src/core/lib/support/mpscq.h \ -src/core/lib/support/murmur_hash.c \ +src/core/lib/support/murmur_hash.cc \ src/core/lib/support/murmur_hash.h \ src/core/lib/support/spinlock.h \ -src/core/lib/support/stack_lockfree.c \ +src/core/lib/support/stack_lockfree.cc \ src/core/lib/support/stack_lockfree.h \ -src/core/lib/support/string.c \ +src/core/lib/support/string.cc \ src/core/lib/support/string.h \ -src/core/lib/support/string_posix.c \ -src/core/lib/support/string_util_windows.c \ -src/core/lib/support/string_windows.c \ +src/core/lib/support/string_posix.cc \ +src/core/lib/support/string_util_windows.cc \ +src/core/lib/support/string_windows.cc \ src/core/lib/support/string_windows.h \ -src/core/lib/support/subprocess_posix.c \ -src/core/lib/support/subprocess_windows.c \ -src/core/lib/support/sync.c \ -src/core/lib/support/sync_posix.c \ -src/core/lib/support/sync_windows.c \ -src/core/lib/support/thd.c \ -src/core/lib/support/thd_posix.c \ -src/core/lib/support/thd_windows.c \ -src/core/lib/support/time.c \ -src/core/lib/support/time_posix.c \ -src/core/lib/support/time_precise.c \ +src/core/lib/support/subprocess_posix.cc \ +src/core/lib/support/subprocess_windows.cc \ +src/core/lib/support/sync.cc \ +src/core/lib/support/sync_posix.cc \ +src/core/lib/support/sync_windows.cc \ +src/core/lib/support/thd.cc \ +src/core/lib/support/thd_posix.cc \ +src/core/lib/support/thd_windows.cc \ +src/core/lib/support/time.cc \ +src/core/lib/support/time_posix.cc \ +src/core/lib/support/time_precise.cc \ src/core/lib/support/time_precise.h \ -src/core/lib/support/time_windows.c \ -src/core/lib/support/tls_pthread.c \ +src/core/lib/support/time_windows.cc \ +src/core/lib/support/tls_pthread.cc \ src/core/lib/support/tmpfile.h \ -src/core/lib/support/tmpfile_msys.c \ -src/core/lib/support/tmpfile_posix.c \ -src/core/lib/support/tmpfile_windows.c \ -src/core/lib/support/wrap_memcpy.c \ +src/core/lib/support/tmpfile_msys.cc \ +src/core/lib/support/tmpfile_posix.cc \ +src/core/lib/support/tmpfile_windows.cc \ +src/core/lib/support/wrap_memcpy.cc \ src/core/lib/surface/README.md \ -src/core/lib/surface/alarm.c \ +src/core/lib/surface/alarm.cc \ src/core/lib/surface/alarm_internal.h \ -src/core/lib/surface/api_trace.c \ +src/core/lib/surface/api_trace.cc \ src/core/lib/surface/api_trace.h \ -src/core/lib/surface/byte_buffer.c \ -src/core/lib/surface/byte_buffer_reader.c \ -src/core/lib/surface/call.c \ +src/core/lib/surface/byte_buffer.cc \ +src/core/lib/surface/byte_buffer_reader.cc \ +src/core/lib/surface/call.cc \ src/core/lib/surface/call.h \ -src/core/lib/surface/call_details.c \ -src/core/lib/surface/call_log_batch.c \ +src/core/lib/surface/call_details.cc \ +src/core/lib/surface/call_log_batch.cc \ src/core/lib/surface/call_test_only.h \ -src/core/lib/surface/channel.c \ +src/core/lib/surface/channel.cc \ src/core/lib/surface/channel.h \ -src/core/lib/surface/channel_init.c \ +src/core/lib/surface/channel_init.cc \ src/core/lib/surface/channel_init.h \ -src/core/lib/surface/channel_ping.c \ -src/core/lib/surface/channel_stack_type.c \ +src/core/lib/surface/channel_ping.cc \ +src/core/lib/surface/channel_stack_type.cc \ src/core/lib/surface/channel_stack_type.h \ -src/core/lib/surface/completion_queue.c \ +src/core/lib/surface/completion_queue.cc \ src/core/lib/surface/completion_queue.h \ -src/core/lib/surface/completion_queue_factory.c \ +src/core/lib/surface/completion_queue_factory.cc \ src/core/lib/surface/completion_queue_factory.h \ -src/core/lib/surface/event_string.c \ +src/core/lib/surface/event_string.cc \ src/core/lib/surface/event_string.h \ -src/core/lib/surface/init.c \ +src/core/lib/surface/init.cc \ src/core/lib/surface/init.h \ -src/core/lib/surface/init_secure.c \ +src/core/lib/surface/init_secure.cc \ src/core/lib/surface/lame_client.cc \ src/core/lib/surface/lame_client.h \ -src/core/lib/surface/metadata_array.c \ -src/core/lib/surface/server.c \ +src/core/lib/surface/metadata_array.cc \ +src/core/lib/surface/server.cc \ src/core/lib/surface/server.h \ -src/core/lib/surface/validate_metadata.c \ +src/core/lib/surface/validate_metadata.cc \ src/core/lib/surface/validate_metadata.h \ -src/core/lib/surface/version.c \ +src/core/lib/surface/version.cc \ src/core/lib/transport/README.md \ -src/core/lib/transport/bdp_estimator.c \ +src/core/lib/transport/bdp_estimator.cc \ src/core/lib/transport/bdp_estimator.h \ -src/core/lib/transport/byte_stream.c \ +src/core/lib/transport/byte_stream.cc \ src/core/lib/transport/byte_stream.h \ -src/core/lib/transport/connectivity_state.c \ +src/core/lib/transport/connectivity_state.cc \ src/core/lib/transport/connectivity_state.h \ -src/core/lib/transport/error_utils.c \ +src/core/lib/transport/error_utils.cc \ src/core/lib/transport/error_utils.h \ src/core/lib/transport/http2_errors.h \ -src/core/lib/transport/metadata.c \ +src/core/lib/transport/metadata.cc \ src/core/lib/transport/metadata.h \ -src/core/lib/transport/metadata_batch.c \ +src/core/lib/transport/metadata_batch.cc \ src/core/lib/transport/metadata_batch.h \ -src/core/lib/transport/pid_controller.c \ +src/core/lib/transport/pid_controller.cc \ src/core/lib/transport/pid_controller.h \ -src/core/lib/transport/service_config.c \ +src/core/lib/transport/service_config.cc \ src/core/lib/transport/service_config.h \ -src/core/lib/transport/static_metadata.c \ +src/core/lib/transport/static_metadata.cc \ src/core/lib/transport/static_metadata.h \ -src/core/lib/transport/status_conversion.c \ +src/core/lib/transport/status_conversion.cc \ src/core/lib/transport/status_conversion.h \ -src/core/lib/transport/timeout_encoding.c \ +src/core/lib/transport/timeout_encoding.cc \ src/core/lib/transport/timeout_encoding.h \ -src/core/lib/transport/transport.c \ +src/core/lib/transport/transport.cc \ src/core/lib/transport/transport.h \ src/core/lib/transport/transport_impl.h \ -src/core/lib/transport/transport_op_string.c \ +src/core/lib/transport/transport_op_string.cc \ src/core/plugin_registry/grpc_plugin_registry.cc \ src/core/tsi/README.md \ -src/core/tsi/fake_transport_security.c \ +src/core/tsi/fake_transport_security.cc \ src/core/tsi/fake_transport_security.h \ -src/core/tsi/gts_transport_security.c \ +src/core/tsi/gts_transport_security.cc \ src/core/tsi/gts_transport_security.h \ -src/core/tsi/ssl_transport_security.c \ +src/core/tsi/ssl_transport_security.cc \ src/core/tsi/ssl_transport_security.h \ src/core/tsi/ssl_types.h \ -src/core/tsi/transport_security.c \ +src/core/tsi/transport_security.cc \ src/core/tsi/transport_security.h \ -src/core/tsi/transport_security_adapter.c \ +src/core/tsi/transport_security_adapter.cc \ src/core/tsi/transport_security_adapter.h \ -src/core/tsi/transport_security_grpc.c \ +src/core/tsi/transport_security_grpc.cc \ src/core/tsi/transport_security_grpc.h \ src/core/tsi/transport_security_interface.h \ third_party/nanopb/pb.h \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index c46eb726c8a..906458adac6 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -6000,7 +6000,7 @@ "language": "c", "name": "grpc", "src": [ - "src/core/lib/surface/init.c" + "src/core/lib/surface/init.cc" ], "third_party": false, "type": "lib" @@ -6018,7 +6018,7 @@ "language": "c", "name": "grpc_cronet", "src": [ - "src/core/lib/surface/init.c" + "src/core/lib/surface/init.cc" ], "third_party": false, "type": "lib" @@ -6104,8 +6104,8 @@ "language": "c", "name": "grpc_unsecure", "src": [ - "src/core/lib/surface/init.c", - "src/core/lib/surface/init_unsecure.c" + "src/core/lib/surface/init.cc", + "src/core/lib/surface/init_unsecure.cc" ], "third_party": false, "type": "lib" @@ -7722,37 +7722,37 @@ "src": [ "include/grpc/census.h", "src/core/ext/census/aggregation.h", - "src/core/ext/census/base_resources.c", + "src/core/ext/census/base_resources.cc", "src/core/ext/census/base_resources.h", "src/core/ext/census/census_interface.h", "src/core/ext/census/census_rpc_stats.h", - "src/core/ext/census/context.c", - "src/core/ext/census/gen/census.pb.c", + "src/core/ext/census/context.cc", + "src/core/ext/census/gen/census.pb.cc", "src/core/ext/census/gen/census.pb.h", - "src/core/ext/census/gen/trace_context.pb.c", + "src/core/ext/census/gen/trace_context.pb.cc", "src/core/ext/census/gen/trace_context.pb.h", - "src/core/ext/census/grpc_context.c", - "src/core/ext/census/grpc_filter.c", + "src/core/ext/census/grpc_context.cc", + "src/core/ext/census/grpc_filter.cc", "src/core/ext/census/grpc_filter.h", - "src/core/ext/census/grpc_plugin.c", - "src/core/ext/census/initialize.c", - "src/core/ext/census/intrusive_hash_map.c", + "src/core/ext/census/grpc_plugin.cc", + "src/core/ext/census/initialize.cc", + "src/core/ext/census/intrusive_hash_map.cc", "src/core/ext/census/intrusive_hash_map.h", "src/core/ext/census/intrusive_hash_map_internal.h", - "src/core/ext/census/mlog.c", + "src/core/ext/census/mlog.cc", "src/core/ext/census/mlog.h", - "src/core/ext/census/operation.c", - "src/core/ext/census/placeholders.c", - "src/core/ext/census/resource.c", + "src/core/ext/census/operation.cc", + "src/core/ext/census/placeholders.cc", + "src/core/ext/census/resource.cc", "src/core/ext/census/resource.h", "src/core/ext/census/rpc_metric_id.h", - "src/core/ext/census/trace_context.c", + "src/core/ext/census/trace_context.cc", "src/core/ext/census/trace_context.h", "src/core/ext/census/trace_label.h", "src/core/ext/census/trace_propagation.h", "src/core/ext/census/trace_status.h", "src/core/ext/census/trace_string.h", - "src/core/ext/census/tracing.c", + "src/core/ext/census/tracing.cc", "src/core/ext/census/tracing.h" ], "third_party": false, @@ -7767,52 +7767,52 @@ "language": "c", "name": "gpr_base", "src": [ - "src/core/lib/profiling/basic_timers.c", - "src/core/lib/profiling/stap_timers.c", - "src/core/lib/support/alloc.c", - "src/core/lib/support/arena.c", - "src/core/lib/support/atm.c", - "src/core/lib/support/avl.c", - "src/core/lib/support/backoff.c", - "src/core/lib/support/cmdline.c", - "src/core/lib/support/cpu_iphone.c", - "src/core/lib/support/cpu_linux.c", - "src/core/lib/support/cpu_posix.c", - "src/core/lib/support/cpu_windows.c", - "src/core/lib/support/env_linux.c", - "src/core/lib/support/env_posix.c", - "src/core/lib/support/env_windows.c", - "src/core/lib/support/histogram.c", - "src/core/lib/support/host_port.c", - "src/core/lib/support/log.c", - "src/core/lib/support/log_android.c", - "src/core/lib/support/log_linux.c", - "src/core/lib/support/log_posix.c", - "src/core/lib/support/log_windows.c", - "src/core/lib/support/mpscq.c", - "src/core/lib/support/murmur_hash.c", - "src/core/lib/support/stack_lockfree.c", - "src/core/lib/support/string.c", - "src/core/lib/support/string_posix.c", - "src/core/lib/support/string_util_windows.c", - "src/core/lib/support/string_windows.c", - "src/core/lib/support/subprocess_posix.c", - "src/core/lib/support/subprocess_windows.c", - "src/core/lib/support/sync.c", - "src/core/lib/support/sync_posix.c", - "src/core/lib/support/sync_windows.c", - "src/core/lib/support/thd.c", - "src/core/lib/support/thd_posix.c", - "src/core/lib/support/thd_windows.c", - "src/core/lib/support/time.c", - "src/core/lib/support/time_posix.c", - "src/core/lib/support/time_precise.c", - "src/core/lib/support/time_windows.c", - "src/core/lib/support/tls_pthread.c", - "src/core/lib/support/tmpfile_msys.c", - "src/core/lib/support/tmpfile_posix.c", - "src/core/lib/support/tmpfile_windows.c", - "src/core/lib/support/wrap_memcpy.c" + "src/core/lib/profiling/basic_timers.cc", + "src/core/lib/profiling/stap_timers.cc", + "src/core/lib/support/alloc.cc", + "src/core/lib/support/arena.cc", + "src/core/lib/support/atm.cc", + "src/core/lib/support/avl.cc", + "src/core/lib/support/backoff.cc", + "src/core/lib/support/cmdline.cc", + "src/core/lib/support/cpu_iphone.cc", + "src/core/lib/support/cpu_linux.cc", + "src/core/lib/support/cpu_posix.cc", + "src/core/lib/support/cpu_windows.cc", + "src/core/lib/support/env_linux.cc", + "src/core/lib/support/env_posix.cc", + "src/core/lib/support/env_windows.cc", + "src/core/lib/support/histogram.cc", + "src/core/lib/support/host_port.cc", + "src/core/lib/support/log.cc", + "src/core/lib/support/log_android.cc", + "src/core/lib/support/log_linux.cc", + "src/core/lib/support/log_posix.cc", + "src/core/lib/support/log_windows.cc", + "src/core/lib/support/mpscq.cc", + "src/core/lib/support/murmur_hash.cc", + "src/core/lib/support/stack_lockfree.cc", + "src/core/lib/support/string.cc", + "src/core/lib/support/string_posix.cc", + "src/core/lib/support/string_util_windows.cc", + "src/core/lib/support/string_windows.cc", + "src/core/lib/support/subprocess_posix.cc", + "src/core/lib/support/subprocess_windows.cc", + "src/core/lib/support/sync.cc", + "src/core/lib/support/sync_posix.cc", + "src/core/lib/support/sync_windows.cc", + "src/core/lib/support/thd.cc", + "src/core/lib/support/thd_posix.cc", + "src/core/lib/support/thd_windows.cc", + "src/core/lib/support/time.cc", + "src/core/lib/support/time_posix.cc", + "src/core/lib/support/time_precise.cc", + "src/core/lib/support/time_windows.cc", + "src/core/lib/support/tls_pthread.cc", + "src/core/lib/support/tmpfile_msys.cc", + "src/core/lib/support/tmpfile_posix.cc", + "src/core/lib/support/tmpfile_windows.cc", + "src/core/lib/support/wrap_memcpy.cc" ], "third_party": false, "type": "filegroup" @@ -7997,137 +7997,135 @@ "language": "c", "name": "grpc_base", "src": [ - "src/core/lib/channel/channel_args.c", - "src/core/lib/channel/channel_stack.c", - "src/core/lib/channel/channel_stack_builder.c", - "src/core/lib/channel/connected_channel.c", - "src/core/lib/channel/handshaker.c", - "src/core/lib/channel/handshaker_factory.c", - "src/core/lib/channel/handshaker_registry.c", - "src/core/lib/compression/compression.c", - "src/core/lib/compression/message_compress.c", - "src/core/lib/compression/stream_compression.c", - "src/core/lib/compression/stream_compression_gzip.c", - "src/core/lib/compression/stream_compression_identity.c", - "src/core/lib/debug/stats.c", - "src/core/lib/debug/stats_data.c", - "src/core/lib/http/format_request.c", - "src/core/lib/http/httpcli.c", - "src/core/lib/http/parser.c", - "src/core/lib/iomgr/call_combiner.c", - "src/core/lib/iomgr/closure.c", - "src/core/lib/iomgr/combiner.c", - "src/core/lib/iomgr/endpoint.c", - "src/core/lib/iomgr/endpoint_pair_posix.c", - "src/core/lib/iomgr/endpoint_pair_uv.c", - "src/core/lib/iomgr/endpoint_pair_windows.c", - "src/core/lib/iomgr/error.c", - "src/core/lib/iomgr/ev_epoll1_linux.c", - "src/core/lib/iomgr/ev_epollex_linux.c", - "src/core/lib/iomgr/ev_epollsig_linux.c", - "src/core/lib/iomgr/ev_poll_posix.c", - "src/core/lib/iomgr/ev_posix.c", - "src/core/lib/iomgr/ev_windows.c", - "src/core/lib/iomgr/exec_ctx.c", - "src/core/lib/iomgr/executor.c", - "src/core/lib/iomgr/gethostname_fallback.c", - "src/core/lib/iomgr/gethostname_host_name_max.c", - "src/core/lib/iomgr/gethostname_sysconf.c", - "src/core/lib/iomgr/iocp_windows.c", - "src/core/lib/iomgr/iomgr.c", - "src/core/lib/iomgr/iomgr_posix.c", - "src/core/lib/iomgr/iomgr_uv.c", - "src/core/lib/iomgr/iomgr_windows.c", - "src/core/lib/iomgr/is_epollexclusive_available.c", - "src/core/lib/iomgr/load_file.c", - "src/core/lib/iomgr/lockfree_event.c", - "src/core/lib/iomgr/network_status_tracker.c", - "src/core/lib/iomgr/polling_entity.c", - "src/core/lib/iomgr/pollset_set_uv.c", - "src/core/lib/iomgr/pollset_set_windows.c", - "src/core/lib/iomgr/pollset_uv.c", - "src/core/lib/iomgr/pollset_windows.c", - "src/core/lib/iomgr/resolve_address_posix.c", - "src/core/lib/iomgr/resolve_address_uv.c", - "src/core/lib/iomgr/resolve_address_windows.c", - "src/core/lib/iomgr/resource_quota.c", - "src/core/lib/iomgr/sockaddr_utils.c", - "src/core/lib/iomgr/socket_factory_posix.c", - "src/core/lib/iomgr/socket_mutator.c", - "src/core/lib/iomgr/socket_utils_common_posix.c", - "src/core/lib/iomgr/socket_utils_linux.c", - "src/core/lib/iomgr/socket_utils_posix.c", - "src/core/lib/iomgr/socket_utils_uv.c", - "src/core/lib/iomgr/socket_utils_windows.c", - "src/core/lib/iomgr/socket_windows.c", - "src/core/lib/iomgr/tcp_client_posix.c", - "src/core/lib/iomgr/tcp_client_uv.c", - "src/core/lib/iomgr/tcp_client_windows.c", - "src/core/lib/iomgr/tcp_posix.c", - "src/core/lib/iomgr/tcp_server_posix.c", - "src/core/lib/iomgr/tcp_server_utils_posix_common.c", - "src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c", - "src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c", - "src/core/lib/iomgr/tcp_server_uv.c", - "src/core/lib/iomgr/tcp_server_windows.c", - "src/core/lib/iomgr/tcp_uv.c", - "src/core/lib/iomgr/tcp_windows.c", - "src/core/lib/iomgr/time_averaged_stats.c", - "src/core/lib/iomgr/timer_generic.c", - "src/core/lib/iomgr/timer_heap.c", - "src/core/lib/iomgr/timer_manager.c", - "src/core/lib/iomgr/timer_uv.c", - "src/core/lib/iomgr/udp_server.c", - "src/core/lib/iomgr/unix_sockets_posix.c", - "src/core/lib/iomgr/unix_sockets_posix_noop.c", - "src/core/lib/iomgr/wakeup_fd_cv.c", - "src/core/lib/iomgr/wakeup_fd_eventfd.c", - "src/core/lib/iomgr/wakeup_fd_nospecial.c", - "src/core/lib/iomgr/wakeup_fd_pipe.c", - "src/core/lib/iomgr/wakeup_fd_posix.c", - "src/core/lib/json/json.c", - "src/core/lib/json/json_reader.c", - "src/core/lib/json/json_string.c", - "src/core/lib/json/json_writer.c", - "src/core/lib/slice/b64.c", - "src/core/lib/slice/percent_encoding.c", - "src/core/lib/slice/slice.c", - "src/core/lib/slice/slice_buffer.c", - "src/core/lib/slice/slice_hash_table.c", - "src/core/lib/slice/slice_intern.c", - "src/core/lib/slice/slice_string_helpers.c", - "src/core/lib/surface/alarm.c", - "src/core/lib/surface/api_trace.c", - "src/core/lib/surface/byte_buffer.c", - "src/core/lib/surface/byte_buffer_reader.c", - "src/core/lib/surface/call.c", - "src/core/lib/surface/call_details.c", - "src/core/lib/surface/call_log_batch.c", - "src/core/lib/surface/channel.c", - "src/core/lib/surface/channel_init.c", - "src/core/lib/surface/channel_ping.c", - "src/core/lib/surface/channel_stack_type.c", - "src/core/lib/surface/completion_queue.c", - "src/core/lib/surface/completion_queue_factory.c", - "src/core/lib/surface/event_string.c", + "src/core/lib/channel/channel_args.cc", + "src/core/lib/channel/channel_stack.cc", + "src/core/lib/channel/channel_stack_builder.cc", + "src/core/lib/channel/connected_channel.cc", + "src/core/lib/channel/handshaker.cc", + "src/core/lib/channel/handshaker_factory.cc", + "src/core/lib/channel/handshaker_registry.cc", + "src/core/lib/compression/compression.cc", + "src/core/lib/compression/message_compress.cc", + "src/core/lib/compression/stream_compression.cc", + "src/core/lib/debug/stats.cc", + "src/core/lib/debug/stats_data.cc", + "src/core/lib/http/format_request.cc", + "src/core/lib/http/httpcli.cc", + "src/core/lib/http/parser.cc", + "src/core/lib/iomgr/call_combiner.cc", + "src/core/lib/iomgr/closure.cc", + "src/core/lib/iomgr/combiner.cc", + "src/core/lib/iomgr/endpoint.cc", + "src/core/lib/iomgr/endpoint_pair_posix.cc", + "src/core/lib/iomgr/endpoint_pair_uv.cc", + "src/core/lib/iomgr/endpoint_pair_windows.cc", + "src/core/lib/iomgr/error.cc", + "src/core/lib/iomgr/ev_epoll1_linux.cc", + "src/core/lib/iomgr/ev_epollex_linux.cc", + "src/core/lib/iomgr/ev_epollsig_linux.cc", + "src/core/lib/iomgr/ev_poll_posix.cc", + "src/core/lib/iomgr/ev_posix.cc", + "src/core/lib/iomgr/ev_windows.cc", + "src/core/lib/iomgr/exec_ctx.cc", + "src/core/lib/iomgr/executor.cc", + "src/core/lib/iomgr/gethostname_fallback.cc", + "src/core/lib/iomgr/gethostname_host_name_max.cc", + "src/core/lib/iomgr/gethostname_sysconf.cc", + "src/core/lib/iomgr/iocp_windows.cc", + "src/core/lib/iomgr/iomgr.cc", + "src/core/lib/iomgr/iomgr_posix.cc", + "src/core/lib/iomgr/iomgr_uv.cc", + "src/core/lib/iomgr/iomgr_windows.cc", + "src/core/lib/iomgr/is_epollexclusive_available.cc", + "src/core/lib/iomgr/load_file.cc", + "src/core/lib/iomgr/lockfree_event.cc", + "src/core/lib/iomgr/network_status_tracker.cc", + "src/core/lib/iomgr/polling_entity.cc", + "src/core/lib/iomgr/pollset_set_uv.cc", + "src/core/lib/iomgr/pollset_set_windows.cc", + "src/core/lib/iomgr/pollset_uv.cc", + "src/core/lib/iomgr/pollset_windows.cc", + "src/core/lib/iomgr/resolve_address_posix.cc", + "src/core/lib/iomgr/resolve_address_uv.cc", + "src/core/lib/iomgr/resolve_address_windows.cc", + "src/core/lib/iomgr/resource_quota.cc", + "src/core/lib/iomgr/sockaddr_utils.cc", + "src/core/lib/iomgr/socket_factory_posix.cc", + "src/core/lib/iomgr/socket_mutator.cc", + "src/core/lib/iomgr/socket_utils_common_posix.cc", + "src/core/lib/iomgr/socket_utils_linux.cc", + "src/core/lib/iomgr/socket_utils_posix.cc", + "src/core/lib/iomgr/socket_utils_uv.cc", + "src/core/lib/iomgr/socket_utils_windows.cc", + "src/core/lib/iomgr/socket_windows.cc", + "src/core/lib/iomgr/tcp_client_posix.cc", + "src/core/lib/iomgr/tcp_client_uv.cc", + "src/core/lib/iomgr/tcp_client_windows.cc", + "src/core/lib/iomgr/tcp_posix.cc", + "src/core/lib/iomgr/tcp_server_posix.cc", + "src/core/lib/iomgr/tcp_server_utils_posix_common.cc", + "src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc", + "src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc", + "src/core/lib/iomgr/tcp_server_uv.cc", + "src/core/lib/iomgr/tcp_server_windows.cc", + "src/core/lib/iomgr/tcp_uv.cc", + "src/core/lib/iomgr/tcp_windows.cc", + "src/core/lib/iomgr/time_averaged_stats.cc", + "src/core/lib/iomgr/timer_generic.cc", + "src/core/lib/iomgr/timer_heap.cc", + "src/core/lib/iomgr/timer_manager.cc", + "src/core/lib/iomgr/timer_uv.cc", + "src/core/lib/iomgr/udp_server.cc", + "src/core/lib/iomgr/unix_sockets_posix.cc", + "src/core/lib/iomgr/unix_sockets_posix_noop.cc", + "src/core/lib/iomgr/wakeup_fd_cv.cc", + "src/core/lib/iomgr/wakeup_fd_eventfd.cc", + "src/core/lib/iomgr/wakeup_fd_nospecial.cc", + "src/core/lib/iomgr/wakeup_fd_pipe.cc", + "src/core/lib/iomgr/wakeup_fd_posix.cc", + "src/core/lib/json/json.cc", + "src/core/lib/json/json_reader.cc", + "src/core/lib/json/json_string.cc", + "src/core/lib/json/json_writer.cc", + "src/core/lib/slice/b64.cc", + "src/core/lib/slice/percent_encoding.cc", + "src/core/lib/slice/slice.cc", + "src/core/lib/slice/slice_buffer.cc", + "src/core/lib/slice/slice_hash_table.cc", + "src/core/lib/slice/slice_intern.cc", + "src/core/lib/slice/slice_string_helpers.cc", + "src/core/lib/surface/alarm.cc", + "src/core/lib/surface/api_trace.cc", + "src/core/lib/surface/byte_buffer.cc", + "src/core/lib/surface/byte_buffer_reader.cc", + "src/core/lib/surface/call.cc", + "src/core/lib/surface/call_details.cc", + "src/core/lib/surface/call_log_batch.cc", + "src/core/lib/surface/channel.cc", + "src/core/lib/surface/channel_init.cc", + "src/core/lib/surface/channel_ping.cc", + "src/core/lib/surface/channel_stack_type.cc", + "src/core/lib/surface/completion_queue.cc", + "src/core/lib/surface/completion_queue_factory.cc", + "src/core/lib/surface/event_string.cc", "src/core/lib/surface/lame_client.cc", - "src/core/lib/surface/metadata_array.c", - "src/core/lib/surface/server.c", - "src/core/lib/surface/validate_metadata.c", - "src/core/lib/surface/version.c", - "src/core/lib/transport/bdp_estimator.c", - "src/core/lib/transport/byte_stream.c", - "src/core/lib/transport/connectivity_state.c", - "src/core/lib/transport/error_utils.c", - "src/core/lib/transport/metadata.c", - "src/core/lib/transport/metadata_batch.c", - "src/core/lib/transport/pid_controller.c", - "src/core/lib/transport/service_config.c", - "src/core/lib/transport/static_metadata.c", - "src/core/lib/transport/status_conversion.c", - "src/core/lib/transport/timeout_encoding.c", - "src/core/lib/transport/transport.c", - "src/core/lib/transport/transport_op_string.c" + "src/core/lib/surface/metadata_array.cc", + "src/core/lib/surface/server.cc", + "src/core/lib/surface/validate_metadata.cc", + "src/core/lib/surface/version.cc", + "src/core/lib/transport/bdp_estimator.cc", + "src/core/lib/transport/byte_stream.cc", + "src/core/lib/transport/connectivity_state.cc", + "src/core/lib/transport/error_utils.cc", + "src/core/lib/transport/metadata.cc", + "src/core/lib/transport/metadata_batch.cc", + "src/core/lib/transport/pid_controller.cc", + "src/core/lib/transport/service_config.cc", + "src/core/lib/transport/static_metadata.cc", + "src/core/lib/transport/status_conversion.cc", + "src/core/lib/transport/timeout_encoding.cc", + "src/core/lib/transport/transport.cc", + "src/core/lib/transport/transport_op_string.cc" ], "third_party": false, "type": "filegroup" @@ -8434,43 +8432,43 @@ "language": "c", "name": "grpc_client_channel", "src": [ - "src/core/ext/filters/client_channel/channel_connectivity.c", - "src/core/ext/filters/client_channel/client_channel.c", + "src/core/ext/filters/client_channel/channel_connectivity.cc", + "src/core/ext/filters/client_channel/client_channel.cc", "src/core/ext/filters/client_channel/client_channel.h", - "src/core/ext/filters/client_channel/client_channel_factory.c", + "src/core/ext/filters/client_channel/client_channel_factory.cc", "src/core/ext/filters/client_channel/client_channel_factory.h", - "src/core/ext/filters/client_channel/client_channel_plugin.c", - "src/core/ext/filters/client_channel/connector.c", + "src/core/ext/filters/client_channel/client_channel_plugin.cc", + "src/core/ext/filters/client_channel/connector.cc", "src/core/ext/filters/client_channel/connector.h", - "src/core/ext/filters/client_channel/http_connect_handshaker.c", + "src/core/ext/filters/client_channel/http_connect_handshaker.cc", "src/core/ext/filters/client_channel/http_connect_handshaker.h", - "src/core/ext/filters/client_channel/http_proxy.c", + "src/core/ext/filters/client_channel/http_proxy.cc", "src/core/ext/filters/client_channel/http_proxy.h", - "src/core/ext/filters/client_channel/lb_policy.c", + "src/core/ext/filters/client_channel/lb_policy.cc", "src/core/ext/filters/client_channel/lb_policy.h", - "src/core/ext/filters/client_channel/lb_policy_factory.c", + "src/core/ext/filters/client_channel/lb_policy_factory.cc", "src/core/ext/filters/client_channel/lb_policy_factory.h", - "src/core/ext/filters/client_channel/lb_policy_registry.c", + "src/core/ext/filters/client_channel/lb_policy_registry.cc", "src/core/ext/filters/client_channel/lb_policy_registry.h", - "src/core/ext/filters/client_channel/parse_address.c", + "src/core/ext/filters/client_channel/parse_address.cc", "src/core/ext/filters/client_channel/parse_address.h", - "src/core/ext/filters/client_channel/proxy_mapper.c", + "src/core/ext/filters/client_channel/proxy_mapper.cc", "src/core/ext/filters/client_channel/proxy_mapper.h", - "src/core/ext/filters/client_channel/proxy_mapper_registry.c", + "src/core/ext/filters/client_channel/proxy_mapper_registry.cc", "src/core/ext/filters/client_channel/proxy_mapper_registry.h", - "src/core/ext/filters/client_channel/resolver.c", + "src/core/ext/filters/client_channel/resolver.cc", "src/core/ext/filters/client_channel/resolver.h", - "src/core/ext/filters/client_channel/resolver_factory.c", + "src/core/ext/filters/client_channel/resolver_factory.cc", "src/core/ext/filters/client_channel/resolver_factory.h", - "src/core/ext/filters/client_channel/resolver_registry.c", + "src/core/ext/filters/client_channel/resolver_registry.cc", "src/core/ext/filters/client_channel/resolver_registry.h", - "src/core/ext/filters/client_channel/retry_throttle.c", + "src/core/ext/filters/client_channel/retry_throttle.cc", "src/core/ext/filters/client_channel/retry_throttle.h", - "src/core/ext/filters/client_channel/subchannel.c", + "src/core/ext/filters/client_channel/subchannel.cc", "src/core/ext/filters/client_channel/subchannel.h", - "src/core/ext/filters/client_channel/subchannel_index.c", + "src/core/ext/filters/client_channel/subchannel_index.cc", "src/core/ext/filters/client_channel/subchannel_index.h", - "src/core/ext/filters/client_channel/uri_parser.c", + "src/core/ext/filters/client_channel/uri_parser.cc", "src/core/ext/filters/client_channel/uri_parser.h" ], "third_party": false, @@ -8520,7 +8518,7 @@ "language": "c", "name": "grpc_deadline_filter", "src": [ - "src/core/ext/filters/deadline/deadline_filter.c", + "src/core/ext/filters/deadline/deadline_filter.cc", "src/core/ext/filters/deadline/deadline_filter.h" ], "third_party": false, @@ -8540,12 +8538,12 @@ "language": "c", "name": "grpc_http_filters", "src": [ - "src/core/ext/filters/http/client/http_client_filter.c", + "src/core/ext/filters/http/client/http_client_filter.cc", "src/core/ext/filters/http/client/http_client_filter.h", - "src/core/ext/filters/http/http_filters_plugin.c", - "src/core/ext/filters/http/message_compress/message_compress_filter.c", + "src/core/ext/filters/http/http_filters_plugin.cc", + "src/core/ext/filters/http/message_compress/message_compress_filter.cc", "src/core/ext/filters/http/message_compress/message_compress_filter.h", - "src/core/ext/filters/http/server/http_server_filter.c", + "src/core/ext/filters/http/server/http_server_filter.cc", "src/core/ext/filters/http/server/http_server_filter.h" ], "third_party": false, @@ -8571,17 +8569,17 @@ "language": "c", "name": "grpc_lb_policy_grpclb", "src": [ - "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h", - "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h", - "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h", - "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h", - "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h", - "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h" ], "third_party": false, @@ -8608,17 +8606,17 @@ "language": "c", "name": "grpc_lb_policy_grpclb_secure", "src": [ - "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h", - "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h", "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h", - "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c", - "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h", - "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h", - "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h" ], "third_party": false, @@ -8635,7 +8633,7 @@ "language": "c", "name": "grpc_lb_policy_pick_first", "src": [ - "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c" + "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc" ], "third_party": false, "type": "filegroup" @@ -8651,7 +8649,7 @@ "language": "c", "name": "grpc_lb_policy_round_robin", "src": [ - "src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c" + "src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc" ], "third_party": false, "type": "filegroup" @@ -8668,7 +8666,7 @@ "language": "c", "name": "grpc_max_age_filter", "src": [ - "src/core/ext/filters/max_age/max_age_filter.c", + "src/core/ext/filters/max_age/max_age_filter.cc", "src/core/ext/filters/max_age/max_age_filter.h" ], "third_party": false, @@ -8686,7 +8684,7 @@ "language": "c", "name": "grpc_message_size_filter", "src": [ - "src/core/ext/filters/message_size/message_size_filter.c", + "src/core/ext/filters/message_size/message_size_filter.cc", "src/core/ext/filters/message_size/message_size_filter.h" ], "third_party": false, @@ -8706,12 +8704,12 @@ "language": "c", "name": "grpc_resolver_dns_ares", "src": [ - "src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc", "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h", - "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c", - "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc", "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h", - "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c" + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc" ], "third_party": false, "type": "filegroup" @@ -8727,7 +8725,7 @@ "language": "c", "name": "grpc_resolver_dns_native", "src": [ - "src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c" + "src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc" ], "third_party": false, "type": "filegroup" @@ -8745,7 +8743,7 @@ "language": "c", "name": "grpc_resolver_fake", "src": [ - "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c", + "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc", "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h" ], "third_party": false, @@ -8762,7 +8760,7 @@ "language": "c", "name": "grpc_resolver_sockaddr", "src": [ - "src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c" + "src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc" ], "third_party": false, "type": "filegroup" @@ -8801,49 +8799,49 @@ "name": "grpc_secure", "src": [ "include/grpc/grpc_security.h", - "src/core/lib/http/httpcli_security_connector.c", - "src/core/lib/security/context/security_context.c", + "src/core/lib/http/httpcli_security_connector.cc", + "src/core/lib/security/context/security_context.cc", "src/core/lib/security/context/security_context.h", - "src/core/lib/security/credentials/composite/composite_credentials.c", + "src/core/lib/security/credentials/composite/composite_credentials.cc", "src/core/lib/security/credentials/composite/composite_credentials.h", - "src/core/lib/security/credentials/credentials.c", + "src/core/lib/security/credentials/credentials.cc", "src/core/lib/security/credentials/credentials.h", - "src/core/lib/security/credentials/credentials_metadata.c", - "src/core/lib/security/credentials/fake/fake_credentials.c", + "src/core/lib/security/credentials/credentials_metadata.cc", + "src/core/lib/security/credentials/fake/fake_credentials.cc", "src/core/lib/security/credentials/fake/fake_credentials.h", - "src/core/lib/security/credentials/google_default/credentials_generic.c", - "src/core/lib/security/credentials/google_default/google_default_credentials.c", + "src/core/lib/security/credentials/google_default/credentials_generic.cc", + "src/core/lib/security/credentials/google_default/google_default_credentials.cc", "src/core/lib/security/credentials/google_default/google_default_credentials.h", - "src/core/lib/security/credentials/iam/iam_credentials.c", + "src/core/lib/security/credentials/iam/iam_credentials.cc", "src/core/lib/security/credentials/iam/iam_credentials.h", - "src/core/lib/security/credentials/jwt/json_token.c", + "src/core/lib/security/credentials/jwt/json_token.cc", "src/core/lib/security/credentials/jwt/json_token.h", - "src/core/lib/security/credentials/jwt/jwt_credentials.c", + "src/core/lib/security/credentials/jwt/jwt_credentials.cc", "src/core/lib/security/credentials/jwt/jwt_credentials.h", - "src/core/lib/security/credentials/jwt/jwt_verifier.c", + "src/core/lib/security/credentials/jwt/jwt_verifier.cc", "src/core/lib/security/credentials/jwt/jwt_verifier.h", - "src/core/lib/security/credentials/oauth2/oauth2_credentials.c", + "src/core/lib/security/credentials/oauth2/oauth2_credentials.cc", "src/core/lib/security/credentials/oauth2/oauth2_credentials.h", - "src/core/lib/security/credentials/plugin/plugin_credentials.c", + "src/core/lib/security/credentials/plugin/plugin_credentials.cc", "src/core/lib/security/credentials/plugin/plugin_credentials.h", - "src/core/lib/security/credentials/ssl/ssl_credentials.c", + "src/core/lib/security/credentials/ssl/ssl_credentials.cc", "src/core/lib/security/credentials/ssl/ssl_credentials.h", "src/core/lib/security/transport/auth_filters.h", - "src/core/lib/security/transport/client_auth_filter.c", - "src/core/lib/security/transport/lb_targets_info.c", + "src/core/lib/security/transport/client_auth_filter.cc", + "src/core/lib/security/transport/lb_targets_info.cc", "src/core/lib/security/transport/lb_targets_info.h", - "src/core/lib/security/transport/secure_endpoint.c", + "src/core/lib/security/transport/secure_endpoint.cc", "src/core/lib/security/transport/secure_endpoint.h", - "src/core/lib/security/transport/security_connector.c", + "src/core/lib/security/transport/security_connector.cc", "src/core/lib/security/transport/security_connector.h", - "src/core/lib/security/transport/security_handshaker.c", + "src/core/lib/security/transport/security_handshaker.cc", "src/core/lib/security/transport/security_handshaker.h", - "src/core/lib/security/transport/server_auth_filter.c", - "src/core/lib/security/transport/tsi_error.c", + "src/core/lib/security/transport/server_auth_filter.cc", + "src/core/lib/security/transport/tsi_error.cc", "src/core/lib/security/transport/tsi_error.h", - "src/core/lib/security/util/json_util.c", + "src/core/lib/security/util/json_util.cc", "src/core/lib/security/util/json_util.h", - "src/core/lib/surface/init_secure.c" + "src/core/lib/surface/init_secure.cc" ], "third_party": false, "type": "filegroup" @@ -8860,7 +8858,7 @@ "language": "c", "name": "grpc_server_backward_compatibility", "src": [ - "src/core/ext/filters/workarounds/workaround_utils.c", + "src/core/ext/filters/workarounds/workaround_utils.cc", "src/core/ext/filters/workarounds/workaround_utils.h" ], "third_party": false, @@ -8879,9 +8877,9 @@ "language": "c", "name": "grpc_server_load_reporting", "src": [ - "src/core/ext/filters/load_reporting/server_load_reporting_filter.c", + "src/core/ext/filters/load_reporting/server_load_reporting_filter.cc", "src/core/ext/filters/load_reporting/server_load_reporting_filter.h", - "src/core/ext/filters/load_reporting/server_load_reporting_plugin.c", + "src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc", "src/core/ext/filters/load_reporting/server_load_reporting_plugin.h" ], "third_party": false, @@ -8916,35 +8914,35 @@ "language": "c", "name": "grpc_test_util_base", "src": [ - "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c", + "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc", "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h", - "test/core/end2end/cq_verifier.c", + "test/core/end2end/cq_verifier.cc", "test/core/end2end/cq_verifier.h", - "test/core/end2end/fixtures/http_proxy_fixture.c", + "test/core/end2end/fixtures/http_proxy_fixture.cc", "test/core/end2end/fixtures/http_proxy_fixture.h", - "test/core/end2end/fixtures/proxy.c", + "test/core/end2end/fixtures/proxy.cc", "test/core/end2end/fixtures/proxy.h", - "test/core/iomgr/endpoint_tests.c", + "test/core/iomgr/endpoint_tests.cc", "test/core/iomgr/endpoint_tests.h", - "test/core/util/debugger_macros.c", + "test/core/util/debugger_macros.cc", "test/core/util/debugger_macros.h", - "test/core/util/grpc_profiler.c", + "test/core/util/grpc_profiler.cc", "test/core/util/grpc_profiler.h", - "test/core/util/memory_counters.c", + "test/core/util/memory_counters.cc", "test/core/util/memory_counters.h", - "test/core/util/mock_endpoint.c", + "test/core/util/mock_endpoint.cc", "test/core/util/mock_endpoint.h", - "test/core/util/parse_hexstring.c", + "test/core/util/parse_hexstring.cc", "test/core/util/parse_hexstring.h", - "test/core/util/passthru_endpoint.c", + "test/core/util/passthru_endpoint.cc", "test/core/util/passthru_endpoint.h", - "test/core/util/port.c", + "test/core/util/port.cc", "test/core/util/port.h", - "test/core/util/port_server_client.c", + "test/core/util/port_server_client.cc", "test/core/util/port_server_client.h", - "test/core/util/slice_splitter.c", + "test/core/util/slice_splitter.cc", "test/core/util/slice_splitter.h", - "test/core/util/trickle_endpoint.c", + "test/core/util/trickle_endpoint.cc", "test/core/util/trickle_endpoint.h" ], "third_party": false, @@ -8960,7 +8958,7 @@ "language": "c", "name": "grpc_trace", "src": [ - "src/core/lib/debug/trace.c" + "src/core/lib/debug/trace.cc" ], "third_party": false, "type": "filegroup" @@ -9013,47 +9011,47 @@ "language": "c", "name": "grpc_transport_chttp2", "src": [ - "src/core/ext/transport/chttp2/transport/bin_decoder.c", + "src/core/ext/transport/chttp2/transport/bin_decoder.cc", "src/core/ext/transport/chttp2/transport/bin_decoder.h", - "src/core/ext/transport/chttp2/transport/bin_encoder.c", + "src/core/ext/transport/chttp2/transport/bin_encoder.cc", "src/core/ext/transport/chttp2/transport/bin_encoder.h", - "src/core/ext/transport/chttp2/transport/chttp2_plugin.c", - "src/core/ext/transport/chttp2/transport/chttp2_transport.c", + "src/core/ext/transport/chttp2/transport/chttp2_plugin.cc", + "src/core/ext/transport/chttp2/transport/chttp2_transport.cc", "src/core/ext/transport/chttp2/transport/chttp2_transport.h", - "src/core/ext/transport/chttp2/transport/flow_control.c", + "src/core/ext/transport/chttp2/transport/flow_control.cc", "src/core/ext/transport/chttp2/transport/frame.h", - "src/core/ext/transport/chttp2/transport/frame_data.c", + "src/core/ext/transport/chttp2/transport/frame_data.cc", "src/core/ext/transport/chttp2/transport/frame_data.h", - "src/core/ext/transport/chttp2/transport/frame_goaway.c", + "src/core/ext/transport/chttp2/transport/frame_goaway.cc", "src/core/ext/transport/chttp2/transport/frame_goaway.h", - "src/core/ext/transport/chttp2/transport/frame_ping.c", + "src/core/ext/transport/chttp2/transport/frame_ping.cc", "src/core/ext/transport/chttp2/transport/frame_ping.h", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.cc", "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", - "src/core/ext/transport/chttp2/transport/frame_settings.c", + "src/core/ext/transport/chttp2/transport/frame_settings.cc", "src/core/ext/transport/chttp2/transport/frame_settings.h", - "src/core/ext/transport/chttp2/transport/frame_window_update.c", + "src/core/ext/transport/chttp2/transport/frame_window_update.cc", "src/core/ext/transport/chttp2/transport/frame_window_update.h", - "src/core/ext/transport/chttp2/transport/hpack_encoder.c", + "src/core/ext/transport/chttp2/transport/hpack_encoder.cc", "src/core/ext/transport/chttp2/transport/hpack_encoder.h", - "src/core/ext/transport/chttp2/transport/hpack_parser.c", + "src/core/ext/transport/chttp2/transport/hpack_parser.cc", "src/core/ext/transport/chttp2/transport/hpack_parser.h", - "src/core/ext/transport/chttp2/transport/hpack_table.c", + "src/core/ext/transport/chttp2/transport/hpack_table.cc", "src/core/ext/transport/chttp2/transport/hpack_table.h", - "src/core/ext/transport/chttp2/transport/http2_settings.c", + "src/core/ext/transport/chttp2/transport/http2_settings.cc", "src/core/ext/transport/chttp2/transport/http2_settings.h", - "src/core/ext/transport/chttp2/transport/huffsyms.c", + "src/core/ext/transport/chttp2/transport/huffsyms.cc", "src/core/ext/transport/chttp2/transport/huffsyms.h", - "src/core/ext/transport/chttp2/transport/incoming_metadata.c", + "src/core/ext/transport/chttp2/transport/incoming_metadata.cc", "src/core/ext/transport/chttp2/transport/incoming_metadata.h", "src/core/ext/transport/chttp2/transport/internal.h", - "src/core/ext/transport/chttp2/transport/parsing.c", - "src/core/ext/transport/chttp2/transport/stream_lists.c", - "src/core/ext/transport/chttp2/transport/stream_map.c", + "src/core/ext/transport/chttp2/transport/parsing.cc", + "src/core/ext/transport/chttp2/transport/stream_lists.cc", + "src/core/ext/transport/chttp2/transport/stream_map.cc", "src/core/ext/transport/chttp2/transport/stream_map.h", - "src/core/ext/transport/chttp2/transport/varint.c", + "src/core/ext/transport/chttp2/transport/varint.cc", "src/core/ext/transport/chttp2/transport/varint.h", - "src/core/ext/transport/chttp2/transport/writing.c" + "src/core/ext/transport/chttp2/transport/writing.cc" ], "third_party": false, "type": "filegroup" @@ -9069,7 +9067,7 @@ "language": "c", "name": "grpc_transport_chttp2_alpn", "src": [ - "src/core/ext/transport/chttp2/alpn/alpn.c", + "src/core/ext/transport/chttp2/alpn/alpn.cc", "src/core/ext/transport/chttp2/alpn/alpn.h" ], "third_party": false, @@ -9089,7 +9087,7 @@ "language": "c", "name": "grpc_transport_chttp2_client_connector", "src": [ - "src/core/ext/transport/chttp2/client/chttp2_connector.c", + "src/core/ext/transport/chttp2/client/chttp2_connector.cc", "src/core/ext/transport/chttp2/client/chttp2_connector.h" ], "third_party": false, @@ -9108,8 +9106,8 @@ "language": "c", "name": "grpc_transport_chttp2_client_insecure", "src": [ - "src/core/ext/transport/chttp2/client/insecure/channel_create.c", - "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c" + "src/core/ext/transport/chttp2/client/insecure/channel_create.cc", + "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc" ], "third_party": false, "type": "filegroup" @@ -9128,7 +9126,7 @@ "language": "c", "name": "grpc_transport_chttp2_client_secure", "src": [ - "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c" + "src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc" ], "third_party": false, "type": "filegroup" @@ -9146,7 +9144,7 @@ "language": "c", "name": "grpc_transport_chttp2_server", "src": [ - "src/core/ext/transport/chttp2/server/chttp2_server.c", + "src/core/ext/transport/chttp2/server/chttp2_server.cc", "src/core/ext/transport/chttp2/server/chttp2_server.h" ], "third_party": false, @@ -9164,8 +9162,8 @@ "language": "c", "name": "grpc_transport_chttp2_server_insecure", "src": [ - "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", - "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c" + "src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc" ], "third_party": false, "type": "filegroup" @@ -9183,7 +9181,7 @@ "language": "c", "name": "grpc_transport_chttp2_server_secure", "src": [ - "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c" + "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc" ], "third_party": false, "type": "filegroup" @@ -9208,9 +9206,9 @@ "include/grpc/grpc_cronet.h", "include/grpc/grpc_security.h", "include/grpc/grpc_security_constants.h", - "src/core/ext/transport/cronet/client/secure/cronet_channel_create.c", - "src/core/ext/transport/cronet/transport/cronet_api_dummy.c", - "src/core/ext/transport/cronet/transport/cronet_transport.c", + "src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc", + "src/core/ext/transport/cronet/transport/cronet_api_dummy.cc", + "src/core/ext/transport/cronet/transport/cronet_transport.cc", "src/core/ext/transport/cronet/transport/cronet_transport.h" ], "third_party": false, @@ -9227,8 +9225,8 @@ "language": "c", "name": "grpc_transport_inproc", "src": [ - "src/core/ext/transport/inproc/inproc_plugin.c", - "src/core/ext/transport/inproc/inproc_transport.c" + "src/core/ext/transport/inproc/inproc_plugin.cc", + "src/core/ext/transport/inproc/inproc_transport.cc" ], "third_party": false, "type": "filegroup" @@ -9263,7 +9261,7 @@ "language": "c", "name": "grpc_workaround_cronet_compression_filter", "src": [ - "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c", + "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc", "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h" ], "third_party": false, @@ -9331,14 +9329,14 @@ "language": "c", "name": "tsi", "src": [ - "src/core/tsi/fake_transport_security.c", + "src/core/tsi/fake_transport_security.cc", "src/core/tsi/fake_transport_security.h", - "src/core/tsi/gts_transport_security.c", + "src/core/tsi/gts_transport_security.cc", "src/core/tsi/gts_transport_security.h", - "src/core/tsi/ssl_transport_security.c", + "src/core/tsi/ssl_transport_security.cc", "src/core/tsi/ssl_transport_security.h", "src/core/tsi/ssl_types.h", - "src/core/tsi/transport_security_grpc.c", + "src/core/tsi/transport_security_grpc.cc", "src/core/tsi/transport_security_grpc.h" ], "third_party": false, @@ -9358,9 +9356,9 @@ "language": "c", "name": "tsi_interface", "src": [ - "src/core/tsi/transport_security.c", + "src/core/tsi/transport_security.cc", "src/core/tsi/transport_security.h", - "src/core/tsi/transport_security_adapter.c", + "src/core/tsi/transport_security_adapter.cc", "src/core/tsi/transport_security_adapter.h", "src/core/tsi/transport_security_interface.h" ], From 90adcf5e989ddb66ea9f23227a17f842b8f53e28 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 21 Sep 2017 21:55:46 -0700 Subject: [PATCH 086/180] gen_static_metadata.py would generate .cc now. Also fixed asan build failures --- src/core/ext/transport/chttp2/transport/flow_control.cc | 4 ++-- tools/codegen/core/gen_static_metadata.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/flow_control.cc b/src/core/ext/transport/chttp2/transport/flow_control.cc index 569a6349d3d..037813340d3 100644 --- a/src/core/ext/transport/chttp2/transport/flow_control.cc +++ b/src/core/ext/transport/chttp2/transport/flow_control.cc @@ -86,7 +86,7 @@ static char* fmt_uint32_diff_str(uint32_t old_val, uint32_t new_val) { static void posttrace(shadow_flow_control* shadow_fc, grpc_chttp2_transport_flowctl* tfc, - grpc_chttp2_stream_flowctl* sfc, char* reason) { + grpc_chttp2_stream_flowctl* sfc, const char* reason) { uint32_t acked_local_window = tfc->t->settings[GRPC_SENT_SETTINGS] [GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE]; @@ -128,7 +128,7 @@ static void posttrace(shadow_flow_control* shadow_fc, gpr_free(saw_str); } -static char* urgency_to_string(grpc_chttp2_flowctl_urgency urgency) { +static const char* urgency_to_string(grpc_chttp2_flowctl_urgency urgency) { switch (urgency) { case GRPC_CHTTP2_FLOWCTL_NO_ACTION_NEEDED: return "no action"; diff --git a/tools/codegen/core/gen_static_metadata.py b/tools/codegen/core/gen_static_metadata.py index af7521da363..0833204e19f 100755 --- a/tools/codegen/core/gen_static_metadata.py +++ b/tools/codegen/core/gen_static_metadata.py @@ -304,7 +304,7 @@ else: C = open( os.path.join( os.path.dirname(sys.argv[0]), - '../../../src/core/lib/transport/static_metadata.c'), 'w') + '../../../src/core/lib/transport/static_metadata.cc'), 'w') D = open( os.path.join( os.path.dirname(sys.argv[0]), From 19f0a909ac8d75fda477b4053cae1dd3a9f6c3d2 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 22 Sep 2017 09:56:18 -0700 Subject: [PATCH 087/180] pointer conversion for libuv build. gen_stats_data.py to generate .cc --- src/core/lib/iomgr/pollset_uv.cc | 2 +- tools/codegen/core/gen_stats_data.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/lib/iomgr/pollset_uv.cc b/src/core/lib/iomgr/pollset_uv.cc index 2651325e257..7ea5019ad55 100644 --- a/src/core/lib/iomgr/pollset_uv.cc +++ b/src/core/lib/iomgr/pollset_uv.cc @@ -65,7 +65,7 @@ void dummy_handle_close_cb(uv_handle_t *handle) { gpr_free(handle); } void grpc_pollset_global_init(void) { gpr_mu_init(&grpc_polling_mu); - dummy_uv_handle = gpr_malloc(sizeof(uv_timer_t)); + dummy_uv_handle = (uv_timer_t *)gpr_malloc(sizeof(uv_timer_t)); uv_timer_init(uv_default_loop(), dummy_uv_handle); grpc_pollset_work_run_loop = 1; } diff --git a/tools/codegen/core/gen_stats_data.py b/tools/codegen/core/gen_stats_data.py index 8359734c848..2717fa836da 100755 --- a/tools/codegen/core/gen_stats_data.py +++ b/tools/codegen/core/gen_stats_data.py @@ -255,7 +255,7 @@ with open('src/core/lib/debug/stats_data.h', 'w') as H: print >>H print >>H, "#endif /* GRPC_CORE_LIB_DEBUG_STATS_DATA_H */" -with open('src/core/lib/debug/stats_data.c', 'w') as C: +with open('src/core/lib/debug/stats_data.cc', 'w') as C: # copy-paste copyright notice from this file with open(sys.argv[0]) as my_source: copyright = [] From 4a91bf47d074a54d4405ba48d8799d458883ee82 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 22 Sep 2017 12:05:25 -0700 Subject: [PATCH 088/180] Fixing build.yaml. More pointer conversions and changes required by other builds --- build.yaml | 28 ++++++++++++++-------------- src/core/lib/support/env_windows.cc | 2 +- src/core/lib/support/log_posix.cc | 2 +- src/core/lib/surface/call.cc | 9 ++++++--- 4 files changed, 22 insertions(+), 19 deletions(-) diff --git a/build.yaml b/build.yaml index 4fc7a85712a..8d610bae74e 100644 --- a/build.yaml +++ b/build.yaml @@ -735,20 +735,20 @@ filegroups: - test/core/util/trickle_endpoint.h src: - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc - - test/core/end2end/cq_verifier.cc - - test/core/end2end/fixtures/http_proxy_fixture.cc - - test/core/end2end/fixtures/proxy.cc - - test/core/iomgr/endpoint_tests.cc - - test/core/util/debugger_macros.cc - - test/core/util/grpc_profiler.cc - - test/core/util/memory_counters.cc - - test/core/util/mock_endpoint.cc - - test/core/util/parse_hexstring.cc - - test/core/util/passthru_endpoint.cc - - test/core/util/port.cc - - test/core/util/port_server_client.cc - - test/core/util/slice_splitter.cc - - test/core/util/trickle_endpoint.cc + - test/core/end2end/cq_verifier.c + - test/core/end2end/fixtures/http_proxy_fixture.c + - test/core/end2end/fixtures/proxy.c + - test/core/iomgr/endpoint_tests.c + - test/core/util/debugger_macros.c + - test/core/util/grpc_profiler.c + - test/core/util/memory_counters.c + - test/core/util/mock_endpoint.c + - test/core/util/parse_hexstring.c + - test/core/util/passthru_endpoint.c + - test/core/util/port.c + - test/core/util/port_server_client.c + - test/core/util/slice_splitter.c + - test/core/util/trickle_endpoint.c deps: - gpr_test_util - gpr diff --git a/src/core/lib/support/env_windows.cc b/src/core/lib/support/env_windows.cc index 652eeb61c67..73c643c5600 100644 --- a/src/core/lib/support/env_windows.cc +++ b/src/core/lib/support/env_windows.cc @@ -45,7 +45,7 @@ char *gpr_getenv(const char *name) { ret = GetEnvironmentVariable(tname, NULL, 0); if (ret == 0) return NULL; size = ret * (DWORD)sizeof(TCHAR); - tresult = gpr_malloc(size); + tresult = (LPTSTR)gpr_malloc(size); ret = GetEnvironmentVariable(tname, tresult, size); gpr_free(tname); if (ret == 0) { diff --git a/src/core/lib/support/log_posix.cc b/src/core/lib/support/log_posix.cc index 855e8e7107f..38a136e646f 100644 --- a/src/core/lib/support/log_posix.cc +++ b/src/core/lib/support/log_posix.cc @@ -48,7 +48,7 @@ void gpr_log(const char *file, int line, gpr_log_severity severity, } else if ((size_t)ret <= sizeof(buf) - 1) { message = buf; } else { - message = allocated = gpr_malloc((size_t)ret + 1); + message = allocated = (char *)gpr_malloc((size_t)ret + 1); va_start(args, format); vsnprintf(message, (size_t)(ret + 1), format, args); va_end(args); diff --git a/src/core/lib/surface/call.cc b/src/core/lib/surface/call.cc index 74e55d57416..173e800f0da 100644 --- a/src/core/lib/surface/call.cc +++ b/src/core/lib/surface/call.cc @@ -95,9 +95,12 @@ static gpr_atm pack_received_status(received_status r) { static received_status unpack_received_status(gpr_atm atm) { return (atm & 1) == 0 - ? (received_status){.is_set = false, .error = GRPC_ERROR_NONE} - : (received_status){.is_set = true, - .error = (grpc_error *)(atm & ~(gpr_atm)1)}; + ? (received_status){false, /* is_set */ + GRPC_ERROR_NONE /*error */ + } + : (received_status){true, /* is_set */ + (grpc_error *)(atm & ~(gpr_atm)1) /* error */ + }; } #define MAX_ERRORS_PER_BATCH 4 From 4bf670793b0001027cb3d7b4416ca4d5d177f8c6 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 22 Sep 2017 12:44:16 -0700 Subject: [PATCH 089/180] Running generate_projects.sh and solving some uv build errors --- CMakeLists.txt | 56 +++++++++---------- Makefile | 56 +++++++++---------- grpc.gyp | 56 +++++++++---------- src/core/lib/iomgr/resolve_address_uv.cc | 25 +++++---- .../generated/sources_and_headers.json | 28 +++++----- 5 files changed, 113 insertions(+), 108 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bbd8647e25a..04754454472 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1607,20 +1607,20 @@ add_library(grpc_test_util test/core/end2end/data/test_root_cert.c test/core/security/oauth2_utils.c src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc - test/core/end2end/cq_verifier.cc - test/core/end2end/fixtures/http_proxy_fixture.cc - test/core/end2end/fixtures/proxy.cc - test/core/iomgr/endpoint_tests.cc - test/core/util/debugger_macros.cc - test/core/util/grpc_profiler.cc - test/core/util/memory_counters.cc - test/core/util/mock_endpoint.cc - test/core/util/parse_hexstring.cc - test/core/util/passthru_endpoint.cc - test/core/util/port.cc - test/core/util/port_server_client.cc - test/core/util/slice_splitter.cc - test/core/util/trickle_endpoint.cc + test/core/end2end/cq_verifier.c + test/core/end2end/fixtures/http_proxy_fixture.c + test/core/end2end/fixtures/proxy.c + test/core/iomgr/endpoint_tests.c + test/core/util/debugger_macros.c + test/core/util/grpc_profiler.c + test/core/util/memory_counters.c + test/core/util/mock_endpoint.c + test/core/util/parse_hexstring.c + test/core/util/passthru_endpoint.c + test/core/util/port.c + test/core/util/port_server_client.c + test/core/util/slice_splitter.c + test/core/util/trickle_endpoint.c src/core/lib/channel/channel_args.cc src/core/lib/channel/channel_stack.cc src/core/lib/channel/channel_stack_builder.cc @@ -1868,20 +1868,20 @@ if (gRPC_BUILD_TESTS) add_library(grpc_test_util_unsecure src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc - test/core/end2end/cq_verifier.cc - test/core/end2end/fixtures/http_proxy_fixture.cc - test/core/end2end/fixtures/proxy.cc - test/core/iomgr/endpoint_tests.cc - test/core/util/debugger_macros.cc - test/core/util/grpc_profiler.cc - test/core/util/memory_counters.cc - test/core/util/mock_endpoint.cc - test/core/util/parse_hexstring.cc - test/core/util/passthru_endpoint.cc - test/core/util/port.cc - test/core/util/port_server_client.cc - test/core/util/slice_splitter.cc - test/core/util/trickle_endpoint.cc + test/core/end2end/cq_verifier.c + test/core/end2end/fixtures/http_proxy_fixture.c + test/core/end2end/fixtures/proxy.c + test/core/iomgr/endpoint_tests.c + test/core/util/debugger_macros.c + test/core/util/grpc_profiler.c + test/core/util/memory_counters.c + test/core/util/mock_endpoint.c + test/core/util/parse_hexstring.c + test/core/util/passthru_endpoint.c + test/core/util/port.c + test/core/util/port_server_client.c + test/core/util/slice_splitter.c + test/core/util/trickle_endpoint.c src/core/lib/channel/channel_args.cc src/core/lib/channel/channel_stack.cc src/core/lib/channel/channel_stack_builder.cc diff --git a/Makefile b/Makefile index d846e9a43d5..b15570d4c3e 100644 --- a/Makefile +++ b/Makefile @@ -3597,20 +3597,20 @@ LIBGRPC_TEST_UTIL_SRC = \ test/core/end2end/data/test_root_cert.c \ test/core/security/oauth2_utils.c \ src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc \ - test/core/end2end/cq_verifier.cc \ - test/core/end2end/fixtures/http_proxy_fixture.cc \ - test/core/end2end/fixtures/proxy.cc \ - test/core/iomgr/endpoint_tests.cc \ - test/core/util/debugger_macros.cc \ - test/core/util/grpc_profiler.cc \ - test/core/util/memory_counters.cc \ - test/core/util/mock_endpoint.cc \ - test/core/util/parse_hexstring.cc \ - test/core/util/passthru_endpoint.cc \ - test/core/util/port.cc \ - test/core/util/port_server_client.cc \ - test/core/util/slice_splitter.cc \ - test/core/util/trickle_endpoint.cc \ + test/core/end2end/cq_verifier.c \ + test/core/end2end/fixtures/http_proxy_fixture.c \ + test/core/end2end/fixtures/proxy.c \ + test/core/iomgr/endpoint_tests.c \ + test/core/util/debugger_macros.c \ + test/core/util/grpc_profiler.c \ + test/core/util/memory_counters.c \ + test/core/util/mock_endpoint.c \ + test/core/util/parse_hexstring.c \ + test/core/util/passthru_endpoint.c \ + test/core/util/port.c \ + test/core/util/port_server_client.c \ + test/core/util/slice_splitter.c \ + test/core/util/trickle_endpoint.c \ src/core/lib/channel/channel_args.cc \ src/core/lib/channel/channel_stack.cc \ src/core/lib/channel/channel_stack_builder.cc \ @@ -3849,20 +3849,20 @@ endif LIBGRPC_TEST_UTIL_UNSECURE_SRC = \ src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc \ - test/core/end2end/cq_verifier.cc \ - test/core/end2end/fixtures/http_proxy_fixture.cc \ - test/core/end2end/fixtures/proxy.cc \ - test/core/iomgr/endpoint_tests.cc \ - test/core/util/debugger_macros.cc \ - test/core/util/grpc_profiler.cc \ - test/core/util/memory_counters.cc \ - test/core/util/mock_endpoint.cc \ - test/core/util/parse_hexstring.cc \ - test/core/util/passthru_endpoint.cc \ - test/core/util/port.cc \ - test/core/util/port_server_client.cc \ - test/core/util/slice_splitter.cc \ - test/core/util/trickle_endpoint.cc \ + test/core/end2end/cq_verifier.c \ + test/core/end2end/fixtures/http_proxy_fixture.c \ + test/core/end2end/fixtures/proxy.c \ + test/core/iomgr/endpoint_tests.c \ + test/core/util/debugger_macros.c \ + test/core/util/grpc_profiler.c \ + test/core/util/memory_counters.c \ + test/core/util/mock_endpoint.c \ + test/core/util/parse_hexstring.c \ + test/core/util/passthru_endpoint.c \ + test/core/util/port.c \ + test/core/util/port_server_client.c \ + test/core/util/slice_splitter.c \ + test/core/util/trickle_endpoint.c \ src/core/lib/channel/channel_args.cc \ src/core/lib/channel/channel_stack.cc \ src/core/lib/channel/channel_stack_builder.cc \ diff --git a/grpc.gyp b/grpc.gyp index 468fcde9a16..264a1f424ab 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -508,20 +508,20 @@ 'test/core/end2end/data/test_root_cert.c', 'test/core/security/oauth2_utils.c', 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc', - 'test/core/end2end/cq_verifier.cc', - 'test/core/end2end/fixtures/http_proxy_fixture.cc', - 'test/core/end2end/fixtures/proxy.cc', - 'test/core/iomgr/endpoint_tests.cc', - 'test/core/util/debugger_macros.cc', - 'test/core/util/grpc_profiler.cc', - 'test/core/util/memory_counters.cc', - 'test/core/util/mock_endpoint.cc', - 'test/core/util/parse_hexstring.cc', - 'test/core/util/passthru_endpoint.cc', - 'test/core/util/port.cc', - 'test/core/util/port_server_client.cc', - 'test/core/util/slice_splitter.cc', - 'test/core/util/trickle_endpoint.cc', + 'test/core/end2end/cq_verifier.c', + 'test/core/end2end/fixtures/http_proxy_fixture.c', + 'test/core/end2end/fixtures/proxy.c', + 'test/core/iomgr/endpoint_tests.c', + 'test/core/util/debugger_macros.c', + 'test/core/util/grpc_profiler.c', + 'test/core/util/memory_counters.c', + 'test/core/util/mock_endpoint.c', + 'test/core/util/parse_hexstring.c', + 'test/core/util/passthru_endpoint.c', + 'test/core/util/port.c', + 'test/core/util/port_server_client.c', + 'test/core/util/slice_splitter.c', + 'test/core/util/trickle_endpoint.c', 'src/core/lib/channel/channel_args.cc', 'src/core/lib/channel/channel_stack.cc', 'src/core/lib/channel/channel_stack_builder.cc', @@ -712,20 +712,20 @@ ], 'sources': [ 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc', - 'test/core/end2end/cq_verifier.cc', - 'test/core/end2end/fixtures/http_proxy_fixture.cc', - 'test/core/end2end/fixtures/proxy.cc', - 'test/core/iomgr/endpoint_tests.cc', - 'test/core/util/debugger_macros.cc', - 'test/core/util/grpc_profiler.cc', - 'test/core/util/memory_counters.cc', - 'test/core/util/mock_endpoint.cc', - 'test/core/util/parse_hexstring.cc', - 'test/core/util/passthru_endpoint.cc', - 'test/core/util/port.cc', - 'test/core/util/port_server_client.cc', - 'test/core/util/slice_splitter.cc', - 'test/core/util/trickle_endpoint.cc', + 'test/core/end2end/cq_verifier.c', + 'test/core/end2end/fixtures/http_proxy_fixture.c', + 'test/core/end2end/fixtures/proxy.c', + 'test/core/iomgr/endpoint_tests.c', + 'test/core/util/debugger_macros.c', + 'test/core/util/grpc_profiler.c', + 'test/core/util/memory_counters.c', + 'test/core/util/mock_endpoint.c', + 'test/core/util/parse_hexstring.c', + 'test/core/util/passthru_endpoint.c', + 'test/core/util/port.c', + 'test/core/util/port_server_client.c', + 'test/core/util/slice_splitter.c', + 'test/core/util/trickle_endpoint.c', 'src/core/lib/channel/channel_args.cc', 'src/core/lib/channel/channel_stack.cc', 'src/core/lib/channel/channel_stack_builder.cc', diff --git a/src/core/lib/iomgr/resolve_address_uv.cc b/src/core/lib/iomgr/resolve_address_uv.cc index 2d438e8b486..4f7f234877d 100644 --- a/src/core/lib/iomgr/resolve_address_uv.cc +++ b/src/core/lib/iomgr/resolve_address_uv.cc @@ -49,11 +49,12 @@ static int retry_named_port_failure(int status, request *r, uv_getaddrinfo_cb getaddrinfo_cb) { if (status != 0) { // This loop is copied from resolve_address_posix.c - char *svc[][2] = {{"http", "80"}, {"https", "443"}}; + const char *svc[][2] = {{"http", "80"}, {"https", "443"}}; for (size_t i = 0; i < GPR_ARRAY_SIZE(svc); i++) { if (strcmp(r->port, svc[i][0]) == 0) { int retry_status; - uv_getaddrinfo_t *req = gpr_malloc(sizeof(uv_getaddrinfo_t)); + uv_getaddrinfo_t *req = + (uv_getaddrinfo_t *)gpr_malloc(sizeof(uv_getaddrinfo_t)); req->data = r; r->port = gpr_strdup(svc[i][1]); retry_status = uv_getaddrinfo(uv_default_loop(), req, getaddrinfo_cb, @@ -85,13 +86,14 @@ static grpc_error *handle_addrinfo_result(int status, struct addrinfo *result, grpc_slice_from_static_string(uv_strerror(status))); return error; } - (*addresses) = gpr_malloc(sizeof(grpc_resolved_addresses)); + (*addresses) = + (grpc_resolved_addresses *)gpr_malloc(sizeof(grpc_resolved_addresses)); (*addresses)->naddrs = 0; for (resp = result; resp != NULL; resp = resp->ai_next) { (*addresses)->naddrs++; } - (*addresses)->addrs = - gpr_malloc(sizeof(grpc_resolved_address) * (*addresses)->naddrs); + (*addresses)->addrs = (grpc_resolved_address *)gpr_malloc( + sizeof(grpc_resolved_address) * (*addresses)->naddrs); i = 0; for (resp = result; resp != NULL; resp = resp->ai_next) { memcpy(&(*addresses)->addrs[i].addr, resp->ai_addr, resp->ai_addrlen); @@ -174,6 +176,7 @@ static grpc_error *blocking_resolve_address_impl( int s; grpc_error *err; int retry_status; + request r; GRPC_UV_ASSERT_SAME_THREAD(); @@ -191,8 +194,10 @@ static grpc_error *blocking_resolve_address_impl( hints.ai_flags = AI_PASSIVE; /* for wildcard IP address */ s = uv_getaddrinfo(uv_default_loop(), &req, NULL, host, port, &hints); - request r = { - .addresses = addresses, .hints = &hints, .host = host, .port = port}; + r.addresses = addresses; + r.hints = &hints; + r.host = host; + r.port = port; retry_status = retry_named_port_failure(s, &r, NULL); if (retry_status <= 0) { s = retry_status; @@ -239,16 +244,16 @@ static void resolve_address_impl(grpc_exec_ctx *exec_ctx, const char *name, gpr_free(port); return; } - r = gpr_malloc(sizeof(request)); + r = (request *)gpr_malloc(sizeof(request)); r->on_done = on_done; r->addresses = addrs; r->host = host; r->port = port; - req = gpr_malloc(sizeof(uv_getaddrinfo_t)); + req = (uv_getaddrinfo_t *)gpr_malloc(sizeof(uv_getaddrinfo_t)); req->data = r; /* Call getaddrinfo */ - hints = gpr_malloc(sizeof(struct addrinfo)); + hints = (addrinfo *)gpr_malloc(sizeof(struct addrinfo)); memset(hints, 0, sizeof(struct addrinfo)); hints->ai_family = AF_UNSPEC; /* ipv4 or ipv6 */ hints->ai_socktype = SOCK_STREAM; /* stream socket */ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index 906458adac6..f9cb67917cb 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -8916,33 +8916,33 @@ "src": [ "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc", "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h", - "test/core/end2end/cq_verifier.cc", + "test/core/end2end/cq_verifier.c", "test/core/end2end/cq_verifier.h", - "test/core/end2end/fixtures/http_proxy_fixture.cc", + "test/core/end2end/fixtures/http_proxy_fixture.c", "test/core/end2end/fixtures/http_proxy_fixture.h", - "test/core/end2end/fixtures/proxy.cc", + "test/core/end2end/fixtures/proxy.c", "test/core/end2end/fixtures/proxy.h", - "test/core/iomgr/endpoint_tests.cc", + "test/core/iomgr/endpoint_tests.c", "test/core/iomgr/endpoint_tests.h", - "test/core/util/debugger_macros.cc", + "test/core/util/debugger_macros.c", "test/core/util/debugger_macros.h", - "test/core/util/grpc_profiler.cc", + "test/core/util/grpc_profiler.c", "test/core/util/grpc_profiler.h", - "test/core/util/memory_counters.cc", + "test/core/util/memory_counters.c", "test/core/util/memory_counters.h", - "test/core/util/mock_endpoint.cc", + "test/core/util/mock_endpoint.c", "test/core/util/mock_endpoint.h", - "test/core/util/parse_hexstring.cc", + "test/core/util/parse_hexstring.c", "test/core/util/parse_hexstring.h", - "test/core/util/passthru_endpoint.cc", + "test/core/util/passthru_endpoint.c", "test/core/util/passthru_endpoint.h", - "test/core/util/port.cc", + "test/core/util/port.c", "test/core/util/port.h", - "test/core/util/port_server_client.cc", + "test/core/util/port_server_client.c", "test/core/util/port_server_client.h", - "test/core/util/slice_splitter.cc", + "test/core/util/slice_splitter.c", "test/core/util/slice_splitter.h", - "test/core/util/trickle_endpoint.cc", + "test/core/util/trickle_endpoint.c", "test/core/util/trickle_endpoint.h" ], "third_party": false, From 662d32444e7cad07d2026ddcbe5c659a6fa1a3bd Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 22 Sep 2017 13:39:26 -0700 Subject: [PATCH 090/180] Removing more build errors --- src/core/lib/iomgr/tcp_client_uv.cc | 10 +++++----- src/core/lib/support/thd_windows.cc | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/core/lib/iomgr/tcp_client_uv.cc b/src/core/lib/iomgr/tcp_client_uv.cc index 786c456b735..b1a301e3782 100644 --- a/src/core/lib/iomgr/tcp_client_uv.cc +++ b/src/core/lib/iomgr/tcp_client_uv.cc @@ -58,7 +58,7 @@ static void tcp_close_callback(uv_handle_t *handle) { gpr_free(handle); } static void uv_tc_on_alarm(grpc_exec_ctx *exec_ctx, void *acp, grpc_error *error) { int done; - grpc_uv_tcp_connect *connect = acp; + grpc_uv_tcp_connect *connect = (grpc_uv_tcp_connect *)acp; if (GRPC_TRACER_ON(grpc_tcp_trace)) { const char *str = grpc_error_string(error); gpr_log(GPR_DEBUG, "CLIENT_CONNECT: %s: on_alarm: error=%s", @@ -77,7 +77,7 @@ static void uv_tc_on_alarm(grpc_exec_ctx *exec_ctx, void *acp, } static void uv_tc_on_connect(uv_connect_t *req, int status) { - grpc_uv_tcp_connect *connect = req->data; + grpc_uv_tcp_connect *connect = (grpc_uv_tcp_connect *)req->data; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_error *error = GRPC_ERROR_NONE; int done; @@ -131,16 +131,16 @@ static void tcp_client_connect_impl(grpc_exec_ctx *exec_ctx, for (size_t i = 0; i < channel_args->num_args; i++) { if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_RESOURCE_QUOTA)) { grpc_resource_quota_unref_internal(exec_ctx, resource_quota); - resource_quota = grpc_resource_quota_ref_internal( + resource_quota = grpc_resource_quota_ref_internal((grpc_resource_quota *) channel_args->args[i].value.pointer.p); } } } - connect = gpr_zalloc(sizeof(grpc_uv_tcp_connect)); + connect = (grpc_uv_tcp_connect*)gpr_zalloc(sizeof(grpc_uv_tcp_connect)); connect->closure = closure; connect->endpoint = ep; - connect->tcp_handle = gpr_malloc(sizeof(uv_tcp_t)); + connect->tcp_handle = (uv_tcp_t*)gpr_malloc(sizeof(uv_tcp_t)); connect->addr_name = grpc_sockaddr_to_uri(resolved_addr); connect->resource_quota = resource_quota; uv_tcp_init(uv_default_loop(), connect->tcp_handle); diff --git a/src/core/lib/support/thd_windows.cc b/src/core/lib/support/thd_windows.cc index 54533e9412b..1a82805dd9f 100644 --- a/src/core/lib/support/thd_windows.cc +++ b/src/core/lib/support/thd_windows.cc @@ -66,7 +66,7 @@ static DWORD WINAPI thread_body(void *v) { int gpr_thd_new(gpr_thd_id *t, void (*thd_body)(void *arg), void *arg, const gpr_thd_options *options) { HANDLE handle; - struct thd_info *info = gpr_malloc(sizeof(*info)); + struct thd_info *info = (struct thd_info *)gpr_malloc(sizeof(*info)); info->body = thd_body; info->arg = arg; *t = 0; From e2ae17221ea10065297b32911ac3166a95c4338e Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 22 Sep 2017 15:27:14 -0700 Subject: [PATCH 091/180] Some more extern C --- src/core/ext/census/grpc_filter.h | 8 ++++++++ .../lb_policy/grpclb/client_load_reporting_filter.h | 8 ++++++++ src/core/ext/filters/http/client/http_client_filter.h | 8 ++++++++ .../http/message_compress/message_compress_filter.h | 8 ++++++++ src/core/ext/filters/http/server/http_server_filter.h | 8 ++++++++ .../load_reporting/server_load_reporting_filter.h | 8 ++++++++ src/core/ext/filters/max_age/max_age_filter.h | 8 ++++++++ src/core/ext/filters/message_size/message_size_filter.h | 8 ++++++++ .../workarounds/workaround_cronet_compression_filter.h | 8 ++++++++ src/core/ext/transport/chttp2/client/chttp2_connector.h | 8 ++++++++ src/core/ext/transport/chttp2/transport/huffsyms.h | 8 ++++++++ src/core/lib/iomgr/gethostname.h | 9 +++++++++ src/core/lib/iomgr/gethostname_fallback.cc | 1 + src/core/lib/iomgr/gethostname_host_name_max.cc | 1 + src/core/lib/iomgr/gethostname_sysconf.cc | 1 + 15 files changed, 100 insertions(+) diff --git a/src/core/ext/census/grpc_filter.h b/src/core/ext/census/grpc_filter.h index baa7bb931a9..79403630618 100644 --- a/src/core/ext/census/grpc_filter.h +++ b/src/core/ext/census/grpc_filter.h @@ -21,9 +21,17 @@ #include "src/core/lib/channel/channel_stack.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Census filters: provides tracing and stats collection functionalities. It needs to reside right below the surface filter in the channel stack. */ extern const grpc_channel_filter grpc_client_census_filter; extern const grpc_channel_filter grpc_server_census_filter; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_CENSUS_GRPC_FILTER_H */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h index 51e30b20b81..c6a0d69c3f2 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h @@ -21,7 +21,15 @@ #include "src/core/lib/channel/channel_stack.h" +#ifdef __cplusplus +extern "C" { +#endif + extern const grpc_channel_filter grpc_client_load_reporting_filter; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_CLIENT_LOAD_REPORTING_FILTER_H \ */ diff --git a/src/core/ext/filters/http/client/http_client_filter.h b/src/core/ext/filters/http/client/http_client_filter.h index ec8177c4367..9ed8e769150 100644 --- a/src/core/ext/filters/http/client/http_client_filter.h +++ b/src/core/ext/filters/http/client/http_client_filter.h @@ -20,10 +20,18 @@ #include "src/core/lib/channel/channel_stack.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Processes metadata on the client side for HTTP2 transports */ extern const grpc_channel_filter grpc_http_client_filter; /* Channel arg to determine maximum size of payload eligable for GET request */ #define GRPC_ARG_MAX_PAYLOAD_SIZE_FOR_GET "grpc.max_payload_size_for_get" +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_HTTP_CLIENT_HTTP_CLIENT_FILTER_H */ diff --git a/src/core/ext/filters/http/message_compress/message_compress_filter.h b/src/core/ext/filters/http/message_compress/message_compress_filter.h index c121a391eb1..92771d98582 100644 --- a/src/core/ext/filters/http/message_compress/message_compress_filter.h +++ b/src/core/ext/filters/http/message_compress/message_compress_filter.h @@ -23,6 +23,10 @@ #include "src/core/lib/channel/channel_stack.h" +#ifdef __cplusplus +extern "C" { +#endif + /** Compression filter for outgoing data. * * See for the available compression settings. @@ -47,5 +51,9 @@ extern const grpc_channel_filter grpc_message_compress_filter; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_HTTP_MESSAGE_COMPRESS_MESSAGE_COMPRESS_FILTER_H \ */ diff --git a/src/core/ext/filters/http/server/http_server_filter.h b/src/core/ext/filters/http/server/http_server_filter.h index c0f678a3299..4b38cc5bf76 100644 --- a/src/core/ext/filters/http/server/http_server_filter.h +++ b/src/core/ext/filters/http/server/http_server_filter.h @@ -21,7 +21,15 @@ #include "src/core/lib/channel/channel_stack.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Processes metadata on the client side for HTTP2 transports */ extern const grpc_channel_filter grpc_http_server_filter; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_HTTP_SERVER_HTTP_SERVER_FILTER_H */ diff --git a/src/core/ext/filters/load_reporting/server_load_reporting_filter.h b/src/core/ext/filters/load_reporting/server_load_reporting_filter.h index 9527868c9f6..94d19cc2495 100644 --- a/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +++ b/src/core/ext/filters/load_reporting/server_load_reporting_filter.h @@ -22,7 +22,15 @@ #include "src/core/ext/filters/load_reporting/server_load_reporting_plugin.h" #include "src/core/lib/channel/channel_stack.h" +#ifdef __cplusplus +extern "C" { +#endif + extern const grpc_channel_filter grpc_server_load_reporting_filter; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_LOAD_REPORTING_SERVER_LOAD_REPORTING_FILTER_H \ */ diff --git a/src/core/ext/filters/max_age/max_age_filter.h b/src/core/ext/filters/max_age/max_age_filter.h index 68fb4a4ca57..eeeefd695e2 100644 --- a/src/core/ext/filters/max_age/max_age_filter.h +++ b/src/core/ext/filters/max_age/max_age_filter.h @@ -19,6 +19,14 @@ #include "src/core/lib/channel/channel_stack.h" +#ifdef __cplusplus +extern "C" { +#endif + extern const grpc_channel_filter grpc_max_age_filter; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_MAX_AGE_MAX_AGE_FILTER_H */ diff --git a/src/core/ext/filters/message_size/message_size_filter.h b/src/core/ext/filters/message_size/message_size_filter.h index d3667f70037..da325d6f890 100644 --- a/src/core/ext/filters/message_size/message_size_filter.h +++ b/src/core/ext/filters/message_size/message_size_filter.h @@ -19,6 +19,14 @@ #include "src/core/lib/channel/channel_stack.h" +#ifdef __cplusplus +extern "C" { +#endif + extern const grpc_channel_filter grpc_message_size_filter; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_MESSAGE_SIZE_MESSAGE_SIZE_FILTER_H */ diff --git a/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h b/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h index 9dae4f07342..c8b07df63ec 100644 --- a/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +++ b/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h @@ -19,7 +19,15 @@ #include "src/core/lib/channel/channel_stack.h" +#ifdef __cplusplus +extern "C" { +#endif + extern const grpc_channel_filter grpc_workaround_cronet_compression_filter; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_FILTERS_WORKAROUNDS_WORKAROUND_CRONET_COMPRESSION_FILTER_H \ */ diff --git a/src/core/ext/transport/chttp2/client/chttp2_connector.h b/src/core/ext/transport/chttp2/client/chttp2_connector.h index e258892cfc7..63f264e0efa 100644 --- a/src/core/ext/transport/chttp2/client/chttp2_connector.h +++ b/src/core/ext/transport/chttp2/client/chttp2_connector.h @@ -19,8 +19,16 @@ #ifndef GRPC_CORE_EXT_TRANSPORT_CHTTP2_CLIENT_CHTTP2_CONNECTOR_H #define GRPC_CORE_EXT_TRANSPORT_CHTTP2_CLIENT_CHTTP2_CONNECTOR_H +#ifdef __cplusplus +extern "C" { +#endif + #include "src/core/ext/filters/client_channel/connector.h" grpc_connector* grpc_chttp2_connector_create(); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_CLIENT_CHTTP2_CONNECTOR_H */ diff --git a/src/core/ext/transport/chttp2/transport/huffsyms.h b/src/core/ext/transport/chttp2/transport/huffsyms.h index 2e2a5dacaed..4002706bc0f 100644 --- a/src/core/ext/transport/chttp2/transport/huffsyms.h +++ b/src/core/ext/transport/chttp2/transport/huffsyms.h @@ -19,6 +19,10 @@ #ifndef GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HUFFSYMS_H #define GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HUFFSYMS_H +#ifdef __cplusplus +extern "C" { +#endif + /* HPACK static huffman table */ #define GRPC_CHTTP2_NUM_HUFFSYMS 257 @@ -30,4 +34,8 @@ typedef struct { extern const grpc_chttp2_huffsym grpc_chttp2_huffsyms[GRPC_CHTTP2_NUM_HUFFSYMS]; +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HUFFSYMS_H */ diff --git a/src/core/lib/iomgr/gethostname.h b/src/core/lib/iomgr/gethostname.h index 9c6b9d8d420..c0a4c7e6df9 100644 --- a/src/core/lib/iomgr/gethostname.h +++ b/src/core/lib/iomgr/gethostname.h @@ -19,8 +19,17 @@ #ifndef GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H #define GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H +#ifdef __cplusplus +extern "C" { +#endif + // Returns the hostname of the local machine. // Caller takes ownership of result. char *grpc_gethostname(); +#ifdef __cplusplus +} +#endif + + #endif /* GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H */ diff --git a/src/core/lib/iomgr/gethostname_fallback.cc b/src/core/lib/iomgr/gethostname_fallback.cc index 6229461568b..31dff5812ca 100644 --- a/src/core/lib/iomgr/gethostname_fallback.cc +++ b/src/core/lib/iomgr/gethostname_fallback.cc @@ -17,6 +17,7 @@ */ #include "src/core/lib/iomgr/port.h" +#include "src/core/lib/iomgr/gethostname.h" #ifdef GRPC_GETHOSTNAME_FALLBACK diff --git a/src/core/lib/iomgr/gethostname_host_name_max.cc b/src/core/lib/iomgr/gethostname_host_name_max.cc index 4d0511412ec..9be319dab8d 100644 --- a/src/core/lib/iomgr/gethostname_host_name_max.cc +++ b/src/core/lib/iomgr/gethostname_host_name_max.cc @@ -17,6 +17,7 @@ */ #include "src/core/lib/iomgr/port.h" +#include "src/core/lib/iomgr/gethostname.h" #ifdef GRPC_POSIX_HOST_NAME_MAX diff --git a/src/core/lib/iomgr/gethostname_sysconf.cc b/src/core/lib/iomgr/gethostname_sysconf.cc index 51bac5d69dd..4cc7ebf4c0a 100644 --- a/src/core/lib/iomgr/gethostname_sysconf.cc +++ b/src/core/lib/iomgr/gethostname_sysconf.cc @@ -17,6 +17,7 @@ */ #include "src/core/lib/iomgr/port.h" +#include "src/core/lib/iomgr/gethostname.h" #ifdef GRPC_POSIX_SYSCONF From 922bc8ae845f06702a05eedf99dec9eecb615430 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 22 Sep 2017 16:32:41 -0700 Subject: [PATCH 092/180] Some windows build errors --- src/core/lib/support/log_windows.cc | 4 ++-- src/core/lib/support/string_windows.cc | 2 +- src/core/lib/support/subprocess_windows.cc | 2 +- src/core/lib/support/sync_windows.cc | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/core/lib/support/log_windows.cc b/src/core/lib/support/log_windows.cc index b71dacd80a0..ee52abea730 100644 --- a/src/core/lib/support/log_windows.cc +++ b/src/core/lib/support/log_windows.cc @@ -47,7 +47,7 @@ void gpr_log(const char *file, int line, gpr_log_severity severity, } else { /* Allocate a new buffer, with space for the NUL terminator. */ size_t strp_buflen = (size_t)ret + 1; - message = gpr_malloc(strp_buflen); + message = (char *)gpr_malloc(strp_buflen); /* Print to the buffer. */ va_start(args, format); @@ -66,7 +66,7 @@ void gpr_log(const char *file, int line, gpr_log_severity severity, /* Simple starter implementation */ extern "C" void gpr_default_log(gpr_log_func_args *args) { - char *final_slash; + const char *final_slash; const char *display_file; char time_buffer[64]; time_t timer; diff --git a/src/core/lib/support/string_windows.cc b/src/core/lib/support/string_windows.cc index bae524d7cb1..d37863c0662 100644 --- a/src/core/lib/support/string_windows.cc +++ b/src/core/lib/support/string_windows.cc @@ -47,7 +47,7 @@ int gpr_asprintf(char **strp, const char *format, ...) { /* Allocate a new buffer, with space for the NUL terminator. */ strp_buflen = (size_t)ret + 1; - if ((*strp = gpr_malloc(strp_buflen)) == NULL) { + if ((*strp = (char *)gpr_malloc(strp_buflen)) == NULL) { /* This shouldn't happen, because gpr_malloc() calls abort(). */ return -1; } diff --git a/src/core/lib/support/subprocess_windows.cc b/src/core/lib/support/subprocess_windows.cc index 7412f8d3444..6769f1d3a4b 100644 --- a/src/core/lib/support/subprocess_windows.cc +++ b/src/core/lib/support/subprocess_windows.cc @@ -61,7 +61,7 @@ gpr_subprocess *gpr_subprocess_create(int argc, const char **argv) { } gpr_free(args_tchar); - r = gpr_malloc(sizeof(gpr_subprocess)); + r = (gpr_subprocess *)gpr_malloc(sizeof(gpr_subprocess)); memset(r, 0, sizeof(*r)); r->pi = pi; return r; diff --git a/src/core/lib/support/sync_windows.cc b/src/core/lib/support/sync_windows.cc index 008c5aecba6..62fdd40af70 100644 --- a/src/core/lib/support/sync_windows.cc +++ b/src/core/lib/support/sync_windows.cc @@ -104,7 +104,7 @@ struct run_once_func_arg { void (*init_function)(void); }; static BOOL CALLBACK run_once_func(gpr_once *once, void *v, void **pv) { - struct run_once_func_arg *arg = v; + struct run_once_func_arg *arg = (struct run_once_func_arg *)v; (*arg->init_function)(); return 1; } From 20e5e07955d2c22199fff061072d610557e37111 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 22 Sep 2017 17:47:55 -0700 Subject: [PATCH 093/180] Trying a python and windows build fix --- setup.py | 2 +- src/core/ext/filters/max_age/max_age_filter.cc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 90c9316b0da..1f047a4e737 100644 --- a/setup.py +++ b/setup.py @@ -111,7 +111,7 @@ if EXTRA_ENV_COMPILE_ARGS is None: else: EXTRA_ENV_COMPILE_ARGS += ' -D_ftime=_ftime64 -D_timeb=__timeb64' elif "linux" in sys.platform: - EXTRA_ENV_COMPILE_ARGS += ' -std=c++11 -std=gnu99 -fvisibility=hidden -fno-wrapv -fno-exceptions' + EXTRA_ENV_COMPILE_ARGS += ' -D__STDC_FORMAT_MACROS -std=c++11 -std=gnu99 -fvisibility=hidden -fno-wrapv -fno-exceptions' elif "darwin" in sys.platform: EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions' diff --git a/src/core/ext/filters/max_age/max_age_filter.cc b/src/core/ext/filters/max_age/max_age_filter.cc index 9639ec9fb0e..88a70ba3e55 100644 --- a/src/core/ext/filters/max_age/max_age_filter.cc +++ b/src/core/ext/filters/max_age/max_age_filter.cc @@ -33,9 +33,9 @@ #define MAX_CONNECTION_AGE_JITTER 0.1 #define MAX_CONNECTION_AGE_INTEGER_OPTIONS \ - (grpc_integer_options) { DEFAULT_MAX_CONNECTION_AGE_MS, 1, INT_MAX } + { DEFAULT_MAX_CONNECTION_AGE_MS, 1, INT_MAX } #define MAX_CONNECTION_IDLE_INTEGER_OPTIONS \ - (grpc_integer_options) { DEFAULT_MAX_CONNECTION_IDLE_MS, 1, INT_MAX } + { DEFAULT_MAX_CONNECTION_IDLE_MS, 1, INT_MAX } typedef struct channel_data { /* We take a reference to the channel stack for the timer callback */ From 1a365e035f932721ac9f5303ce7e0db0f3f366c9 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 22 Sep 2017 18:13:16 -0700 Subject: [PATCH 094/180] More uv errors --- src/core/lib/iomgr/tcp_server_uv.cc | 16 ++++++++-------- src/core/lib/iomgr/tcp_uv.cc | 10 +++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/core/lib/iomgr/tcp_server_uv.cc b/src/core/lib/iomgr/tcp_server_uv.cc index 3b9332321f8..11741e9505c 100644 --- a/src/core/lib/iomgr/tcp_server_uv.cc +++ b/src/core/lib/iomgr/tcp_server_uv.cc @@ -77,14 +77,14 @@ grpc_error *grpc_tcp_server_create(grpc_exec_ctx *exec_ctx, grpc_closure *shutdown_complete, const grpc_channel_args *args, grpc_tcp_server **server) { - grpc_tcp_server *s = gpr_malloc(sizeof(grpc_tcp_server)); + grpc_tcp_server *s = (grpc_tcp_server *)gpr_malloc(sizeof(grpc_tcp_server)); s->resource_quota = grpc_resource_quota_create(NULL); for (size_t i = 0; i < (args == NULL ? 0 : args->num_args); i++) { if (0 == strcmp(GRPC_ARG_RESOURCE_QUOTA, args->args[i].key)) { if (args->args[i].type == GRPC_ARG_POINTER) { grpc_resource_quota_unref_internal(exec_ctx, s->resource_quota); s->resource_quota = - grpc_resource_quota_ref_internal(args->args[i].value.pointer.p); + grpc_resource_quota_ref_internal((grpc_resource_quota*)args->args[i].value.pointer.p); } else { grpc_resource_quota_unref_internal(exec_ctx, s->resource_quota); gpr_free(s); @@ -190,15 +190,15 @@ void grpc_tcp_server_unref(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) { } static void finish_accept(grpc_exec_ctx *exec_ctx, grpc_tcp_listener *sp) { - grpc_tcp_server_acceptor *acceptor = gpr_malloc(sizeof(*acceptor)); - uv_tcp_t *client; + grpc_tcp_server_acceptor *acceptor = (grpc_tcp_server_acceptor *)gpr_malloc(sizeof(*acceptor)); + uv_tcp_t *client = NULL; grpc_endpoint *ep = NULL; grpc_resolved_address peer_name; char *peer_name_string; int err; uv_tcp_t *server = sp->handle; - client = gpr_malloc(sizeof(uv_tcp_t)); + client = (uv_tcp_t *)gpr_malloc(sizeof(uv_tcp_t)); uv_tcp_init(uv_default_loop(), client); // UV documentation says this is guaranteed to succeed uv_accept((uv_stream_t *)server, (uv_stream_t *)client); @@ -303,7 +303,7 @@ static grpc_error *add_socket_to_server(grpc_tcp_server *s, uv_tcp_t *handle, GPR_ASSERT(port >= 0); GPR_ASSERT(!s->on_accept_cb && "must add ports before starting server"); - sp = gpr_zalloc(sizeof(grpc_tcp_listener)); + sp = (grpc_tcp_listener*)gpr_zalloc(sizeof(grpc_tcp_listener)); sp->next = NULL; if (s->head == NULL) { s->head = sp; @@ -355,7 +355,7 @@ grpc_error *grpc_tcp_server_add_port(grpc_tcp_server *s, (int *)&sockname_temp.len)) { *port = grpc_sockaddr_get_port(&sockname_temp); if (*port > 0) { - allocated_addr = gpr_malloc(sizeof(grpc_resolved_address)); + allocated_addr = (grpc_resolved_address*)gpr_malloc(sizeof(grpc_resolved_address)); memcpy(allocated_addr, addr, sizeof(grpc_resolved_address)); grpc_sockaddr_set_port(allocated_addr, *port); addr = allocated_addr; @@ -376,7 +376,7 @@ grpc_error *grpc_tcp_server_add_port(grpc_tcp_server *s, addr = &wildcard; } - handle = gpr_malloc(sizeof(uv_tcp_t)); + handle = (uv_tcp_t*)gpr_malloc(sizeof(uv_tcp_t)); family = grpc_sockaddr_get_family(addr); status = uv_tcp_init_ex(uv_default_loop(), handle, (unsigned int)family); diff --git a/src/core/lib/iomgr/tcp_uv.cc b/src/core/lib/iomgr/tcp_uv.cc index a05c19b4ac9..eecffdb7c85 100644 --- a/src/core/lib/iomgr/tcp_uv.cc +++ b/src/core/lib/iomgr/tcp_uv.cc @@ -114,7 +114,7 @@ static void tcp_ref(grpc_tcp *tcp) { gpr_ref(&tcp->refcount); } static void uv_close_callback(uv_handle_t *handle) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - grpc_tcp *tcp = handle->data; + grpc_tcp *tcp = (grpc_tcp *)handle->data; TCP_UNREF(&exec_ctx, tcp, "destroy"); grpc_exec_ctx_finish(&exec_ctx); } @@ -128,7 +128,7 @@ static grpc_slice alloc_read_slice(grpc_exec_ctx *exec_ctx, static void alloc_uv_buf(uv_handle_t *handle, size_t suggested_size, uv_buf_t *buf) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - grpc_tcp *tcp = handle->data; + grpc_tcp *tcp = (grpc_tcp*)handle->data; (void)suggested_size; buf->base = (char *)GRPC_SLICE_START_PTR(tcp->read_slice); buf->len = GRPC_SLICE_LENGTH(tcp->read_slice); @@ -140,7 +140,7 @@ static void read_callback(uv_stream_t *stream, ssize_t nread, grpc_slice sub; grpc_error *error; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - grpc_tcp *tcp = stream->data; + grpc_tcp *tcp = (grpc_tcp*)stream->data; grpc_closure *cb = tcp->read_cb; if (nread == 0) { // Nothing happened. Wait for the next callback @@ -207,7 +207,7 @@ static void uv_endpoint_read(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep, } static void write_callback(uv_write_t *req, int status) { - grpc_tcp *tcp = req->data; + grpc_tcp *tcp = (grpc_tcp*)req->data; grpc_error *error; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_closure *cb = tcp->write_cb; @@ -269,7 +269,7 @@ static void uv_endpoint_write(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep, tcp->write_cb = cb; buffer_count = (unsigned int)tcp->write_slices->count; - buffers = gpr_malloc(sizeof(uv_buf_t) * buffer_count); + buffers = (uv_buf_t *)gpr_malloc(sizeof(uv_buf_t) * buffer_count); grpc_resource_user_alloc(exec_ctx, tcp->resource_user, sizeof(uv_buf_t) * buffer_count, NULL); for (i = 0; i < buffer_count; i++) { From f5a64e22af5150c92520bd29090d931187de02df Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 22 Sep 2017 18:13:46 -0700 Subject: [PATCH 095/180] clang format --- src/core/lib/iomgr/tcp_server_uv.cc | 14 ++++++++------ src/core/lib/iomgr/tcp_uv.cc | 6 +++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/core/lib/iomgr/tcp_server_uv.cc b/src/core/lib/iomgr/tcp_server_uv.cc index 11741e9505c..348838c495c 100644 --- a/src/core/lib/iomgr/tcp_server_uv.cc +++ b/src/core/lib/iomgr/tcp_server_uv.cc @@ -83,8 +83,8 @@ grpc_error *grpc_tcp_server_create(grpc_exec_ctx *exec_ctx, if (0 == strcmp(GRPC_ARG_RESOURCE_QUOTA, args->args[i].key)) { if (args->args[i].type == GRPC_ARG_POINTER) { grpc_resource_quota_unref_internal(exec_ctx, s->resource_quota); - s->resource_quota = - grpc_resource_quota_ref_internal((grpc_resource_quota*)args->args[i].value.pointer.p); + s->resource_quota = grpc_resource_quota_ref_internal( + (grpc_resource_quota *)args->args[i].value.pointer.p); } else { grpc_resource_quota_unref_internal(exec_ctx, s->resource_quota); gpr_free(s); @@ -190,7 +190,8 @@ void grpc_tcp_server_unref(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) { } static void finish_accept(grpc_exec_ctx *exec_ctx, grpc_tcp_listener *sp) { - grpc_tcp_server_acceptor *acceptor = (grpc_tcp_server_acceptor *)gpr_malloc(sizeof(*acceptor)); + grpc_tcp_server_acceptor *acceptor = + (grpc_tcp_server_acceptor *)gpr_malloc(sizeof(*acceptor)); uv_tcp_t *client = NULL; grpc_endpoint *ep = NULL; grpc_resolved_address peer_name; @@ -303,7 +304,7 @@ static grpc_error *add_socket_to_server(grpc_tcp_server *s, uv_tcp_t *handle, GPR_ASSERT(port >= 0); GPR_ASSERT(!s->on_accept_cb && "must add ports before starting server"); - sp = (grpc_tcp_listener*)gpr_zalloc(sizeof(grpc_tcp_listener)); + sp = (grpc_tcp_listener *)gpr_zalloc(sizeof(grpc_tcp_listener)); sp->next = NULL; if (s->head == NULL) { s->head = sp; @@ -355,7 +356,8 @@ grpc_error *grpc_tcp_server_add_port(grpc_tcp_server *s, (int *)&sockname_temp.len)) { *port = grpc_sockaddr_get_port(&sockname_temp); if (*port > 0) { - allocated_addr = (grpc_resolved_address*)gpr_malloc(sizeof(grpc_resolved_address)); + allocated_addr = (grpc_resolved_address *)gpr_malloc( + sizeof(grpc_resolved_address)); memcpy(allocated_addr, addr, sizeof(grpc_resolved_address)); grpc_sockaddr_set_port(allocated_addr, *port); addr = allocated_addr; @@ -376,7 +378,7 @@ grpc_error *grpc_tcp_server_add_port(grpc_tcp_server *s, addr = &wildcard; } - handle = (uv_tcp_t*)gpr_malloc(sizeof(uv_tcp_t)); + handle = (uv_tcp_t *)gpr_malloc(sizeof(uv_tcp_t)); family = grpc_sockaddr_get_family(addr); status = uv_tcp_init_ex(uv_default_loop(), handle, (unsigned int)family); diff --git a/src/core/lib/iomgr/tcp_uv.cc b/src/core/lib/iomgr/tcp_uv.cc index eecffdb7c85..e311964dbcf 100644 --- a/src/core/lib/iomgr/tcp_uv.cc +++ b/src/core/lib/iomgr/tcp_uv.cc @@ -128,7 +128,7 @@ static grpc_slice alloc_read_slice(grpc_exec_ctx *exec_ctx, static void alloc_uv_buf(uv_handle_t *handle, size_t suggested_size, uv_buf_t *buf) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - grpc_tcp *tcp = (grpc_tcp*)handle->data; + grpc_tcp *tcp = (grpc_tcp *)handle->data; (void)suggested_size; buf->base = (char *)GRPC_SLICE_START_PTR(tcp->read_slice); buf->len = GRPC_SLICE_LENGTH(tcp->read_slice); @@ -140,7 +140,7 @@ static void read_callback(uv_stream_t *stream, ssize_t nread, grpc_slice sub; grpc_error *error; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; - grpc_tcp *tcp = (grpc_tcp*)stream->data; + grpc_tcp *tcp = (grpc_tcp *)stream->data; grpc_closure *cb = tcp->read_cb; if (nread == 0) { // Nothing happened. Wait for the next callback @@ -207,7 +207,7 @@ static void uv_endpoint_read(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep, } static void write_callback(uv_write_t *req, int status) { - grpc_tcp *tcp = (grpc_tcp*)req->data; + grpc_tcp *tcp = (grpc_tcp *)req->data; grpc_error *error; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_closure *cb = tcp->write_cb; From fb44fada4e0bf7c06614902090b35d37f730d3cc Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 25 Sep 2017 10:30:48 -0700 Subject: [PATCH 096/180] Some more build errors --- .../proto/grpc/lb/v1/load_balancer.pb.cc | 21 +++++++++++++++++-- src/core/lib/iomgr/socket_windows.cc | 2 +- src/core/lib/iomgr/tcp_windows.cc | 4 ++-- src/core/lib/iomgr/tcp_windows.h | 4 ++-- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc b/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc index 6a5d54c82a0..dd0ccc84761 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc @@ -1,3 +1,20 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ /* Automatically generated nanopb constant definitions */ /* Generated by nanopb-0.3.7-dev */ @@ -80,7 +97,7 @@ const pb_field_t grpc_lb_v1_Server_fields[5] = { #if !defined(PB_FIELD_32BIT) /* If you get an error here, it means that you need to define PB_FIELD_32BIT * compile-time option. You can do that in pb.h or on compiler command line. - * + * * The reason you need to do this is that some of your messages contain tag * numbers or field sizes that are larger than what can fit in 8 or 16 bit * field descriptors. @@ -91,7 +108,7 @@ PB_STATIC_ASSERT((pb_membersize(grpc_lb_v1_LoadBalanceRequest, initial_request) #if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) /* If you get an error here, it means that you need to define PB_FIELD_16BIT * compile-time option. You can do that in pb.h or on compiler command line. - * + * * The reason you need to do this is that some of your messages contain tag * numbers or field sizes that are larger than what can fit in the default * 8 bit descriptors. diff --git a/src/core/lib/iomgr/socket_windows.cc b/src/core/lib/iomgr/socket_windows.cc index a0d731b9424..8c7f7cf683d 100644 --- a/src/core/lib/iomgr/socket_windows.cc +++ b/src/core/lib/iomgr/socket_windows.cc @@ -38,7 +38,7 @@ grpc_winsocket *grpc_winsocket_create(SOCKET socket, const char *name) { char *final_name; - grpc_winsocket *r = gpr_malloc(sizeof(grpc_winsocket)); + grpc_winsocket *r = (grpc_winsocket *)gpr_malloc(sizeof(grpc_winsocket)); memset(r, 0, sizeof(grpc_winsocket)); r->socket = socket; gpr_mu_init(&r->state_mu); diff --git a/src/core/lib/iomgr/tcp_windows.cc b/src/core/lib/iomgr/tcp_windows.cc index 2cbb97403b0..9752a931e86 100644 --- a/src/core/lib/iomgr/tcp_windows.cc +++ b/src/core/lib/iomgr/tcp_windows.cc @@ -158,7 +158,7 @@ static void tcp_ref(grpc_tcp *tcp) { gpr_ref(&tcp->refcount); } /* Asynchronous callback from the IOCP, or the background thread. */ static void on_read(grpc_exec_ctx *exec_ctx, void *tcpp, grpc_error *error) { - grpc_tcp *tcp = tcpp; + grpc_tcp *tcp = (grpc_tcp*)tcpp; grpc_closure *cb = tcp->read_cb; grpc_winsocket *socket = tcp->socket; grpc_slice sub; @@ -425,7 +425,7 @@ grpc_endpoint *grpc_tcp_create(grpc_exec_ctx *exec_ctx, grpc_winsocket *socket, if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_RESOURCE_QUOTA)) { grpc_resource_quota_unref_internal(exec_ctx, resource_quota); resource_quota = grpc_resource_quota_ref_internal( - channel_args->args[i].value.pointer.p); + (grpc_resource_quota*)channel_args->args[i].value.pointer.p); } } } diff --git a/src/core/lib/iomgr/tcp_windows.h b/src/core/lib/iomgr/tcp_windows.h index 1c935da2a21..f3697f707c7 100644 --- a/src/core/lib/iomgr/tcp_windows.h +++ b/src/core/lib/iomgr/tcp_windows.h @@ -41,7 +41,7 @@ extern "C" { */ grpc_endpoint *grpc_tcp_create(grpc_exec_ctx *exec_ctx, grpc_winsocket *socket, grpc_channel_args *channel_args, - char *peer_string); + const char *peer_string); grpc_error *grpc_tcp_prepare_socket(SOCKET sock); @@ -49,4 +49,4 @@ grpc_error *grpc_tcp_prepare_socket(SOCKET sock); } #endif -#endif /* GRPC_CORE_LIB_IOMGR_TCP_WINDOWS_H */ \ No newline at end of file +#endif /* GRPC_CORE_LIB_IOMGR_TCP_WINDOWS_H */ From d6aca049475af23393eec4157b298d9270e6ad17 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 25 Sep 2017 10:53:03 -0700 Subject: [PATCH 097/180] Force define __STDC_FORMAT_MACROS for PRIdxx types --- include/grpc/impl/codegen/port_platform.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h index 0f4316c9547..baea4bcf529 100644 --- a/include/grpc/impl/codegen/port_platform.h +++ b/include/grpc/impl/codegen/port_platform.h @@ -415,4 +415,8 @@ typedef unsigned __int64 uint64_t; #endif /* GPR_ATTRIBUTE_NO_TSAN (2) */ #endif /* GPR_ATTRIBUTE_NO_TSAN (1) */ +#ifndef __STDC_FORMAT_MACROS +#define __STDC_FORMAT_MACROS +#endif + #endif /* GRPC_IMPL_CODEGEN_PORT_PLATFORM_H */ From 840844bd1cacc57aca2df4ad0675333a7972ef84 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 25 Sep 2017 10:55:02 -0700 Subject: [PATCH 098/180] Clang --- src/core/lib/iomgr/tcp_windows.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/lib/iomgr/tcp_windows.cc b/src/core/lib/iomgr/tcp_windows.cc index 9752a931e86..d3659a077fe 100644 --- a/src/core/lib/iomgr/tcp_windows.cc +++ b/src/core/lib/iomgr/tcp_windows.cc @@ -158,7 +158,7 @@ static void tcp_ref(grpc_tcp *tcp) { gpr_ref(&tcp->refcount); } /* Asynchronous callback from the IOCP, or the background thread. */ static void on_read(grpc_exec_ctx *exec_ctx, void *tcpp, grpc_error *error) { - grpc_tcp *tcp = (grpc_tcp*)tcpp; + grpc_tcp *tcp = (grpc_tcp *)tcpp; grpc_closure *cb = tcp->read_cb; grpc_winsocket *socket = tcp->socket; grpc_slice sub; @@ -425,7 +425,7 @@ grpc_endpoint *grpc_tcp_create(grpc_exec_ctx *exec_ctx, grpc_winsocket *socket, if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_RESOURCE_QUOTA)) { grpc_resource_quota_unref_internal(exec_ctx, resource_quota); resource_quota = grpc_resource_quota_ref_internal( - (grpc_resource_quota*)channel_args->args[i].value.pointer.p); + (grpc_resource_quota *)channel_args->args[i].value.pointer.p); } } } From d8b84a249edd8d6f3f42ca40ec17668e67f38dff Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 25 Sep 2017 13:38:03 -0700 Subject: [PATCH 099/180] Removing few more build errors --- src/core/ext/census/base_resources.cc | 14 +++--- .../filters/client_channel/client_channel.cc | 15 ++++--- .../client_channel/lb_policy/grpclb/grpclb.cc | 6 +-- .../ext/filters/client_channel/subchannel.cc | 31 ++++++------- .../client_channel/subchannel_index.cc | 11 ++--- .../ext/filters/max_age/max_age_filter.cc | 3 +- .../chttp2/transport/chttp2_transport.cc | 19 ++++---- .../ext/transport/chttp2/transport/writing.cc | 18 ++++---- src/core/lib/iomgr/resolve_address_windows.cc | 11 ++--- src/core/lib/support/spinlock.h | 5 +++ src/core/lib/surface/call.cc | 29 ++++++------ src/core/lib/surface/completion_queue.cc | 45 ++++++------------- src/core/lib/transport/metadata.h | 5 +++ src/core/lib/transport/metadata_batch.h | 7 +-- src/core/lib/transport/transport.cc | 9 ++-- src/core/tsi/fake_transport_security.cc | 3 +- 16 files changed, 111 insertions(+), 120 deletions(-) diff --git a/src/core/ext/census/base_resources.cc b/src/core/ext/census/base_resources.cc index 1f2bb39fe0c..3697c6f0e00 100644 --- a/src/core/ext/census/base_resources.cc +++ b/src/core/ext/census/base_resources.cc @@ -45,12 +45,12 @@ void define_base_resources() { 0, // n_denominators NULL}; // denominators define_resource(&r); - r = (resource){(char *)"server_rpc_latency", // name - (char *)"Server RPC latency in seconds", // description - 0, // prefix - 1, // n_numerators - &numerator, // numerators - 0, // n_denominators - NULL}; // denominators + r = {(char *)"server_rpc_latency", // name + (char *)"Server RPC latency in seconds", // description + 0, // prefix + 1, // n_numerators + &numerator, // numerators + 0, // n_denominators + NULL}; // denominators define_resource(&r); } diff --git a/src/core/ext/filters/client_channel/client_channel.cc b/src/core/ext/filters/client_channel/client_channel.cc index 016199b1f4f..3aded6b48e1 100644 --- a/src/core/ext/filters/client_channel/client_channel.cc +++ b/src/core/ext/filters/client_channel/client_channel.cc @@ -995,13 +995,14 @@ static void create_subchannel_call_locked(grpc_exec_ctx *exec_ctx, channel_data *chand = (channel_data *)elem->channel_data; call_data *calld = (call_data *)elem->call_data; const grpc_connected_subchannel_call_args call_args = { - .pollent = calld->pollent, - .path = calld->path, - .start_time = calld->call_start_time, - .deadline = calld->deadline, - .arena = calld->arena, - .context = calld->subchannel_call_context, - .call_combiner = calld->call_combiner}; + calld->pollent, // pollent + calld->path, // path + calld->call_start_time, // start_time + calld->deadline, // deadline + calld->arena, // arena + calld->subchannel_call_context, // context + calld->call_combiner // call_combiner + }; grpc_error *new_error = grpc_connected_subchannel_create_call( exec_ctx, calld->connected_subchannel, &call_args, &calld->subchannel_call); diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc index b9e72da6beb..bbebc3b643b 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc @@ -456,11 +456,11 @@ static bool is_server_valid(const grpc_grpclb_server *server, size_t idx, static void *lb_token_copy(void *token) { return token == NULL ? NULL - : (void *)GRPC_MDELEM_REF((grpc_mdelem){(uintptr_t)token}).payload; + : (void *)GRPC_MDELEM_REF(grpc_mdelem{(uintptr_t)token}).payload; } static void lb_token_destroy(grpc_exec_ctx *exec_ctx, void *token) { if (token != NULL) { - GRPC_MDELEM_UNREF(exec_ctx, (grpc_mdelem){(uintptr_t)token}); + GRPC_MDELEM_UNREF(exec_ctx, grpc_mdelem{(uintptr_t)token}); } } static int lb_token_cmp(void *token1, void *token2) { @@ -1925,7 +1925,7 @@ static grpc_lb_policy *glb_create(grpc_exec_ctx *exec_ctx, arg = grpc_channel_args_find(args->args, GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS); glb_policy->lb_call_timeout_ms = - grpc_channel_arg_get_integer(arg, (grpc_integer_options){0, 0, INT_MAX}); + grpc_channel_arg_get_integer(arg, {0, 0, INT_MAX}); arg = grpc_channel_args_find(args->args, GRPC_ARG_GRPCLB_FALLBACK_TIMEOUT_MS); glb_policy->lb_fallback_timeout_ms = grpc_channel_arg_get_integer( diff --git a/src/core/ext/filters/client_channel/subchannel.cc b/src/core/ext/filters/client_channel/subchannel.cc index 40a51c72d67..190f223ff0d 100644 --- a/src/core/ext/filters/client_channel/subchannel.cc +++ b/src/core/ext/filters/client_channel/subchannel.cc @@ -343,27 +343,23 @@ grpc_subchannel *grpc_subchannel_create(grpc_exec_ctx *exec_ctx, "grpc.testing.fixed_reconnect_backoff_ms")) { fixed_reconnect_backoff = true; initial_backoff_ms = min_backoff_ms = max_backoff_ms = - grpc_channel_arg_get_integer( - &c->args->args[i], - (grpc_integer_options){initial_backoff_ms, 100, INT_MAX}); + grpc_channel_arg_get_integer(&c->args->args[i], + {initial_backoff_ms, 100, INT_MAX}); } else if (0 == strcmp(c->args->args[i].key, GRPC_ARG_MIN_RECONNECT_BACKOFF_MS)) { fixed_reconnect_backoff = false; min_backoff_ms = grpc_channel_arg_get_integer( - &c->args->args[i], - (grpc_integer_options){min_backoff_ms, 100, INT_MAX}); + &c->args->args[i], {min_backoff_ms, 100, INT_MAX}); } else if (0 == strcmp(c->args->args[i].key, GRPC_ARG_MAX_RECONNECT_BACKOFF_MS)) { fixed_reconnect_backoff = false; max_backoff_ms = grpc_channel_arg_get_integer( - &c->args->args[i], - (grpc_integer_options){max_backoff_ms, 100, INT_MAX}); + &c->args->args[i], {max_backoff_ms, 100, INT_MAX}); } else if (0 == strcmp(c->args->args[i].key, GRPC_ARG_INITIAL_RECONNECT_BACKOFF_MS)) { fixed_reconnect_backoff = false; initial_backoff_ms = grpc_channel_arg_get_integer( - &c->args->args[i], - (grpc_integer_options){initial_backoff_ms, 100, INT_MAX}); + &c->args->args[i], {initial_backoff_ms, 100, INT_MAX}); } } } @@ -759,14 +755,15 @@ grpc_error *grpc_connected_subchannel_create_call( grpc_call_stack *callstk = SUBCHANNEL_CALL_TO_CALL_STACK(*call); (*call)->connection = GRPC_CONNECTED_SUBCHANNEL_REF(con, "subchannel_call"); const grpc_call_element_args call_args = { - .call_stack = callstk, - .server_transport_data = NULL, - .context = args->context, - .path = args->path, - .start_time = args->start_time, - .deadline = args->deadline, - .arena = args->arena, - .call_combiner = args->call_combiner}; + callstk, /* call_stack */ + NULL, /* server_transport_data */ + args->context, /* context */ + args->path, /* path */ + args->start_time, /* start_time */ + args->deadline, /* deadline */ + args->arena, /* arena */ + args->call_combiner /* call_combiner */ + }; grpc_error *error = grpc_call_stack_init( exec_ctx, chanstk, 1, subchannel_call_destroy, *call, &call_args); if (error != GRPC_ERROR_NONE) { diff --git a/src/core/ext/filters/client_channel/subchannel_index.cc b/src/core/ext/filters/client_channel/subchannel_index.cc index d7a51f3899f..1f466ec0b8f 100644 --- a/src/core/ext/filters/client_channel/subchannel_index.cc +++ b/src/core/ext/filters/client_channel/subchannel_index.cc @@ -114,11 +114,12 @@ static void *scv_avl_copy(void *p, void *unused) { } static const gpr_avl_vtable subchannel_avl_vtable = { - .destroy_key = sck_avl_destroy, - .copy_key = sck_avl_copy, - .compare_keys = sck_avl_compare, - .destroy_value = scv_avl_destroy, - .copy_value = scv_avl_copy}; + sck_avl_destroy, // destroy_key + sck_avl_copy, // copy_key + sck_avl_compare, // compare_keys + scv_avl_destroy, // destroy_value + scv_avl_copy // copy_value +}; void grpc_subchannel_index_init(void) { g_subchannel_index = gpr_avl_create(&subchannel_avl_vtable); diff --git a/src/core/ext/filters/max_age/max_age_filter.cc b/src/core/ext/filters/max_age/max_age_filter.cc index 88a70ba3e55..f4d5b1427e7 100644 --- a/src/core/ext/filters/max_age/max_age_filter.cc +++ b/src/core/ext/filters/max_age/max_age_filter.cc @@ -315,8 +315,7 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx, GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS)) { const int value = grpc_channel_arg_get_integer( &args->channel_args->args[i], - (grpc_integer_options){DEFAULT_MAX_CONNECTION_AGE_GRACE_MS, 0, - INT_MAX}); + {DEFAULT_MAX_CONNECTION_AGE_GRACE_MS, 0, INT_MAX}); chand->max_connection_age_grace = value == INT_MAX ? gpr_inf_future(GPR_TIMESPAN) : gpr_time_from_millis(value, GPR_TIMESPAN); diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc index acf49632ff5..9fc1b29138e 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc @@ -315,15 +315,16 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, grpc_bdp_estimator_init(&t->flow_control.bdp_estimator, t->peer_string); t->flow_control.last_pid_update = gpr_now(GPR_CLOCK_MONOTONIC); - grpc_pid_controller_init( - &t->flow_control.pid_controller, - (grpc_pid_controller_args){.gain_p = 4, - .gain_i = 8, - .gain_d = 0, - .initial_control_value = log2(DEFAULT_WINDOW), - .min_control_value = -1, - .max_control_value = 25, - .integral_range = 10}); + grpc_pid_controller_init(&t->flow_control.pid_controller, + { + 4, /* gain_p */ + 8, /* gain_t */ + 0, /* gain_d */ + log2(DEFAULT_WINDOW), /* initial_control_value */ + -1, /* min_control_value */ + 25, /* max_control_value */ + 10 /* integral_range */ + }); grpc_chttp2_goaway_parser_init(&t->goaway_parser); grpc_chttp2_hpack_parser_init(exec_ctx, &t->hpack_parser); diff --git a/src/core/ext/transport/chttp2/transport/writing.cc b/src/core/ext/transport/chttp2/transport/writing.cc index be1af16019f..399b1608bd3 100644 --- a/src/core/ext/transport/chttp2/transport/writing.cc +++ b/src/core/ext/transport/chttp2/transport/writing.cc @@ -257,15 +257,15 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( s->send_trailing_metadata == NULL || !is_default_initial_metadata(s->send_initial_metadata)) { grpc_encode_header_options hopt = { - .stream_id = s->id, - .is_eof = false, - .use_true_binary_metadata = - t->settings - [GRPC_PEER_SETTINGS] - [GRPC_CHTTP2_SETTINGS_GRPC_ALLOW_TRUE_BINARY_METADATA] != 0, - .max_frame_size = t->settings[GRPC_PEER_SETTINGS] - [GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE], - .stats = &s->stats.outgoing}; + s->id, // stream_id + false, // is_eof + t->settings[GRPC_PEER_SETTINGS] + [GRPC_CHTTP2_SETTINGS_GRPC_ALLOW_TRUE_BINARY_METADATA] != + 0, // use_true_binary_metadata + t->settings[GRPC_PEER_SETTINGS] + [GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE], // max_frame_size + &s->stats.outgoing // stats + }; grpc_chttp2_encode_header(exec_ctx, &t->hpack_compressor, NULL, 0, s->send_initial_metadata, &hopt, &t->outbuf); now_writing = true; diff --git a/src/core/lib/iomgr/resolve_address_windows.cc b/src/core/lib/iomgr/resolve_address_windows.cc index 0cb0029f4ec..69e66de78d4 100644 --- a/src/core/lib/iomgr/resolve_address_windows.cc +++ b/src/core/lib/iomgr/resolve_address_windows.cc @@ -93,13 +93,14 @@ static grpc_error *blocking_resolve_address_impl( } /* Success path: set addrs non-NULL, fill it in */ - (*addresses) = gpr_malloc(sizeof(grpc_resolved_addresses)); + (*addresses) = + (grpc_resolved_addresses *)gpr_malloc(sizeof(grpc_resolved_addresses)); (*addresses)->naddrs = 0; for (resp = result; resp != NULL; resp = resp->ai_next) { (*addresses)->naddrs++; } - (*addresses)->addrs = - gpr_malloc(sizeof(grpc_resolved_address) * (*addresses)->naddrs); + (*addresses)->addrs = (grpc_resolved_address *)gpr_malloc( + sizeof(grpc_resolved_address) * (*addresses)->naddrs); i = 0; for (resp = result; resp != NULL; resp = resp->ai_next) { memcpy(&(*addresses)->addrs[i].addr, resp->ai_addr, resp->ai_addrlen); @@ -132,7 +133,7 @@ grpc_error *(*grpc_blocking_resolve_address)( * grpc_blocking_resolve_address */ static void do_request_thread(grpc_exec_ctx *exec_ctx, void *rp, grpc_error *error) { - request *r = rp; + request *r = (request *)rp; if (error == GRPC_ERROR_NONE) { error = grpc_blocking_resolve_address(r->name, r->default_port, r->addresses); @@ -157,7 +158,7 @@ static void resolve_address_impl(grpc_exec_ctx *exec_ctx, const char *name, grpc_pollset_set *interested_parties, grpc_closure *on_done, grpc_resolved_addresses **addresses) { - request *r = gpr_malloc(sizeof(request)); + request *r = (request *)gpr_malloc(sizeof(request)); GRPC_CLOSURE_INIT(&r->request_closure, do_request_thread, r, grpc_executor_scheduler(GRPC_EXECUTOR_SHORT)); r->name = gpr_strdup(name); diff --git a/src/core/lib/support/spinlock.h b/src/core/lib/support/spinlock.h index 37adda11b0c..47584f62794 100644 --- a/src/core/lib/support/spinlock.h +++ b/src/core/lib/support/spinlock.h @@ -25,9 +25,14 @@ a concurrency code smell. */ typedef struct { gpr_atm atm; } gpr_spinlock; +#ifdef __cplusplus +#define GPR_SPINLOCK_INITIALIZER (gpr_spinlock{0}) +#else #define GPR_SPINLOCK_INITIALIZER ((gpr_spinlock){0}) +#endif #define GPR_SPINLOCK_STATIC_INITIALIZER \ { 0 } + #define gpr_spinlock_trylock(lock) (gpr_atm_acq_cas(&(lock)->atm, 0, 1)) #define gpr_spinlock_unlock(lock) (gpr_atm_rel_store(&(lock)->atm, 0)) #define gpr_spinlock_lock(lock) \ diff --git a/src/core/lib/surface/call.cc b/src/core/lib/surface/call.cc index 173e800f0da..4055d656bda 100644 --- a/src/core/lib/surface/call.cc +++ b/src/core/lib/surface/call.cc @@ -94,13 +94,11 @@ static gpr_atm pack_received_status(received_status r) { } static received_status unpack_received_status(gpr_atm atm) { - return (atm & 1) == 0 - ? (received_status){false, /* is_set */ - GRPC_ERROR_NONE /*error */ - } - : (received_status){true, /* is_set */ - (grpc_error *)(atm & ~(gpr_atm)1) /* error */ - }; + if ((atm & 1) == 0) { + return {false, GRPC_ERROR_NONE}; + } else { + return {true, (grpc_error *)(atm & ~(gpr_atm)1)}; + } } #define MAX_ERRORS_PER_BATCH 4 @@ -443,15 +441,14 @@ grpc_error *grpc_call_create(grpc_exec_ctx *exec_ctx, GRPC_CHANNEL_INTERNAL_REF(args->channel, "call"); /* initial refcount dropped by grpc_call_unref */ - grpc_call_element_args call_args = { - .call_stack = CALL_STACK_FROM_CALL(call), - .server_transport_data = args->server_transport_data, - .context = call->context, - .path = path, - .start_time = call->start_time, - .deadline = send_deadline, - .arena = call->arena, - .call_combiner = &call->call_combiner}; + grpc_call_element_args call_args = {CALL_STACK_FROM_CALL(call), + args->server_transport_data, + call->context, + path, + call->start_time, + send_deadline, + call->arena, + &call->call_combiner}; add_init_error(&error, grpc_call_stack_init(exec_ctx, channel_stack, 1, destroy_call, call, &call_args)); if (error != GRPC_ERROR_NONE) { diff --git a/src/core/lib/surface/completion_queue.cc b/src/core/lib/surface/completion_queue.cc index fed66e3a209..d332e841a3e 100644 --- a/src/core/lib/surface/completion_queue.cc +++ b/src/core/lib/surface/completion_queue.cc @@ -164,32 +164,15 @@ static void non_polling_poller_shutdown(grpc_exec_ctx *exec_ctx, static const cq_poller_vtable g_poller_vtable_by_poller_type[] = { /* GRPC_CQ_DEFAULT_POLLING */ - {.can_get_pollset = true, - .can_listen = true, - .size = grpc_pollset_size, - .init = grpc_pollset_init, - .kick = grpc_pollset_kick, - .work = grpc_pollset_work, - .shutdown = grpc_pollset_shutdown, - .destroy = grpc_pollset_destroy}, + {true, true, grpc_pollset_size, grpc_pollset_init, grpc_pollset_kick, + grpc_pollset_work, grpc_pollset_shutdown, grpc_pollset_destroy}, /* GRPC_CQ_NON_LISTENING */ - {.can_get_pollset = true, - .can_listen = false, - .size = grpc_pollset_size, - .init = grpc_pollset_init, - .kick = grpc_pollset_kick, - .work = grpc_pollset_work, - .shutdown = grpc_pollset_shutdown, - .destroy = grpc_pollset_destroy}, + {true, false, grpc_pollset_size, grpc_pollset_init, grpc_pollset_kick, + grpc_pollset_work, grpc_pollset_shutdown, grpc_pollset_destroy}, /* GRPC_CQ_NON_POLLING */ - {.can_get_pollset = false, - .can_listen = false, - .size = non_polling_poller_size, - .init = non_polling_poller_init, - .kick = non_polling_poller_kick, - .work = non_polling_poller_work, - .shutdown = non_polling_poller_shutdown, - .destroy = non_polling_poller_destroy}, + {false, false, non_polling_poller_size, non_polling_poller_init, + non_polling_poller_kick, non_polling_poller_work, + non_polling_poller_shutdown, non_polling_poller_destroy}, }; typedef struct cq_vtable { @@ -838,13 +821,13 @@ static grpc_event cq_next(grpc_completion_queue *cq, gpr_timespec deadline, GRPC_CQ_INTERNAL_REF(cq, "next"); cq_is_finished_arg is_finished_arg = { - .last_seen_things_queued_ever = - gpr_atm_no_barrier_load(&cqd->things_queued_ever), - .cq = cq, - .deadline = deadline, - .stolen_completion = NULL, - .tag = NULL, - .first_loop = true}; + + gpr_atm_no_barrier_load(&cqd->things_queued_ever), + cq, + deadline, + NULL, + NULL, + true}; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INITIALIZER(0, cq_is_next_finished, &is_finished_arg); diff --git a/src/core/lib/transport/metadata.h b/src/core/lib/transport/metadata.h index 974469e436f..9f82225dc39 100644 --- a/src/core/lib/transport/metadata.h +++ b/src/core/lib/transport/metadata.h @@ -102,8 +102,13 @@ struct grpc_mdelem { ((grpc_mdelem_data *)((md).payload & ~(uintptr_t)3)) #define GRPC_MDELEM_STORAGE(md) \ ((grpc_mdelem_data_storage)((md).payload & (uintptr_t)3)) +#ifdef __cplusplus +#define GRPC_MAKE_MDELEM(data, storage) \ + (grpc_mdelem{((uintptr_t)(data)) | ((uintptr_t)storage)}) +#else #define GRPC_MAKE_MDELEM(data, storage) \ ((grpc_mdelem){((uintptr_t)(data)) | ((uintptr_t)storage)}) +#endif #define GRPC_MDELEM_IS_INTERNED(md) \ ((grpc_mdelem_data_storage)((md).payload & \ (uintptr_t)GRPC_MDELEM_STORAGE_INTERNED_BIT)) diff --git a/src/core/lib/transport/metadata_batch.h b/src/core/lib/transport/metadata_batch.h index 57d298c75c2..63f30a78d13 100644 --- a/src/core/lib/transport/metadata_batch.h +++ b/src/core/lib/transport/metadata_batch.h @@ -125,10 +125,11 @@ typedef struct { } grpc_filtered_mdelem; #define GRPC_FILTERED_ERROR(error) \ - ((grpc_filtered_mdelem){(error), GRPC_MDNULL}) -#define GRPC_FILTERED_MDELEM(md) ((grpc_filtered_mdelem){GRPC_ERROR_NONE, (md)}) + { (error), GRPC_MDNULL } +#define GRPC_FILTERED_MDELEM(md) \ + { GRPC_ERROR_NONE, (md) } #define GRPC_FILTERED_REMOVE() \ - ((grpc_filtered_mdelem){GRPC_ERROR_NONE, GRPC_MDNULL}) + { GRPC_ERROR_NONE, GRPC_MDNULL } typedef grpc_filtered_mdelem (*grpc_metadata_batch_filter_func)( grpc_exec_ctx *exec_ctx, void *user_data, grpc_mdelem elem); diff --git a/src/core/lib/transport/transport.cc b/src/core/lib/transport/transport.cc index 682a820b487..ab4f938e7b4 100644 --- a/src/core/lib/transport/transport.cc +++ b/src/core/lib/transport/transport.cc @@ -110,10 +110,11 @@ grpc_slice grpc_slice_from_stream_owned_buffer(grpc_stream_refcount *refcount, } static const grpc_slice_refcount_vtable stream_ref_slice_vtable = { - .ref = slice_stream_ref, - .unref = slice_stream_unref, - .eq = grpc_slice_default_eq_impl, - .hash = grpc_slice_default_hash_impl}; + slice_stream_ref, /* ref */ + slice_stream_unref, /* unref */ + grpc_slice_default_eq_impl, /* eq */ + grpc_slice_default_hash_impl /* hash */ +}; #ifndef NDEBUG void grpc_stream_ref_init(grpc_stream_refcount *refcount, int initial_refs, diff --git a/src/core/tsi/fake_transport_security.cc b/src/core/tsi/fake_transport_security.cc index 0a992b5fd22..349dcf5cb8f 100644 --- a/src/core/tsi/fake_transport_security.cc +++ b/src/core/tsi/fake_transport_security.cc @@ -98,8 +98,7 @@ static const char *tsi_fake_handshake_message_to_string(int msg) { static tsi_result tsi_fake_handshake_message_from_string( const char *msg_string, tsi_fake_handshake_message *msg) { - int i; - for (i = 0; i < TSI_FAKE_HANDSHAKE_MESSAGE_MAX; i++) { + for (int i = 0; i < TSI_FAKE_HANDSHAKE_MESSAGE_MAX; i++) { if (strncmp(msg_string, tsi_fake_handshake_message_strings[i], strlen(tsi_fake_handshake_message_strings[i])) == 0) { *msg = (tsi_fake_handshake_message)i; From fcd26bcd0f9091389915858ae0ac404b3c8748b9 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 25 Sep 2017 15:08:28 -0700 Subject: [PATCH 100/180] Removing more build errors --- src/core/ext/filters/client_channel/channel_connectivity.cc | 2 ++ src/core/ext/filters/client_channel/client_channel.cc | 1 + src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc | 1 + src/core/ext/filters/client_channel/subchannel.cc | 1 + src/core/ext/transport/chttp2/server/chttp2_server.cc | 1 + src/core/ext/transport/chttp2/transport/flow_control.cc | 1 + src/core/lib/iomgr/call_combiner.cc | 2 ++ src/core/lib/iomgr/combiner.cc | 1 + src/core/lib/iomgr/error.h | 2 +- src/core/lib/iomgr/resolve_address_windows.cc | 1 + src/core/lib/iomgr/resource_quota.cc | 1 + src/core/lib/iomgr/sockaddr_utils.cc | 1 + src/core/lib/iomgr/tcp_client_windows.cc | 2 ++ src/core/lib/iomgr/tcp_server_windows.cc | 1 + src/core/lib/iomgr/timer_generic.cc | 2 ++ src/core/lib/iomgr/timer_manager.cc | 2 ++ src/core/lib/iomgr/timer_uv.cc | 2 +- src/core/lib/security/credentials/jwt/jwt_credentials.cc | 1 + src/core/lib/slice/slice_intern.cc | 1 + src/core/lib/support/string_util_windows.cc | 1 + src/core/lib/surface/call_log_batch.cc | 2 ++ src/core/lib/surface/channel.cc | 1 + src/core/lib/surface/completion_queue.cc | 1 + src/core/lib/transport/bdp_estimator.cc | 1 + src/core/lib/transport/metadata.cc | 1 + 25 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/core/ext/filters/client_channel/channel_connectivity.cc b/src/core/ext/filters/client_channel/channel_connectivity.cc index 3844b980215..a05a11dad15 100644 --- a/src/core/ext/filters/client_channel/channel_connectivity.cc +++ b/src/core/ext/filters/client_channel/channel_connectivity.cc @@ -18,6 +18,8 @@ #include "src/core/lib/surface/channel.h" +#include + #include #include diff --git a/src/core/ext/filters/client_channel/client_channel.cc b/src/core/ext/filters/client_channel/client_channel.cc index 3aded6b48e1..47ec5fe24a1 100644 --- a/src/core/ext/filters/client_channel/client_channel.cc +++ b/src/core/ext/filters/client_channel/client_channel.cc @@ -18,6 +18,7 @@ #include "src/core/ext/filters/client_channel/client_channel.h" +#include #include #include #include diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc index bbebc3b643b..621e2637b17 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc @@ -80,6 +80,7 @@ headers. Therefore, sockaddr.h must always be included first */ #include "src/core/lib/iomgr/sockaddr.h" +#include #include #include diff --git a/src/core/ext/filters/client_channel/subchannel.cc b/src/core/ext/filters/client_channel/subchannel.cc index 190f223ff0d..bff5001d699 100644 --- a/src/core/ext/filters/client_channel/subchannel.cc +++ b/src/core/ext/filters/client_channel/subchannel.cc @@ -18,6 +18,7 @@ #include "src/core/ext/filters/client_channel/subchannel.h" +#include #include #include diff --git a/src/core/ext/transport/chttp2/server/chttp2_server.cc b/src/core/ext/transport/chttp2/server/chttp2_server.cc index 60244e163b2..a51959bec7a 100644 --- a/src/core/ext/transport/chttp2/server/chttp2_server.cc +++ b/src/core/ext/transport/chttp2/server/chttp2_server.cc @@ -20,6 +20,7 @@ #include +#include #include #include diff --git a/src/core/ext/transport/chttp2/transport/flow_control.cc b/src/core/ext/transport/chttp2/transport/flow_control.cc index 037813340d3..75eae1f9628 100644 --- a/src/core/ext/transport/chttp2/transport/flow_control.cc +++ b/src/core/ext/transport/chttp2/transport/flow_control.cc @@ -18,6 +18,7 @@ #include "src/core/ext/transport/chttp2/transport/internal.h" +#include #include #include #include diff --git a/src/core/lib/iomgr/call_combiner.cc b/src/core/lib/iomgr/call_combiner.cc index 48d8eaec189..bab3df021a6 100644 --- a/src/core/lib/iomgr/call_combiner.cc +++ b/src/core/lib/iomgr/call_combiner.cc @@ -18,6 +18,8 @@ #include "src/core/lib/iomgr/call_combiner.h" +#include + #include grpc_tracer_flag grpc_call_combiner_trace = diff --git a/src/core/lib/iomgr/combiner.cc b/src/core/lib/iomgr/combiner.cc index f899b25f105..0e707ef8392 100644 --- a/src/core/lib/iomgr/combiner.cc +++ b/src/core/lib/iomgr/combiner.cc @@ -19,6 +19,7 @@ #include "src/core/lib/iomgr/combiner.h" #include +#include #include #include diff --git a/src/core/lib/iomgr/error.h b/src/core/lib/iomgr/error.h index b3629486918..b36330a7ab6 100644 --- a/src/core/lib/iomgr/error.h +++ b/src/core/lib/iomgr/error.h @@ -19,8 +19,8 @@ #ifndef GRPC_CORE_LIB_IOMGR_ERROR_H #define GRPC_CORE_LIB_IOMGR_ERROR_H +#include #include -#include #include #include diff --git a/src/core/lib/iomgr/resolve_address_windows.cc b/src/core/lib/iomgr/resolve_address_windows.cc index 69e66de78d4..abcfc2114d5 100644 --- a/src/core/lib/iomgr/resolve_address_windows.cc +++ b/src/core/lib/iomgr/resolve_address_windows.cc @@ -23,6 +23,7 @@ #include "src/core/lib/iomgr/resolve_address.h" +#include #include #include diff --git a/src/core/lib/iomgr/resource_quota.cc b/src/core/lib/iomgr/resource_quota.cc index 4d69986fbc2..60262435b33 100644 --- a/src/core/lib/iomgr/resource_quota.cc +++ b/src/core/lib/iomgr/resource_quota.cc @@ -18,6 +18,7 @@ #include "src/core/lib/iomgr/resource_quota.h" +#include #include #include #include diff --git a/src/core/lib/iomgr/sockaddr_utils.cc b/src/core/lib/iomgr/sockaddr_utils.cc index 3f4145d104e..8a2e6ed89bc 100644 --- a/src/core/lib/iomgr/sockaddr_utils.cc +++ b/src/core/lib/iomgr/sockaddr_utils.cc @@ -19,6 +19,7 @@ #include "src/core/lib/iomgr/sockaddr_utils.h" #include +#include #include #include diff --git a/src/core/lib/iomgr/tcp_client_windows.cc b/src/core/lib/iomgr/tcp_client_windows.cc index fc62105cc92..10f5594d565 100644 --- a/src/core/lib/iomgr/tcp_client_windows.cc +++ b/src/core/lib/iomgr/tcp_client_windows.cc @@ -18,6 +18,8 @@ #include "src/core/lib/iomgr/port.h" +#include + #ifdef GRPC_WINSOCK_SOCKET #include "src/core/lib/iomgr/sockaddr_windows.h" diff --git a/src/core/lib/iomgr/tcp_server_windows.cc b/src/core/lib/iomgr/tcp_server_windows.cc index 0162afc1add..2f23c043061 100644 --- a/src/core/lib/iomgr/tcp_server_windows.cc +++ b/src/core/lib/iomgr/tcp_server_windows.cc @@ -22,6 +22,7 @@ #include "src/core/lib/iomgr/sockaddr.h" +#include #include #include diff --git a/src/core/lib/iomgr/timer_generic.cc b/src/core/lib/iomgr/timer_generic.cc index 2472cf26be3..91e227d241c 100644 --- a/src/core/lib/iomgr/timer_generic.cc +++ b/src/core/lib/iomgr/timer_generic.cc @@ -18,6 +18,8 @@ #include "src/core/lib/iomgr/port.h" +#include + #ifdef GRPC_TIMER_USE_GENERIC #include "src/core/lib/iomgr/timer.h" diff --git a/src/core/lib/iomgr/timer_manager.cc b/src/core/lib/iomgr/timer_manager.cc index 04ca44563d6..9f67d8ef222 100644 --- a/src/core/lib/iomgr/timer_manager.cc +++ b/src/core/lib/iomgr/timer_manager.cc @@ -18,6 +18,8 @@ #include "src/core/lib/iomgr/timer_manager.h" +#include + #include #include #include diff --git a/src/core/lib/iomgr/timer_uv.cc b/src/core/lib/iomgr/timer_uv.cc index adced41f539..d53fbf423cd 100644 --- a/src/core/lib/iomgr/timer_uv.cc +++ b/src/core/lib/iomgr/timer_uv.cc @@ -66,7 +66,7 @@ void grpc_timer_init(grpc_exec_ctx *exec_ctx, grpc_timer *timer, } timer->pending = 1; timeout = (uint64_t)gpr_time_to_millis(gpr_time_sub(deadline, now)); - uv_timer = gpr_malloc(sizeof(uv_timer_t)); + uv_timer = (uv_timer_t *)gpr_malloc(sizeof(uv_timer_t)); uv_timer_init(uv_default_loop(), uv_timer); uv_timer->data = timer; timer->uv_timer = uv_timer; diff --git a/src/core/lib/security/credentials/jwt/jwt_credentials.cc b/src/core/lib/security/credentials/jwt/jwt_credentials.cc index b361265a7b2..5e4de4166dd 100644 --- a/src/core/lib/security/credentials/jwt/jwt_credentials.cc +++ b/src/core/lib/security/credentials/jwt/jwt_credentials.cc @@ -18,6 +18,7 @@ #include "src/core/lib/security/credentials/jwt/jwt_credentials.h" +#include #include #include "src/core/lib/surface/api_trace.h" diff --git a/src/core/lib/slice/slice_intern.cc b/src/core/lib/slice/slice_intern.cc index ec71b3ca1da..1ea9a2aa677 100644 --- a/src/core/lib/slice/slice_intern.cc +++ b/src/core/lib/slice/slice_intern.cc @@ -18,6 +18,7 @@ #include "src/core/lib/slice/slice_internal.h" +#include #include #include diff --git a/src/core/lib/support/string_util_windows.cc b/src/core/lib/support/string_util_windows.cc index 2a03404448b..d96f57a4b01 100644 --- a/src/core/lib/support/string_util_windows.cc +++ b/src/core/lib/support/string_util_windows.cc @@ -26,6 +26,7 @@ anything else, especially strsafe.h. */ #include +#include #include #include #include diff --git a/src/core/lib/surface/call_log_batch.cc b/src/core/lib/surface/call_log_batch.cc index 4a1c2658174..5557927b7c0 100644 --- a/src/core/lib/surface/call_log_batch.cc +++ b/src/core/lib/surface/call_log_batch.cc @@ -18,6 +18,8 @@ #include "src/core/lib/surface/call.h" +#include + #include #include #include "src/core/lib/slice/slice_string_helpers.h" diff --git a/src/core/lib/surface/channel.cc b/src/core/lib/surface/channel.cc index 48962e5e455..65333cf1afb 100644 --- a/src/core/lib/surface/channel.cc +++ b/src/core/lib/surface/channel.cc @@ -18,6 +18,7 @@ #include "src/core/lib/surface/channel.h" +#include #include #include diff --git a/src/core/lib/surface/completion_queue.cc b/src/core/lib/surface/completion_queue.cc index d332e841a3e..91ad2cacd4f 100644 --- a/src/core/lib/surface/completion_queue.cc +++ b/src/core/lib/surface/completion_queue.cc @@ -17,6 +17,7 @@ */ #include "src/core/lib/surface/completion_queue.h" +#include #include #include diff --git a/src/core/lib/transport/bdp_estimator.cc b/src/core/lib/transport/bdp_estimator.cc index 8b576934134..e7fa0eefe82 100644 --- a/src/core/lib/transport/bdp_estimator.cc +++ b/src/core/lib/transport/bdp_estimator.cc @@ -18,6 +18,7 @@ #include "src/core/lib/transport/bdp_estimator.h" +#include #include #include diff --git a/src/core/lib/transport/metadata.cc b/src/core/lib/transport/metadata.cc index 188b485625a..5455b2481bd 100644 --- a/src/core/lib/transport/metadata.cc +++ b/src/core/lib/transport/metadata.cc @@ -19,6 +19,7 @@ #include "src/core/lib/transport/metadata.h" #include +#include #include #include From 37fdb739607895335c748e42cd25170545a00d6c Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 25 Sep 2017 16:45:02 -0700 Subject: [PATCH 101/180] More build errors --- .../filters/client_channel/client_channel.cc | 2 + .../resolver/dns/native/dns_resolver.cc | 3 + .../chttp2/transport/chttp2_transport.cc | 65 ++++++++----------- .../ext/transport/chttp2/transport/writing.cc | 15 ++--- .../lib/compression/stream_compression_gzip.c | 7 +- .../compression/stream_compression_identity.c | 9 ++- src/core/lib/iomgr/error.cc | 2 + src/core/lib/iomgr/executor.cc | 4 +- src/core/lib/iomgr/iomgr.cc | 3 + src/core/lib/iomgr/tcp_client_windows.cc | 6 +- src/core/lib/iomgr/tcp_server_windows.cc | 17 +++-- src/core/lib/iomgr/timer_manager.cc | 5 +- .../credentials/jwt/jwt_credentials.cc | 2 + src/core/lib/support/string_util_windows.cc | 4 +- src/core/lib/surface/call.cc | 6 +- src/core/lib/surface/channel.cc | 20 +++--- src/core/lib/surface/completion_queue.cc | 15 +++-- src/core/lib/transport/transport_op_string.cc | 3 + 18 files changed, 93 insertions(+), 95 deletions(-) diff --git a/src/core/ext/filters/client_channel/client_channel.cc b/src/core/ext/filters/client_channel/client_channel.cc index 47ec5fe24a1..8bff7548ac8 100644 --- a/src/core/ext/filters/client_channel/client_channel.cc +++ b/src/core/ext/filters/client_channel/client_channel.cc @@ -16,6 +16,8 @@ * */ +#include + #include "src/core/ext/filters/client_channel/client_channel.h" #include diff --git a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc index 1baf80b7205..1c093d0ad2f 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +++ b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc @@ -16,6 +16,9 @@ * */ +#include + +#include #include #include diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc index 9fc1b29138e..d6a9aab7d61 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc @@ -18,6 +18,9 @@ #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" +#include + +#include #include #include #include @@ -434,13 +437,11 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA)) { t->ping_policy.max_pings_without_data = grpc_channel_arg_get_integer( &channel_args->args[i], - (grpc_integer_options){g_default_max_pings_without_data, 0, - INT_MAX}); + {g_default_max_pings_without_data, 0, INT_MAX}); } else if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_HTTP2_MAX_PING_STRIKES)) { t->ping_policy.max_ping_strikes = grpc_channel_arg_get_integer( - &channel_args->args[i], - (grpc_integer_options){g_default_max_ping_strikes, 0, INT_MAX}); + &channel_args->args[i], {g_default_max_ping_strikes, 0, INT_MAX}); } else if (0 == strcmp( channel_args->args[i].key, @@ -449,9 +450,8 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, gpr_time_from_millis( grpc_channel_arg_get_integer( &channel_args->args[i], - (grpc_integer_options){ - g_default_min_sent_ping_interval_without_data_ms, 0, - INT_MAX}), + {g_default_min_sent_ping_interval_without_data_ms, 0, + INT_MAX}), GPR_TIMESPAN); } else if (0 == strcmp( @@ -461,27 +461,24 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, gpr_time_from_millis( grpc_channel_arg_get_integer( &channel_args->args[i], - (grpc_integer_options){ - g_default_min_recv_ping_interval_without_data_ms, 0, - INT_MAX}), + {g_default_min_recv_ping_interval_without_data_ms, 0, + INT_MAX}), GPR_TIMESPAN); } else if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_HTTP2_WRITE_BUFFER_SIZE)) { t->write_buffer_size = (uint32_t)grpc_channel_arg_get_integer( - &channel_args->args[i], - (grpc_integer_options){0, 0, MAX_WRITE_BUFFER_SIZE}); + &channel_args->args[i], {0, 0, MAX_WRITE_BUFFER_SIZE}); } else if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_HTTP2_BDP_PROBE)) { - t->flow_control.enable_bdp_probe = grpc_channel_arg_get_integer( - &channel_args->args[i], (grpc_integer_options){1, 0, 1}); + t->flow_control.enable_bdp_probe = + grpc_channel_arg_get_integer(&channel_args->args[i], {1, 0, 1}); } else if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_KEEPALIVE_TIME_MS)) { const int value = grpc_channel_arg_get_integer( &channel_args->args[i], - (grpc_integer_options){t->is_client - ? g_default_client_keepalive_time_ms - : g_default_server_keepalive_time_ms, - 1, INT_MAX}); + {t->is_client ? g_default_client_keepalive_time_ms + : g_default_server_keepalive_time_ms, + 1, INT_MAX}); t->keepalive_time = value == INT_MAX ? gpr_inf_future(GPR_TIMESPAN) : gpr_time_from_millis(value, GPR_TIMESPAN); @@ -489,18 +486,17 @@ static void init_transport(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, GRPC_ARG_KEEPALIVE_TIMEOUT_MS)) { const int value = grpc_channel_arg_get_integer( &channel_args->args[i], - (grpc_integer_options){t->is_client - ? g_default_client_keepalive_timeout_ms - : g_default_server_keepalive_timeout_ms, - 0, INT_MAX}); + {t->is_client ? g_default_client_keepalive_timeout_ms + : g_default_server_keepalive_timeout_ms, + 0, INT_MAX}); t->keepalive_timeout = value == INT_MAX ? gpr_inf_future(GPR_TIMESPAN) : gpr_time_from_millis(value, GPR_TIMESPAN); } else if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS)) { t->keepalive_permit_without_calls = - (uint32_t)grpc_channel_arg_get_integer( - &channel_args->args[i], (grpc_integer_options){0, 0, 1}); + (uint32_t)grpc_channel_arg_get_integer(&channel_args->args[i], + {0, 0, 1}); } else if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_OPTIMIZATION_TARGET)) { if (channel_args->args[i].type != GRPC_ARG_STRING) { @@ -2627,9 +2623,7 @@ void grpc_chttp2_config_default_keepalive_args(grpc_channel_args *args, for (i = 0; i < args->num_args; i++) { if (0 == strcmp(args->args[i].key, GRPC_ARG_KEEPALIVE_TIME_MS)) { const int value = grpc_channel_arg_get_integer( - &args->args[i], - (grpc_integer_options){g_default_client_keepalive_time_ms, 1, - INT_MAX}); + &args->args[i], {g_default_client_keepalive_time_ms, 1, INT_MAX}); if (is_client) { g_default_client_keepalive_time_ms = value; } else { @@ -2639,8 +2633,7 @@ void grpc_chttp2_config_default_keepalive_args(grpc_channel_args *args, strcmp(args->args[i].key, GRPC_ARG_KEEPALIVE_TIMEOUT_MS)) { const int value = grpc_channel_arg_get_integer( &args->args[i], - (grpc_integer_options){g_default_client_keepalive_timeout_ms, 0, - INT_MAX}); + {g_default_client_keepalive_timeout_ms, 0, INT_MAX}); if (is_client) { g_default_client_keepalive_timeout_ms = value; } else { @@ -2651,8 +2644,7 @@ void grpc_chttp2_config_default_keepalive_args(grpc_channel_args *args, g_default_keepalive_permit_without_calls = (uint32_t)grpc_channel_arg_get_integer( &args->args[i], - (grpc_integer_options){g_default_keepalive_permit_without_calls, - 0, 1}); + {g_default_keepalive_permit_without_calls, 0, 1}); } else if (0 == strcmp(args->args[i].key, GRPC_ARG_HTTP2_MAX_PING_STRIKES)) { g_default_max_ping_strikes = grpc_channel_arg_get_integer( @@ -2661,8 +2653,7 @@ void grpc_chttp2_config_default_keepalive_args(grpc_channel_args *args, } else if (0 == strcmp(args->args[i].key, GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA)) { g_default_max_pings_without_data = grpc_channel_arg_get_integer( - &args->args[i], (grpc_integer_options){ - g_default_max_pings_without_data, 0, INT_MAX}); + &args->args[i], {g_default_max_pings_without_data, 0, INT_MAX}); } else if (0 == strcmp( args->args[i].key, @@ -2670,9 +2661,7 @@ void grpc_chttp2_config_default_keepalive_args(grpc_channel_args *args, g_default_min_sent_ping_interval_without_data_ms = grpc_channel_arg_get_integer( &args->args[i], - (grpc_integer_options){ - g_default_min_sent_ping_interval_without_data_ms, 0, - INT_MAX}); + {g_default_min_sent_ping_interval_without_data_ms, 0, INT_MAX}); } else if (0 == strcmp( args->args[i].key, @@ -2680,9 +2669,7 @@ void grpc_chttp2_config_default_keepalive_args(grpc_channel_args *args, g_default_min_recv_ping_interval_without_data_ms = grpc_channel_arg_get_integer( &args->args[i], - (grpc_integer_options){ - g_default_min_recv_ping_interval_without_data_ms, 0, - INT_MAX}); + {g_default_min_recv_ping_interval_without_data_ms, 0, INT_MAX}); } } } diff --git a/src/core/ext/transport/chttp2/transport/writing.cc b/src/core/ext/transport/chttp2/transport/writing.cc index 399b1608bd3..ba3d55abb3c 100644 --- a/src/core/ext/transport/chttp2/transport/writing.cc +++ b/src/core/ext/transport/chttp2/transport/writing.cc @@ -431,17 +431,16 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write( &s->stats.outgoing, &t->outbuf); } else { grpc_encode_header_options hopt = { - .stream_id = s->id, - .is_eof = true, - .use_true_binary_metadata = - t->settings + s->id, true, + + t->settings [GRPC_PEER_SETTINGS] [GRPC_CHTTP2_SETTINGS_GRPC_ALLOW_TRUE_BINARY_METADATA] != 0, - .max_frame_size = - t->settings[GRPC_PEER_SETTINGS] - [GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE], - .stats = &s->stats.outgoing}; + + t->settings[GRPC_PEER_SETTINGS] + [GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE], + &s->stats.outgoing}; grpc_chttp2_encode_header(exec_ctx, &t->hpack_compressor, extra_headers_for_trailing_metadata, num_extra_headers_for_trailing_metadata, diff --git a/src/core/lib/compression/stream_compression_gzip.c b/src/core/lib/compression/stream_compression_gzip.c index abcbdb3a91f..087b018be54 100644 --- a/src/core/lib/compression/stream_compression_gzip.c +++ b/src/core/lib/compression/stream_compression_gzip.c @@ -222,7 +222,6 @@ static void grpc_stream_compression_context_destroy_gzip( } const grpc_stream_compression_vtable grpc_stream_compression_gzip_vtable = { - .compress = grpc_stream_compress_gzip, - .decompress = grpc_stream_decompress_gzip, - .context_create = grpc_stream_compression_context_create_gzip, - .context_destroy = grpc_stream_compression_context_destroy_gzip}; + grpc_stream_compress_gzip, grpc_stream_decompress_gzip, + grpc_stream_compression_context_create_gzip, + grpc_stream_compression_context_destroy_gzip}; diff --git a/src/core/lib/compression/stream_compression_identity.c b/src/core/lib/compression/stream_compression_identity.c index 3dfcf53b85d..9b2e6062e17 100644 --- a/src/core/lib/compression/stream_compression_identity.c +++ b/src/core/lib/compression/stream_compression_identity.c @@ -27,7 +27,7 @@ /* Singleton context used for all identity streams. */ static grpc_stream_compression_context identity_ctx = { - .vtable = &grpc_stream_compression_identity_vtable}; + &grpc_stream_compression_identity_vtable}; static void grpc_stream_compression_pass_through(grpc_slice_buffer *in, grpc_slice_buffer *out, @@ -88,7 +88,6 @@ static void grpc_stream_compression_context_destroy_identity( } const grpc_stream_compression_vtable grpc_stream_compression_identity_vtable = { - .compress = grpc_stream_compress_identity, - .decompress = grpc_stream_decompress_identity, - .context_create = grpc_stream_compression_context_create_identity, - .context_destroy = grpc_stream_compression_context_destroy_identity}; + grpc_stream_compress_identity, grpc_stream_decompress_identity, + grpc_stream_compression_context_create_identity, + grpc_stream_compression_context_destroy_identity}; diff --git a/src/core/lib/iomgr/error.cc b/src/core/lib/iomgr/error.cc index aa05501537b..2ea6cf1301e 100644 --- a/src/core/lib/iomgr/error.cc +++ b/src/core/lib/iomgr/error.cc @@ -15,9 +15,11 @@ * limitations under the License. * */ +#include #include "src/core/lib/iomgr/error.h" +#include #include #include diff --git a/src/core/lib/iomgr/executor.cc b/src/core/lib/iomgr/executor.cc index 892385d7d78..ebe7f240b45 100644 --- a/src/core/lib/iomgr/executor.cc +++ b/src/core/lib/iomgr/executor.cc @@ -100,7 +100,7 @@ void grpc_executor_set_threading(grpc_exec_ctx *exec_ctx, bool threading) { for (size_t i = 0; i < g_max_threads; i++) { gpr_mu_init(&g_thread_state[i].mu); gpr_cv_init(&g_thread_state[i].cv); - g_thread_state[i].elems = (grpc_closure_list)GRPC_CLOSURE_LIST_INIT; + g_thread_state[i].elems = GRPC_CLOSURE_LIST_INIT; } gpr_thd_options opt = gpr_thd_options_default(); @@ -172,7 +172,7 @@ static void executor_thread(void *arg) { } GRPC_STATS_INC_EXECUTOR_QUEUE_DRAINED(&exec_ctx); grpc_closure_list exec = ts->elems; - ts->elems = (grpc_closure_list)GRPC_CLOSURE_LIST_INIT; + ts->elems = GRPC_CLOSURE_LIST_INIT; gpr_mu_unlock(&ts->mu); if (GRPC_TRACER_ON(executor_trace)) { gpr_log(GPR_DEBUG, "EXECUTOR[%d]: execute", (int)(ts - g_thread_state)); diff --git a/src/core/lib/iomgr/iomgr.cc b/src/core/lib/iomgr/iomgr.cc index f63f1901551..3a0605833ae 100644 --- a/src/core/lib/iomgr/iomgr.cc +++ b/src/core/lib/iomgr/iomgr.cc @@ -16,8 +16,11 @@ * */ +#include + #include "src/core/lib/iomgr/iomgr.h" +#include #include #include diff --git a/src/core/lib/iomgr/tcp_client_windows.cc b/src/core/lib/iomgr/tcp_client_windows.cc index 10f5594d565..cb274ec7717 100644 --- a/src/core/lib/iomgr/tcp_client_windows.cc +++ b/src/core/lib/iomgr/tcp_client_windows.cc @@ -68,7 +68,7 @@ static void async_connect_unlock_and_cleanup(grpc_exec_ctx *exec_ctx, } static void on_alarm(grpc_exec_ctx *exec_ctx, void *acp, grpc_error *error) { - async_connect *ac = acp; + async_connect *ac = (async_connect *)acp; gpr_mu_lock(&ac->mu); grpc_winsocket *socket = ac->socket; ac->socket = NULL; @@ -79,7 +79,7 @@ static void on_alarm(grpc_exec_ctx *exec_ctx, void *acp, grpc_error *error) { } static void on_connect(grpc_exec_ctx *exec_ctx, void *acp, grpc_error *error) { - async_connect *ac = acp; + async_connect *ac = (async_connect *)acp; grpc_endpoint **ep = ac->endpoint; GPR_ASSERT(*ep == NULL); grpc_closure *on_done = ac->on_done; @@ -195,7 +195,7 @@ static void tcp_client_connect_impl( } } - ac = gpr_malloc(sizeof(async_connect)); + ac = (async_connect *)gpr_malloc(sizeof(async_connect)); ac->on_done = on_done; ac->socket = socket; gpr_mu_init(&ac->mu); diff --git a/src/core/lib/iomgr/tcp_server_windows.cc b/src/core/lib/iomgr/tcp_server_windows.cc index 2f23c043061..f198aaaa5ba 100644 --- a/src/core/lib/iomgr/tcp_server_windows.cc +++ b/src/core/lib/iomgr/tcp_server_windows.cc @@ -98,7 +98,7 @@ grpc_error *grpc_tcp_server_create(grpc_exec_ctx *exec_ctx, grpc_closure *shutdown_complete, const grpc_channel_args *args, grpc_tcp_server **server) { - grpc_tcp_server *s = gpr_malloc(sizeof(grpc_tcp_server)); + grpc_tcp_server *s = (grpc_tcp_server *)gpr_malloc(sizeof(grpc_tcp_server)); s->channel_args = grpc_channel_args_copy(args); gpr_ref_init(&s->refs, 1); gpr_mu_init(&s->mu); @@ -116,7 +116,7 @@ grpc_error *grpc_tcp_server_create(grpc_exec_ctx *exec_ctx, static void destroy_server(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { - grpc_tcp_server *s = arg; + grpc_tcp_server *s = (grpc_tcp_server *)arg; /* Now that the accepts have been aborted, we can destroy the sockets. The IOCP won't get notified on these, so we can flag them as already @@ -189,6 +189,7 @@ static grpc_error *prepare_socket(SOCKET sock, int *port) { grpc_resolved_address sockname_temp; grpc_error *error = GRPC_ERROR_NONE; + int sockname_temp_len; error = grpc_tcp_prepare_socket(sock); if (error != GRPC_ERROR_NONE) { @@ -206,7 +207,7 @@ static grpc_error *prepare_socket(SOCKET sock, goto failure; } - int sockname_temp_len = sizeof(struct sockaddr_storage); + sockname_temp_len = sizeof(struct sockaddr_storage); if (getsockname(sock, (struct sockaddr *)sockname_temp.addr, &sockname_temp_len) == SOCKET_ERROR) { error = GRPC_WSA_ERROR(WSAGetLastError(), "getsockname"); @@ -295,7 +296,7 @@ failure: /* Event manager callback when reads are ready. */ static void on_accept(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { - grpc_tcp_listener *sp = arg; + grpc_tcp_listener *sp = (grpc_tcp_listener *)arg; SOCKET sock = sp->new_socket; grpc_winsocket_callback_info *info = &sp->socket->read_info; grpc_endpoint *ep = NULL; @@ -369,7 +370,8 @@ static void on_accept(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) { managed to accept a connection, and created an endpoint. */ if (ep) { // Create acceptor. - grpc_tcp_server_acceptor *acceptor = gpr_malloc(sizeof(*acceptor)); + grpc_tcp_server_acceptor *acceptor = + (grpc_tcp_server_acceptor *)gpr_malloc(sizeof(*acceptor)); acceptor->from_server = sp->server; acceptor->port_index = sp->port_index; acceptor->fd_index = 0; @@ -422,7 +424,7 @@ static grpc_error *add_socket_to_server(grpc_tcp_server *s, SOCKET sock, GPR_ASSERT(port >= 0); gpr_mu_lock(&s->mu); GPR_ASSERT(!s->on_accept_cb && "must add ports before starting server"); - sp = gpr_malloc(sizeof(grpc_tcp_listener)); + sp = (grpc_tcp_listener *)gpr_malloc(sizeof(grpc_tcp_listener)); sp->next = NULL; if (s->head == NULL) { s->head = sp; @@ -473,7 +475,8 @@ grpc_error *grpc_tcp_server_add_port(grpc_tcp_server *s, sockname_temp.len = (size_t)sockname_temp_len; *port = grpc_sockaddr_get_port(&sockname_temp); if (*port > 0) { - allocated_addr = gpr_malloc(sizeof(grpc_resolved_address)); + allocated_addr = (grpc_resolved_address *)gpr_malloc( + sizeof(grpc_resolved_address)); memcpy(allocated_addr, addr, sizeof(grpc_resolved_address)); grpc_sockaddr_set_port(allocated_addr, *port); addr = allocated_addr; diff --git a/src/core/lib/iomgr/timer_manager.cc b/src/core/lib/iomgr/timer_manager.cc index 9f67d8ef222..862eba19f40 100644 --- a/src/core/lib/iomgr/timer_manager.cc +++ b/src/core/lib/iomgr/timer_manager.cc @@ -18,12 +18,13 @@ #include "src/core/lib/iomgr/timer_manager.h" -#include - #include #include +#include #include +#include + #include "src/core/lib/debug/trace.h" #include "src/core/lib/iomgr/timer.h" diff --git a/src/core/lib/security/credentials/jwt/jwt_credentials.cc b/src/core/lib/security/credentials/jwt/jwt_credentials.cc index 5e4de4166dd..835dd677ed8 100644 --- a/src/core/lib/security/credentials/jwt/jwt_credentials.cc +++ b/src/core/lib/security/credentials/jwt/jwt_credentials.cc @@ -16,6 +16,8 @@ * */ +#include + #include "src/core/lib/security/credentials/jwt/jwt_credentials.h" #include diff --git a/src/core/lib/support/string_util_windows.cc b/src/core/lib/support/string_util_windows.cc index d96f57a4b01..f8b9a06c318 100644 --- a/src/core/lib/support/string_util_windows.cc +++ b/src/core/lib/support/string_util_windows.cc @@ -43,7 +43,7 @@ gpr_char_to_tchar(LPCSTR input) { LPTSTR ret; int needed = MultiByteToWideChar(CP_UTF8, 0, input, -1, NULL, 0); if (needed <= 0) return NULL; - ret = gpr_malloc((unsigned)needed * sizeof(TCHAR)); + ret = (LPTSTR)gpr_malloc((unsigned)needed * sizeof(TCHAR)); MultiByteToWideChar(CP_UTF8, 0, input, -1, ret, needed); return ret; } @@ -53,7 +53,7 @@ gpr_tchar_to_char(LPCTSTR input) { LPSTR ret; int needed = WideCharToMultiByte(CP_UTF8, 0, input, -1, NULL, 0, NULL, NULL); if (needed <= 0) return NULL; - ret = gpr_malloc((unsigned)needed); + ret = (LPSTR)gpr_malloc((unsigned)needed); WideCharToMultiByte(CP_UTF8, 0, input, -1, ret, needed, NULL, NULL); return ret; } diff --git a/src/core/lib/surface/call.cc b/src/core/lib/surface/call.cc index 4055d656bda..6c97f5cc014 100644 --- a/src/core/lib/surface/call.cc +++ b/src/core/lib/surface/call.cc @@ -808,10 +808,8 @@ static void get_final_status(grpc_call *call, static void set_status_from_error(grpc_exec_ctx *exec_ctx, grpc_call *call, status_source source, grpc_error *error) { if (!gpr_atm_rel_cas(&call->status[source], - pack_received_status((received_status){ - .is_set = false, .error = GRPC_ERROR_NONE}), - pack_received_status((received_status){ - .is_set = true, .error = error}))) { + pack_received_status({false, GRPC_ERROR_NONE}), + pack_received_status({true, error}))) { GRPC_ERROR_UNREF(error); } } diff --git a/src/core/lib/surface/channel.cc b/src/core/lib/surface/channel.cc index 65333cf1afb..59fced7bc43 100644 --- a/src/core/lib/surface/channel.cc +++ b/src/core/lib/surface/channel.cc @@ -145,9 +145,8 @@ grpc_channel *grpc_channel_create_with_builder( channel->compression_options.default_level.level = (grpc_compression_level)grpc_channel_arg_get_integer( &args->args[i], - (grpc_integer_options){GRPC_COMPRESS_LEVEL_NONE, - GRPC_COMPRESS_LEVEL_NONE, - GRPC_COMPRESS_LEVEL_COUNT - 1}); + {GRPC_COMPRESS_LEVEL_NONE, GRPC_COMPRESS_LEVEL_NONE, + GRPC_COMPRESS_LEVEL_COUNT - 1}); } else if (0 == strcmp(args->args[i].key, GRPC_STREAM_COMPRESSION_CHANNEL_DEFAULT_LEVEL)) { channel->compression_options.default_stream_compression_level.is_set = @@ -155,17 +154,15 @@ grpc_channel *grpc_channel_create_with_builder( channel->compression_options.default_stream_compression_level.level = (grpc_stream_compression_level)grpc_channel_arg_get_integer( &args->args[i], - (grpc_integer_options){GRPC_STREAM_COMPRESS_LEVEL_NONE, - GRPC_STREAM_COMPRESS_LEVEL_NONE, - GRPC_STREAM_COMPRESS_LEVEL_COUNT - 1}); + {GRPC_STREAM_COMPRESS_LEVEL_NONE, GRPC_STREAM_COMPRESS_LEVEL_NONE, + GRPC_STREAM_COMPRESS_LEVEL_COUNT - 1}); } else if (0 == strcmp(args->args[i].key, GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM)) { channel->compression_options.default_algorithm.is_set = true; channel->compression_options.default_algorithm.algorithm = (grpc_compression_algorithm)grpc_channel_arg_get_integer( - &args->args[i], - (grpc_integer_options){GRPC_COMPRESS_NONE, GRPC_COMPRESS_NONE, - GRPC_COMPRESS_ALGORITHMS_COUNT - 1}); + &args->args[i], {GRPC_COMPRESS_NONE, GRPC_COMPRESS_NONE, + GRPC_COMPRESS_ALGORITHMS_COUNT - 1}); } else if (0 == strcmp(args->args[i].key, GRPC_STREAM_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM)) { channel->compression_options.default_stream_compression_algorithm.is_set = @@ -174,9 +171,8 @@ grpc_channel *grpc_channel_create_with_builder( .algorithm = (grpc_stream_compression_algorithm)grpc_channel_arg_get_integer( &args->args[i], - (grpc_integer_options){ - GRPC_STREAM_COMPRESS_NONE, GRPC_STREAM_COMPRESS_NONE, - GRPC_STREAM_COMPRESS_ALGORITHMS_COUNT - 1}); + {GRPC_STREAM_COMPRESS_NONE, GRPC_STREAM_COMPRESS_NONE, + GRPC_STREAM_COMPRESS_ALGORITHMS_COUNT - 1}); } else if (0 == strcmp(args->args[i].key, GRPC_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET)) { diff --git a/src/core/lib/surface/completion_queue.cc b/src/core/lib/surface/completion_queue.cc index 91ad2cacd4f..453646bd49c 100644 --- a/src/core/lib/surface/completion_queue.cc +++ b/src/core/lib/surface/completion_queue.cc @@ -15,6 +15,8 @@ * limitations under the License. * */ +#include + #include "src/core/lib/surface/completion_queue.h" #include @@ -1064,13 +1066,12 @@ static grpc_event cq_pluck(grpc_completion_queue *cq, void *tag, GRPC_CQ_INTERNAL_REF(cq, "pluck"); gpr_mu_lock(cq->mu); cq_is_finished_arg is_finished_arg = { - .last_seen_things_queued_ever = - gpr_atm_no_barrier_load(&cqd->things_queued_ever), - .cq = cq, - .deadline = deadline, - .stolen_completion = NULL, - .tag = tag, - .first_loop = true}; + gpr_atm_no_barrier_load(&cqd->things_queued_ever), + cq, + deadline, + NULL, + tag, + true}; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INITIALIZER(0, cq_is_pluck_finished, &is_finished_arg); for (;;) { diff --git a/src/core/lib/transport/transport_op_string.cc b/src/core/lib/transport/transport_op_string.cc index 858664715c6..87fdf72e298 100644 --- a/src/core/lib/transport/transport_op_string.cc +++ b/src/core/lib/transport/transport_op_string.cc @@ -16,8 +16,11 @@ * */ +#include + #include "src/core/lib/channel/channel_stack.h" +#include #include #include #include From 1c1e6beb2068f8d3b0839833a74ee0b925c2441f Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 25 Sep 2017 17:08:14 -0700 Subject: [PATCH 102/180] .pb.c files back to C --- src/core/ext/census/gen/{census.pb.cc => census.pb.c} | 0 .../ext/census/gen/{trace_context.pb.cc => trace_context.pb.c} | 0 .../proto/grpc/lb/v1/{load_balancer.pb.cc => load_balancer.pb.c} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename src/core/ext/census/gen/{census.pb.cc => census.pb.c} (100%) rename src/core/ext/census/gen/{trace_context.pb.cc => trace_context.pb.c} (100%) rename src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/{load_balancer.pb.cc => load_balancer.pb.c} (100%) diff --git a/src/core/ext/census/gen/census.pb.cc b/src/core/ext/census/gen/census.pb.c similarity index 100% rename from src/core/ext/census/gen/census.pb.cc rename to src/core/ext/census/gen/census.pb.c diff --git a/src/core/ext/census/gen/trace_context.pb.cc b/src/core/ext/census/gen/trace_context.pb.c similarity index 100% rename from src/core/ext/census/gen/trace_context.pb.cc rename to src/core/ext/census/gen/trace_context.pb.c diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc b/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c similarity index 100% rename from src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc rename to src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c From 15ce142d65dc9f46c88457d9da692f5b5bd82a3c Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 25 Sep 2017 17:46:32 -0700 Subject: [PATCH 103/180] Reverting pb.c files for now. Also fixing few more build errors --- CMakeLists.txt | 16 ++++++++-------- Makefile | 16 ++++++++-------- binding.gyp | 6 +++--- build.yaml | 8 ++++---- config.m4 | 6 +++--- config.w32 | 6 +++--- gRPC-Core.podspec | 6 +++--- grpc.gemspec | 6 +++--- grpc.gyp | 12 ++++++------ package.xml | 6 +++--- .../chttp2/transport/chttp2_transport.cc | 3 +-- .../lib/security/credentials/jwt/json_token.cc | 2 ++ .../lib/security/credentials/jwt/json_token.h | 10 +++++----- .../lib/security/credentials/jwt/jwt_verifier.cc | 3 +++ src/core/lib/support/string_util_windows.cc | 1 + src/core/lib/surface/alarm.cc | 4 ++++ src/core/tsi/ssl_transport_security.cc | 2 ++ src/core/tsi/ssl_types.h | 8 ++++++++ src/python/grpcio/grpc_core_dependencies.py | 6 +++--- tools/doxygen/Doxyfile.core.internal | 6 +++--- .../run_tests/generated/sources_and_headers.json | 8 ++++---- 21 files changed, 80 insertions(+), 61 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 04754454472..e3a1da06656 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1178,7 +1178,7 @@ add_library(grpc src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c third_party/nanopb/pb_common.c third_party/nanopb/pb_decode.c third_party/nanopb/pb_encode.c @@ -1195,8 +1195,8 @@ add_library(grpc src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc src/core/ext/census/base_resources.cc src/core/ext/census/context.cc - src/core/ext/census/gen/census.pb.cc - src/core/ext/census/gen/trace_context.pb.cc + src/core/ext/census/gen/census.pb.c + src/core/ext/census/gen/trace_context.pb.c src/core/ext/census/grpc_context.cc src/core/ext/census/grpc_filter.cc src/core/ext/census/grpc_plugin.cc @@ -2329,7 +2329,7 @@ add_library(grpc_unsecure src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc + src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c third_party/nanopb/pb_common.c third_party/nanopb/pb_decode.c third_party/nanopb/pb_encode.c @@ -2337,8 +2337,8 @@ add_library(grpc_unsecure src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc src/core/ext/census/base_resources.cc src/core/ext/census/context.cc - src/core/ext/census/gen/census.pb.cc - src/core/ext/census/gen/trace_context.pb.cc + src/core/ext/census/gen/census.pb.c + src/core/ext/census/gen/trace_context.pb.c src/core/ext/census/grpc_context.cc src/core/ext/census/grpc_filter.cc src/core/ext/census/grpc_plugin.cc @@ -3045,8 +3045,8 @@ add_library(grpc++_cronet src/core/ext/transport/chttp2/server/chttp2_server.cc src/core/ext/census/base_resources.cc src/core/ext/census/context.cc - src/core/ext/census/gen/census.pb.cc - src/core/ext/census/gen/trace_context.pb.cc + src/core/ext/census/gen/census.pb.c + src/core/ext/census/gen/trace_context.pb.c src/core/ext/census/grpc_context.cc src/core/ext/census/grpc_filter.cc src/core/ext/census/grpc_plugin.cc diff --git a/Makefile b/Makefile index b15570d4c3e..9a871b77020 100644 --- a/Makefile +++ b/Makefile @@ -3169,7 +3169,7 @@ LIBGRPC_SRC = \ src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc \ - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \ third_party/nanopb/pb_common.c \ third_party/nanopb/pb_decode.c \ third_party/nanopb/pb_encode.c \ @@ -3186,8 +3186,8 @@ LIBGRPC_SRC = \ src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc \ src/core/ext/census/base_resources.cc \ src/core/ext/census/context.cc \ - src/core/ext/census/gen/census.pb.cc \ - src/core/ext/census/gen/trace_context.pb.cc \ + src/core/ext/census/gen/census.pb.c \ + src/core/ext/census/gen/trace_context.pb.c \ src/core/ext/census/grpc_context.cc \ src/core/ext/census/grpc_filter.cc \ src/core/ext/census/grpc_plugin.cc \ @@ -4288,7 +4288,7 @@ LIBGRPC_UNSECURE_SRC = \ src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc \ - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \ third_party/nanopb/pb_common.c \ third_party/nanopb/pb_decode.c \ third_party/nanopb/pb_encode.c \ @@ -4296,8 +4296,8 @@ LIBGRPC_UNSECURE_SRC = \ src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \ src/core/ext/census/base_resources.cc \ src/core/ext/census/context.cc \ - src/core/ext/census/gen/census.pb.cc \ - src/core/ext/census/gen/trace_context.pb.cc \ + src/core/ext/census/gen/census.pb.c \ + src/core/ext/census/gen/trace_context.pb.c \ src/core/ext/census/grpc_context.cc \ src/core/ext/census/grpc_filter.cc \ src/core/ext/census/grpc_plugin.cc \ @@ -4987,8 +4987,8 @@ LIBGRPC++_CRONET_SRC = \ src/core/ext/transport/chttp2/server/chttp2_server.cc \ src/core/ext/census/base_resources.cc \ src/core/ext/census/context.cc \ - src/core/ext/census/gen/census.pb.cc \ - src/core/ext/census/gen/trace_context.pb.cc \ + src/core/ext/census/gen/census.pb.c \ + src/core/ext/census/gen/trace_context.pb.c \ src/core/ext/census/grpc_context.cc \ src/core/ext/census/grpc_filter.cc \ src/core/ext/census/grpc_plugin.cc \ diff --git a/binding.gyp b/binding.gyp index 2608fb1a7ee..889b563e39c 100644 --- a/binding.gyp +++ b/binding.gyp @@ -880,7 +880,7 @@ 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc', 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc', 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c', 'third_party/nanopb/pb_common.c', 'third_party/nanopb/pb_decode.c', 'third_party/nanopb/pb_encode.c', @@ -897,8 +897,8 @@ 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc', 'src/core/ext/census/base_resources.cc', 'src/core/ext/census/context.cc', - 'src/core/ext/census/gen/census.pb.cc', - 'src/core/ext/census/gen/trace_context.pb.cc', + 'src/core/ext/census/gen/census.pb.c', + 'src/core/ext/census/gen/trace_context.pb.c', 'src/core/ext/census/grpc_context.cc', 'src/core/ext/census/grpc_filter.cc', 'src/core/ext/census/grpc_plugin.cc', diff --git a/build.yaml b/build.yaml index 8d610bae74e..06b1618f88a 100644 --- a/build.yaml +++ b/build.yaml @@ -41,8 +41,8 @@ filegroups: src: - src/core/ext/census/base_resources.cc - src/core/ext/census/context.cc - - src/core/ext/census/gen/census.pb.cc - - src/core/ext/census/gen/trace_context.pb.cc + - src/core/ext/census/gen/census.pb.c + - src/core/ext/census/gen/trace_context.pb.c - src/core/ext/census/grpc_context.cc - src/core/ext/census/grpc_filter.cc - src/core/ext/census/grpc_plugin.cc @@ -550,7 +550,7 @@ filegroups: - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc - - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc + - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c plugin: grpc_lb_policy_grpclb uses: - grpc_base @@ -571,7 +571,7 @@ filegroups: - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc - - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc + - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c plugin: grpc_lb_policy_grpclb uses: - grpc_base diff --git a/config.m4 b/config.m4 index ff4dcec4a45..5450bbeb1db 100644 --- a/config.m4 +++ b/config.m4 @@ -309,7 +309,7 @@ if test "$PHP_GRPC" != "no"; then src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc \ - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc \ + src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \ third_party/nanopb/pb_common.c \ third_party/nanopb/pb_decode.c \ third_party/nanopb/pb_encode.c \ @@ -326,8 +326,8 @@ if test "$PHP_GRPC" != "no"; then src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc \ src/core/ext/census/base_resources.cc \ src/core/ext/census/context.cc \ - src/core/ext/census/gen/census.pb.cc \ - src/core/ext/census/gen/trace_context.pb.cc \ + src/core/ext/census/gen/census.pb.c \ + src/core/ext/census/gen/trace_context.pb.c \ src/core/ext/census/grpc_context.cc \ src/core/ext/census/grpc_filter.cc \ src/core/ext/census/grpc_plugin.cc \ diff --git a/config.w32 b/config.w32 index b710c88781e..62b8dcdd767 100644 --- a/config.w32 +++ b/config.w32 @@ -286,7 +286,7 @@ if (PHP_GRPC != "no") { "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\grpclb_channel_secure.cc " + "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\grpclb_client_stats.cc " + "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\load_balancer_api.cc " + - "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\proto\\grpc\\lb\\v1\\load_balancer.pb.cc " + + "src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\proto\\grpc\\lb\\v1\\load_balancer.pb.c " + "third_party\\nanopb\\pb_common.c " + "third_party\\nanopb\\pb_decode.c " + "third_party\\nanopb\\pb_encode.c " + @@ -303,8 +303,8 @@ if (PHP_GRPC != "no") { "src\\core\\ext\\filters\\load_reporting\\server_load_reporting_plugin.cc " + "src\\core\\ext\\census\\base_resources.cc " + "src\\core\\ext\\census\\context.cc " + - "src\\core\\ext\\census\\gen\\census.pb.cc " + - "src\\core\\ext\\census\\gen\\trace_context.pb.cc " + + "src\\core\\ext\\census\\gen\\census.pb.c " + + "src\\core\\ext\\census\\gen\\trace_context.pb.c " + "src\\core\\ext\\census\\grpc_context.cc " + "src\\core\\ext\\census\\grpc_filter.cc " + "src\\core\\ext\\census\\grpc_plugin.cc " + diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 4f7b00dcfd5..e831058ee16 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -694,7 +694,7 @@ Pod::Spec.new do |s| 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc', 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc', 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c', 'src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc', 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc', 'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc', @@ -708,8 +708,8 @@ Pod::Spec.new do |s| 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc', 'src/core/ext/census/base_resources.cc', 'src/core/ext/census/context.cc', - 'src/core/ext/census/gen/census.pb.cc', - 'src/core/ext/census/gen/trace_context.pb.cc', + 'src/core/ext/census/gen/census.pb.c', + 'src/core/ext/census/gen/trace_context.pb.c', 'src/core/ext/census/grpc_context.cc', 'src/core/ext/census/grpc_filter.cc', 'src/core/ext/census/grpc_plugin.cc', diff --git a/grpc.gemspec b/grpc.gemspec index dc441c7eda1..98bdbe10e12 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -631,7 +631,7 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc ) s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc ) s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc ) - s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc ) + s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c ) s.files += %w( third_party/nanopb/pb_common.c ) s.files += %w( third_party/nanopb/pb_decode.c ) s.files += %w( third_party/nanopb/pb_encode.c ) @@ -648,8 +648,8 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc ) s.files += %w( src/core/ext/census/base_resources.cc ) s.files += %w( src/core/ext/census/context.cc ) - s.files += %w( src/core/ext/census/gen/census.pb.cc ) - s.files += %w( src/core/ext/census/gen/trace_context.pb.cc ) + s.files += %w( src/core/ext/census/gen/census.pb.c ) + s.files += %w( src/core/ext/census/gen/trace_context.pb.c ) s.files += %w( src/core/ext/census/grpc_context.cc ) s.files += %w( src/core/ext/census/grpc_filter.cc ) s.files += %w( src/core/ext/census/grpc_plugin.cc ) diff --git a/grpc.gyp b/grpc.gyp index 264a1f424ab..55853a65c96 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -446,7 +446,7 @@ 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc', 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc', 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c', 'third_party/nanopb/pb_common.c', 'third_party/nanopb/pb_decode.c', 'third_party/nanopb/pb_encode.c', @@ -463,8 +463,8 @@ 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc', 'src/core/ext/census/base_resources.cc', 'src/core/ext/census/context.cc', - 'src/core/ext/census/gen/census.pb.cc', - 'src/core/ext/census/gen/trace_context.pb.cc', + 'src/core/ext/census/gen/census.pb.c', + 'src/core/ext/census/gen/trace_context.pb.c', 'src/core/ext/census/grpc_context.cc', 'src/core/ext/census/grpc_filter.cc', 'src/core/ext/census/grpc_plugin.cc', @@ -1115,7 +1115,7 @@ 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc', 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc', 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c', 'third_party/nanopb/pb_common.c', 'third_party/nanopb/pb_decode.c', 'third_party/nanopb/pb_encode.c', @@ -1123,8 +1123,8 @@ 'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc', 'src/core/ext/census/base_resources.cc', 'src/core/ext/census/context.cc', - 'src/core/ext/census/gen/census.pb.cc', - 'src/core/ext/census/gen/trace_context.pb.cc', + 'src/core/ext/census/gen/census.pb.c', + 'src/core/ext/census/gen/trace_context.pb.c', 'src/core/ext/census/grpc_context.cc', 'src/core/ext/census/grpc_filter.cc', 'src/core/ext/census/grpc_plugin.cc', diff --git a/package.xml b/package.xml index bbe2a10edd7..0656c457d23 100644 --- a/package.xml +++ b/package.xml @@ -643,7 +643,7 @@ - + @@ -660,8 +660,8 @@ - - + + diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc index d6a9aab7d61..383da42bb4e 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc @@ -2648,8 +2648,7 @@ void grpc_chttp2_config_default_keepalive_args(grpc_channel_args *args, } else if (0 == strcmp(args->args[i].key, GRPC_ARG_HTTP2_MAX_PING_STRIKES)) { g_default_max_ping_strikes = grpc_channel_arg_get_integer( - &args->args[i], - (grpc_integer_options){g_default_max_ping_strikes, 0, INT_MAX}); + &args->args[i], {g_default_max_ping_strikes, 0, INT_MAX}); } else if (0 == strcmp(args->args[i].key, GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA)) { g_default_max_pings_without_data = grpc_channel_arg_get_integer( diff --git a/src/core/lib/security/credentials/jwt/json_token.cc b/src/core/lib/security/credentials/jwt/json_token.cc index 1f5cc7059da..8c30353470a 100644 --- a/src/core/lib/security/credentials/jwt/json_token.cc +++ b/src/core/lib/security/credentials/jwt/json_token.cc @@ -30,9 +30,11 @@ #include "src/core/lib/slice/b64.h" #include "src/core/lib/support/string.h" +extern "C" { #include #include #include +} /* --- Constants. --- */ diff --git a/src/core/lib/security/credentials/jwt/json_token.h b/src/core/lib/security/credentials/jwt/json_token.h index 486fd981af1..b923b02df6f 100644 --- a/src/core/lib/security/credentials/jwt/json_token.h +++ b/src/core/lib/security/credentials/jwt/json_token.h @@ -19,6 +19,10 @@ #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H +#ifdef __cplusplus +extern "C" { +#endif + #include #include @@ -28,10 +32,6 @@ #define GRPC_JWT_OAUTH2_AUDIENCE "https://www.googleapis.com/oauth2/v3/token" -#ifdef __cplusplus -extern "C" { -#endif - /* --- auth_json_key parsing. --- */ typedef struct { @@ -78,4 +78,4 @@ void grpc_jwt_encode_and_sign_set_override( } #endif -#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H */ \ No newline at end of file +#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H */ diff --git a/src/core/lib/security/credentials/jwt/jwt_verifier.cc b/src/core/lib/security/credentials/jwt/jwt_verifier.cc index 656d0920cdb..aea16dee920 100644 --- a/src/core/lib/security/credentials/jwt/jwt_verifier.cc +++ b/src/core/lib/security/credentials/jwt/jwt_verifier.cc @@ -26,7 +26,10 @@ #include #include #include + +extern "C" { #include +} #include "src/core/lib/http/httpcli.h" #include "src/core/lib/iomgr/polling_entity.h" diff --git a/src/core/lib/support/string_util_windows.cc b/src/core/lib/support/string_util_windows.cc index f8b9a06c318..f1706693919 100644 --- a/src/core/lib/support/string_util_windows.cc +++ b/src/core/lib/support/string_util_windows.cc @@ -36,6 +36,7 @@ #include #include "src/core/lib/support/string.h" +#include "src/core/lib/support/string_windows.h" #if defined UNICODE || defined _UNICODE LPTSTR diff --git a/src/core/lib/surface/alarm.cc b/src/core/lib/surface/alarm.cc index 7712f560b99..4e675431914 100644 --- a/src/core/lib/surface/alarm.cc +++ b/src/core/lib/surface/alarm.cc @@ -15,6 +15,10 @@ * limitations under the License. * */ +#include + +#include + #include "src/core/lib/surface/alarm_internal.h" #include diff --git a/src/core/tsi/ssl_transport_security.cc b/src/core/tsi/ssl_transport_security.cc index dd59bccdaee..b1c69e9c7b2 100644 --- a/src/core/tsi/ssl_transport_security.cc +++ b/src/core/tsi/ssl_transport_security.cc @@ -39,12 +39,14 @@ #include #include +extern "C" { #include #include /* For OPENSSL_free */ #include #include #include #include +} #include "src/core/tsi/ssl_types.h" #include "src/core/tsi/transport_security.h" diff --git a/src/core/tsi/ssl_types.h b/src/core/tsi/ssl_types.h index 3788643355c..e0e967034b2 100644 --- a/src/core/tsi/ssl_types.h +++ b/src/core/tsi/ssl_types.h @@ -19,6 +19,10 @@ #ifndef GRPC_CORE_TSI_SSL_TYPES_H #define GRPC_CORE_TSI_SSL_TYPES_H +#ifdef __cplusplus +extern "C" { +#endif + /* A collection of macros to cast between various integer types that are * used differently between BoringSSL and OpenSSL: * TSI_INT_AS_SIZE(x): convert 'int x' to a length parameter for an OpenSSL @@ -37,4 +41,8 @@ #define TSI_SIZE_AS_SIZE(x) ((int)(x)) #endif +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_TSI_SSL_TYPES_H */ diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 5d3251c8843..2955d16be68 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -285,7 +285,7 @@ CORE_SOURCE_FILES = [ 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc', 'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc', 'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc', - 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc', + 'src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c', 'third_party/nanopb/pb_common.c', 'third_party/nanopb/pb_decode.c', 'third_party/nanopb/pb_encode.c', @@ -302,8 +302,8 @@ CORE_SOURCE_FILES = [ 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc', 'src/core/ext/census/base_resources.cc', 'src/core/ext/census/context.cc', - 'src/core/ext/census/gen/census.pb.cc', - 'src/core/ext/census/gen/trace_context.pb.cc', + 'src/core/ext/census/gen/census.pb.c', + 'src/core/ext/census/gen/trace_context.pb.c', 'src/core/ext/census/grpc_context.cc', 'src/core/ext/census/grpc_filter.cc', 'src/core/ext/census/grpc_plugin.cc', diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index b6ea3c2eb71..d4c645e728a 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -878,9 +878,9 @@ src/core/ext/census/census_interface.h \ src/core/ext/census/census_rpc_stats.h \ src/core/ext/census/context.cc \ src/core/ext/census/gen/README.md \ -src/core/ext/census/gen/census.pb.cc \ +src/core/ext/census/gen/census.pb.c \ src/core/ext/census/gen/census.pb.h \ -src/core/ext/census/gen/trace_context.pb.cc \ +src/core/ext/census/gen/trace_context.pb.c \ src/core/ext/census/gen/trace_context.pb.h \ src/core/ext/census/grpc_context.cc \ src/core/ext/census/grpc_filter.cc \ @@ -930,7 +930,7 @@ src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h \ src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc \ src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h \ -src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc \ +src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \ src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h \ src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc \ src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index f9cb67917cb..d4c09eeddf8 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -7727,9 +7727,9 @@ "src/core/ext/census/census_interface.h", "src/core/ext/census/census_rpc_stats.h", "src/core/ext/census/context.cc", - "src/core/ext/census/gen/census.pb.cc", + "src/core/ext/census/gen/census.pb.c", "src/core/ext/census/gen/census.pb.h", - "src/core/ext/census/gen/trace_context.pb.cc", + "src/core/ext/census/gen/trace_context.pb.c", "src/core/ext/census/gen/trace_context.pb.h", "src/core/ext/census/grpc_context.cc", "src/core/ext/census/grpc_filter.cc", @@ -8579,7 +8579,7 @@ "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h", "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h", - "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c", "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h" ], "third_party": false, @@ -8616,7 +8616,7 @@ "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h", "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h", - "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c", "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h" ], "third_party": false, From 547653ebdb3cc16e3c0fb65383322bc7dacc9b90 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 25 Sep 2017 21:20:19 -0700 Subject: [PATCH 104/180] some build changes, some unresolved dependencies --- build.yaml | 1 + .../proto/grpc/lb/v1/load_balancer.pb.c | 21 ++----------------- .../chttp2/transport/stream_lists.cc | 1 + src/core/lib/iomgr/tcp_windows.cc | 1 + src/core/lib/support/cpu_iphone.cc | 2 ++ src/core/lib/support/cpu_posix.cc | 1 + src/core/lib/support/cpu_windows.cc | 1 + src/core/lib/support/string_util_windows.cc | 1 + src/core/lib/support/wrap_memcpy.cc | 2 ++ src/core/lib/transport/static_metadata.h | 7 +++++++ tools/codegen/core/gen_static_metadata.py | 8 +++++++ .../generated/sources_and_headers.json | 1 + 12 files changed, 28 insertions(+), 19 deletions(-) diff --git a/build.yaml b/build.yaml index 06b1618f88a..0f411f86453 100644 --- a/build.yaml +++ b/build.yaml @@ -763,6 +763,7 @@ filegroups: - gpr filegroups: - grpc_trace_headers + - grpc_base_headers - name: grpc_trace_headers headers: - src/core/lib/debug/trace.h diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c index dd0ccc84761..6a5d54c82a0 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c @@ -1,20 +1,3 @@ -/* - * - * Copyright 2017 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ /* Automatically generated nanopb constant definitions */ /* Generated by nanopb-0.3.7-dev */ @@ -97,7 +80,7 @@ const pb_field_t grpc_lb_v1_Server_fields[5] = { #if !defined(PB_FIELD_32BIT) /* If you get an error here, it means that you need to define PB_FIELD_32BIT * compile-time option. You can do that in pb.h or on compiler command line. - * + * * The reason you need to do this is that some of your messages contain tag * numbers or field sizes that are larger than what can fit in 8 or 16 bit * field descriptors. @@ -108,7 +91,7 @@ PB_STATIC_ASSERT((pb_membersize(grpc_lb_v1_LoadBalanceRequest, initial_request) #if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) /* If you get an error here, it means that you need to define PB_FIELD_16BIT * compile-time option. You can do that in pb.h or on compiler command line. - * + * * The reason you need to do this is that some of your messages contain tag * numbers or field sizes that are larger than what can fit in the default * 8 bit descriptors. diff --git a/src/core/ext/transport/chttp2/transport/stream_lists.cc b/src/core/ext/transport/chttp2/transport/stream_lists.cc index 34f62aef845..9f731a397f3 100644 --- a/src/core/ext/transport/chttp2/transport/stream_lists.cc +++ b/src/core/ext/transport/chttp2/transport/stream_lists.cc @@ -16,6 +16,7 @@ * */ +#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" #include "src/core/ext/transport/chttp2/transport/internal.h" #include diff --git a/src/core/lib/iomgr/tcp_windows.cc b/src/core/lib/iomgr/tcp_windows.cc index d3659a077fe..daf15b49440 100644 --- a/src/core/lib/iomgr/tcp_windows.cc +++ b/src/core/lib/iomgr/tcp_windows.cc @@ -37,6 +37,7 @@ #include "src/core/lib/iomgr/sockaddr_utils.h" #include "src/core/lib/iomgr/socket_windows.h" #include "src/core/lib/iomgr/tcp_client.h" +#include "src/core/lib/iomgr/tcp_windows.h" #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/slice/slice_internal.h" diff --git a/src/core/lib/support/cpu_iphone.cc b/src/core/lib/support/cpu_iphone.cc index dfd69b9fd86..2847e03ba58 100644 --- a/src/core/lib/support/cpu_iphone.cc +++ b/src/core/lib/support/cpu_iphone.cc @@ -18,6 +18,8 @@ #include +#include + #ifdef GPR_CPU_IPHONE /* Probably 2 instead of 1, but see comment on gpr_cpu_current_cpu. */ diff --git a/src/core/lib/support/cpu_posix.cc b/src/core/lib/support/cpu_posix.cc index a1ba8202a87..503a96b4c8a 100644 --- a/src/core/lib/support/cpu_posix.cc +++ b/src/core/lib/support/cpu_posix.cc @@ -24,6 +24,7 @@ #include #include +#include #include #include #include diff --git a/src/core/lib/support/cpu_windows.cc b/src/core/lib/support/cpu_windows.cc index af26ff36797..8d894534039 100644 --- a/src/core/lib/support/cpu_windows.cc +++ b/src/core/lib/support/cpu_windows.cc @@ -19,6 +19,7 @@ #include #ifdef GPR_WINDOWS +#include #include unsigned gpr_cpu_num_cores(void) { diff --git a/src/core/lib/support/string_util_windows.cc b/src/core/lib/support/string_util_windows.cc index f1706693919..86e19527a77 100644 --- a/src/core/lib/support/string_util_windows.cc +++ b/src/core/lib/support/string_util_windows.cc @@ -33,6 +33,7 @@ #include #include +#include #include #include "src/core/lib/support/string.h" diff --git a/src/core/lib/support/wrap_memcpy.cc b/src/core/lib/support/wrap_memcpy.cc index cff056dc3be..c2362bf5b89 100644 --- a/src/core/lib/support/wrap_memcpy.cc +++ b/src/core/lib/support/wrap_memcpy.cc @@ -26,6 +26,7 @@ * Enable by setting LDFLAGS=-Wl,-wrap,memcpy when linking. */ +extern "C" { #ifdef __linux__ #if defined(__x86_64__) && !defined(GPR_MUSL_LIBC_COMPAT) __asm__(".symver memcpy,memcpy@GLIBC_2.2.5"); @@ -38,3 +39,4 @@ void *__wrap_memcpy(void *destination, const void *source, size_t num) { } #endif #endif +} diff --git a/src/core/lib/transport/static_metadata.h b/src/core/lib/transport/static_metadata.h index f03a9d23b1b..299410f22c4 100644 --- a/src/core/lib/transport/static_metadata.h +++ b/src/core/lib/transport/static_metadata.h @@ -27,6 +27,10 @@ #ifndef GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H #define GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H +#ifdef __cplusplus +extern "C" { +#endif + #include "src/core/lib/transport/metadata.h" #define GRPC_STATIC_MDSTR_COUNT 100 @@ -584,4 +588,7 @@ extern const uint8_t grpc_static_accept_stream_encoding_metadata[4]; (GRPC_MAKE_MDELEM(&grpc_static_mdelem_table \ [grpc_static_accept_stream_encoding_metadata[(algs)]], \ GRPC_MDELEM_STORAGE_STATIC)) +#ifdef __cplusplus +} +#endif #endif /* GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H */ diff --git a/tools/codegen/core/gen_static_metadata.py b/tools/codegen/core/gen_static_metadata.py index 0833204e19f..355f3f4e232 100755 --- a/tools/codegen/core/gen_static_metadata.py +++ b/tools/codegen/core/gen_static_metadata.py @@ -354,6 +354,10 @@ an explanation of what's going on. print >> H, '#ifndef GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H' print >> H, '#define GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H' print >> H +print >> H, '#ifdef __cplusplus' +print >> H, 'extern "C" {' +print >> H, '#endif' +print >> H print >> H, '#include "src/core/lib/transport/metadata.h"' print >> H @@ -589,6 +593,10 @@ print >> C, '};' print >> H, '#define GRPC_MDELEM_ACCEPT_STREAM_ENCODING_FOR_ALGORITHMS(algs) (GRPC_MAKE_MDELEM(&grpc_static_mdelem_table[grpc_static_accept_stream_encoding_metadata[(algs)]], GRPC_MDELEM_STORAGE_STATIC))' +print >> H, '#ifdef __cplusplus' +print >> H, '}' +print >> H, '#endif' + print >> H, '#endif /* GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H */' H.close() diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index d4c09eeddf8..b23c5d7bc91 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -8951,6 +8951,7 @@ { "deps": [ "gpr", + "grpc_base_headers", "grpc_trace_headers" ], "headers": [], From 0362c60fde326856e95496091dc94b2d1815fec1 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 25 Sep 2017 22:35:21 -0700 Subject: [PATCH 105/180] Windows definition/declaration bugs --- src/core/ext/transport/chttp2/transport/hpack_encoder.cc | 2 +- src/core/ext/transport/chttp2/transport/hpack_table.cc | 2 +- src/core/lib/compression/stream_compression.cc | 2 +- src/core/lib/iomgr/tcp_windows.cc | 2 +- src/core/lib/support/string_util_windows.cc | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/hpack_encoder.cc b/src/core/ext/transport/chttp2/transport/hpack_encoder.cc index a404b664e33..5f1a2708a56 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +++ b/src/core/ext/transport/chttp2/transport/hpack_encoder.cc @@ -57,7 +57,7 @@ static const grpc_slice terminal_slice = { {{0, 0}} /* data.refcounted */ }; -extern grpc_tracer_flag grpc_http_trace; +extern "C" grpc_tracer_flag grpc_http_trace; typedef struct { int is_first_frame; diff --git a/src/core/ext/transport/chttp2/transport/hpack_table.cc b/src/core/ext/transport/chttp2/transport/hpack_table.cc index bbd135a318b..82c284b36e3 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_table.cc +++ b/src/core/ext/transport/chttp2/transport/hpack_table.cc @@ -28,7 +28,7 @@ #include "src/core/lib/debug/trace.h" #include "src/core/lib/support/murmur_hash.h" -extern grpc_tracer_flag grpc_http_trace; +extern "C" grpc_tracer_flag grpc_http_trace; static struct { const char *key; diff --git a/src/core/lib/compression/stream_compression.cc b/src/core/lib/compression/stream_compression.cc index 411489f0296..7faeb0d34f0 100644 --- a/src/core/lib/compression/stream_compression.cc +++ b/src/core/lib/compression/stream_compression.cc @@ -21,7 +21,7 @@ #include "src/core/lib/compression/stream_compression.h" #include "src/core/lib/compression/stream_compression_gzip.h" -extern const grpc_stream_compression_vtable +extern "C" const grpc_stream_compression_vtable grpc_stream_compression_identity_vtable; bool grpc_stream_compress(grpc_stream_compression_context *ctx, diff --git a/src/core/lib/iomgr/tcp_windows.cc b/src/core/lib/iomgr/tcp_windows.cc index daf15b49440..dc84e564a9b 100644 --- a/src/core/lib/iomgr/tcp_windows.cc +++ b/src/core/lib/iomgr/tcp_windows.cc @@ -419,7 +419,7 @@ static grpc_endpoint_vtable vtable = { grpc_endpoint *grpc_tcp_create(grpc_exec_ctx *exec_ctx, grpc_winsocket *socket, grpc_channel_args *channel_args, - char *peer_string) { + const char *peer_string) { grpc_resource_quota *resource_quota = grpc_resource_quota_create(NULL); if (channel_args != NULL) { for (size_t i = 0; i < channel_args->num_args; i++) { diff --git a/src/core/lib/support/string_util_windows.cc b/src/core/lib/support/string_util_windows.cc index 86e19527a77..b365512ee38 100644 --- a/src/core/lib/support/string_util_windows.cc +++ b/src/core/lib/support/string_util_windows.cc @@ -60,9 +60,9 @@ gpr_tchar_to_char(LPCTSTR input) { return ret; } #else -char *gpr_tchar_to_char(LPTSTR input) { return gpr_strdup(input); } +LPSTR gpr_tchar_to_char(LPCTSTR input) { return (LPSTR)gpr_strdup(input); } -char *gpr_char_to_tchar(LPTSTR input) { return gpr_strdup(input); } +LPTSTR gpr_char_to_tchar(LPCTSTR input) { return (LPTSTR)gpr_strdup(input); } #endif char *gpr_format_message(int messageid) { From f5b4f80e5cd5021bfbea3376b64ab54bbf8e4980 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 26 Sep 2017 00:07:41 -0700 Subject: [PATCH 106/180] Windows build errors --- src/core/lib/iomgr/ev_epoll1_linux.cc | 4 ++-- src/core/lib/iomgr/tcp_client_posix.cc | 2 ++ src/core/lib/iomgr/tcp_client_uv.cc | 2 ++ src/core/lib/iomgr/tcp_client_windows.cc | 2 ++ src/core/lib/iomgr/timer_generic.cc | 2 ++ src/core/lib/iomgr/timer_manager.cc | 2 +- src/core/lib/iomgr/timer_uv.cc | 2 ++ src/core/lib/support/time_posix.cc | 2 ++ src/core/lib/support/time_windows.cc | 2 ++ 9 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/core/lib/iomgr/ev_epoll1_linux.cc b/src/core/lib/iomgr/ev_epoll1_linux.cc index 3ac12ab56f0..245fd950e29 100644 --- a/src/core/lib/iomgr/ev_epoll1_linux.cc +++ b/src/core/lib/iomgr/ev_epoll1_linux.cc @@ -18,11 +18,11 @@ #include "src/core/lib/iomgr/port.h" +#include "src/core/lib/iomgr/ev_epoll1_linux.h" + /* This polling engine is only relevant on linux kernels supporting epoll() */ #ifdef GRPC_LINUX_EPOLL -#include "src/core/lib/iomgr/ev_epoll1_linux.h" - #include #include #include diff --git a/src/core/lib/iomgr/tcp_client_posix.cc b/src/core/lib/iomgr/tcp_client_posix.cc index 39dbb506e2f..7d9e9533fda 100644 --- a/src/core/lib/iomgr/tcp_client_posix.cc +++ b/src/core/lib/iomgr/tcp_client_posix.cc @@ -337,11 +337,13 @@ done: } // overridden by api_fuzzer.c +extern "C" { void (*grpc_tcp_client_connect_impl)( grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, const grpc_resolved_address *addr, gpr_timespec deadline) = tcp_client_connect_impl; +} void grpc_tcp_client_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, diff --git a/src/core/lib/iomgr/tcp_client_uv.cc b/src/core/lib/iomgr/tcp_client_uv.cc index b1a301e3782..274366b3566 100644 --- a/src/core/lib/iomgr/tcp_client_uv.cc +++ b/src/core/lib/iomgr/tcp_client_uv.cc @@ -164,11 +164,13 @@ static void tcp_client_connect_impl(grpc_exec_ctx *exec_ctx, } // overridden by api_fuzzer.c +extern "C" { void (*grpc_tcp_client_connect_impl)( grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, const grpc_resolved_address *addr, gpr_timespec deadline) = tcp_client_connect_impl; +} void grpc_tcp_client_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, diff --git a/src/core/lib/iomgr/tcp_client_windows.cc b/src/core/lib/iomgr/tcp_client_windows.cc index cb274ec7717..1154965c82f 100644 --- a/src/core/lib/iomgr/tcp_client_windows.cc +++ b/src/core/lib/iomgr/tcp_client_windows.cc @@ -228,11 +228,13 @@ failure: } // overridden by api_fuzzer.c +extern "C" { void (*grpc_tcp_client_connect_impl)( grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, const grpc_resolved_address *addr, gpr_timespec deadline) = tcp_client_connect_impl; +} void grpc_tcp_client_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, diff --git a/src/core/lib/iomgr/timer_generic.cc b/src/core/lib/iomgr/timer_generic.cc index 91e227d241c..971d80d8bc5 100644 --- a/src/core/lib/iomgr/timer_generic.cc +++ b/src/core/lib/iomgr/timer_generic.cc @@ -43,9 +43,11 @@ #define MIN_QUEUE_WINDOW_DURATION 0.01 #define MAX_QUEUE_WINDOW_DURATION 1 +extern "C" { grpc_tracer_flag grpc_timer_trace = GRPC_TRACER_INITIALIZER(false, "timer"); grpc_tracer_flag grpc_timer_check_trace = GRPC_TRACER_INITIALIZER(false, "timer_check"); +} /* A "timer shard". Contains a 'heap' and a 'list' of timers. All timers with * deadlines earlier than 'queue_deadline" cap are maintained in the heap and diff --git a/src/core/lib/iomgr/timer_manager.cc b/src/core/lib/iomgr/timer_manager.cc index 862eba19f40..9b54fab898f 100644 --- a/src/core/lib/iomgr/timer_manager.cc +++ b/src/core/lib/iomgr/timer_manager.cc @@ -33,7 +33,7 @@ typedef struct completed_thread { struct completed_thread *next; } completed_thread; -extern grpc_tracer_flag grpc_timer_check_trace; +extern "C" grpc_tracer_flag grpc_timer_check_trace; // global mutex static gpr_mu g_mu; diff --git a/src/core/lib/iomgr/timer_uv.cc b/src/core/lib/iomgr/timer_uv.cc index d53fbf423cd..53f79b545ae 100644 --- a/src/core/lib/iomgr/timer_uv.cc +++ b/src/core/lib/iomgr/timer_uv.cc @@ -29,9 +29,11 @@ #include +extern "C" { grpc_tracer_flag grpc_timer_trace = GRPC_TRACER_INITIALIZER(false, "timer"); grpc_tracer_flag grpc_timer_check_trace = GRPC_TRACER_INITIALIZER(false, "timer_check"); +} static void timer_close_callback(uv_handle_t *handle) { gpr_free(handle); } diff --git a/src/core/lib/support/time_posix.cc b/src/core/lib/support/time_posix.cc index 3ead40d8078..deccb509752 100644 --- a/src/core/lib/support/time_posix.cc +++ b/src/core/lib/support/time_posix.cc @@ -128,7 +128,9 @@ static gpr_timespec now_impl(gpr_clock_type clock) { } #endif +extern "C" { gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type) = now_impl; +} #ifdef GPR_LOW_LEVEL_COUNTERS gpr_atm gpr_now_call_count; diff --git a/src/core/lib/support/time_windows.cc b/src/core/lib/support/time_windows.cc index 40df3761c00..dda7566cd8c 100644 --- a/src/core/lib/support/time_windows.cc +++ b/src/core/lib/support/time_windows.cc @@ -69,7 +69,9 @@ static gpr_timespec now_impl(gpr_clock_type clock) { return now_tv; } +extern "C" { gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type) = now_impl; +} gpr_timespec gpr_now(gpr_clock_type clock_type) { return gpr_now_impl(clock_type); From 1cac223bb749b0e4fcf8ab5e6340f9c9731e6b3b Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 26 Sep 2017 11:31:11 -0700 Subject: [PATCH 107/180] poll.h not found, unresolved external dependencies issues --- src/core/lib/iomgr/ev_epoll1_linux.cc | 5 ++--- src/core/lib/iomgr/ev_epollex_linux.cc | 2 +- src/core/lib/iomgr/ev_epollsig_linux.cc | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/core/lib/iomgr/ev_epoll1_linux.cc b/src/core/lib/iomgr/ev_epoll1_linux.cc index 245fd950e29..689aac15bf2 100644 --- a/src/core/lib/iomgr/ev_epoll1_linux.cc +++ b/src/core/lib/iomgr/ev_epoll1_linux.cc @@ -18,10 +18,9 @@ #include "src/core/lib/iomgr/port.h" -#include "src/core/lib/iomgr/ev_epoll1_linux.h" - /* This polling engine is only relevant on linux kernels supporting epoll() */ #ifdef GRPC_LINUX_EPOLL +#include "src/core/lib/iomgr/ev_epoll1_linux.h" #include #include @@ -1257,7 +1256,7 @@ const grpc_event_engine_vtable *grpc_init_epoll1_linux(bool explicit_request) { #else /* defined(GRPC_LINUX_EPOLL) */ #if defined(GRPC_POSIX_SOCKET) -#include "src/core/lib/iomgr/ev_posix.h" +#include "src/core/lib/iomgr/ev_epoll1_linux.h" /* If GRPC_LINUX_EPOLL is not defined, it means epoll is not available. Return * NULL */ const grpc_event_engine_vtable *grpc_init_epoll1_linux(bool explicit_request) { diff --git a/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc index 8eb4de44d96..bed47e4388a 100644 --- a/src/core/lib/iomgr/ev_epollex_linux.cc +++ b/src/core/lib/iomgr/ev_epollex_linux.cc @@ -1449,7 +1449,7 @@ const grpc_event_engine_vtable *grpc_init_epollex_linux( #else /* defined(GRPC_LINUX_EPOLL) */ #if defined(GRPC_POSIX_SOCKET) -#include "src/core/lib/iomgr/ev_posix.h" +#include "src/core/lib/iomgr/ev_epollex_linux.h" /* If GRPC_LINUX_EPOLL is not defined, it means epoll is not available. Return * NULL */ const grpc_event_engine_vtable *grpc_init_epollex_linux( diff --git a/src/core/lib/iomgr/ev_epollsig_linux.cc b/src/core/lib/iomgr/ev_epollsig_linux.cc index 4d8bdf14010..c8e07c6e184 100644 --- a/src/core/lib/iomgr/ev_epollsig_linux.cc +++ b/src/core/lib/iomgr/ev_epollsig_linux.cc @@ -1756,7 +1756,7 @@ const grpc_event_engine_vtable *grpc_init_epollsig_linux( #else /* defined(GRPC_LINUX_EPOLL) */ #if defined(GRPC_POSIX_SOCKET) -#include "src/core/lib/iomgr/ev_posix.h" +#include "src/core/lib/iomgr/ev_epollsig_linux.h" /* If GRPC_LINUX_EPOLL is not defined, it means epoll is not available. Return * NULL */ const grpc_event_engine_vtable *grpc_init_epollsig_linux( From 511c9c7f3b0a1bc18af320d51d571362e748769a Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 26 Sep 2017 13:36:21 -0700 Subject: [PATCH 108/180] cronet dependency for mac --- src/core/ext/transport/cronet/transport/cronet_transport.cc | 1 + src/core/ext/transport/cronet/transport/cronet_transport.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/ext/transport/cronet/transport/cronet_transport.cc b/src/core/ext/transport/cronet/transport/cronet_transport.cc index 90f81a8c902..ff1367fb285 100644 --- a/src/core/ext/transport/cronet/transport/cronet_transport.cc +++ b/src/core/ext/transport/cronet/transport/cronet_transport.cc @@ -27,6 +27,7 @@ #include #include "src/core/ext/transport/chttp2/transport/incoming_metadata.h" +#include "src/core/ext/transport/cronet/transport/cronet_transport.h" #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/slice/slice_internal.h" diff --git a/src/core/ext/transport/cronet/transport/cronet_transport.h b/src/core/ext/transport/cronet/transport/cronet_transport.h index c473afa100b..43ff391f792 100644 --- a/src/core/ext/transport/cronet/transport/cronet_transport.h +++ b/src/core/ext/transport/cronet/transport/cronet_transport.h @@ -33,4 +33,4 @@ grpc_transport *grpc_create_cronet_transport(void *engine, const char *target, } #endif -#endif /* GRPC_CORE_EXT_TRANSPORT_CRONET_TRANSPORT_CRONET_TRANSPORT_H */ \ No newline at end of file +#endif /* GRPC_CORE_EXT_TRANSPORT_CRONET_TRANSPORT_CRONET_TRANSPORT_H */ From 7f25686dcfc602a4f72ae9e07cde001171197fa3 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 26 Sep 2017 18:28:14 -0700 Subject: [PATCH 109/180] Another try for windows python build --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 1f047a4e737..f27d3d7be59 100644 --- a/setup.py +++ b/setup.py @@ -100,7 +100,7 @@ EXTRA_ENV_COMPILE_ARGS = os.environ.get('GRPC_PYTHON_CFLAGS', None) EXTRA_ENV_LINK_ARGS = os.environ.get('GRPC_PYTHON_LDFLAGS', None) if EXTRA_ENV_COMPILE_ARGS is None: EXTRA_ENV_COMPILE_ARGS = '' - if 'win32' in sys.platform and sys.version_info < (3, 5): + if 'win32' in sys.platform: #and sys.version_info < (3, 5): EXTRA_ENV_COMPILE_ARGS += ' -std=c++11' # We use define flags here and don't directly add to DEFINE_MACROS below to # ensure that the expert user/builder has a way of turning it off (via the From 778d24405736d35ca1aaf9353ce6e06c1d266b89 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 26 Sep 2017 22:59:56 -0700 Subject: [PATCH 110/180] Trying another fix for windows python --- setup.py | 2 +- src/core/lib/iomgr/socket_utils_windows.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index f27d3d7be59..1f047a4e737 100644 --- a/setup.py +++ b/setup.py @@ -100,7 +100,7 @@ EXTRA_ENV_COMPILE_ARGS = os.environ.get('GRPC_PYTHON_CFLAGS', None) EXTRA_ENV_LINK_ARGS = os.environ.get('GRPC_PYTHON_LDFLAGS', None) if EXTRA_ENV_COMPILE_ARGS is None: EXTRA_ENV_COMPILE_ARGS = '' - if 'win32' in sys.platform: #and sys.version_info < (3, 5): + if 'win32' in sys.platform and sys.version_info < (3, 5): EXTRA_ENV_COMPILE_ARGS += ' -std=c++11' # We use define flags here and don't directly add to DEFINE_MACROS below to # ensure that the expert user/builder has a way of turning it off (via the diff --git a/src/core/lib/iomgr/socket_utils_windows.cc b/src/core/lib/iomgr/socket_utils_windows.cc index 6e85e4b61fd..ddb6894b57f 100644 --- a/src/core/lib/iomgr/socket_utils_windows.cc +++ b/src/core/lib/iomgr/socket_utils_windows.cc @@ -27,7 +27,7 @@ const char *grpc_inet_ntop(int af, const void *src, char *dst, size_t size) { /* Windows InetNtopA wants a mutable ip pointer */ - return InetNtopA(af, (void *)src, dst, size); + return InetNtop(af, (void *)src, dst, size); } #endif /* GRPC_WINDOWS_SOCKETUTILS */ From 139869d6a73fd14d66a6657f49ffbffeca51db85 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 28 Sep 2017 11:28:55 -0700 Subject: [PATCH 111/180] Reverting socket_utils_windows.c till a fix for inet_ntop is found. Trying BUILD changes --- BUILD | 624 +++++++++--------- build.yaml | 2 +- setup.py | 2 +- ...tils_windows.cc => socket_utils_windows.c} | 6 +- 4 files changed, 319 insertions(+), 315 deletions(-) rename src/core/lib/iomgr/{socket_utils_windows.cc => socket_utils_windows.c} (86%) diff --git a/BUILD b/BUILD index dfcded21976..cfbeb392cb5 100644 --- a/BUILD +++ b/BUILD @@ -198,9 +198,9 @@ grpc_cc_library( grpc_cc_library( name = "grpc_unsecure", srcs = [ - "src/core/lib/surface/init.c", - "src/core/lib/surface/init_unsecure.c", - "src/core/plugin_registry/grpc_unsecure_plugin_registry.c", + "src/core/lib/surface/init.cc", + "src/core/lib/surface/init_unsecure.cc", + "src/core/plugin_registry/grpc_unsecure_plugin_registry.cc", ], language = "c", public_hdrs = GRPC_PUBLIC_HDRS, @@ -214,8 +214,8 @@ grpc_cc_library( grpc_cc_library( name = "grpc", srcs = [ - "src/core/lib/surface/init.c", - "src/core/plugin_registry/grpc_plugin_registry.c", + "src/core/lib/surface/init.cc", + "src/core/plugin_registry/grpc_plugin_registry.cc", ], language = "c", public_hdrs = GRPC_PUBLIC_HDRS + GRPC_SECURE_PUBLIC_HDRS, @@ -232,8 +232,8 @@ grpc_cc_library( grpc_cc_library( name = "grpc_cronet", srcs = [ - "src/core/lib/surface/init.c", - "src/core/plugin_registry/grpc_cronet_plugin_registry.c", + "src/core/lib/surface/init.cc", + "src/core/plugin_registry/grpc_cronet_plugin_registry.cc", ], language = "c", deps = [ @@ -409,21 +409,21 @@ grpc_cc_library( grpc_cc_library( name = "census", srcs = [ - "src/core/ext/census/base_resources.c", - "src/core/ext/census/context.c", + "src/core/ext/census/base_resources.cc", + "src/core/ext/census/context.cc", "src/core/ext/census/gen/census.pb.c", "src/core/ext/census/gen/trace_context.pb.c", - "src/core/ext/census/grpc_context.c", - "src/core/ext/census/grpc_filter.c", - "src/core/ext/census/grpc_plugin.c", - "src/core/ext/census/initialize.c", - "src/core/ext/census/intrusive_hash_map.c", - "src/core/ext/census/mlog.c", - "src/core/ext/census/operation.c", - "src/core/ext/census/placeholders.c", - "src/core/ext/census/resource.c", - "src/core/ext/census/trace_context.c", - "src/core/ext/census/tracing.c", + "src/core/ext/census/grpc_context.cc", + "src/core/ext/census/grpc_filter.cc", + "src/core/ext/census/grpc_plugin.cc", + "src/core/ext/census/initialize.cc", + "src/core/ext/census/intrusive_hash_map.cc", + "src/core/ext/census/mlog.cc", + "src/core/ext/census/operation.cc", + "src/core/ext/census/placeholders.cc", + "src/core/ext/census/resource.cc", + "src/core/ext/census/trace_context.cc", + "src/core/ext/census/tracing.cc", ], hdrs = [ "src/core/ext/census/aggregation.h", @@ -461,52 +461,52 @@ grpc_cc_library( grpc_cc_library( name = "gpr_base", srcs = [ - "src/core/lib/profiling/basic_timers.c", - "src/core/lib/profiling/stap_timers.c", - "src/core/lib/support/alloc.c", - "src/core/lib/support/arena.c", - "src/core/lib/support/atm.c", - "src/core/lib/support/avl.c", - "src/core/lib/support/backoff.c", - "src/core/lib/support/cmdline.c", - "src/core/lib/support/cpu_iphone.c", - "src/core/lib/support/cpu_linux.c", - "src/core/lib/support/cpu_posix.c", - "src/core/lib/support/cpu_windows.c", - "src/core/lib/support/env_linux.c", - "src/core/lib/support/env_posix.c", - "src/core/lib/support/env_windows.c", - "src/core/lib/support/histogram.c", - "src/core/lib/support/host_port.c", - "src/core/lib/support/log.c", - "src/core/lib/support/log_android.c", - "src/core/lib/support/log_linux.c", - "src/core/lib/support/log_posix.c", - "src/core/lib/support/log_windows.c", - "src/core/lib/support/mpscq.c", - "src/core/lib/support/murmur_hash.c", - "src/core/lib/support/stack_lockfree.c", - "src/core/lib/support/string.c", - "src/core/lib/support/string_posix.c", - "src/core/lib/support/string_util_windows.c", - "src/core/lib/support/string_windows.c", - "src/core/lib/support/subprocess_posix.c", - "src/core/lib/support/subprocess_windows.c", - "src/core/lib/support/sync.c", - "src/core/lib/support/sync_posix.c", - "src/core/lib/support/sync_windows.c", - "src/core/lib/support/thd.c", - "src/core/lib/support/thd_posix.c", - "src/core/lib/support/thd_windows.c", - "src/core/lib/support/time.c", - "src/core/lib/support/time_posix.c", - "src/core/lib/support/time_precise.c", - "src/core/lib/support/time_windows.c", - "src/core/lib/support/tls_pthread.c", - "src/core/lib/support/tmpfile_msys.c", - "src/core/lib/support/tmpfile_posix.c", - "src/core/lib/support/tmpfile_windows.c", - "src/core/lib/support/wrap_memcpy.c", + "src/core/lib/profiling/basic_timers.cc", + "src/core/lib/profiling/stap_timers.cc", + "src/core/lib/support/alloc.cc", + "src/core/lib/support/arena.cc", + "src/core/lib/support/atm.cc", + "src/core/lib/support/avl.cc", + "src/core/lib/support/backoff.cc", + "src/core/lib/support/cmdline.cc", + "src/core/lib/support/cpu_iphone.cc", + "src/core/lib/support/cpu_linux.cc", + "src/core/lib/support/cpu_posix.cc", + "src/core/lib/support/cpu_windows.cc", + "src/core/lib/support/env_linux.cc", + "src/core/lib/support/env_posix.cc", + "src/core/lib/support/env_windows.cc", + "src/core/lib/support/histogram.cc", + "src/core/lib/support/host_port.cc", + "src/core/lib/support/log.cc", + "src/core/lib/support/log_android.cc", + "src/core/lib/support/log_linux.cc", + "src/core/lib/support/log_posix.cc", + "src/core/lib/support/log_windows.cc", + "src/core/lib/support/mpscq.cc", + "src/core/lib/support/murmur_hash.cc", + "src/core/lib/support/stack_lockfree.cc", + "src/core/lib/support/string.cc", + "src/core/lib/support/string_posix.cc", + "src/core/lib/support/string_util_windows.cc", + "src/core/lib/support/string_windows.cc", + "src/core/lib/support/subprocess_posix.cc", + "src/core/lib/support/subprocess_windows.cc", + "src/core/lib/support/sync.cc", + "src/core/lib/support/sync_posix.cc", + "src/core/lib/support/sync_windows.cc", + "src/core/lib/support/thd.cc", + "src/core/lib/support/thd_posix.cc", + "src/core/lib/support/thd_windows.cc", + "src/core/lib/support/time.cc", + "src/core/lib/support/time_posix.cc", + "src/core/lib/support/time_precise.cc", + "src/core/lib/support/time_windows.cc", + "src/core/lib/support/tls_pthread.cc", + "src/core/lib/support/tmpfile_msys.cc", + "src/core/lib/support/tmpfile_posix.cc", + "src/core/lib/support/tmpfile_windows.cc", + "src/core/lib/support/wrap_memcpy.cc", ], hdrs = [ "src/core/lib/profiling/timers.h", @@ -555,7 +555,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_trace", - srcs = ["src/core/lib/debug/trace.c"], + srcs = ["src/core/lib/debug/trace.cc"], hdrs = ["src/core/lib/debug/trace.h"], language = "c", deps = [":gpr"], @@ -564,136 +564,136 @@ grpc_cc_library( grpc_cc_library( name = "grpc_base_c", srcs = [ - "src/core/lib/channel/channel_args.c", - "src/core/lib/channel/channel_stack.c", - "src/core/lib/channel/channel_stack_builder.c", - "src/core/lib/channel/connected_channel.c", - "src/core/lib/channel/handshaker.c", - "src/core/lib/channel/handshaker_factory.c", - "src/core/lib/channel/handshaker_registry.c", - "src/core/lib/compression/compression.c", - "src/core/lib/compression/message_compress.c", - "src/core/lib/compression/stream_compression.c", - "src/core/lib/compression/stream_compression_gzip.c", - "src/core/lib/compression/stream_compression_identity.c", - "src/core/lib/debug/stats.c", - "src/core/lib/debug/stats_data.c", - "src/core/lib/http/format_request.c", - "src/core/lib/http/httpcli.c", - "src/core/lib/http/parser.c", - "src/core/lib/iomgr/call_combiner.c", - "src/core/lib/iomgr/closure.c", - "src/core/lib/iomgr/combiner.c", - "src/core/lib/iomgr/endpoint.c", - "src/core/lib/iomgr/endpoint_pair_posix.c", - "src/core/lib/iomgr/endpoint_pair_uv.c", - "src/core/lib/iomgr/endpoint_pair_windows.c", - "src/core/lib/iomgr/error.c", - "src/core/lib/iomgr/ev_epoll1_linux.c", - "src/core/lib/iomgr/ev_epollex_linux.c", - "src/core/lib/iomgr/ev_epollsig_linux.c", - "src/core/lib/iomgr/ev_poll_posix.c", - "src/core/lib/iomgr/ev_posix.c", - "src/core/lib/iomgr/ev_windows.c", - "src/core/lib/iomgr/exec_ctx.c", - "src/core/lib/iomgr/executor.c", - "src/core/lib/iomgr/gethostname_fallback.c", - "src/core/lib/iomgr/gethostname_host_name_max.c", - "src/core/lib/iomgr/gethostname_sysconf.c", - "src/core/lib/iomgr/iocp_windows.c", - "src/core/lib/iomgr/iomgr.c", - "src/core/lib/iomgr/iomgr_posix.c", - "src/core/lib/iomgr/iomgr_uv.c", - "src/core/lib/iomgr/iomgr_windows.c", - "src/core/lib/iomgr/is_epollexclusive_available.c", - "src/core/lib/iomgr/load_file.c", - "src/core/lib/iomgr/lockfree_event.c", - "src/core/lib/iomgr/network_status_tracker.c", - "src/core/lib/iomgr/polling_entity.c", - "src/core/lib/iomgr/pollset_set_uv.c", - "src/core/lib/iomgr/pollset_set_windows.c", - "src/core/lib/iomgr/pollset_uv.c", - "src/core/lib/iomgr/pollset_windows.c", - "src/core/lib/iomgr/resolve_address_posix.c", - "src/core/lib/iomgr/resolve_address_uv.c", - "src/core/lib/iomgr/resolve_address_windows.c", - "src/core/lib/iomgr/resource_quota.c", - "src/core/lib/iomgr/sockaddr_utils.c", - "src/core/lib/iomgr/socket_factory_posix.c", - "src/core/lib/iomgr/socket_mutator.c", - "src/core/lib/iomgr/socket_utils_common_posix.c", - "src/core/lib/iomgr/socket_utils_linux.c", - "src/core/lib/iomgr/socket_utils_posix.c", - "src/core/lib/iomgr/socket_utils_uv.c", + "src/core/lib/channel/channel_args.cc", + "src/core/lib/channel/channel_stack.cc", + "src/core/lib/channel/channel_stack_builder.cc", + "src/core/lib/channel/connected_channel.cc", + "src/core/lib/channel/handshaker.cc", + "src/core/lib/channel/handshaker_factory.cc", + "src/core/lib/channel/handshaker_registry.cc", + "src/core/lib/compression/compression.cc", + "src/core/lib/compression/message_compress.cc", + "src/core/lib/compression/stream_compression.cc", + "src/core/lib/compression/stream_compression_gzip.cc", + "src/core/lib/compression/stream_compression_identity.cc", + "src/core/lib/debug/stats.cc", + "src/core/lib/debug/stats_data.cc", + "src/core/lib/http/format_request.cc", + "src/core/lib/http/httpcli.cc", + "src/core/lib/http/parser.cc", + "src/core/lib/iomgr/call_combiner.cc", + "src/core/lib/iomgr/closure.cc", + "src/core/lib/iomgr/combiner.cc", + "src/core/lib/iomgr/endpoint.cc", + "src/core/lib/iomgr/endpoint_pair_posix.cc", + "src/core/lib/iomgr/endpoint_pair_uv.cc", + "src/core/lib/iomgr/endpoint_pair_windows.cc", + "src/core/lib/iomgr/error.cc", + "src/core/lib/iomgr/ev_epoll1_linux.cc", + "src/core/lib/iomgr/ev_epollex_linux.cc", + "src/core/lib/iomgr/ev_epollsig_linux.cc", + "src/core/lib/iomgr/ev_poll_posix.cc", + "src/core/lib/iomgr/ev_posix.cc", + "src/core/lib/iomgr/ev_windows.cc", + "src/core/lib/iomgr/exec_ctx.cc", + "src/core/lib/iomgr/executor.cc", + "src/core/lib/iomgr/gethostname_fallback.cc", + "src/core/lib/iomgr/gethostname_host_name_max.cc", + "src/core/lib/iomgr/gethostname_sysconf.cc", + "src/core/lib/iomgr/iocp_windows.cc", + "src/core/lib/iomgr/iomgr.cc", + "src/core/lib/iomgr/iomgr_posix.cc", + "src/core/lib/iomgr/iomgr_uv.cc", + "src/core/lib/iomgr/iomgr_windows.cc", + "src/core/lib/iomgr/is_epollexclusive_available.cc", + "src/core/lib/iomgr/load_file.cc", + "src/core/lib/iomgr/lockfree_event.cc", + "src/core/lib/iomgr/network_status_tracker.cc", + "src/core/lib/iomgr/polling_entity.cc", + "src/core/lib/iomgr/pollset_set_uv.cc", + "src/core/lib/iomgr/pollset_set_windows.cc", + "src/core/lib/iomgr/pollset_uv.cc", + "src/core/lib/iomgr/pollset_windows.cc", + "src/core/lib/iomgr/resolve_address_posix.cc", + "src/core/lib/iomgr/resolve_address_uv.cc", + "src/core/lib/iomgr/resolve_address_windows.cc", + "src/core/lib/iomgr/resource_quota.cc", + "src/core/lib/iomgr/sockaddr_utils.cc", + "src/core/lib/iomgr/socket_factory_posix.cc", + "src/core/lib/iomgr/socket_mutator.cc", + "src/core/lib/iomgr/socket_utils_common_posix.cc", + "src/core/lib/iomgr/socket_utils_linux.cc", + "src/core/lib/iomgr/socket_utils_posix.cc", + "src/core/lib/iomgr/socket_utils_uv.cc", "src/core/lib/iomgr/socket_utils_windows.c", - "src/core/lib/iomgr/socket_windows.c", - "src/core/lib/iomgr/tcp_client_posix.c", - "src/core/lib/iomgr/tcp_client_uv.c", - "src/core/lib/iomgr/tcp_client_windows.c", - "src/core/lib/iomgr/tcp_posix.c", - "src/core/lib/iomgr/tcp_server_posix.c", - "src/core/lib/iomgr/tcp_server_utils_posix_common.c", - "src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c", - "src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c", - "src/core/lib/iomgr/tcp_server_uv.c", - "src/core/lib/iomgr/tcp_server_windows.c", - "src/core/lib/iomgr/tcp_uv.c", - "src/core/lib/iomgr/tcp_windows.c", - "src/core/lib/iomgr/time_averaged_stats.c", - "src/core/lib/iomgr/timer_generic.c", - "src/core/lib/iomgr/timer_heap.c", - "src/core/lib/iomgr/timer_manager.c", - "src/core/lib/iomgr/timer_uv.c", - "src/core/lib/iomgr/udp_server.c", - "src/core/lib/iomgr/unix_sockets_posix.c", - "src/core/lib/iomgr/unix_sockets_posix_noop.c", - "src/core/lib/iomgr/wakeup_fd_cv.c", - "src/core/lib/iomgr/wakeup_fd_eventfd.c", - "src/core/lib/iomgr/wakeup_fd_nospecial.c", - "src/core/lib/iomgr/wakeup_fd_pipe.c", - "src/core/lib/iomgr/wakeup_fd_posix.c", - "src/core/lib/json/json.c", - "src/core/lib/json/json_reader.c", - "src/core/lib/json/json_string.c", - "src/core/lib/json/json_writer.c", - "src/core/lib/slice/b64.c", - "src/core/lib/slice/percent_encoding.c", - "src/core/lib/slice/slice.c", - "src/core/lib/slice/slice_buffer.c", - "src/core/lib/slice/slice_hash_table.c", - "src/core/lib/slice/slice_intern.c", - "src/core/lib/slice/slice_string_helpers.c", - "src/core/lib/surface/alarm.c", - "src/core/lib/surface/api_trace.c", - "src/core/lib/surface/byte_buffer.c", - "src/core/lib/surface/byte_buffer_reader.c", - "src/core/lib/surface/call.c", - "src/core/lib/surface/call_details.c", - "src/core/lib/surface/call_log_batch.c", - "src/core/lib/surface/channel.c", - "src/core/lib/surface/channel_init.c", - "src/core/lib/surface/channel_ping.c", - "src/core/lib/surface/channel_stack_type.c", - "src/core/lib/surface/completion_queue.c", - "src/core/lib/surface/completion_queue_factory.c", - "src/core/lib/surface/event_string.c", - "src/core/lib/surface/metadata_array.c", - "src/core/lib/surface/server.c", - "src/core/lib/surface/validate_metadata.c", - "src/core/lib/surface/version.c", - "src/core/lib/transport/bdp_estimator.c", - "src/core/lib/transport/byte_stream.c", - "src/core/lib/transport/connectivity_state.c", - "src/core/lib/transport/error_utils.c", - "src/core/lib/transport/metadata.c", - "src/core/lib/transport/metadata_batch.c", - "src/core/lib/transport/pid_controller.c", - "src/core/lib/transport/service_config.c", - "src/core/lib/transport/static_metadata.c", - "src/core/lib/transport/status_conversion.c", - "src/core/lib/transport/timeout_encoding.c", - "src/core/lib/transport/transport.c", - "src/core/lib/transport/transport_op_string.c", + "src/core/lib/iomgr/socket_windows.cc", + "src/core/lib/iomgr/tcp_client_posix.cc", + "src/core/lib/iomgr/tcp_client_uv.cc", + "src/core/lib/iomgr/tcp_client_windows.cc", + "src/core/lib/iomgr/tcp_posix.cc", + "src/core/lib/iomgr/tcp_server_posix.cc", + "src/core/lib/iomgr/tcp_server_utils_posix_common.cc", + "src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc", + "src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc", + "src/core/lib/iomgr/tcp_server_uv.cc", + "src/core/lib/iomgr/tcp_server_windows.cc", + "src/core/lib/iomgr/tcp_uv.cc", + "src/core/lib/iomgr/tcp_windows.cc", + "src/core/lib/iomgr/time_averaged_stats.cc", + "src/core/lib/iomgr/timer_generic.cc", + "src/core/lib/iomgr/timer_heap.cc", + "src/core/lib/iomgr/timer_manager.cc", + "src/core/lib/iomgr/timer_uv.cc", + "src/core/lib/iomgr/udp_server.cc", + "src/core/lib/iomgr/unix_sockets_posix.cc", + "src/core/lib/iomgr/unix_sockets_posix_noop.cc", + "src/core/lib/iomgr/wakeup_fd_cv.cc", + "src/core/lib/iomgr/wakeup_fd_eventfd.cc", + "src/core/lib/iomgr/wakeup_fd_nospecial.cc", + "src/core/lib/iomgr/wakeup_fd_pipe.cc", + "src/core/lib/iomgr/wakeup_fd_posix.cc", + "src/core/lib/json/json.cc", + "src/core/lib/json/json_reader.cc", + "src/core/lib/json/json_string.cc", + "src/core/lib/json/json_writer.cc", + "src/core/lib/slice/b64.cc", + "src/core/lib/slice/percent_encoding.cc", + "src/core/lib/slice/slice.cc", + "src/core/lib/slice/slice_buffer.cc", + "src/core/lib/slice/slice_hash_table.cc", + "src/core/lib/slice/slice_intern.cc", + "src/core/lib/slice/slice_string_helpers.cc", + "src/core/lib/surface/alarm.cc", + "src/core/lib/surface/api_trace.cc", + "src/core/lib/surface/byte_buffer.cc", + "src/core/lib/surface/byte_buffer_reader.cc", + "src/core/lib/surface/call.cc", + "src/core/lib/surface/call_details.cc", + "src/core/lib/surface/call_log_batch.cc", + "src/core/lib/surface/channel.cc", + "src/core/lib/surface/channel_init.cc", + "src/core/lib/surface/channel_ping.cc", + "src/core/lib/surface/channel_stack_type.cc", + "src/core/lib/surface/completion_queue.cc", + "src/core/lib/surface/completion_queue_factory.cc", + "src/core/lib/surface/event_string.cc", + "src/core/lib/surface/metadata_array.cc", + "src/core/lib/surface/server.cc", + "src/core/lib/surface/validate_metadata.cc", + "src/core/lib/surface/version.cc", + "src/core/lib/transport/bdp_estimator.cc", + "src/core/lib/transport/byte_stream.cc", + "src/core/lib/transport/connectivity_state.cc", + "src/core/lib/transport/error_utils.cc", + "src/core/lib/transport/metadata.cc", + "src/core/lib/transport/metadata_batch.cc", + "src/core/lib/transport/pid_controller.cc", + "src/core/lib/transport/service_config.cc", + "src/core/lib/transport/static_metadata.cc", + "src/core/lib/transport/status_conversion.cc", + "src/core/lib/transport/timeout_encoding.cc", + "src/core/lib/transport/transport.cc", + "src/core/lib/transport/transport_op_string.cc", ], hdrs = [ "src/core/lib/channel/channel_args.h", @@ -865,26 +865,26 @@ grpc_cc_library( grpc_cc_library( name = "grpc_client_channel", srcs = [ - "src/core/ext/filters/client_channel/channel_connectivity.c", - "src/core/ext/filters/client_channel/client_channel.c", - "src/core/ext/filters/client_channel/client_channel_factory.c", - "src/core/ext/filters/client_channel/client_channel_plugin.c", - "src/core/ext/filters/client_channel/connector.c", - "src/core/ext/filters/client_channel/http_connect_handshaker.c", - "src/core/ext/filters/client_channel/http_proxy.c", - "src/core/ext/filters/client_channel/lb_policy.c", - "src/core/ext/filters/client_channel/lb_policy_factory.c", - "src/core/ext/filters/client_channel/lb_policy_registry.c", - "src/core/ext/filters/client_channel/parse_address.c", - "src/core/ext/filters/client_channel/proxy_mapper.c", - "src/core/ext/filters/client_channel/proxy_mapper_registry.c", - "src/core/ext/filters/client_channel/resolver.c", - "src/core/ext/filters/client_channel/resolver_factory.c", - "src/core/ext/filters/client_channel/resolver_registry.c", - "src/core/ext/filters/client_channel/retry_throttle.c", - "src/core/ext/filters/client_channel/subchannel.c", - "src/core/ext/filters/client_channel/subchannel_index.c", - "src/core/ext/filters/client_channel/uri_parser.c", + "src/core/ext/filters/client_channel/channel_connectivity.cc", + "src/core/ext/filters/client_channel/client_channel.cc", + "src/core/ext/filters/client_channel/client_channel_factory.cc", + "src/core/ext/filters/client_channel/client_channel_plugin.cc", + "src/core/ext/filters/client_channel/connector.cc", + "src/core/ext/filters/client_channel/http_connect_handshaker.cc", + "src/core/ext/filters/client_channel/http_proxy.cc", + "src/core/ext/filters/client_channel/lb_policy.cc", + "src/core/ext/filters/client_channel/lb_policy_factory.cc", + "src/core/ext/filters/client_channel/lb_policy_registry.cc", + "src/core/ext/filters/client_channel/parse_address.cc", + "src/core/ext/filters/client_channel/proxy_mapper.cc", + "src/core/ext/filters/client_channel/proxy_mapper_registry.cc", + "src/core/ext/filters/client_channel/resolver.cc", + "src/core/ext/filters/client_channel/resolver_factory.cc", + "src/core/ext/filters/client_channel/resolver_registry.cc", + "src/core/ext/filters/client_channel/retry_throttle.cc", + "src/core/ext/filters/client_channel/subchannel.cc", + "src/core/ext/filters/client_channel/subchannel_index.cc", + "src/core/ext/filters/client_channel/uri_parser.cc", ], hdrs = [ "src/core/ext/filters/client_channel/client_channel.h", @@ -916,7 +916,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_max_age_filter", srcs = [ - "src/core/ext/filters/max_age/max_age_filter.c", + "src/core/ext/filters/max_age/max_age_filter.cc", ], hdrs = [ "src/core/ext/filters/max_age/max_age_filter.h", @@ -930,7 +930,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_deadline_filter", srcs = [ - "src/core/ext/filters/deadline/deadline_filter.c", + "src/core/ext/filters/deadline/deadline_filter.cc", ], hdrs = [ "src/core/ext/filters/deadline/deadline_filter.h", @@ -944,7 +944,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_message_size_filter", srcs = [ - "src/core/ext/filters/message_size/message_size_filter.c", + "src/core/ext/filters/message_size/message_size_filter.cc", ], hdrs = [ "src/core/ext/filters/message_size/message_size_filter.h", @@ -958,10 +958,10 @@ grpc_cc_library( grpc_cc_library( name = "grpc_http_filters", srcs = [ - "src/core/ext/filters/http/client/http_client_filter.c", - "src/core/ext/filters/http/http_filters_plugin.c", - "src/core/ext/filters/http/message_compress/message_compress_filter.c", - "src/core/ext/filters/http/server/http_server_filter.c", + "src/core/ext/filters/http/client/http_client_filter.cc", + "src/core/ext/filters/http/http_filters_plugin.cc", + "src/core/ext/filters/http/message_compress/message_compress_filter.cc", + "src/core/ext/filters/http/server/http_server_filter.cc", ], hdrs = [ "src/core/ext/filters/http/client/http_client_filter.h", @@ -977,7 +977,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_workaround_cronet_compression_filter", srcs = [ - "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c", + "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc", ], hdrs = [ "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h", @@ -1011,11 +1011,11 @@ grpc_cc_library( grpc_cc_library( name = "grpc_lb_policy_grpclb", srcs = [ - "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c", - "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c", - "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.c", - "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c", - "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c", ], hdrs = [ @@ -1040,11 +1040,11 @@ grpc_cc_library( grpc_cc_library( name = "grpc_lb_policy_grpclb_secure", srcs = [ - "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c", - "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c", - "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c", - "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c", - "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c", + "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc", "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c", ], hdrs = [ @@ -1070,7 +1070,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_lb_policy_pick_first", srcs = [ - "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c", + "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc", ], language = "c", deps = [ @@ -1082,7 +1082,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_lb_policy_round_robin", srcs = [ - "src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c", + "src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc", ], language = "c", deps = [ @@ -1094,8 +1094,8 @@ grpc_cc_library( grpc_cc_library( name = "grpc_server_load_reporting", srcs = [ - "src/core/ext/filters/load_reporting/server_load_reporting_filter.c", - "src/core/ext/filters/load_reporting/server_load_reporting_plugin.c", + "src/core/ext/filters/load_reporting/server_load_reporting_filter.cc", + "src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc", ], hdrs = [ "src/core/ext/filters/load_reporting/server_load_reporting_filter.h", @@ -1110,7 +1110,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_resolver_dns_native", srcs = [ - "src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c", + "src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc", ], language = "c", deps = [ @@ -1122,10 +1122,10 @@ grpc_cc_library( grpc_cc_library( name = "grpc_resolver_dns_ares", srcs = [ - "src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c", - "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c", - "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c", - "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc", ], hdrs = [ "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h", @@ -1144,7 +1144,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_resolver_sockaddr", srcs = [ - "src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c", + "src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc", ], language = "c", deps = [ @@ -1155,7 +1155,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_resolver_fake", - srcs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c"], + srcs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc"], hdrs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"], language = "c", visibility = ["//test:__subpackages__"], @@ -1168,30 +1168,30 @@ grpc_cc_library( grpc_cc_library( name = "grpc_secure", srcs = [ - "src/core/lib/http/httpcli_security_connector.c", - "src/core/lib/security/context/security_context.c", - "src/core/lib/security/credentials/composite/composite_credentials.c", - "src/core/lib/security/credentials/credentials.c", - "src/core/lib/security/credentials/credentials_metadata.c", - "src/core/lib/security/credentials/fake/fake_credentials.c", - "src/core/lib/security/credentials/google_default/credentials_generic.c", - "src/core/lib/security/credentials/google_default/google_default_credentials.c", - "src/core/lib/security/credentials/iam/iam_credentials.c", - "src/core/lib/security/credentials/jwt/json_token.c", - "src/core/lib/security/credentials/jwt/jwt_credentials.c", - "src/core/lib/security/credentials/jwt/jwt_verifier.c", - "src/core/lib/security/credentials/oauth2/oauth2_credentials.c", - "src/core/lib/security/credentials/plugin/plugin_credentials.c", - "src/core/lib/security/credentials/ssl/ssl_credentials.c", - "src/core/lib/security/transport/client_auth_filter.c", - "src/core/lib/security/transport/lb_targets_info.c", - "src/core/lib/security/transport/secure_endpoint.c", - "src/core/lib/security/transport/security_connector.c", - "src/core/lib/security/transport/security_handshaker.c", - "src/core/lib/security/transport/server_auth_filter.c", - "src/core/lib/security/transport/tsi_error.c", - "src/core/lib/security/util/json_util.c", - "src/core/lib/surface/init_secure.c", + "src/core/lib/http/httpcli_security_connector.cc", + "src/core/lib/security/context/security_context.cc", + "src/core/lib/security/credentials/composite/composite_credentials.cc", + "src/core/lib/security/credentials/credentials.cc", + "src/core/lib/security/credentials/credentials_metadata.cc", + "src/core/lib/security/credentials/fake/fake_credentials.cc", + "src/core/lib/security/credentials/google_default/credentials_generic.cc", + "src/core/lib/security/credentials/google_default/google_default_credentials.cc", + "src/core/lib/security/credentials/iam/iam_credentials.cc", + "src/core/lib/security/credentials/jwt/json_token.cc", + "src/core/lib/security/credentials/jwt/jwt_credentials.cc", + "src/core/lib/security/credentials/jwt/jwt_verifier.cc", + "src/core/lib/security/credentials/oauth2/oauth2_credentials.cc", + "src/core/lib/security/credentials/plugin/plugin_credentials.cc", + "src/core/lib/security/credentials/ssl/ssl_credentials.cc", + "src/core/lib/security/transport/client_auth_filter.cc", + "src/core/lib/security/transport/lb_targets_info.cc", + "src/core/lib/security/transport/secure_endpoint.cc", + "src/core/lib/security/transport/security_connector.cc", + "src/core/lib/security/transport/security_handshaker.cc", + "src/core/lib/security/transport/server_auth_filter.cc", + "src/core/lib/security/transport/tsi_error.cc", + "src/core/lib/security/util/json_util.cc", + "src/core/lib/surface/init_secure.cc", ], hdrs = [ "src/core/lib/security/context/security_context.h", @@ -1226,28 +1226,28 @@ grpc_cc_library( grpc_cc_library( name = "grpc_transport_chttp2", srcs = [ - "src/core/ext/transport/chttp2/transport/bin_decoder.c", - "src/core/ext/transport/chttp2/transport/bin_encoder.c", - "src/core/ext/transport/chttp2/transport/chttp2_plugin.c", - "src/core/ext/transport/chttp2/transport/chttp2_transport.c", - "src/core/ext/transport/chttp2/transport/flow_control.c", - "src/core/ext/transport/chttp2/transport/frame_data.c", - "src/core/ext/transport/chttp2/transport/frame_goaway.c", - "src/core/ext/transport/chttp2/transport/frame_ping.c", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", - "src/core/ext/transport/chttp2/transport/frame_settings.c", - "src/core/ext/transport/chttp2/transport/frame_window_update.c", - "src/core/ext/transport/chttp2/transport/hpack_encoder.c", - "src/core/ext/transport/chttp2/transport/hpack_parser.c", - "src/core/ext/transport/chttp2/transport/hpack_table.c", - "src/core/ext/transport/chttp2/transport/http2_settings.c", - "src/core/ext/transport/chttp2/transport/huffsyms.c", - "src/core/ext/transport/chttp2/transport/incoming_metadata.c", - "src/core/ext/transport/chttp2/transport/parsing.c", - "src/core/ext/transport/chttp2/transport/stream_lists.c", - "src/core/ext/transport/chttp2/transport/stream_map.c", - "src/core/ext/transport/chttp2/transport/varint.c", - "src/core/ext/transport/chttp2/transport/writing.c", + "src/core/ext/transport/chttp2/transport/bin_decoder.cc", + "src/core/ext/transport/chttp2/transport/bin_encoder.cc", + "src/core/ext/transport/chttp2/transport/chttp2_plugin.cc", + "src/core/ext/transport/chttp2/transport/chttp2_transport.cc", + "src/core/ext/transport/chttp2/transport/flow_control.cc", + "src/core/ext/transport/chttp2/transport/frame_data.cc", + "src/core/ext/transport/chttp2/transport/frame_goaway.cc", + "src/core/ext/transport/chttp2/transport/frame_ping.cc", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.cc", + "src/core/ext/transport/chttp2/transport/frame_settings.cc", + "src/core/ext/transport/chttp2/transport/frame_window_update.cc", + "src/core/ext/transport/chttp2/transport/hpack_encoder.cc", + "src/core/ext/transport/chttp2/transport/hpack_parser.cc", + "src/core/ext/transport/chttp2/transport/hpack_table.cc", + "src/core/ext/transport/chttp2/transport/http2_settings.cc", + "src/core/ext/transport/chttp2/transport/huffsyms.cc", + "src/core/ext/transport/chttp2/transport/incoming_metadata.cc", + "src/core/ext/transport/chttp2/transport/parsing.cc", + "src/core/ext/transport/chttp2/transport/stream_lists.cc", + "src/core/ext/transport/chttp2/transport/stream_map.cc", + "src/core/ext/transport/chttp2/transport/varint.cc", + "src/core/ext/transport/chttp2/transport/writing.cc", ], hdrs = [ "src/core/ext/transport/chttp2/transport/bin_decoder.h", @@ -1281,7 +1281,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_transport_chttp2_alpn", srcs = [ - "src/core/ext/transport/chttp2/alpn/alpn.c", + "src/core/ext/transport/chttp2/alpn/alpn.cc", ], hdrs = [ "src/core/ext/transport/chttp2/alpn/alpn.h", @@ -1295,7 +1295,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_transport_chttp2_client_connector", srcs = [ - "src/core/ext/transport/chttp2/client/chttp2_connector.c", + "src/core/ext/transport/chttp2/client/chttp2_connector.cc", ], hdrs = [ "src/core/ext/transport/chttp2/client/chttp2_connector.h", @@ -1311,8 +1311,8 @@ grpc_cc_library( grpc_cc_library( name = "grpc_transport_chttp2_client_insecure", srcs = [ - "src/core/ext/transport/chttp2/client/insecure/channel_create.c", - "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c", + "src/core/ext/transport/chttp2/client/insecure/channel_create.cc", + "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc", ], language = "c", deps = [ @@ -1326,7 +1326,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_transport_chttp2_client_secure", srcs = [ - "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c", + "src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc", ], language = "c", deps = [ @@ -1341,7 +1341,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_transport_chttp2_server", srcs = [ - "src/core/ext/transport/chttp2/server/chttp2_server.c", + "src/core/ext/transport/chttp2/server/chttp2_server.cc", ], hdrs = [ "src/core/ext/transport/chttp2/server/chttp2_server.h", @@ -1356,8 +1356,8 @@ grpc_cc_library( grpc_cc_library( name = "grpc_transport_chttp2_server_insecure", srcs = [ - "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", - "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc", ], language = "c", deps = [ @@ -1370,7 +1370,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_transport_chttp2_server_secure", srcs = [ - "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c", + "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc", ], language = "c", deps = [ @@ -1384,9 +1384,9 @@ grpc_cc_library( grpc_cc_library( name = "grpc_transport_cronet_client_secure", srcs = [ - "src/core/ext/transport/cronet/client/secure/cronet_channel_create.c", - "src/core/ext/transport/cronet/transport/cronet_api_dummy.c", - "src/core/ext/transport/cronet/transport/cronet_transport.c", + "src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc", + "src/core/ext/transport/cronet/transport/cronet_api_dummy.cc", + "src/core/ext/transport/cronet/transport/cronet_transport.cc", ], hdrs = [ "src/core/ext/transport/cronet/transport/cronet_transport.h", @@ -1407,8 +1407,8 @@ grpc_cc_library( grpc_cc_library( name = "grpc_transport_inproc", srcs = [ - "src/core/ext/transport/inproc/inproc_plugin.c", - "src/core/ext/transport/inproc/inproc_transport.c", + "src/core/ext/transport/inproc/inproc_plugin.cc", + "src/core/ext/transport/inproc/inproc_transport.cc", ], hdrs = [ "src/core/ext/transport/inproc/inproc_transport.h", @@ -1422,8 +1422,8 @@ grpc_cc_library( grpc_cc_library( name = "tsi_interface", srcs = [ - "src/core/tsi/transport_security.c", - "src/core/tsi/transport_security_adapter.c", + "src/core/tsi/transport_security.cc", + "src/core/tsi/transport_security_adapter.cc", ], hdrs = [ "src/core/tsi/transport_security.h", @@ -1440,10 +1440,10 @@ grpc_cc_library( grpc_cc_library( name = "tsi", srcs = [ - "src/core/tsi/fake_transport_security.c", - "src/core/tsi/gts_transport_security.c", - "src/core/tsi/ssl_transport_security.c", - "src/core/tsi/transport_security_grpc.c", + "src/core/tsi/fake_transport_security.cc", + "src/core/tsi/gts_transport_security.cc", + "src/core/tsi/ssl_transport_security.cc", + "src/core/tsi/transport_security_grpc.cc", ], hdrs = [ "src/core/tsi/fake_transport_security.h", @@ -1594,7 +1594,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_server_backward_compatibility", srcs = [ - "src/core/ext/filters/workarounds/workaround_utils.c", + "src/core/ext/filters/workarounds/workaround_utils.cc", ], hdrs = [ "src/core/ext/filters/workarounds/workaround_utils.h", diff --git a/build.yaml b/build.yaml index 0f411f86453..1d97dfaa8af 100644 --- a/build.yaml +++ b/build.yaml @@ -244,7 +244,7 @@ filegroups: - src/core/lib/iomgr/socket_utils_linux.cc - src/core/lib/iomgr/socket_utils_posix.cc - src/core/lib/iomgr/socket_utils_uv.cc - - src/core/lib/iomgr/socket_utils_windows.cc + - src/core/lib/iomgr/socket_utils_windows.c - src/core/lib/iomgr/socket_windows.cc - src/core/lib/iomgr/tcp_client_posix.cc - src/core/lib/iomgr/tcp_client_uv.cc diff --git a/setup.py b/setup.py index 1f047a4e737..90c9316b0da 100644 --- a/setup.py +++ b/setup.py @@ -111,7 +111,7 @@ if EXTRA_ENV_COMPILE_ARGS is None: else: EXTRA_ENV_COMPILE_ARGS += ' -D_ftime=_ftime64 -D_timeb=__timeb64' elif "linux" in sys.platform: - EXTRA_ENV_COMPILE_ARGS += ' -D__STDC_FORMAT_MACROS -std=c++11 -std=gnu99 -fvisibility=hidden -fno-wrapv -fno-exceptions' + EXTRA_ENV_COMPILE_ARGS += ' -std=c++11 -std=gnu99 -fvisibility=hidden -fno-wrapv -fno-exceptions' elif "darwin" in sys.platform: EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions' diff --git a/src/core/lib/iomgr/socket_utils_windows.cc b/src/core/lib/iomgr/socket_utils_windows.c similarity index 86% rename from src/core/lib/iomgr/socket_utils_windows.cc rename to src/core/lib/iomgr/socket_utils_windows.c index ddb6894b57f..2732c159aae 100644 --- a/src/core/lib/iomgr/socket_utils_windows.cc +++ b/src/core/lib/iomgr/socket_utils_windows.c @@ -26,8 +26,12 @@ #include const char *grpc_inet_ntop(int af, const void *src, char *dst, size_t size) { +#ifdef GPR_WIN_INET_NTOP + return inet_ntop(af, src, dst, size); +#else /* Windows InetNtopA wants a mutable ip pointer */ - return InetNtop(af, (void *)src, dst, size); + return InetNtopA(af, (void *)src, dst, size); +#endif /* GPR_WIN_INET_NTOP */ } #endif /* GRPC_WINDOWS_SOCKETUTILS */ From a0b96d4f9ac3505dfb54f9859c87cb2b059bfcfa Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 28 Sep 2017 12:33:46 -0700 Subject: [PATCH 112/180] Running generate projects --- CMakeLists.txt | 12 ++++++------ Makefile | 12 ++++++------ binding.gyp | 2 +- config.m4 | 2 +- config.w32 | 2 +- gRPC-Core.podspec | 2 +- grpc.gemspec | 2 +- grpc.gyp | 8 ++++---- package.xml | 2 +- src/python/grpcio/grpc_core_dependencies.py | 2 +- tools/doxygen/Doxyfile.core.internal | 2 +- tools/run_tests/generated/sources_and_headers.json | 2 +- 12 files changed, 25 insertions(+), 25 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e3a1da06656..5a0ff52b7a3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1014,7 +1014,7 @@ add_library(grpc src/core/lib/iomgr/socket_utils_linux.cc src/core/lib/iomgr/socket_utils_posix.cc src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.cc + src/core/lib/iomgr/socket_utils_windows.c src/core/lib/iomgr/socket_windows.cc src/core/lib/iomgr/tcp_client_posix.cc src/core/lib/iomgr/tcp_client_uv.cc @@ -1363,7 +1363,7 @@ add_library(grpc_cronet src/core/lib/iomgr/socket_utils_linux.cc src/core/lib/iomgr/socket_utils_posix.cc src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.cc + src/core/lib/iomgr/socket_utils_windows.c src/core/lib/iomgr/socket_windows.cc src/core/lib/iomgr/tcp_client_posix.cc src/core/lib/iomgr/tcp_client_uv.cc @@ -1680,7 +1680,7 @@ add_library(grpc_test_util src/core/lib/iomgr/socket_utils_linux.cc src/core/lib/iomgr/socket_utils_posix.cc src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.cc + src/core/lib/iomgr/socket_utils_windows.c src/core/lib/iomgr/socket_windows.cc src/core/lib/iomgr/tcp_client_posix.cc src/core/lib/iomgr/tcp_client_uv.cc @@ -1941,7 +1941,7 @@ add_library(grpc_test_util_unsecure src/core/lib/iomgr/socket_utils_linux.cc src/core/lib/iomgr/socket_utils_posix.cc src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.cc + src/core/lib/iomgr/socket_utils_windows.c src/core/lib/iomgr/socket_windows.cc src/core/lib/iomgr/tcp_client_posix.cc src/core/lib/iomgr/tcp_client_uv.cc @@ -2188,7 +2188,7 @@ add_library(grpc_unsecure src/core/lib/iomgr/socket_utils_linux.cc src/core/lib/iomgr/socket_utils_posix.cc src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.cc + src/core/lib/iomgr/socket_utils_windows.c src/core/lib/iomgr/socket_windows.cc src/core/lib/iomgr/tcp_client_posix.cc src/core/lib/iomgr/tcp_client_uv.cc @@ -2943,7 +2943,7 @@ add_library(grpc++_cronet src/core/lib/iomgr/socket_utils_linux.cc src/core/lib/iomgr/socket_utils_posix.cc src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.cc + src/core/lib/iomgr/socket_utils_windows.c src/core/lib/iomgr/socket_windows.cc src/core/lib/iomgr/tcp_client_posix.cc src/core/lib/iomgr/tcp_client_uv.cc diff --git a/Makefile b/Makefile index 9a871b77020..06a91e61289 100644 --- a/Makefile +++ b/Makefile @@ -3005,7 +3005,7 @@ LIBGRPC_SRC = \ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_utils_windows.c \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ @@ -3354,7 +3354,7 @@ LIBGRPC_CRONET_SRC = \ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_utils_windows.c \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ @@ -3670,7 +3670,7 @@ LIBGRPC_TEST_UTIL_SRC = \ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_utils_windows.c \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ @@ -3922,7 +3922,7 @@ LIBGRPC_TEST_UTIL_UNSECURE_SRC = \ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_utils_windows.c \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ @@ -4147,7 +4147,7 @@ LIBGRPC_UNSECURE_SRC = \ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_utils_windows.c \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ @@ -4885,7 +4885,7 @@ LIBGRPC++_CRONET_SRC = \ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_utils_windows.c \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ diff --git a/binding.gyp b/binding.gyp index 889b563e39c..317b234f325 100644 --- a/binding.gyp +++ b/binding.gyp @@ -716,7 +716,7 @@ 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_utils_windows.c', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', diff --git a/config.m4 b/config.m4 index 5450bbeb1db..424c8600de5 100644 --- a/config.m4 +++ b/config.m4 @@ -145,7 +145,7 @@ if test "$PHP_GRPC" != "no"; then src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.cc \ + src/core/lib/iomgr/socket_utils_windows.c \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ diff --git a/config.w32 b/config.w32 index 62b8dcdd767..579c6d50267 100644 --- a/config.w32 +++ b/config.w32 @@ -122,7 +122,7 @@ if (PHP_GRPC != "no") { "src\\core\\lib\\iomgr\\socket_utils_linux.cc " + "src\\core\\lib\\iomgr\\socket_utils_posix.cc " + "src\\core\\lib\\iomgr\\socket_utils_uv.cc " + - "src\\core\\lib\\iomgr\\socket_utils_windows.cc " + + "src\\core\\lib\\iomgr\\socket_utils_windows.c " + "src\\core\\lib\\iomgr\\socket_windows.cc " + "src\\core\\lib\\iomgr\\tcp_client_posix.cc " + "src\\core\\lib\\iomgr\\tcp_client_uv.cc " + diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index e831058ee16..a9df0a57a47 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -530,7 +530,7 @@ Pod::Spec.new do |s| 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_utils_windows.c', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', diff --git a/grpc.gemspec b/grpc.gemspec index 98bdbe10e12..1fda0a64c8d 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -467,7 +467,7 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/iomgr/socket_utils_linux.cc ) s.files += %w( src/core/lib/iomgr/socket_utils_posix.cc ) s.files += %w( src/core/lib/iomgr/socket_utils_uv.cc ) - s.files += %w( src/core/lib/iomgr/socket_utils_windows.cc ) + s.files += %w( src/core/lib/iomgr/socket_utils_windows.c ) s.files += %w( src/core/lib/iomgr/socket_windows.cc ) s.files += %w( src/core/lib/iomgr/tcp_client_posix.cc ) s.files += %w( src/core/lib/iomgr/tcp_client_uv.cc ) diff --git a/grpc.gyp b/grpc.gyp index 55853a65c96..8c8a25beb77 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -282,7 +282,7 @@ 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_utils_windows.c', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', @@ -581,7 +581,7 @@ 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_utils_windows.c', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', @@ -785,7 +785,7 @@ 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_utils_windows.c', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', @@ -974,7 +974,7 @@ 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_utils_windows.c', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', diff --git a/package.xml b/package.xml index 0656c457d23..99bcc7abf0e 100644 --- a/package.xml +++ b/package.xml @@ -479,7 +479,7 @@ - + diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 2955d16be68..8fece7e7652 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -121,7 +121,7 @@ CORE_SOURCE_FILES = [ 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.cc', + 'src/core/lib/iomgr/socket_utils_windows.c', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index d4c645e728a..d056e0157b4 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1180,7 +1180,7 @@ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_posix.h \ src/core/lib/iomgr/socket_utils_uv.cc \ -src/core/lib/iomgr/socket_utils_windows.cc \ +src/core/lib/iomgr/socket_utils_windows.c \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/socket_windows.h \ src/core/lib/iomgr/sys_epoll_wrapper.h \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index b23c5d7bc91..dd962b91d4e 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -8056,7 +8056,7 @@ "src/core/lib/iomgr/socket_utils_linux.cc", "src/core/lib/iomgr/socket_utils_posix.cc", "src/core/lib/iomgr/socket_utils_uv.cc", - "src/core/lib/iomgr/socket_utils_windows.cc", + "src/core/lib/iomgr/socket_utils_windows.c", "src/core/lib/iomgr/socket_windows.cc", "src/core/lib/iomgr/tcp_client_posix.cc", "src/core/lib/iomgr/tcp_client_uv.cc", From 641e5fec5b8ac36e87226aaf9b5a3a2e492862b7 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 28 Sep 2017 13:32:45 -0700 Subject: [PATCH 113/180] grpclb initializer list --- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc index 621e2637b17..0f63fbe4cf8 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc @@ -1930,7 +1930,7 @@ static grpc_lb_policy *glb_create(grpc_exec_ctx *exec_ctx, arg = grpc_channel_args_find(args->args, GRPC_ARG_GRPCLB_FALLBACK_TIMEOUT_MS); glb_policy->lb_fallback_timeout_ms = grpc_channel_arg_get_integer( - arg, (grpc_integer_options){GRPC_GRPCLB_DEFAULT_FALLBACK_TIMEOUT_MS, 0, + arg, {GRPC_GRPCLB_DEFAULT_FALLBACK_TIMEOUT_MS, 0, INT_MAX}); // Make sure that GRPC_ARG_LB_POLICY_NAME is set in channel args, From 26c78038a5b82d182652f82fb46160897aadf958 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 28 Sep 2017 14:34:43 -0700 Subject: [PATCH 114/180] Trying ken's fix for windows python --- BUILD | 2 +- CMakeLists.txt | 12 ++++++------ Makefile | 12 ++++++------ binding.gyp | 2 +- build.yaml | 2 +- config.m4 | 2 +- config.w32 | 2 +- gRPC-Core.podspec | 2 +- grpc.gemspec | 2 +- grpc.gyp | 8 ++++---- package.xml | 2 +- ...ocket_utils_windows.c => socket_utils_windows.cc} | 0 src/python/grpcio/grpc_core_dependencies.py | 2 +- tools/doxygen/Doxyfile.core.internal | 2 +- tools/run_tests/generated/sources_and_headers.json | 2 +- 15 files changed, 27 insertions(+), 27 deletions(-) rename src/core/lib/iomgr/{socket_utils_windows.c => socket_utils_windows.cc} (100%) diff --git a/BUILD b/BUILD index cfbeb392cb5..cc48ed4a5d6 100644 --- a/BUILD +++ b/BUILD @@ -625,7 +625,7 @@ grpc_cc_library( "src/core/lib/iomgr/socket_utils_linux.cc", "src/core/lib/iomgr/socket_utils_posix.cc", "src/core/lib/iomgr/socket_utils_uv.cc", - "src/core/lib/iomgr/socket_utils_windows.c", + "src/core/lib/iomgr/socket_utils_windows.cc", "src/core/lib/iomgr/socket_windows.cc", "src/core/lib/iomgr/tcp_client_posix.cc", "src/core/lib/iomgr/tcp_client_uv.cc", diff --git a/CMakeLists.txt b/CMakeLists.txt index 5a0ff52b7a3..e3a1da06656 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1014,7 +1014,7 @@ add_library(grpc src/core/lib/iomgr/socket_utils_linux.cc src/core/lib/iomgr/socket_utils_posix.cc src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.c + src/core/lib/iomgr/socket_utils_windows.cc src/core/lib/iomgr/socket_windows.cc src/core/lib/iomgr/tcp_client_posix.cc src/core/lib/iomgr/tcp_client_uv.cc @@ -1363,7 +1363,7 @@ add_library(grpc_cronet src/core/lib/iomgr/socket_utils_linux.cc src/core/lib/iomgr/socket_utils_posix.cc src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.c + src/core/lib/iomgr/socket_utils_windows.cc src/core/lib/iomgr/socket_windows.cc src/core/lib/iomgr/tcp_client_posix.cc src/core/lib/iomgr/tcp_client_uv.cc @@ -1680,7 +1680,7 @@ add_library(grpc_test_util src/core/lib/iomgr/socket_utils_linux.cc src/core/lib/iomgr/socket_utils_posix.cc src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.c + src/core/lib/iomgr/socket_utils_windows.cc src/core/lib/iomgr/socket_windows.cc src/core/lib/iomgr/tcp_client_posix.cc src/core/lib/iomgr/tcp_client_uv.cc @@ -1941,7 +1941,7 @@ add_library(grpc_test_util_unsecure src/core/lib/iomgr/socket_utils_linux.cc src/core/lib/iomgr/socket_utils_posix.cc src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.c + src/core/lib/iomgr/socket_utils_windows.cc src/core/lib/iomgr/socket_windows.cc src/core/lib/iomgr/tcp_client_posix.cc src/core/lib/iomgr/tcp_client_uv.cc @@ -2188,7 +2188,7 @@ add_library(grpc_unsecure src/core/lib/iomgr/socket_utils_linux.cc src/core/lib/iomgr/socket_utils_posix.cc src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.c + src/core/lib/iomgr/socket_utils_windows.cc src/core/lib/iomgr/socket_windows.cc src/core/lib/iomgr/tcp_client_posix.cc src/core/lib/iomgr/tcp_client_uv.cc @@ -2943,7 +2943,7 @@ add_library(grpc++_cronet src/core/lib/iomgr/socket_utils_linux.cc src/core/lib/iomgr/socket_utils_posix.cc src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.c + src/core/lib/iomgr/socket_utils_windows.cc src/core/lib/iomgr/socket_windows.cc src/core/lib/iomgr/tcp_client_posix.cc src/core/lib/iomgr/tcp_client_uv.cc diff --git a/Makefile b/Makefile index 06a91e61289..9a871b77020 100644 --- a/Makefile +++ b/Makefile @@ -3005,7 +3005,7 @@ LIBGRPC_SRC = \ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.c \ + src/core/lib/iomgr/socket_utils_windows.cc \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ @@ -3354,7 +3354,7 @@ LIBGRPC_CRONET_SRC = \ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.c \ + src/core/lib/iomgr/socket_utils_windows.cc \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ @@ -3670,7 +3670,7 @@ LIBGRPC_TEST_UTIL_SRC = \ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.c \ + src/core/lib/iomgr/socket_utils_windows.cc \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ @@ -3922,7 +3922,7 @@ LIBGRPC_TEST_UTIL_UNSECURE_SRC = \ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.c \ + src/core/lib/iomgr/socket_utils_windows.cc \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ @@ -4147,7 +4147,7 @@ LIBGRPC_UNSECURE_SRC = \ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.c \ + src/core/lib/iomgr/socket_utils_windows.cc \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ @@ -4885,7 +4885,7 @@ LIBGRPC++_CRONET_SRC = \ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.c \ + src/core/lib/iomgr/socket_utils_windows.cc \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ diff --git a/binding.gyp b/binding.gyp index 317b234f325..889b563e39c 100644 --- a/binding.gyp +++ b/binding.gyp @@ -716,7 +716,7 @@ 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.c', + 'src/core/lib/iomgr/socket_utils_windows.cc', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', diff --git a/build.yaml b/build.yaml index 1d97dfaa8af..0f411f86453 100644 --- a/build.yaml +++ b/build.yaml @@ -244,7 +244,7 @@ filegroups: - src/core/lib/iomgr/socket_utils_linux.cc - src/core/lib/iomgr/socket_utils_posix.cc - src/core/lib/iomgr/socket_utils_uv.cc - - src/core/lib/iomgr/socket_utils_windows.c + - src/core/lib/iomgr/socket_utils_windows.cc - src/core/lib/iomgr/socket_windows.cc - src/core/lib/iomgr/tcp_client_posix.cc - src/core/lib/iomgr/tcp_client_uv.cc diff --git a/config.m4 b/config.m4 index 424c8600de5..5450bbeb1db 100644 --- a/config.m4 +++ b/config.m4 @@ -145,7 +145,7 @@ if test "$PHP_GRPC" != "no"; then src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_uv.cc \ - src/core/lib/iomgr/socket_utils_windows.c \ + src/core/lib/iomgr/socket_utils_windows.cc \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/tcp_client_posix.cc \ src/core/lib/iomgr/tcp_client_uv.cc \ diff --git a/config.w32 b/config.w32 index 579c6d50267..62b8dcdd767 100644 --- a/config.w32 +++ b/config.w32 @@ -122,7 +122,7 @@ if (PHP_GRPC != "no") { "src\\core\\lib\\iomgr\\socket_utils_linux.cc " + "src\\core\\lib\\iomgr\\socket_utils_posix.cc " + "src\\core\\lib\\iomgr\\socket_utils_uv.cc " + - "src\\core\\lib\\iomgr\\socket_utils_windows.c " + + "src\\core\\lib\\iomgr\\socket_utils_windows.cc " + "src\\core\\lib\\iomgr\\socket_windows.cc " + "src\\core\\lib\\iomgr\\tcp_client_posix.cc " + "src\\core\\lib\\iomgr\\tcp_client_uv.cc " + diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index a9df0a57a47..e831058ee16 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -530,7 +530,7 @@ Pod::Spec.new do |s| 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.c', + 'src/core/lib/iomgr/socket_utils_windows.cc', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', diff --git a/grpc.gemspec b/grpc.gemspec index 1fda0a64c8d..98bdbe10e12 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -467,7 +467,7 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/iomgr/socket_utils_linux.cc ) s.files += %w( src/core/lib/iomgr/socket_utils_posix.cc ) s.files += %w( src/core/lib/iomgr/socket_utils_uv.cc ) - s.files += %w( src/core/lib/iomgr/socket_utils_windows.c ) + s.files += %w( src/core/lib/iomgr/socket_utils_windows.cc ) s.files += %w( src/core/lib/iomgr/socket_windows.cc ) s.files += %w( src/core/lib/iomgr/tcp_client_posix.cc ) s.files += %w( src/core/lib/iomgr/tcp_client_uv.cc ) diff --git a/grpc.gyp b/grpc.gyp index 8c8a25beb77..55853a65c96 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -282,7 +282,7 @@ 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.c', + 'src/core/lib/iomgr/socket_utils_windows.cc', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', @@ -581,7 +581,7 @@ 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.c', + 'src/core/lib/iomgr/socket_utils_windows.cc', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', @@ -785,7 +785,7 @@ 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.c', + 'src/core/lib/iomgr/socket_utils_windows.cc', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', @@ -974,7 +974,7 @@ 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.c', + 'src/core/lib/iomgr/socket_utils_windows.cc', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', diff --git a/package.xml b/package.xml index 99bcc7abf0e..0656c457d23 100644 --- a/package.xml +++ b/package.xml @@ -479,7 +479,7 @@ - + diff --git a/src/core/lib/iomgr/socket_utils_windows.c b/src/core/lib/iomgr/socket_utils_windows.cc similarity index 100% rename from src/core/lib/iomgr/socket_utils_windows.c rename to src/core/lib/iomgr/socket_utils_windows.cc diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 8fece7e7652..2955d16be68 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -121,7 +121,7 @@ CORE_SOURCE_FILES = [ 'src/core/lib/iomgr/socket_utils_linux.cc', 'src/core/lib/iomgr/socket_utils_posix.cc', 'src/core/lib/iomgr/socket_utils_uv.cc', - 'src/core/lib/iomgr/socket_utils_windows.c', + 'src/core/lib/iomgr/socket_utils_windows.cc', 'src/core/lib/iomgr/socket_windows.cc', 'src/core/lib/iomgr/tcp_client_posix.cc', 'src/core/lib/iomgr/tcp_client_uv.cc', diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index d056e0157b4..d4c645e728a 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1180,7 +1180,7 @@ src/core/lib/iomgr/socket_utils_linux.cc \ src/core/lib/iomgr/socket_utils_posix.cc \ src/core/lib/iomgr/socket_utils_posix.h \ src/core/lib/iomgr/socket_utils_uv.cc \ -src/core/lib/iomgr/socket_utils_windows.c \ +src/core/lib/iomgr/socket_utils_windows.cc \ src/core/lib/iomgr/socket_windows.cc \ src/core/lib/iomgr/socket_windows.h \ src/core/lib/iomgr/sys_epoll_wrapper.h \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index dd962b91d4e..b23c5d7bc91 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -8056,7 +8056,7 @@ "src/core/lib/iomgr/socket_utils_linux.cc", "src/core/lib/iomgr/socket_utils_posix.cc", "src/core/lib/iomgr/socket_utils_uv.cc", - "src/core/lib/iomgr/socket_utils_windows.c", + "src/core/lib/iomgr/socket_utils_windows.cc", "src/core/lib/iomgr/socket_windows.cc", "src/core/lib/iomgr/tcp_client_posix.cc", "src/core/lib/iomgr/tcp_client_uv.cc", From 1150bfbb503edd69befcc64d367691ead09fd0c2 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 28 Sep 2017 14:43:41 -0700 Subject: [PATCH 115/180] clang --- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc index 0f63fbe4cf8..d8e314d1f9a 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc @@ -1930,8 +1930,7 @@ static grpc_lb_policy *glb_create(grpc_exec_ctx *exec_ctx, arg = grpc_channel_args_find(args->args, GRPC_ARG_GRPCLB_FALLBACK_TIMEOUT_MS); glb_policy->lb_fallback_timeout_ms = grpc_channel_arg_get_integer( - arg, {GRPC_GRPCLB_DEFAULT_FALLBACK_TIMEOUT_MS, 0, - INT_MAX}); + arg, {GRPC_GRPCLB_DEFAULT_FALLBACK_TIMEOUT_MS, 0, INT_MAX}); // Make sure that GRPC_ARG_LB_POLICY_NAME is set in channel args, // since we use this to trigger the client_load_reporting filter. From a60c763ef10bf5ef5299c7f96637af84ef55ec1e Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 28 Sep 2017 16:13:32 -0700 Subject: [PATCH 116/180] Bazel build compilation language C++ --- BUILD | 72 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/BUILD b/BUILD index cc48ed4a5d6..d234e76159f 100644 --- a/BUILD +++ b/BUILD @@ -202,7 +202,7 @@ grpc_cc_library( "src/core/lib/surface/init_unsecure.cc", "src/core/plugin_registry/grpc_unsecure_plugin_registry.cc", ], - language = "c", + language = "c++", public_hdrs = GRPC_PUBLIC_HDRS, standalone = True, deps = [ @@ -217,7 +217,7 @@ grpc_cc_library( "src/core/lib/surface/init.cc", "src/core/plugin_registry/grpc_plugin_registry.cc", ], - language = "c", + language = "c++", public_hdrs = GRPC_PUBLIC_HDRS + GRPC_SECURE_PUBLIC_HDRS, standalone = True, deps = [ @@ -235,7 +235,7 @@ grpc_cc_library( "src/core/lib/surface/init.cc", "src/core/plugin_registry/grpc_cronet_plugin_registry.cc", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_http_filters", @@ -449,7 +449,7 @@ grpc_cc_library( "nanopb", "libssl", ], - language = "c", + language = "c++", public_hdrs = [ "include/grpc/census.h", ], @@ -527,7 +527,7 @@ grpc_cc_library( "src/core/lib/support/time_precise.h", "src/core/lib/support/tmpfile.h", ], - language = "c", + language = "c++", public_hdrs = GPR_PUBLIC_HDRS, deps = [ "gpr_codegen", @@ -557,7 +557,7 @@ grpc_cc_library( name = "grpc_trace", srcs = ["src/core/lib/debug/trace.cc"], hdrs = ["src/core/lib/debug/trace.h"], - language = "c", + language = "c++", deps = [":gpr"], ) @@ -817,7 +817,7 @@ grpc_cc_library( external_deps = [ "zlib", ], - language = "c", + language = "c++", public_hdrs = GRPC_PUBLIC_HDRS, deps = [ "gpr_base", @@ -906,7 +906,7 @@ grpc_cc_library( "src/core/ext/filters/client_channel/subchannel_index.h", "src/core/ext/filters/client_channel/uri_parser.h", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_deadline_filter", @@ -921,7 +921,7 @@ grpc_cc_library( hdrs = [ "src/core/ext/filters/max_age/max_age_filter.h", ], - language = "c", + language = "c++", deps = [ "grpc_base", ], @@ -935,7 +935,7 @@ grpc_cc_library( hdrs = [ "src/core/ext/filters/deadline/deadline_filter.h", ], - language = "c", + language = "c++", deps = [ "grpc_base", ], @@ -949,7 +949,7 @@ grpc_cc_library( hdrs = [ "src/core/ext/filters/message_size/message_size_filter.h", ], - language = "c", + language = "c++", deps = [ "grpc_base", ], @@ -968,7 +968,7 @@ grpc_cc_library( "src/core/ext/filters/http/message_compress/message_compress_filter.h", "src/core/ext/filters/http/server/http_server_filter.h", ], - language = "c", + language = "c++", deps = [ "grpc_base", ], @@ -982,7 +982,7 @@ grpc_cc_library( hdrs = [ "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_server_backward_compatibility", @@ -1029,7 +1029,7 @@ grpc_cc_library( external_deps = [ "nanopb", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_client_channel", @@ -1058,7 +1058,7 @@ grpc_cc_library( external_deps = [ "nanopb", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_client_channel", @@ -1072,7 +1072,7 @@ grpc_cc_library( srcs = [ "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_client_channel", @@ -1084,7 +1084,7 @@ grpc_cc_library( srcs = [ "src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_client_channel", @@ -1101,7 +1101,7 @@ grpc_cc_library( "src/core/ext/filters/load_reporting/server_load_reporting_filter.h", "src/core/ext/filters/load_reporting/server_load_reporting_plugin.h", ], - language = "c", + language = "c++", deps = [ "grpc_base", ], @@ -1112,7 +1112,7 @@ grpc_cc_library( srcs = [ "src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_client_channel", @@ -1134,7 +1134,7 @@ grpc_cc_library( external_deps = [ "cares", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_client_channel", @@ -1146,7 +1146,7 @@ grpc_cc_library( srcs = [ "src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_client_channel", @@ -1157,7 +1157,7 @@ grpc_cc_library( name = "grpc_resolver_fake", srcs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc"], hdrs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"], - language = "c", + language = "c++", visibility = ["//test:__subpackages__"], deps = [ "grpc_base", @@ -1214,7 +1214,7 @@ grpc_cc_library( "src/core/lib/security/transport/tsi_error.h", "src/core/lib/security/util/json_util.h", ], - language = "c", + language = "c++", public_hdrs = GRPC_SECURE_PUBLIC_HDRS, deps = [ "grpc_base", @@ -1270,7 +1270,7 @@ grpc_cc_library( "src/core/ext/transport/chttp2/transport/stream_map.h", "src/core/ext/transport/chttp2/transport/varint.h", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_http_filters", @@ -1286,7 +1286,7 @@ grpc_cc_library( hdrs = [ "src/core/ext/transport/chttp2/alpn/alpn.h", ], - language = "c", + language = "c++", deps = [ "gpr", ], @@ -1300,7 +1300,7 @@ grpc_cc_library( hdrs = [ "src/core/ext/transport/chttp2/client/chttp2_connector.h", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_client_channel", @@ -1314,7 +1314,7 @@ grpc_cc_library( "src/core/ext/transport/chttp2/client/insecure/channel_create.cc", "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_client_channel", @@ -1328,7 +1328,7 @@ grpc_cc_library( srcs = [ "src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_client_channel", @@ -1346,7 +1346,7 @@ grpc_cc_library( hdrs = [ "src/core/ext/transport/chttp2/server/chttp2_server.h", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_transport_chttp2", @@ -1359,7 +1359,7 @@ grpc_cc_library( "src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc", "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_transport_chttp2", @@ -1372,7 +1372,7 @@ grpc_cc_library( srcs = [ "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc", ], - language = "c", + language = "c++", deps = [ "grpc_base", "grpc_secure", @@ -1392,7 +1392,7 @@ grpc_cc_library( "src/core/ext/transport/cronet/transport/cronet_transport.h", "third_party/objective_c/Cronet/bidirectional_stream_c.h", ], - language = "c", + language = "c++", public_hdrs = [ "include/grpc/grpc_cronet.h", "include/grpc/grpc_security.h", @@ -1413,7 +1413,7 @@ grpc_cc_library( hdrs = [ "src/core/ext/transport/inproc/inproc_transport.h", ], - language = "c", + language = "c++", deps = [ "grpc_base", ], @@ -1430,7 +1430,7 @@ grpc_cc_library( "src/core/tsi/transport_security_adapter.h", "src/core/tsi/transport_security_interface.h", ], - language = "c", + language = "c++", deps = [ "gpr", "grpc_trace", @@ -1455,7 +1455,7 @@ grpc_cc_library( external_deps = [ "libssl", ], - language = "c", + language = "c++", deps = [ "grpc_base", "tsi_interface", @@ -1599,7 +1599,7 @@ grpc_cc_library( hdrs = [ "src/core/ext/filters/workarounds/workaround_utils.h", ], - language = "c", + language = "c++", deps = [ "grpc_base", ], From d6a7a44ec9cea775180fd91899d8c9cc3d75848b Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 29 Sep 2017 10:24:02 -0700 Subject: [PATCH 117/180] Ruby Rakefile modifications try --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index 1e8960eab86..dbed3a90dcb 100755 --- a/Rakefile +++ b/Rakefile @@ -80,7 +80,7 @@ task 'dlls' do grpc_config = ENV['GRPC_CONFIG'] || 'opt' verbose = ENV['V'] || '0' - env = 'CPPFLAGS="-D_WIN32_WINNT=0x600 -DUNICODE -D_UNICODE -Wno-unused-variable -Wno-unused-result -DCARES_STATICLIB -Wno-error=conversion -Wno-incompatible-pointer-types -Wno-sign-compare -Wno-parentheses" ' + env = 'CPPFLAGS="-D_WIN32_WINNT=0x600 -DNTDDI_VERSION=0x06000000 -DUNICODE -D_UNICODE -Wno-unused-variable -Wno-unused-result -DCARES_STATICLIB -Wno-error=conversion -Wno-incompatible-pointer-types -Wno-sign-compare -Wno-parentheses -std=c++11 -DWIN32_LEAN_AND_MEAN" ' env += 'LDFLAGS=-static ' env += 'SYSTEM=MINGW32 ' env += 'EMBED_ZLIB=true ' From 10b306559b7fd5014bf1dc427adf5a8255a32672 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 29 Sep 2017 14:10:31 -0700 Subject: [PATCH 118/180] Rolling back Rakefile changes --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index dbed3a90dcb..1e8960eab86 100755 --- a/Rakefile +++ b/Rakefile @@ -80,7 +80,7 @@ task 'dlls' do grpc_config = ENV['GRPC_CONFIG'] || 'opt' verbose = ENV['V'] || '0' - env = 'CPPFLAGS="-D_WIN32_WINNT=0x600 -DNTDDI_VERSION=0x06000000 -DUNICODE -D_UNICODE -Wno-unused-variable -Wno-unused-result -DCARES_STATICLIB -Wno-error=conversion -Wno-incompatible-pointer-types -Wno-sign-compare -Wno-parentheses -std=c++11 -DWIN32_LEAN_AND_MEAN" ' + env = 'CPPFLAGS="-D_WIN32_WINNT=0x600 -DUNICODE -D_UNICODE -Wno-unused-variable -Wno-unused-result -DCARES_STATICLIB -Wno-error=conversion -Wno-incompatible-pointer-types -Wno-sign-compare -Wno-parentheses" ' env += 'LDFLAGS=-static ' env += 'SYSTEM=MINGW32 ' env += 'EMBED_ZLIB=true ' From 46ccf7a441c39fdb29b2b9825c87faad17d71e27 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 2 Oct 2017 14:18:34 -0700 Subject: [PATCH 119/180] Trying _POSIX define for ruby build --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index 1e8960eab86..fd69f256e86 100755 --- a/Rakefile +++ b/Rakefile @@ -80,7 +80,7 @@ task 'dlls' do grpc_config = ENV['GRPC_CONFIG'] || 'opt' verbose = ENV['V'] || '0' - env = 'CPPFLAGS="-D_WIN32_WINNT=0x600 -DUNICODE -D_UNICODE -Wno-unused-variable -Wno-unused-result -DCARES_STATICLIB -Wno-error=conversion -Wno-incompatible-pointer-types -Wno-sign-compare -Wno-parentheses" ' + env = 'CPPFLAGS="-D_WIN32_WINNT=0x600 -DUNICODE -D_UNICODE -D_POSIX -Wno-unused-variable -Wno-unused-result -DCARES_STATICLIB -Wno-error=conversion -Wno-incompatible-pointer-types -Wno-sign-compare -Wno-parentheses" ' env += 'LDFLAGS=-static ' env += 'SYSTEM=MINGW32 ' env += 'EMBED_ZLIB=true ' From c7eaff15c0004d1dbd3c635cae222dd3d609c165 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 2 Oct 2017 16:07:28 -0700 Subject: [PATCH 120/180] Ignoring all ruby build errors for now --- Rakefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index fd69f256e86..d76b9ff657c 100755 --- a/Rakefile +++ b/Rakefile @@ -80,7 +80,9 @@ task 'dlls' do grpc_config = ENV['GRPC_CONFIG'] || 'opt' verbose = ENV['V'] || '0' - env = 'CPPFLAGS="-D_WIN32_WINNT=0x600 -DUNICODE -D_UNICODE -D_POSIX -Wno-unused-variable -Wno-unused-result -DCARES_STATICLIB -Wno-error=conversion -Wno-incompatible-pointer-types -Wno-sign-compare -Wno-parentheses" ' + env = 'CPPFLAGS="-D_WIN32_WINNT=0x600 -DNTDDI_VERSION=0x06000000 -DUNICODE -D_UNICODE -Wno-unused-variable -Wno-unused-result -DCARES_STATICLIB -Wno-error=conversion -Wno-sign-compare -Wno-parentheses -Wno-format -DWIN32_LEAN_AND_MEAN" ' + env += 'CFLAGS="-Wno-incompatible-pointer-types" ' + env += 'CXXFLAGS="-std=c++11" ' env += 'LDFLAGS=-static ' env += 'SYSTEM=MINGW32 ' env += 'EMBED_ZLIB=true ' From bc460fa3c41ead4323c6fcb42f1a76c9cbef9b14 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 2 Oct 2017 17:42:41 -0700 Subject: [PATCH 121/180] Rebasing on master for easier merging and testing --- CMakeLists.txt | 12 ++++++++++++ Makefile | 12 ++++++++++++ binding.gyp | 2 ++ build.yaml | 2 ++ config.m4 | 2 ++ config.w32 | 2 ++ gRPC-Core.podspec | 2 ++ grpc.gemspec | 2 ++ grpc.gyp | 8 ++++++++ package.xml | 2 ++ src/core/lib/compression/stream_compression.h | 4 ++-- ...compression_gzip.c => stream_compression_gzip.cc} | 0 src/core/lib/compression/stream_compression_gzip.h | 8 ++++++++ ...ion_identity.c => stream_compression_identity.cc} | 0 .../lib/compression/stream_compression_identity.h | 8 ++++++++ src/core/lib/debug/stats_data.h | 8 ++++++++ src/core/lib/iomgr/gethostname.h | 1 - src/core/lib/iomgr/gethostname_fallback.cc | 2 +- src/core/lib/iomgr/gethostname_host_name_max.cc | 2 +- src/core/lib/iomgr/gethostname_sysconf.cc | 2 +- src/core/lib/iomgr/socket_utils_windows.cc | 4 ---- src/core/lib/iomgr/tcp_client_uv.cc | 8 ++++---- src/python/grpcio/grpc_core_dependencies.py | 2 ++ tools/codegen/core/gen_stats_data.py | 8 ++++++++ tools/doxygen/Doxyfile.core.internal | 2 ++ tools/run_tests/generated/sources_and_headers.json | 2 ++ 26 files changed, 93 insertions(+), 14 deletions(-) rename src/core/lib/compression/{stream_compression_gzip.c => stream_compression_gzip.cc} (100%) rename src/core/lib/compression/{stream_compression_identity.c => stream_compression_identity.cc} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index e3a1da06656..dcef03963c4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -965,6 +965,8 @@ add_library(grpc src/core/lib/compression/compression.cc src/core/lib/compression/message_compress.cc src/core/lib/compression/stream_compression.cc + src/core/lib/compression/stream_compression_gzip.cc + src/core/lib/compression/stream_compression_identity.cc src/core/lib/debug/stats.cc src/core/lib/debug/stats_data.cc src/core/lib/http/format_request.cc @@ -1314,6 +1316,8 @@ add_library(grpc_cronet src/core/lib/compression/compression.cc src/core/lib/compression/message_compress.cc src/core/lib/compression/stream_compression.cc + src/core/lib/compression/stream_compression_gzip.cc + src/core/lib/compression/stream_compression_identity.cc src/core/lib/debug/stats.cc src/core/lib/debug/stats_data.cc src/core/lib/http/format_request.cc @@ -1631,6 +1635,8 @@ add_library(grpc_test_util src/core/lib/compression/compression.cc src/core/lib/compression/message_compress.cc src/core/lib/compression/stream_compression.cc + src/core/lib/compression/stream_compression_gzip.cc + src/core/lib/compression/stream_compression_identity.cc src/core/lib/debug/stats.cc src/core/lib/debug/stats_data.cc src/core/lib/http/format_request.cc @@ -1892,6 +1898,8 @@ add_library(grpc_test_util_unsecure src/core/lib/compression/compression.cc src/core/lib/compression/message_compress.cc src/core/lib/compression/stream_compression.cc + src/core/lib/compression/stream_compression_gzip.cc + src/core/lib/compression/stream_compression_identity.cc src/core/lib/debug/stats.cc src/core/lib/debug/stats_data.cc src/core/lib/http/format_request.cc @@ -2139,6 +2147,8 @@ add_library(grpc_unsecure src/core/lib/compression/compression.cc src/core/lib/compression/message_compress.cc src/core/lib/compression/stream_compression.cc + src/core/lib/compression/stream_compression_gzip.cc + src/core/lib/compression/stream_compression_identity.cc src/core/lib/debug/stats.cc src/core/lib/debug/stats_data.cc src/core/lib/http/format_request.cc @@ -2894,6 +2904,8 @@ add_library(grpc++_cronet src/core/lib/compression/compression.cc src/core/lib/compression/message_compress.cc src/core/lib/compression/stream_compression.cc + src/core/lib/compression/stream_compression_gzip.cc + src/core/lib/compression/stream_compression_identity.cc src/core/lib/debug/stats.cc src/core/lib/debug/stats_data.cc src/core/lib/http/format_request.cc diff --git a/Makefile b/Makefile index 9a871b77020..0fb5d4fab90 100644 --- a/Makefile +++ b/Makefile @@ -2956,6 +2956,8 @@ LIBGRPC_SRC = \ src/core/lib/compression/compression.cc \ src/core/lib/compression/message_compress.cc \ src/core/lib/compression/stream_compression.cc \ + src/core/lib/compression/stream_compression_gzip.cc \ + src/core/lib/compression/stream_compression_identity.cc \ src/core/lib/debug/stats.cc \ src/core/lib/debug/stats_data.cc \ src/core/lib/http/format_request.cc \ @@ -3305,6 +3307,8 @@ LIBGRPC_CRONET_SRC = \ src/core/lib/compression/compression.cc \ src/core/lib/compression/message_compress.cc \ src/core/lib/compression/stream_compression.cc \ + src/core/lib/compression/stream_compression_gzip.cc \ + src/core/lib/compression/stream_compression_identity.cc \ src/core/lib/debug/stats.cc \ src/core/lib/debug/stats_data.cc \ src/core/lib/http/format_request.cc \ @@ -3621,6 +3625,8 @@ LIBGRPC_TEST_UTIL_SRC = \ src/core/lib/compression/compression.cc \ src/core/lib/compression/message_compress.cc \ src/core/lib/compression/stream_compression.cc \ + src/core/lib/compression/stream_compression_gzip.cc \ + src/core/lib/compression/stream_compression_identity.cc \ src/core/lib/debug/stats.cc \ src/core/lib/debug/stats_data.cc \ src/core/lib/http/format_request.cc \ @@ -3873,6 +3879,8 @@ LIBGRPC_TEST_UTIL_UNSECURE_SRC = \ src/core/lib/compression/compression.cc \ src/core/lib/compression/message_compress.cc \ src/core/lib/compression/stream_compression.cc \ + src/core/lib/compression/stream_compression_gzip.cc \ + src/core/lib/compression/stream_compression_identity.cc \ src/core/lib/debug/stats.cc \ src/core/lib/debug/stats_data.cc \ src/core/lib/http/format_request.cc \ @@ -4098,6 +4106,8 @@ LIBGRPC_UNSECURE_SRC = \ src/core/lib/compression/compression.cc \ src/core/lib/compression/message_compress.cc \ src/core/lib/compression/stream_compression.cc \ + src/core/lib/compression/stream_compression_gzip.cc \ + src/core/lib/compression/stream_compression_identity.cc \ src/core/lib/debug/stats.cc \ src/core/lib/debug/stats_data.cc \ src/core/lib/http/format_request.cc \ @@ -4836,6 +4846,8 @@ LIBGRPC++_CRONET_SRC = \ src/core/lib/compression/compression.cc \ src/core/lib/compression/message_compress.cc \ src/core/lib/compression/stream_compression.cc \ + src/core/lib/compression/stream_compression_gzip.cc \ + src/core/lib/compression/stream_compression_identity.cc \ src/core/lib/debug/stats.cc \ src/core/lib/debug/stats_data.cc \ src/core/lib/http/format_request.cc \ diff --git a/binding.gyp b/binding.gyp index 889b563e39c..7caf5c3552f 100644 --- a/binding.gyp +++ b/binding.gyp @@ -667,6 +667,8 @@ 'src/core/lib/compression/compression.cc', 'src/core/lib/compression/message_compress.cc', 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/compression/stream_compression_gzip.cc', + 'src/core/lib/compression/stream_compression_identity.cc', 'src/core/lib/debug/stats.cc', 'src/core/lib/debug/stats_data.cc', 'src/core/lib/http/format_request.cc', diff --git a/build.yaml b/build.yaml index 0f411f86453..582f5d5a6a4 100644 --- a/build.yaml +++ b/build.yaml @@ -195,6 +195,8 @@ filegroups: - src/core/lib/compression/compression.cc - src/core/lib/compression/message_compress.cc - src/core/lib/compression/stream_compression.cc + - src/core/lib/compression/stream_compression_gzip.cc + - src/core/lib/compression/stream_compression_identity.cc - src/core/lib/debug/stats.cc - src/core/lib/debug/stats_data.cc - src/core/lib/http/format_request.cc diff --git a/config.m4 b/config.m4 index 5450bbeb1db..34d7116c731 100644 --- a/config.m4 +++ b/config.m4 @@ -96,6 +96,8 @@ if test "$PHP_GRPC" != "no"; then src/core/lib/compression/compression.cc \ src/core/lib/compression/message_compress.cc \ src/core/lib/compression/stream_compression.cc \ + src/core/lib/compression/stream_compression_gzip.cc \ + src/core/lib/compression/stream_compression_identity.cc \ src/core/lib/debug/stats.cc \ src/core/lib/debug/stats_data.cc \ src/core/lib/http/format_request.cc \ diff --git a/config.w32 b/config.w32 index 62b8dcdd767..35355826995 100644 --- a/config.w32 +++ b/config.w32 @@ -73,6 +73,8 @@ if (PHP_GRPC != "no") { "src\\core\\lib\\compression\\compression.cc " + "src\\core\\lib\\compression\\message_compress.cc " + "src\\core\\lib\\compression\\stream_compression.cc " + + "src\\core\\lib\\compression\\stream_compression_gzip.cc " + + "src\\core\\lib\\compression\\stream_compression_identity.cc " + "src\\core\\lib\\debug\\stats.cc " + "src\\core\\lib\\debug\\stats_data.cc " + "src\\core\\lib\\http\\format_request.cc " + diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index e831058ee16..c1e86633366 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -481,6 +481,8 @@ Pod::Spec.new do |s| 'src/core/lib/compression/compression.cc', 'src/core/lib/compression/message_compress.cc', 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/compression/stream_compression_gzip.cc', + 'src/core/lib/compression/stream_compression_identity.cc', 'src/core/lib/debug/stats.cc', 'src/core/lib/debug/stats_data.cc', 'src/core/lib/http/format_request.cc', diff --git a/grpc.gemspec b/grpc.gemspec index 98bdbe10e12..c37859f3d17 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -418,6 +418,8 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/compression/compression.cc ) s.files += %w( src/core/lib/compression/message_compress.cc ) s.files += %w( src/core/lib/compression/stream_compression.cc ) + s.files += %w( src/core/lib/compression/stream_compression_gzip.cc ) + s.files += %w( src/core/lib/compression/stream_compression_identity.cc ) s.files += %w( src/core/lib/debug/stats.cc ) s.files += %w( src/core/lib/debug/stats_data.cc ) s.files += %w( src/core/lib/http/format_request.cc ) diff --git a/grpc.gyp b/grpc.gyp index 55853a65c96..f10d1fe860a 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -233,6 +233,8 @@ 'src/core/lib/compression/compression.cc', 'src/core/lib/compression/message_compress.cc', 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/compression/stream_compression_gzip.cc', + 'src/core/lib/compression/stream_compression_identity.cc', 'src/core/lib/debug/stats.cc', 'src/core/lib/debug/stats_data.cc', 'src/core/lib/http/format_request.cc', @@ -532,6 +534,8 @@ 'src/core/lib/compression/compression.cc', 'src/core/lib/compression/message_compress.cc', 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/compression/stream_compression_gzip.cc', + 'src/core/lib/compression/stream_compression_identity.cc', 'src/core/lib/debug/stats.cc', 'src/core/lib/debug/stats_data.cc', 'src/core/lib/http/format_request.cc', @@ -736,6 +740,8 @@ 'src/core/lib/compression/compression.cc', 'src/core/lib/compression/message_compress.cc', 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/compression/stream_compression_gzip.cc', + 'src/core/lib/compression/stream_compression_identity.cc', 'src/core/lib/debug/stats.cc', 'src/core/lib/debug/stats_data.cc', 'src/core/lib/http/format_request.cc', @@ -925,6 +931,8 @@ 'src/core/lib/compression/compression.cc', 'src/core/lib/compression/message_compress.cc', 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/compression/stream_compression_gzip.cc', + 'src/core/lib/compression/stream_compression_identity.cc', 'src/core/lib/debug/stats.cc', 'src/core/lib/debug/stats_data.cc', 'src/core/lib/http/format_request.cc', diff --git a/package.xml b/package.xml index 0656c457d23..52373c4b518 100644 --- a/package.xml +++ b/package.xml @@ -430,6 +430,8 @@ + + diff --git a/src/core/lib/compression/stream_compression.h b/src/core/lib/compression/stream_compression.h index 901f9357ee0..6ee3ac19664 100644 --- a/src/core/lib/compression/stream_compression.h +++ b/src/core/lib/compression/stream_compression.h @@ -24,12 +24,12 @@ #include #include +#include "src/core/lib/transport/static_metadata.h" + #ifdef __cplusplus extern "C" { #endif -#include "src/core/lib/transport/static_metadata.h" - typedef struct grpc_stream_compression_vtable grpc_stream_compression_vtable; /* Stream compression/decompression context */ diff --git a/src/core/lib/compression/stream_compression_gzip.c b/src/core/lib/compression/stream_compression_gzip.cc similarity index 100% rename from src/core/lib/compression/stream_compression_gzip.c rename to src/core/lib/compression/stream_compression_gzip.cc diff --git a/src/core/lib/compression/stream_compression_gzip.h b/src/core/lib/compression/stream_compression_gzip.h index 7cf49a0de93..a3f1b0406fe 100644 --- a/src/core/lib/compression/stream_compression_gzip.h +++ b/src/core/lib/compression/stream_compression_gzip.h @@ -21,6 +21,14 @@ #include "src/core/lib/compression/stream_compression.h" +#ifdef __cplusplus +extern "C" { +#endif + extern const grpc_stream_compression_vtable grpc_stream_compression_gzip_vtable; +#ifdef __cplusplus +} +#endif + #endif diff --git a/src/core/lib/compression/stream_compression_identity.c b/src/core/lib/compression/stream_compression_identity.cc similarity index 100% rename from src/core/lib/compression/stream_compression_identity.c rename to src/core/lib/compression/stream_compression_identity.cc diff --git a/src/core/lib/compression/stream_compression_identity.h b/src/core/lib/compression/stream_compression_identity.h index 41926e949e5..3a729fafad8 100644 --- a/src/core/lib/compression/stream_compression_identity.h +++ b/src/core/lib/compression/stream_compression_identity.h @@ -21,7 +21,15 @@ #include "src/core/lib/compression/stream_compression.h" +#ifdef __cplusplus +extern "C" { +#endif + extern const grpc_stream_compression_vtable grpc_stream_compression_identity_vtable; +#ifdef __cplusplus +} +#endif + #endif diff --git a/src/core/lib/debug/stats_data.h b/src/core/lib/debug/stats_data.h index 28dab00117b..cf5bafbd047 100644 --- a/src/core/lib/debug/stats_data.h +++ b/src/core/lib/debug/stats_data.h @@ -24,6 +24,10 @@ #include #include "src/core/lib/iomgr/exec_ctx.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED, GRPC_STATS_COUNTER_SERVER_CALLS_CREATED, @@ -467,4 +471,8 @@ extern const int *const grpc_stats_histo_bucket_boundaries[13]; extern void (*const grpc_stats_inc_histogram[13])(grpc_exec_ctx *exec_ctx, int x); +#ifdef __cplusplus +} +#endif + #endif /* GRPC_CORE_LIB_DEBUG_STATS_DATA_H */ diff --git a/src/core/lib/iomgr/gethostname.h b/src/core/lib/iomgr/gethostname.h index c0a4c7e6df9..f335fea586d 100644 --- a/src/core/lib/iomgr/gethostname.h +++ b/src/core/lib/iomgr/gethostname.h @@ -31,5 +31,4 @@ char *grpc_gethostname(); } #endif - #endif /* GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H */ diff --git a/src/core/lib/iomgr/gethostname_fallback.cc b/src/core/lib/iomgr/gethostname_fallback.cc index 31dff5812ca..e6f4c2f7607 100644 --- a/src/core/lib/iomgr/gethostname_fallback.cc +++ b/src/core/lib/iomgr/gethostname_fallback.cc @@ -16,8 +16,8 @@ * */ -#include "src/core/lib/iomgr/port.h" #include "src/core/lib/iomgr/gethostname.h" +#include "src/core/lib/iomgr/port.h" #ifdef GRPC_GETHOSTNAME_FALLBACK diff --git a/src/core/lib/iomgr/gethostname_host_name_max.cc b/src/core/lib/iomgr/gethostname_host_name_max.cc index 9be319dab8d..cdaf097c3ef 100644 --- a/src/core/lib/iomgr/gethostname_host_name_max.cc +++ b/src/core/lib/iomgr/gethostname_host_name_max.cc @@ -16,8 +16,8 @@ * */ -#include "src/core/lib/iomgr/port.h" #include "src/core/lib/iomgr/gethostname.h" +#include "src/core/lib/iomgr/port.h" #ifdef GRPC_POSIX_HOST_NAME_MAX diff --git a/src/core/lib/iomgr/gethostname_sysconf.cc b/src/core/lib/iomgr/gethostname_sysconf.cc index 4cc7ebf4c0a..8441e0615ec 100644 --- a/src/core/lib/iomgr/gethostname_sysconf.cc +++ b/src/core/lib/iomgr/gethostname_sysconf.cc @@ -16,8 +16,8 @@ * */ -#include "src/core/lib/iomgr/port.h" #include "src/core/lib/iomgr/gethostname.h" +#include "src/core/lib/iomgr/port.h" #ifdef GRPC_POSIX_SYSCONF diff --git a/src/core/lib/iomgr/socket_utils_windows.cc b/src/core/lib/iomgr/socket_utils_windows.cc index 2732c159aae..6e85e4b61fd 100644 --- a/src/core/lib/iomgr/socket_utils_windows.cc +++ b/src/core/lib/iomgr/socket_utils_windows.cc @@ -26,12 +26,8 @@ #include const char *grpc_inet_ntop(int af, const void *src, char *dst, size_t size) { -#ifdef GPR_WIN_INET_NTOP - return inet_ntop(af, src, dst, size); -#else /* Windows InetNtopA wants a mutable ip pointer */ return InetNtopA(af, (void *)src, dst, size); -#endif /* GPR_WIN_INET_NTOP */ } #endif /* GRPC_WINDOWS_SOCKETUTILS */ diff --git a/src/core/lib/iomgr/tcp_client_uv.cc b/src/core/lib/iomgr/tcp_client_uv.cc index 274366b3566..b2c80d52c61 100644 --- a/src/core/lib/iomgr/tcp_client_uv.cc +++ b/src/core/lib/iomgr/tcp_client_uv.cc @@ -131,16 +131,16 @@ static void tcp_client_connect_impl(grpc_exec_ctx *exec_ctx, for (size_t i = 0; i < channel_args->num_args; i++) { if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_RESOURCE_QUOTA)) { grpc_resource_quota_unref_internal(exec_ctx, resource_quota); - resource_quota = grpc_resource_quota_ref_internal((grpc_resource_quota *) - channel_args->args[i].value.pointer.p); + resource_quota = grpc_resource_quota_ref_internal( + (grpc_resource_quota *)channel_args->args[i].value.pointer.p); } } } - connect = (grpc_uv_tcp_connect*)gpr_zalloc(sizeof(grpc_uv_tcp_connect)); + connect = (grpc_uv_tcp_connect *)gpr_zalloc(sizeof(grpc_uv_tcp_connect)); connect->closure = closure; connect->endpoint = ep; - connect->tcp_handle = (uv_tcp_t*)gpr_malloc(sizeof(uv_tcp_t)); + connect->tcp_handle = (uv_tcp_t *)gpr_malloc(sizeof(uv_tcp_t)); connect->addr_name = grpc_sockaddr_to_uri(resolved_addr); connect->resource_quota = resource_quota; uv_tcp_init(uv_default_loop(), connect->tcp_handle); diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 2955d16be68..7b9fd6424da 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -72,6 +72,8 @@ CORE_SOURCE_FILES = [ 'src/core/lib/compression/compression.cc', 'src/core/lib/compression/message_compress.cc', 'src/core/lib/compression/stream_compression.cc', + 'src/core/lib/compression/stream_compression_gzip.cc', + 'src/core/lib/compression/stream_compression_identity.cc', 'src/core/lib/debug/stats.cc', 'src/core/lib/debug/stats_data.cc', 'src/core/lib/http/format_request.cc', diff --git a/tools/codegen/core/gen_stats_data.py b/tools/codegen/core/gen_stats_data.py index 2717fa836da..072a6776152 100755 --- a/tools/codegen/core/gen_stats_data.py +++ b/tools/codegen/core/gen_stats_data.py @@ -208,6 +208,10 @@ with open('src/core/lib/debug/stats_data.h', 'w') as H: print >>H, "#include " print >>H, "#include \"src/core/lib/iomgr/exec_ctx.h\"" print >>H + print >>H, "#ifdef __cplusplus" + print >>H, "extern \"C\" {" + print >>H, "#endif" + print >>H for typename, instances in sorted(inst_map.items()): print >>H, "typedef enum {" @@ -252,6 +256,10 @@ with open('src/core/lib/debug/stats_data.h', 'w') as H: print >>H, "extern const int *const grpc_stats_histo_bucket_boundaries[%d];" % len(inst_map['Histogram']) print >>H, "extern void (*const grpc_stats_inc_histogram[%d])(grpc_exec_ctx *exec_ctx, int x);" % len(inst_map['Histogram']) + print >>H + print >>H, "#ifdef __cplusplus" + print >>H, "}" + print >>H, "#endif" print >>H print >>H, "#endif /* GRPC_CORE_LIB_DEBUG_STATS_DATA_H */" diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index d4c645e728a..ee593e3ea09 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1078,7 +1078,9 @@ src/core/lib/compression/message_compress.cc \ src/core/lib/compression/message_compress.h \ src/core/lib/compression/stream_compression.cc \ src/core/lib/compression/stream_compression.h \ +src/core/lib/compression/stream_compression_gzip.cc \ src/core/lib/compression/stream_compression_gzip.h \ +src/core/lib/compression/stream_compression_identity.cc \ src/core/lib/compression/stream_compression_identity.h \ src/core/lib/debug/stats.cc \ src/core/lib/debug/stats.h \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index b23c5d7bc91..95556b2e6f5 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -8007,6 +8007,8 @@ "src/core/lib/compression/compression.cc", "src/core/lib/compression/message_compress.cc", "src/core/lib/compression/stream_compression.cc", + "src/core/lib/compression/stream_compression_gzip.cc", + "src/core/lib/compression/stream_compression_identity.cc", "src/core/lib/debug/stats.cc", "src/core/lib/debug/stats_data.cc", "src/core/lib/http/format_request.cc", From f693013b13c548cae2e5cba3d5ec235faac58eb9 Mon Sep 17 00:00:00 2001 From: Chris Bacon Date: Tue, 3 Oct 2017 15:15:54 +0100 Subject: [PATCH 122/180] De-register cancellation token Fixes #12800 --- src/csharp/Grpc.Core/Internal/AsyncCall.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/csharp/Grpc.Core/Internal/AsyncCall.cs b/src/csharp/Grpc.Core/Internal/AsyncCall.cs index 17109de587b..09fb722c816 100644 --- a/src/csharp/Grpc.Core/Internal/AsyncCall.cs +++ b/src/csharp/Grpc.Core/Internal/AsyncCall.cs @@ -34,6 +34,9 @@ namespace Grpc.Core.Internal readonly CallInvocationDetails details; readonly INativeCall injectedNativeCall; // for testing + // Dispose of to de-register cancellation token registration + IDisposable cancellationTokenRegistration; + // Completion of a pending unary response if not null. TaskCompletionSource unaryResponseTcs; @@ -320,6 +323,7 @@ namespace Grpc.Core.Internal protected override void OnAfterReleaseResources() { details.Channel.RemoveCallReference(this); + cancellationTokenRegistration?.Dispose(); } protected override bool IsClient @@ -405,7 +409,7 @@ namespace Grpc.Core.Internal var token = details.Options.CancellationToken; if (token.CanBeCanceled) { - token.Register(() => this.Cancel()); + cancellationTokenRegistration = token.Register(() => this.Cancel()); } } From 12b29ec5f34c1769956d481193d6e2393fe07ee0 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 3 Oct 2017 09:41:24 -0700 Subject: [PATCH 123/180] Fix test --- test/core/transport/bdp_estimator_test.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/test/core/transport/bdp_estimator_test.c b/test/core/transport/bdp_estimator_test.c index c672b535181..4912ad58872 100644 --- a/test/core/transport/bdp_estimator_test.c +++ b/test/core/transport/bdp_estimator_test.c @@ -58,16 +58,18 @@ static void add_samples(grpc_bdp_estimator *estimator, int64_t *samples, size_t n) { grpc_bdp_estimator_add_incoming_bytes(estimator, 1234567); inc_time(); - GPR_ASSERT(grpc_bdp_estimator_need_ping(estimator) == true); + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + GPR_ASSERT(grpc_bdp_estimator_need_ping(&exec_ctx, estimator) == true); grpc_bdp_estimator_schedule_ping(estimator); grpc_bdp_estimator_start_ping(estimator); for (size_t i = 0; i < n; i++) { grpc_bdp_estimator_add_incoming_bytes(estimator, samples[i]); - GPR_ASSERT(grpc_bdp_estimator_need_ping(estimator) == false); + GPR_ASSERT(grpc_bdp_estimator_need_ping(&exec_ctx, estimator) == false); } gpr_sleep_until(gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), gpr_time_from_millis(1, GPR_TIMESPAN))); - grpc_bdp_estimator_complete_ping(estimator); + grpc_bdp_estimator_complete_ping(&exec_ctx, estimator); + grpc_exec_ctx_finish(&exec_ctx); } static void add_sample(grpc_bdp_estimator *estimator, int64_t sample) { From 301d4c93a478ffbaa533e523a3683140bb783929 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 3 Oct 2017 09:43:01 -0700 Subject: [PATCH 124/180] Fix cast --- .../client_channel/lb_policy/grpclb/load_balancer_api.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c index 9c6fb94bf19..4d5fb2081cc 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c @@ -300,9 +300,9 @@ int grpc_grpclb_duration_compare(const grpc_grpclb_duration *lhs, } grpc_millis grpc_grpclb_duration_to_millis(grpc_grpclb_duration *duration_pb) { - return (duration_pb->has_seconds ? duration_pb->seconds : 0) * - GPR_MS_PER_SEC + - (duration_pb->has_nanos ? duration_pb->nanos : 0) / GPR_NS_PER_MS; + return (grpc_millis)( + (duration_pb->has_seconds ? duration_pb->seconds : 0) * GPR_MS_PER_SEC + + (duration_pb->has_nanos ? duration_pb->nanos : 0) / GPR_NS_PER_MS); } void grpc_grpclb_initial_response_destroy( From d75d90f055a664fb60a0b33954c6db06d2ceed57 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 3 Oct 2017 09:58:21 -0700 Subject: [PATCH 125/180] Make this work --- test/core/util/fuzzer_corpus_test.cc | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/test/core/util/fuzzer_corpus_test.cc b/test/core/util/fuzzer_corpus_test.cc index 75c6846cd7e..a5e99a1bacd 100644 --- a/test/core/util/fuzzer_corpus_test.cc +++ b/test/core/util/fuzzer_corpus_test.cc @@ -38,6 +38,7 @@ DEFINE_string(directory, "", "Use this directory as test data"); class FuzzerCorpusTest : public ::testing::TestWithParam {}; TEST_P(FuzzerCorpusTest, RunOneExample) { + gpr_log(GPR_DEBUG, "Example file: %s", GetParam().c_str()); grpc_slice buffer; squelch = false; leak_check = false; @@ -62,10 +63,14 @@ class ExampleGenerator if (!FLAGS_directory.empty()) { DIR* dp; struct dirent* ep; - dp = opendir("./"); + dp = opendir(FLAGS_directory.c_str()); if (dp != NULL) { - while ((ep = readdir(dp)) != nullptr) examples_.push_back(ep->d_name); + while ((ep = readdir(dp)) != nullptr) { + if (ep->d_type == DT_REG) { + examples_.push_back(FLAGS_directory + "/" + ep->d_name); + } + } (void)closedir(dp); } else { @@ -84,18 +89,13 @@ class ExampleIterator public: ExampleIterator(const ExampleGenerator& base_, std::vector::const_iterator begin) - : base_(base_), begin_(begin), current_(begin), current_string_(NULL) {} + : base_(base_), begin_(begin), current_(begin) {} - ~ExampleIterator() { delete current_string_; } virtual const ExampleGenerator* BaseGenerator() const { return &base_; } - virtual void Advance() { - current_++; - delete current_string_; - current_string_ = NULL; - } + virtual void Advance() { current_++; } virtual ExampleIterator* Clone() const { return new ExampleIterator(*this); } - virtual const std::string* Current() const; + virtual const std::string* Current() const { return &*current_; } virtual bool Equals(const ParamIteratorInterface& other) const { return &base_ == other.BaseGenerator() && @@ -104,15 +104,11 @@ class ExampleIterator private: ExampleIterator(const ExampleIterator& other) - : base_(other.base_), - begin_(other.begin_), - current_(other.current_), - current_string_(NULL) {} + : base_(other.base_), begin_(other.begin_), current_(other.current_) {} const ExampleGenerator& base_; const std::vector::const_iterator begin_; std::vector::const_iterator current_; - mutable const std::string* current_string_; }; ::testing::internal::ParamIteratorInterface* @@ -133,6 +129,7 @@ INSTANTIATE_TEST_CASE_P( int main(int argc, char** argv) { grpc_test_init(argc, argv); + ::gflags::ParseCommandLineFlags(&argc, &argv, true); ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); From c680f757ac93bdb518db9f46b0f7c781dc569d40 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 3 Oct 2017 14:04:35 -0700 Subject: [PATCH 126/180] Fix UV compilation --- src/core/lib/iomgr/timer_uv.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/core/lib/iomgr/timer_uv.c b/src/core/lib/iomgr/timer_uv.c index adced41f539..ebfd9647d7d 100644 --- a/src/core/lib/iomgr/timer_uv.c +++ b/src/core/lib/iomgr/timer_uv.c @@ -53,19 +53,18 @@ void run_expired_timer(uv_timer_t *handle) { } void grpc_timer_init(grpc_exec_ctx *exec_ctx, grpc_timer *timer, - gpr_timespec deadline, grpc_closure *closure, - gpr_timespec now) { + grpc_millis deadline, grpc_closure *closure) { uint64_t timeout; uv_timer_t *uv_timer; GRPC_UV_ASSERT_SAME_THREAD(); timer->closure = closure; - if (gpr_time_cmp(deadline, now) <= 0) { + if (deadline <= grpc_exec_ctx_now(exec_ctx)) { timer->pending = 0; GRPC_CLOSURE_SCHED(exec_ctx, timer->closure, GRPC_ERROR_NONE); return; } timer->pending = 1; - timeout = (uint64_t)gpr_time_to_millis(gpr_time_sub(deadline, now)); + timeout = (uint64_t)(deadline - now); uv_timer = gpr_malloc(sizeof(uv_timer_t)); uv_timer_init(uv_default_loop(), uv_timer); uv_timer->data = timer; From e86c7fd8c335a2bb9c283cbe5eac65483dc0cb1c Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 3 Oct 2017 14:05:50 -0700 Subject: [PATCH 127/180] Fix UV compilation --- src/core/lib/iomgr/tcp_client_uv.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/core/lib/iomgr/tcp_client_uv.c b/src/core/lib/iomgr/tcp_client_uv.c index 786c456b735..d456c6797ae 100644 --- a/src/core/lib/iomgr/tcp_client_uv.c +++ b/src/core/lib/iomgr/tcp_client_uv.c @@ -119,7 +119,7 @@ static void tcp_client_connect_impl(grpc_exec_ctx *exec_ctx, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, const grpc_resolved_address *resolved_addr, - gpr_timespec deadline) { + grpc_millis deadline) { grpc_uv_tcp_connect *connect; grpc_resource_quota *resource_quota = grpc_resource_quota_create(NULL); (void)channel_args; @@ -158,9 +158,7 @@ static void tcp_client_connect_impl(grpc_exec_ctx *exec_ctx, uv_tc_on_connect); GRPC_CLOSURE_INIT(&connect->on_alarm, uv_tc_on_alarm, connect, grpc_schedule_on_exec_ctx); - grpc_timer_init(exec_ctx, &connect->alarm, - gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC), - &connect->on_alarm, gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_timer_init(exec_ctx, &connect->alarm, deadline, &connect->on_alarm); } // overridden by api_fuzzer.c @@ -168,14 +166,14 @@ void (*grpc_tcp_client_connect_impl)( grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, const grpc_resolved_address *addr, - gpr_timespec deadline) = tcp_client_connect_impl; + grpc_millis deadline) = tcp_client_connect_impl; void grpc_tcp_client_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, const grpc_resolved_address *addr, - gpr_timespec deadline) { + grpc_millis deadline) { grpc_tcp_client_connect_impl(exec_ctx, closure, ep, interested_parties, channel_args, addr, deadline); } From b44a7bf8c3d8390c78c56b6aff7bd30a2da5289f Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 3 Oct 2017 14:35:38 -0700 Subject: [PATCH 128/180] Revert deleted file --- test/core/util/one_corpus_entry_fuzzer.c | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 test/core/util/one_corpus_entry_fuzzer.c diff --git a/test/core/util/one_corpus_entry_fuzzer.c b/test/core/util/one_corpus_entry_fuzzer.c new file mode 100644 index 00000000000..42467390f2d --- /dev/null +++ b/test/core/util/one_corpus_entry_fuzzer.c @@ -0,0 +1,39 @@ +/* + * + * Copyright 2016 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include + +#include +#include "src/core/lib/iomgr/load_file.h" + +extern int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); + +extern bool squelch; +extern bool leak_check; + +int main(int argc, char **argv) { + grpc_slice buffer; + squelch = false; + leak_check = false; + GPR_ASSERT( + GRPC_LOG_IF_ERROR("load_file", grpc_load_file(argv[1], 0, &buffer))); + LLVMFuzzerTestOneInput(GRPC_SLICE_START_PTR(buffer), + GRPC_SLICE_LENGTH(buffer)); + grpc_slice_unref(buffer); + return 0; +} From 2b86ea6206e9ca71f59acff9752d28495be81126 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 3 Oct 2017 15:49:14 -0700 Subject: [PATCH 129/180] Fixes --- src/core/lib/iomgr/timer_uv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/lib/iomgr/timer_uv.c b/src/core/lib/iomgr/timer_uv.c index ebfd9647d7d..4839deca66a 100644 --- a/src/core/lib/iomgr/timer_uv.c +++ b/src/core/lib/iomgr/timer_uv.c @@ -64,7 +64,7 @@ void grpc_timer_init(grpc_exec_ctx *exec_ctx, grpc_timer *timer, return; } timer->pending = 1; - timeout = (uint64_t)(deadline - now); + timeout = (uint64_t)(deadline - grpc_exec_ctx_now(exec_ctx)); uv_timer = gpr_malloc(sizeof(uv_timer_t)); uv_timer_init(uv_default_loop(), uv_timer); uv_timer->data = timer; @@ -88,7 +88,7 @@ void grpc_timer_cancel(grpc_exec_ctx *exec_ctx, grpc_timer *timer) { } grpc_timer_check_result grpc_timer_check(grpc_exec_ctx *exec_ctx, - gpr_timespec now, gpr_timespec *next) { + grpc_millis *next) { return GRPC_TIMERS_NOT_CHECKED; } From d3568c0a206b6c4b7529176e181f04c6624b1295 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 3 Oct 2017 15:49:33 -0700 Subject: [PATCH 130/180] Fixes --- test/core/slice/BUILD | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/test/core/slice/BUILD b/test/core/slice/BUILD index f86a3a6082c..ad2308a4d69 100644 --- a/test/core/slice/BUILD +++ b/test/core/slice/BUILD @@ -20,11 +20,23 @@ licenses(["notice"]) # Apache v2 load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer") +grpc_fuzzer( + name = "percent_encode_fuzzer", + srcs = ["percent_encode_fuzzer.c"], + language = "C", + corpus = "percent_encode_corpus", + deps = [ + "//:gpr", + "//:grpc", + "//test/core/util:grpc_test_util", + ], +) + grpc_fuzzer( name = "percent_decode_fuzzer", srcs = ["percent_decode_fuzzer.c"], language = "C", - corpus = "response_corpus", + corpus = "percent_decode_corpus", deps = [ "//:gpr", "//:grpc", From 2dcbc10195c1aeea0718bc6ee61a29eb0eb56982 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 3 Oct 2017 16:23:07 -0700 Subject: [PATCH 131/180] Few more BUILD file changes --- BUILD | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/BUILD b/BUILD index d234e76159f..0d29638cfca 100644 --- a/BUILD +++ b/BUILD @@ -187,7 +187,7 @@ GRPCXX_PUBLIC_HDRS = [ grpc_cc_library( name = "gpr", - language = "c", + language = "c++", public_hdrs = GPR_PUBLIC_HDRS, standalone = True, deps = [ @@ -536,7 +536,7 @@ grpc_cc_library( grpc_cc_library( name = "gpr_codegen", - language = "c", + language = "c++", public_hdrs = [ "include/grpc/impl/codegen/atm.h", "include/grpc/impl/codegen/atm_gcc_atomic.h", @@ -839,7 +839,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_common", - language = "c", + language = "c++", deps = [ "grpc_base", # standard plugins @@ -991,7 +991,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_codegen", - language = "c", + language = "c++", public_hdrs = [ "include/grpc/impl/codegen/byte_buffer.h", "include/grpc/impl/codegen/byte_buffer_reader.h", From f49ab12975352551ad02248e3dd166960d2d18c9 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 3 Oct 2017 18:36:05 -0700 Subject: [PATCH 132/180] Some final linker and build issues. Also, resolving invalid_channel_args_test --- BUILD | 5 ++++- .../transport/cronet/client/secure/cronet_channel_create.cc | 2 ++ test/core/surface/invalid_channel_args_test.c | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/BUILD b/BUILD index 5e176ccd654..4426c16e9dd 100644 --- a/BUILD +++ b/BUILD @@ -558,7 +558,10 @@ grpc_cc_library( srcs = ["src/core/lib/debug/trace.cc"], hdrs = ["src/core/lib/debug/trace.h"], language = "c++", - deps = [":gpr"], + deps = [ + "grpc_codegen", + ":gpr", + ], ) grpc_cc_library( diff --git a/src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc b/src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc index 83365192e3d..b280487ca3e 100644 --- a/src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc +++ b/src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc @@ -21,6 +21,8 @@ #include #include +#include + #include #include diff --git a/test/core/surface/invalid_channel_args_test.c b/test/core/surface/invalid_channel_args_test.c index 84d7627d298..9c84c30f031 100644 --- a/test/core/surface/invalid_channel_args_test.c +++ b/test/core/surface/invalid_channel_args_test.c @@ -25,7 +25,7 @@ #include "test/core/util/test_config.h" static char *g_last_log_error_message = NULL; -static const char *g_file_name = "channel.c"; +static const char *g_file_name = "channel.cc"; static int ends_with(const char *src, const char *suffix) { size_t src_len = strlen(src); From 92a3805cd37ab41315ded5b5142089db62887b89 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 4 Oct 2017 10:49:20 -0700 Subject: [PATCH 133/180] Submodule bloaty mcbloatface --- .gitmodules | 3 +++ third_party/bloaty | 1 + tools/run_tests/sanity/check_submodules.sh | 1 + 3 files changed, 5 insertions(+) create mode 160000 third_party/bloaty diff --git a/.gitmodules b/.gitmodules index 144fd080ac9..8af00521288 100644 --- a/.gitmodules +++ b/.gitmodules @@ -24,3 +24,6 @@ path = third_party/cares/cares url = https://github.com/c-ares/c-ares.git branch = cares-1_12_0 +[submodule "third_party/bloaty"] + path = third_party/bloaty + url = https://github.com/google/bloaty.git diff --git a/third_party/bloaty b/third_party/bloaty new file mode 160000 index 00000000000..73594cde8c9 --- /dev/null +++ b/third_party/bloaty @@ -0,0 +1 @@ +Subproject commit 73594cde8c9a52a102c4341c244c833aa61b9c06 diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh index 7c934b1ba78..97324f0a3ad 100755 --- a/tools/run_tests/sanity/check_submodules.sh +++ b/tools/run_tests/sanity/check_submodules.sh @@ -34,6 +34,7 @@ cat << EOF | awk '{ print $1 }' | sort > $want_submodules 80a37e0782d2d702d52234b62dd4b9ec74fd2c95 third_party/protobuf (v3.4.0) cacf7f1d4e3d44d871b605da3b647f07d718623f third_party/zlib (v1.2.11) 3be1924221e1326df520f8498d704a5c4c8d0cce third_party/cares/cares (cares-1_13_0) + 73594cde8c9a52a102c4341c244c833aa61b9c06 third_party/bloaty EOF diff -u $submodules $want_submodules From dabce0a93ad3536004fef8937fee0bad1c31378f Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Wed, 4 Oct 2017 11:58:02 -0700 Subject: [PATCH 134/180] macos objC build error --- gRPC-Core.podspec | 4 ++-- templates/gRPC-Core.podspec.template | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index f3e7dd18745..7ad6812a894 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -972,8 +972,8 @@ Pod::Spec.new do |s| ss.dependency "#{s.name}/Implementation", version ss.dependency "#{s.name}/Cronet-Interface", version - ss.source_files = 'src/core/ext/transport/cronet/client/secure/cronet_channel_create.c', - 'src/core/ext/transport/cronet/transport/cronet_transport.{c,h}', + ss.source_files = 'src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc', + 'src/core/ext/transport/cronet/transport/cronet_transport.{cc,h}', 'third_party/objective_c/Cronet/bidirectional_stream_c.h' end diff --git a/templates/gRPC-Core.podspec.template b/templates/gRPC-Core.podspec.template index 22814849172..77191aa6d04 100644 --- a/templates/gRPC-Core.podspec.template +++ b/templates/gRPC-Core.podspec.template @@ -164,8 +164,8 @@ ss.dependency "#{s.name}/Implementation", version ss.dependency "#{s.name}/Cronet-Interface", version - ss.source_files = 'src/core/ext/transport/cronet/client/secure/cronet_channel_create.c', - 'src/core/ext/transport/cronet/transport/cronet_transport.{c,h}', + ss.source_files = 'src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc', + 'src/core/ext/transport/cronet/transport/cronet_transport.{cc,h}', 'third_party/objective_c/Cronet/bidirectional_stream_c.h' end From 53a64b993623873e4abf7c745d8514780e755328 Mon Sep 17 00:00:00 2001 From: yang-g Date: Wed, 4 Oct 2017 12:35:27 -0700 Subject: [PATCH 135/180] Properly clean up stress test clients --- test/cpp/interop/stress_test.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/test/cpp/interop/stress_test.cc b/test/cpp/interop/stress_test.cc index 9cc5a8168b3..c6d3600be85 100644 --- a/test/cpp/interop/stress_test.cc +++ b/test/cpp/interop/stress_test.cc @@ -257,6 +257,7 @@ int main(int argc, char** argv) { gpr_log(GPR_INFO, "Starting test(s).."); std::vector test_threads; + std::vector> clients; // Create and start the test threads. // Note that: @@ -282,9 +283,9 @@ int main(int argc, char** argv) { // Create stub(s) for each channel for (int stub_idx = 0; stub_idx < FLAGS_num_stubs_per_channel; stub_idx++) { - StressTestInteropClient* client = new StressTestInteropClient( + clients.emplace_back(new StressTestInteropClient( ++thread_idx, *it, channel, test_selector, FLAGS_test_duration_secs, - FLAGS_sleep_duration_ms, FLAGS_do_not_abort_on_transient_failures); + FLAGS_sleep_duration_ms, FLAGS_do_not_abort_on_transient_failures)); bool is_already_created = false; // QpsGauge name @@ -293,7 +294,7 @@ int main(int argc, char** argv) { server_idx, channel_idx, stub_idx); test_threads.emplace_back(std::thread( - &StressTestInteropClient::MainLoop, client, + &StressTestInteropClient::MainLoop, clients.back().get(), metrics_service.CreateQpsGauge(buffer, &is_already_created))); // The QpsGauge should not have been already created From c5444648eee1c75594925541cbf38b9dee711b80 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Wed, 4 Oct 2017 12:57:02 -0700 Subject: [PATCH 136/180] Adding UBSAN suppressors for the time being --- tools/ubsan_suppressions.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/ubsan_suppressions.txt b/tools/ubsan_suppressions.txt index 6ccc306cf05..2268adc169f 100644 --- a/tools/ubsan_suppressions.txt +++ b/tools/ubsan_suppressions.txt @@ -9,3 +9,9 @@ alignment:poly1305_block_copy nonnull-attribute:google::protobuf::* alignment:google::protobuf::* nonnull-attribute:_tr_stored_block +# The following 5 suppressors should be removed as part of C++ cleanup +enum:client_fuzzer_one_entry +enum:message_compress_test +enum:transport_security_test +enum:algorithm_test +alignment:transport_security_test From e3dbf766f8fc7736ae6a122028e84fcaabb98f93 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 4 Oct 2017 14:01:28 -0700 Subject: [PATCH 137/180] Initial implementation of bloat_diff --- tools/profiling/bloat/bloat_diff.py | 98 +++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100755 tools/profiling/bloat/bloat_diff.py diff --git a/tools/profiling/bloat/bloat_diff.py b/tools/profiling/bloat/bloat_diff.py new file mode 100755 index 00000000000..b9212f1cb9c --- /dev/null +++ b/tools/profiling/bloat/bloat_diff.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python2.7 +# +# Copyright 2017 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import argparse +import glob +import multiprocessing +import os +import shutil +import subprocess +import sys + +sys.path.append( + os.path.join( + os.path.dirname(sys.argv[0]), '..', '..', 'run_tests', 'python_utils')) +import comment_on_pr + +argp = argparse.ArgumentParser( + description='Perform diff on microbenchmarks') + +argp.add_argument( + '-d', + '--diff_base', + type=str, + help='Commit or branch to compare the current one to') + +argp.add_argument( + '-j', + '--jobs', + type=int, + default=multiprocessing.cpu_count()) + +args = argp.parse_args() + +LIBS = [ + 'libgrpc.so', + 'libgrpc++.so', +] + +def build(where): + subprocess.check_call('make -j%d' % args.jobs, + shell=True, cwd='.') + shutil.rmtree('bloat_diff_%s' % where, ignore_errors=True) + os.rename('libs', 'bloat_diff_%s' % where) + +build('new') + +if args.diff_base: + old = 'old' + where_am_i = subprocess.check_output( + ['git', 'rev-parse', '--abbrev-ref', 'HEAD']).strip() + subprocess.check_call(['git', 'checkout', args.diff_base]) + subprocess.check_call(['git', 'submodule', 'update']) + try: + try: + build('old') + except subprocess.CalledProcessError, e: + subprocess.check_call(['make', 'clean']) + build('old') + finally: + subprocess.check_call(['git', 'checkout', where_am_i]) + subprocess.check_call(['git', 'submodule', 'update']) + +subprocess.check_call('make -j%d' % args.jobs, + shell=True, cwd='third_party/bloaty') + +text = '' +for lib in LIBS: + text += '****************************************************************\n\n' + text += lib + '\n\n' + old_version = glob.glob('bloat_diff_old/opt/%s' % lib) + new_version = glob.glob('bloat_diff_new/opt/%s' % lib) + assert len(new_version) == 1 + if old_version: + assert len(old_version) == 1 + text += subprocess.check_output('third_party/bloaty/bloaty %s -- %s' % + (new_version[0], old_version[0]), + shell=True) + else: + text += subprocess.check_output('third_party/bloaty/bloaty %s' % + (new_version[0]), + shell=True) + text += '\n\n' + +print text +comment_on_pr.comment_on_pr('```\n%s\n```' % text) From f734e732e3aa94c2db0550e36d007f0114338560 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 4 Oct 2017 14:09:28 -0700 Subject: [PATCH 138/180] Better output --- tools/profiling/bloat/bloat_diff.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/profiling/bloat/bloat_diff.py b/tools/profiling/bloat/bloat_diff.py index b9212f1cb9c..9b40685e909 100755 --- a/tools/profiling/bloat/bloat_diff.py +++ b/tools/profiling/bloat/bloat_diff.py @@ -83,14 +83,15 @@ for lib in LIBS: old_version = glob.glob('bloat_diff_old/opt/%s' % lib) new_version = glob.glob('bloat_diff_new/opt/%s' % lib) assert len(new_version) == 1 + cmd = 'third_party/bloaty/bloaty -d compileunits,symbols' if old_version: assert len(old_version) == 1 - text += subprocess.check_output('third_party/bloaty/bloaty %s -- %s' % - (new_version[0], old_version[0]), + text += subprocess.check_output('%s %s -- %s' % + (cmd, new_version[0], old_version[0]), shell=True) else: - text += subprocess.check_output('third_party/bloaty/bloaty %s' % - (new_version[0]), + text += subprocess.check_output('%s %s' % + (cmd, new_version[0]), shell=True) text += '\n\n' From 9125923c077366cbc9bce9dee765dd5beba79544 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 4 Oct 2017 14:20:59 -0700 Subject: [PATCH 139/180] Configure tool to run --- tools/internal_ci/linux/grpc_microbenchmark_diff.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/internal_ci/linux/grpc_microbenchmark_diff.sh b/tools/internal_ci/linux/grpc_microbenchmark_diff.sh index 58ffcf336b8..45add1b02da 100755 --- a/tools/internal_ci/linux/grpc_microbenchmark_diff.sh +++ b/tools/internal_ci/linux/grpc_microbenchmark_diff.sh @@ -25,6 +25,8 @@ cd $(dirname $0)/../../.. source tools/internal_ci/helper_scripts/prepare_build_linux_perf_rc tools/run_tests/start_port_server.py +tools/jenkins/run_c_cpp_test.sh tools/profiling/bloat/bloat_diff.py \ + -d origin/$ghprbTargetBranch || FAILED="true" tools/jenkins/run_c_cpp_test.sh tools/profiling/microbenchmarks/bm_diff/bm_main.py \ -d origin/$ghprbTargetBranch \ -b $BENCHMARKS_TO_RUN || FAILED="true" From 77ed33e020ec1e1409696014402314c6e021a0b8 Mon Sep 17 00:00:00 2001 From: Muxi Yan Date: Wed, 4 Oct 2017 15:52:59 -0700 Subject: [PATCH 140/180] clang-format --- src/core/ext/transport/chttp2/transport/chttp2_transport.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index 3a4b53d2546..70895abcc4a 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -1902,7 +1902,8 @@ void grpc_chttp2_maybe_complete_recv_message(grpc_exec_ctx *exec_ctx, s->unprocessed_incoming_frames_decompressed = false; } if (!s->unprocessed_incoming_frames_decompressed && - s->stream_decompression_method != GRPC_STREAM_COMPRESSION_IDENTITY_DECOMPRESS) { + s->stream_decompression_method != + GRPC_STREAM_COMPRESSION_IDENTITY_DECOMPRESS) { GPR_ASSERT(s->decompressed_data_buffer.length == 0); bool end_of_context; if (!s->stream_decompression_ctx) { From 768c8945192227008e686e2c6a96ec9f2ecc88f8 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Fri, 22 Sep 2017 16:38:07 +0200 Subject: [PATCH 141/180] reduce timeout for json_run_localhost --- test/cpp/qps/gen_build_yaml.py | 4 +- tools/run_tests/generated/tests.json | 280 +++++++++++++-------------- 2 files changed, 142 insertions(+), 142 deletions(-) diff --git a/test/cpp/qps/gen_build_yaml.py b/test/cpp/qps/gen_build_yaml.py index a3ccbcf5766..8575fe5a05c 100755 --- a/test/cpp/qps/gen_build_yaml.py +++ b/test/cpp/qps/gen_build_yaml.py @@ -77,7 +77,7 @@ print yaml.dump({ 'defaults': 'boringssl', 'cpu_cost': guess_cpu(scenario_json, False), 'exclude_configs': ['tsan', 'asan'], - 'timeout_seconds': 6*60, + 'timeout_seconds': 2*60, 'excluded_poll_engines': scenario_json.get('EXCLUDED_POLL_ENGINES', []) } for scenario_json in scenario_config.CXXLanguage().scenarios() @@ -95,7 +95,7 @@ print yaml.dump({ 'defaults': 'boringssl', 'cpu_cost': guess_cpu(scenario_json, True), 'exclude_configs': sorted(c for c in configs_from_yaml if c not in ('tsan', 'asan')), - 'timeout_seconds': 6*60, + 'timeout_seconds': 2*60, 'excluded_poll_engines': scenario_json.get('EXCLUDED_POLL_ENGINES', []) } for scenario_json in scenario_config.CXXLanguage().scenarios() diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index 72dfbc0b982..1fefb52f07d 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -49542,7 +49542,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_1channel_100rpcs_1MB", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49567,7 +49567,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_1channel_1MB", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49592,7 +49592,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49617,7 +49617,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49642,7 +49642,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_1mps_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49667,7 +49667,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_10mps_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49692,7 +49692,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_1channel_1MBmsg_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49717,7 +49717,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_64KBmsg_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49742,7 +49742,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_2waysharedcq_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49767,7 +49767,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_2waysharedcq_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49792,7 +49792,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_2waysharedcq_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49817,7 +49817,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_one_server_core_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49844,7 +49844,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_unary_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49869,7 +49869,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_unary_1channel_64wide_128Breq_8MBresp_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49896,7 +49896,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49921,7 +49921,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_secure_1MB", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49946,7 +49946,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49971,7 +49971,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49996,7 +49996,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50021,7 +50021,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50046,7 +50046,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50071,7 +50071,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50096,7 +50096,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_1mps_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50121,7 +50121,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_10mps_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50146,7 +50146,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50171,7 +50171,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50196,7 +50196,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_1mps_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50221,7 +50221,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_10mps_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50246,7 +50246,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50271,7 +50271,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50296,7 +50296,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50321,7 +50321,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50346,7 +50346,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50371,7 +50371,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50396,7 +50396,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50421,7 +50421,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50446,7 +50446,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50471,7 +50471,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50496,7 +50496,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_1mps_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50521,7 +50521,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_10mps_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50546,7 +50546,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_1channel_1MBmsg_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50571,7 +50571,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_64KBmsg_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50596,7 +50596,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_2waysharedcq_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50621,7 +50621,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_2waysharedcq_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50646,7 +50646,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_2waysharedcq_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50671,7 +50671,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_one_server_core_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50698,7 +50698,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_unary_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50723,7 +50723,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_unary_1channel_64wide_128Breq_8MBresp_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50750,7 +50750,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50775,7 +50775,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_insecure_1MB", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50800,7 +50800,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50825,7 +50825,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50850,7 +50850,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50875,7 +50875,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50900,7 +50900,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50925,7 +50925,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50950,7 +50950,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_1mps_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50975,7 +50975,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_10mps_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51000,7 +51000,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51025,7 +51025,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51050,7 +51050,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_1mps_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51075,7 +51075,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_10mps_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51100,7 +51100,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51125,7 +51125,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51150,7 +51150,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51175,7 +51175,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51200,7 +51200,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51225,7 +51225,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51250,7 +51250,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51275,7 +51275,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51313,7 +51313,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_1channel_100rpcs_1MB_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51351,7 +51351,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_1channel_1MB_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51389,7 +51389,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51427,7 +51427,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51465,7 +51465,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_1mps_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51503,7 +51503,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_10mps_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51541,7 +51541,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_1channel_1MBmsg_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51579,7 +51579,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_64KBmsg_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51617,7 +51617,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_2waysharedcq_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51655,7 +51655,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_2waysharedcq_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51693,7 +51693,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_2waysharedcq_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51731,7 +51731,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_one_server_core_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51771,7 +51771,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_unary_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51809,7 +51809,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_unary_1channel_64wide_128Breq_8MBresp_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51849,7 +51849,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51887,7 +51887,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_secure_1MB_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51925,7 +51925,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51963,7 +51963,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52001,7 +52001,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52039,7 +52039,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52077,7 +52077,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52115,7 +52115,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52153,7 +52153,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_1mps_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52191,7 +52191,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_10mps_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52229,7 +52229,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52267,7 +52267,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52305,7 +52305,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_1mps_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52343,7 +52343,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_10mps_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52381,7 +52381,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52419,7 +52419,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52457,7 +52457,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52495,7 +52495,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52533,7 +52533,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52571,7 +52571,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52609,7 +52609,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52647,7 +52647,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52685,7 +52685,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52723,7 +52723,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52761,7 +52761,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_1mps_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52799,7 +52799,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_10mps_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52837,7 +52837,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_1channel_1MBmsg_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52875,7 +52875,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_64KBmsg_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52913,7 +52913,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_2waysharedcq_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52951,7 +52951,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_2waysharedcq_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52989,7 +52989,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_2waysharedcq_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53027,7 +53027,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_one_server_core_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53067,7 +53067,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_unary_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53105,7 +53105,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_unary_1channel_64wide_128Breq_8MBresp_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53145,7 +53145,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53183,7 +53183,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_insecure_1MB_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53221,7 +53221,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53259,7 +53259,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53297,7 +53297,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53335,7 +53335,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53373,7 +53373,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53411,7 +53411,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53449,7 +53449,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_1mps_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53487,7 +53487,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_10mps_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53525,7 +53525,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53563,7 +53563,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53601,7 +53601,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_1mps_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53639,7 +53639,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_10mps_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53677,7 +53677,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53715,7 +53715,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53753,7 +53753,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53791,7 +53791,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53829,7 +53829,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53867,7 +53867,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53905,7 +53905,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53943,7 +53943,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ From ac3d765041e39d235ca82d82230a57a65c9c544e Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Thu, 5 Oct 2017 15:27:01 +0200 Subject: [PATCH 142/180] retry when uploading results to bigquery --- .../run_tests/python_utils/upload_test_results.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/tools/run_tests/python_utils/upload_test_results.py b/tools/run_tests/python_utils/upload_test_results.py index 580e7f7d810..15e827769e1 100644 --- a/tools/run_tests/python_utils/upload_test_results.py +++ b/tools/run_tests/python_utils/upload_test_results.py @@ -102,6 +102,15 @@ def upload_results_to_bq(resultset, bq_table, args, platform): test_results['timestamp'] = time.strftime('%Y-%m-%d %H:%M:%S') row = big_query_utils.make_row(str(uuid.uuid4()), test_results) - if not big_query_utils.insert_rows(bq, _PROJECT_ID, _DATASET_ID, bq_table, [row]): - print('Error uploading result to bigquery.') - sys.exit(1) + + # TODO(jtattermusch): rows are inserted one by one, very inefficient + max_retries = 3 + for attempt in range(max_retries): + if big_query_utils.insert_rows(bq, _PROJECT_ID, _DATASET_ID, bq_table, [row]): + break + else: + if attempt < max_retries - 1: + print('Error uploading result to bigquery, will retry.') + else: + print('Error uploading result to bigquery, all attempts failed.') + sys.exit(1) From 8dbc2364b3b68bbf7e43eac3dea8e4d79e649d1d Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Thu, 5 Oct 2017 17:15:27 +0200 Subject: [PATCH 143/180] report elapsed time for jobs that time out --- tools/run_tests/python_utils/jobset.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/run_tests/python_utils/jobset.py b/tools/run_tests/python_utils/jobset.py index 82a3bc14352..d523095e703 100755 --- a/tools/run_tests/python_utils/jobset.py +++ b/tools/run_tests/python_utils/jobset.py @@ -306,8 +306,8 @@ class Job(object): else: self._state = _FAILURE if not self._suppress_failure_message: - message('FAILED', '%s [ret=%d, pid=%d]' % ( - self._spec.shortname, self._process.returncode, self._process.pid), + message('FAILED', '%s [ret=%d, pid=%d, time=%.1fsec]' % ( + self._spec.shortname, self._process.returncode, self._process.pid, elapsed), stdout(), do_newline=True) self.result.state = 'FAILED' self.result.num_failures += 1 @@ -326,7 +326,7 @@ class Job(object): self.result.cpu_estimated = float('%.01f' % self._spec.cpu_cost) measurement = '; cpu_cost=%.01f; estimated=%.01f' % (self.result.cpu_measured, self.result.cpu_estimated) if not self._quiet_success: - message('PASSED', '%s [time=%.1fsec; retries=%d:%d%s]' % ( + message('PASSED', '%s [time=%.1fsec, retries=%d:%d%s]' % ( self._spec.shortname, elapsed, self._retries, self._timeout_retries, measurement), stdout() if self._spec.verbose_success else None, do_newline=self._newline_on_success or self._travis) @@ -334,6 +334,8 @@ class Job(object): elif (self._state == _RUNNING and self._spec.timeout_seconds is not None and time.time() - self._start > self._spec.timeout_seconds): + elapsed = time.time() - self._start + self.result.elapsed_time = elapsed if self._timeout_retries < self._spec.timeout_retries: message('TIMEOUT_FLAKE', '%s [pid=%d]' % (self._spec.shortname, self._process.pid), stdout(), do_newline=True) self._timeout_retries += 1 @@ -344,7 +346,7 @@ class Job(object): self._process.terminate() self.start() else: - message('TIMEOUT', '%s [pid=%d]' % (self._spec.shortname, self._process.pid), stdout(), do_newline=True) + message('TIMEOUT', '%s [pid=%d, time=%.1fsec]' % (self._spec.shortname, self._process.pid, elapsed), stdout(), do_newline=True) self.kill() self.result.state = 'TIMEOUT' self.result.num_failures += 1 From 12587d5df5f6ce4a6601ae515ab097a05c989906 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 5 Oct 2017 08:53:41 -0700 Subject: [PATCH 144/180] Mirroring BUILD changes - missed public headers --- BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/BUILD b/BUILD index 4426c16e9dd..d0b37dfa6cc 100644 --- a/BUILD +++ b/BUILD @@ -558,6 +558,7 @@ grpc_cc_library( srcs = ["src/core/lib/debug/trace.cc"], hdrs = ["src/core/lib/debug/trace.h"], language = "c++", + public_hdrs = GRPC_PUBLIC_HDRS, deps = [ "grpc_codegen", ":gpr", From 8c12d9eae6ed064a80b85bd3867d4f7eec2ed642 Mon Sep 17 00:00:00 2001 From: Alexander Polcyn Date: Thu, 5 Oct 2017 08:47:39 -0700 Subject: [PATCH 145/180] Add a test under ruby GC stress mode and fix non-GC-rooted variable bug --- .../load_grpc_with_gc_stress_driver.rb | 32 +++++++++++++++++++ src/ruby/ext/grpc/rb_grpc.c | 2 +- .../helper_scripts/run_ruby_end2end_tests.sh | 1 + 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100755 src/ruby/end2end/load_grpc_with_gc_stress_driver.rb diff --git a/src/ruby/end2end/load_grpc_with_gc_stress_driver.rb b/src/ruby/end2end/load_grpc_with_gc_stress_driver.rb new file mode 100755 index 00000000000..3668b95a052 --- /dev/null +++ b/src/ruby/end2end/load_grpc_with_gc_stress_driver.rb @@ -0,0 +1,32 @@ +#!/usr/bin/env ruby +# +# Copyright 2016 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +this_dir = File.expand_path(File.dirname(__FILE__)) +protos_lib_dir = File.join(this_dir, 'lib') +grpc_lib_dir = File.join(File.dirname(this_dir), 'lib') +$LOAD_PATH.unshift(grpc_lib_dir) unless $LOAD_PATH.include?(grpc_lib_dir) +$LOAD_PATH.unshift(protos_lib_dir) unless $LOAD_PATH.include?(protos_lib_dir) +$LOAD_PATH.unshift(this_dir) unless $LOAD_PATH.include?(this_dir) + +GC.stress = 0x04 + +require 'grpc' + +GRPC::Core::Channel.new('dummy_host', nil, :this_channel_is_insecure) +GRPC::Core::Server.new({}) +GRPC::Core::ChannelCredentials.new +GRPC::Core::CallCredentials.new(proc { |noop| noop }) +GRPC::Core::CompressionOptions.new diff --git a/src/ruby/ext/grpc/rb_grpc.c b/src/ruby/ext/grpc/rb_grpc.c index 933a3ac1525..b53f09edec4 100644 --- a/src/ruby/ext/grpc/rb_grpc.c +++ b/src/ruby/ext/grpc/rb_grpc.c @@ -315,8 +315,8 @@ void Init_grpc_c() { return; } - bg_thread_init_rb_mu = rb_mutex_new(); rb_global_variable(&bg_thread_init_rb_mu); + bg_thread_init_rb_mu = rb_mutex_new(); grpc_rb_mGRPC = rb_define_module("GRPC"); grpc_rb_mGrpcCore = rb_define_module_under(grpc_rb_mGRPC, "Core"); diff --git a/tools/run_tests/helper_scripts/run_ruby_end2end_tests.sh b/tools/run_tests/helper_scripts/run_ruby_end2end_tests.sh index 7914b0e29a0..5cfab14fee5 100755 --- a/tools/run_tests/helper_scripts/run_ruby_end2end_tests.sh +++ b/tools/run_tests/helper_scripts/run_ruby_end2end_tests.sh @@ -27,4 +27,5 @@ ruby src/ruby/end2end/killed_client_thread_driver.rb || EXIT_CODE=1 ruby src/ruby/end2end/forking_client_driver.rb || EXIT_CODE=1 ruby src/ruby/end2end/grpc_class_init_driver.rb || EXIT_CODE=1 ruby src/ruby/end2end/multiple_killed_watching_threads_driver.rb || EXIT_CODE=1 +ruby src/ruby/end2end/load_grpc_with_gc_stress_driver.rb || EXIT_CODE=1 exit $EXIT_CODE From 6e3296408c53c57caf330aaa94401086e7cd0aa7 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Thu, 5 Oct 2017 10:21:56 -0700 Subject: [PATCH 146/180] Fix compilation --- src/core/lib/support/log_posix.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/lib/support/log_posix.cc b/src/core/lib/support/log_posix.cc index 38a136e646f..29530c858f3 100644 --- a/src/core/lib/support/log_posix.cc +++ b/src/core/lib/support/log_posix.cc @@ -58,7 +58,7 @@ void gpr_log(const char *file, int line, gpr_log_severity severity, } extern "C" void gpr_default_log(gpr_log_func_args *args) { - char *final_slash; + const char *final_slash; const char *display_file; char time_buffer[64]; time_t timer; From e1a2b4ad59892daf7c84d9118a133724ccb034ad Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 5 Oct 2017 11:07:14 -0700 Subject: [PATCH 147/180] Fix merge --- BUILD | 184 +--------------------------------------------------------- 1 file changed, 1 insertion(+), 183 deletions(-) diff --git a/BUILD b/BUILD index 48b8aa9c83f..eaf369dce62 100644 --- a/BUILD +++ b/BUILD @@ -461,60 +461,12 @@ grpc_cc_library( grpc_cc_library( name = "gpr_base", srcs = [ -<<<<<<< HEAD - "src/core/lib/profiling/basic_timers.c", - "src/core/lib/profiling/stap_timers.c", - "src/core/lib/support/alloc.c", - "src/core/lib/support/arena.c", - "src/core/lib/support/atm.c", - "src/core/lib/support/avl.c", - "src/core/lib/support/cmdline.c", - "src/core/lib/support/cpu_iphone.c", - "src/core/lib/support/cpu_linux.c", - "src/core/lib/support/cpu_posix.c", - "src/core/lib/support/cpu_windows.c", - "src/core/lib/support/env_linux.c", - "src/core/lib/support/env_posix.c", - "src/core/lib/support/env_windows.c", - "src/core/lib/support/histogram.c", - "src/core/lib/support/host_port.c", - "src/core/lib/support/log.c", - "src/core/lib/support/log_android.c", - "src/core/lib/support/log_linux.c", - "src/core/lib/support/log_posix.c", - "src/core/lib/support/log_windows.c", - "src/core/lib/support/mpscq.c", - "src/core/lib/support/murmur_hash.c", - "src/core/lib/support/stack_lockfree.c", - "src/core/lib/support/string.c", - "src/core/lib/support/string_posix.c", - "src/core/lib/support/string_util_windows.c", - "src/core/lib/support/string_windows.c", - "src/core/lib/support/subprocess_posix.c", - "src/core/lib/support/subprocess_windows.c", - "src/core/lib/support/sync.c", - "src/core/lib/support/sync_posix.c", - "src/core/lib/support/sync_windows.c", - "src/core/lib/support/thd.c", - "src/core/lib/support/thd_posix.c", - "src/core/lib/support/thd_windows.c", - "src/core/lib/support/time.c", - "src/core/lib/support/time_posix.c", - "src/core/lib/support/time_precise.c", - "src/core/lib/support/time_windows.c", - "src/core/lib/support/tls_pthread.c", - "src/core/lib/support/tmpfile_msys.c", - "src/core/lib/support/tmpfile_posix.c", - "src/core/lib/support/tmpfile_windows.c", - "src/core/lib/support/wrap_memcpy.c", -======= "src/core/lib/profiling/basic_timers.cc", "src/core/lib/profiling/stap_timers.cc", "src/core/lib/support/alloc.cc", "src/core/lib/support/arena.cc", "src/core/lib/support/atm.cc", "src/core/lib/support/avl.cc", - "src/core/lib/support/backoff.cc", "src/core/lib/support/cmdline.cc", "src/core/lib/support/cpu_iphone.cc", "src/core/lib/support/cpu_linux.cc", @@ -554,7 +506,6 @@ grpc_cc_library( "src/core/lib/support/tmpfile_posix.cc", "src/core/lib/support/tmpfile_windows.cc", "src/core/lib/support/wrap_memcpy.cc", ->>>>>>> c277fc0818eb2e7408db6758c9690bb4eb2c6ff7 ], hdrs = [ "src/core/lib/profiling/timers.h", @@ -615,139 +566,7 @@ grpc_cc_library( grpc_cc_library( name = "grpc_base_c", srcs = [ -<<<<<<< HEAD - "src/core/lib/channel/channel_args.c", - "src/core/lib/channel/channel_stack.c", - "src/core/lib/channel/channel_stack_builder.c", - "src/core/lib/channel/connected_channel.c", - "src/core/lib/channel/handshaker.c", - "src/core/lib/channel/handshaker_factory.c", - "src/core/lib/channel/handshaker_registry.c", - "src/core/lib/compression/compression.c", - "src/core/lib/compression/message_compress.c", - "src/core/lib/compression/stream_compression.c", - "src/core/lib/compression/stream_compression_gzip.c", - "src/core/lib/compression/stream_compression_identity.c", - "src/core/lib/debug/stats.c", - "src/core/lib/debug/stats_data.c", - "src/core/lib/http/format_request.c", - "src/core/lib/http/httpcli.c", - "src/core/lib/http/parser.c", - "src/core/lib/iomgr/call_combiner.c", - "src/core/lib/iomgr/closure.c", - "src/core/lib/iomgr/combiner.c", - "src/core/lib/iomgr/endpoint.c", - "src/core/lib/iomgr/endpoint_pair_posix.c", - "src/core/lib/iomgr/endpoint_pair_uv.c", - "src/core/lib/iomgr/endpoint_pair_windows.c", - "src/core/lib/iomgr/error.c", - "src/core/lib/iomgr/ev_epoll1_linux.c", - "src/core/lib/iomgr/ev_epollex_linux.c", - "src/core/lib/iomgr/ev_epollsig_linux.c", - "src/core/lib/iomgr/ev_poll_posix.c", - "src/core/lib/iomgr/ev_posix.c", - "src/core/lib/iomgr/ev_windows.c", - "src/core/lib/iomgr/exec_ctx.c", - "src/core/lib/iomgr/executor.c", - "src/core/lib/iomgr/gethostname_fallback.c", - "src/core/lib/iomgr/gethostname_host_name_max.c", - "src/core/lib/iomgr/gethostname_sysconf.c", - "src/core/lib/iomgr/iocp_windows.c", - "src/core/lib/iomgr/iomgr.c", - "src/core/lib/iomgr/iomgr_posix.c", - "src/core/lib/iomgr/iomgr_uv.c", - "src/core/lib/iomgr/iomgr_windows.c", - "src/core/lib/iomgr/is_epollexclusive_available.c", - "src/core/lib/iomgr/load_file.c", - "src/core/lib/iomgr/lockfree_event.c", - "src/core/lib/iomgr/network_status_tracker.c", - "src/core/lib/iomgr/polling_entity.c", - "src/core/lib/iomgr/pollset_set_uv.c", - "src/core/lib/iomgr/pollset_set_windows.c", - "src/core/lib/iomgr/pollset_uv.c", - "src/core/lib/iomgr/pollset_windows.c", - "src/core/lib/iomgr/resolve_address_posix.c", - "src/core/lib/iomgr/resolve_address_uv.c", - "src/core/lib/iomgr/resolve_address_windows.c", - "src/core/lib/iomgr/resource_quota.c", - "src/core/lib/iomgr/sockaddr_utils.c", - "src/core/lib/iomgr/socket_factory_posix.c", - "src/core/lib/iomgr/socket_mutator.c", - "src/core/lib/iomgr/socket_utils_common_posix.c", - "src/core/lib/iomgr/socket_utils_linux.c", - "src/core/lib/iomgr/socket_utils_posix.c", - "src/core/lib/iomgr/socket_utils_uv.c", - "src/core/lib/iomgr/socket_utils_windows.c", - "src/core/lib/iomgr/socket_windows.c", - "src/core/lib/iomgr/tcp_client_posix.c", - "src/core/lib/iomgr/tcp_client_uv.c", - "src/core/lib/iomgr/tcp_client_windows.c", - "src/core/lib/iomgr/tcp_posix.c", - "src/core/lib/iomgr/tcp_server_posix.c", - "src/core/lib/iomgr/tcp_server_utils_posix_common.c", - "src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c", - "src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c", - "src/core/lib/iomgr/tcp_server_uv.c", - "src/core/lib/iomgr/tcp_server_windows.c", - "src/core/lib/iomgr/tcp_uv.c", - "src/core/lib/iomgr/tcp_windows.c", - "src/core/lib/iomgr/time_averaged_stats.c", - "src/core/lib/iomgr/timer_generic.c", - "src/core/lib/iomgr/timer_heap.c", - "src/core/lib/iomgr/timer_manager.c", - "src/core/lib/iomgr/timer_uv.c", - "src/core/lib/iomgr/udp_server.c", - "src/core/lib/iomgr/unix_sockets_posix.c", - "src/core/lib/iomgr/unix_sockets_posix_noop.c", - "src/core/lib/iomgr/wakeup_fd_cv.c", - "src/core/lib/iomgr/wakeup_fd_eventfd.c", - "src/core/lib/iomgr/wakeup_fd_nospecial.c", - "src/core/lib/iomgr/wakeup_fd_pipe.c", - "src/core/lib/iomgr/wakeup_fd_posix.c", - "src/core/lib/json/json.c", - "src/core/lib/json/json_reader.c", - "src/core/lib/json/json_string.c", - "src/core/lib/json/json_writer.c", - "src/core/lib/slice/b64.c", - "src/core/lib/slice/percent_encoding.c", - "src/core/lib/slice/slice.c", - "src/core/lib/slice/slice_buffer.c", - "src/core/lib/slice/slice_hash_table.c", - "src/core/lib/slice/slice_intern.c", - "src/core/lib/slice/slice_string_helpers.c", - "src/core/lib/surface/alarm.c", - "src/core/lib/surface/api_trace.c", - "src/core/lib/surface/byte_buffer.c", - "src/core/lib/surface/byte_buffer_reader.c", - "src/core/lib/surface/call.c", - "src/core/lib/surface/call_details.c", - "src/core/lib/surface/call_log_batch.c", - "src/core/lib/surface/channel.c", - "src/core/lib/surface/channel_init.c", - "src/core/lib/surface/channel_ping.c", - "src/core/lib/surface/channel_stack_type.c", - "src/core/lib/surface/completion_queue.c", - "src/core/lib/surface/completion_queue_factory.c", - "src/core/lib/surface/event_string.c", - "src/core/lib/surface/metadata_array.c", - "src/core/lib/surface/server.c", - "src/core/lib/surface/validate_metadata.c", - "src/core/lib/surface/version.c", - "src/core/lib/transport/bdp_estimator.c", - "src/core/lib/transport/byte_stream.c", - "src/core/lib/transport/connectivity_state.c", - "src/core/lib/transport/error_utils.c", - "src/core/lib/transport/metadata.c", - "src/core/lib/transport/metadata_batch.c", - "src/core/lib/transport/pid_controller.c", - "src/core/lib/transport/service_config.c", - "src/core/lib/transport/static_metadata.c", - "src/core/lib/transport/status_conversion.c", - "src/core/lib/transport/timeout_encoding.c", - "src/core/lib/transport/transport.c", - "src/core/lib/transport/transport_op_string.c", - "src/core/lib/backoff/backoff.c", -======= + "src/core/lib/backoff/backoff.cc", "src/core/lib/channel/channel_args.cc", "src/core/lib/channel/channel_stack.cc", "src/core/lib/channel/channel_stack_builder.cc", @@ -878,7 +697,6 @@ grpc_cc_library( "src/core/lib/transport/timeout_encoding.cc", "src/core/lib/transport/transport.cc", "src/core/lib/transport/transport_op_string.cc", ->>>>>>> c277fc0818eb2e7408db6758c9690bb4eb2c6ff7 ], hdrs = [ "src/core/lib/channel/channel_args.h", From 50f473e2ffed9cbe8ee3ad5e5a9b345990b8c618 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 5 Oct 2017 11:17:15 -0700 Subject: [PATCH 148/180] Fix merge --- BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILD b/BUILD index eaf369dce62..8ccc7480397 100644 --- a/BUILD +++ b/BUILD @@ -513,7 +513,6 @@ grpc_cc_library( "src/core/lib/support/atomic.h", "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", - "src/core/lib/iomgr/block_annotate.h", "src/core/lib/support/env.h", "src/core/lib/support/memory.h", "src/core/lib/support/mpscq.h", @@ -761,6 +760,7 @@ grpc_cc_library( "src/core/lib/iomgr/socket_utils_posix.h", "src/core/lib/iomgr/socket_windows.h", "src/core/lib/iomgr/sys_epoll_wrapper.h", + "src/core/lib/iomgr/block_annotate.h", "src/core/lib/iomgr/tcp_client.h", "src/core/lib/iomgr/tcp_client_posix.h", "src/core/lib/iomgr/tcp_posix.h", From 1cd67ebb2d3ad00ecb4bffb3ec4d764eb3f069d9 Mon Sep 17 00:00:00 2001 From: Muxi Yan Date: Thu, 5 Oct 2017 11:30:39 -0700 Subject: [PATCH 149/180] Add test for forward declaration --- src/objective-c/tests/RemoteTestClient/RemoteTest.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/objective-c/tests/RemoteTestClient/RemoteTest.podspec b/src/objective-c/tests/RemoteTestClient/RemoteTest.podspec index 1796c6d7462..ad834815951 100644 --- a/src/objective-c/tests/RemoteTestClient/RemoteTest.podspec +++ b/src/objective-c/tests/RemoteTestClient/RemoteTest.podspec @@ -47,7 +47,7 @@ Pod::Spec.new do |s| s.pod_target_xcconfig = { # This is needed by all pods that depend on Protobuf: - 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1', + 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1 GPB_GRPC_FORWARD_DECLARE_MESSAGE_PROTO=1', # This is needed by all pods that depend on gRPC-RxLibrary: 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES', } From 663f50c658b6f13dedac5541f8a0789257225a69 Mon Sep 17 00:00:00 2001 From: Juanli Shen Date: Thu, 5 Oct 2017 14:36:13 -0700 Subject: [PATCH 150/180] Cancel fallback timer in glb_shutdown() --- .../ext/filters/client_channel/lb_policy/grpclb/grpclb.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc index d8e314d1f9a..773ae29e410 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc @@ -1010,6 +1010,10 @@ static void glb_shutdown_locked(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { grpc_timer_cancel(exec_ctx, &glb_policy->lb_call_retry_timer); glb_policy->retry_timer_active = false; } + if (glb_policy->fallback_timer_active) { + grpc_timer_cancel(exec_ctx, &glb_policy->lb_fallback_timer); + glb_policy->fallback_timer_active = false; + } pending_pick *pp = glb_policy->pending_picks; glb_policy->pending_picks = NULL; From c4afc644f736d3fd070716579f41baa2de19dfc2 Mon Sep 17 00:00:00 2001 From: Vijay Pai Date: Thu, 5 Oct 2017 14:40:34 -0700 Subject: [PATCH 151/180] Reduce # of message sizes used in each scenario --- test/cpp/end2end/async_end2end_test.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc index 41090d161aa..3adb0c5a175 100644 --- a/test/cpp/end2end/async_end2end_test.cc +++ b/test/cpp/end2end/async_end2end_test.cc @@ -1788,7 +1788,7 @@ std::vector CreateTestScenarios(bool test_disable_blocking, GPR_ASSERT(!credentials_types.empty()); messages.push_back("Hello"); - for (int sz = 1; sz < test_big_limit; sz *= 2) { + for (int sz = 1; sz <= test_big_limit; sz *= 32) { grpc::string big_msg; for (int i = 0; i < sz * 1024; i++) { char c = 'a' + (i % 26); From 541974a70927d60aa166d4ca98475f0d4e2e6d96 Mon Sep 17 00:00:00 2001 From: Vijay Pai Date: Thu, 5 Oct 2017 15:12:13 -0700 Subject: [PATCH 152/180] Eliminate magic #s, follow API --- test/cpp/end2end/async_end2end_test.cc | 85 +++++++------------------- 1 file changed, 21 insertions(+), 64 deletions(-) diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc index 41090d161aa..93d973dc7dd 100644 --- a/test/cpp/end2end/async_end2end_test.cc +++ b/test/cpp/end2end/async_end2end_test.cc @@ -537,33 +537,18 @@ TEST_P(AsyncEnd2endTest, SimpleClientStreamingWithCoalescingApi) { service_->RequestRequestStream(&srv_ctx, &srv_stream, cq_.get(), cq_.get(), tag(2)); + auto verif = Verifier(GetParam().disable_blocking); + verif.Expect(2, true); + cli_stream->Write(send_request, tag(3)); + verif.Expect(3, true); - // 65536(64KB) is the default flow control window size. Should change this - // number when default flow control window size changes. For the write of - // send_request larger than the flow control window size, tag:3 will not come - // up until server read is initiated. For write of send_request smaller than - // the flow control window size, the request can take the free ride with - // initial metadata due to coalescing, thus write tag:3 will come up here. - if (GetParam().message_content.length() < 65536 || GetParam().inproc) { - Verifier(GetParam().disable_blocking) - .Expect(2, true) - .Expect(3, true) - .Verify(cq_.get()); - } else { - Verifier(GetParam().disable_blocking).Expect(2, true).Verify(cq_.get()); + // Drain tag 2, optional to get tag 3 now + while (verif.Next(cq_.get(), false) != 2) { } srv_stream.Read(&recv_request, tag(4)); - - if (GetParam().message_content.length() < 65536 || GetParam().inproc) { - Verifier(GetParam().disable_blocking).Expect(4, true).Verify(cq_.get()); - } else { - Verifier(GetParam().disable_blocking) - .Expect(3, true) - .Expect(4, true) - .Verify(cq_.get()); - } + verif.Expect(4, true).Verify(cq_.get()); EXPECT_EQ(send_request.message(), recv_request.message()); @@ -832,33 +817,19 @@ TEST_P(AsyncEnd2endTest, SimpleBidiStreamingWithCoalescingApiWAF) { service_->RequestBidiStream(&srv_ctx, &srv_stream, cq_.get(), cq_.get(), tag(2)); + auto verif = Verifier(GetParam().disable_blocking); + verif.Expect(2, true); + cli_stream->WriteLast(send_request, WriteOptions(), tag(3)); + verif.Expect(3, true); - // 65536(64KB) is the default flow control window size. Should change this - // number when default flow control window size changes. For the write of - // send_request larger than the flow control window size, tag:3 will not come - // up until server read is initiated. For write of send_request smaller than - // the flow control window size, the request can take the free ride with - // initial metadata due to coalescing, thus write tag:3 will come up here. - if (GetParam().message_content.length() < 65536 || GetParam().inproc) { - Verifier(GetParam().disable_blocking) - .Expect(2, true) - .Expect(3, true) - .Verify(cq_.get()); - } else { - Verifier(GetParam().disable_blocking).Expect(2, true).Verify(cq_.get()); + // Drain tag 2, optional to get tag 3 now + while (verif.Next(cq_.get(), false) != 2) { } srv_stream.Read(&recv_request, tag(4)); + verif.Expect(4, true).Verify(cq_.get()); - if (GetParam().message_content.length() < 65536 || GetParam().inproc) { - Verifier(GetParam().disable_blocking).Expect(4, true).Verify(cq_.get()); - } else { - Verifier(GetParam().disable_blocking) - .Expect(3, true) - .Expect(4, true) - .Verify(cq_.get()); - } EXPECT_EQ(send_request.message(), recv_request.message()); srv_stream.Read(&recv_request, tag(5)); @@ -900,33 +871,19 @@ TEST_P(AsyncEnd2endTest, SimpleBidiStreamingWithCoalescingApiWL) { service_->RequestBidiStream(&srv_ctx, &srv_stream, cq_.get(), cq_.get(), tag(2)); + auto verif = Verifier(GetParam().disable_blocking); + verif.Expect(2, true); + cli_stream->WriteLast(send_request, WriteOptions(), tag(3)); + verif.Expect(3, true); - // 65536(64KB) is the default flow control window size. Should change this - // number when default flow control window size changes. For the write of - // send_request larger than the flow control window size, tag:3 will not come - // up until server read is initiated. For write of send_request smaller than - // the flow control window size, the request can take the free ride with - // initial metadata due to coalescing, thus write tag:3 will come up here. - if (GetParam().message_content.length() < 65536 || GetParam().inproc) { - Verifier(GetParam().disable_blocking) - .Expect(2, true) - .Expect(3, true) - .Verify(cq_.get()); - } else { - Verifier(GetParam().disable_blocking).Expect(2, true).Verify(cq_.get()); + // Drain tag 2, optional to get tag 3 now + while (verif.Next(cq_.get(), false) != 2) { } srv_stream.Read(&recv_request, tag(4)); + verif.Expect(4, true).Verify(cq_.get()); - if (GetParam().message_content.length() < 65536 || GetParam().inproc) { - Verifier(GetParam().disable_blocking).Expect(4, true).Verify(cq_.get()); - } else { - Verifier(GetParam().disable_blocking) - .Expect(3, true) - .Expect(4, true) - .Verify(cq_.get()); - } EXPECT_EQ(send_request.message(), recv_request.message()); srv_stream.Read(&recv_request, tag(5)); From f063f7951f9bc19f2a1667281fe8c15943a546e4 Mon Sep 17 00:00:00 2001 From: Vijay Pai Date: Thu, 5 Oct 2017 15:41:40 -0700 Subject: [PATCH 153/180] Add some const that is now allowed --- test/cpp/end2end/async_end2end_test.cc | 7 ++----- test/cpp/end2end/end2end_test.cc | 5 +---- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc index 41090d161aa..e9a1eebe642 100644 --- a/test/cpp/end2end/async_end2end_test.cc +++ b/test/cpp/end2end/async_end2end_test.cc @@ -223,11 +223,8 @@ class TestScenario { bool disable_blocking; bool inproc; bool health_check_service; - // Although the below grpc::string's are logically const, we can't declare - // them const because of a limitation in the way old compilers (e.g., gcc-4.4) - // manage vector insertion using a copy constructor - grpc::string credentials_type; - grpc::string message_content; + const grpc::string credentials_type; + const grpc::string message_content; }; static std::ostream& operator<<(std::ostream& out, diff --git a/test/cpp/end2end/end2end_test.cc b/test/cpp/end2end/end2end_test.cc index 5dae5b014bd..810ee303f2c 100644 --- a/test/cpp/end2end/end2end_test.cc +++ b/test/cpp/end2end/end2end_test.cc @@ -198,10 +198,7 @@ class TestScenario { void Log() const; bool use_proxy; bool inproc; - // Although the below grpc::string is logically const, we can't declare - // them const because of a limitation in the way old compilers (e.g., gcc-4.4) - // manage vector insertion using a copy constructor - grpc::string credentials_type; + const grpc::string credentials_type; }; static std::ostream& operator<<(std::ostream& out, From d48bd078d7f257db2d4c48e8e835bb2ff1ac7e73 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 6 Oct 2017 11:25:14 -0700 Subject: [PATCH 154/180] Fixes --- CMakeLists.txt | 12 ++++++------ Makefile | 12 ++++++------ binding.gyp | 2 +- build.yaml | 2 +- config.m4 | 2 +- config.w32 | 2 +- gRPC-Core.podspec | 2 +- grpc.gemspec | 2 +- grpc.gyp | 8 ++++---- package.xml | 2 +- src/python/grpcio/grpc_core_dependencies.py | 2 +- tools/doxygen/Doxyfile.core.internal | 2 +- tools/run_tests/generated/sources_and_headers.json | 2 +- 13 files changed, 26 insertions(+), 26 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2321afc1b0b..139d1bd46cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -954,7 +954,7 @@ endif (gRPC_BUILD_TESTS) add_library(grpc src/core/lib/surface/init.cc - src/core/lib/backoff/backoff.c + src/core/lib/backoff/backoff.cc src/core/lib/channel/channel_args.cc src/core/lib/channel/channel_stack.cc src/core/lib/channel/channel_stack_builder.cc @@ -1306,7 +1306,7 @@ endif() add_library(grpc_cronet src/core/lib/surface/init.cc - src/core/lib/backoff/backoff.c + src/core/lib/backoff/backoff.cc src/core/lib/channel/channel_args.cc src/core/lib/channel/channel_stack.cc src/core/lib/channel/channel_stack_builder.cc @@ -1626,7 +1626,7 @@ add_library(grpc_test_util test/core/util/port_server_client.c test/core/util/slice_splitter.c test/core/util/trickle_endpoint.c - src/core/lib/backoff/backoff.c + src/core/lib/backoff/backoff.cc src/core/lib/channel/channel_args.cc src/core/lib/channel/channel_stack.cc src/core/lib/channel/channel_stack_builder.cc @@ -1890,7 +1890,7 @@ add_library(grpc_test_util_unsecure test/core/util/port_server_client.c test/core/util/slice_splitter.c test/core/util/trickle_endpoint.c - src/core/lib/backoff/backoff.c + src/core/lib/backoff/backoff.cc src/core/lib/channel/channel_args.cc src/core/lib/channel/channel_stack.cc src/core/lib/channel/channel_stack_builder.cc @@ -2140,7 +2140,7 @@ endif (gRPC_BUILD_TESTS) add_library(grpc_unsecure src/core/lib/surface/init.cc src/core/lib/surface/init_unsecure.cc - src/core/lib/backoff/backoff.c + src/core/lib/backoff/backoff.cc src/core/lib/channel/channel_args.cc src/core/lib/channel/channel_stack.cc src/core/lib/channel/channel_stack_builder.cc @@ -2898,7 +2898,7 @@ add_library(grpc++_cronet src/core/ext/transport/chttp2/transport/stream_map.cc src/core/ext/transport/chttp2/transport/varint.cc src/core/ext/transport/chttp2/transport/writing.cc - src/core/lib/backoff/backoff.c + src/core/lib/backoff/backoff.cc src/core/lib/channel/channel_args.cc src/core/lib/channel/channel_stack.cc src/core/lib/channel/channel_stack_builder.cc diff --git a/Makefile b/Makefile index 72aae9f2f6f..382956dc44e 100644 --- a/Makefile +++ b/Makefile @@ -2945,7 +2945,7 @@ endif LIBGRPC_SRC = \ src/core/lib/surface/init.cc \ - src/core/lib/backoff/backoff.c \ + src/core/lib/backoff/backoff.cc \ src/core/lib/channel/channel_args.cc \ src/core/lib/channel/channel_stack.cc \ src/core/lib/channel/channel_stack_builder.cc \ @@ -3297,7 +3297,7 @@ endif LIBGRPC_CRONET_SRC = \ src/core/lib/surface/init.cc \ - src/core/lib/backoff/backoff.c \ + src/core/lib/backoff/backoff.cc \ src/core/lib/channel/channel_args.cc \ src/core/lib/channel/channel_stack.cc \ src/core/lib/channel/channel_stack_builder.cc \ @@ -3616,7 +3616,7 @@ LIBGRPC_TEST_UTIL_SRC = \ test/core/util/port_server_client.c \ test/core/util/slice_splitter.c \ test/core/util/trickle_endpoint.c \ - src/core/lib/backoff/backoff.c \ + src/core/lib/backoff/backoff.cc \ src/core/lib/channel/channel_args.cc \ src/core/lib/channel/channel_stack.cc \ src/core/lib/channel/channel_stack_builder.cc \ @@ -3871,7 +3871,7 @@ LIBGRPC_TEST_UTIL_UNSECURE_SRC = \ test/core/util/port_server_client.c \ test/core/util/slice_splitter.c \ test/core/util/trickle_endpoint.c \ - src/core/lib/backoff/backoff.c \ + src/core/lib/backoff/backoff.cc \ src/core/lib/channel/channel_args.cc \ src/core/lib/channel/channel_stack.cc \ src/core/lib/channel/channel_stack_builder.cc \ @@ -4099,7 +4099,7 @@ endif LIBGRPC_UNSECURE_SRC = \ src/core/lib/surface/init.cc \ src/core/lib/surface/init_unsecure.cc \ - src/core/lib/backoff/backoff.c \ + src/core/lib/backoff/backoff.cc \ src/core/lib/channel/channel_args.cc \ src/core/lib/channel/channel_stack.cc \ src/core/lib/channel/channel_stack_builder.cc \ @@ -4840,7 +4840,7 @@ LIBGRPC++_CRONET_SRC = \ src/core/ext/transport/chttp2/transport/stream_map.cc \ src/core/ext/transport/chttp2/transport/varint.cc \ src/core/ext/transport/chttp2/transport/writing.cc \ - src/core/lib/backoff/backoff.c \ + src/core/lib/backoff/backoff.cc \ src/core/lib/channel/channel_args.cc \ src/core/lib/channel/channel_stack.cc \ src/core/lib/channel/channel_stack_builder.cc \ diff --git a/binding.gyp b/binding.gyp index e10532e8e9e..91919c33305 100644 --- a/binding.gyp +++ b/binding.gyp @@ -657,7 +657,7 @@ ], 'sources': [ 'src/core/lib/surface/init.cc', - 'src/core/lib/backoff/backoff.c', + 'src/core/lib/backoff/backoff.cc', 'src/core/lib/channel/channel_args.cc', 'src/core/lib/channel/channel_stack.cc', 'src/core/lib/channel/channel_stack_builder.cc', diff --git a/build.yaml b/build.yaml index ead40766d88..d23716af2af 100644 --- a/build.yaml +++ b/build.yaml @@ -182,7 +182,7 @@ filegroups: - grpc++_codegen_base - name: grpc_base src: - - src/core/lib/backoff/backoff.c + - src/core/lib/backoff/backoff.cc - src/core/lib/channel/channel_args.cc - src/core/lib/channel/channel_stack.cc - src/core/lib/channel/channel_stack_builder.cc diff --git a/config.m4 b/config.m4 index c583ec4ea85..5d92a2ae348 100644 --- a/config.m4 +++ b/config.m4 @@ -85,7 +85,7 @@ if test "$PHP_GRPC" != "no"; then src/core/lib/support/tmpfile_windows.cc \ src/core/lib/support/wrap_memcpy.cc \ src/core/lib/surface/init.cc \ - src/core/lib/backoff/backoff.c \ + src/core/lib/backoff/backoff.cc \ src/core/lib/channel/channel_args.cc \ src/core/lib/channel/channel_stack.cc \ src/core/lib/channel/channel_stack_builder.cc \ diff --git a/config.w32 b/config.w32 index 20ccf3a0689..67b5e2f5543 100644 --- a/config.w32 +++ b/config.w32 @@ -62,7 +62,7 @@ if (PHP_GRPC != "no") { "src\\core\\lib\\support\\tmpfile_windows.cc " + "src\\core\\lib\\support\\wrap_memcpy.cc " + "src\\core\\lib\\surface\\init.cc " + - "src\\core\\lib\\backoff\\backoff.c " + + "src\\core\\lib\\backoff\\backoff.cc " + "src\\core\\lib\\channel\\channel_args.cc " + "src\\core\\lib\\channel\\channel_stack.cc " + "src\\core\\lib\\channel\\channel_stack_builder.cc " + diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 659ea07ba61..08ef7387322 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -460,7 +460,7 @@ Pod::Spec.new do |s| 'src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h', 'src/core/ext/filters/workarounds/workaround_utils.h', 'src/core/lib/surface/init.cc', - 'src/core/lib/backoff/backoff.c', + 'src/core/lib/backoff/backoff.cc', 'src/core/lib/channel/channel_args.cc', 'src/core/lib/channel/channel_stack.cc', 'src/core/lib/channel/channel_stack_builder.cc', diff --git a/grpc.gemspec b/grpc.gemspec index fd3010b0441..ce23e6f7df5 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -407,7 +407,7 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h ) s.files += %w( src/core/ext/filters/workarounds/workaround_utils.h ) s.files += %w( src/core/lib/surface/init.cc ) - s.files += %w( src/core/lib/backoff/backoff.c ) + s.files += %w( src/core/lib/backoff/backoff.cc ) s.files += %w( src/core/lib/channel/channel_args.cc ) s.files += %w( src/core/lib/channel/channel_stack.cc ) s.files += %w( src/core/lib/channel/channel_stack_builder.cc ) diff --git a/grpc.gyp b/grpc.gyp index a38b2a36761..53e388561f9 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -223,7 +223,7 @@ ], 'sources': [ 'src/core/lib/surface/init.cc', - 'src/core/lib/backoff/backoff.c', + 'src/core/lib/backoff/backoff.cc', 'src/core/lib/channel/channel_args.cc', 'src/core/lib/channel/channel_stack.cc', 'src/core/lib/channel/channel_stack_builder.cc', @@ -525,7 +525,7 @@ 'test/core/util/port_server_client.c', 'test/core/util/slice_splitter.c', 'test/core/util/trickle_endpoint.c', - 'src/core/lib/backoff/backoff.c', + 'src/core/lib/backoff/backoff.cc', 'src/core/lib/channel/channel_args.cc', 'src/core/lib/channel/channel_stack.cc', 'src/core/lib/channel/channel_stack_builder.cc', @@ -732,7 +732,7 @@ 'test/core/util/port_server_client.c', 'test/core/util/slice_splitter.c', 'test/core/util/trickle_endpoint.c', - 'src/core/lib/backoff/backoff.c', + 'src/core/lib/backoff/backoff.cc', 'src/core/lib/channel/channel_args.cc', 'src/core/lib/channel/channel_stack.cc', 'src/core/lib/channel/channel_stack_builder.cc', @@ -924,7 +924,7 @@ 'sources': [ 'src/core/lib/surface/init.cc', 'src/core/lib/surface/init_unsecure.cc', - 'src/core/lib/backoff/backoff.c', + 'src/core/lib/backoff/backoff.cc', 'src/core/lib/channel/channel_args.cc', 'src/core/lib/channel/channel_stack.cc', 'src/core/lib/channel/channel_stack_builder.cc', diff --git a/package.xml b/package.xml index 0b527d78db2..df0142124d5 100644 --- a/package.xml +++ b/package.xml @@ -419,7 +419,7 @@ - + diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index e60dfb7c2c4..140f4ceee12 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -61,7 +61,7 @@ CORE_SOURCE_FILES = [ 'src/core/lib/support/tmpfile_windows.cc', 'src/core/lib/support/wrap_memcpy.cc', 'src/core/lib/surface/init.cc', - 'src/core/lib/backoff/backoff.c', + 'src/core/lib/backoff/backoff.cc', 'src/core/lib/channel/channel_args.cc', 'src/core/lib/channel/channel_stack.cc', 'src/core/lib/channel/channel_stack_builder.cc', diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 37dc9b4ba52..d4654034f2c 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1056,7 +1056,7 @@ src/core/ext/transport/inproc/inproc_plugin.cc \ src/core/ext/transport/inproc/inproc_transport.cc \ src/core/ext/transport/inproc/inproc_transport.h \ src/core/lib/README.md \ -src/core/lib/backoff/backoff.c \ +src/core/lib/backoff/backoff.cc \ src/core/lib/backoff/backoff.h \ src/core/lib/channel/README.md \ src/core/lib/channel/channel_args.cc \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index 8b11bb742e0..babdfeb6858 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -7994,7 +7994,7 @@ "language": "c", "name": "grpc_base", "src": [ - "src/core/lib/backoff/backoff.c", + "src/core/lib/backoff/backoff.cc", "src/core/lib/channel/channel_args.cc", "src/core/lib/channel/channel_stack.cc", "src/core/lib/channel/channel_stack_builder.cc", From 8aec8613c5f19ab5a2eb6589f6a5ed21b9f02bfa Mon Sep 17 00:00:00 2001 From: Adele Zhou Date: Fri, 6 Oct 2017 11:54:39 -0700 Subject: [PATCH 155/180] Set allow_flakes to true for cloud_to_prod tests --- tools/internal_ci/linux/grpc_interop_toprod.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/internal_ci/linux/grpc_interop_toprod.sh b/tools/internal_ci/linux/grpc_interop_toprod.sh index 3d06185406a..97a7d5d2393 100755 --- a/tools/internal_ci/linux/grpc_interop_toprod.sh +++ b/tools/internal_ci/linux/grpc_interop_toprod.sh @@ -28,5 +28,5 @@ tools/run_tests/run_interop_tests.py \ --cloud_to_prod \ --cloud_to_prod_auth \ --prod_servers default gateway_v4 \ - --use_docker --internal_ci -t -j 12 $@ + --use_docker --internal_ci --allow_flakes -t -j 12 $@ From 87bc56ab58b2f5fe8afaa92f94a9dfa0f9016c61 Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Fri, 6 Oct 2017 11:57:45 -0700 Subject: [PATCH 156/180] Install Mako to generate files in grpc/grpc-node --- .../tools/dockerfile/test/node_jessie_x64/Dockerfile.template | 3 +++ tools/dockerfile/test/node_jessie_x64/Dockerfile | 3 +++ tools/internal_ci/helper_scripts/prepare_build_macos_rc | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/templates/tools/dockerfile/test/node_jessie_x64/Dockerfile.template b/templates/tools/dockerfile/test/node_jessie_x64/Dockerfile.template index aa34a694fb0..af85a542358 100644 --- a/templates/tools/dockerfile/test/node_jessie_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/node_jessie_x64/Dockerfile.template @@ -32,5 +32,8 @@ <%include file="../../python_deps.include"/> <%include file="../../node_deps.include"/> <%include file="../../run_tests_addons.include"/> + # Install Mako to generate files in grpc/grpc-node + RUN pip install Mako + # Define the default command. CMD ["bash"] diff --git a/tools/dockerfile/test/node_jessie_x64/Dockerfile b/tools/dockerfile/test/node_jessie_x64/Dockerfile index 4f18dbae794..d0e5af64cc1 100644 --- a/tools/dockerfile/test/node_jessie_x64/Dockerfile +++ b/tools/dockerfile/test/node_jessie_x64/Dockerfile @@ -102,5 +102,8 @@ RUN ln -s /usr/bin/ccache /usr/local/bin/clang++ RUN mkdir /var/local/jenkins +# Install Mako to generate files in grpc/grpc-node +RUN pip install Mako + # Define the default command. CMD ["bash"] diff --git a/tools/internal_ci/helper_scripts/prepare_build_macos_rc b/tools/internal_ci/helper_scripts/prepare_build_macos_rc index dd98a12c65a..b6cc43e0ab0 100644 --- a/tools/internal_ci/helper_scripts/prepare_build_macos_rc +++ b/tools/internal_ci/helper_scripts/prepare_build_macos_rc @@ -60,7 +60,7 @@ pod repo update # needed by python # python pip install virtualenv --user python -pip install -U six tox setuptools twisted pyyaml --user python +pip install -U Mako six tox setuptools twisted pyyaml --user python export PYTHONPATH=/Library/Python/3.4/site-packages # set xcode version for Obj-C tests From 0f4d34493ef973a5aa70d3422cffd2c77068821f Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 6 Oct 2017 13:10:20 -0700 Subject: [PATCH 157/180] extern C for gpr_default_log in android --- src/core/lib/support/log_android.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/lib/support/log_android.cc b/src/core/lib/support/log_android.cc index 6f1cec51f17..ca66eb15a13 100644 --- a/src/core/lib/support/log_android.cc +++ b/src/core/lib/support/log_android.cc @@ -50,7 +50,7 @@ void gpr_log(const char *file, int line, gpr_log_severity severity, free(message); } -void gpr_default_log(gpr_log_func_args *args) { +extern "C" void gpr_default_log(gpr_log_func_args *args) { char *final_slash; const char *display_file; char *output = NULL; From 56f8da0f9616ddea110a713a8daf2398493e7b8f Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 6 Oct 2017 13:10:59 -0700 Subject: [PATCH 158/180] Import fixes --- src/core/lib/iomgr/block_annotate.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/core/lib/iomgr/block_annotate.h b/src/core/lib/iomgr/block_annotate.h index cbcb5d92f09..fcbfe9eb1a0 100644 --- a/src/core/lib/iomgr/block_annotate.h +++ b/src/core/lib/iomgr/block_annotate.h @@ -39,9 +39,14 @@ void gpr_thd_end_blocking_region(); do { \ gpr_thd_start_blocking_region(); \ } while (0) -#define GRPC_SCHEDULING_END_BLOCKING_REGION \ - do { \ - gpr_thd_end_blocking_region(); \ +#define GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX \ + do { \ + gpr_thd_end_blocking_region(); \ + } while (0) +#define GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(ec) \ + do { \ + gpr_thd_end_blocking_region(); \ + grpc_exec_ctx_invalidate_now((ec)); \ } while (0) #else #define GRPC_SCHEDULING_START_BLOCKING_REGION \ From 54b8cfc9060f8a219a224d7e4dbb98d4763d1857 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 6 Oct 2017 13:15:52 -0700 Subject: [PATCH 159/180] Missing extern C --- src/core/lib/support/log_android.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/lib/support/log_android.cc b/src/core/lib/support/log_android.cc index ca66eb15a13..fab37bf841e 100644 --- a/src/core/lib/support/log_android.cc +++ b/src/core/lib/support/log_android.cc @@ -39,7 +39,7 @@ static android_LogPriority severity_to_log_priority(gpr_log_severity severity) { return ANDROID_LOG_DEFAULT; } -void gpr_log(const char *file, int line, gpr_log_severity severity, +extern "C" void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format, ...) { char *message = NULL; va_list args; From 598cbd882d5fc8caf7e72e8186c1896d4af1824c Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 6 Oct 2017 13:20:29 -0700 Subject: [PATCH 160/180] Clang tidy --- src/core/lib/support/log_android.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/lib/support/log_android.cc b/src/core/lib/support/log_android.cc index fab37bf841e..fed535d0d22 100644 --- a/src/core/lib/support/log_android.cc +++ b/src/core/lib/support/log_android.cc @@ -40,7 +40,7 @@ static android_LogPriority severity_to_log_priority(gpr_log_severity severity) { } extern "C" void gpr_log(const char *file, int line, gpr_log_severity severity, - const char *format, ...) { + const char *format, ...) { char *message = NULL; va_list args; va_start(args, format); From 00181bd0369a34c59532737dd1a6c57fb6065331 Mon Sep 17 00:00:00 2001 From: Adele Zhou Date: Tue, 3 Oct 2017 14:04:07 -0700 Subject: [PATCH 161/180] Added cloud gateway4 backend and auth tests --- tools/interop_matrix/create_testcases.sh | 15 ++++++++++++--- tools/interop_matrix/testcases/cxx__master | 19 ++++++++++++++++++- tools/interop_matrix/testcases/go__master | 19 ++++++++++++++++++- tools/interop_matrix/testcases/java__master | 19 ++++++++++++++++++- 4 files changed, 66 insertions(+), 6 deletions(-) diff --git a/tools/interop_matrix/create_testcases.sh b/tools/interop_matrix/create_testcases.sh index d06fb34ff9a..e89bad93cce 100755 --- a/tools/interop_matrix/create_testcases.sh +++ b/tools/interop_matrix/create_testcases.sh @@ -31,9 +31,10 @@ TESTCASES_DIR=${GRPC_ROOT}/tools/interop_matrix/testcases echo "Create '$LANG' test cases for gRPC release '${RELEASE:=master}'" +echo $client_lang # Invoke run_interop_test in manual mode. ${GRPC_ROOT}/tools/run_tests/run_interop_tests.py -l $LANG --use_docker \ - --cloud_to_prod --manual_run + --cloud_to_prod --cloud_to_prod_auth --prod_servers default cloud_gateway_v4 --manual_run # Clean up function cleanup { @@ -52,11 +53,19 @@ function cleanup { [ -e "$CMDS_SH" ] && rm $CMDS_SH } trap cleanup EXIT +# TODO(adelez): skip sanity checks b/c auth tests only work in GCE. Need to be +# able to filter them out and bring back the check. # Running the testcases as sanity unless we are asked to skip. -[ -z "$SKIP_TEST" ] && (echo "Running test cases: $CMDS_SH"; sh $CMDS_SH) +#[ -z "$SKIP_TEST" ] && (echo "Running test cases: $CMDS_SH"; sh $CMDS_SH) +# Convert c++ to cxx. +client_lang=$LANG +if [ $LANG=="c++" ] + then + client_lang="cxx" +fi mkdir -p $TESTCASES_DIR -testcase=$TESTCASES_DIR/${LANG}__$RELEASE +testcase=$TESTCASES_DIR/${client_lang}__$RELEASE if [ -e $testcase ]; then echo "Updating: $testcase" diff $testcase $CMDS_SH || true diff --git a/tools/interop_matrix/testcases/cxx__master b/tools/interop_matrix/testcases/cxx__master index ccd28595301..2f2fc969b1d 100755 --- a/tools/interop_matrix/testcases/cxx__master +++ b/tools/interop_matrix/testcases/cxx__master @@ -1,5 +1,5 @@ #!/bin/bash -echo "Testing ${docker_image:=grpc_interop_cxx:1423f288-ac00-4f3a-9885-771258eecae3}" +echo "Testing ${docker_image:=grpc_interop_cxx:ff1e1fd8-fbc5-4499-85eb-565a1f02e7ab}" docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" @@ -9,3 +9,20 @@ docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_stream" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=client_streaming" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=server_streaming" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=compute_engine_creds --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=jwt_token_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=oauth2_auth_token --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=per_rpc_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=compute_engine_creds --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=jwt_token_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=oauth2_auth_token --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=per_rpc_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" diff --git a/tools/interop_matrix/testcases/go__master b/tools/interop_matrix/testcases/go__master index 2624c7f92c5..a6bb5ee9d9f 100755 --- a/tools/interop_matrix/testcases/go__master +++ b/tools/interop_matrix/testcases/go__master @@ -1,5 +1,5 @@ #!/bin/bash -echo "Testing ${docker_image:=grpc_interop_go:41fffd01-a6c8-41b6-8136-c0aaa1ec2437}" +echo "Testing ${docker_image:=grpc_interop_go:e7e7cdbd-56bd-490e-b33a-dd27e4cfb9c3}" docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" @@ -9,3 +9,20 @@ docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=h docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_stream" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=client_streaming" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=server_streaming" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=compute_engine_creds --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=jwt_token_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=oauth2_auth_token --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=per_rpc_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=compute_engine_creds --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=jwt_token_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=oauth2_auth_token --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=per_rpc_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" diff --git a/tools/interop_matrix/testcases/java__master b/tools/interop_matrix/testcases/java__master index cf431646e9a..9dab1e39d20 100755 --- a/tools/interop_matrix/testcases/java__master +++ b/tools/interop_matrix/testcases/java__master @@ -1,5 +1,5 @@ #!/bin/bash -echo "Testing ${docker_image:=grpc_interop_java:ea528843-be34-4ff3-a136-e4609424e061}" +echo "Testing ${docker_image:=grpc_interop_java:8541e45e-5275-43cb-a017-d4dde2d98f2f}" docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" @@ -9,3 +9,20 @@ docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_i docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_stream" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=client_streaming" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=server_streaming" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=compute_engine_creds --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=jwt_token_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=oauth2_auth_token --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=per_rpc_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=compute_engine_creds --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=jwt_token_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=oauth2_auth_token --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=per_rpc_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" From 744b656e6c316c6119c4dab0010dcc3cf301e538 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 6 Oct 2017 14:42:36 -0700 Subject: [PATCH 162/180] const required in log_android.cc --- src/core/lib/support/log_android.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/lib/support/log_android.cc b/src/core/lib/support/log_android.cc index fed535d0d22..9e8529cbac8 100644 --- a/src/core/lib/support/log_android.cc +++ b/src/core/lib/support/log_android.cc @@ -51,7 +51,7 @@ extern "C" void gpr_log(const char *file, int line, gpr_log_severity severity, } extern "C" void gpr_default_log(gpr_log_func_args *args) { - char *final_slash; + const char *final_slash; const char *display_file; char *output = NULL; From d0153898231c615d626176c2b3ffc42095eb42c3 Mon Sep 17 00:00:00 2001 From: ZhouyihaiDing Date: Thu, 28 Sep 2017 15:00:15 -0700 Subject: [PATCH 163/180] exclude uploading stats, add unconstained php benchmark php7 build once --- src/php/tests/qps/client.php | 56 ++- .../GPBMetadata/Src/Proto/Grpc/Core/Stats.php | 33 ++ .../Src/Proto/Grpc/Testing/Control.php | 215 ++++++----- .../Src/Proto/Grpc/Testing/ProxyService.php | 21 +- .../Src/Proto/Grpc/Testing/Services.php | 53 ++- .../Src/Proto/Grpc/Testing/Stats.php | 47 +-- .../qps/generated_code/Grpc/Core/Bucket.php | 75 ++++ .../generated_code/Grpc/Core/Histogram.php | 49 +++ .../qps/generated_code/Grpc/Core/Metric.php | 102 +++++ .../qps/generated_code/Grpc/Core/Stats.php | 49 +++ .../Grpc/Testing/BenchmarkServiceClient.php | 68 +++- .../generated_code/Grpc/Testing/BoolValue.php | 21 +- .../Grpc/Testing/ByteBufferParams.php | 24 +- .../Grpc/Testing/ChannelArg.php | 34 +- .../Grpc/Testing/ClientArgs.php | 27 +- .../Grpc/Testing/ClientConfig.php | 288 +++++++++----- .../Grpc/Testing/ClientStats.php | 147 ++++++-- .../Grpc/Testing/ClientStatus.php | 15 +- .../Grpc/Testing/ClientType.php | 12 +- .../Grpc/Testing/ClosedLoopParams.php | 4 +- .../Grpc/Testing/ComplexProtoParams.php | 4 +- .../Grpc/Testing/CoreRequest.php | 2 +- .../Grpc/Testing/CoreResponse.php | 19 +- .../Grpc/Testing/EchoStatus.php | 26 +- .../Grpc/Testing/HistogramData.php | 76 ++-- .../Grpc/Testing/HistogramParams.php | 38 +- .../Grpc/Testing/LoadParams.php | 27 +- .../qps/generated_code/Grpc/Testing/Mark.php | 21 +- .../generated_code/Grpc/Testing/Payload.php | 38 +- .../Grpc/Testing/PayloadConfig.php | 38 +- .../Grpc/Testing/PayloadType.php | 8 +- .../Grpc/Testing/PoissonParams.php | 21 +- .../Grpc/Testing/ProxyClientServiceClient.php | 34 +- .../generated_code/Grpc/Testing/ProxyStat.php | 13 +- .../Grpc/Testing/ReconnectInfo.php | 32 +- .../Grpc/Testing/ReconnectParams.php | 15 +- .../ReportQpsScenarioServiceClient.php | 50 +++ .../Grpc/Testing/RequestResultCount.php | 24 +- .../Grpc/Testing/ResponseParameters.php | 57 ++- .../generated_code/Grpc/Testing/RpcType.php | 18 +- .../generated_code/Grpc/Testing/Scenario.php | 144 ++++--- .../Grpc/Testing/ScenarioResult.php | 193 +++++----- .../Grpc/Testing/ScenarioResultSummary.php | 352 ++++++++++++------ .../generated_code/Grpc/Testing/Scenarios.php | 21 +- .../Grpc/Testing/SecurityParams.php | 52 ++- .../Grpc/Testing/ServerArgs.php | 27 +- .../Grpc/Testing/ServerConfig.php | 211 +++++++---- .../Grpc/Testing/ServerStats.php | 151 +++++--- .../Grpc/Testing/ServerStatus.php | 49 +-- .../Grpc/Testing/ServerType.php | 12 +- .../Grpc/Testing/SimpleProtoParams.php | 24 +- .../Grpc/Testing/SimpleRequest.php | 148 ++++---- .../Grpc/Testing/SimpleResponse.php | 57 ++- .../Testing/StreamingInputCallRequest.php | 42 +-- .../Testing/StreamingInputCallResponse.php | 21 +- .../Testing/StreamingOutputCallRequest.php | 82 ++-- .../Testing/StreamingOutputCallResponse.php | 23 +- .../qps/generated_code/Grpc/Testing/Void.php | 2 +- .../Grpc/Testing/WorkerServiceClient.php | 40 +- src/php/tests/qps/histogram.php | 93 +++++ src/proto/grpc/testing/proxy-service.proto | 2 + src/ruby/qps/histogram.rb | 15 + src/ruby/qps/proxy-worker.rb | 50 ++- .../proto/grpc/testing/proxy-service_pb.rb | 1 + .../grpc/testing/proxy-service_services_pb.rb | 1 + tools/jenkins/run_full_performance.sh | 2 +- .../performance/build_performance.sh | 9 + .../performance/build_performance_php7.sh | 30 ++ tools/run_tests/performance/run_worker_php.sh | 12 +- .../run_tests/performance/scenario_config.py | 43 ++- 70 files changed, 2498 insertions(+), 1312 deletions(-) create mode 100644 src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Core/Stats.php create mode 100644 src/php/tests/qps/generated_code/Grpc/Core/Bucket.php create mode 100644 src/php/tests/qps/generated_code/Grpc/Core/Histogram.php create mode 100644 src/php/tests/qps/generated_code/Grpc/Core/Metric.php create mode 100644 src/php/tests/qps/generated_code/Grpc/Core/Stats.php create mode 100644 src/php/tests/qps/generated_code/Grpc/Testing/ReportQpsScenarioServiceClient.php create mode 100644 src/php/tests/qps/histogram.php create mode 100755 tools/run_tests/performance/build_performance_php7.sh diff --git a/src/php/tests/qps/client.php b/src/php/tests/qps/client.php index a785d831b44..08904054eb3 100644 --- a/src/php/tests/qps/client.php +++ b/src/php/tests/qps/client.php @@ -37,6 +37,7 @@ */ require dirname(__FILE__).'/vendor/autoload.php'; +require dirname(__FILE__).'/histogram.php'; /** * Assertion function that always exits with an error code if the assertion is @@ -63,19 +64,19 @@ function hardAssertIfStatusOk($status) } /* Start the actual client */ - -function qps_client_main($proxy_address) { - echo "Initiating php client\n"; +function qps_client_main($proxy_address, $server_ind) { + echo "[php-client] Initiating php client\n"; $proxystubopts = []; $proxystubopts['credentials'] = Grpc\ChannelCredentials::createInsecure(); $proxystub = new Grpc\Testing\ProxyClientServiceClient($proxy_address, $proxystubopts); list($config, $status) = $proxystub->GetConfig(new Grpc\Testing\Void())->wait(); hardAssertIfStatusOk($status); - hardAssert($config->getClientChannels() == 1, "Only 1 channel supported"); hardAssert($config->getOutstandingRpcsPerChannel() == 1, "Only 1 outstanding RPC supported"); - echo "Got configuration from proxy, target is " . $config->getServerTargets()[0] . "\n"; + echo "[php-client] Got configuration from proxy, target is '$server_ind'th server" . $config->getServerTargets()[$server_ind] . "\n"; + $histres = $config->getHistogramParams()->getResolution(); + $histmax = $config->getHistogramParams()->getMaxPossible(); $stubopts = []; if ($config->getSecurityParams()) { @@ -93,10 +94,10 @@ function qps_client_main($proxy_address) { } else { $stubopts['credentials'] = Grpc\ChannelCredentials::createInsecure(); } - echo "Initiating php benchmarking client\n"; + echo "[php-client] Initiating php benchmarking client\n"; $stub = new Grpc\Testing\BenchmarkServiceClient( - $config->getServerTargets()[0], $stubopts); + $config->getServerTargets()[$server_ind], $stubopts); $req = new Grpc\Testing\SimpleRequest(); $req->setResponseType(Grpc\Testing\PayloadType::COMPRESSABLE); @@ -115,8 +116,11 @@ function qps_client_main($proxy_address) { } else { $poisson = false; } - $metric = new Grpc\Testing\ProxyStat; - $telemetry = $proxystub->ReportTime(); + $histogram = new Histogram($histres, $histmax); + $histogram->clean(); + $count = 0; + $histogram_result = new Grpc\Testing\HistogramData; + $telehist = $proxystub->ReportHist(); if ($config->getRpcType() == Grpc\Testing\RpcType::UNARY) { while (1) { if ($poisson) { @@ -126,8 +130,20 @@ function qps_client_main($proxy_address) { $startreq = microtime(true); list($resp,$status) = $stub->UnaryCall($req)->wait(); hardAssertIfStatusOk($status); - $metric->setLatency(microtime(true)-$startreq); - $telemetry->write($metric); + $histogram->add((microtime(true)-$startreq)*1e9); + $count += 1; + if ($count == 2000) { + $contents = $histogram->contents(); + $histogram_result->setBucket($contents); + $histogram_result->setMinSeen($histogram->minimum()); + $histogram_result->setMaxSeen($histogram->maximum()); + $histogram_result->setSum($histogram->sum()); + $histogram_result->setSumOfSquares($histogram->sum_of_squares()); + $histogram_result->setCount($histogram->count()); + $telehist->write($histogram_result); + $histogram->clean(); + $count = 0; + } } } else { $stream = $stub->StreamingCall(); @@ -139,8 +155,20 @@ function qps_client_main($proxy_address) { $startreq = microtime(true); $stream->write($req); $resp = $stream->read(); - $metric->setLatency(microtime(true)-$startreq); - $telemetry->write($metric); + $histogram->add((microtime(true)-$startreq)*1e9); + $count += 1; + if ($count == 2000) { + $contents = $histogram->contents(); + $histogram_result->setBucket($contents); + $histogram_result->setMinSeen($histogram->minimum()); + $histogram_result->setMaxSeen($histogram->maximum()); + $histogram_result->setSum($histogram->sum()); + $histogram_result->setSumOfSquares($histogram->sum_of_squares()); + $histogram_result->setCount($histogram->count()); + $telehist->write($histogram_result); + $histogram->clean(); + $count = 0; + } } } } @@ -148,4 +176,4 @@ function qps_client_main($proxy_address) { ini_set('display_startup_errors', 1); ini_set('display_errors', 1); error_reporting(-1); -qps_client_main($argv[1]); +qps_client_main($argv[1], $argv[2]); diff --git a/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Core/Stats.php b/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Core/Stats.php new file mode 100644 index 00000000000..f9c710cd4e0 --- /dev/null +++ b/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Core/Stats.php @@ -0,0 +1,33 @@ +internalAddGeneratedFile(hex2bin( + "0a97020a1f7372632f70726f746f2f677270632f636f72652f7374617473" . + "2e70726f746f1209677270632e636f726522260a064275636b6574120d0a" . + "057374617274180120012801120d0a05636f756e74180220012804222f0a" . + "09486973746f6772616d12220a076275636b65747318012003280b32112e" . + "677270632e636f72652e4275636b6574225b0a064d6574726963120c0a04" . + "6e616d65180120012809120f0a05636f756e74180a20012804480012290a" . + "09686973746f6772616d180b2001280b32142e677270632e636f72652e48" . + "6973746f6772616d480042070a0576616c7565222b0a0553746174731222" . + "0a076d65747269637318012003280b32112e677270632e636f72652e4d65" . + "74726963620670726f746f33" + )); + + static::$is_initialized = true; + } +} + diff --git a/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/Control.php b/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/Control.php index efca18a0cb3..9b3a7529ec7 100644 --- a/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/Control.php +++ b/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/Control.php @@ -17,108 +17,119 @@ class Control \GPBMetadata\Src\Proto\Grpc\Testing\Payloads::initOnce(); \GPBMetadata\Src\Proto\Grpc\Testing\Stats::initOnce(); $pool->internalAddGeneratedFile(hex2bin( - "0add170a247372632f70726f746f2f677270632f74657374696e672f636f" . - "6e74726f6c2e70726f746f120c677270632e74657374696e671a25737263" . - "2f70726f746f2f677270632f74657374696e672f7061796c6f6164732e70" . - "726f746f1a227372632f70726f746f2f677270632f74657374696e672f73" . - "746174732e70726f746f22250a0d506f6973736f6e506172616d7312140a" . - "0c6f6666657265645f6c6f616418012001280122120a10436c6f7365644c" . - "6f6f70506172616d73227b0a0a4c6f6164506172616d7312350a0b636c6f" . - "7365645f6c6f6f7018012001280b321e2e677270632e74657374696e672e" . - "436c6f7365644c6f6f70506172616d734800122e0a07706f6973736f6e18" . - "022001280b321b2e677270632e74657374696e672e506f6973736f6e5061" . - "72616d73480042060a046c6f616422430a0e536563757269747950617261" . - "6d7312130a0b7573655f746573745f6361180120012808121c0a14736572" . - "7665725f686f73745f6f76657272696465180220012809224d0a0a436861" . - "6e6e656c417267120c0a046e616d6518012001280912130a097374725f76" . - "616c7565180220012809480012130a09696e745f76616c75651803200128" . - "05480042070a0576616c756522a0040a0c436c69656e74436f6e66696712" . - "160a0e7365727665725f74617267657473180120032809122d0a0b636c69" . - "656e745f7479706518022001280e32182e677270632e74657374696e672e" . - "436c69656e745479706512350a0f73656375726974795f706172616d7318" . - "032001280b321c2e677270632e74657374696e672e536563757269747950" . - "6172616d7312240a1c6f75747374616e64696e675f727063735f7065725f" . - "6368616e6e656c18042001280512170a0f636c69656e745f6368616e6e65" . - "6c73180520012805121c0a146173796e635f636c69656e745f7468726561" . - "647318072001280512270a087270635f7479706518082001280e32152e67" . - "7270632e74657374696e672e52706354797065122d0a0b6c6f61645f7061" . - "72616d73180a2001280b32182e677270632e74657374696e672e4c6f6164" . - "506172616d7312330a0e7061796c6f61645f636f6e666967180b2001280b" . - "321b2e677270632e74657374696e672e5061796c6f6164436f6e66696712" . - "370a10686973746f6772616d5f706172616d73180c2001280b321d2e6772" . - "70632e74657374696e672e486973746f6772616d506172616d7312110a09" . - "636f72655f6c697374180d2003280512120a0a636f72655f6c696d697418" . - "0e2001280512180a106f746865725f636c69656e745f617069180f200128" . - "09122e0a0c6368616e6e656c5f6172677318102003280b32182e67727063" . - "2e74657374696e672e4368616e6e656c41726722380a0c436c69656e7453" . - "746174757312280a05737461747318012001280b32192e677270632e7465" . - "7374696e672e436c69656e74537461747322150a044d61726b120d0a0572" . - "6573657418012001280822680a0a436c69656e7441726773122b0a057365" . - "74757018012001280b321a2e677270632e74657374696e672e436c69656e" . - "74436f6e666967480012220a046d61726b18022001280b32122e67727063" . - "2e74657374696e672e4d61726b480042090a076172677479706522b4020a" . - "0c536572766572436f6e666967122d0a0b7365727665725f747970651801" . - "2001280e32182e677270632e74657374696e672e53657276657254797065" . - "12350a0f73656375726974795f706172616d7318022001280b321c2e6772" . - "70632e74657374696e672e5365637572697479506172616d73120c0a0470" . - "6f7274180420012805121c0a146173796e635f7365727665725f74687265" . - "61647318072001280512120a0a636f72655f6c696d697418082001280512" . - "330a0e7061796c6f61645f636f6e66696718092001280b321b2e67727063" . - "2e74657374696e672e5061796c6f6164436f6e66696712110a09636f7265" . - "5f6c697374180a2003280512180a106f746865725f7365727665725f6170" . - "69180b20012809121c0a137265736f757263655f71756f74615f73697a65" . - "18e9072001280522680a0a53657276657241726773122b0a057365747570" . - "18012001280b321a2e677270632e74657374696e672e536572766572436f" . - "6e666967480012220a046d61726b18022001280b32122e677270632e7465" . - "7374696e672e4d61726b480042090a076172677479706522550a0c536572" . - "76657253746174757312280a05737461747318012001280b32192e677270" . - "632e74657374696e672e5365727665725374617473120c0a04706f727418" . - "0220012805120d0a05636f726573180320012805220d0a0b436f72655265" . - "7175657374221d0a0c436f7265526573706f6e7365120d0a05636f726573" . - "18012001280522060a04566f696422fd010a085363656e6172696f120c0a" . - "046e616d6518012001280912310a0d636c69656e745f636f6e6669671802" . - "2001280b321a2e677270632e74657374696e672e436c69656e74436f6e66" . - "696712130a0b6e756d5f636c69656e747318032001280512310a0d736572" . - "7665725f636f6e66696718042001280b321a2e677270632e74657374696e" . - "672e536572766572436f6e66696712130a0b6e756d5f7365727665727318" . - "052001280512160a0e7761726d75705f7365636f6e647318062001280512" . - "190a1162656e63686d61726b5f7365636f6e647318072001280512200a18" . - "737061776e5f6c6f63616c5f776f726b65725f636f756e74180820012805" . - "22360a095363656e6172696f7312290a097363656e6172696f7318012003" . - "280b32162e677270632e74657374696e672e5363656e6172696f22f8020a" . - "155363656e6172696f526573756c7453756d6d617279120b0a0371707318" . - "0120012801121b0a137170735f7065725f7365727665725f636f72651802" . - "20012801121a0a127365727665725f73797374656d5f74696d6518032001" . - "280112180a107365727665725f757365725f74696d65180420012801121a" . - "0a12636c69656e745f73797374656d5f74696d6518052001280112180a10" . - "636c69656e745f757365725f74696d6518062001280112120a0a6c617465" . - "6e63795f353018072001280112120a0a6c6174656e63795f393018082001" . - "280112120a0a6c6174656e63795f393518092001280112120a0a6c617465" . - "6e63795f3939180a2001280112130a0b6c6174656e63795f393939180b20" . - "01280112180a107365727665725f6370755f7573616765180c2001280112" . - "260a1e7375636365737366756c5f72657175657374735f7065725f736563" . - "6f6e64180d2001280112220a1a6661696c65645f72657175657374735f70" . - "65725f7365636f6e64180e200128012283030a0e5363656e6172696f5265" . - "73756c7412280a087363656e6172696f18012001280b32162e677270632e" . - "74657374696e672e5363656e6172696f122e0a096c6174656e6369657318" . - "022001280b321b2e677270632e74657374696e672e486973746f6772616d" . - "44617461122f0a0c636c69656e745f737461747318032003280b32192e67" . - "7270632e74657374696e672e436c69656e745374617473122f0a0c736572" . - "7665725f737461747318042003280b32192e677270632e74657374696e67" . - "2e536572766572537461747312140a0c7365727665725f636f7265731805" . - "2003280512340a0773756d6d61727918062001280b32232e677270632e74" . - "657374696e672e5363656e6172696f526573756c7453756d6d6172791216" . - "0a0e636c69656e745f7375636365737318072003280812160a0e73657276" . - "65725f7375636365737318082003280812390a0f726571756573745f7265" . - "73756c747318092003280b32202e677270632e74657374696e672e526571" . - "75657374526573756c74436f756e742a410a0a436c69656e745479706512" . - "0f0a0b53594e435f434c49454e54100012100a0c4153594e435f434c4945" . - "4e54100112100a0c4f544845525f434c49454e5410022a5b0a0a53657276" . - "657254797065120f0a0b53594e435f534552564552100012100a0c415359" . - "4e435f534552564552100112180a144153594e435f47454e455249435f53" . - "4552564552100212100a0c4f544845525f53455256455210032a230a0752" . - "70635479706512090a05554e4152591000120d0a0953545245414d494e47" . - "1001620670726f746f33" + "0aa21a0a247372632f70726f746f2f677270632f74657374696e672f636f" . + "6e74726f6c2e70726f746f120c677270632e74657374696e671a22737263" . + "2f70726f746f2f677270632f74657374696e672f73746174732e70726f74" . + "6f22250a0d506f6973736f6e506172616d7312140a0c6f6666657265645f" . + "6c6f616418012001280122120a10436c6f7365644c6f6f70506172616d73" . + "227b0a0a4c6f6164506172616d7312350a0b636c6f7365645f6c6f6f7018" . + "012001280b321e2e677270632e74657374696e672e436c6f7365644c6f6f" . + "70506172616d734800122e0a07706f6973736f6e18022001280b321b2e67" . + "7270632e74657374696e672e506f6973736f6e506172616d73480042060a" . + "046c6f616422560a0e5365637572697479506172616d7312130a0b757365" . + "5f746573745f6361180120012808121c0a147365727665725f686f73745f" . + "6f7665727269646518022001280912110a09637265645f74797065180320" . + "012809224d0a0a4368616e6e656c417267120c0a046e616d651801200128" . + "0912130a097374725f76616c7565180220012809480012130a09696e745f" . + "76616c7565180320012805480042070a0576616c756522d5040a0c436c69" . + "656e74436f6e66696712160a0e7365727665725f74617267657473180120" . + "032809122d0a0b636c69656e745f7479706518022001280e32182e677270" . + "632e74657374696e672e436c69656e745479706512350a0f736563757269" . + "74795f706172616d7318032001280b321c2e677270632e74657374696e67" . + "2e5365637572697479506172616d7312240a1c6f75747374616e64696e67" . + "5f727063735f7065725f6368616e6e656c18042001280512170a0f636c69" . + "656e745f6368616e6e656c73180520012805121c0a146173796e635f636c" . + "69656e745f7468726561647318072001280512270a087270635f74797065" . + "18082001280e32152e677270632e74657374696e672e5270635479706512" . + "2d0a0b6c6f61645f706172616d73180a2001280b32182e677270632e7465" . + "7374696e672e4c6f6164506172616d7312330a0e7061796c6f61645f636f" . + "6e666967180b2001280b321b2e677270632e74657374696e672e5061796c" . + "6f6164436f6e66696712370a10686973746f6772616d5f706172616d7318" . + "0c2001280b321d2e677270632e74657374696e672e486973746f6772616d" . + "506172616d7312110a09636f72655f6c697374180d2003280512120a0a63" . + "6f72655f6c696d6974180e2001280512180a106f746865725f636c69656e" . + "745f617069180f20012809122e0a0c6368616e6e656c5f61726773181020" . + "03280b32182e677270632e74657374696e672e4368616e6e656c41726712" . + "160a0e746872656164735f7065725f6371181120012805121b0a136d6573" . + "73616765735f7065725f73747265616d18122001280522380a0c436c6965" . + "6e7453746174757312280a05737461747318012001280b32192e67727063" . + "2e74657374696e672e436c69656e74537461747322150a044d61726b120d" . + "0a05726573657418012001280822680a0a436c69656e7441726773122b0a" . + "05736574757018012001280b321a2e677270632e74657374696e672e436c" . + "69656e74436f6e666967480012220a046d61726b18022001280b32122e67" . + "7270632e74657374696e672e4d61726b480042090a076172677479706522" . + "fd020a0c536572766572436f6e666967122d0a0b7365727665725f747970" . + "6518012001280e32182e677270632e74657374696e672e53657276657254" . + "79706512350a0f73656375726974795f706172616d7318022001280b321c" . + "2e677270632e74657374696e672e5365637572697479506172616d73120c" . + "0a04706f7274180420012805121c0a146173796e635f7365727665725f74" . + "68726561647318072001280512120a0a636f72655f6c696d697418082001" . + "280512330a0e7061796c6f61645f636f6e66696718092001280b321b2e67" . + "7270632e74657374696e672e5061796c6f6164436f6e66696712110a0963" . + "6f72655f6c697374180a2003280512180a106f746865725f736572766572" . + "5f617069180b2001280912160a0e746872656164735f7065725f6371180c" . + "20012805121c0a137265736f757263655f71756f74615f73697a6518e907" . + "20012805122f0a0c6368616e6e656c5f6172677318ea072003280b32182e" . + "677270632e74657374696e672e4368616e6e656c41726722680a0a536572" . + "76657241726773122b0a05736574757018012001280b321a2e677270632e" . + "74657374696e672e536572766572436f6e666967480012220a046d61726b" . + "18022001280b32122e677270632e74657374696e672e4d61726b48004209" . + "0a076172677479706522550a0c53657276657253746174757312280a0573" . + "7461747318012001280b32192e677270632e74657374696e672e53657276" . + "65725374617473120c0a04706f7274180220012805120d0a05636f726573" . + "180320012805220d0a0b436f726552657175657374221d0a0c436f726552" . + "6573706f6e7365120d0a05636f72657318012001280522060a04566f6964" . + "22fd010a085363656e6172696f120c0a046e616d6518012001280912310a" . + "0d636c69656e745f636f6e66696718022001280b321a2e677270632e7465" . + "7374696e672e436c69656e74436f6e66696712130a0b6e756d5f636c6965" . + "6e747318032001280512310a0d7365727665725f636f6e66696718042001" . + "280b321a2e677270632e74657374696e672e536572766572436f6e666967" . + "12130a0b6e756d5f7365727665727318052001280512160a0e7761726d75" . + "705f7365636f6e647318062001280512190a1162656e63686d61726b5f73" . + "65636f6e647318072001280512200a18737061776e5f6c6f63616c5f776f" . + "726b65725f636f756e7418082001280522360a095363656e6172696f7312" . + "290a097363656e6172696f7318012003280b32162e677270632e74657374" . + "696e672e5363656e6172696f2284040a155363656e6172696f526573756c" . + "7453756d6d617279120b0a03717073180120012801121b0a137170735f70" . + "65725f7365727665725f636f7265180220012801121a0a12736572766572" . + "5f73797374656d5f74696d6518032001280112180a107365727665725f75" . + "7365725f74696d65180420012801121a0a12636c69656e745f7379737465" . + "6d5f74696d6518052001280112180a10636c69656e745f757365725f7469" . + "6d6518062001280112120a0a6c6174656e63795f35301807200128011212" . + "0a0a6c6174656e63795f393018082001280112120a0a6c6174656e63795f" . + "393518092001280112120a0a6c6174656e63795f3939180a200128011213" . + "0a0b6c6174656e63795f393939180b2001280112180a107365727665725f" . + "6370755f7573616765180c2001280112260a1e7375636365737366756c5f" . + "72657175657374735f7065725f7365636f6e64180d2001280112220a1a66" . + "61696c65645f72657175657374735f7065725f7365636f6e64180e200128" . + "0112200a18636c69656e745f706f6c6c735f7065725f7265717565737418" . + "0f2001280112200a187365727665725f706f6c6c735f7065725f72657175" . + "65737418102001280112220a1a7365727665725f717565726965735f7065" . + "725f6370755f73656318112001280112220a1a636c69656e745f71756572" . + "6965735f7065725f6370755f7365631812200128012283030a0e5363656e" . + "6172696f526573756c7412280a087363656e6172696f18012001280b3216" . + "2e677270632e74657374696e672e5363656e6172696f122e0a096c617465" . + "6e6369657318022001280b321b2e677270632e74657374696e672e486973" . + "746f6772616d44617461122f0a0c636c69656e745f737461747318032003" . + "280b32192e677270632e74657374696e672e436c69656e74537461747312" . + "2f0a0c7365727665725f737461747318042003280b32192e677270632e74" . + "657374696e672e536572766572537461747312140a0c7365727665725f63" . + "6f72657318052003280512340a0773756d6d61727918062001280b32232e" . + "677270632e74657374696e672e5363656e6172696f526573756c7453756d" . + "6d61727912160a0e636c69656e745f737563636573731807200328081216" . + "0a0e7365727665725f7375636365737318082003280812390a0f72657175" . + "6573745f726573756c747318092003280b32202e677270632e7465737469" . + "6e672e52657175657374526573756c74436f756e742a410a0a436c69656e" . + "7454797065120f0a0b53594e435f434c49454e54100012100a0c4153594e" . + "435f434c49454e54100112100a0c4f544845525f434c49454e5410022a5b" . + "0a0a53657276657254797065120f0a0b53594e435f534552564552100012" . + "100a0c4153594e435f534552564552100112180a144153594e435f47454e" . + "455249435f534552564552100212100a0c4f544845525f53455256455210" . + "032a720a075270635479706512090a05554e4152591000120d0a09535452" . + "45414d494e47100112190a1553545245414d494e475f46524f4d5f434c49" . + "454e54100212190a1553545245414d494e475f46524f4d5f534552564552" . + "100312170a1353545245414d494e475f424f54485f574159531004620670" . + "726f746f33" )); static::$is_initialized = true; diff --git a/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/ProxyService.php b/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/ProxyService.php index e35944e1d82..e07f73679ea 100644 --- a/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/ProxyService.php +++ b/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/ProxyService.php @@ -15,17 +15,20 @@ class ProxyService return; } \GPBMetadata\Src\Proto\Grpc\Testing\Control::initOnce(); + \GPBMetadata\Src\Proto\Grpc\Testing\Stats::initOnce(); $pool->internalAddGeneratedFile(hex2bin( - "0a97020a2a7372632f70726f746f2f677270632f74657374696e672f7072" . + "0ad6020a2a7372632f70726f746f2f677270632f74657374696e672f7072" . "6f78792d736572766963652e70726f746f120c677270632e74657374696e" . - "671a247372632f70726f746f2f677270632f74657374696e672f636f6e74" . - "726f6c2e70726f746f221c0a0950726f787953746174120f0a076c617465" . - "6e6379180120012801328e010a1250726f7879436c69656e745365727669" . - "6365123b0a09476574436f6e66696712122e677270632e74657374696e67" . - "2e566f69641a1a2e677270632e74657374696e672e436c69656e74436f6e" . - "666967123b0a0a5265706f727454696d6512172e677270632e7465737469" . - "6e672e50726f7879537461741a122e677270632e74657374696e672e566f" . - "69642801620670726f746f33" + "671a227372632f70726f746f2f677270632f74657374696e672f73746174" . + "732e70726f746f221c0a0950726f787953746174120f0a076c6174656e63" . + "7918012001280132cf010a1250726f7879436c69656e7453657276696365" . + "123b0a09476574436f6e66696712122e677270632e74657374696e672e56" . + "6f69641a1a2e677270632e74657374696e672e436c69656e74436f6e6669" . + "67123b0a0a5265706f727454696d6512172e677270632e74657374696e67" . + "2e50726f7879537461741a122e677270632e74657374696e672e566f6964" . + "2801123f0a0a5265706f727448697374121b2e677270632e74657374696e" . + "672e486973746f6772616d446174611a122e677270632e74657374696e67" . + "2e566f69642801620670726f746f33" )); static::$is_initialized = true; diff --git a/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/Services.php b/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/Services.php index 7a9439a5b93..e4029182c74 100644 --- a/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/Services.php +++ b/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/Services.php @@ -16,27 +16,40 @@ class Services } \GPBMetadata\Src\Proto\Grpc\Testing\Messages::initOnce(); \GPBMetadata\Src\Proto\Grpc\Testing\Control::initOnce(); + \GPBMetadata\Src\Proto\Grpc\Testing\Stats::initOnce(); $pool->internalAddGeneratedFile(hex2bin( - "0ad1040a257372632f70726f746f2f677270632f74657374696e672f7365" . - "7276696365732e70726f746f120c677270632e74657374696e671a257372" . - "632f70726f746f2f677270632f74657374696e672f6d657373616765732e" . - "70726f746f1a247372632f70726f746f2f677270632f74657374696e672f" . - "636f6e74726f6c2e70726f746f32aa010a1042656e63686d61726b536572" . - "7669636512460a09556e61727943616c6c121b2e677270632e7465737469" . - "6e672e53696d706c65526571756573741a1c2e677270632e74657374696e" . - "672e53696d706c65526573706f6e7365124e0a0d53747265616d696e6743" . - "616c6c121b2e677270632e74657374696e672e53696d706c655265717565" . - "73741a1c2e677270632e74657374696e672e53696d706c65526573706f6e" . - "7365280130013297020a0d576f726b65725365727669636512450a095275" . - "6e53657276657212182e677270632e74657374696e672e53657276657241" . - "7267731a1a2e677270632e74657374696e672e5365727665725374617475" . - "732801300112450a0952756e436c69656e7412182e677270632e74657374" . - "696e672e436c69656e74417267731a1a2e677270632e74657374696e672e" . - "436c69656e745374617475732801300112420a09436f7265436f756e7412" . - "192e677270632e74657374696e672e436f7265526571756573741a1a2e67" . - "7270632e74657374696e672e436f7265526573706f6e736512340a0a5175" . - "6974576f726b657212122e677270632e74657374696e672e566f69641a12" . - "2e677270632e74657374696e672e566f6964620670726f746f33" + "0aaa070a257372632f70726f746f2f677270632f74657374696e672f7365" . + "7276696365732e70726f746f120c677270632e74657374696e671a247372" . + "632f70726f746f2f677270632f74657374696e672f636f6e74726f6c2e70" . + "726f746f1a227372632f70726f746f2f677270632f74657374696e672f73" . + "746174732e70726f746f32a6030a1042656e63686d61726b536572766963" . + "6512460a09556e61727943616c6c121b2e677270632e74657374696e672e" . + "53696d706c65526571756573741a1c2e677270632e74657374696e672e53" . + "696d706c65526573706f6e7365124e0a0d53747265616d696e6743616c6c" . + "121b2e677270632e74657374696e672e53696d706c65526571756573741a" . + "1c2e677270632e74657374696e672e53696d706c65526573706f6e736528" . + "01300112520a1353747265616d696e6746726f6d436c69656e74121b2e67" . + "7270632e74657374696e672e53696d706c65526571756573741a1c2e6772" . + "70632e74657374696e672e53696d706c65526573706f6e7365280112520a" . + "1353747265616d696e6746726f6d536572766572121b2e677270632e7465" . + "7374696e672e53696d706c65526571756573741a1c2e677270632e746573" . + "74696e672e53696d706c65526573706f6e7365300112520a115374726561" . + "6d696e67426f746857617973121b2e677270632e74657374696e672e5369" . + "6d706c65526571756573741a1c2e677270632e74657374696e672e53696d" . + "706c65526573706f6e7365280130013297020a0d576f726b657253657276" . + "69636512450a0952756e53657276657212182e677270632e74657374696e" . + "672e536572766572417267731a1a2e677270632e74657374696e672e5365" . + "727665725374617475732801300112450a0952756e436c69656e7412182e" . + "677270632e74657374696e672e436c69656e74417267731a1a2e67727063" . + "2e74657374696e672e436c69656e745374617475732801300112420a0943" . + "6f7265436f756e7412192e677270632e74657374696e672e436f72655265" . + "71756573741a1a2e677270632e74657374696e672e436f7265526573706f" . + "6e736512340a0a51756974576f726b657212122e677270632e7465737469" . + "6e672e566f69641a122e677270632e74657374696e672e566f6964325e0a" . + "185265706f72745170735363656e6172696f5365727669636512420a0e52" . + "65706f72745363656e6172696f121c2e677270632e74657374696e672e53" . + "63656e6172696f526573756c741a122e677270632e74657374696e672e56" . + "6f6964620670726f746f33" )); static::$is_initialized = true; diff --git a/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/Stats.php b/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/Stats.php index 99c0000a52c..3d23b75dfa0 100644 --- a/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/Stats.php +++ b/src/php/tests/qps/generated_code/GPBMetadata/Src/Proto/Grpc/Testing/Stats.php @@ -14,28 +14,33 @@ class Stats if (static::$is_initialized == true) { return; } + \GPBMetadata\Src\Proto\Grpc\Core\Stats::initOnce(); $pool->internalAddGeneratedFile(hex2bin( - "0adf040a227372632f70726f746f2f677270632f74657374696e672f7374" . - "6174732e70726f746f120c677270632e74657374696e67227a0a0b536572" . - "766572537461747312140a0c74696d655f656c6170736564180120012801" . - "12110a0974696d655f7573657218022001280112130a0b74696d655f7379" . - "7374656d18032001280112160a0e746f74616c5f6370755f74696d651804" . - "2001280412150a0d69646c655f6370755f74696d65180520012804223b0a" . - "0f486973746f6772616d506172616d7312120a0a7265736f6c7574696f6e" . - "18012001280112140a0c6d61785f706f737369626c651802200128012277" . - "0a0d486973746f6772616d44617461120e0a066275636b65741801200328" . - "0d12100a086d696e5f7365656e18022001280112100a086d61785f736565" . - "6e180320012801120b0a0373756d18042001280112160a0e73756d5f6f66" . - "5f73717561726573180520012801120d0a05636f756e7418062001280122" . - "380a1252657175657374526573756c74436f756e7412130a0b7374617475" . - "735f636f6465180120012805120d0a05636f756e7418022001280322b601" . - "0a0b436c69656e745374617473122e0a096c6174656e6369657318012001" . - "280b321b2e677270632e74657374696e672e486973746f6772616d446174" . - "6112140a0c74696d655f656c617073656418022001280112110a0974696d" . - "655f7573657218032001280112130a0b74696d655f73797374656d180420" . - "01280112390a0f726571756573745f726573756c747318052003280b3220" . - "2e677270632e74657374696e672e52657175657374526573756c74436f75" . - "6e74620670726f746f33" + "0ada050a227372632f70726f746f2f677270632f74657374696e672f7374" . + "6174732e70726f746f120c677270632e74657374696e6722b7010a0b5365" . + "72766572537461747312140a0c74696d655f656c61707365641801200128" . + "0112110a0974696d655f7573657218022001280112130a0b74696d655f73" . + "797374656d18032001280112160a0e746f74616c5f6370755f74696d6518" . + "042001280412150a0d69646c655f6370755f74696d651805200128041215" . + "0a0d63715f706f6c6c5f636f756e7418062001280412240a0a636f72655f" . + "737461747318072001280b32102e677270632e636f72652e537461747322" . + "3b0a0f486973746f6772616d506172616d7312120a0a7265736f6c757469" . + "6f6e18012001280112140a0c6d61785f706f737369626c65180220012801" . + "22770a0d486973746f6772616d44617461120e0a066275636b6574180120" . + "03280d12100a086d696e5f7365656e18022001280112100a086d61785f73" . + "65656e180320012801120b0a0373756d18042001280112160a0e73756d5f" . + "6f665f73717561726573180520012801120d0a05636f756e741806200128" . + "0122380a1252657175657374526573756c74436f756e7412130a0b737461" . + "7475735f636f6465180120012805120d0a05636f756e7418022001280322" . + "f3010a0b436c69656e745374617473122e0a096c6174656e636965731801" . + "2001280b321b2e677270632e74657374696e672e486973746f6772616d44" . + "61746112140a0c74696d655f656c617073656418022001280112110a0974" . + "696d655f7573657218032001280112130a0b74696d655f73797374656d18" . + "042001280112390a0f726571756573745f726573756c747318052003280b" . + "32202e677270632e74657374696e672e52657175657374526573756c7443" . + "6f756e7412150a0d63715f706f6c6c5f636f756e7418062001280412240a" . + "0a636f72655f737461747318072001280b32102e677270632e636f72652e" . + "5374617473620670726f746f33" )); static::$is_initialized = true; diff --git a/src/php/tests/qps/generated_code/Grpc/Core/Bucket.php b/src/php/tests/qps/generated_code/Grpc/Core/Bucket.php new file mode 100644 index 00000000000..897d6271c28 --- /dev/null +++ b/src/php/tests/qps/generated_code/Grpc/Core/Bucket.php @@ -0,0 +1,75 @@ +grpc.core.Bucket + */ +class Bucket extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field double start = 1; + */ + private $start = 0.0; + /** + * Generated from protobuf field uint64 count = 2; + */ + private $count = 0; + + public function __construct() { + \GPBMetadata\Src\Proto\Grpc\Core\Stats::initOnce(); + parent::__construct(); + } + + /** + * Generated from protobuf field double start = 1; + * @return float + */ + public function getStart() + { + return $this->start; + } + + /** + * Generated from protobuf field double start = 1; + * @param float $var + * @return $this + */ + public function setStart($var) + { + GPBUtil::checkDouble($var); + $this->start = $var; + + return $this; + } + + /** + * Generated from protobuf field uint64 count = 2; + * @return int|string + */ + public function getCount() + { + return $this->count; + } + + /** + * Generated from protobuf field uint64 count = 2; + * @param int|string $var + * @return $this + */ + public function setCount($var) + { + GPBUtil::checkUint64($var); + $this->count = $var; + + return $this; + } + +} + diff --git a/src/php/tests/qps/generated_code/Grpc/Core/Histogram.php b/src/php/tests/qps/generated_code/Grpc/Core/Histogram.php new file mode 100644 index 00000000000..1902be8e4ac --- /dev/null +++ b/src/php/tests/qps/generated_code/Grpc/Core/Histogram.php @@ -0,0 +1,49 @@ +grpc.core.Histogram + */ +class Histogram extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field repeated .grpc.core.Bucket buckets = 1; + */ + private $buckets; + + public function __construct() { + \GPBMetadata\Src\Proto\Grpc\Core\Stats::initOnce(); + parent::__construct(); + } + + /** + * Generated from protobuf field repeated .grpc.core.Bucket buckets = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getBuckets() + { + return $this->buckets; + } + + /** + * Generated from protobuf field repeated .grpc.core.Bucket buckets = 1; + * @param \Grpc\Core\Bucket[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setBuckets($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Core\Bucket::class); + $this->buckets = $arr; + + return $this; + } + +} + diff --git a/src/php/tests/qps/generated_code/Grpc/Core/Metric.php b/src/php/tests/qps/generated_code/Grpc/Core/Metric.php new file mode 100644 index 00000000000..c3581b7d21b --- /dev/null +++ b/src/php/tests/qps/generated_code/Grpc/Core/Metric.php @@ -0,0 +1,102 @@ +grpc.core.Metric + */ +class Metric extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field string name = 1; + */ + private $name = ''; + protected $value; + + public function __construct() { + \GPBMetadata\Src\Proto\Grpc\Core\Stats::initOnce(); + parent::__construct(); + } + + /** + * Generated from protobuf field string name = 1; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Generated from protobuf field string name = 1; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Generated from protobuf field uint64 count = 10; + * @return int|string + */ + public function getCount() + { + return $this->readOneof(10); + } + + /** + * Generated from protobuf field uint64 count = 10; + * @param int|string $var + * @return $this + */ + public function setCount($var) + { + GPBUtil::checkUint64($var); + $this->writeOneof(10, $var); + + return $this; + } + + /** + * Generated from protobuf field .grpc.core.Histogram histogram = 11; + * @return \Grpc\Core\Histogram + */ + public function getHistogram() + { + return $this->readOneof(11); + } + + /** + * Generated from protobuf field .grpc.core.Histogram histogram = 11; + * @param \Grpc\Core\Histogram $var + * @return $this + */ + public function setHistogram($var) + { + GPBUtil::checkMessage($var, \Grpc\Core\Histogram::class); + $this->writeOneof(11, $var); + + return $this; + } + + /** + * @return string + */ + public function getValue() + { + return $this->whichOneof("value"); + } + +} + diff --git a/src/php/tests/qps/generated_code/Grpc/Core/Stats.php b/src/php/tests/qps/generated_code/Grpc/Core/Stats.php new file mode 100644 index 00000000000..e6f3fb08992 --- /dev/null +++ b/src/php/tests/qps/generated_code/Grpc/Core/Stats.php @@ -0,0 +1,49 @@ +grpc.core.Stats + */ +class Stats extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field repeated .grpc.core.Metric metrics = 1; + */ + private $metrics; + + public function __construct() { + \GPBMetadata\Src\Proto\Grpc\Core\Stats::initOnce(); + parent::__construct(); + } + + /** + * Generated from protobuf field repeated .grpc.core.Metric metrics = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getMetrics() + { + return $this->metrics; + } + + /** + * Generated from protobuf field repeated .grpc.core.Metric metrics = 1; + * @param \Grpc\Core\Metric[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setMetrics($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Core\Metric::class); + $this->metrics = $arr; + + return $this; + } + +} + diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/BenchmarkServiceClient.php b/src/php/tests/qps/generated_code/Grpc/Testing/BenchmarkServiceClient.php index ddf750a94fc..fa3e1479091 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/BenchmarkServiceClient.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/BenchmarkServiceClient.php @@ -18,17 +18,19 @@ // // An integration test service that covers all the method signature permutations // of unary/streaming requests/responses. -namespace Grpc\Testing { +namespace Grpc\Testing; - class BenchmarkServiceClient extends \Grpc\BaseStub { +/** + */ +class BenchmarkServiceClient extends \Grpc\BaseStub { /** * @param string $hostname hostname * @param array $opts channel options - * @param Grpc\Channel $channel (optional) re-use channel object + * @param \Grpc\Channel $channel (optional) re-use channel object */ public function __construct($hostname, $opts, $channel = null) { - parent::__construct($hostname, $opts, $channel); + parent::__construct($hostname, $opts, $channel); } /** @@ -40,24 +42,62 @@ namespace Grpc\Testing { */ public function UnaryCall(\Grpc\Testing\SimpleRequest $argument, $metadata = [], $options = []) { - return $this->_simpleRequest('/grpc.testing.BenchmarkService/UnaryCall', - $argument, - ['\Grpc\Testing\SimpleResponse', 'decode'], - $metadata, $options); + return $this->_simpleRequest('/grpc.testing.BenchmarkService/UnaryCall', + $argument, + ['\Grpc\Testing\SimpleResponse', 'decode'], + $metadata, $options); } /** - * One request followed by one response. - * The server returns the client payload as-is. + * Repeated sequence of one request followed by one response. + * Should be called streaming ping-pong + * The server returns the client payload as-is on each response * @param array $metadata metadata * @param array $options call options */ public function StreamingCall($metadata = [], $options = []) { - return $this->_bidiRequest('/grpc.testing.BenchmarkService/StreamingCall', - ['\Grpc\Testing\SimpleResponse','decode'], - $metadata, $options); + return $this->_bidiRequest('/grpc.testing.BenchmarkService/StreamingCall', + ['\Grpc\Testing\SimpleResponse','decode'], + $metadata, $options); } - } + /** + * Single-sided unbounded streaming from client to server + * The server returns the client payload as-is once the client does WritesDone + * @param array $metadata metadata + * @param array $options call options + */ + public function StreamingFromClient($metadata = [], $options = []) { + return $this->_clientStreamRequest('/grpc.testing.BenchmarkService/StreamingFromClient', + ['\Grpc\Testing\SimpleResponse','decode'], + $metadata, $options); + } + + /** + * Single-sided unbounded streaming from server to client + * The server repeatedly returns the client payload as-is + * @param \Grpc\Testing\SimpleRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + */ + public function StreamingFromServer(\Grpc\Testing\SimpleRequest $argument, + $metadata = [], $options = []) { + return $this->_serverStreamRequest('/grpc.testing.BenchmarkService/StreamingFromServer', + $argument, + ['\Grpc\Testing\SimpleResponse', 'decode'], + $metadata, $options); + } + + /** + * Two-sided unbounded streaming between server to client + * Both sides send the content of their own choice to the other + * @param array $metadata metadata + * @param array $options call options + */ + public function StreamingBothWays($metadata = [], $options = []) { + return $this->_bidiRequest('/grpc.testing.BenchmarkService/StreamingBothWays', + ['\Grpc\Testing\SimpleResponse','decode'], + $metadata, $options); + } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/BoolValue.php b/src/php/tests/qps/generated_code/Grpc/Testing/BoolValue.php index f0497accfb2..7eb364b7a0b 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/BoolValue.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/BoolValue.php @@ -9,22 +9,18 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * TODO(dgq): Go back to using well-known types once
  * https://github.com/grpc/grpc/issues/6980 has been fixed.
  * import "google/protobuf/wrappers.proto";
- * 
* - * Protobuf type grpc.testing.BoolValue + * Generated from protobuf message grpc.testing.BoolValue */ class BoolValue extends \Google\Protobuf\Internal\Message { /** - *
      * The bool value.
-     * 
* - * bool value = 1; + * Generated from protobuf field bool value = 1; */ private $value = false; @@ -34,11 +30,10 @@ class BoolValue extends \Google\Protobuf\Internal\Message } /** - *
      * The bool value.
-     * 
* - * bool value = 1; + * Generated from protobuf field bool value = 1; + * @return bool */ public function getValue() { @@ -46,16 +41,18 @@ class BoolValue extends \Google\Protobuf\Internal\Message } /** - *
      * The bool value.
-     * 
* - * bool value = 1; + * Generated from protobuf field bool value = 1; + * @param bool $var + * @return $this */ public function setValue($var) { GPBUtil::checkBool($var); $this->value = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ByteBufferParams.php b/src/php/tests/qps/generated_code/Grpc/Testing/ByteBufferParams.php index 0057d387488..0511026ba74 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ByteBufferParams.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ByteBufferParams.php @@ -9,16 +9,16 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.ByteBufferParams + * Generated from protobuf message grpc.testing.ByteBufferParams */ class ByteBufferParams extends \Google\Protobuf\Internal\Message { /** - * int32 req_size = 1; + * Generated from protobuf field int32 req_size = 1; */ private $req_size = 0; /** - * int32 resp_size = 2; + * Generated from protobuf field int32 resp_size = 2; */ private $resp_size = 0; @@ -28,7 +28,8 @@ class ByteBufferParams extends \Google\Protobuf\Internal\Message } /** - * int32 req_size = 1; + * Generated from protobuf field int32 req_size = 1; + * @return int */ public function getReqSize() { @@ -36,16 +37,21 @@ class ByteBufferParams extends \Google\Protobuf\Internal\Message } /** - * int32 req_size = 1; + * Generated from protobuf field int32 req_size = 1; + * @param int $var + * @return $this */ public function setReqSize($var) { GPBUtil::checkInt32($var); $this->req_size = $var; + + return $this; } /** - * int32 resp_size = 2; + * Generated from protobuf field int32 resp_size = 2; + * @return int */ public function getRespSize() { @@ -53,12 +59,16 @@ class ByteBufferParams extends \Google\Protobuf\Internal\Message } /** - * int32 resp_size = 2; + * Generated from protobuf field int32 resp_size = 2; + * @param int $var + * @return $this */ public function setRespSize($var) { GPBUtil::checkInt32($var); $this->resp_size = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ChannelArg.php b/src/php/tests/qps/generated_code/Grpc/Testing/ChannelArg.php index d2fe3ae5ffc..5c5fb861a40 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ChannelArg.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ChannelArg.php @@ -9,12 +9,12 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.ChannelArg + * Generated from protobuf message grpc.testing.ChannelArg */ class ChannelArg extends \Google\Protobuf\Internal\Message { /** - * string name = 1; + * Generated from protobuf field string name = 1; */ private $name = ''; protected $value; @@ -25,7 +25,8 @@ class ChannelArg extends \Google\Protobuf\Internal\Message } /** - * string name = 1; + * Generated from protobuf field string name = 1; + * @return string */ public function getName() { @@ -33,16 +34,21 @@ class ChannelArg extends \Google\Protobuf\Internal\Message } /** - * string name = 1; + * Generated from protobuf field string name = 1; + * @param string $var + * @return $this */ public function setName($var) { GPBUtil::checkString($var, True); $this->name = $var; + + return $this; } /** - * string str_value = 2; + * Generated from protobuf field string str_value = 2; + * @return string */ public function getStrValue() { @@ -50,16 +56,21 @@ class ChannelArg extends \Google\Protobuf\Internal\Message } /** - * string str_value = 2; + * Generated from protobuf field string str_value = 2; + * @param string $var + * @return $this */ public function setStrValue($var) { GPBUtil::checkString($var, True); $this->writeOneof(2, $var); + + return $this; } /** - * int32 int_value = 3; + * Generated from protobuf field int32 int_value = 3; + * @return int */ public function getIntValue() { @@ -67,14 +78,21 @@ class ChannelArg extends \Google\Protobuf\Internal\Message } /** - * int32 int_value = 3; + * Generated from protobuf field int32 int_value = 3; + * @param int $var + * @return $this */ public function setIntValue($var) { GPBUtil::checkInt32($var); $this->writeOneof(3, $var); + + return $this; } + /** + * @return string + */ public function getValue() { return $this->whichOneof("value"); diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ClientArgs.php b/src/php/tests/qps/generated_code/Grpc/Testing/ClientArgs.php index c878c5a7bc0..ee3fd46f0f6 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ClientArgs.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ClientArgs.php @@ -9,7 +9,7 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.ClientArgs + * Generated from protobuf message grpc.testing.ClientArgs */ class ClientArgs extends \Google\Protobuf\Internal\Message { @@ -21,7 +21,8 @@ class ClientArgs extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ClientConfig setup = 1; + * Generated from protobuf field .grpc.testing.ClientConfig setup = 1; + * @return \Grpc\Testing\ClientConfig */ public function getSetup() { @@ -29,16 +30,21 @@ class ClientArgs extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ClientConfig setup = 1; + * Generated from protobuf field .grpc.testing.ClientConfig setup = 1; + * @param \Grpc\Testing\ClientConfig $var + * @return $this */ - public function setSetup(&$var) + public function setSetup($var) { GPBUtil::checkMessage($var, \Grpc\Testing\ClientConfig::class); $this->writeOneof(1, $var); + + return $this; } /** - * .grpc.testing.Mark mark = 2; + * Generated from protobuf field .grpc.testing.Mark mark = 2; + * @return \Grpc\Testing\Mark */ public function getMark() { @@ -46,14 +52,21 @@ class ClientArgs extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.Mark mark = 2; + * Generated from protobuf field .grpc.testing.Mark mark = 2; + * @param \Grpc\Testing\Mark $var + * @return $this */ - public function setMark(&$var) + public function setMark($var) { GPBUtil::checkMessage($var, \Grpc\Testing\Mark::class); $this->writeOneof(2, $var); + + return $this; } + /** + * @return string + */ public function getArgtype() { return $this->whichOneof("argtype"); diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ClientConfig.php b/src/php/tests/qps/generated_code/Grpc/Testing/ClientConfig.php index 52d6a75fb0e..f7bc21587c9 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ClientConfig.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ClientConfig.php @@ -9,96 +9,94 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.ClientConfig + * Generated from protobuf message grpc.testing.ClientConfig */ class ClientConfig extends \Google\Protobuf\Internal\Message { /** - *
      * List of targets to connect to. At least one target needs to be specified.
-     * 
* - * repeated string server_targets = 1; + * Generated from protobuf field repeated string server_targets = 1; */ private $server_targets; /** - * .grpc.testing.ClientType client_type = 2; + * Generated from protobuf field .grpc.testing.ClientType client_type = 2; */ private $client_type = 0; /** - * .grpc.testing.SecurityParams security_params = 3; + * Generated from protobuf field .grpc.testing.SecurityParams security_params = 3; */ private $security_params = null; /** - *
      * How many concurrent RPCs to start for each channel.
      * For synchronous client, use a separate thread for each outstanding RPC.
-     * 
* - * int32 outstanding_rpcs_per_channel = 4; + * Generated from protobuf field int32 outstanding_rpcs_per_channel = 4; */ private $outstanding_rpcs_per_channel = 0; /** - *
      * Number of independent client channels to create.
      * i-th channel will connect to server_target[i % server_targets.size()]
-     * 
* - * int32 client_channels = 5; + * Generated from protobuf field int32 client_channels = 5; */ private $client_channels = 0; /** - *
      * Only for async client. Number of threads to use to start/manage RPCs.
-     * 
* - * int32 async_client_threads = 7; + * Generated from protobuf field int32 async_client_threads = 7; */ private $async_client_threads = 0; /** - * .grpc.testing.RpcType rpc_type = 8; + * Generated from protobuf field .grpc.testing.RpcType rpc_type = 8; */ private $rpc_type = 0; /** - *
      * The requested load for the entire client (aggregated over all the threads).
-     * 
* - * .grpc.testing.LoadParams load_params = 10; + * Generated from protobuf field .grpc.testing.LoadParams load_params = 10; */ private $load_params = null; /** - * .grpc.testing.PayloadConfig payload_config = 11; + * Generated from protobuf field .grpc.testing.PayloadConfig payload_config = 11; */ private $payload_config = null; /** - * .grpc.testing.HistogramParams histogram_params = 12; + * Generated from protobuf field .grpc.testing.HistogramParams histogram_params = 12; */ private $histogram_params = null; /** - *
      * Specify the cores we should run the client on, if desired
-     * 
* - * repeated int32 core_list = 13; + * Generated from protobuf field repeated int32 core_list = 13; */ private $core_list; /** - * int32 core_limit = 14; + * Generated from protobuf field int32 core_limit = 14; */ private $core_limit = 0; /** - *
      * If we use an OTHER_CLIENT client_type, this string gives more detail
-     * 
* - * string other_client_api = 15; + * Generated from protobuf field string other_client_api = 15; */ private $other_client_api = ''; /** - * repeated .grpc.testing.ChannelArg channel_args = 16; + * Generated from protobuf field repeated .grpc.testing.ChannelArg channel_args = 16; */ private $channel_args; + /** + * Number of threads that share each completion queue + * + * Generated from protobuf field int32 threads_per_cq = 17; + */ + private $threads_per_cq = 0; + /** + * Number of messages on a stream before it gets finished/restarted + * + * Generated from protobuf field int32 messages_per_stream = 18; + */ + private $messages_per_stream = 0; public function __construct() { \GPBMetadata\Src\Proto\Grpc\Testing\Control::initOnce(); @@ -106,11 +104,10 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - *
      * List of targets to connect to. At least one target needs to be specified.
-     * 
* - * repeated string server_targets = 1; + * Generated from protobuf field repeated string server_targets = 1; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getServerTargets() { @@ -118,20 +115,23 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - *
      * List of targets to connect to. At least one target needs to be specified.
-     * 
* - * repeated string server_targets = 1; + * Generated from protobuf field repeated string server_targets = 1; + * @param string[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setServerTargets(&$var) + public function setServerTargets($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); - $this->server_targets = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->server_targets = $arr; + + return $this; } /** - * .grpc.testing.ClientType client_type = 2; + * Generated from protobuf field .grpc.testing.ClientType client_type = 2; + * @return int */ public function getClientType() { @@ -139,16 +139,21 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ClientType client_type = 2; + * Generated from protobuf field .grpc.testing.ClientType client_type = 2; + * @param int $var + * @return $this */ public function setClientType($var) { GPBUtil::checkEnum($var, \Grpc\Testing\ClientType::class); $this->client_type = $var; + + return $this; } /** - * .grpc.testing.SecurityParams security_params = 3; + * Generated from protobuf field .grpc.testing.SecurityParams security_params = 3; + * @return \Grpc\Testing\SecurityParams */ public function getSecurityParams() { @@ -156,21 +161,24 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.SecurityParams security_params = 3; + * Generated from protobuf field .grpc.testing.SecurityParams security_params = 3; + * @param \Grpc\Testing\SecurityParams $var + * @return $this */ - public function setSecurityParams(&$var) + public function setSecurityParams($var) { GPBUtil::checkMessage($var, \Grpc\Testing\SecurityParams::class); $this->security_params = $var; + + return $this; } /** - *
      * How many concurrent RPCs to start for each channel.
      * For synchronous client, use a separate thread for each outstanding RPC.
-     * 
* - * int32 outstanding_rpcs_per_channel = 4; + * Generated from protobuf field int32 outstanding_rpcs_per_channel = 4; + * @return int */ public function getOutstandingRpcsPerChannel() { @@ -178,26 +186,27 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - *
      * How many concurrent RPCs to start for each channel.
      * For synchronous client, use a separate thread for each outstanding RPC.
-     * 
* - * int32 outstanding_rpcs_per_channel = 4; + * Generated from protobuf field int32 outstanding_rpcs_per_channel = 4; + * @param int $var + * @return $this */ public function setOutstandingRpcsPerChannel($var) { GPBUtil::checkInt32($var); $this->outstanding_rpcs_per_channel = $var; + + return $this; } /** - *
      * Number of independent client channels to create.
      * i-th channel will connect to server_target[i % server_targets.size()]
-     * 
* - * int32 client_channels = 5; + * Generated from protobuf field int32 client_channels = 5; + * @return int */ public function getClientChannels() { @@ -205,25 +214,26 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - *
      * Number of independent client channels to create.
      * i-th channel will connect to server_target[i % server_targets.size()]
-     * 
* - * int32 client_channels = 5; + * Generated from protobuf field int32 client_channels = 5; + * @param int $var + * @return $this */ public function setClientChannels($var) { GPBUtil::checkInt32($var); $this->client_channels = $var; + + return $this; } /** - *
      * Only for async client. Number of threads to use to start/manage RPCs.
-     * 
* - * int32 async_client_threads = 7; + * Generated from protobuf field int32 async_client_threads = 7; + * @return int */ public function getAsyncClientThreads() { @@ -231,20 +241,23 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - *
      * Only for async client. Number of threads to use to start/manage RPCs.
-     * 
* - * int32 async_client_threads = 7; + * Generated from protobuf field int32 async_client_threads = 7; + * @param int $var + * @return $this */ public function setAsyncClientThreads($var) { GPBUtil::checkInt32($var); $this->async_client_threads = $var; + + return $this; } /** - * .grpc.testing.RpcType rpc_type = 8; + * Generated from protobuf field .grpc.testing.RpcType rpc_type = 8; + * @return int */ public function getRpcType() { @@ -252,20 +265,23 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.RpcType rpc_type = 8; + * Generated from protobuf field .grpc.testing.RpcType rpc_type = 8; + * @param int $var + * @return $this */ public function setRpcType($var) { GPBUtil::checkEnum($var, \Grpc\Testing\RpcType::class); $this->rpc_type = $var; + + return $this; } /** - *
      * The requested load for the entire client (aggregated over all the threads).
-     * 
* - * .grpc.testing.LoadParams load_params = 10; + * Generated from protobuf field .grpc.testing.LoadParams load_params = 10; + * @return \Grpc\Testing\LoadParams */ public function getLoadParams() { @@ -273,20 +289,23 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - *
      * The requested load for the entire client (aggregated over all the threads).
-     * 
* - * .grpc.testing.LoadParams load_params = 10; + * Generated from protobuf field .grpc.testing.LoadParams load_params = 10; + * @param \Grpc\Testing\LoadParams $var + * @return $this */ - public function setLoadParams(&$var) + public function setLoadParams($var) { GPBUtil::checkMessage($var, \Grpc\Testing\LoadParams::class); $this->load_params = $var; + + return $this; } /** - * .grpc.testing.PayloadConfig payload_config = 11; + * Generated from protobuf field .grpc.testing.PayloadConfig payload_config = 11; + * @return \Grpc\Testing\PayloadConfig */ public function getPayloadConfig() { @@ -294,16 +313,21 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.PayloadConfig payload_config = 11; + * Generated from protobuf field .grpc.testing.PayloadConfig payload_config = 11; + * @param \Grpc\Testing\PayloadConfig $var + * @return $this */ - public function setPayloadConfig(&$var) + public function setPayloadConfig($var) { GPBUtil::checkMessage($var, \Grpc\Testing\PayloadConfig::class); $this->payload_config = $var; + + return $this; } /** - * .grpc.testing.HistogramParams histogram_params = 12; + * Generated from protobuf field .grpc.testing.HistogramParams histogram_params = 12; + * @return \Grpc\Testing\HistogramParams */ public function getHistogramParams() { @@ -311,20 +335,23 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.HistogramParams histogram_params = 12; + * Generated from protobuf field .grpc.testing.HistogramParams histogram_params = 12; + * @param \Grpc\Testing\HistogramParams $var + * @return $this */ - public function setHistogramParams(&$var) + public function setHistogramParams($var) { GPBUtil::checkMessage($var, \Grpc\Testing\HistogramParams::class); $this->histogram_params = $var; + + return $this; } /** - *
      * Specify the cores we should run the client on, if desired
-     * 
* - * repeated int32 core_list = 13; + * Generated from protobuf field repeated int32 core_list = 13; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getCoreList() { @@ -332,20 +359,23 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - *
      * Specify the cores we should run the client on, if desired
-     * 
* - * repeated int32 core_list = 13; + * Generated from protobuf field repeated int32 core_list = 13; + * @param int[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setCoreList(&$var) + public function setCoreList($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32); - $this->core_list = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32); + $this->core_list = $arr; + + return $this; } /** - * int32 core_limit = 14; + * Generated from protobuf field int32 core_limit = 14; + * @return int */ public function getCoreLimit() { @@ -353,20 +383,23 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - * int32 core_limit = 14; + * Generated from protobuf field int32 core_limit = 14; + * @param int $var + * @return $this */ public function setCoreLimit($var) { GPBUtil::checkInt32($var); $this->core_limit = $var; + + return $this; } /** - *
      * If we use an OTHER_CLIENT client_type, this string gives more detail
-     * 
* - * string other_client_api = 15; + * Generated from protobuf field string other_client_api = 15; + * @return string */ public function getOtherClientApi() { @@ -374,20 +407,23 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - *
      * If we use an OTHER_CLIENT client_type, this string gives more detail
-     * 
* - * string other_client_api = 15; + * Generated from protobuf field string other_client_api = 15; + * @param string $var + * @return $this */ public function setOtherClientApi($var) { GPBUtil::checkString($var, True); $this->other_client_api = $var; + + return $this; } /** - * repeated .grpc.testing.ChannelArg channel_args = 16; + * Generated from protobuf field repeated .grpc.testing.ChannelArg channel_args = 16; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getChannelArgs() { @@ -395,12 +431,68 @@ class ClientConfig extends \Google\Protobuf\Internal\Message } /** - * repeated .grpc.testing.ChannelArg channel_args = 16; + * Generated from protobuf field repeated .grpc.testing.ChannelArg channel_args = 16; + * @param \Grpc\Testing\ChannelArg[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setChannelArgs($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\ChannelArg::class); + $this->channel_args = $arr; + + return $this; + } + + /** + * Number of threads that share each completion queue + * + * Generated from protobuf field int32 threads_per_cq = 17; + * @return int + */ + public function getThreadsPerCq() + { + return $this->threads_per_cq; + } + + /** + * Number of threads that share each completion queue + * + * Generated from protobuf field int32 threads_per_cq = 17; + * @param int $var + * @return $this + */ + public function setThreadsPerCq($var) + { + GPBUtil::checkInt32($var); + $this->threads_per_cq = $var; + + return $this; + } + + /** + * Number of messages on a stream before it gets finished/restarted + * + * Generated from protobuf field int32 messages_per_stream = 18; + * @return int + */ + public function getMessagesPerStream() + { + return $this->messages_per_stream; + } + + /** + * Number of messages on a stream before it gets finished/restarted + * + * Generated from protobuf field int32 messages_per_stream = 18; + * @param int $var + * @return $this */ - public function setChannelArgs(&$var) + public function setMessagesPerStream($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\ChannelArg::class); - $this->channel_args = $var; + GPBUtil::checkInt32($var); + $this->messages_per_stream = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ClientStats.php b/src/php/tests/qps/generated_code/Grpc/Testing/ClientStats.php index 8b9a0c33a46..f2a76217917 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ClientStats.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ClientStats.php @@ -9,42 +9,48 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.ClientStats + * Generated from protobuf message grpc.testing.ClientStats */ class ClientStats extends \Google\Protobuf\Internal\Message { /** - *
      * Latency histogram. Data points are in nanoseconds.
-     * 
* - * .grpc.testing.HistogramData latencies = 1; + * Generated from protobuf field .grpc.testing.HistogramData latencies = 1; */ private $latencies = null; /** - *
      * See ServerStats for details.
-     * 
* - * double time_elapsed = 2; + * Generated from protobuf field double time_elapsed = 2; */ private $time_elapsed = 0.0; /** - * double time_user = 3; + * Generated from protobuf field double time_user = 3; */ private $time_user = 0.0; /** - * double time_system = 4; + * Generated from protobuf field double time_system = 4; */ private $time_system = 0.0; /** - *
      * Number of failed requests (one row per status code seen)
-     * 
* - * repeated .grpc.testing.RequestResultCount request_results = 5; + * Generated from protobuf field repeated .grpc.testing.RequestResultCount request_results = 5; */ private $request_results; + /** + * Number of polls called inside completion queue + * + * Generated from protobuf field uint64 cq_poll_count = 6; + */ + private $cq_poll_count = 0; + /** + * Core library stats + * + * Generated from protobuf field .grpc.core.Stats core_stats = 7; + */ + private $core_stats = null; public function __construct() { \GPBMetadata\Src\Proto\Grpc\Testing\Stats::initOnce(); @@ -52,11 +58,10 @@ class ClientStats extends \Google\Protobuf\Internal\Message } /** - *
      * Latency histogram. Data points are in nanoseconds.
-     * 
* - * .grpc.testing.HistogramData latencies = 1; + * Generated from protobuf field .grpc.testing.HistogramData latencies = 1; + * @return \Grpc\Testing\HistogramData */ public function getLatencies() { @@ -64,24 +69,25 @@ class ClientStats extends \Google\Protobuf\Internal\Message } /** - *
      * Latency histogram. Data points are in nanoseconds.
-     * 
* - * .grpc.testing.HistogramData latencies = 1; + * Generated from protobuf field .grpc.testing.HistogramData latencies = 1; + * @param \Grpc\Testing\HistogramData $var + * @return $this */ - public function setLatencies(&$var) + public function setLatencies($var) { GPBUtil::checkMessage($var, \Grpc\Testing\HistogramData::class); $this->latencies = $var; + + return $this; } /** - *
      * See ServerStats for details.
-     * 
* - * double time_elapsed = 2; + * Generated from protobuf field double time_elapsed = 2; + * @return float */ public function getTimeElapsed() { @@ -89,20 +95,23 @@ class ClientStats extends \Google\Protobuf\Internal\Message } /** - *
      * See ServerStats for details.
-     * 
* - * double time_elapsed = 2; + * Generated from protobuf field double time_elapsed = 2; + * @param float $var + * @return $this */ public function setTimeElapsed($var) { GPBUtil::checkDouble($var); $this->time_elapsed = $var; + + return $this; } /** - * double time_user = 3; + * Generated from protobuf field double time_user = 3; + * @return float */ public function getTimeUser() { @@ -110,16 +119,21 @@ class ClientStats extends \Google\Protobuf\Internal\Message } /** - * double time_user = 3; + * Generated from protobuf field double time_user = 3; + * @param float $var + * @return $this */ public function setTimeUser($var) { GPBUtil::checkDouble($var); $this->time_user = $var; + + return $this; } /** - * double time_system = 4; + * Generated from protobuf field double time_system = 4; + * @return float */ public function getTimeSystem() { @@ -127,20 +141,23 @@ class ClientStats extends \Google\Protobuf\Internal\Message } /** - * double time_system = 4; + * Generated from protobuf field double time_system = 4; + * @param float $var + * @return $this */ public function setTimeSystem($var) { GPBUtil::checkDouble($var); $this->time_system = $var; + + return $this; } /** - *
      * Number of failed requests (one row per status code seen)
-     * 
* - * repeated .grpc.testing.RequestResultCount request_results = 5; + * Generated from protobuf field repeated .grpc.testing.RequestResultCount request_results = 5; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getRequestResults() { @@ -148,16 +165,70 @@ class ClientStats extends \Google\Protobuf\Internal\Message } /** - *
      * Number of failed requests (one row per status code seen)
-     * 
* - * repeated .grpc.testing.RequestResultCount request_results = 5; + * Generated from protobuf field repeated .grpc.testing.RequestResultCount request_results = 5; + * @param \Grpc\Testing\RequestResultCount[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setRequestResults(&$var) + public function setRequestResults($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\RequestResultCount::class); - $this->request_results = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\RequestResultCount::class); + $this->request_results = $arr; + + return $this; + } + + /** + * Number of polls called inside completion queue + * + * Generated from protobuf field uint64 cq_poll_count = 6; + * @return int|string + */ + public function getCqPollCount() + { + return $this->cq_poll_count; + } + + /** + * Number of polls called inside completion queue + * + * Generated from protobuf field uint64 cq_poll_count = 6; + * @param int|string $var + * @return $this + */ + public function setCqPollCount($var) + { + GPBUtil::checkUint64($var); + $this->cq_poll_count = $var; + + return $this; + } + + /** + * Core library stats + * + * Generated from protobuf field .grpc.core.Stats core_stats = 7; + * @return \Grpc\Core\Stats + */ + public function getCoreStats() + { + return $this->core_stats; + } + + /** + * Core library stats + * + * Generated from protobuf field .grpc.core.Stats core_stats = 7; + * @param \Grpc\Core\Stats $var + * @return $this + */ + public function setCoreStats($var) + { + GPBUtil::checkMessage($var, \Grpc\Core\Stats::class); + $this->core_stats = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ClientStatus.php b/src/php/tests/qps/generated_code/Grpc/Testing/ClientStatus.php index a59f87a9628..3ea40c4dfa0 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ClientStatus.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ClientStatus.php @@ -9,12 +9,12 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.ClientStatus + * Generated from protobuf message grpc.testing.ClientStatus */ class ClientStatus extends \Google\Protobuf\Internal\Message { /** - * .grpc.testing.ClientStats stats = 1; + * Generated from protobuf field .grpc.testing.ClientStats stats = 1; */ private $stats = null; @@ -24,7 +24,8 @@ class ClientStatus extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ClientStats stats = 1; + * Generated from protobuf field .grpc.testing.ClientStats stats = 1; + * @return \Grpc\Testing\ClientStats */ public function getStats() { @@ -32,12 +33,16 @@ class ClientStatus extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ClientStats stats = 1; + * Generated from protobuf field .grpc.testing.ClientStats stats = 1; + * @param \Grpc\Testing\ClientStats $var + * @return $this */ - public function setStats(&$var) + public function setStats($var) { GPBUtil::checkMessage($var, \Grpc\Testing\ClientStats::class); $this->stats = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ClientType.php b/src/php/tests/qps/generated_code/Grpc/Testing/ClientType.php index 4f59da992f9..d1df4f19436 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ClientType.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ClientType.php @@ -5,29 +5,25 @@ namespace Grpc\Testing; /** - * Protobuf enum grpc.testing.ClientType + * Protobuf enum Grpc\Testing\ClientType */ class ClientType { /** - *
      * Many languages support a basic distinction between using
      * sync or async client, and this allows the specification
-     * 
* - * SYNC_CLIENT = 0; + * Generated from protobuf enum SYNC_CLIENT = 0; */ const SYNC_CLIENT = 0; /** - * ASYNC_CLIENT = 1; + * Generated from protobuf enum ASYNC_CLIENT = 1; */ const ASYNC_CLIENT = 1; /** - *
      * used for some language-specific variants
-     * 
* - * OTHER_CLIENT = 2; + * Generated from protobuf enum OTHER_CLIENT = 2; */ const OTHER_CLIENT = 2; } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ClosedLoopParams.php b/src/php/tests/qps/generated_code/Grpc/Testing/ClosedLoopParams.php index 53f2948af28..2772836f13d 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ClosedLoopParams.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ClosedLoopParams.php @@ -9,12 +9,10 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Once an RPC finishes, immediately start a new one.
  * No configuration parameters needed.
- * 
* - * Protobuf type grpc.testing.ClosedLoopParams + * Generated from protobuf message grpc.testing.ClosedLoopParams */ class ClosedLoopParams extends \Google\Protobuf\Internal\Message { diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ComplexProtoParams.php b/src/php/tests/qps/generated_code/Grpc/Testing/ComplexProtoParams.php index 6d990f1b064..b9013cdb300 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ComplexProtoParams.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ComplexProtoParams.php @@ -9,12 +9,10 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * TODO (vpai): Fill this in once the details of complex, representative
  *              protos are decided
- * 
* - * Protobuf type grpc.testing.ComplexProtoParams + * Generated from protobuf message grpc.testing.ComplexProtoParams */ class ComplexProtoParams extends \Google\Protobuf\Internal\Message { diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/CoreRequest.php b/src/php/tests/qps/generated_code/Grpc/Testing/CoreRequest.php index 2e078b3fcdb..7772572f1c5 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/CoreRequest.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/CoreRequest.php @@ -9,7 +9,7 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.CoreRequest + * Generated from protobuf message grpc.testing.CoreRequest */ class CoreRequest extends \Google\Protobuf\Internal\Message { diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/CoreResponse.php b/src/php/tests/qps/generated_code/Grpc/Testing/CoreResponse.php index 85cb3418ada..e0b40ee3001 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/CoreResponse.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/CoreResponse.php @@ -9,16 +9,14 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.CoreResponse + * Generated from protobuf message grpc.testing.CoreResponse */ class CoreResponse extends \Google\Protobuf\Internal\Message { /** - *
      * Number of cores available on the server
-     * 
* - * int32 cores = 1; + * Generated from protobuf field int32 cores = 1; */ private $cores = 0; @@ -28,11 +26,10 @@ class CoreResponse extends \Google\Protobuf\Internal\Message } /** - *
      * Number of cores available on the server
-     * 
* - * int32 cores = 1; + * Generated from protobuf field int32 cores = 1; + * @return int */ public function getCores() { @@ -40,16 +37,18 @@ class CoreResponse extends \Google\Protobuf\Internal\Message } /** - *
      * Number of cores available on the server
-     * 
* - * int32 cores = 1; + * Generated from protobuf field int32 cores = 1; + * @param int $var + * @return $this */ public function setCores($var) { GPBUtil::checkInt32($var); $this->cores = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/EchoStatus.php b/src/php/tests/qps/generated_code/Grpc/Testing/EchoStatus.php index 27340fb0efe..6a6623a042d 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/EchoStatus.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/EchoStatus.php @@ -9,21 +9,19 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * A protobuf representation for grpc status. This is used by test
  * clients to specify a status that the server should attempt to return.
- * 
* - * Protobuf type grpc.testing.EchoStatus + * Generated from protobuf message grpc.testing.EchoStatus */ class EchoStatus extends \Google\Protobuf\Internal\Message { /** - * int32 code = 1; + * Generated from protobuf field int32 code = 1; */ private $code = 0; /** - * string message = 2; + * Generated from protobuf field string message = 2; */ private $message = ''; @@ -33,7 +31,8 @@ class EchoStatus extends \Google\Protobuf\Internal\Message } /** - * int32 code = 1; + * Generated from protobuf field int32 code = 1; + * @return int */ public function getCode() { @@ -41,16 +40,21 @@ class EchoStatus extends \Google\Protobuf\Internal\Message } /** - * int32 code = 1; + * Generated from protobuf field int32 code = 1; + * @param int $var + * @return $this */ public function setCode($var) { GPBUtil::checkInt32($var); $this->code = $var; + + return $this; } /** - * string message = 2; + * Generated from protobuf field string message = 2; + * @return string */ public function getMessage() { @@ -58,12 +62,16 @@ class EchoStatus extends \Google\Protobuf\Internal\Message } /** - * string message = 2; + * Generated from protobuf field string message = 2; + * @param string $var + * @return $this */ public function setMessage($var) { GPBUtil::checkString($var, True); $this->message = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/HistogramData.php b/src/php/tests/qps/generated_code/Grpc/Testing/HistogramData.php index 056da6e5de5..136eac75e28 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/HistogramData.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/HistogramData.php @@ -9,36 +9,34 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Histogram data based on grpc/support/histogram.c
- * 
* - * Protobuf type grpc.testing.HistogramData + * Generated from protobuf message grpc.testing.HistogramData */ class HistogramData extends \Google\Protobuf\Internal\Message { /** - * repeated uint32 bucket = 1; + * Generated from protobuf field repeated uint32 bucket = 1; */ private $bucket; /** - * double min_seen = 2; + * Generated from protobuf field double min_seen = 2; */ private $min_seen = 0.0; /** - * double max_seen = 3; + * Generated from protobuf field double max_seen = 3; */ private $max_seen = 0.0; /** - * double sum = 4; + * Generated from protobuf field double sum = 4; */ private $sum = 0.0; /** - * double sum_of_squares = 5; + * Generated from protobuf field double sum_of_squares = 5; */ private $sum_of_squares = 0.0; /** - * double count = 6; + * Generated from protobuf field double count = 6; */ private $count = 0.0; @@ -48,7 +46,8 @@ class HistogramData extends \Google\Protobuf\Internal\Message } /** - * repeated uint32 bucket = 1; + * Generated from protobuf field repeated uint32 bucket = 1; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getBucket() { @@ -56,16 +55,21 @@ class HistogramData extends \Google\Protobuf\Internal\Message } /** - * repeated uint32 bucket = 1; + * Generated from protobuf field repeated uint32 bucket = 1; + * @param int[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setBucket(&$var) + public function setBucket($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::UINT32); - $this->bucket = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::UINT32); + $this->bucket = $arr; + + return $this; } /** - * double min_seen = 2; + * Generated from protobuf field double min_seen = 2; + * @return float */ public function getMinSeen() { @@ -73,16 +77,21 @@ class HistogramData extends \Google\Protobuf\Internal\Message } /** - * double min_seen = 2; + * Generated from protobuf field double min_seen = 2; + * @param float $var + * @return $this */ public function setMinSeen($var) { GPBUtil::checkDouble($var); $this->min_seen = $var; + + return $this; } /** - * double max_seen = 3; + * Generated from protobuf field double max_seen = 3; + * @return float */ public function getMaxSeen() { @@ -90,16 +99,21 @@ class HistogramData extends \Google\Protobuf\Internal\Message } /** - * double max_seen = 3; + * Generated from protobuf field double max_seen = 3; + * @param float $var + * @return $this */ public function setMaxSeen($var) { GPBUtil::checkDouble($var); $this->max_seen = $var; + + return $this; } /** - * double sum = 4; + * Generated from protobuf field double sum = 4; + * @return float */ public function getSum() { @@ -107,16 +121,21 @@ class HistogramData extends \Google\Protobuf\Internal\Message } /** - * double sum = 4; + * Generated from protobuf field double sum = 4; + * @param float $var + * @return $this */ public function setSum($var) { GPBUtil::checkDouble($var); $this->sum = $var; + + return $this; } /** - * double sum_of_squares = 5; + * Generated from protobuf field double sum_of_squares = 5; + * @return float */ public function getSumOfSquares() { @@ -124,16 +143,21 @@ class HistogramData extends \Google\Protobuf\Internal\Message } /** - * double sum_of_squares = 5; + * Generated from protobuf field double sum_of_squares = 5; + * @param float $var + * @return $this */ public function setSumOfSquares($var) { GPBUtil::checkDouble($var); $this->sum_of_squares = $var; + + return $this; } /** - * double count = 6; + * Generated from protobuf field double count = 6; + * @return float */ public function getCount() { @@ -141,12 +165,16 @@ class HistogramData extends \Google\Protobuf\Internal\Message } /** - * double count = 6; + * Generated from protobuf field double count = 6; + * @param float $var + * @return $this */ public function setCount($var) { GPBUtil::checkDouble($var); $this->count = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/HistogramParams.php b/src/php/tests/qps/generated_code/Grpc/Testing/HistogramParams.php index 836c94b01d8..1a1b484f144 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/HistogramParams.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/HistogramParams.php @@ -9,28 +9,22 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Histogram params based on grpc/support/histogram.c
- * 
* - * Protobuf type grpc.testing.HistogramParams + * Generated from protobuf message grpc.testing.HistogramParams */ class HistogramParams extends \Google\Protobuf\Internal\Message { /** - *
      * first bucket is [0, 1 + resolution)
-     * 
* - * double resolution = 1; + * Generated from protobuf field double resolution = 1; */ private $resolution = 0.0; /** - *
      * use enough buckets to allow this value
-     * 
* - * double max_possible = 2; + * Generated from protobuf field double max_possible = 2; */ private $max_possible = 0.0; @@ -40,11 +34,10 @@ class HistogramParams extends \Google\Protobuf\Internal\Message } /** - *
      * first bucket is [0, 1 + resolution)
-     * 
* - * double resolution = 1; + * Generated from protobuf field double resolution = 1; + * @return float */ public function getResolution() { @@ -52,24 +45,25 @@ class HistogramParams extends \Google\Protobuf\Internal\Message } /** - *
      * first bucket is [0, 1 + resolution)
-     * 
* - * double resolution = 1; + * Generated from protobuf field double resolution = 1; + * @param float $var + * @return $this */ public function setResolution($var) { GPBUtil::checkDouble($var); $this->resolution = $var; + + return $this; } /** - *
      * use enough buckets to allow this value
-     * 
* - * double max_possible = 2; + * Generated from protobuf field double max_possible = 2; + * @return float */ public function getMaxPossible() { @@ -77,16 +71,18 @@ class HistogramParams extends \Google\Protobuf\Internal\Message } /** - *
      * use enough buckets to allow this value
-     * 
* - * double max_possible = 2; + * Generated from protobuf field double max_possible = 2; + * @param float $var + * @return $this */ public function setMaxPossible($var) { GPBUtil::checkDouble($var); $this->max_possible = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/LoadParams.php b/src/php/tests/qps/generated_code/Grpc/Testing/LoadParams.php index 1f32e49c8aa..04c345f2421 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/LoadParams.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/LoadParams.php @@ -9,7 +9,7 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.LoadParams + * Generated from protobuf message grpc.testing.LoadParams */ class LoadParams extends \Google\Protobuf\Internal\Message { @@ -21,7 +21,8 @@ class LoadParams extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ClosedLoopParams closed_loop = 1; + * Generated from protobuf field .grpc.testing.ClosedLoopParams closed_loop = 1; + * @return \Grpc\Testing\ClosedLoopParams */ public function getClosedLoop() { @@ -29,16 +30,21 @@ class LoadParams extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ClosedLoopParams closed_loop = 1; + * Generated from protobuf field .grpc.testing.ClosedLoopParams closed_loop = 1; + * @param \Grpc\Testing\ClosedLoopParams $var + * @return $this */ - public function setClosedLoop(&$var) + public function setClosedLoop($var) { GPBUtil::checkMessage($var, \Grpc\Testing\ClosedLoopParams::class); $this->writeOneof(1, $var); + + return $this; } /** - * .grpc.testing.PoissonParams poisson = 2; + * Generated from protobuf field .grpc.testing.PoissonParams poisson = 2; + * @return \Grpc\Testing\PoissonParams */ public function getPoisson() { @@ -46,14 +52,21 @@ class LoadParams extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.PoissonParams poisson = 2; + * Generated from protobuf field .grpc.testing.PoissonParams poisson = 2; + * @param \Grpc\Testing\PoissonParams $var + * @return $this */ - public function setPoisson(&$var) + public function setPoisson($var) { GPBUtil::checkMessage($var, \Grpc\Testing\PoissonParams::class); $this->writeOneof(2, $var); + + return $this; } + /** + * @return string + */ public function getLoad() { return $this->whichOneof("load"); diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/Mark.php b/src/php/tests/qps/generated_code/Grpc/Testing/Mark.php index ce006efacd8..be058d51be8 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/Mark.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/Mark.php @@ -9,20 +9,16 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Request current stats
- * 
* - * Protobuf type grpc.testing.Mark + * Generated from protobuf message grpc.testing.Mark */ class Mark extends \Google\Protobuf\Internal\Message { /** - *
      * if true, the stats will be reset after taking their snapshot.
-     * 
* - * bool reset = 1; + * Generated from protobuf field bool reset = 1; */ private $reset = false; @@ -32,11 +28,10 @@ class Mark extends \Google\Protobuf\Internal\Message } /** - *
      * if true, the stats will be reset after taking their snapshot.
-     * 
* - * bool reset = 1; + * Generated from protobuf field bool reset = 1; + * @return bool */ public function getReset() { @@ -44,16 +39,18 @@ class Mark extends \Google\Protobuf\Internal\Message } /** - *
      * if true, the stats will be reset after taking their snapshot.
-     * 
* - * bool reset = 1; + * Generated from protobuf field bool reset = 1; + * @param bool $var + * @return $this */ public function setReset($var) { GPBUtil::checkBool($var); $this->reset = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/Payload.php b/src/php/tests/qps/generated_code/Grpc/Testing/Payload.php index d17c271af74..ad97890c93f 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/Payload.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/Payload.php @@ -9,29 +9,23 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * A block of data, to simply increase gRPC message size.
- * 
* - * Protobuf type grpc.testing.Payload + * Generated from protobuf message grpc.testing.Payload */ class Payload extends \Google\Protobuf\Internal\Message { /** - *
      * DEPRECATED, don't use. To be removed shortly.
      * The type of data in body.
-     * 
* - * .grpc.testing.PayloadType type = 1; + * Generated from protobuf field .grpc.testing.PayloadType type = 1; */ private $type = 0; /** - *
      * Primary contents of payload.
-     * 
* - * bytes body = 2; + * Generated from protobuf field bytes body = 2; */ private $body = ''; @@ -41,12 +35,11 @@ class Payload extends \Google\Protobuf\Internal\Message } /** - *
      * DEPRECATED, don't use. To be removed shortly.
      * The type of data in body.
-     * 
* - * .grpc.testing.PayloadType type = 1; + * Generated from protobuf field .grpc.testing.PayloadType type = 1; + * @return int */ public function getType() { @@ -54,25 +47,26 @@ class Payload extends \Google\Protobuf\Internal\Message } /** - *
      * DEPRECATED, don't use. To be removed shortly.
      * The type of data in body.
-     * 
* - * .grpc.testing.PayloadType type = 1; + * Generated from protobuf field .grpc.testing.PayloadType type = 1; + * @param int $var + * @return $this */ public function setType($var) { GPBUtil::checkEnum($var, \Grpc\Testing\PayloadType::class); $this->type = $var; + + return $this; } /** - *
      * Primary contents of payload.
-     * 
* - * bytes body = 2; + * Generated from protobuf field bytes body = 2; + * @return string */ public function getBody() { @@ -80,16 +74,18 @@ class Payload extends \Google\Protobuf\Internal\Message } /** - *
      * Primary contents of payload.
-     * 
* - * bytes body = 2; + * Generated from protobuf field bytes body = 2; + * @param string $var + * @return $this */ public function setBody($var) { GPBUtil::checkString($var, False); $this->body = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/PayloadConfig.php b/src/php/tests/qps/generated_code/Grpc/Testing/PayloadConfig.php index a2fe7109ba7..748f52da82d 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/PayloadConfig.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/PayloadConfig.php @@ -9,7 +9,7 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.PayloadConfig + * Generated from protobuf message grpc.testing.PayloadConfig */ class PayloadConfig extends \Google\Protobuf\Internal\Message { @@ -21,7 +21,8 @@ class PayloadConfig extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ByteBufferParams bytebuf_params = 1; + * Generated from protobuf field .grpc.testing.ByteBufferParams bytebuf_params = 1; + * @return \Grpc\Testing\ByteBufferParams */ public function getBytebufParams() { @@ -29,16 +30,21 @@ class PayloadConfig extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ByteBufferParams bytebuf_params = 1; + * Generated from protobuf field .grpc.testing.ByteBufferParams bytebuf_params = 1; + * @param \Grpc\Testing\ByteBufferParams $var + * @return $this */ - public function setBytebufParams(&$var) + public function setBytebufParams($var) { GPBUtil::checkMessage($var, \Grpc\Testing\ByteBufferParams::class); $this->writeOneof(1, $var); + + return $this; } /** - * .grpc.testing.SimpleProtoParams simple_params = 2; + * Generated from protobuf field .grpc.testing.SimpleProtoParams simple_params = 2; + * @return \Grpc\Testing\SimpleProtoParams */ public function getSimpleParams() { @@ -46,16 +52,21 @@ class PayloadConfig extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.SimpleProtoParams simple_params = 2; + * Generated from protobuf field .grpc.testing.SimpleProtoParams simple_params = 2; + * @param \Grpc\Testing\SimpleProtoParams $var + * @return $this */ - public function setSimpleParams(&$var) + public function setSimpleParams($var) { GPBUtil::checkMessage($var, \Grpc\Testing\SimpleProtoParams::class); $this->writeOneof(2, $var); + + return $this; } /** - * .grpc.testing.ComplexProtoParams complex_params = 3; + * Generated from protobuf field .grpc.testing.ComplexProtoParams complex_params = 3; + * @return \Grpc\Testing\ComplexProtoParams */ public function getComplexParams() { @@ -63,14 +74,21 @@ class PayloadConfig extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ComplexProtoParams complex_params = 3; + * Generated from protobuf field .grpc.testing.ComplexProtoParams complex_params = 3; + * @param \Grpc\Testing\ComplexProtoParams $var + * @return $this */ - public function setComplexParams(&$var) + public function setComplexParams($var) { GPBUtil::checkMessage($var, \Grpc\Testing\ComplexProtoParams::class); $this->writeOneof(3, $var); + + return $this; } + /** + * @return string + */ public function getPayload() { return $this->whichOneof("payload"); diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/PayloadType.php b/src/php/tests/qps/generated_code/Grpc/Testing/PayloadType.php index 189ef034b47..d8df1af7982 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/PayloadType.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/PayloadType.php @@ -5,21 +5,17 @@ namespace Grpc\Testing; /** - *
  * DEPRECATED, don't use. To be removed shortly.
  * The type of payload that should be returned.
- * 
* - * Protobuf enum grpc.testing.PayloadType + * Protobuf enum Grpc\Testing\PayloadType */ class PayloadType { /** - *
      * Compressable text format.
-     * 
* - * COMPRESSABLE = 0; + * Generated from protobuf enum COMPRESSABLE = 0; */ const COMPRESSABLE = 0; } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/PoissonParams.php b/src/php/tests/qps/generated_code/Grpc/Testing/PoissonParams.php index d64edd45f03..6a4047f2ece 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/PoissonParams.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/PoissonParams.php @@ -9,21 +9,17 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Parameters of poisson process distribution, which is a good representation
  * of activity coming in from independent identical stationary sources.
- * 
* - * Protobuf type grpc.testing.PoissonParams + * Generated from protobuf message grpc.testing.PoissonParams */ class PoissonParams extends \Google\Protobuf\Internal\Message { /** - *
      * The rate of arrivals (a.k.a. lambda parameter of the exp distribution).
-     * 
* - * double offered_load = 1; + * Generated from protobuf field double offered_load = 1; */ private $offered_load = 0.0; @@ -33,11 +29,10 @@ class PoissonParams extends \Google\Protobuf\Internal\Message } /** - *
      * The rate of arrivals (a.k.a. lambda parameter of the exp distribution).
-     * 
* - * double offered_load = 1; + * Generated from protobuf field double offered_load = 1; + * @return float */ public function getOfferedLoad() { @@ -45,16 +40,18 @@ class PoissonParams extends \Google\Protobuf\Internal\Message } /** - *
      * The rate of arrivals (a.k.a. lambda parameter of the exp distribution).
-     * 
* - * double offered_load = 1; + * Generated from protobuf field double offered_load = 1; + * @param float $var + * @return $this */ public function setOfferedLoad($var) { GPBUtil::checkDouble($var); $this->offered_load = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ProxyClientServiceClient.php b/src/php/tests/qps/generated_code/Grpc/Testing/ProxyClientServiceClient.php index a6da2e7aefe..5510b57064f 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ProxyClientServiceClient.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ProxyClientServiceClient.php @@ -16,17 +16,19 @@ // See the License for the specific language governing permissions and // limitations under the License. // -namespace Grpc\Testing { +namespace Grpc\Testing; - class ProxyClientServiceClient extends \Grpc\BaseStub { +/** + */ +class ProxyClientServiceClient extends \Grpc\BaseStub { /** * @param string $hostname hostname * @param array $opts channel options - * @param Grpc\Channel $channel (optional) re-use channel object + * @param \Grpc\Channel $channel (optional) re-use channel object */ public function __construct($hostname, $opts, $channel = null) { - parent::__construct($hostname, $opts, $channel); + parent::__construct($hostname, $opts, $channel); } /** @@ -36,10 +38,10 @@ namespace Grpc\Testing { */ public function GetConfig(\Grpc\Testing\Void $argument, $metadata = [], $options = []) { - return $this->_simpleRequest('/grpc.testing.ProxyClientService/GetConfig', - $argument, - ['\Grpc\Testing\ClientConfig', 'decode'], - $metadata, $options); + return $this->_simpleRequest('/grpc.testing.ProxyClientService/GetConfig', + $argument, + ['\Grpc\Testing\ClientConfig', 'decode'], + $metadata, $options); } /** @@ -47,11 +49,19 @@ namespace Grpc\Testing { * @param array $options call options */ public function ReportTime($metadata = [], $options = []) { - return $this->_clientStreamRequest('/grpc.testing.ProxyClientService/ReportTime', - ['\Grpc\Testing\Void','decode'], - $metadata, $options); + return $this->_clientStreamRequest('/grpc.testing.ProxyClientService/ReportTime', + ['\Grpc\Testing\Void','decode'], + $metadata, $options); } - } + /** + * @param array $metadata metadata + * @param array $options call options + */ + public function ReportHist($metadata = [], $options = []) { + return $this->_clientStreamRequest('/grpc.testing.ProxyClientService/ReportHist', + ['\Grpc\Testing\Void','decode'], + $metadata, $options); + } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ProxyStat.php b/src/php/tests/qps/generated_code/Grpc/Testing/ProxyStat.php index ed43be99cef..6fab6115342 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ProxyStat.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ProxyStat.php @@ -9,12 +9,12 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.ProxyStat + * Generated from protobuf message grpc.testing.ProxyStat */ class ProxyStat extends \Google\Protobuf\Internal\Message { /** - * double latency = 1; + * Generated from protobuf field double latency = 1; */ private $latency = 0.0; @@ -24,7 +24,8 @@ class ProxyStat extends \Google\Protobuf\Internal\Message } /** - * double latency = 1; + * Generated from protobuf field double latency = 1; + * @return float */ public function getLatency() { @@ -32,12 +33,16 @@ class ProxyStat extends \Google\Protobuf\Internal\Message } /** - * double latency = 1; + * Generated from protobuf field double latency = 1; + * @param float $var + * @return $this */ public function setLatency($var) { GPBUtil::checkDouble($var); $this->latency = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ReconnectInfo.php b/src/php/tests/qps/generated_code/Grpc/Testing/ReconnectInfo.php index dfaaa606c3b..cd728705fa4 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ReconnectInfo.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ReconnectInfo.php @@ -9,22 +9,20 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * For reconnect interop test only.
  * Server tells client whether its reconnects are following the spec and the
  * reconnect backoffs it saw.
- * 
* - * Protobuf type grpc.testing.ReconnectInfo + * Generated from protobuf message grpc.testing.ReconnectInfo */ class ReconnectInfo extends \Google\Protobuf\Internal\Message { /** - * bool passed = 1; + * Generated from protobuf field bool passed = 1; */ private $passed = false; /** - * repeated int32 backoff_ms = 2; + * Generated from protobuf field repeated int32 backoff_ms = 2; */ private $backoff_ms; @@ -34,7 +32,8 @@ class ReconnectInfo extends \Google\Protobuf\Internal\Message } /** - * bool passed = 1; + * Generated from protobuf field bool passed = 1; + * @return bool */ public function getPassed() { @@ -42,16 +41,21 @@ class ReconnectInfo extends \Google\Protobuf\Internal\Message } /** - * bool passed = 1; + * Generated from protobuf field bool passed = 1; + * @param bool $var + * @return $this */ public function setPassed($var) { GPBUtil::checkBool($var); $this->passed = $var; + + return $this; } /** - * repeated int32 backoff_ms = 2; + * Generated from protobuf field repeated int32 backoff_ms = 2; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getBackoffMs() { @@ -59,12 +63,16 @@ class ReconnectInfo extends \Google\Protobuf\Internal\Message } /** - * repeated int32 backoff_ms = 2; + * Generated from protobuf field repeated int32 backoff_ms = 2; + * @param int[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setBackoffMs(&$var) + public function setBackoffMs($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32); - $this->backoff_ms = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32); + $this->backoff_ms = $arr; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ReconnectParams.php b/src/php/tests/qps/generated_code/Grpc/Testing/ReconnectParams.php index 97158557836..f91dc410cb5 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ReconnectParams.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ReconnectParams.php @@ -9,17 +9,15 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * For reconnect interop test only.
  * Client tells server what reconnection parameters it used.
- * 
* - * Protobuf type grpc.testing.ReconnectParams + * Generated from protobuf message grpc.testing.ReconnectParams */ class ReconnectParams extends \Google\Protobuf\Internal\Message { /** - * int32 max_reconnect_backoff_ms = 1; + * Generated from protobuf field int32 max_reconnect_backoff_ms = 1; */ private $max_reconnect_backoff_ms = 0; @@ -29,7 +27,8 @@ class ReconnectParams extends \Google\Protobuf\Internal\Message } /** - * int32 max_reconnect_backoff_ms = 1; + * Generated from protobuf field int32 max_reconnect_backoff_ms = 1; + * @return int */ public function getMaxReconnectBackoffMs() { @@ -37,12 +36,16 @@ class ReconnectParams extends \Google\Protobuf\Internal\Message } /** - * int32 max_reconnect_backoff_ms = 1; + * Generated from protobuf field int32 max_reconnect_backoff_ms = 1; + * @param int $var + * @return $this */ public function setMaxReconnectBackoffMs($var) { GPBUtil::checkInt32($var); $this->max_reconnect_backoff_ms = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ReportQpsScenarioServiceClient.php b/src/php/tests/qps/generated_code/Grpc/Testing/ReportQpsScenarioServiceClient.php new file mode 100644 index 00000000000..72d44ffc667 --- /dev/null +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ReportQpsScenarioServiceClient.php @@ -0,0 +1,50 @@ +_simpleRequest('/grpc.testing.ReportQpsScenarioService/ReportScenario', + $argument, + ['\Grpc\Testing\Void', 'decode'], + $metadata, $options); + } + +} diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/RequestResultCount.php b/src/php/tests/qps/generated_code/Grpc/Testing/RequestResultCount.php index 1be42b2ac91..75fa6cafe28 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/RequestResultCount.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/RequestResultCount.php @@ -9,16 +9,16 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.RequestResultCount + * Generated from protobuf message grpc.testing.RequestResultCount */ class RequestResultCount extends \Google\Protobuf\Internal\Message { /** - * int32 status_code = 1; + * Generated from protobuf field int32 status_code = 1; */ private $status_code = 0; /** - * int64 count = 2; + * Generated from protobuf field int64 count = 2; */ private $count = 0; @@ -28,7 +28,8 @@ class RequestResultCount extends \Google\Protobuf\Internal\Message } /** - * int32 status_code = 1; + * Generated from protobuf field int32 status_code = 1; + * @return int */ public function getStatusCode() { @@ -36,16 +37,21 @@ class RequestResultCount extends \Google\Protobuf\Internal\Message } /** - * int32 status_code = 1; + * Generated from protobuf field int32 status_code = 1; + * @param int $var + * @return $this */ public function setStatusCode($var) { GPBUtil::checkInt32($var); $this->status_code = $var; + + return $this; } /** - * int64 count = 2; + * Generated from protobuf field int64 count = 2; + * @return int|string */ public function getCount() { @@ -53,12 +59,16 @@ class RequestResultCount extends \Google\Protobuf\Internal\Message } /** - * int64 count = 2; + * Generated from protobuf field int64 count = 2; + * @param int|string $var + * @return $this */ public function setCount($var) { GPBUtil::checkInt64($var); $this->count = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ResponseParameters.php b/src/php/tests/qps/generated_code/Grpc/Testing/ResponseParameters.php index b7a8e5ece71..b2f0a827fe0 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ResponseParameters.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ResponseParameters.php @@ -9,40 +9,32 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Configuration for a particular response.
- * 
* - * Protobuf type grpc.testing.ResponseParameters + * Generated from protobuf message grpc.testing.ResponseParameters */ class ResponseParameters extends \Google\Protobuf\Internal\Message { /** - *
      * Desired payload sizes in responses from the server.
-     * 
* - * int32 size = 1; + * Generated from protobuf field int32 size = 1; */ private $size = 0; /** - *
      * Desired interval between consecutive responses in the response stream in
      * microseconds.
-     * 
* - * int32 interval_us = 2; + * Generated from protobuf field int32 interval_us = 2; */ private $interval_us = 0; /** - *
      * Whether to request the server to compress the response. This field is
      * "nullable" in order to interoperate seamlessly with clients not able to
      * implement the full compression tests by introspecting the call to verify
      * the response's compression status.
-     * 
* - * .grpc.testing.BoolValue compressed = 3; + * Generated from protobuf field .grpc.testing.BoolValue compressed = 3; */ private $compressed = null; @@ -52,11 +44,10 @@ class ResponseParameters extends \Google\Protobuf\Internal\Message } /** - *
      * Desired payload sizes in responses from the server.
-     * 
* - * int32 size = 1; + * Generated from protobuf field int32 size = 1; + * @return int */ public function getSize() { @@ -64,25 +55,26 @@ class ResponseParameters extends \Google\Protobuf\Internal\Message } /** - *
      * Desired payload sizes in responses from the server.
-     * 
* - * int32 size = 1; + * Generated from protobuf field int32 size = 1; + * @param int $var + * @return $this */ public function setSize($var) { GPBUtil::checkInt32($var); $this->size = $var; + + return $this; } /** - *
      * Desired interval between consecutive responses in the response stream in
      * microseconds.
-     * 
* - * int32 interval_us = 2; + * Generated from protobuf field int32 interval_us = 2; + * @return int */ public function getIntervalUs() { @@ -90,28 +82,29 @@ class ResponseParameters extends \Google\Protobuf\Internal\Message } /** - *
      * Desired interval between consecutive responses in the response stream in
      * microseconds.
-     * 
* - * int32 interval_us = 2; + * Generated from protobuf field int32 interval_us = 2; + * @param int $var + * @return $this */ public function setIntervalUs($var) { GPBUtil::checkInt32($var); $this->interval_us = $var; + + return $this; } /** - *
      * Whether to request the server to compress the response. This field is
      * "nullable" in order to interoperate seamlessly with clients not able to
      * implement the full compression tests by introspecting the call to verify
      * the response's compression status.
-     * 
* - * .grpc.testing.BoolValue compressed = 3; + * Generated from protobuf field .grpc.testing.BoolValue compressed = 3; + * @return \Grpc\Testing\BoolValue */ public function getCompressed() { @@ -119,19 +112,21 @@ class ResponseParameters extends \Google\Protobuf\Internal\Message } /** - *
      * Whether to request the server to compress the response. This field is
      * "nullable" in order to interoperate seamlessly with clients not able to
      * implement the full compression tests by introspecting the call to verify
      * the response's compression status.
-     * 
* - * .grpc.testing.BoolValue compressed = 3; + * Generated from protobuf field .grpc.testing.BoolValue compressed = 3; + * @param \Grpc\Testing\BoolValue $var + * @return $this */ - public function setCompressed(&$var) + public function setCompressed($var) { GPBUtil::checkMessage($var, \Grpc\Testing\BoolValue::class); $this->compressed = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/RpcType.php b/src/php/tests/qps/generated_code/Grpc/Testing/RpcType.php index 2e664fff477..73a66490ea9 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/RpcType.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/RpcType.php @@ -5,17 +5,29 @@ namespace Grpc\Testing; /** - * Protobuf enum grpc.testing.RpcType + * Protobuf enum Grpc\Testing\RpcType */ class RpcType { /** - * UNARY = 0; + * Generated from protobuf enum UNARY = 0; */ const UNARY = 0; /** - * STREAMING = 1; + * Generated from protobuf enum STREAMING = 1; */ const STREAMING = 1; + /** + * Generated from protobuf enum STREAMING_FROM_CLIENT = 2; + */ + const STREAMING_FROM_CLIENT = 2; + /** + * Generated from protobuf enum STREAMING_FROM_SERVER = 3; + */ + const STREAMING_FROM_SERVER = 3; + /** + * Generated from protobuf enum STREAMING_BOTH_WAYS = 4; + */ + const STREAMING_BOTH_WAYS = 4; } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/Scenario.php b/src/php/tests/qps/generated_code/Grpc/Testing/Scenario.php index 136ed299ea8..9ec284b71f2 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/Scenario.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/Scenario.php @@ -9,76 +9,58 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * A single performance scenario: input to qps_json_driver
- * 
* - * Protobuf type grpc.testing.Scenario + * Generated from protobuf message grpc.testing.Scenario */ class Scenario extends \Google\Protobuf\Internal\Message { /** - *
      * Human readable name for this scenario
-     * 
* - * string name = 1; + * Generated from protobuf field string name = 1; */ private $name = ''; /** - *
      * Client configuration
-     * 
* - * .grpc.testing.ClientConfig client_config = 2; + * Generated from protobuf field .grpc.testing.ClientConfig client_config = 2; */ private $client_config = null; /** - *
      * Number of clients to start for the test
-     * 
* - * int32 num_clients = 3; + * Generated from protobuf field int32 num_clients = 3; */ private $num_clients = 0; /** - *
      * Server configuration
-     * 
* - * .grpc.testing.ServerConfig server_config = 4; + * Generated from protobuf field .grpc.testing.ServerConfig server_config = 4; */ private $server_config = null; /** - *
      * Number of servers to start for the test
-     * 
* - * int32 num_servers = 5; + * Generated from protobuf field int32 num_servers = 5; */ private $num_servers = 0; /** - *
      * Warmup period, in seconds
-     * 
* - * int32 warmup_seconds = 6; + * Generated from protobuf field int32 warmup_seconds = 6; */ private $warmup_seconds = 0; /** - *
      * Benchmark time, in seconds
-     * 
* - * int32 benchmark_seconds = 7; + * Generated from protobuf field int32 benchmark_seconds = 7; */ private $benchmark_seconds = 0; /** - *
      * Number of workers to spawn locally (usually zero)
-     * 
* - * int32 spawn_local_worker_count = 8; + * Generated from protobuf field int32 spawn_local_worker_count = 8; */ private $spawn_local_worker_count = 0; @@ -88,11 +70,10 @@ class Scenario extends \Google\Protobuf\Internal\Message } /** - *
      * Human readable name for this scenario
-     * 
* - * string name = 1; + * Generated from protobuf field string name = 1; + * @return string */ public function getName() { @@ -100,24 +81,25 @@ class Scenario extends \Google\Protobuf\Internal\Message } /** - *
      * Human readable name for this scenario
-     * 
* - * string name = 1; + * Generated from protobuf field string name = 1; + * @param string $var + * @return $this */ public function setName($var) { GPBUtil::checkString($var, True); $this->name = $var; + + return $this; } /** - *
      * Client configuration
-     * 
* - * .grpc.testing.ClientConfig client_config = 2; + * Generated from protobuf field .grpc.testing.ClientConfig client_config = 2; + * @return \Grpc\Testing\ClientConfig */ public function getClientConfig() { @@ -125,24 +107,25 @@ class Scenario extends \Google\Protobuf\Internal\Message } /** - *
      * Client configuration
-     * 
* - * .grpc.testing.ClientConfig client_config = 2; + * Generated from protobuf field .grpc.testing.ClientConfig client_config = 2; + * @param \Grpc\Testing\ClientConfig $var + * @return $this */ - public function setClientConfig(&$var) + public function setClientConfig($var) { GPBUtil::checkMessage($var, \Grpc\Testing\ClientConfig::class); $this->client_config = $var; + + return $this; } /** - *
      * Number of clients to start for the test
-     * 
* - * int32 num_clients = 3; + * Generated from protobuf field int32 num_clients = 3; + * @return int */ public function getNumClients() { @@ -150,24 +133,25 @@ class Scenario extends \Google\Protobuf\Internal\Message } /** - *
      * Number of clients to start for the test
-     * 
* - * int32 num_clients = 3; + * Generated from protobuf field int32 num_clients = 3; + * @param int $var + * @return $this */ public function setNumClients($var) { GPBUtil::checkInt32($var); $this->num_clients = $var; + + return $this; } /** - *
      * Server configuration
-     * 
* - * .grpc.testing.ServerConfig server_config = 4; + * Generated from protobuf field .grpc.testing.ServerConfig server_config = 4; + * @return \Grpc\Testing\ServerConfig */ public function getServerConfig() { @@ -175,24 +159,25 @@ class Scenario extends \Google\Protobuf\Internal\Message } /** - *
      * Server configuration
-     * 
* - * .grpc.testing.ServerConfig server_config = 4; + * Generated from protobuf field .grpc.testing.ServerConfig server_config = 4; + * @param \Grpc\Testing\ServerConfig $var + * @return $this */ - public function setServerConfig(&$var) + public function setServerConfig($var) { GPBUtil::checkMessage($var, \Grpc\Testing\ServerConfig::class); $this->server_config = $var; + + return $this; } /** - *
      * Number of servers to start for the test
-     * 
* - * int32 num_servers = 5; + * Generated from protobuf field int32 num_servers = 5; + * @return int */ public function getNumServers() { @@ -200,24 +185,25 @@ class Scenario extends \Google\Protobuf\Internal\Message } /** - *
      * Number of servers to start for the test
-     * 
* - * int32 num_servers = 5; + * Generated from protobuf field int32 num_servers = 5; + * @param int $var + * @return $this */ public function setNumServers($var) { GPBUtil::checkInt32($var); $this->num_servers = $var; + + return $this; } /** - *
      * Warmup period, in seconds
-     * 
* - * int32 warmup_seconds = 6; + * Generated from protobuf field int32 warmup_seconds = 6; + * @return int */ public function getWarmupSeconds() { @@ -225,24 +211,25 @@ class Scenario extends \Google\Protobuf\Internal\Message } /** - *
      * Warmup period, in seconds
-     * 
* - * int32 warmup_seconds = 6; + * Generated from protobuf field int32 warmup_seconds = 6; + * @param int $var + * @return $this */ public function setWarmupSeconds($var) { GPBUtil::checkInt32($var); $this->warmup_seconds = $var; + + return $this; } /** - *
      * Benchmark time, in seconds
-     * 
* - * int32 benchmark_seconds = 7; + * Generated from protobuf field int32 benchmark_seconds = 7; + * @return int */ public function getBenchmarkSeconds() { @@ -250,24 +237,25 @@ class Scenario extends \Google\Protobuf\Internal\Message } /** - *
      * Benchmark time, in seconds
-     * 
* - * int32 benchmark_seconds = 7; + * Generated from protobuf field int32 benchmark_seconds = 7; + * @param int $var + * @return $this */ public function setBenchmarkSeconds($var) { GPBUtil::checkInt32($var); $this->benchmark_seconds = $var; + + return $this; } /** - *
      * Number of workers to spawn locally (usually zero)
-     * 
* - * int32 spawn_local_worker_count = 8; + * Generated from protobuf field int32 spawn_local_worker_count = 8; + * @return int */ public function getSpawnLocalWorkerCount() { @@ -275,16 +263,18 @@ class Scenario extends \Google\Protobuf\Internal\Message } /** - *
      * Number of workers to spawn locally (usually zero)
-     * 
* - * int32 spawn_local_worker_count = 8; + * Generated from protobuf field int32 spawn_local_worker_count = 8; + * @param int $var + * @return $this */ public function setSpawnLocalWorkerCount($var) { GPBUtil::checkInt32($var); $this->spawn_local_worker_count = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ScenarioResult.php b/src/php/tests/qps/generated_code/Grpc/Testing/ScenarioResult.php index 809cd96244d..31d9a39a1fc 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ScenarioResult.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ScenarioResult.php @@ -9,80 +9,62 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Results of a single benchmark scenario.
- * 
* - * Protobuf type grpc.testing.ScenarioResult + * Generated from protobuf message grpc.testing.ScenarioResult */ class ScenarioResult extends \Google\Protobuf\Internal\Message { /** - *
      * Inputs used to run the scenario.
-     * 
* - * .grpc.testing.Scenario scenario = 1; + * Generated from protobuf field .grpc.testing.Scenario scenario = 1; */ private $scenario = null; /** - *
      * Histograms from all clients merged into one histogram.
-     * 
* - * .grpc.testing.HistogramData latencies = 2; + * Generated from protobuf field .grpc.testing.HistogramData latencies = 2; */ private $latencies = null; /** - *
      * Client stats for each client
-     * 
* - * repeated .grpc.testing.ClientStats client_stats = 3; + * Generated from protobuf field repeated .grpc.testing.ClientStats client_stats = 3; */ private $client_stats; /** - *
      * Server stats for each server
-     * 
* - * repeated .grpc.testing.ServerStats server_stats = 4; + * Generated from protobuf field repeated .grpc.testing.ServerStats server_stats = 4; */ private $server_stats; /** - *
      * Number of cores available to each server
-     * 
* - * repeated int32 server_cores = 5; + * Generated from protobuf field repeated int32 server_cores = 5; */ private $server_cores; /** - *
      * An after-the-fact computed summary
-     * 
* - * .grpc.testing.ScenarioResultSummary summary = 6; + * Generated from protobuf field .grpc.testing.ScenarioResultSummary summary = 6; */ private $summary = null; /** - *
      * Information on success or failure of each worker
-     * 
* - * repeated bool client_success = 7; + * Generated from protobuf field repeated bool client_success = 7; */ private $client_success; /** - * repeated bool server_success = 8; + * Generated from protobuf field repeated bool server_success = 8; */ private $server_success; /** - *
      * Number of failed requests (one row per status code seen)
-     * 
* - * repeated .grpc.testing.RequestResultCount request_results = 9; + * Generated from protobuf field repeated .grpc.testing.RequestResultCount request_results = 9; */ private $request_results; @@ -92,11 +74,10 @@ class ScenarioResult extends \Google\Protobuf\Internal\Message } /** - *
      * Inputs used to run the scenario.
-     * 
* - * .grpc.testing.Scenario scenario = 1; + * Generated from protobuf field .grpc.testing.Scenario scenario = 1; + * @return \Grpc\Testing\Scenario */ public function getScenario() { @@ -104,24 +85,25 @@ class ScenarioResult extends \Google\Protobuf\Internal\Message } /** - *
      * Inputs used to run the scenario.
-     * 
* - * .grpc.testing.Scenario scenario = 1; + * Generated from protobuf field .grpc.testing.Scenario scenario = 1; + * @param \Grpc\Testing\Scenario $var + * @return $this */ - public function setScenario(&$var) + public function setScenario($var) { GPBUtil::checkMessage($var, \Grpc\Testing\Scenario::class); $this->scenario = $var; + + return $this; } /** - *
      * Histograms from all clients merged into one histogram.
-     * 
* - * .grpc.testing.HistogramData latencies = 2; + * Generated from protobuf field .grpc.testing.HistogramData latencies = 2; + * @return \Grpc\Testing\HistogramData */ public function getLatencies() { @@ -129,24 +111,25 @@ class ScenarioResult extends \Google\Protobuf\Internal\Message } /** - *
      * Histograms from all clients merged into one histogram.
-     * 
* - * .grpc.testing.HistogramData latencies = 2; + * Generated from protobuf field .grpc.testing.HistogramData latencies = 2; + * @param \Grpc\Testing\HistogramData $var + * @return $this */ - public function setLatencies(&$var) + public function setLatencies($var) { GPBUtil::checkMessage($var, \Grpc\Testing\HistogramData::class); $this->latencies = $var; + + return $this; } /** - *
      * Client stats for each client
-     * 
* - * repeated .grpc.testing.ClientStats client_stats = 3; + * Generated from protobuf field repeated .grpc.testing.ClientStats client_stats = 3; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getClientStats() { @@ -154,24 +137,25 @@ class ScenarioResult extends \Google\Protobuf\Internal\Message } /** - *
      * Client stats for each client
-     * 
* - * repeated .grpc.testing.ClientStats client_stats = 3; + * Generated from protobuf field repeated .grpc.testing.ClientStats client_stats = 3; + * @param \Grpc\Testing\ClientStats[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setClientStats(&$var) + public function setClientStats($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\ClientStats::class); - $this->client_stats = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\ClientStats::class); + $this->client_stats = $arr; + + return $this; } /** - *
      * Server stats for each server
-     * 
* - * repeated .grpc.testing.ServerStats server_stats = 4; + * Generated from protobuf field repeated .grpc.testing.ServerStats server_stats = 4; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getServerStats() { @@ -179,24 +163,25 @@ class ScenarioResult extends \Google\Protobuf\Internal\Message } /** - *
      * Server stats for each server
-     * 
* - * repeated .grpc.testing.ServerStats server_stats = 4; + * Generated from protobuf field repeated .grpc.testing.ServerStats server_stats = 4; + * @param \Grpc\Testing\ServerStats[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setServerStats(&$var) + public function setServerStats($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\ServerStats::class); - $this->server_stats = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\ServerStats::class); + $this->server_stats = $arr; + + return $this; } /** - *
      * Number of cores available to each server
-     * 
* - * repeated int32 server_cores = 5; + * Generated from protobuf field repeated int32 server_cores = 5; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getServerCores() { @@ -204,24 +189,25 @@ class ScenarioResult extends \Google\Protobuf\Internal\Message } /** - *
      * Number of cores available to each server
-     * 
* - * repeated int32 server_cores = 5; + * Generated from protobuf field repeated int32 server_cores = 5; + * @param int[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setServerCores(&$var) + public function setServerCores($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32); - $this->server_cores = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32); + $this->server_cores = $arr; + + return $this; } /** - *
      * An after-the-fact computed summary
-     * 
* - * .grpc.testing.ScenarioResultSummary summary = 6; + * Generated from protobuf field .grpc.testing.ScenarioResultSummary summary = 6; + * @return \Grpc\Testing\ScenarioResultSummary */ public function getSummary() { @@ -229,24 +215,25 @@ class ScenarioResult extends \Google\Protobuf\Internal\Message } /** - *
      * An after-the-fact computed summary
-     * 
* - * .grpc.testing.ScenarioResultSummary summary = 6; + * Generated from protobuf field .grpc.testing.ScenarioResultSummary summary = 6; + * @param \Grpc\Testing\ScenarioResultSummary $var + * @return $this */ - public function setSummary(&$var) + public function setSummary($var) { GPBUtil::checkMessage($var, \Grpc\Testing\ScenarioResultSummary::class); $this->summary = $var; + + return $this; } /** - *
      * Information on success or failure of each worker
-     * 
* - * repeated bool client_success = 7; + * Generated from protobuf field repeated bool client_success = 7; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getClientSuccess() { @@ -254,20 +241,23 @@ class ScenarioResult extends \Google\Protobuf\Internal\Message } /** - *
      * Information on success or failure of each worker
-     * 
* - * repeated bool client_success = 7; + * Generated from protobuf field repeated bool client_success = 7; + * @param bool[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setClientSuccess(&$var) + public function setClientSuccess($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::BOOL); - $this->client_success = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::BOOL); + $this->client_success = $arr; + + return $this; } /** - * repeated bool server_success = 8; + * Generated from protobuf field repeated bool server_success = 8; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getServerSuccess() { @@ -275,20 +265,23 @@ class ScenarioResult extends \Google\Protobuf\Internal\Message } /** - * repeated bool server_success = 8; + * Generated from protobuf field repeated bool server_success = 8; + * @param bool[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setServerSuccess(&$var) + public function setServerSuccess($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::BOOL); - $this->server_success = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::BOOL); + $this->server_success = $arr; + + return $this; } /** - *
      * Number of failed requests (one row per status code seen)
-     * 
* - * repeated .grpc.testing.RequestResultCount request_results = 9; + * Generated from protobuf field repeated .grpc.testing.RequestResultCount request_results = 9; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getRequestResults() { @@ -296,16 +289,18 @@ class ScenarioResult extends \Google\Protobuf\Internal\Message } /** - *
      * Number of failed requests (one row per status code seen)
-     * 
* - * repeated .grpc.testing.RequestResultCount request_results = 9; + * Generated from protobuf field repeated .grpc.testing.RequestResultCount request_results = 9; + * @param \Grpc\Testing\RequestResultCount[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setRequestResults(&$var) + public function setRequestResults($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\RequestResultCount::class); - $this->request_results = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\RequestResultCount::class); + $this->request_results = $arr; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ScenarioResultSummary.php b/src/php/tests/qps/generated_code/Grpc/Testing/ScenarioResultSummary.php index 7520cff78e8..f7f1c987b53 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ScenarioResultSummary.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ScenarioResultSummary.php @@ -9,107 +9,107 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Basic summary that can be computed from ClientStats and ServerStats
  * once the scenario has finished.
- * 
* - * Protobuf type grpc.testing.ScenarioResultSummary + * Generated from protobuf message grpc.testing.ScenarioResultSummary */ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message { /** - *
      * Total number of operations per second over all clients.
-     * 
* - * double qps = 1; + * Generated from protobuf field double qps = 1; */ private $qps = 0.0; /** - *
      * QPS per one server core.
-     * 
* - * double qps_per_server_core = 2; + * Generated from protobuf field double qps_per_server_core = 2; */ private $qps_per_server_core = 0.0; /** - *
-     * server load based on system_time (0.85 => 85%)
-     * 
+ * server load based on system_time (0.85 => 85%) * - * double server_system_time = 3; + * Generated from protobuf field double server_system_time = 3; */ private $server_system_time = 0.0; /** - *
-     * server load based on user_time (0.85 => 85%)
-     * 
+ * server load based on user_time (0.85 => 85%) * - * double server_user_time = 4; + * Generated from protobuf field double server_user_time = 4; */ private $server_user_time = 0.0; /** - *
-     * client load based on system_time (0.85 => 85%)
-     * 
+ * client load based on system_time (0.85 => 85%) * - * double client_system_time = 5; + * Generated from protobuf field double client_system_time = 5; */ private $client_system_time = 0.0; /** - *
-     * client load based on user_time (0.85 => 85%)
-     * 
+ * client load based on user_time (0.85 => 85%) * - * double client_user_time = 6; + * Generated from protobuf field double client_user_time = 6; */ private $client_user_time = 0.0; /** - *
      * X% latency percentiles (in nanoseconds)
-     * 
* - * double latency_50 = 7; + * Generated from protobuf field double latency_50 = 7; */ private $latency_50 = 0.0; /** - * double latency_90 = 8; + * Generated from protobuf field double latency_90 = 8; */ private $latency_90 = 0.0; /** - * double latency_95 = 9; + * Generated from protobuf field double latency_95 = 9; */ private $latency_95 = 0.0; /** - * double latency_99 = 10; + * Generated from protobuf field double latency_99 = 10; */ private $latency_99 = 0.0; /** - * double latency_999 = 11; + * Generated from protobuf field double latency_999 = 11; */ private $latency_999 = 0.0; /** - *
      * server cpu usage percentage
-     * 
* - * double server_cpu_usage = 12; + * Generated from protobuf field double server_cpu_usage = 12; */ private $server_cpu_usage = 0.0; /** - *
      * Number of requests that succeeded/failed
-     * 
* - * double successful_requests_per_second = 13; + * Generated from protobuf field double successful_requests_per_second = 13; */ private $successful_requests_per_second = 0.0; /** - * double failed_requests_per_second = 14; + * Generated from protobuf field double failed_requests_per_second = 14; */ private $failed_requests_per_second = 0.0; + /** + * Number of polls called inside completion queue per request + * + * Generated from protobuf field double client_polls_per_request = 15; + */ + private $client_polls_per_request = 0.0; + /** + * Generated from protobuf field double server_polls_per_request = 16; + */ + private $server_polls_per_request = 0.0; + /** + * Queries per CPU-sec over all servers or clients + * + * Generated from protobuf field double server_queries_per_cpu_sec = 17; + */ + private $server_queries_per_cpu_sec = 0.0; + /** + * Generated from protobuf field double client_queries_per_cpu_sec = 18; + */ + private $client_queries_per_cpu_sec = 0.0; public function __construct() { \GPBMetadata\Src\Proto\Grpc\Testing\Control::initOnce(); @@ -117,11 +117,10 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - *
      * Total number of operations per second over all clients.
-     * 
* - * double qps = 1; + * Generated from protobuf field double qps = 1; + * @return float */ public function getQps() { @@ -129,24 +128,25 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - *
      * Total number of operations per second over all clients.
-     * 
* - * double qps = 1; + * Generated from protobuf field double qps = 1; + * @param float $var + * @return $this */ public function setQps($var) { GPBUtil::checkDouble($var); $this->qps = $var; + + return $this; } /** - *
      * QPS per one server core.
-     * 
* - * double qps_per_server_core = 2; + * Generated from protobuf field double qps_per_server_core = 2; + * @return float */ public function getQpsPerServerCore() { @@ -154,24 +154,25 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - *
      * QPS per one server core.
-     * 
* - * double qps_per_server_core = 2; + * Generated from protobuf field double qps_per_server_core = 2; + * @param float $var + * @return $this */ public function setQpsPerServerCore($var) { GPBUtil::checkDouble($var); $this->qps_per_server_core = $var; + + return $this; } /** - *
-     * server load based on system_time (0.85 => 85%)
-     * 
+ * server load based on system_time (0.85 => 85%) * - * double server_system_time = 3; + * Generated from protobuf field double server_system_time = 3; + * @return float */ public function getServerSystemTime() { @@ -179,24 +180,25 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - *
-     * server load based on system_time (0.85 => 85%)
-     * 
+ * server load based on system_time (0.85 => 85%) * - * double server_system_time = 3; + * Generated from protobuf field double server_system_time = 3; + * @param float $var + * @return $this */ public function setServerSystemTime($var) { GPBUtil::checkDouble($var); $this->server_system_time = $var; + + return $this; } /** - *
-     * server load based on user_time (0.85 => 85%)
-     * 
+ * server load based on user_time (0.85 => 85%) * - * double server_user_time = 4; + * Generated from protobuf field double server_user_time = 4; + * @return float */ public function getServerUserTime() { @@ -204,24 +206,25 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - *
-     * server load based on user_time (0.85 => 85%)
-     * 
+ * server load based on user_time (0.85 => 85%) * - * double server_user_time = 4; + * Generated from protobuf field double server_user_time = 4; + * @param float $var + * @return $this */ public function setServerUserTime($var) { GPBUtil::checkDouble($var); $this->server_user_time = $var; + + return $this; } /** - *
-     * client load based on system_time (0.85 => 85%)
-     * 
+ * client load based on system_time (0.85 => 85%) * - * double client_system_time = 5; + * Generated from protobuf field double client_system_time = 5; + * @return float */ public function getClientSystemTime() { @@ -229,24 +232,25 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - *
-     * client load based on system_time (0.85 => 85%)
-     * 
+ * client load based on system_time (0.85 => 85%) * - * double client_system_time = 5; + * Generated from protobuf field double client_system_time = 5; + * @param float $var + * @return $this */ public function setClientSystemTime($var) { GPBUtil::checkDouble($var); $this->client_system_time = $var; + + return $this; } /** - *
-     * client load based on user_time (0.85 => 85%)
-     * 
+ * client load based on user_time (0.85 => 85%) * - * double client_user_time = 6; + * Generated from protobuf field double client_user_time = 6; + * @return float */ public function getClientUserTime() { @@ -254,24 +258,25 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - *
-     * client load based on user_time (0.85 => 85%)
-     * 
+ * client load based on user_time (0.85 => 85%) * - * double client_user_time = 6; + * Generated from protobuf field double client_user_time = 6; + * @param float $var + * @return $this */ public function setClientUserTime($var) { GPBUtil::checkDouble($var); $this->client_user_time = $var; + + return $this; } /** - *
      * X% latency percentiles (in nanoseconds)
-     * 
* - * double latency_50 = 7; + * Generated from protobuf field double latency_50 = 7; + * @return float */ public function getLatency50() { @@ -279,20 +284,23 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - *
      * X% latency percentiles (in nanoseconds)
-     * 
* - * double latency_50 = 7; + * Generated from protobuf field double latency_50 = 7; + * @param float $var + * @return $this */ public function setLatency50($var) { GPBUtil::checkDouble($var); $this->latency_50 = $var; + + return $this; } /** - * double latency_90 = 8; + * Generated from protobuf field double latency_90 = 8; + * @return float */ public function getLatency90() { @@ -300,16 +308,21 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - * double latency_90 = 8; + * Generated from protobuf field double latency_90 = 8; + * @param float $var + * @return $this */ public function setLatency90($var) { GPBUtil::checkDouble($var); $this->latency_90 = $var; + + return $this; } /** - * double latency_95 = 9; + * Generated from protobuf field double latency_95 = 9; + * @return float */ public function getLatency95() { @@ -317,16 +330,21 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - * double latency_95 = 9; + * Generated from protobuf field double latency_95 = 9; + * @param float $var + * @return $this */ public function setLatency95($var) { GPBUtil::checkDouble($var); $this->latency_95 = $var; + + return $this; } /** - * double latency_99 = 10; + * Generated from protobuf field double latency_99 = 10; + * @return float */ public function getLatency99() { @@ -334,16 +352,21 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - * double latency_99 = 10; + * Generated from protobuf field double latency_99 = 10; + * @param float $var + * @return $this */ public function setLatency99($var) { GPBUtil::checkDouble($var); $this->latency_99 = $var; + + return $this; } /** - * double latency_999 = 11; + * Generated from protobuf field double latency_999 = 11; + * @return float */ public function getLatency999() { @@ -351,20 +374,23 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - * double latency_999 = 11; + * Generated from protobuf field double latency_999 = 11; + * @param float $var + * @return $this */ public function setLatency999($var) { GPBUtil::checkDouble($var); $this->latency_999 = $var; + + return $this; } /** - *
      * server cpu usage percentage
-     * 
* - * double server_cpu_usage = 12; + * Generated from protobuf field double server_cpu_usage = 12; + * @return float */ public function getServerCpuUsage() { @@ -372,24 +398,25 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - *
      * server cpu usage percentage
-     * 
* - * double server_cpu_usage = 12; + * Generated from protobuf field double server_cpu_usage = 12; + * @param float $var + * @return $this */ public function setServerCpuUsage($var) { GPBUtil::checkDouble($var); $this->server_cpu_usage = $var; + + return $this; } /** - *
      * Number of requests that succeeded/failed
-     * 
* - * double successful_requests_per_second = 13; + * Generated from protobuf field double successful_requests_per_second = 13; + * @return float */ public function getSuccessfulRequestsPerSecond() { @@ -397,20 +424,23 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - *
      * Number of requests that succeeded/failed
-     * 
* - * double successful_requests_per_second = 13; + * Generated from protobuf field double successful_requests_per_second = 13; + * @param float $var + * @return $this */ public function setSuccessfulRequestsPerSecond($var) { GPBUtil::checkDouble($var); $this->successful_requests_per_second = $var; + + return $this; } /** - * double failed_requests_per_second = 14; + * Generated from protobuf field double failed_requests_per_second = 14; + * @return float */ public function getFailedRequestsPerSecond() { @@ -418,12 +448,112 @@ class ScenarioResultSummary extends \Google\Protobuf\Internal\Message } /** - * double failed_requests_per_second = 14; + * Generated from protobuf field double failed_requests_per_second = 14; + * @param float $var + * @return $this */ public function setFailedRequestsPerSecond($var) { GPBUtil::checkDouble($var); $this->failed_requests_per_second = $var; + + return $this; + } + + /** + * Number of polls called inside completion queue per request + * + * Generated from protobuf field double client_polls_per_request = 15; + * @return float + */ + public function getClientPollsPerRequest() + { + return $this->client_polls_per_request; + } + + /** + * Number of polls called inside completion queue per request + * + * Generated from protobuf field double client_polls_per_request = 15; + * @param float $var + * @return $this + */ + public function setClientPollsPerRequest($var) + { + GPBUtil::checkDouble($var); + $this->client_polls_per_request = $var; + + return $this; + } + + /** + * Generated from protobuf field double server_polls_per_request = 16; + * @return float + */ + public function getServerPollsPerRequest() + { + return $this->server_polls_per_request; + } + + /** + * Generated from protobuf field double server_polls_per_request = 16; + * @param float $var + * @return $this + */ + public function setServerPollsPerRequest($var) + { + GPBUtil::checkDouble($var); + $this->server_polls_per_request = $var; + + return $this; + } + + /** + * Queries per CPU-sec over all servers or clients + * + * Generated from protobuf field double server_queries_per_cpu_sec = 17; + * @return float + */ + public function getServerQueriesPerCpuSec() + { + return $this->server_queries_per_cpu_sec; + } + + /** + * Queries per CPU-sec over all servers or clients + * + * Generated from protobuf field double server_queries_per_cpu_sec = 17; + * @param float $var + * @return $this + */ + public function setServerQueriesPerCpuSec($var) + { + GPBUtil::checkDouble($var); + $this->server_queries_per_cpu_sec = $var; + + return $this; + } + + /** + * Generated from protobuf field double client_queries_per_cpu_sec = 18; + * @return float + */ + public function getClientQueriesPerCpuSec() + { + return $this->client_queries_per_cpu_sec; + } + + /** + * Generated from protobuf field double client_queries_per_cpu_sec = 18; + * @param float $var + * @return $this + */ + public function setClientQueriesPerCpuSec($var) + { + GPBUtil::checkDouble($var); + $this->client_queries_per_cpu_sec = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/Scenarios.php b/src/php/tests/qps/generated_code/Grpc/Testing/Scenarios.php index 278f555b760..2146b4776e2 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/Scenarios.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/Scenarios.php @@ -9,16 +9,14 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * A set of scenarios to be run with qps_json_driver
- * 
* - * Protobuf type grpc.testing.Scenarios + * Generated from protobuf message grpc.testing.Scenarios */ class Scenarios extends \Google\Protobuf\Internal\Message { /** - * repeated .grpc.testing.Scenario scenarios = 1; + * Generated from protobuf field repeated .grpc.testing.Scenario scenarios = 1; */ private $scenarios; @@ -28,7 +26,8 @@ class Scenarios extends \Google\Protobuf\Internal\Message } /** - * repeated .grpc.testing.Scenario scenarios = 1; + * Generated from protobuf field repeated .grpc.testing.Scenario scenarios = 1; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getScenarios() { @@ -36,12 +35,16 @@ class Scenarios extends \Google\Protobuf\Internal\Message } /** - * repeated .grpc.testing.Scenario scenarios = 1; + * Generated from protobuf field repeated .grpc.testing.Scenario scenarios = 1; + * @param \Grpc\Testing\Scenario[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setScenarios(&$var) + public function setScenarios($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\Scenario::class); - $this->scenarios = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\Scenario::class); + $this->scenarios = $arr; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/SecurityParams.php b/src/php/tests/qps/generated_code/Grpc/Testing/SecurityParams.php index 27a5b95cc94..8ce623a4bc1 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/SecurityParams.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/SecurityParams.php @@ -9,22 +9,24 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * presence of SecurityParams implies use of TLS
- * 
* - * Protobuf type grpc.testing.SecurityParams + * Generated from protobuf message grpc.testing.SecurityParams */ class SecurityParams extends \Google\Protobuf\Internal\Message { /** - * bool use_test_ca = 1; + * Generated from protobuf field bool use_test_ca = 1; */ private $use_test_ca = false; /** - * string server_host_override = 2; + * Generated from protobuf field string server_host_override = 2; */ private $server_host_override = ''; + /** + * Generated from protobuf field string cred_type = 3; + */ + private $cred_type = ''; public function __construct() { \GPBMetadata\Src\Proto\Grpc\Testing\Control::initOnce(); @@ -32,7 +34,8 @@ class SecurityParams extends \Google\Protobuf\Internal\Message } /** - * bool use_test_ca = 1; + * Generated from protobuf field bool use_test_ca = 1; + * @return bool */ public function getUseTestCa() { @@ -40,16 +43,21 @@ class SecurityParams extends \Google\Protobuf\Internal\Message } /** - * bool use_test_ca = 1; + * Generated from protobuf field bool use_test_ca = 1; + * @param bool $var + * @return $this */ public function setUseTestCa($var) { GPBUtil::checkBool($var); $this->use_test_ca = $var; + + return $this; } /** - * string server_host_override = 2; + * Generated from protobuf field string server_host_override = 2; + * @return string */ public function getServerHostOverride() { @@ -57,12 +65,38 @@ class SecurityParams extends \Google\Protobuf\Internal\Message } /** - * string server_host_override = 2; + * Generated from protobuf field string server_host_override = 2; + * @param string $var + * @return $this */ public function setServerHostOverride($var) { GPBUtil::checkString($var, True); $this->server_host_override = $var; + + return $this; + } + + /** + * Generated from protobuf field string cred_type = 3; + * @return string + */ + public function getCredType() + { + return $this->cred_type; + } + + /** + * Generated from protobuf field string cred_type = 3; + * @param string $var + * @return $this + */ + public function setCredType($var) + { + GPBUtil::checkString($var, True); + $this->cred_type = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ServerArgs.php b/src/php/tests/qps/generated_code/Grpc/Testing/ServerArgs.php index 0d84b80124a..acf7e18b6da 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ServerArgs.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ServerArgs.php @@ -9,7 +9,7 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.ServerArgs + * Generated from protobuf message grpc.testing.ServerArgs */ class ServerArgs extends \Google\Protobuf\Internal\Message { @@ -21,7 +21,8 @@ class ServerArgs extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ServerConfig setup = 1; + * Generated from protobuf field .grpc.testing.ServerConfig setup = 1; + * @return \Grpc\Testing\ServerConfig */ public function getSetup() { @@ -29,16 +30,21 @@ class ServerArgs extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ServerConfig setup = 1; + * Generated from protobuf field .grpc.testing.ServerConfig setup = 1; + * @param \Grpc\Testing\ServerConfig $var + * @return $this */ - public function setSetup(&$var) + public function setSetup($var) { GPBUtil::checkMessage($var, \Grpc\Testing\ServerConfig::class); $this->writeOneof(1, $var); + + return $this; } /** - * .grpc.testing.Mark mark = 2; + * Generated from protobuf field .grpc.testing.Mark mark = 2; + * @return \Grpc\Testing\Mark */ public function getMark() { @@ -46,14 +52,21 @@ class ServerArgs extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.Mark mark = 2; + * Generated from protobuf field .grpc.testing.Mark mark = 2; + * @param \Grpc\Testing\Mark $var + * @return $this */ - public function setMark(&$var) + public function setMark($var) { GPBUtil::checkMessage($var, \Grpc\Testing\Mark::class); $this->writeOneof(2, $var); + + return $this; } + /** + * @return string + */ public function getArgtype() { return $this->whichOneof("argtype"); diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ServerConfig.php b/src/php/tests/qps/generated_code/Grpc/Testing/ServerConfig.php index e2bcede48cb..8bd4c69566b 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ServerConfig.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ServerConfig.php @@ -9,77 +9,73 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.ServerConfig + * Generated from protobuf message grpc.testing.ServerConfig */ class ServerConfig extends \Google\Protobuf\Internal\Message { /** - * .grpc.testing.ServerType server_type = 1; + * Generated from protobuf field .grpc.testing.ServerType server_type = 1; */ private $server_type = 0; /** - * .grpc.testing.SecurityParams security_params = 2; + * Generated from protobuf field .grpc.testing.SecurityParams security_params = 2; */ private $security_params = null; /** - *
      * Port on which to listen. Zero means pick unused port.
-     * 
* - * int32 port = 4; + * Generated from protobuf field int32 port = 4; */ private $port = 0; /** - *
      * Only for async server. Number of threads used to serve the requests.
-     * 
* - * int32 async_server_threads = 7; + * Generated from protobuf field int32 async_server_threads = 7; */ private $async_server_threads = 0; /** - *
      * Specify the number of cores to limit server to, if desired
-     * 
* - * int32 core_limit = 8; + * Generated from protobuf field int32 core_limit = 8; */ private $core_limit = 0; /** - *
      * payload config, used in generic server.
      * Note this must NOT be used in proto (non-generic) servers. For proto servers,
      * 'response sizes' must be configured from the 'response_size' field of the
      * 'SimpleRequest' objects in RPC requests.
-     * 
* - * .grpc.testing.PayloadConfig payload_config = 9; + * Generated from protobuf field .grpc.testing.PayloadConfig payload_config = 9; */ private $payload_config = null; /** - *
      * Specify the cores we should run the server on, if desired
-     * 
* - * repeated int32 core_list = 10; + * Generated from protobuf field repeated int32 core_list = 10; */ private $core_list; /** - *
      * If we use an OTHER_SERVER client_type, this string gives more detail
-     * 
* - * string other_server_api = 11; + * Generated from protobuf field string other_server_api = 11; */ private $other_server_api = ''; /** - *
+     * Number of threads that share each completion queue
+     *
+     * Generated from protobuf field int32 threads_per_cq = 12;
+     */
+    private $threads_per_cq = 0;
+    /**
      * Buffer pool size (no buffer pool specified if unset)
-     * 
* - * int32 resource_quota_size = 1001; + * Generated from protobuf field int32 resource_quota_size = 1001; */ private $resource_quota_size = 0; + /** + * Generated from protobuf field repeated .grpc.testing.ChannelArg channel_args = 1002; + */ + private $channel_args; public function __construct() { \GPBMetadata\Src\Proto\Grpc\Testing\Control::initOnce(); @@ -87,7 +83,8 @@ class ServerConfig extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ServerType server_type = 1; + * Generated from protobuf field .grpc.testing.ServerType server_type = 1; + * @return int */ public function getServerType() { @@ -95,16 +92,21 @@ class ServerConfig extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ServerType server_type = 1; + * Generated from protobuf field .grpc.testing.ServerType server_type = 1; + * @param int $var + * @return $this */ public function setServerType($var) { GPBUtil::checkEnum($var, \Grpc\Testing\ServerType::class); $this->server_type = $var; + + return $this; } /** - * .grpc.testing.SecurityParams security_params = 2; + * Generated from protobuf field .grpc.testing.SecurityParams security_params = 2; + * @return \Grpc\Testing\SecurityParams */ public function getSecurityParams() { @@ -112,20 +114,23 @@ class ServerConfig extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.SecurityParams security_params = 2; + * Generated from protobuf field .grpc.testing.SecurityParams security_params = 2; + * @param \Grpc\Testing\SecurityParams $var + * @return $this */ - public function setSecurityParams(&$var) + public function setSecurityParams($var) { GPBUtil::checkMessage($var, \Grpc\Testing\SecurityParams::class); $this->security_params = $var; + + return $this; } /** - *
      * Port on which to listen. Zero means pick unused port.
-     * 
* - * int32 port = 4; + * Generated from protobuf field int32 port = 4; + * @return int */ public function getPort() { @@ -133,24 +138,25 @@ class ServerConfig extends \Google\Protobuf\Internal\Message } /** - *
      * Port on which to listen. Zero means pick unused port.
-     * 
* - * int32 port = 4; + * Generated from protobuf field int32 port = 4; + * @param int $var + * @return $this */ public function setPort($var) { GPBUtil::checkInt32($var); $this->port = $var; + + return $this; } /** - *
      * Only for async server. Number of threads used to serve the requests.
-     * 
* - * int32 async_server_threads = 7; + * Generated from protobuf field int32 async_server_threads = 7; + * @return int */ public function getAsyncServerThreads() { @@ -158,24 +164,25 @@ class ServerConfig extends \Google\Protobuf\Internal\Message } /** - *
      * Only for async server. Number of threads used to serve the requests.
-     * 
* - * int32 async_server_threads = 7; + * Generated from protobuf field int32 async_server_threads = 7; + * @param int $var + * @return $this */ public function setAsyncServerThreads($var) { GPBUtil::checkInt32($var); $this->async_server_threads = $var; + + return $this; } /** - *
      * Specify the number of cores to limit server to, if desired
-     * 
* - * int32 core_limit = 8; + * Generated from protobuf field int32 core_limit = 8; + * @return int */ public function getCoreLimit() { @@ -183,27 +190,28 @@ class ServerConfig extends \Google\Protobuf\Internal\Message } /** - *
      * Specify the number of cores to limit server to, if desired
-     * 
* - * int32 core_limit = 8; + * Generated from protobuf field int32 core_limit = 8; + * @param int $var + * @return $this */ public function setCoreLimit($var) { GPBUtil::checkInt32($var); $this->core_limit = $var; + + return $this; } /** - *
      * payload config, used in generic server.
      * Note this must NOT be used in proto (non-generic) servers. For proto servers,
      * 'response sizes' must be configured from the 'response_size' field of the
      * 'SimpleRequest' objects in RPC requests.
-     * 
* - * .grpc.testing.PayloadConfig payload_config = 9; + * Generated from protobuf field .grpc.testing.PayloadConfig payload_config = 9; + * @return \Grpc\Testing\PayloadConfig */ public function getPayloadConfig() { @@ -211,27 +219,28 @@ class ServerConfig extends \Google\Protobuf\Internal\Message } /** - *
      * payload config, used in generic server.
      * Note this must NOT be used in proto (non-generic) servers. For proto servers,
      * 'response sizes' must be configured from the 'response_size' field of the
      * 'SimpleRequest' objects in RPC requests.
-     * 
* - * .grpc.testing.PayloadConfig payload_config = 9; + * Generated from protobuf field .grpc.testing.PayloadConfig payload_config = 9; + * @param \Grpc\Testing\PayloadConfig $var + * @return $this */ - public function setPayloadConfig(&$var) + public function setPayloadConfig($var) { GPBUtil::checkMessage($var, \Grpc\Testing\PayloadConfig::class); $this->payload_config = $var; + + return $this; } /** - *
      * Specify the cores we should run the server on, if desired
-     * 
* - * repeated int32 core_list = 10; + * Generated from protobuf field repeated int32 core_list = 10; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getCoreList() { @@ -239,24 +248,25 @@ class ServerConfig extends \Google\Protobuf\Internal\Message } /** - *
      * Specify the cores we should run the server on, if desired
-     * 
* - * repeated int32 core_list = 10; + * Generated from protobuf field repeated int32 core_list = 10; + * @param int[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setCoreList(&$var) + public function setCoreList($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32); - $this->core_list = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32); + $this->core_list = $arr; + + return $this; } /** - *
      * If we use an OTHER_SERVER client_type, this string gives more detail
-     * 
* - * string other_server_api = 11; + * Generated from protobuf field string other_server_api = 11; + * @return string */ public function getOtherServerApi() { @@ -264,24 +274,51 @@ class ServerConfig extends \Google\Protobuf\Internal\Message } /** - *
      * If we use an OTHER_SERVER client_type, this string gives more detail
-     * 
* - * string other_server_api = 11; + * Generated from protobuf field string other_server_api = 11; + * @param string $var + * @return $this */ public function setOtherServerApi($var) { GPBUtil::checkString($var, True); $this->other_server_api = $var; + + return $this; + } + + /** + * Number of threads that share each completion queue + * + * Generated from protobuf field int32 threads_per_cq = 12; + * @return int + */ + public function getThreadsPerCq() + { + return $this->threads_per_cq; + } + + /** + * Number of threads that share each completion queue + * + * Generated from protobuf field int32 threads_per_cq = 12; + * @param int $var + * @return $this + */ + public function setThreadsPerCq($var) + { + GPBUtil::checkInt32($var); + $this->threads_per_cq = $var; + + return $this; } /** - *
      * Buffer pool size (no buffer pool specified if unset)
-     * 
* - * int32 resource_quota_size = 1001; + * Generated from protobuf field int32 resource_quota_size = 1001; + * @return int */ public function getResourceQuotaSize() { @@ -289,16 +326,40 @@ class ServerConfig extends \Google\Protobuf\Internal\Message } /** - *
      * Buffer pool size (no buffer pool specified if unset)
-     * 
* - * int32 resource_quota_size = 1001; + * Generated from protobuf field int32 resource_quota_size = 1001; + * @param int $var + * @return $this */ public function setResourceQuotaSize($var) { GPBUtil::checkInt32($var); $this->resource_quota_size = $var; + + return $this; + } + + /** + * Generated from protobuf field repeated .grpc.testing.ChannelArg channel_args = 1002; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getChannelArgs() + { + return $this->channel_args; + } + + /** + * Generated from protobuf field repeated .grpc.testing.ChannelArg channel_args = 1002; + * @param \Grpc\Testing\ChannelArg[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setChannelArgs($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\ChannelArg::class); + $this->channel_args = $arr; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ServerStats.php b/src/php/tests/qps/generated_code/Grpc/Testing/ServerStats.php index 98b2af764c9..aea2cb0fce3 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ServerStats.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ServerStats.php @@ -9,51 +9,53 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.ServerStats + * Generated from protobuf message grpc.testing.ServerStats */ class ServerStats extends \Google\Protobuf\Internal\Message { /** - *
      * wall clock time change in seconds since last reset
-     * 
* - * double time_elapsed = 1; + * Generated from protobuf field double time_elapsed = 1; */ private $time_elapsed = 0.0; /** - *
      * change in user time (in seconds) used by the server since last reset
-     * 
* - * double time_user = 2; + * Generated from protobuf field double time_user = 2; */ private $time_user = 0.0; /** - *
      * change in server time (in seconds) used by the server process and all
      * threads since last reset
-     * 
* - * double time_system = 3; + * Generated from protobuf field double time_system = 3; */ private $time_system = 0.0; /** - *
      * change in total cpu time of the server (data from proc/stat)
-     * 
* - * uint64 total_cpu_time = 4; + * Generated from protobuf field uint64 total_cpu_time = 4; */ private $total_cpu_time = 0; /** - *
      * change in idle time of the server (data from proc/stat)
-     * 
* - * uint64 idle_cpu_time = 5; + * Generated from protobuf field uint64 idle_cpu_time = 5; */ private $idle_cpu_time = 0; + /** + * Number of polls called inside completion queue + * + * Generated from protobuf field uint64 cq_poll_count = 6; + */ + private $cq_poll_count = 0; + /** + * Core library stats + * + * Generated from protobuf field .grpc.core.Stats core_stats = 7; + */ + private $core_stats = null; public function __construct() { \GPBMetadata\Src\Proto\Grpc\Testing\Stats::initOnce(); @@ -61,11 +63,10 @@ class ServerStats extends \Google\Protobuf\Internal\Message } /** - *
      * wall clock time change in seconds since last reset
-     * 
* - * double time_elapsed = 1; + * Generated from protobuf field double time_elapsed = 1; + * @return float */ public function getTimeElapsed() { @@ -73,24 +74,25 @@ class ServerStats extends \Google\Protobuf\Internal\Message } /** - *
      * wall clock time change in seconds since last reset
-     * 
* - * double time_elapsed = 1; + * Generated from protobuf field double time_elapsed = 1; + * @param float $var + * @return $this */ public function setTimeElapsed($var) { GPBUtil::checkDouble($var); $this->time_elapsed = $var; + + return $this; } /** - *
      * change in user time (in seconds) used by the server since last reset
-     * 
* - * double time_user = 2; + * Generated from protobuf field double time_user = 2; + * @return float */ public function getTimeUser() { @@ -98,25 +100,26 @@ class ServerStats extends \Google\Protobuf\Internal\Message } /** - *
      * change in user time (in seconds) used by the server since last reset
-     * 
* - * double time_user = 2; + * Generated from protobuf field double time_user = 2; + * @param float $var + * @return $this */ public function setTimeUser($var) { GPBUtil::checkDouble($var); $this->time_user = $var; + + return $this; } /** - *
      * change in server time (in seconds) used by the server process and all
      * threads since last reset
-     * 
* - * double time_system = 3; + * Generated from protobuf field double time_system = 3; + * @return float */ public function getTimeSystem() { @@ -124,25 +127,26 @@ class ServerStats extends \Google\Protobuf\Internal\Message } /** - *
      * change in server time (in seconds) used by the server process and all
      * threads since last reset
-     * 
* - * double time_system = 3; + * Generated from protobuf field double time_system = 3; + * @param float $var + * @return $this */ public function setTimeSystem($var) { GPBUtil::checkDouble($var); $this->time_system = $var; + + return $this; } /** - *
      * change in total cpu time of the server (data from proc/stat)
-     * 
* - * uint64 total_cpu_time = 4; + * Generated from protobuf field uint64 total_cpu_time = 4; + * @return int|string */ public function getTotalCpuTime() { @@ -150,24 +154,25 @@ class ServerStats extends \Google\Protobuf\Internal\Message } /** - *
      * change in total cpu time of the server (data from proc/stat)
-     * 
* - * uint64 total_cpu_time = 4; + * Generated from protobuf field uint64 total_cpu_time = 4; + * @param int|string $var + * @return $this */ public function setTotalCpuTime($var) { GPBUtil::checkUint64($var); $this->total_cpu_time = $var; + + return $this; } /** - *
      * change in idle time of the server (data from proc/stat)
-     * 
* - * uint64 idle_cpu_time = 5; + * Generated from protobuf field uint64 idle_cpu_time = 5; + * @return int|string */ public function getIdleCpuTime() { @@ -175,16 +180,70 @@ class ServerStats extends \Google\Protobuf\Internal\Message } /** - *
      * change in idle time of the server (data from proc/stat)
-     * 
* - * uint64 idle_cpu_time = 5; + * Generated from protobuf field uint64 idle_cpu_time = 5; + * @param int|string $var + * @return $this */ public function setIdleCpuTime($var) { GPBUtil::checkUint64($var); $this->idle_cpu_time = $var; + + return $this; + } + + /** + * Number of polls called inside completion queue + * + * Generated from protobuf field uint64 cq_poll_count = 6; + * @return int|string + */ + public function getCqPollCount() + { + return $this->cq_poll_count; + } + + /** + * Number of polls called inside completion queue + * + * Generated from protobuf field uint64 cq_poll_count = 6; + * @param int|string $var + * @return $this + */ + public function setCqPollCount($var) + { + GPBUtil::checkUint64($var); + $this->cq_poll_count = $var; + + return $this; + } + + /** + * Core library stats + * + * Generated from protobuf field .grpc.core.Stats core_stats = 7; + * @return \Grpc\Core\Stats + */ + public function getCoreStats() + { + return $this->core_stats; + } + + /** + * Core library stats + * + * Generated from protobuf field .grpc.core.Stats core_stats = 7; + * @param \Grpc\Core\Stats $var + * @return $this + */ + public function setCoreStats($var) + { + GPBUtil::checkMessage($var, \Grpc\Core\Stats::class); + $this->core_stats = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ServerStatus.php b/src/php/tests/qps/generated_code/Grpc/Testing/ServerStatus.php index d293f03fbdf..04f2ca7c4ae 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ServerStatus.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ServerStatus.php @@ -9,28 +9,24 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.ServerStatus + * Generated from protobuf message grpc.testing.ServerStatus */ class ServerStatus extends \Google\Protobuf\Internal\Message { /** - * .grpc.testing.ServerStats stats = 1; + * Generated from protobuf field .grpc.testing.ServerStats stats = 1; */ private $stats = null; /** - *
      * the port bound by the server
-     * 
* - * int32 port = 2; + * Generated from protobuf field int32 port = 2; */ private $port = 0; /** - *
      * Number of cores available to the server
-     * 
* - * int32 cores = 3; + * Generated from protobuf field int32 cores = 3; */ private $cores = 0; @@ -40,7 +36,8 @@ class ServerStatus extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ServerStats stats = 1; + * Generated from protobuf field .grpc.testing.ServerStats stats = 1; + * @return \Grpc\Testing\ServerStats */ public function getStats() { @@ -48,20 +45,23 @@ class ServerStatus extends \Google\Protobuf\Internal\Message } /** - * .grpc.testing.ServerStats stats = 1; + * Generated from protobuf field .grpc.testing.ServerStats stats = 1; + * @param \Grpc\Testing\ServerStats $var + * @return $this */ - public function setStats(&$var) + public function setStats($var) { GPBUtil::checkMessage($var, \Grpc\Testing\ServerStats::class); $this->stats = $var; + + return $this; } /** - *
      * the port bound by the server
-     * 
* - * int32 port = 2; + * Generated from protobuf field int32 port = 2; + * @return int */ public function getPort() { @@ -69,24 +69,25 @@ class ServerStatus extends \Google\Protobuf\Internal\Message } /** - *
      * the port bound by the server
-     * 
* - * int32 port = 2; + * Generated from protobuf field int32 port = 2; + * @param int $var + * @return $this */ public function setPort($var) { GPBUtil::checkInt32($var); $this->port = $var; + + return $this; } /** - *
      * Number of cores available to the server
-     * 
* - * int32 cores = 3; + * Generated from protobuf field int32 cores = 3; + * @return int */ public function getCores() { @@ -94,16 +95,18 @@ class ServerStatus extends \Google\Protobuf\Internal\Message } /** - *
      * Number of cores available to the server
-     * 
* - * int32 cores = 3; + * Generated from protobuf field int32 cores = 3; + * @param int $var + * @return $this */ public function setCores($var) { GPBUtil::checkInt32($var); $this->cores = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/ServerType.php b/src/php/tests/qps/generated_code/Grpc/Testing/ServerType.php index 605c83c3f76..4110e91c18a 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/ServerType.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/ServerType.php @@ -5,28 +5,26 @@ namespace Grpc\Testing; /** - * Protobuf enum grpc.testing.ServerType + * Protobuf enum Grpc\Testing\ServerType */ class ServerType { /** - * SYNC_SERVER = 0; + * Generated from protobuf enum SYNC_SERVER = 0; */ const SYNC_SERVER = 0; /** - * ASYNC_SERVER = 1; + * Generated from protobuf enum ASYNC_SERVER = 1; */ const ASYNC_SERVER = 1; /** - * ASYNC_GENERIC_SERVER = 2; + * Generated from protobuf enum ASYNC_GENERIC_SERVER = 2; */ const ASYNC_GENERIC_SERVER = 2; /** - *
      * used for some language-specific variants
-     * 
* - * OTHER_SERVER = 3; + * Generated from protobuf enum OTHER_SERVER = 3; */ const OTHER_SERVER = 3; } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/SimpleProtoParams.php b/src/php/tests/qps/generated_code/Grpc/Testing/SimpleProtoParams.php index 29834a3be71..507db598f03 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/SimpleProtoParams.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/SimpleProtoParams.php @@ -9,16 +9,16 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.SimpleProtoParams + * Generated from protobuf message grpc.testing.SimpleProtoParams */ class SimpleProtoParams extends \Google\Protobuf\Internal\Message { /** - * int32 req_size = 1; + * Generated from protobuf field int32 req_size = 1; */ private $req_size = 0; /** - * int32 resp_size = 2; + * Generated from protobuf field int32 resp_size = 2; */ private $resp_size = 0; @@ -28,7 +28,8 @@ class SimpleProtoParams extends \Google\Protobuf\Internal\Message } /** - * int32 req_size = 1; + * Generated from protobuf field int32 req_size = 1; + * @return int */ public function getReqSize() { @@ -36,16 +37,21 @@ class SimpleProtoParams extends \Google\Protobuf\Internal\Message } /** - * int32 req_size = 1; + * Generated from protobuf field int32 req_size = 1; + * @param int $var + * @return $this */ public function setReqSize($var) { GPBUtil::checkInt32($var); $this->req_size = $var; + + return $this; } /** - * int32 resp_size = 2; + * Generated from protobuf field int32 resp_size = 2; + * @return int */ public function getRespSize() { @@ -53,12 +59,16 @@ class SimpleProtoParams extends \Google\Protobuf\Internal\Message } /** - * int32 resp_size = 2; + * Generated from protobuf field int32 resp_size = 2; + * @param int $var + * @return $this */ public function setRespSize($var) { GPBUtil::checkInt32($var); $this->resp_size = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/SimpleRequest.php b/src/php/tests/qps/generated_code/Grpc/Testing/SimpleRequest.php index f84c95319f4..e0c2d2d94ce 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/SimpleRequest.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/SimpleRequest.php @@ -9,81 +9,63 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Unary request.
- * 
* - * Protobuf type grpc.testing.SimpleRequest + * Generated from protobuf message grpc.testing.SimpleRequest */ class SimpleRequest extends \Google\Protobuf\Internal\Message { /** - *
      * DEPRECATED, don't use. To be removed shortly.
      * Desired payload type in the response from the server.
      * If response_type is RANDOM, server randomly chooses one from other formats.
-     * 
* - * .grpc.testing.PayloadType response_type = 1; + * Generated from protobuf field .grpc.testing.PayloadType response_type = 1; */ private $response_type = 0; /** - *
      * Desired payload size in the response from the server.
-     * 
* - * int32 response_size = 2; + * Generated from protobuf field int32 response_size = 2; */ private $response_size = 0; /** - *
      * Optional input payload sent along with the request.
-     * 
* - * .grpc.testing.Payload payload = 3; + * Generated from protobuf field .grpc.testing.Payload payload = 3; */ private $payload = null; /** - *
      * Whether SimpleResponse should include username.
-     * 
* - * bool fill_username = 4; + * Generated from protobuf field bool fill_username = 4; */ private $fill_username = false; /** - *
      * Whether SimpleResponse should include OAuth scope.
-     * 
* - * bool fill_oauth_scope = 5; + * Generated from protobuf field bool fill_oauth_scope = 5; */ private $fill_oauth_scope = false; /** - *
      * Whether to request the server to compress the response. This field is
      * "nullable" in order to interoperate seamlessly with clients not able to
      * implement the full compression tests by introspecting the call to verify
      * the response's compression status.
-     * 
* - * .grpc.testing.BoolValue response_compressed = 6; + * Generated from protobuf field .grpc.testing.BoolValue response_compressed = 6; */ private $response_compressed = null; /** - *
      * Whether server should return a given status
-     * 
* - * .grpc.testing.EchoStatus response_status = 7; + * Generated from protobuf field .grpc.testing.EchoStatus response_status = 7; */ private $response_status = null; /** - *
      * Whether the server should expect this request to be compressed.
-     * 
* - * .grpc.testing.BoolValue expect_compressed = 8; + * Generated from protobuf field .grpc.testing.BoolValue expect_compressed = 8; */ private $expect_compressed = null; @@ -93,13 +75,12 @@ class SimpleRequest extends \Google\Protobuf\Internal\Message } /** - *
      * DEPRECATED, don't use. To be removed shortly.
      * Desired payload type in the response from the server.
      * If response_type is RANDOM, server randomly chooses one from other formats.
-     * 
* - * .grpc.testing.PayloadType response_type = 1; + * Generated from protobuf field .grpc.testing.PayloadType response_type = 1; + * @return int */ public function getResponseType() { @@ -107,26 +88,27 @@ class SimpleRequest extends \Google\Protobuf\Internal\Message } /** - *
      * DEPRECATED, don't use. To be removed shortly.
      * Desired payload type in the response from the server.
      * If response_type is RANDOM, server randomly chooses one from other formats.
-     * 
* - * .grpc.testing.PayloadType response_type = 1; + * Generated from protobuf field .grpc.testing.PayloadType response_type = 1; + * @param int $var + * @return $this */ public function setResponseType($var) { GPBUtil::checkEnum($var, \Grpc\Testing\PayloadType::class); $this->response_type = $var; + + return $this; } /** - *
      * Desired payload size in the response from the server.
-     * 
* - * int32 response_size = 2; + * Generated from protobuf field int32 response_size = 2; + * @return int */ public function getResponseSize() { @@ -134,24 +116,25 @@ class SimpleRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Desired payload size in the response from the server.
-     * 
* - * int32 response_size = 2; + * Generated from protobuf field int32 response_size = 2; + * @param int $var + * @return $this */ public function setResponseSize($var) { GPBUtil::checkInt32($var); $this->response_size = $var; + + return $this; } /** - *
      * Optional input payload sent along with the request.
-     * 
* - * .grpc.testing.Payload payload = 3; + * Generated from protobuf field .grpc.testing.Payload payload = 3; + * @return \Grpc\Testing\Payload */ public function getPayload() { @@ -159,24 +142,25 @@ class SimpleRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Optional input payload sent along with the request.
-     * 
* - * .grpc.testing.Payload payload = 3; + * Generated from protobuf field .grpc.testing.Payload payload = 3; + * @param \Grpc\Testing\Payload $var + * @return $this */ - public function setPayload(&$var) + public function setPayload($var) { GPBUtil::checkMessage($var, \Grpc\Testing\Payload::class); $this->payload = $var; + + return $this; } /** - *
      * Whether SimpleResponse should include username.
-     * 
* - * bool fill_username = 4; + * Generated from protobuf field bool fill_username = 4; + * @return bool */ public function getFillUsername() { @@ -184,24 +168,25 @@ class SimpleRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Whether SimpleResponse should include username.
-     * 
* - * bool fill_username = 4; + * Generated from protobuf field bool fill_username = 4; + * @param bool $var + * @return $this */ public function setFillUsername($var) { GPBUtil::checkBool($var); $this->fill_username = $var; + + return $this; } /** - *
      * Whether SimpleResponse should include OAuth scope.
-     * 
* - * bool fill_oauth_scope = 5; + * Generated from protobuf field bool fill_oauth_scope = 5; + * @return bool */ public function getFillOauthScope() { @@ -209,27 +194,28 @@ class SimpleRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Whether SimpleResponse should include OAuth scope.
-     * 
* - * bool fill_oauth_scope = 5; + * Generated from protobuf field bool fill_oauth_scope = 5; + * @param bool $var + * @return $this */ public function setFillOauthScope($var) { GPBUtil::checkBool($var); $this->fill_oauth_scope = $var; + + return $this; } /** - *
      * Whether to request the server to compress the response. This field is
      * "nullable" in order to interoperate seamlessly with clients not able to
      * implement the full compression tests by introspecting the call to verify
      * the response's compression status.
-     * 
* - * .grpc.testing.BoolValue response_compressed = 6; + * Generated from protobuf field .grpc.testing.BoolValue response_compressed = 6; + * @return \Grpc\Testing\BoolValue */ public function getResponseCompressed() { @@ -237,27 +223,28 @@ class SimpleRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Whether to request the server to compress the response. This field is
      * "nullable" in order to interoperate seamlessly with clients not able to
      * implement the full compression tests by introspecting the call to verify
      * the response's compression status.
-     * 
* - * .grpc.testing.BoolValue response_compressed = 6; + * Generated from protobuf field .grpc.testing.BoolValue response_compressed = 6; + * @param \Grpc\Testing\BoolValue $var + * @return $this */ - public function setResponseCompressed(&$var) + public function setResponseCompressed($var) { GPBUtil::checkMessage($var, \Grpc\Testing\BoolValue::class); $this->response_compressed = $var; + + return $this; } /** - *
      * Whether server should return a given status
-     * 
* - * .grpc.testing.EchoStatus response_status = 7; + * Generated from protobuf field .grpc.testing.EchoStatus response_status = 7; + * @return \Grpc\Testing\EchoStatus */ public function getResponseStatus() { @@ -265,24 +252,25 @@ class SimpleRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Whether server should return a given status
-     * 
* - * .grpc.testing.EchoStatus response_status = 7; + * Generated from protobuf field .grpc.testing.EchoStatus response_status = 7; + * @param \Grpc\Testing\EchoStatus $var + * @return $this */ - public function setResponseStatus(&$var) + public function setResponseStatus($var) { GPBUtil::checkMessage($var, \Grpc\Testing\EchoStatus::class); $this->response_status = $var; + + return $this; } /** - *
      * Whether the server should expect this request to be compressed.
-     * 
* - * .grpc.testing.BoolValue expect_compressed = 8; + * Generated from protobuf field .grpc.testing.BoolValue expect_compressed = 8; + * @return \Grpc\Testing\BoolValue */ public function getExpectCompressed() { @@ -290,16 +278,18 @@ class SimpleRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Whether the server should expect this request to be compressed.
-     * 
* - * .grpc.testing.BoolValue expect_compressed = 8; + * Generated from protobuf field .grpc.testing.BoolValue expect_compressed = 8; + * @param \Grpc\Testing\BoolValue $var + * @return $this */ - public function setExpectCompressed(&$var) + public function setExpectCompressed($var) { GPBUtil::checkMessage($var, \Grpc\Testing\BoolValue::class); $this->expect_compressed = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/SimpleResponse.php b/src/php/tests/qps/generated_code/Grpc/Testing/SimpleResponse.php index ccc628ec4c0..d49f33746e2 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/SimpleResponse.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/SimpleResponse.php @@ -9,37 +9,29 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Unary response, as configured by the request.
- * 
* - * Protobuf type grpc.testing.SimpleResponse + * Generated from protobuf message grpc.testing.SimpleResponse */ class SimpleResponse extends \Google\Protobuf\Internal\Message { /** - *
      * Payload to increase message size.
-     * 
* - * .grpc.testing.Payload payload = 1; + * Generated from protobuf field .grpc.testing.Payload payload = 1; */ private $payload = null; /** - *
      * The user the request came from, for verifying authentication was
      * successful when the client expected it.
-     * 
* - * string username = 2; + * Generated from protobuf field string username = 2; */ private $username = ''; /** - *
      * OAuth scope.
-     * 
* - * string oauth_scope = 3; + * Generated from protobuf field string oauth_scope = 3; */ private $oauth_scope = ''; @@ -49,11 +41,10 @@ class SimpleResponse extends \Google\Protobuf\Internal\Message } /** - *
      * Payload to increase message size.
-     * 
* - * .grpc.testing.Payload payload = 1; + * Generated from protobuf field .grpc.testing.Payload payload = 1; + * @return \Grpc\Testing\Payload */ public function getPayload() { @@ -61,25 +52,26 @@ class SimpleResponse extends \Google\Protobuf\Internal\Message } /** - *
      * Payload to increase message size.
-     * 
* - * .grpc.testing.Payload payload = 1; + * Generated from protobuf field .grpc.testing.Payload payload = 1; + * @param \Grpc\Testing\Payload $var + * @return $this */ - public function setPayload(&$var) + public function setPayload($var) { GPBUtil::checkMessage($var, \Grpc\Testing\Payload::class); $this->payload = $var; + + return $this; } /** - *
      * The user the request came from, for verifying authentication was
      * successful when the client expected it.
-     * 
* - * string username = 2; + * Generated from protobuf field string username = 2; + * @return string */ public function getUsername() { @@ -87,25 +79,26 @@ class SimpleResponse extends \Google\Protobuf\Internal\Message } /** - *
      * The user the request came from, for verifying authentication was
      * successful when the client expected it.
-     * 
* - * string username = 2; + * Generated from protobuf field string username = 2; + * @param string $var + * @return $this */ public function setUsername($var) { GPBUtil::checkString($var, True); $this->username = $var; + + return $this; } /** - *
      * OAuth scope.
-     * 
* - * string oauth_scope = 3; + * Generated from protobuf field string oauth_scope = 3; + * @return string */ public function getOauthScope() { @@ -113,16 +106,18 @@ class SimpleResponse extends \Google\Protobuf\Internal\Message } /** - *
      * OAuth scope.
-     * 
* - * string oauth_scope = 3; + * Generated from protobuf field string oauth_scope = 3; + * @param string $var + * @return $this */ public function setOauthScope($var) { GPBUtil::checkString($var, True); $this->oauth_scope = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/StreamingInputCallRequest.php b/src/php/tests/qps/generated_code/Grpc/Testing/StreamingInputCallRequest.php index d7bbc707799..a7460af83a3 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/StreamingInputCallRequest.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/StreamingInputCallRequest.php @@ -9,31 +9,25 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Client-streaming request.
- * 
* - * Protobuf type grpc.testing.StreamingInputCallRequest + * Generated from protobuf message grpc.testing.StreamingInputCallRequest */ class StreamingInputCallRequest extends \Google\Protobuf\Internal\Message { /** - *
      * Optional input payload sent along with the request.
-     * 
* - * .grpc.testing.Payload payload = 1; + * Generated from protobuf field .grpc.testing.Payload payload = 1; */ private $payload = null; /** - *
      * Whether the server should expect this request to be compressed. This field
      * is "nullable" in order to interoperate seamlessly with servers not able to
      * implement the full compression tests by introspecting the call to verify
      * the request's compression status.
-     * 
* - * .grpc.testing.BoolValue expect_compressed = 2; + * Generated from protobuf field .grpc.testing.BoolValue expect_compressed = 2; */ private $expect_compressed = null; @@ -43,11 +37,10 @@ class StreamingInputCallRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Optional input payload sent along with the request.
-     * 
* - * .grpc.testing.Payload payload = 1; + * Generated from protobuf field .grpc.testing.Payload payload = 1; + * @return \Grpc\Testing\Payload */ public function getPayload() { @@ -55,27 +48,28 @@ class StreamingInputCallRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Optional input payload sent along with the request.
-     * 
* - * .grpc.testing.Payload payload = 1; + * Generated from protobuf field .grpc.testing.Payload payload = 1; + * @param \Grpc\Testing\Payload $var + * @return $this */ - public function setPayload(&$var) + public function setPayload($var) { GPBUtil::checkMessage($var, \Grpc\Testing\Payload::class); $this->payload = $var; + + return $this; } /** - *
      * Whether the server should expect this request to be compressed. This field
      * is "nullable" in order to interoperate seamlessly with servers not able to
      * implement the full compression tests by introspecting the call to verify
      * the request's compression status.
-     * 
* - * .grpc.testing.BoolValue expect_compressed = 2; + * Generated from protobuf field .grpc.testing.BoolValue expect_compressed = 2; + * @return \Grpc\Testing\BoolValue */ public function getExpectCompressed() { @@ -83,19 +77,21 @@ class StreamingInputCallRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Whether the server should expect this request to be compressed. This field
      * is "nullable" in order to interoperate seamlessly with servers not able to
      * implement the full compression tests by introspecting the call to verify
      * the request's compression status.
-     * 
* - * .grpc.testing.BoolValue expect_compressed = 2; + * Generated from protobuf field .grpc.testing.BoolValue expect_compressed = 2; + * @param \Grpc\Testing\BoolValue $var + * @return $this */ - public function setExpectCompressed(&$var) + public function setExpectCompressed($var) { GPBUtil::checkMessage($var, \Grpc\Testing\BoolValue::class); $this->expect_compressed = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/StreamingInputCallResponse.php b/src/php/tests/qps/generated_code/Grpc/Testing/StreamingInputCallResponse.php index fdd1d0dbf8a..41f3893aa3f 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/StreamingInputCallResponse.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/StreamingInputCallResponse.php @@ -9,20 +9,16 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Client-streaming response.
- * 
* - * Protobuf type grpc.testing.StreamingInputCallResponse + * Generated from protobuf message grpc.testing.StreamingInputCallResponse */ class StreamingInputCallResponse extends \Google\Protobuf\Internal\Message { /** - *
      * Aggregated size of payloads received from the client.
-     * 
* - * int32 aggregated_payload_size = 1; + * Generated from protobuf field int32 aggregated_payload_size = 1; */ private $aggregated_payload_size = 0; @@ -32,11 +28,10 @@ class StreamingInputCallResponse extends \Google\Protobuf\Internal\Message } /** - *
      * Aggregated size of payloads received from the client.
-     * 
* - * int32 aggregated_payload_size = 1; + * Generated from protobuf field int32 aggregated_payload_size = 1; + * @return int */ public function getAggregatedPayloadSize() { @@ -44,16 +39,18 @@ class StreamingInputCallResponse extends \Google\Protobuf\Internal\Message } /** - *
      * Aggregated size of payloads received from the client.
-     * 
* - * int32 aggregated_payload_size = 1; + * Generated from protobuf field int32 aggregated_payload_size = 1; + * @param int $var + * @return $this */ public function setAggregatedPayloadSize($var) { GPBUtil::checkInt32($var); $this->aggregated_payload_size = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/StreamingOutputCallRequest.php b/src/php/tests/qps/generated_code/Grpc/Testing/StreamingOutputCallRequest.php index 2aab5fadad7..69d9cecffa7 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/StreamingOutputCallRequest.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/StreamingOutputCallRequest.php @@ -9,48 +9,38 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Server-streaming request.
- * 
* - * Protobuf type grpc.testing.StreamingOutputCallRequest + * Generated from protobuf message grpc.testing.StreamingOutputCallRequest */ class StreamingOutputCallRequest extends \Google\Protobuf\Internal\Message { /** - *
      * DEPRECATED, don't use. To be removed shortly.
      * Desired payload type in the response from the server.
      * If response_type is RANDOM, the payload from each response in the stream
      * might be of different types. This is to simulate a mixed type of payload
      * stream.
-     * 
* - * .grpc.testing.PayloadType response_type = 1; + * Generated from protobuf field .grpc.testing.PayloadType response_type = 1; */ private $response_type = 0; /** - *
      * Configuration for each expected response message.
-     * 
* - * repeated .grpc.testing.ResponseParameters response_parameters = 2; + * Generated from protobuf field repeated .grpc.testing.ResponseParameters response_parameters = 2; */ private $response_parameters; /** - *
      * Optional input payload sent along with the request.
-     * 
* - * .grpc.testing.Payload payload = 3; + * Generated from protobuf field .grpc.testing.Payload payload = 3; */ private $payload = null; /** - *
      * Whether server should return a given status
-     * 
* - * .grpc.testing.EchoStatus response_status = 7; + * Generated from protobuf field .grpc.testing.EchoStatus response_status = 7; */ private $response_status = null; @@ -60,15 +50,14 @@ class StreamingOutputCallRequest extends \Google\Protobuf\Internal\Message } /** - *
      * DEPRECATED, don't use. To be removed shortly.
      * Desired payload type in the response from the server.
      * If response_type is RANDOM, the payload from each response in the stream
      * might be of different types. This is to simulate a mixed type of payload
      * stream.
-     * 
* - * .grpc.testing.PayloadType response_type = 1; + * Generated from protobuf field .grpc.testing.PayloadType response_type = 1; + * @return int */ public function getResponseType() { @@ -76,28 +65,29 @@ class StreamingOutputCallRequest extends \Google\Protobuf\Internal\Message } /** - *
      * DEPRECATED, don't use. To be removed shortly.
      * Desired payload type in the response from the server.
      * If response_type is RANDOM, the payload from each response in the stream
      * might be of different types. This is to simulate a mixed type of payload
      * stream.
-     * 
* - * .grpc.testing.PayloadType response_type = 1; + * Generated from protobuf field .grpc.testing.PayloadType response_type = 1; + * @param int $var + * @return $this */ public function setResponseType($var) { GPBUtil::checkEnum($var, \Grpc\Testing\PayloadType::class); $this->response_type = $var; + + return $this; } /** - *
      * Configuration for each expected response message.
-     * 
* - * repeated .grpc.testing.ResponseParameters response_parameters = 2; + * Generated from protobuf field repeated .grpc.testing.ResponseParameters response_parameters = 2; + * @return \Google\Protobuf\Internal\RepeatedField */ public function getResponseParameters() { @@ -105,24 +95,25 @@ class StreamingOutputCallRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Configuration for each expected response message.
-     * 
* - * repeated .grpc.testing.ResponseParameters response_parameters = 2; + * Generated from protobuf field repeated .grpc.testing.ResponseParameters response_parameters = 2; + * @param \Grpc\Testing\ResponseParameters[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this */ - public function setResponseParameters(&$var) + public function setResponseParameters($var) { - GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\ResponseParameters::class); - $this->response_parameters = $var; + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Grpc\Testing\ResponseParameters::class); + $this->response_parameters = $arr; + + return $this; } /** - *
      * Optional input payload sent along with the request.
-     * 
* - * .grpc.testing.Payload payload = 3; + * Generated from protobuf field .grpc.testing.Payload payload = 3; + * @return \Grpc\Testing\Payload */ public function getPayload() { @@ -130,24 +121,25 @@ class StreamingOutputCallRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Optional input payload sent along with the request.
-     * 
* - * .grpc.testing.Payload payload = 3; + * Generated from protobuf field .grpc.testing.Payload payload = 3; + * @param \Grpc\Testing\Payload $var + * @return $this */ - public function setPayload(&$var) + public function setPayload($var) { GPBUtil::checkMessage($var, \Grpc\Testing\Payload::class); $this->payload = $var; + + return $this; } /** - *
      * Whether server should return a given status
-     * 
* - * .grpc.testing.EchoStatus response_status = 7; + * Generated from protobuf field .grpc.testing.EchoStatus response_status = 7; + * @return \Grpc\Testing\EchoStatus */ public function getResponseStatus() { @@ -155,16 +147,18 @@ class StreamingOutputCallRequest extends \Google\Protobuf\Internal\Message } /** - *
      * Whether server should return a given status
-     * 
* - * .grpc.testing.EchoStatus response_status = 7; + * Generated from protobuf field .grpc.testing.EchoStatus response_status = 7; + * @param \Grpc\Testing\EchoStatus $var + * @return $this */ - public function setResponseStatus(&$var) + public function setResponseStatus($var) { GPBUtil::checkMessage($var, \Grpc\Testing\EchoStatus::class); $this->response_status = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/StreamingOutputCallResponse.php b/src/php/tests/qps/generated_code/Grpc/Testing/StreamingOutputCallResponse.php index c06c78c9d8f..52315bb4995 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/StreamingOutputCallResponse.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/StreamingOutputCallResponse.php @@ -9,20 +9,16 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - *
  * Server-streaming response, as configured by the request and parameters.
- * 
* - * Protobuf type grpc.testing.StreamingOutputCallResponse + * Generated from protobuf message grpc.testing.StreamingOutputCallResponse */ class StreamingOutputCallResponse extends \Google\Protobuf\Internal\Message { /** - *
      * Payload to increase response size.
-     * 
* - * .grpc.testing.Payload payload = 1; + * Generated from protobuf field .grpc.testing.Payload payload = 1; */ private $payload = null; @@ -32,11 +28,10 @@ class StreamingOutputCallResponse extends \Google\Protobuf\Internal\Message } /** - *
      * Payload to increase response size.
-     * 
* - * .grpc.testing.Payload payload = 1; + * Generated from protobuf field .grpc.testing.Payload payload = 1; + * @return \Grpc\Testing\Payload */ public function getPayload() { @@ -44,16 +39,18 @@ class StreamingOutputCallResponse extends \Google\Protobuf\Internal\Message } /** - *
      * Payload to increase response size.
-     * 
* - * .grpc.testing.Payload payload = 1; + * Generated from protobuf field .grpc.testing.Payload payload = 1; + * @param \Grpc\Testing\Payload $var + * @return $this */ - public function setPayload(&$var) + public function setPayload($var) { GPBUtil::checkMessage($var, \Grpc\Testing\Payload::class); $this->payload = $var; + + return $this; } } diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/Void.php b/src/php/tests/qps/generated_code/Grpc/Testing/Void.php index 38c100845a0..623021d99b9 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/Void.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/Void.php @@ -9,7 +9,7 @@ use Google\Protobuf\Internal\RepeatedField; use Google\Protobuf\Internal\GPBUtil; /** - * Protobuf type grpc.testing.Void + * Generated from protobuf message grpc.testing.Void */ class Void extends \Google\Protobuf\Internal\Message { diff --git a/src/php/tests/qps/generated_code/Grpc/Testing/WorkerServiceClient.php b/src/php/tests/qps/generated_code/Grpc/Testing/WorkerServiceClient.php index 959d839c80a..98c244ff9dc 100644 --- a/src/php/tests/qps/generated_code/Grpc/Testing/WorkerServiceClient.php +++ b/src/php/tests/qps/generated_code/Grpc/Testing/WorkerServiceClient.php @@ -18,17 +18,19 @@ // // An integration test service that covers all the method signature permutations // of unary/streaming requests/responses. -namespace Grpc\Testing { +namespace Grpc\Testing; - class WorkerServiceClient extends \Grpc\BaseStub { +/** + */ +class WorkerServiceClient extends \Grpc\BaseStub { /** * @param string $hostname hostname * @param array $opts channel options - * @param Grpc\Channel $channel (optional) re-use channel object + * @param \Grpc\Channel $channel (optional) re-use channel object */ public function __construct($hostname, $opts, $channel = null) { - parent::__construct($hostname, $opts, $channel); + parent::__construct($hostname, $opts, $channel); } /** @@ -42,9 +44,9 @@ namespace Grpc\Testing { * @param array $options call options */ public function RunServer($metadata = [], $options = []) { - return $this->_bidiRequest('/grpc.testing.WorkerService/RunServer', - ['\Grpc\Testing\ServerStatus','decode'], - $metadata, $options); + return $this->_bidiRequest('/grpc.testing.WorkerService/RunServer', + ['\Grpc\Testing\ServerStatus','decode'], + $metadata, $options); } /** @@ -58,9 +60,9 @@ namespace Grpc\Testing { * @param array $options call options */ public function RunClient($metadata = [], $options = []) { - return $this->_bidiRequest('/grpc.testing.WorkerService/RunClient', - ['\Grpc\Testing\ClientStatus','decode'], - $metadata, $options); + return $this->_bidiRequest('/grpc.testing.WorkerService/RunClient', + ['\Grpc\Testing\ClientStatus','decode'], + $metadata, $options); } /** @@ -71,10 +73,10 @@ namespace Grpc\Testing { */ public function CoreCount(\Grpc\Testing\CoreRequest $argument, $metadata = [], $options = []) { - return $this->_simpleRequest('/grpc.testing.WorkerService/CoreCount', - $argument, - ['\Grpc\Testing\CoreResponse', 'decode'], - $metadata, $options); + return $this->_simpleRequest('/grpc.testing.WorkerService/CoreCount', + $argument, + ['\Grpc\Testing\CoreResponse', 'decode'], + $metadata, $options); } /** @@ -85,12 +87,10 @@ namespace Grpc\Testing { */ public function QuitWorker(\Grpc\Testing\Void $argument, $metadata = [], $options = []) { - return $this->_simpleRequest('/grpc.testing.WorkerService/QuitWorker', - $argument, - ['\Grpc\Testing\Void', 'decode'], - $metadata, $options); + return $this->_simpleRequest('/grpc.testing.WorkerService/QuitWorker', + $argument, + ['\Grpc\Testing\Void', 'decode'], + $metadata, $options); } - } - } diff --git a/src/php/tests/qps/histogram.php b/src/php/tests/qps/histogram.php new file mode 100644 index 00000000000..c11a67c6186 --- /dev/null +++ b/src/php/tests/qps/histogram.php @@ -0,0 +1,93 @@ +multiplier)); + } + + public function __construct($resolution, $max_possible) { + $this->resolution = $resolution; + $this->max_possible = $max_possible; + $this->sum = 0; + $this->sum_of_squares = 0; + $this->multiplier = 1+$resolution; + $this->count = 0; + $this->min_seen = $max_possible; + $this->max_seen = 0; + $this->buckets = array_fill(0, $this->bucket_for($max_possible)+1, 0); + } + + public function add($value) { + $this->sum += $value; + $this->sum_of_squares += $value * $value; + $this->count += 1; + if ($value < $this->min_seen) { + $this->min_seen = $value; + } + if ($value > $this->max_seen) { + $this->max_seen = $value; + } + $this->buckets[$this->bucket_for($value)] += 1; + } + + public function minimum() { + return $this->min_seen; + } + + public function maximum() { + return $this->max_seen; + } + + public function sum() { + return $this->sum; + } + + public function sum_of_squares() { + return $this->sum_of_squares; + } + + public function count() { + return $this->count; + } + + public function contents() { + return $this->buckets; + } + + public function clean() { + $this->sum = 0; + $this->sum_of_squares = 0; + $this->count = 0; + $this->min_seen = $this->max_possible; + $this->max_seen = 0; + $this->buckets = array_fill(0, $this->bucket_for($this->max_possible)+1, 0); + } +} diff --git a/src/proto/grpc/testing/proxy-service.proto b/src/proto/grpc/testing/proxy-service.proto index 8d0a9498c02..deaabd13651 100644 --- a/src/proto/grpc/testing/proxy-service.proto +++ b/src/proto/grpc/testing/proxy-service.proto @@ -15,6 +15,7 @@ syntax = "proto3"; import "src/proto/grpc/testing/control.proto"; +import "src/proto/grpc/testing/stats.proto"; package grpc.testing; @@ -25,5 +26,6 @@ message ProxyStat { service ProxyClientService { rpc GetConfig(Void) returns (ClientConfig); rpc ReportTime(stream ProxyStat) returns (Void); + rpc ReportHist(stream HistogramData) returns (Void); } diff --git a/src/ruby/qps/histogram.rb b/src/ruby/qps/histogram.rb index 1a27e172180..e48fb842be4 100644 --- a/src/ruby/qps/histogram.rb +++ b/src/ruby/qps/histogram.rb @@ -16,6 +16,8 @@ # Histogram class for use in performance testing and measurement +require 'thread' + class Histogram # Determine the bucket index for a given value # @param {number} value The value to check @@ -27,6 +29,7 @@ class Histogram # @param {number} resolution The resolution of the histogram # @param {number} max_possible The maximum value for the histogram def initialize(resolution, max_possible) + @lock = Mutex.new @resolution=resolution @max_possible=max_possible @sum=0 @@ -70,4 +73,16 @@ class Histogram def contents @buckets end + + def merge(hist) + @lock.synchronize do + @min_seen = hist.min_seen + @max_seen = hist.max_seen + @sum += hist.sum + @sum_of_squares += hist.sum_of_squares + @count += hist.count + received_bucket = hist.bucket.to_a + @buckets = @buckets.map.with_index{ |m,i| m + received_bucket[i].to_i } + end + end end diff --git a/src/ruby/qps/proxy-worker.rb b/src/ruby/qps/proxy-worker.rb index ae7006e7d60..fc5db50c1c8 100755 --- a/src/ruby/qps/proxy-worker.rb +++ b/src/ruby/qps/proxy-worker.rb @@ -41,32 +41,49 @@ class ProxyBenchmarkClientServiceImpl < Grpc::Testing::ProxyClientService::Servi @histmax = config.histogram_params.max_possible @histogram = Histogram.new(@histres, @histmax) @start_time = Time.now - # TODO(vjpai): Support multiple client channels by spawning off a PHP client per channel - if @use_c_ext - puts "Use protobuf c extension" - command = "php -d extension=" + File.expand_path(File.dirname(__FILE__)) + "/../../php/tests/qps/vendor/google/protobuf/php/ext/google/protobuf/modules/protobuf.so " + "-d extension=" + File.expand_path(File.dirname(__FILE__)) + "/../../php/ext/grpc/modules/grpc.so " + File.expand_path(File.dirname(__FILE__)) + "/../../php/tests/qps/client.php " + @mytarget - else - puts "Use protobuf php extension" - command = "php -d extension=" + File.expand_path(File.dirname(__FILE__)) + "/../../php/ext/grpc/modules/grpc.so " + File.expand_path(File.dirname(__FILE__)) + "/../../php/tests/qps/client.php " + @mytarget - end - puts "Starting command: " + command - @php_pid = spawn(command) + @php_pid = Array.new(@config.client_channels) + (0..@config.client_channels-1).each do |chan| + Thread.new { + if @use_c_ext + puts "Use protobuf c extension" + command = "php -d extension=" + File.expand_path(File.dirname(__FILE__)) + + "/../../php/tests/qps/vendor/google/protobuf/php/ext/google/protobuf/modules/protobuf.so " + + "-d extension=" + File.expand_path(File.dirname(__FILE__)) + "/../../php/ext/grpc/modules/grpc.so " + + File.expand_path(File.dirname(__FILE__)) + "/../../php/tests/qps/client.php " + @mytarget + " #{chan%@config.server_targets.length}" + else + puts "Use protobuf php extension" + command = "php -d extension=" + File.expand_path(File.dirname(__FILE__)) + "/../../php/ext/grpc/modules/grpc.so " + + File.expand_path(File.dirname(__FILE__)) + "/../../php/tests/qps/client.php " + @mytarget + " #{chan%@config.server_targets.length}" + end + puts "[ruby proxy] Starting #{chan}th php-client command use c protobuf #{@use_c_ext}: " + command + @php_pid[chan] = spawn(command) + while true + sleep + end + } + end end def stop - Process.kill("TERM", @php_pid) - Process.wait(@php_pid) + (0..@config.client_channels-1).each do |chan| + Process.kill("TERM", @php_pid[chan]) + Process.wait(@php_pid[chan]) + end end def get_config(_args, _call) - puts "Answering get_config" @config end def report_time(call) - puts "Starting a time reporting stream" call.each_remote_read do |lat| @histogram.add((lat.latency)*1e9) end Grpc::Testing::Void.new end + def report_hist(call) + call.each_remote_read do |lat| + @histogram.merge(lat) + end + Grpc::Testing::Void.new + end def mark(reset) lat = Grpc::Testing::HistogramData.new( bucket: @histogram.contents, @@ -135,7 +152,7 @@ def proxymain opts.on('--driver_port PORT', '') do |v| options['driver_port'] = v end - opts.on("-c", "--[no-]c_proto_ext", "Use protobuf C-extention") do |c| + opts.on("-c", "--[no-]use_protobuf_c_extension", "Use protobuf C-extention") do |c| options[:c_ext] = c end end.parse! @@ -143,7 +160,8 @@ def proxymain # Configure any errors with client or server child threads to surface Thread.abort_on_exception = true - s = GRPC::RpcServer.new + # Make sure proxy_server can handle the large number of calls in benchmarks + s = GRPC::RpcServer.new(pool_size: 1024) port = s.add_http2_port("0.0.0.0:" + options['driver_port'].to_s, :this_port_is_insecure) bmc = ProxyBenchmarkClientServiceImpl.new(port, options[:c_ext]) diff --git a/src/ruby/qps/src/proto/grpc/testing/proxy-service_pb.rb b/src/ruby/qps/src/proto/grpc/testing/proxy-service_pb.rb index d238198cca3..583b2ea6558 100644 --- a/src/ruby/qps/src/proto/grpc/testing/proxy-service_pb.rb +++ b/src/ruby/qps/src/proto/grpc/testing/proxy-service_pb.rb @@ -4,6 +4,7 @@ require 'google/protobuf' require 'src/proto/grpc/testing/control_pb' +require 'src/proto/grpc/testing/stats_pb' Google::Protobuf::DescriptorPool.generated_pool.build do add_message "grpc.testing.ProxyStat" do optional :latency, :double, 1 diff --git a/src/ruby/qps/src/proto/grpc/testing/proxy-service_services_pb.rb b/src/ruby/qps/src/proto/grpc/testing/proxy-service_services_pb.rb index 484cf05f92f..e7bb59b8a09 100644 --- a/src/ruby/qps/src/proto/grpc/testing/proxy-service_services_pb.rb +++ b/src/ruby/qps/src/proto/grpc/testing/proxy-service_services_pb.rb @@ -32,6 +32,7 @@ module Grpc rpc :GetConfig, Void, ClientConfig rpc :ReportTime, stream(ProxyStat), Void + rpc :ReportHist, stream(HistogramData), Void end Stub = Service.rpc_stub_class diff --git a/tools/jenkins/run_full_performance.sh b/tools/jenkins/run_full_performance.sh index 9598fd77349..195cc68003d 100755 --- a/tools/jenkins/run_full_performance.sh +++ b/tools/jenkins/run_full_performance.sh @@ -21,7 +21,7 @@ cd $(dirname $0)/../.. # run 8core client vs 8core server tools/run_tests/run_performance_tests.py \ - -l c++ csharp node ruby java python go node_express php_protobuf_php php_protobuf_c \ + -l c++ csharp node ruby java python go node_express php7 php7_protobuf_c \ --netperf \ --category scalable \ --bq_result_table performance_test.performance_experiment \ diff --git a/tools/run_tests/performance/build_performance.sh b/tools/run_tests/performance/build_performance.sh index e46d4e00403..e7d8db8e3ea 100755 --- a/tools/run_tests/performance/build_performance.sh +++ b/tools/run_tests/performance/build_performance.sh @@ -31,6 +31,7 @@ then make CONFIG=${CONFIG} EMBED_OPENSSL=true EMBED_ZLIB=true qps_worker qps_json_driver -j8 fi +PHP_ALREADY_BUILT="" for language in $@ do case "$language" in @@ -43,6 +44,14 @@ do "go") tools/run_tests/performance/build_performance_go.sh ;; + "php7"|"php7_protobuf_c") + if [ -n "$PHP_ALREADY_BUILT" ]; then + echo "Skipping PHP build as already built by $PHP_ALREADY_BUILT" + else + PHP_ALREADY_BUILT=$language + tools/run_tests/performance/build_performance_php7.sh + fi + ;; "csharp") python tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 --compiler coreclr ;; diff --git a/tools/run_tests/performance/build_performance_php7.sh b/tools/run_tests/performance/build_performance_php7.sh new file mode 100755 index 00000000000..141c9fd1c81 --- /dev/null +++ b/tools/run_tests/performance/build_performance_php7.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# Copyright 2017 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -ex + +cd $(dirname $0)/../../.. +CONFIG=${CONFIG:-opt} +python tools/run_tests/run_tests.py -l php7 -c $CONFIG --build_only -j 8 + +# Set up all dependences needed for PHP QPS test +cd src/php/tests/qps +composer install +# Install protobuf C-extension for php +cd vendor/google/protobuf/php/ext/google/protobuf +phpize +./configure +make + diff --git a/tools/run_tests/performance/run_worker_php.sh b/tools/run_tests/performance/run_worker_php.sh index e524d5286d0..8c7ceef2ff7 100755 --- a/tools/run_tests/performance/run_worker_php.sh +++ b/tools/run_tests/performance/run_worker_php.sh @@ -17,17 +17,7 @@ source ~/.rvm/scripts/rvm set -ex cd $(dirname $0)/../../.. -repo=$(pwd) -# First set up all dependences needed for PHP QPS test -cd $repo -cd src/php/tests/qps -composer install -# Install protobuf C-extension for php -cd vendor/google/protobuf/php/ext/google/protobuf -phpize -./configure -make + # The proxy worker for PHP is implemented in Ruby -cd $repo ruby src/ruby/qps/proxy-worker.rb $@ diff --git a/tools/run_tests/performance/scenario_config.py b/tools/run_tests/performance/scenario_config.py index 5019358ab3e..8f01eb4b2aa 100644 --- a/tools/run_tests/performance/scenario_config.py +++ b/tools/run_tests/performance/scenario_config.py @@ -800,39 +800,54 @@ class RubyLanguage: return 'ruby' -class PhpLanguage: +class Php7Language: - def __init__(self, use_protobuf_c_extension=False): + def __init__(self, php7_protobuf_c=False): pass - self.use_protobuf_c_extension=use_protobuf_c_extension + self.php7_protobuf_c=php7_protobuf_c self.safename = str(self) def worker_cmdline(self): - if self.use_protobuf_c_extension: - return ['tools/run_tests/performance/run_worker_php.sh -c'] + if self.php7_protobuf_c: + return ['tools/run_tests/performance/run_worker_php.sh --use_protobuf_c_extension'] return ['tools/run_tests/performance/run_worker_php.sh'] def worker_port_offset(self): + if self.php7_protobuf_c: + return 900 return 800 def scenarios(self): - php_extension_mode='php_protobuf_php_extension' - if self.use_protobuf_c_extension: - php_extension_mode='php_protobuf_c_extension' + php7_extension_mode='php7_protobuf_php_extension' + if self.php7_protobuf_c: + php7_extension_mode='php7_protobuf_c_extension' yield _ping_pong_scenario( - '%s_to_cpp_protobuf_sync_unary_ping_pong' % php_extension_mode, + '%s_to_cpp_protobuf_sync_unary_ping_pong' % php7_extension_mode, rpc_type='UNARY', client_type='SYNC_CLIENT', server_type='SYNC_SERVER', server_language='c++', async_server_threads=1) yield _ping_pong_scenario( - '%s_to_cpp_protobuf_sync_streaming_ping_pong' % php_extension_mode, + '%s_to_cpp_protobuf_sync_streaming_ping_pong' % php7_extension_mode, rpc_type='STREAMING', client_type='SYNC_CLIENT', server_type='SYNC_SERVER', server_language='c++', async_server_threads=1) - def __str__(self): - return 'php' + # TODO(ddyihai): Investigate why when async_server_threads=1/CPU usage 340%, the QPS performs + # better than async_server_threads=0/CPU usage 490%. + yield _ping_pong_scenario( + '%s_to_cpp_protobuf_sync_unary_qps_unconstrained' % php7_extension_mode, + rpc_type='UNARY', client_type='SYNC_CLIENT', server_type='ASYNC_SERVER', + server_language='c++', outstanding=1, async_server_threads=1, unconstrained_client='sync') + yield _ping_pong_scenario( + '%s_to_cpp_protobuf_sync_streaming_qps_unconstrained' % php7_extension_mode, + rpc_type='STREAMING', client_type='SYNC_CLIENT', server_type='ASYNC_SERVER', + server_language='c++', outstanding=1, async_server_threads=1, unconstrained_client='sync') + + def __str__(self): + if self.php7_protobuf_c: + return 'php7_protobuf_c' + return 'php7' class JavaLanguage: @@ -1031,8 +1046,8 @@ LANGUAGES = { 'node' : NodeLanguage(), 'node_express': NodeExpressLanguage(), 'ruby' : RubyLanguage(), - 'php_protobuf_php' : PhpLanguage(), - 'php_protobuf_c' : PhpLanguage(use_protobuf_c_extension=True), + 'php7' : Php7Language(), + 'php7_protobuf_c' : Php7Language(php7_protobuf_c=True), 'java' : JavaLanguage(), 'python' : PythonLanguage(), 'go' : GoLanguage(), From cd42eb0a8ea21e3002f4377b24d5f54ae7791833 Mon Sep 17 00:00:00 2001 From: Vijay Pai Date: Fri, 6 Oct 2017 15:26:00 -0700 Subject: [PATCH 164/180] Doc with plans for converting core to C++ --- doc/core/moving-to-c++.md | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 doc/core/moving-to-c++.md diff --git a/doc/core/moving-to-c++.md b/doc/core/moving-to-c++.md new file mode 100644 index 00000000000..33c3cfa0e66 --- /dev/null +++ b/doc/core/moving-to-c++.md @@ -0,0 +1,54 @@ +# Moving gRPC core to C++ + +October 2017 + +ctiller, markdroth, vjpai + +## Background and Goal + +gRPC core was originally written in C89 for several reasons (possibility of +kernel integration, ease of wrapping, compiler support, etc). Over time, this +was changed to C99 as all relevant compilers in active use came to support C99 +effectively. Now, gRPC core is C++ (although the code is still idiomatically C +code) with C linkage for public functions. Throughout all of these transitions, +the public header files are committed to remain in C89. + +The goal now is to make gRPC core true idiomatic C++ compatible with +[Google's C++ style guide](https://google.github.io/styleguide/cppguide.html). + +## Constraints + +- No use of standard library + - Standard library makes wrapping difficult/impossible and also reduces platform portability + - This takes precedence over using C++ style guide +- But lambdas are ok +- As are third-party libraries that meet our build requirements (such as many parts of abseil) +- There will be some C++ features that don't work + - `new` and `delete` + - pure virtual functions are not allowed because the message that prints out "Pure Virtual Function called" is part of the standard library + - Make a `#define GRPC_ABSTRACT {GPR_ASSERT(false);}` instead of `= 0;` +- The sanity for making sure that we don't depend on libstdc++ is that at least some tests should explicitly not include it + - Most tests can migrate to use gtest + - There are tremendous # of code paths that can now be exposed to unit tests because of the use of gtest and C++ + - But at least some tests should not use gtest + + +## Roadmap + +- What should be the phases of getting code converted to idiomatic C++ + - Opportunistically do leaf code that other parts don't depend on + - Spend a little time deciding how to do non-leaf stuff that isn't central or polymorphic (e.g., timer, call combiner) + - For big central or polymorphic interfaces, actually do an API review (for things like transport, filter API, endpoint, closure, exec_ctx, ...) . + - Core internal changes don't need a gRFC, but core surface changes do + - But an API review should include at least a PR with the header change and tests to use it before it gets used more broadly + - iomgr polling for POSIX is a gray area whether it's a leaf or central +- What is the schedule? + - In Q4 2017, if some stuff happens opportunistically, great; otherwise ¯\\\_(ツ)\_/¯ + - More updates as team time becomes available and committed to this project + +## Implications for C++ API and wrapped languages + +- For C++ structs, switch to `using` when possible (e.g., Slice, ByteBuffer, ...) +- Can we get wrapped languages to a point where we can statically link C++? This will take a year in probability but that would allow the use of `std::` + - Are there other environments that don't support std library, like maybe Android NDK? + - Probably, that might push things out to 18 months From 412e7ca6e713cfbce3db09e22c3ca185f4f09460 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 6 Oct 2017 16:30:12 -0700 Subject: [PATCH 165/180] Adding PR #12882 changes --- .../chttp2/transport/flow_control.cc | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/flow_control.cc b/src/core/ext/transport/chttp2/transport/flow_control.cc index 639e51da703..2428e2526d3 100644 --- a/src/core/ext/transport/chttp2/transport/flow_control.cc +++ b/src/core/ext/transport/chttp2/transport/flow_control.cc @@ -399,15 +399,16 @@ static double get_pid_controller_guess(grpc_exec_ctx* exec_ctx, if (!tfc->pid_controller_initialized) { tfc->last_pid_update = now; tfc->pid_controller_initialized = true; - grpc_pid_controller_init( - &tfc->pid_controller, - (grpc_pid_controller_args){.gain_p = 4, - .gain_i = 8, - .gain_d = 0, - .initial_control_value = target, - .min_control_value = -1, - .max_control_value = 25, - .integral_range = 10}); + grpc_pid_controller_args args; + memset(&args, 0, sizeof(args)); + args.gain_p = 4; + args.gain_i = 8; + args.gain_d = 0; + args.initial_control_value = target; + args.min_control_value = -1; + args.max_control_value = 25; + args.integral_range = 10; + grpc_pid_controller_init(&tfc->pid_controller, args); return pow(2, target); } double bdp_error = target - grpc_pid_controller_last(&tfc->pid_controller); From 4b6af749e3cf8015065e3a3a66aab931acdc3296 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 6 Oct 2017 16:21:11 -0700 Subject: [PATCH 166/180] explicit type conversion --- test/core/transport/timeout_encoding_test.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/test/core/transport/timeout_encoding_test.c b/test/core/transport/timeout_encoding_test.c index 3010c6d057d..30357faed36 100644 --- a/test/core/transport/timeout_encoding_test.c +++ b/test/core/transport/timeout_encoding_test.c @@ -102,18 +102,20 @@ void decode_suite(char ext, grpc_millis (*answer)(int64_t x)) { } static grpc_millis millis_from_nanos(int64_t x) { - return x / GPR_NS_PER_MS + (x % GPR_NS_PER_MS != 0); + return (grpc_millis)(x / GPR_NS_PER_MS + (x % GPR_NS_PER_MS != 0)); } static grpc_millis millis_from_micros(int64_t x) { - return x / GPR_US_PER_MS + (x % GPR_US_PER_MS != 0); + return (grpc_millis)(x / GPR_US_PER_MS + (x % GPR_US_PER_MS != 0)); +} +static grpc_millis millis_from_millis(int64_t x) { return (grpc_millis)x; } +static grpc_millis millis_from_seconds(int64_t x) { + return (grpc_millis)(x * GPR_MS_PER_SEC); } -static grpc_millis millis_from_millis(int64_t x) { return x; } -static grpc_millis millis_from_seconds(int64_t x) { return x * GPR_MS_PER_SEC; } static grpc_millis millis_from_minutes(int64_t x) { - return x * 60 * GPR_MS_PER_SEC; + return (grpc_millis)(x * 60 * GPR_MS_PER_SEC); } static grpc_millis millis_from_hours(int64_t x) { - return x * 3600 * GPR_MS_PER_SEC; + return (grpc_millis)(x * 3600 * GPR_MS_PER_SEC); } void test_decoding(void) { From 08708ae25d9855e7469abb2745352cc449541a9b Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 6 Oct 2017 17:03:53 -0700 Subject: [PATCH 167/180] backoff_test explicity conversion --- test/core/backoff/backoff_test.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/core/backoff/backoff_test.c b/test/core/backoff/backoff_test.c index 3848b2a54d4..a29cce6cc7b 100644 --- a/test/core/backoff/backoff_test.c +++ b/test/core/backoff/backoff_test.c @@ -105,8 +105,9 @@ static void test_jitter_backoff(void) { const int64_t initial_timeout = 500; const double jitter = 0.1; grpc_backoff backoff; - grpc_backoff_init(&backoff, initial_timeout, 1.0 /* multiplier */, jitter, - 100 /* min timeout */, 1000 /* max timeout */); + grpc_backoff_init(&backoff, (grpc_millis)initial_timeout, + 1.0 /* multiplier */, jitter, 100 /* min timeout */, + 1000 /* max timeout */); backoff.rng_state = 0; // force consistent PRNG From 656041b3cc7c1a4549154f062dc8004247e97051 Mon Sep 17 00:00:00 2001 From: Muxi Yan Date: Fri, 6 Oct 2017 15:33:10 -0700 Subject: [PATCH 168/180] Fix GID related subspec lint problem --- gRPC.podspec | 3 +++ templates/gRPC.podspec.template | 3 +++ 2 files changed, 6 insertions(+) diff --git a/gRPC.podspec b/gRPC.podspec index 6bec50f0de3..4c6cd3535f6 100644 --- a/gRPC.podspec +++ b/gRPC.podspec @@ -63,10 +63,13 @@ Pod::Spec.new do |s| end s.subspec 'GID' do |ss| + ss.ios.deployment_target = '7.0' + ss.header_mappings_dir = "#{src_dir}" ss.source_files = "#{src_dir}/GRPCCall+GID.{h,m}" + ss.dependency "#{s.name}/Main", version ss.dependency 'Google/SignIn' end end diff --git a/templates/gRPC.podspec.template b/templates/gRPC.podspec.template index 5c92f9f9c42..4b360cfb4c4 100644 --- a/templates/gRPC.podspec.template +++ b/templates/gRPC.podspec.template @@ -65,10 +65,13 @@ end s.subspec 'GID' do |ss| + ss.ios.deployment_target = '7.0' + ss.header_mappings_dir = "#{src_dir}" ss.source_files = "#{src_dir}/GRPCCall+GID.{h,m}" + ss.dependency "#{s.name}/Main", version ss.dependency 'Google/SignIn' end end From cd9729780afcb8894709ec19175a3a5cf337a78f Mon Sep 17 00:00:00 2001 From: Muxi Yan Date: Fri, 6 Oct 2017 13:46:27 -0700 Subject: [PATCH 169/180] Make platform-specific headers textual --- gRPC-Core.podspec | 11 +++++ include/grpc/module.modulemap | 32 ++++++++++----- src/objective-c/BoringSSL.podspec | 6 ++- templates/gRPC-Core.podspec.template | 10 +---- .../include/grpc/module.modulemap.template | 41 +++++++++++++++---- 5 files changed, 70 insertions(+), 30 deletions(-) diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 08ef7387322..f19b672f5ac 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -106,6 +106,8 @@ Pod::Spec.new do |s| ss.source_files = 'include/grpc/support/alloc.h', 'include/grpc/support/atm.h', 'include/grpc/support/atm_gcc_atomic.h', + 'include/grpc/support/atm_gcc_sync.h', + 'include/grpc/support/atm_windows.h', 'include/grpc/support/avl.h', 'include/grpc/support/cmdline.h', 'include/grpc/support/cpu.h', @@ -120,13 +122,18 @@ Pod::Spec.new do |s| 'include/grpc/support/sync_custom.h', 'include/grpc/support/sync_generic.h', 'include/grpc/support/sync_posix.h', + 'include/grpc/support/sync_windows.h', 'include/grpc/support/thd.h', 'include/grpc/support/time.h', 'include/grpc/support/tls.h', + 'include/grpc/support/tls_gcc.h', + 'include/grpc/support/tls_msvc.h', 'include/grpc/support/tls_pthread.h', 'include/grpc/support/useful.h', 'include/grpc/impl/codegen/atm.h', 'include/grpc/impl/codegen/atm_gcc_atomic.h', + 'include/grpc/impl/codegen/atm_gcc_sync.h', + 'include/grpc/impl/codegen/atm_windows.h', 'include/grpc/impl/codegen/gpr_slice.h', 'include/grpc/impl/codegen/gpr_types.h', 'include/grpc/impl/codegen/port_platform.h', @@ -134,6 +141,7 @@ Pod::Spec.new do |s| 'include/grpc/impl/codegen/sync_custom.h', 'include/grpc/impl/codegen/sync_generic.h', 'include/grpc/impl/codegen/sync_posix.h', + 'include/grpc/impl/codegen/sync_windows.h', 'include/grpc/impl/codegen/byte_buffer.h', 'include/grpc/impl/codegen/byte_buffer_reader.h', 'include/grpc/impl/codegen/compression_types.h', @@ -145,6 +153,8 @@ Pod::Spec.new do |s| 'include/grpc/impl/codegen/status.h', 'include/grpc/impl/codegen/atm.h', 'include/grpc/impl/codegen/atm_gcc_atomic.h', + 'include/grpc/impl/codegen/atm_gcc_sync.h', + 'include/grpc/impl/codegen/atm_windows.h', 'include/grpc/impl/codegen/gpr_slice.h', 'include/grpc/impl/codegen/gpr_types.h', 'include/grpc/impl/codegen/port_platform.h', @@ -152,6 +162,7 @@ Pod::Spec.new do |s| 'include/grpc/impl/codegen/sync_custom.h', 'include/grpc/impl/codegen/sync_generic.h', 'include/grpc/impl/codegen/sync_posix.h', + 'include/grpc/impl/codegen/sync_windows.h', 'include/grpc/grpc_security.h', 'include/grpc/byte_buffer.h', 'include/grpc/byte_buffer_reader.h', diff --git a/include/grpc/module.modulemap b/include/grpc/module.modulemap index 226cc6cf871..342adc0dc93 100644 --- a/include/grpc/module.modulemap +++ b/include/grpc/module.modulemap @@ -4,7 +4,6 @@ framework module grpc { header "support/alloc.h" header "support/atm.h" - header "support/atm_gcc_atomic.h" header "support/avl.h" header "support/cmdline.h" header "support/cpu.h" @@ -16,23 +15,17 @@ framework module grpc { header "support/string_util.h" header "support/subprocess.h" header "support/sync.h" - header "support/sync_custom.h" header "support/sync_generic.h" - header "support/sync_posix.h" header "support/thd.h" header "support/time.h" header "support/tls.h" - header "support/tls_pthread.h" header "support/useful.h" header "impl/codegen/atm.h" - header "impl/codegen/atm_gcc_atomic.h" header "impl/codegen/gpr_slice.h" header "impl/codegen/gpr_types.h" header "impl/codegen/port_platform.h" header "impl/codegen/sync.h" - header "impl/codegen/sync_custom.h" header "impl/codegen/sync_generic.h" - header "impl/codegen/sync_posix.h" header "impl/codegen/byte_buffer.h" header "impl/codegen/byte_buffer_reader.h" header "impl/codegen/compression_types.h" @@ -43,14 +36,11 @@ framework module grpc { header "impl/codegen/slice.h" header "impl/codegen/status.h" header "impl/codegen/atm.h" - header "impl/codegen/atm_gcc_atomic.h" header "impl/codegen/gpr_slice.h" header "impl/codegen/gpr_types.h" header "impl/codegen/port_platform.h" header "impl/codegen/sync.h" - header "impl/codegen/sync_custom.h" header "impl/codegen/sync_generic.h" - header "impl/codegen/sync_posix.h" header "grpc_security.h" header "byte_buffer.h" header "byte_buffer_reader.h" @@ -65,6 +55,28 @@ framework module grpc { header "support/workaround_list.h" header "census.h" + textual header "support/atm_gcc_atomic.h" + textual header "support/atm_gcc_sync.h" + textual header "support/atm_windows.h" + textual header "support/sync_custom.h" + textual header "support/sync_posix.h" + textual header "support/sync_windows.h" + textual header "support/tls_gcc.h" + textual header "support/tls_msvc.h" + textual header "support/tls_pthread.h" + textual header "impl/codegen/atm_gcc_atomic.h" + textual header "impl/codegen/atm_gcc_sync.h" + textual header "impl/codegen/atm_windows.h" + textual header "impl/codegen/sync_custom.h" + textual header "impl/codegen/sync_posix.h" + textual header "impl/codegen/sync_windows.h" + textual header "impl/codegen/atm_gcc_atomic.h" + textual header "impl/codegen/atm_gcc_sync.h" + textual header "impl/codegen/atm_windows.h" + textual header "impl/codegen/sync_custom.h" + textual header "impl/codegen/sync_posix.h" + textual header "impl/codegen/sync_windows.h" + export * module * { export * } } diff --git a/src/objective-c/BoringSSL.podspec b/src/objective-c/BoringSSL.podspec index 37798ec3c6b..c61afc1a8f7 100644 --- a/src/objective-c/BoringSSL.podspec +++ b/src/objective-c/BoringSSL.podspec @@ -31,7 +31,7 @@ Pod::Spec.new do |s| s.name = 'BoringSSL' - version = '9.0' + version = '9.1' s.version = version s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google’s needs.' # Adapted from the homepage: @@ -67,9 +67,10 @@ Pod::Spec.new do |s| # "The name and email addresses of the library maintainers, not the Podspec maintainer." s.authors = 'Adam Langley', 'David Benjamin', 'Matt Braithwaite' + major_version = version[0] + '.0' s.source = { :git => 'https://boringssl.googlesource.com/boringssl', - :tag => "version_for_cocoapods_#{version}", + :tag => "version_for_cocoapods_#{major_version}", } name = 'openssl' @@ -186,6 +187,7 @@ Pod::Spec.new do |s| cat > include/openssl/BoringSSL.modulemap < framework module grpc { umbrella header "grpc.h" ${header_lines(grpc_public_headers_no_dir(libs))} + ${textual_header_lines(grpc_public_textual_headers_no_dir(libs))} + export * module * { export * } } From 128d800bb6fc5c010ed2182c4cf9023715b7bb08 Mon Sep 17 00:00:00 2001 From: Muxi Yan Date: Fri, 6 Oct 2017 16:27:47 -0700 Subject: [PATCH 170/180] Add comment --- templates/include/grpc/module.modulemap.template | 3 +++ 1 file changed, 3 insertions(+) diff --git a/templates/include/grpc/module.modulemap.template b/templates/include/grpc/module.modulemap.template index 9dde240e437..e18bc3de50d 100644 --- a/templates/include/grpc/module.modulemap.template +++ b/templates/include/grpc/module.modulemap.template @@ -27,6 +27,9 @@ out = [hdr.split('/', 2)[2] for hdr in out] return out + # Generate the list of platform-specific headers as textual headers so that + # they are not built when the module is built but only when they are named by + # an #include directive. def grpc_public_textual_headers_no_dir(libs): out = [] for lib in libs: From e6b9c787c0314d31060c0c4547bf12e087fb4e93 Mon Sep 17 00:00:00 2001 From: Adele Zhou Date: Wed, 4 Oct 2017 15:53:03 -0700 Subject: [PATCH 171/180] Exit 1 when there are failures. --- tools/interop_matrix/README.md | 2 +- tools/interop_matrix/create_testcases.sh | 15 +++++----- .../run_interop_matrix_tests.py | 20 +++++++++---- tools/interop_matrix/testcases/cxx__master | 28 +++++++------------ tools/interop_matrix/testcases/go__master | 28 +++++++------------ tools/interop_matrix/testcases/java__master | 28 +++++++------------ 6 files changed, 54 insertions(+), 67 deletions(-) diff --git a/tools/interop_matrix/README.md b/tools/interop_matrix/README.md index c2f354399f0..c0e9a33c5e4 100644 --- a/tools/interop_matrix/README.md +++ b/tools/interop_matrix/README.md @@ -47,7 +47,7 @@ For more details on each step, refer to sections below. ## Instructions for running test cases against GCR images - Run `tools/interop_matrix/run_interop_matrix_tests.py`. Useful options: - - `--release` specifies a git release tag. Defaults to `--release=master`. Make sure the GCR images with the tag have been created using `create_matrix_images.py` above. + - `--release` specifies a git release tag. Defaults to `--release=all`. Make sure the GCR images with the tag have been created using `create_matrix_images.py` above. - `--language` specifies a language. Defaults to `--language=all`. For example, To test all languages for all gRPC releases across all runtimes, do `tools/interop_matrix/run_interop_matrix_test.py --release=all`. - The output for all the test cases is recorded in a junit style xml file (default to 'report.xml'). diff --git a/tools/interop_matrix/create_testcases.sh b/tools/interop_matrix/create_testcases.sh index e89bad93cce..3d34b2ef25a 100755 --- a/tools/interop_matrix/create_testcases.sh +++ b/tools/interop_matrix/create_testcases.sh @@ -33,8 +33,10 @@ echo "Create '$LANG' test cases for gRPC release '${RELEASE:=master}'" echo $client_lang # Invoke run_interop_test in manual mode. +# TODO(adelez): Add cloud_gateways when we figure out how to skip them if not +# running in GCE. ${GRPC_ROOT}/tools/run_tests/run_interop_tests.py -l $LANG --use_docker \ - --cloud_to_prod --cloud_to_prod_auth --prod_servers default cloud_gateway_v4 --manual_run + --cloud_to_prod --prod_servers default gateway_v4 --manual_run # Clean up function cleanup { @@ -53,16 +55,15 @@ function cleanup { [ -e "$CMDS_SH" ] && rm $CMDS_SH } trap cleanup EXIT -# TODO(adelez): skip sanity checks b/c auth tests only work in GCE. Need to be -# able to filter them out and bring back the check. +# TODO(adelez): add test auth tests but do not run if not testing on GCE. # Running the testcases as sanity unless we are asked to skip. -#[ -z "$SKIP_TEST" ] && (echo "Running test cases: $CMDS_SH"; sh $CMDS_SH) +[ -z "$SKIP_TEST" ] && (echo "Running test cases: $CMDS_SH"; sh $CMDS_SH) # Convert c++ to cxx. +if [$LANG == "c++" ]; then +client_lang="cxx" +else client_lang=$LANG -if [ $LANG=="c++" ] - then - client_lang="cxx" fi mkdir -p $TESTCASES_DIR testcase=$TESTCASES_DIR/${client_lang}__$RELEASE diff --git a/tools/interop_matrix/run_interop_matrix_tests.py b/tools/interop_matrix/run_interop_matrix_tests.py index 4315c8277df..510bc7124db 100755 --- a/tools/interop_matrix/run_interop_matrix_tests.py +++ b/tools/interop_matrix/run_interop_matrix_tests.py @@ -48,9 +48,8 @@ argp.add_argument('-j', '--jobs', default=multiprocessing.cpu_count(), type=int) argp.add_argument('--gcr_path', default='gcr.io/grpc-testing', help='Path of docker images in Google Container Registry') - argp.add_argument('--release', - default='master', + default='all', choices=['all', 'master'] + _RELEASES, help='Release tags to test. When testing all ' 'releases defined in client_matrix.py, use "all".') @@ -94,14 +93,15 @@ def find_all_images_for_lang(lang): for runtime in client_matrix.LANG_RUNTIME_MATRIX[lang]: image_path = '%s/grpc_interop_%s' % (args.gcr_path, runtime) output = subprocess.check_output(['gcloud', 'beta', 'container', 'images', - 'list-tags', '--format=json', image_path]) + 'list-tags', '--format=json', image_path]) docker_image_list = json.loads(output) # All images should have a single tag or no tag. + # TODO(adelez): Remove tagless images. tags = [i['tags'][0] for i in docker_image_list if i['tags']] jobset.message('START', 'Found images for %s: %s' % (image_path, tags), do_newline=True) skipped = len(docker_image_list) - len(tags) - jobset.message('START', 'Skipped images (no-tag/unknown-tag): %d' % skipped, + jobset.message('SKIPPED', 'Skipped images (no-tag/unknown-tag): %d' % skipped, do_newline=True) # Filter tags based on the releases. images[runtime] = [(tag,'%s:%s' % (image_path,tag)) for tag in tags if @@ -148,6 +148,7 @@ def run_tests_for_lang(lang, runtime, images): images is a list of (, ) tuple. """ + total_num_failures = 0 for image_tuple in images: release, image = image_tuple jobset.message('START', 'Testing %s' % image, do_newline=True) @@ -161,6 +162,7 @@ def run_tests_for_lang(lang, runtime, images): maxjobs=args.jobs) if num_failures: jobset.message('FAILED', 'Some tests failed', do_newline=True) + total_num_failures += num_failures else: jobset.message('SUCCESS', 'All tests passed', do_newline=True) @@ -170,6 +172,9 @@ def run_tests_for_lang(lang, runtime, images): 'grpc_interop_matrix', '%s__%s %s'%(lang,runtime,release), str(uuid.uuid4())) + + return total_num_failures + _docker_images_cleanup = [] def cleanup(): @@ -180,9 +185,14 @@ def cleanup(): atexit.register(cleanup) languages = args.language if args.language != ['all'] else _LANGUAGES +total_num_failures = 0 for lang in languages: docker_images = find_all_images_for_lang(lang) for runtime in sorted(docker_images.keys()): - run_tests_for_lang(lang, runtime, docker_images[runtime]) + total_num_failures += run_tests_for_lang(lang, runtime, docker_images[runtime]) report_utils.create_xml_report_file(_xml_report_tree, args.report_file) + +if total_num_failures: + sys.exit(1) +sys.exit(0) diff --git a/tools/interop_matrix/testcases/cxx__master b/tools/interop_matrix/testcases/cxx__master index 2f2fc969b1d..e0fed53f088 100755 --- a/tools/interop_matrix/testcases/cxx__master +++ b/tools/interop_matrix/testcases/cxx__master @@ -1,5 +1,5 @@ #!/bin/bash -echo "Testing ${docker_image:=grpc_interop_cxx:ff1e1fd8-fbc5-4499-85eb-565a1f02e7ab}" +echo "Testing ${docker_image:=grpc_interop_cxx:78de6f80-524d-4bc9-bfb2-f00c24ceafed}" docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" @@ -9,20 +9,12 @@ docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_stream" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=client_streaming" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=server_streaming" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=compute_engine_creds --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=jwt_token_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=oauth2_auth_token --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=per_rpc_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=compute_engine_creds --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=jwt_token_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=oauth2_auth_token --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" -docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=per_rpc_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_stream" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=client_streaming" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=server_streaming" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" +docker run -i --rm=true -w /var/local/git/grpc --net=host $docker_image bash -c "bins/opt/interop_client --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" diff --git a/tools/interop_matrix/testcases/go__master b/tools/interop_matrix/testcases/go__master index a6bb5ee9d9f..33b25d6a16b 100755 --- a/tools/interop_matrix/testcases/go__master +++ b/tools/interop_matrix/testcases/go__master @@ -1,5 +1,5 @@ #!/bin/bash -echo "Testing ${docker_image:=grpc_interop_go:e7e7cdbd-56bd-490e-b33a-dd27e4cfb9c3}" +echo "Testing ${docker_image:=grpc_interop_go:dd8fbf3a-4964-4387-9997-5dadeea09835}" docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" @@ -9,20 +9,12 @@ docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=h docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_stream" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=client_streaming" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=server_streaming" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=compute_engine_creds --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=jwt_token_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=oauth2_auth_token --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=per_rpc_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=compute_engine_creds --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=jwt_token_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=oauth2_auth_token --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" -docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=per_rpc_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_stream" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=client_streaming" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=server_streaming" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" +docker run -i --rm=true -w /go/src/google.golang.org/grpc/interop/client --net=host $docker_image bash -c "go run client.go --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" diff --git a/tools/interop_matrix/testcases/java__master b/tools/interop_matrix/testcases/java__master index 9dab1e39d20..dbd87279a6d 100755 --- a/tools/interop_matrix/testcases/java__master +++ b/tools/interop_matrix/testcases/java__master @@ -1,5 +1,5 @@ #!/bin/bash -echo "Testing ${docker_image:=grpc_interop_java:8541e45e-5275-43cb-a017-d4dde2d98f2f}" +echo "Testing ${docker_image:=grpc_interop_java:a764b50c-1788-4387-9b9e-5cfa93927006}" docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" @@ -9,20 +9,12 @@ docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_i docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_stream" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=client_streaming" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=server_streaming" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=compute_engine_creds --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=jwt_token_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=oauth2_auth_token --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=per_rpc_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=compute_engine_creds --oauth_scope=https://www.googleapis.com/auth/xapi.zoo --default_service_account=830293263384-compute@developer.gserviceaccount.com" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=jwt_token_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=oauth2_auth_token --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" -docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.255 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=per_rpc_creds --service_account_key_file=/root/service_account/GrpcTesting-726eb1347f15.json --oauth_scope=https://www.googleapis.com/auth/xapi.zoo" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=large_unary" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_unary" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=ping_pong" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=empty_stream" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=client_streaming" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=server_streaming" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_begin" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=cancel_after_first_response" +docker run -i --rm=true -w /var/local/git/grpc/../grpc-java --net=host $docker_image bash -c "./run-test-client.sh --server_host=216.239.32.254 --server_host_override=grpc-test4.sandbox.googleapis.com --server_port=443 --use_tls=true --test_case=timeout_on_sleeping_server" From d6712390a6b24732fb1feeced6ad68e9ac54ea5c Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 6 Oct 2017 17:54:16 -0700 Subject: [PATCH 172/180] tcp_client_uv_test changes --- test/core/iomgr/tcp_client_uv_test.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/core/iomgr/tcp_client_uv_test.c b/test/core/iomgr/tcp_client_uv_test.c index 0f1db4705bb..53061100a26 100644 --- a/test/core/iomgr/tcp_client_uv_test.c +++ b/test/core/iomgr/tcp_client_uv_test.c @@ -110,7 +110,7 @@ void test_succeeds(void) { (int *)&resolved_addr.len) == 0); GRPC_CLOSURE_INIT(&done, must_succeed, NULL, grpc_schedule_on_exec_ctx); grpc_tcp_client_connect(&exec_ctx, &done, &g_connecting, NULL, NULL, - &resolved_addr, gpr_inf_future(GPR_CLOCK_REALTIME)); + &resolved_addr, GRPC_MILLIS_INF_FUTURE); gpr_mu_lock(g_mu); @@ -154,7 +154,7 @@ void test_fails(void) { /* connect to a broken address */ GRPC_CLOSURE_INIT(&done, must_fail, NULL, grpc_schedule_on_exec_ctx); grpc_tcp_client_connect(&exec_ctx, &done, &g_connecting, NULL, NULL, - &resolved_addr, gpr_inf_future(GPR_CLOCK_REALTIME)); + &resolved_addr, GRPC_MILLIS_INF_FUTURE); gpr_mu_lock(g_mu); From cd58b2dceac4e9caaf299fa9409d6f82e40d8428 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 6 Oct 2017 18:10:05 -0700 Subject: [PATCH 173/180] uv changes for grpc_pollset_work --- test/core/iomgr/tcp_client_uv_test.c | 11 +++++------ test/core/iomgr/tcp_server_uv_test.c | 3 +-- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/test/core/iomgr/tcp_client_uv_test.c b/test/core/iomgr/tcp_client_uv_test.c index 53061100a26..f94e589b8d7 100644 --- a/test/core/iomgr/tcp_client_uv_test.c +++ b/test/core/iomgr/tcp_client_uv_test.c @@ -42,8 +42,8 @@ static grpc_pollset *g_pollset; static int g_connections_complete = 0; static grpc_endpoint *g_connecting = NULL; -static gpr_timespec test_deadline(void) { - return grpc_timeout_seconds_to_deadline(10); +static grpc_millis test_deadline(void) { + return grpc_timespec_to_millis_round_up(grpc_timeout_seconds_to_deadline(10)); } static void finish_connection(grpc_exec_ctx *exec_ctx) { @@ -119,7 +119,6 @@ void test_succeeds(void) { GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), grpc_timeout_seconds_to_deadline(5)))); gpr_mu_unlock(g_mu); grpc_exec_ctx_flush(&exec_ctx); @@ -162,17 +161,17 @@ void test_fails(void) { while (g_connections_complete == connections_complete_before) { grpc_pollset_worker *worker = NULL; gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); - gpr_timespec polling_deadline = test_deadline(); + grpc_millis polling_deadline = test_deadline(); switch (grpc_timer_check(&exec_ctx, now, &polling_deadline)) { case GRPC_TIMERS_FIRED: break; case GRPC_TIMERS_NOT_CHECKED: - polling_deadline = now; + polling_deadline = grpc_timespec_to_millis_round_up(now); /* fall through */ case GRPC_TIMERS_CHECKED_AND_EMPTY: GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, g_pollset, &worker, - now, polling_deadline))); + polling_deadline))); break; } gpr_mu_unlock(g_mu); diff --git a/test/core/iomgr/tcp_server_uv_test.c b/test/core/iomgr/tcp_server_uv_test.c index bd8ccb4f603..7bf5b868850 100644 --- a/test/core/iomgr/tcp_server_uv_test.c +++ b/test/core/iomgr/tcp_server_uv_test.c @@ -206,8 +206,7 @@ static void tcp_connect(grpc_exec_ctx *exec_ctx, const struct sockaddr *remote, grpc_pollset_worker *worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", - grpc_pollset_work(exec_ctx, g_pollset, &worker, - gpr_now(GPR_CLOCK_MONOTONIC), deadline))); + grpc_pollset_work(exec_ctx, g_pollset, &worker, deadline))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(exec_ctx); gpr_mu_lock(g_mu); From 80297d7cd73b3d2101f23136527ece13d2bb55b9 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 6 Oct 2017 18:17:08 -0700 Subject: [PATCH 174/180] uv changes for grpc_pollset_work --- test/core/iomgr/tcp_client_uv_test.c | 5 +++-- test/core/iomgr/tcp_server_uv_test.c | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/test/core/iomgr/tcp_client_uv_test.c b/test/core/iomgr/tcp_client_uv_test.c index f94e589b8d7..edfccbe8678 100644 --- a/test/core/iomgr/tcp_client_uv_test.c +++ b/test/core/iomgr/tcp_client_uv_test.c @@ -119,7 +119,8 @@ void test_succeeds(void) { GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", grpc_pollset_work(&exec_ctx, g_pollset, &worker, - grpc_timeout_seconds_to_deadline(5)))); + grpc_timespec_to_millis_round_up( + grpc_timeout_seconds_to_deadline(5))))); gpr_mu_unlock(g_mu); grpc_exec_ctx_flush(&exec_ctx); gpr_mu_lock(g_mu); @@ -162,7 +163,7 @@ void test_fails(void) { grpc_pollset_worker *worker = NULL; gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); grpc_millis polling_deadline = test_deadline(); - switch (grpc_timer_check(&exec_ctx, now, &polling_deadline)) { + switch (grpc_timer_check(&exec_ctx, &polling_deadline)) { case GRPC_TIMERS_FIRED: break; case GRPC_TIMERS_NOT_CHECKED: diff --git a/test/core/iomgr/tcp_server_uv_test.c b/test/core/iomgr/tcp_server_uv_test.c index 7bf5b868850..04aca048ae3 100644 --- a/test/core/iomgr/tcp_server_uv_test.c +++ b/test/core/iomgr/tcp_server_uv_test.c @@ -189,7 +189,8 @@ static void close_cb(uv_handle_t *handle) { gpr_free(handle); } static void tcp_connect(grpc_exec_ctx *exec_ctx, const struct sockaddr *remote, socklen_t remote_len, on_connect_result *result) { - gpr_timespec deadline = grpc_timeout_seconds_to_deadline(10); + grpc_millis deadline = + grpc_timespec_to_millis_round_up(grpc_timeout_seconds_to_deadline(10)); uv_tcp_t *client_handle = gpr_malloc(sizeof(uv_tcp_t)); uv_connect_t *req = gpr_malloc(sizeof(uv_connect_t)); int nconnects_before; From 84bf2832181fe041e1ec0fe3816f1c9e7eef3eb4 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 6 Oct 2017 20:16:32 -0700 Subject: [PATCH 175/180] tcp_server_uv_test changes --- test/core/iomgr/tcp_server_uv_test.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/core/iomgr/tcp_server_uv_test.c b/test/core/iomgr/tcp_server_uv_test.c index 04aca048ae3..9fafd3177a9 100644 --- a/test/core/iomgr/tcp_server_uv_test.c +++ b/test/core/iomgr/tcp_server_uv_test.c @@ -189,8 +189,7 @@ static void close_cb(uv_handle_t *handle) { gpr_free(handle); } static void tcp_connect(grpc_exec_ctx *exec_ctx, const struct sockaddr *remote, socklen_t remote_len, on_connect_result *result) { - grpc_millis deadline = - grpc_timespec_to_millis_round_up(grpc_timeout_seconds_to_deadline(10)); + gpr_timespec deadline = grpc_timeout_seconds_to_deadline(10); uv_tcp_t *client_handle = gpr_malloc(sizeof(uv_tcp_t)); uv_connect_t *req = gpr_malloc(sizeof(uv_connect_t)); int nconnects_before; @@ -207,7 +206,8 @@ static void tcp_connect(grpc_exec_ctx *exec_ctx, const struct sockaddr *remote, grpc_pollset_worker *worker = NULL; GPR_ASSERT(GRPC_LOG_IF_ERROR( "pollset_work", - grpc_pollset_work(exec_ctx, g_pollset, &worker, deadline))); + grpc_pollset_work(exec_ctx, g_pollset, &worker, + grpc_timespec_to_millis_round_up(deadline)))); gpr_mu_unlock(g_mu); grpc_exec_ctx_finish(exec_ctx); gpr_mu_lock(g_mu); @@ -246,7 +246,7 @@ static void test_connect(unsigned n) { GPR_ASSERT(GRPC_ERROR_NONE == grpc_tcp_server_add_port(s, &resolved_addr, &svr_port)); GPR_ASSERT(svr_port > 0); - GPR_ASSERT(uv_ip6_addr("::", svr_port, (struct sockaddr_in6 *)addr) == 0); + GPR_ASSERT((uv_ip6_addr("::", svr_port, (struct sockaddr_in6 *)addr)) == 0); /* Cannot use wildcard (port==0), because add_port() will try to reuse the same port as a previous add_port(). */ svr1_port = grpc_pick_unused_port_or_die(); From b3b20f671db08c82424f4c9d55cdd82637e64f2f Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 6 Oct 2017 20:53:14 -0700 Subject: [PATCH 176/180] Adding PR #12879 changes --- src/core/lib/iomgr/timer_uv.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/lib/iomgr/timer_uv.cc b/src/core/lib/iomgr/timer_uv.cc index bd1e922c7f5..ccbbe357ae9 100644 --- a/src/core/lib/iomgr/timer_uv.cc +++ b/src/core/lib/iomgr/timer_uv.cc @@ -94,7 +94,7 @@ grpc_timer_check_result grpc_timer_check(grpc_exec_ctx *exec_ctx, return GRPC_TIMERS_NOT_CHECKED; } -void grpc_timer_list_init(gpr_timespec now) {} +void grpc_timer_list_init(grpc_exec_ctx *exec_ctx) {} void grpc_timer_list_shutdown(grpc_exec_ctx *exec_ctx) {} void grpc_timer_consume_kick(void) {} From 4e0fe5295e26fbafa7fd4932cd05864132835ea4 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Sun, 8 Oct 2017 18:07:15 -0700 Subject: [PATCH 177/180] Add grpc_posix.h header for grpc_use_signal declaration --- src/core/lib/iomgr/ev_epollsig_linux.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/lib/iomgr/ev_epollsig_linux.cc b/src/core/lib/iomgr/ev_epollsig_linux.cc index 370ea1d50bf..035bdc4cb55 100644 --- a/src/core/lib/iomgr/ev_epollsig_linux.cc +++ b/src/core/lib/iomgr/ev_epollsig_linux.cc @@ -18,6 +18,8 @@ #include "src/core/lib/iomgr/port.h" +#include + /* This polling engine is only relevant on linux kernels supporting epoll() */ #ifdef GRPC_LINUX_EPOLL From 17acda35b775cb1dea076fe8692bfe7d5c8b2c63 Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Mon, 9 Oct 2017 11:26:53 -0700 Subject: [PATCH 178/180] Use Ruby 2.3 for Brew --- .../internal_ci/helper_scripts/prepare_build_macos_rc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tools/internal_ci/helper_scripts/prepare_build_macos_rc b/tools/internal_ci/helper_scripts/prepare_build_macos_rc index b6cc43e0ab0..8f2056096dc 100644 --- a/tools/internal_ci/helper_scripts/prepare_build_macos_rc +++ b/tools/internal_ci/helper_scripts/prepare_build_macos_rc @@ -40,11 +40,12 @@ pip install google-api-python-client --user python export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/GrpcTesting-d0eeee2db331.json # If this is a PR using RUN_TESTS_FLAGS var, then add flags to filter tests -if [ -n "$KOKORO_GITHUB_PULL_REQUEST_NUMBER" ] && [ -n "$RUN_TESTS_FLAGS" ]; then - brew install jq - ghprbTargetBranch=$(curl -s https://api.github.com/repos/grpc/grpc/pulls/$KOKORO_GITHUB_PULL_REQUEST_NUMBER | jq -r .base.ref) - export RUN_TESTS_FLAGS="$RUN_TESTS_FLAGS --filter_pr_tests --base_branch origin/$ghprbTargetBranch" -fi +# TODO(matt-kwong): enable after fixing brew issue +# if [ -n "$KOKORO_GITHUB_PULL_REQUEST_NUMBER" ] && [ -n "$RUN_TESTS_FLAGS" ]; then +# brew install jq +# ghprbTargetBranch=$(curl -s https://api.github.com/repos/grpc/grpc/pulls/$KOKORO_GITHUB_PULL_REQUEST_NUMBER | jq -r .base.ref) +# export RUN_TESTS_FLAGS="$RUN_TESTS_FLAGS --filter_pr_tests --base_branch origin/$ghprbTargetBranch" +# fi set +ex # rvm script is very verbose and exits with errorcode source $HOME/.rvm/scripts/rvm From 156e8bf617be6afa4cb3ba8b770713ead01616b1 Mon Sep 17 00:00:00 2001 From: Vijay Pai Date: Mon, 9 Oct 2017 10:58:28 -0700 Subject: [PATCH 179/180] Make sure to accept expected tags exactly once --- test/cpp/end2end/async_end2end_test.cc | 32 +++++++++++++++----------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc index f938aea40eb..a14b4d5295c 100644 --- a/test/cpp/end2end/async_end2end_test.cc +++ b/test/cpp/end2end/async_end2end_test.cc @@ -102,14 +102,23 @@ class Verifier { explicit Verifier(bool spin) : spin_(spin) {} // Expect sets the expected ok value for a specific tag Verifier& Expect(int i, bool expect_ok) { - expectations_[tag(i)] = expect_ok; + return ExpectUnless(i, expect_ok, false); + } + // ExpectUnless sets the expected ok value for a specific tag + // unless the tag was already marked seen (as a result of ExpectMaybe) + Verifier& ExpectUnless(int i, bool expect_ok, bool seen) { + if (!seen) { + expectations_[tag(i)] = expect_ok; + } return *this; } - // AcceptOnce sets the expected ok value for a specific tag, but does not + // ExpectMaybe sets the expected ok value for a specific tag, but does not // require it to appear // If it does, sets *seen to true - Verifier& AcceptOnce(int i, bool expect_ok, bool* seen) { - maybe_expectations_[tag(i)] = MaybeExpect{expect_ok, seen}; + Verifier& ExpectMaybe(int i, bool expect_ok, bool* seen) { + if (!*seen) { + maybe_expectations_[tag(i)] = MaybeExpect{expect_ok, seen}; + } return *this; } @@ -569,13 +578,13 @@ TEST_P(AsyncEnd2endTest, SimpleClientStreamingWithCoalescingApi) { Verifier(GetParam().disable_blocking) .Expect(2, true) - .AcceptOnce(3, true, &seen3) + .ExpectMaybe(3, true, &seen3) .Verify(cq_.get()); srv_stream.Read(&recv_request, tag(4)); Verifier(GetParam().disable_blocking) - .AcceptOnce(3, true, &seen3) + .ExpectUnless(3, true, seen3) .Expect(4, true) .Verify(cq_.get()); @@ -602,7 +611,6 @@ TEST_P(AsyncEnd2endTest, SimpleClientStreamingWithCoalescingApi) { EXPECT_EQ(send_response.message(), recv_response.message()); EXPECT_TRUE(recv_status.ok()); - EXPECT_TRUE(seen3); } // One ping, two pongs. @@ -853,13 +861,13 @@ TEST_P(AsyncEnd2endTest, SimpleBidiStreamingWithCoalescingApiWAF) { Verifier(GetParam().disable_blocking) .Expect(2, true) - .AcceptOnce(3, true, &seen3) + .ExpectMaybe(3, true, &seen3) .Verify(cq_.get()); srv_stream.Read(&recv_request, tag(4)); Verifier(GetParam().disable_blocking) - .AcceptOnce(3, true, &seen3) + .ExpectUnless(3, true, seen3) .Expect(4, true) .Verify(cq_.get()); EXPECT_EQ(send_request.message(), recv_request.message()); @@ -880,7 +888,6 @@ TEST_P(AsyncEnd2endTest, SimpleBidiStreamingWithCoalescingApiWAF) { Verifier(GetParam().disable_blocking).Expect(8, true).Verify(cq_.get()); EXPECT_TRUE(recv_status.ok()); - EXPECT_TRUE(seen3); } // One ping, one pong. Using server:WriteLast api @@ -910,13 +917,13 @@ TEST_P(AsyncEnd2endTest, SimpleBidiStreamingWithCoalescingApiWL) { Verifier(GetParam().disable_blocking) .Expect(2, true) - .AcceptOnce(3, true, &seen3) + .ExpectMaybe(3, true, &seen3) .Verify(cq_.get()); srv_stream.Read(&recv_request, tag(4)); Verifier(GetParam().disable_blocking) - .AcceptOnce(3, true, &seen3) + .ExpectUnless(3, true, seen3) .Expect(4, true) .Verify(cq_.get()); EXPECT_EQ(send_request.message(), recv_request.message()); @@ -939,7 +946,6 @@ TEST_P(AsyncEnd2endTest, SimpleBidiStreamingWithCoalescingApiWL) { Verifier(GetParam().disable_blocking).Expect(9, true).Verify(cq_.get()); EXPECT_TRUE(recv_status.ok()); - EXPECT_TRUE(seen3); } // Metadata tests From d137066be8c9527b5cea36132915619cc61cfc6d Mon Sep 17 00:00:00 2001 From: Vijay Pai Date: Mon, 9 Oct 2017 10:15:37 -0700 Subject: [PATCH 180/180] Add some details --- doc/core/moving-to-c++.md | 24 +++++++++++++++--------- tools/doxygen/Doxyfile.core | 1 + tools/doxygen/Doxyfile.core.internal | 1 + 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/doc/core/moving-to-c++.md b/doc/core/moving-to-c++.md index 33c3cfa0e66..4c745b38a90 100644 --- a/doc/core/moving-to-c++.md +++ b/doc/core/moving-to-c++.md @@ -6,14 +6,17 @@ ctiller, markdroth, vjpai ## Background and Goal -gRPC core was originally written in C89 for several reasons (possibility of -kernel integration, ease of wrapping, compiler support, etc). Over time, this -was changed to C99 as all relevant compilers in active use came to support C99 -effectively. Now, gRPC core is C++ (although the code is still idiomatically C -code) with C linkage for public functions. Throughout all of these transitions, -the public header files are committed to remain in C89. - -The goal now is to make gRPC core true idiomatic C++ compatible with +gRPC core was originally written in C89 for several reasons +(possibility of kernel integration, ease of wrapping, compiler +support, etc). Over time, this was changed to C99 as all relevant +compilers in active use came to support C99 effectively. +[Now, gRPC core is C++](https://github.com/grpc/proposal/blob/master/L6-allow-c%2B%2B-in-grpc-core.md) +(although the code is still idiomatically C code) with C linkage for +public functions. Throughout all of these transitions, the public +header files are committed to remain in C89. + +The goal now is to make the gRPC core implementation true idiomatic +C++ compatible with [Google's C++ style guide](https://google.github.io/styleguide/cppguide.html). ## Constraints @@ -48,7 +51,10 @@ The goal now is to make gRPC core true idiomatic C++ compatible with ## Implications for C++ API and wrapped languages -- For C++ structs, switch to `using` when possible (e.g., Slice, ByteBuffer, ...) +- For C++ structs, switch to `using` when possible (e.g., Slice, +ByteBuffer, ...) +- The C++ API implementation might directly start using +`grpc_transport_stream_op_batch` rather than the core surface `grpc_op`. - Can we get wrapped languages to a point where we can statically link C++? This will take a year in probability but that would allow the use of `std::` - Are there other environments that don't support std library, like maybe Android NDK? - Probably, that might push things out to 18 months diff --git a/tools/doxygen/Doxyfile.core b/tools/doxygen/Doxyfile.core index b8514fe3114..c8fd2ee48b2 100644 --- a/tools/doxygen/Doxyfile.core +++ b/tools/doxygen/Doxyfile.core @@ -772,6 +772,7 @@ doc/connection-backoff-interop-test-description.md \ doc/connection-backoff.md \ doc/connectivity-semantics-and-api.md \ doc/core/grpc-error.md \ +doc/core/moving-to-c++.md \ doc/core/pending_api_cleanups.md \ doc/cpp-style-guide.md \ doc/environment_variables.md \ diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index ee593e3ea09..3047778737b 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -772,6 +772,7 @@ doc/connection-backoff-interop-test-description.md \ doc/connection-backoff.md \ doc/connectivity-semantics-and-api.md \ doc/core/grpc-error.md \ +doc/core/moving-to-c++.md \ doc/core/pending_api_cleanups.md \ doc/cpp-style-guide.md \ doc/environment_variables.md \