grpc 1.7.3 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +2106 -2116
- data/include/grpc/census.h +1 -432
- data/include/grpc/compression.h +9 -9
- data/include/grpc/grpc.h +115 -98
- data/include/grpc/grpc_cronet.h +3 -3
- data/include/grpc/grpc_posix.h +4 -4
- data/include/grpc/grpc_security.h +160 -88
- data/include/grpc/grpc_security_constants.h +7 -0
- data/include/grpc/impl/codegen/atm.h +9 -1
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +13 -4
- data/include/grpc/impl/codegen/atm_gcc_sync.h +6 -5
- data/include/grpc/impl/codegen/atm_windows.h +23 -22
- data/include/grpc/impl/codegen/byte_buffer.h +14 -14
- data/include/grpc/impl/codegen/byte_buffer_reader.h +2 -2
- data/include/grpc/impl/codegen/connectivity_state.h +0 -2
- data/include/grpc/impl/codegen/grpc_types.h +32 -28
- data/include/grpc/impl/codegen/port_platform.h +48 -0
- data/include/grpc/impl/codegen/slice.h +10 -10
- data/include/grpc/impl/codegen/sync_generic.h +9 -3
- data/include/grpc/slice.h +16 -17
- data/include/grpc/slice_buffer.h +22 -22
- data/include/grpc/support/alloc.h +11 -11
- data/include/grpc/support/avl.h +28 -20
- data/include/grpc/support/cmdline.h +13 -13
- data/include/grpc/support/histogram.h +17 -17
- data/include/grpc/support/host_port.h +2 -2
- data/include/grpc/support/log.h +9 -9
- data/include/grpc/support/log_windows.h +1 -1
- data/include/grpc/support/string_util.h +2 -2
- data/include/grpc/support/subprocess.h +5 -5
- data/include/grpc/support/sync.h +43 -27
- data/include/grpc/support/thd.h +6 -6
- data/include/grpc/support/tls_gcc.h +1 -1
- data/include/grpc/support/tls_pthread.h +1 -1
- data/src/core/ext/census/{grpc_context.c → grpc_context.cc} +5 -8
- data/src/core/ext/filters/client_channel/backup_poller.cc +165 -0
- data/src/core/ext/{census/grpc_filter.h → filters/client_channel/backup_poller.h} +12 -7
- data/src/core/ext/filters/client_channel/{channel_connectivity.c → channel_connectivity.cc} +45 -42
- data/src/core/ext/filters/client_channel/{client_channel.c → client_channel.cc} +452 -417
- data/src/core/ext/filters/client_channel/client_channel.h +16 -8
- data/src/core/ext/filters/client_channel/{client_channel_factory.c → client_channel_factory.cc} +0 -0
- data/src/core/ext/filters/client_channel/client_channel_factory.h +29 -21
- data/src/core/ext/filters/client_channel/{client_channel_plugin.c → client_channel_plugin.cc} +15 -19
- data/src/core/ext/filters/client_channel/{connector.c → connector.cc} +0 -0
- data/src/core/ext/filters/client_channel/connector.h +29 -21
- data/src/core/ext/filters/client_channel/{http_connect_handshaker.c → http_connect_handshaker.cc} +10 -10
- data/src/core/ext/filters/client_channel/http_connect_handshaker.h +8 -0
- data/src/core/ext/filters/client_channel/{http_proxy.c → http_proxy.cc} +14 -14
- data/src/core/ext/filters/client_channel/http_proxy.h +8 -0
- data/src/core/ext/filters/client_channel/{lb_policy.c → lb_policy.cc} +47 -48
- data/src/core/ext/filters/client_channel/lb_policy.h +76 -70
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/{client_load_reporting_filter.c → client_load_reporting_filter.cc} +28 -29
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +9 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb.c → grpclb.cc} +554 -563
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +9 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +17 -9
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_channel_secure.c → grpclb_channel_secure.cc} +17 -17
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_client_stats.c → grpclb_client_stats.cc} +3 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +9 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/{load_balancer_api.c → load_balancer_api.cc} +64 -67
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +20 -21
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +599 -0
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +695 -0
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +270 -0
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +153 -0
- data/src/core/ext/filters/client_channel/{lb_policy_factory.c → lb_policy_factory.cc} +10 -10
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +48 -40
- data/src/core/ext/filters/client_channel/{lb_policy_registry.c → lb_policy_registry.cc} +9 -9
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +11 -3
- data/src/core/ext/filters/client_channel/{parse_address.c → parse_address.cc} +24 -24
- data/src/core/ext/filters/client_channel/parse_address.h +14 -6
- data/src/core/ext/filters/client_channel/{proxy_mapper.c → proxy_mapper.cc} +0 -0
- data/src/core/ext/filters/client_channel/proxy_mapper.h +8 -0
- data/src/core/ext/filters/client_channel/{proxy_mapper_registry.c → proxy_mapper_registry.cc} +0 -0
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +8 -0
- data/src/core/ext/filters/client_channel/{resolver.c → resolver.cc} +21 -23
- data/src/core/ext/filters/client_channel/resolver.h +33 -27
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{dns_resolver_ares.c → dns_resolver_ares.cc} +133 -133
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +18 -9
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_ev_driver_posix.c → grpc_ares_ev_driver_posix.cc} +58 -56
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_wrapper.c → grpc_ares_wrapper.cc} +118 -115
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +23 -15
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +60 -0
- data/src/core/ext/filters/client_channel/resolver/dns/native/{dns_resolver.c → dns_resolver.cc} +100 -94
- data/src/core/ext/filters/client_channel/resolver/fake/{fake_resolver.c → fake_resolver.cc} +14 -14
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +9 -1
- data/src/core/ext/filters/client_channel/resolver/sockaddr/{sockaddr_resolver.c → sockaddr_resolver.cc} +60 -60
- data/src/core/ext/filters/client_channel/{resolver_factory.c → resolver_factory.cc} +2 -2
- data/src/core/ext/filters/client_channel/resolver_factory.h +27 -19
- data/src/core/ext/filters/client_channel/{resolver_registry.c → resolver_registry.cc} +35 -35
- data/src/core/ext/filters/client_channel/resolver_registry.h +18 -10
- data/src/core/ext/filters/client_channel/{retry_throttle.c → retry_throttle.cc} +10 -10
- data/src/core/ext/filters/client_channel/retry_throttle.h +8 -0
- data/src/core/ext/filters/client_channel/{subchannel.c → subchannel.cc} +210 -213
- data/src/core/ext/filters/client_channel/subchannel.h +68 -60
- data/src/core/ext/filters/client_channel/{subchannel_index.c → subchannel_index.cc} +52 -52
- data/src/core/ext/filters/client_channel/subchannel_index.h +22 -14
- data/src/core/ext/filters/client_channel/{uri_parser.c → uri_parser.cc} +29 -27
- data/src/core/ext/filters/client_channel/uri_parser.h +18 -10
- data/src/core/ext/filters/deadline/{deadline_filter.c → deadline_filter.cc} +12 -15
- data/src/core/ext/filters/deadline/deadline_filter.h +11 -2
- data/src/core/ext/filters/http/client/{http_client_filter.c → http_client_filter.cc} +83 -83
- data/src/core/ext/filters/http/client/http_client_filter.h +8 -0
- data/src/core/ext/filters/http/{http_filters_plugin.c → http_filters_plugin.cc} +20 -21
- data/src/core/ext/filters/http/message_compress/{message_compress_filter.c → message_compress_filter.cc} +84 -83
- data/src/core/ext/filters/http/message_compress/message_compress_filter.h +9 -1
- data/src/core/ext/filters/http/server/{http_server_filter.c → http_server_filter.cc} +80 -78
- data/src/core/ext/filters/http/server/http_server_filter.h +8 -0
- data/src/core/ext/filters/load_reporting/{server_load_reporting_filter.c → server_load_reporting_filter.cc} +29 -29
- data/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +9 -1
- data/src/core/ext/filters/load_reporting/{server_load_reporting_plugin.c → server_load_reporting_plugin.cc} +11 -11
- data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +13 -5
- data/src/core/ext/filters/max_age/{max_age_filter.c → max_age_filter.cc} +46 -56
- data/src/core/ext/filters/max_age/max_age_filter.h +8 -0
- data/src/core/ext/filters/message_size/{message_size_filter.c → message_size_filter.cc} +62 -40
- data/src/core/ext/filters/message_size/message_size_filter.h +8 -0
- data/src/core/ext/filters/workarounds/{workaround_cronet_compression_filter.c → workaround_cronet_compression_filter.cc} +11 -11
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +8 -0
- data/src/core/ext/filters/workarounds/{workaround_utils.c → workaround_utils.cc} +7 -7
- data/src/core/ext/filters/workarounds/workaround_utils.h +9 -1
- data/src/core/ext/transport/chttp2/alpn/{alpn.c → alpn.cc} +3 -3
- data/src/core/ext/transport/chttp2/alpn/alpn.h +10 -2
- data/src/core/ext/transport/chttp2/client/{chttp2_connector.c → chttp2_connector.cc} +49 -45
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +8 -0
- data/src/core/ext/transport/chttp2/client/insecure/{channel_create.c → channel_create.cc} +28 -27
- data/src/core/ext/transport/chttp2/client/insecure/{channel_create_posix.c → channel_create_posix.cc} +14 -13
- data/src/core/ext/transport/chttp2/client/secure/{secure_channel_create.c → secure_channel_create.cc} +68 -66
- data/src/core/ext/transport/chttp2/server/{chttp2_server.c → chttp2_server.cc} +76 -77
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +11 -3
- data/src/core/ext/transport/chttp2/server/insecure/{server_chttp2.c → server_chttp2.cc} +3 -3
- data/src/core/ext/transport/chttp2/server/insecure/{server_chttp2_posix.c → server_chttp2_posix.cc} +13 -12
- data/src/core/ext/transport/chttp2/server/secure/{server_secure_chttp2.c → server_secure_chttp2.cc} +12 -10
- data/src/core/ext/transport/chttp2/transport/{bin_decoder.c → bin_decoder.cc} +7 -7
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +15 -7
- data/src/core/ext/transport/chttp2/transport/{bin_encoder.c → bin_encoder.cc} +11 -11
- data/src/core/ext/transport/chttp2/transport/bin_encoder.h +8 -0
- data/src/core/ext/transport/chttp2/transport/{chttp2_plugin.c → chttp2_plugin.cc} +2 -9
- data/src/core/ext/transport/chttp2/transport/{chttp2_transport.c → chttp2_transport.cc} +778 -778
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +14 -10
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +385 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.h +337 -0
- data/src/core/ext/transport/chttp2/transport/frame.h +8 -0
- data/src/core/ext/transport/chttp2/transport/{frame_data.c → frame_data.cc} +34 -34
- data/src/core/ext/transport/chttp2/transport/frame_data.h +25 -17
- data/src/core/ext/transport/chttp2/transport/{frame_goaway.c → frame_goaway.cc} +18 -18
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +18 -10
- data/src/core/ext/transport/chttp2/transport/{frame_ping.c → frame_ping.cc} +18 -19
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +12 -4
- data/src/core/ext/transport/chttp2/transport/{frame_rst_stream.c → frame_rst_stream.cc} +16 -16
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +16 -8
- data/src/core/ext/transport/chttp2/transport/{frame_settings.c → frame_settings.cc} +23 -24
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +17 -9
- data/src/core/ext/transport/chttp2/transport/{frame_window_update.c → frame_window_update.cc} +22 -24
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +14 -6
- data/src/core/ext/transport/chttp2/transport/{hpack_encoder.c → hpack_encoder.cc} +206 -161
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +23 -13
- data/src/core/ext/transport/chttp2/transport/{hpack_parser.c → hpack_parser.cc} +340 -334
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +30 -22
- data/src/core/ext/transport/chttp2/transport/{hpack_table.c → hpack_table.cc} +25 -25
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +19 -11
- data/src/core/ext/transport/chttp2/transport/{http2_settings.c → http2_settings.cc} +1 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +10 -2
- data/src/core/ext/transport/chttp2/transport/{huffsyms.c → huffsyms.cc} +0 -0
- data/src/core/ext/transport/chttp2/transport/huffsyms.h +8 -0
- data/src/core/ext/transport/chttp2/transport/{incoming_metadata.c → incoming_metadata.cc} +14 -13
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +18 -10
- data/src/core/ext/transport/chttp2/transport/internal.h +214 -340
- data/src/core/ext/transport/chttp2/transport/{parsing.c → parsing.cc} +152 -141
- data/src/core/ext/transport/chttp2/transport/{stream_lists.c → stream_lists.cc} +53 -53
- data/src/core/ext/transport/chttp2/transport/{stream_map.c → stream_map.cc} +35 -34
- data/src/core/ext/transport/chttp2/transport/stream_map.h +22 -14
- data/src/core/ext/transport/chttp2/transport/{varint.c → varint.cc} +0 -0
- data/src/core/ext/transport/chttp2/transport/varint.h +8 -0
- data/src/core/ext/transport/chttp2/transport/writing.cc +636 -0
- data/src/core/ext/transport/inproc/{inproc_plugin.c → inproc_plugin.cc} +5 -6
- data/src/core/ext/transport/inproc/{inproc_transport.c → inproc_transport.cc} +479 -544
- data/src/core/ext/transport/inproc/inproc_transport.h +4 -4
- data/src/core/lib/backoff/backoff.cc +80 -0
- data/src/core/lib/backoff/backoff.h +83 -0
- data/src/core/lib/channel/{channel_args.c → channel_args.cc} +92 -92
- data/src/core/lib/channel/channel_args.h +45 -37
- data/src/core/lib/channel/{channel_stack.c → channel_stack.cc} +67 -68
- data/src/core/lib/channel/channel_stack.h +76 -75
- data/src/core/lib/channel/{channel_stack_builder.c → channel_stack_builder.cc} +91 -91
- data/src/core/lib/channel/channel_stack_builder.h +45 -45
- data/src/core/lib/channel/{connected_channel.c → connected_channel.cc} +70 -70
- data/src/core/lib/channel/connected_channel.h +12 -4
- data/src/core/lib/channel/context.h +2 -2
- data/src/core/lib/channel/{handshaker.c → handshaker.cc} +7 -9
- data/src/core/lib/channel/handshaker.h +9 -1
- data/src/core/lib/channel/{handshaker_factory.c → handshaker_factory.cc} +7 -7
- data/src/core/lib/channel/handshaker_factory.h +18 -10
- data/src/core/lib/channel/{handshaker_registry.c → handshaker_registry.cc} +0 -0
- data/src/core/lib/channel/handshaker_registry.h +8 -0
- data/src/core/lib/compression/algorithm_metadata.h +8 -0
- data/src/core/lib/compression/{compression.c → compression.cc} +9 -9
- data/src/core/lib/compression/{message_compress.c → message_compress.cc} +0 -0
- data/src/core/lib/compression/message_compress.h +8 -0
- data/src/core/lib/compression/{stream_compression.c → stream_compression.cc} +12 -12
- data/src/core/lib/compression/stream_compression.h +27 -19
- data/src/core/lib/compression/{stream_compression_gzip.c → stream_compression_gzip.cc} +35 -36
- data/src/core/lib/compression/stream_compression_gzip.h +8 -0
- data/src/core/lib/compression/{stream_compression_identity.c → stream_compression_identity.cc} +19 -20
- data/src/core/lib/compression/stream_compression_identity.h +8 -0
- data/src/core/lib/debug/{stats.c → stats.cc} +19 -19
- data/src/core/lib/debug/stats.h +17 -9
- data/src/core/lib/debug/{stats_data.c → stats_data.cc} +45 -22
- data/src/core/lib/debug/stats_data.h +58 -19
- data/src/core/lib/debug/trace.cc +142 -0
- data/src/core/lib/debug/trace.h +74 -14
- data/src/core/lib/http/{format_request.c → format_request.cc} +10 -10
- data/src/core/lib/http/format_request.h +12 -4
- data/src/core/lib/http/{httpcli.c → httpcli.cc} +80 -80
- data/src/core/lib/http/httpcli.h +41 -33
- data/src/core/lib/http/{httpcli_security_connector.c → httpcli_security_connector.cc} +69 -55
- data/src/core/lib/http/{parser.c → parser.cc} +42 -42
- data/src/core/lib/http/parser.h +28 -20
- data/src/core/lib/{support → iomgr}/block_annotate.h +17 -8
- data/src/core/lib/iomgr/{call_combiner.c → call_combiner.cc} +29 -17
- data/src/core/lib/iomgr/call_combiner.h +9 -1
- data/src/core/lib/iomgr/closure.h +220 -62
- data/src/core/lib/iomgr/{combiner.c → combiner.cc} +63 -62
- data/src/core/lib/iomgr/combiner.h +16 -8
- data/src/core/lib/iomgr/{endpoint.c → endpoint.cc} +6 -0
- data/src/core/lib/iomgr/endpoint.h +47 -32
- data/src/core/lib/iomgr/endpoint_pair.h +12 -4
- data/src/core/lib/iomgr/{endpoint_pair_posix.c → endpoint_pair_posix.cc} +3 -3
- data/src/core/lib/iomgr/{endpoint_pair_uv.c → endpoint_pair_uv.cc} +2 -2
- data/src/core/lib/iomgr/{endpoint_pair_windows.c → endpoint_pair_windows.cc} +6 -6
- data/src/core/lib/iomgr/{error.c → error.cc} +125 -124
- data/src/core/lib/iomgr/error.h +32 -27
- data/src/core/lib/iomgr/error_internal.h +11 -2
- data/src/core/lib/iomgr/{ev_epoll1_linux.c → ev_epoll1_linux.cc} +214 -215
- data/src/core/lib/iomgr/ev_epoll1_linux.h +9 -1
- data/src/core/lib/iomgr/ev_epollex_linux.cc +1488 -0
- data/src/core/lib/iomgr/ev_epollex_linux.h +9 -1
- data/src/core/lib/iomgr/{ev_epollsig_linux.c → ev_epollsig_linux.cc} +304 -305
- data/src/core/lib/iomgr/ev_epollsig_linux.h +12 -4
- data/src/core/lib/iomgr/{ev_poll_posix.c → ev_poll_posix.cc} +272 -283
- data/src/core/lib/iomgr/ev_poll_posix.h +10 -2
- data/src/core/lib/iomgr/ev_posix.cc +288 -0
- data/src/core/lib/iomgr/ev_posix.h +75 -67
- data/src/core/lib/iomgr/{ev_windows.c → ev_windows.cc} +2 -2
- data/src/core/lib/iomgr/exec_ctx.cc +177 -0
- data/src/core/lib/iomgr/exec_ctx.h +35 -13
- data/src/core/lib/iomgr/{executor.c → executor.cc} +34 -35
- data/src/core/lib/iomgr/executor.h +12 -4
- data/src/core/lib/iomgr/{fork_posix.c → fork_posix.cc} +0 -0
- data/src/core/lib/iomgr/{fork_windows.c → fork_windows.cc} +0 -0
- data/src/core/lib/iomgr/gethostname.h +9 -1
- data/src/core/lib/iomgr/{gethostname_fallback.c → gethostname_fallback.cc} +2 -1
- data/src/core/lib/iomgr/{gethostname_host_name_max.c → gethostname_host_name_max.cc} +4 -3
- data/src/core/lib/iomgr/{gethostname_sysconf.c → gethostname_sysconf.cc} +3 -2
- data/src/core/lib/iomgr/{iocp_windows.c → iocp_windows.cc} +23 -25
- data/src/core/lib/iomgr/iocp_windows.h +17 -3
- data/src/core/lib/iomgr/{iomgr.c → iomgr.cc} +25 -19
- data/src/core/lib/iomgr/iomgr.h +11 -3
- data/src/core/lib/iomgr/iomgr_internal.h +13 -5
- data/src/core/lib/iomgr/{iomgr_posix.c → iomgr_posix.cc} +0 -1
- data/src/core/lib/iomgr/{iomgr_uv.c → iomgr_uv.cc} +1 -1
- data/src/core/lib/iomgr/iomgr_uv.h +8 -0
- data/src/core/lib/iomgr/{iomgr_windows.c → iomgr_windows.cc} +0 -0
- data/src/core/lib/iomgr/{is_epollexclusive_available.c → is_epollexclusive_available.cc} +1 -1
- data/src/core/lib/iomgr/is_epollexclusive_available.h +8 -0
- data/src/core/lib/iomgr/{load_file.c → load_file.cc} +12 -12
- data/src/core/lib/iomgr/load_file.h +2 -2
- data/src/core/lib/iomgr/{lockfree_event.c → lockfree_event.cc} +76 -68
- data/src/core/lib/iomgr/lockfree_event.h +30 -11
- data/src/core/lib/iomgr/{network_status_tracker.c → network_status_tracker.cc} +3 -2
- data/src/core/lib/iomgr/network_status_tracker.h +2 -2
- data/src/core/lib/iomgr/{polling_entity.c → polling_entity.cc} +18 -18
- data/src/core/lib/iomgr/polling_entity.h +21 -13
- data/src/core/lib/iomgr/pollset.h +17 -11
- data/src/core/lib/iomgr/pollset_set.h +23 -15
- data/src/core/lib/iomgr/{pollset_set_uv.c → pollset_set_uv.cc} +0 -0
- data/src/core/lib/iomgr/{pollset_set_windows.c → pollset_set_windows.cc} +0 -0
- data/src/core/lib/iomgr/{pollset_uv.c → pollset_uv.cc} +31 -29
- data/src/core/lib/iomgr/pollset_uv.h +8 -0
- data/src/core/lib/iomgr/{pollset_windows.c → pollset_windows.cc} +24 -24
- data/src/core/lib/iomgr/pollset_windows.h +17 -4
- data/src/core/lib/iomgr/port.h +10 -0
- data/src/core/lib/iomgr/resolve_address.h +18 -10
- data/src/core/lib/iomgr/{resolve_address_posix.c → resolve_address_posix.cc} +40 -40
- data/src/core/lib/iomgr/{resolve_address_uv.c → resolve_address_uv.cc} +61 -56
- data/src/core/lib/iomgr/{resolve_address_windows.c → resolve_address_windows.cc} +36 -34
- data/src/core/lib/iomgr/{resource_quota.c → resource_quota.cc} +209 -180
- data/src/core/lib/iomgr/resource_quota.h +45 -37
- data/src/core/lib/iomgr/{sockaddr_utils.c → sockaddr_utils.cc} +61 -61
- data/src/core/lib/iomgr/sockaddr_utils.h +23 -15
- data/src/core/lib/iomgr/sockaddr_windows.h +6 -0
- data/src/core/lib/iomgr/{socket_factory_posix.c → socket_factory_posix.cc} +20 -20
- data/src/core/lib/iomgr/socket_factory_posix.h +15 -15
- data/src/core/lib/iomgr/{socket_mutator.c → socket_mutator.cc} +18 -18
- data/src/core/lib/iomgr/socket_mutator.h +11 -11
- data/src/core/lib/iomgr/socket_utils.h +9 -1
- data/src/core/lib/iomgr/{socket_utils_common_posix.c → socket_utils_common_posix.cc} +28 -28
- data/src/core/lib/iomgr/{socket_utils_linux.c → socket_utils_linux.cc} +3 -3
- data/src/core/lib/iomgr/{socket_utils_posix.c → socket_utils_posix.cc} +3 -3
- data/src/core/lib/iomgr/socket_utils_posix.h +26 -18
- data/src/core/lib/iomgr/{socket_utils_uv.c → socket_utils_uv.cc} +1 -1
- data/src/core/lib/iomgr/{socket_utils_windows.c → socket_utils_windows.cc} +2 -2
- data/src/core/lib/iomgr/{socket_windows.c → socket_windows.cc} +18 -18
- data/src/core/lib/iomgr/socket_windows.h +26 -13
- data/src/core/lib/iomgr/tcp_client.h +14 -6
- data/src/core/lib/iomgr/{tcp_client_posix.c → tcp_client_posix.cc} +69 -70
- data/src/core/lib/iomgr/tcp_client_posix.h +11 -3
- data/src/core/lib/iomgr/{tcp_client_uv.c → tcp_client_uv.cc} +47 -48
- data/src/core/lib/iomgr/{tcp_client_windows.c → tcp_client_windows.cc} +46 -44
- data/src/core/lib/iomgr/{tcp_posix.c → tcp_posix.cc} +198 -175
- data/src/core/lib/iomgr/tcp_posix.h +15 -7
- data/src/core/lib/iomgr/tcp_server.h +31 -23
- data/src/core/lib/iomgr/{tcp_server_posix.c → tcp_server_posix.cc} +78 -77
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +27 -19
- data/src/core/lib/iomgr/{tcp_server_utils_posix_common.c → tcp_server_utils_posix_common.cc} +27 -27
- data/src/core/lib/iomgr/{tcp_server_utils_posix_ifaddrs.c → tcp_server_utils_posix_ifaddrs.cc} +25 -25
- data/src/core/lib/iomgr/{tcp_server_utils_posix_noifaddrs.c → tcp_server_utils_posix_noifaddrs.cc} +2 -2
- data/src/core/lib/iomgr/{tcp_server_uv.c → tcp_server_uv.cc} +133 -105
- data/src/core/lib/iomgr/{tcp_server_windows.c → tcp_server_windows.cc} +81 -77
- data/src/core/lib/iomgr/tcp_uv.cc +420 -0
- data/src/core/lib/iomgr/tcp_uv.h +18 -4
- data/src/core/lib/iomgr/{tcp_windows.c → tcp_windows.cc} +90 -79
- data/src/core/lib/iomgr/tcp_windows.h +17 -4
- data/src/core/lib/iomgr/{time_averaged_stats.c → time_averaged_stats.cc} +0 -0
- data/src/core/lib/iomgr/time_averaged_stats.h +8 -0
- data/src/core/lib/iomgr/timer.h +16 -9
- data/src/core/lib/iomgr/{timer_generic.c → timer_generic.cc} +130 -171
- data/src/core/lib/iomgr/timer_generic.h +4 -4
- data/src/core/lib/iomgr/{timer_heap.c → timer_heap.cc} +20 -21
- data/src/core/lib/iomgr/timer_heap.h +16 -8
- data/src/core/lib/iomgr/{timer_manager.c → timer_manager.cc} +54 -52
- data/src/core/lib/iomgr/timer_manager.h +8 -0
- data/src/core/lib/iomgr/{timer_uv.c → timer_uv.cc} +22 -24
- data/src/core/lib/iomgr/timer_uv.h +2 -2
- data/src/core/lib/iomgr/{udp_server.c → udp_server.cc} +75 -75
- data/src/core/lib/iomgr/udp_server.h +25 -17
- data/src/core/lib/iomgr/{unix_sockets_posix.c → unix_sockets_posix.cc} +22 -21
- data/src/core/lib/iomgr/unix_sockets_posix.h +14 -6
- data/src/core/lib/iomgr/{unix_sockets_posix_noop.c → unix_sockets_posix_noop.cc} +5 -5
- data/src/core/lib/iomgr/{wakeup_fd_cv.c → wakeup_fd_cv.cc} +2 -2
- data/src/core/lib/iomgr/wakeup_fd_cv.h +10 -0
- data/src/core/lib/iomgr/{wakeup_fd_eventfd.c → wakeup_fd_eventfd.cc} +0 -0
- data/src/core/lib/iomgr/{wakeup_fd_nospecial.c → wakeup_fd_nospecial.cc} +0 -0
- data/src/core/lib/iomgr/{wakeup_fd_pipe.c → wakeup_fd_pipe.cc} +1 -0
- data/src/core/lib/iomgr/wakeup_fd_pipe.h +9 -1
- data/src/core/lib/iomgr/{wakeup_fd_posix.c → wakeup_fd_posix.cc} +6 -7
- data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -0
- data/src/core/lib/json/{json.c → json.cc} +0 -0
- data/src/core/lib/json/json.h +8 -0
- data/src/core/lib/json/{json_reader.c → json_reader.cc} +18 -18
- data/src/core/lib/json/json_reader.h +26 -18
- data/src/core/lib/json/{json_string.c → json_string.cc} +57 -57
- data/src/core/lib/json/{json_writer.c → json_writer.cc} +20 -20
- data/src/core/lib/json/json_writer.h +23 -15
- data/src/core/lib/profiling/{basic_timers.c → basic_timers.cc} +34 -34
- data/src/core/lib/profiling/{stap_timers.c → stap_timers.cc} +5 -5
- data/src/core/lib/profiling/timers.h +6 -6
- data/src/core/lib/security/context/{security_context.c → security_context.cc} +98 -95
- data/src/core/lib/security/context/security_context.h +27 -29
- data/src/core/lib/security/credentials/composite/{composite_credentials.c → composite_credentials.cc} +79 -73
- data/src/core/lib/security/credentials/composite/composite_credentials.h +17 -9
- data/src/core/lib/security/credentials/{credentials.c → credentials.cc} +97 -92
- data/src/core/lib/security/credentials/credentials.h +83 -75
- data/src/core/lib/security/credentials/{credentials_metadata.c → credentials_metadata.cc} +7 -6
- data/src/core/lib/security/credentials/fake/{fake_credentials.c → fake_credentials.cc} +39 -36
- data/src/core/lib/security/credentials/fake/fake_credentials.h +13 -5
- data/src/core/lib/security/credentials/google_default/{credentials_generic.c → credentials_generic.cc} +5 -5
- data/src/core/lib/security/credentials/google_default/{google_default_credentials.c → google_default_credentials.cc} +55 -55
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +9 -1
- data/src/core/lib/security/credentials/iam/{iam_credentials.c → iam_credentials.cc} +19 -18
- data/src/core/lib/security/credentials/jwt/{json_token.c → json_token.cc} +80 -75
- data/src/core/lib/security/credentials/jwt/json_token.h +23 -15
- data/src/core/lib/security/credentials/jwt/{jwt_credentials.c → jwt_credentials.cc} +45 -41
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +11 -3
- data/src/core/lib/security/credentials/jwt/{jwt_verifier.c → jwt_verifier.cc} +262 -252
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +38 -30
- data/src/core/lib/security/credentials/oauth2/{oauth2_credentials.c → oauth2_credentials.cc} +138 -141
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +30 -22
- data/src/core/lib/security/credentials/plugin/{plugin_credentials.c → plugin_credentials.cc} +52 -53
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +7 -7
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +344 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +27 -0
- data/src/core/lib/security/transport/auth_filters.h +16 -0
- data/src/core/lib/security/transport/{client_auth_filter.c → client_auth_filter.cc} +127 -115
- data/src/core/lib/security/transport/{lb_targets_info.c → lb_targets_info.cc} +16 -13
- data/src/core/lib/security/transport/lb_targets_info.h +11 -3
- data/src/core/lib/security/transport/{secure_endpoint.c → secure_endpoint.cc} +84 -76
- data/src/core/lib/security/transport/secure_endpoint.h +13 -5
- data/src/core/lib/security/transport/security_connector.cc +1121 -0
- data/src/core/lib/security/transport/security_connector.h +97 -79
- data/src/core/lib/security/transport/{security_handshaker.c → security_handshaker.cc} +139 -132
- data/src/core/lib/security/transport/security_handshaker.h +11 -3
- data/src/core/lib/security/transport/{server_auth_filter.c → server_auth_filter.cc} +68 -68
- data/src/core/lib/security/transport/{tsi_error.c → tsi_error.cc} +1 -1
- data/src/core/lib/security/transport/tsi_error.h +9 -1
- data/src/core/lib/security/util/{json_util.c → json_util.cc} +11 -11
- data/src/core/lib/security/util/json_util.h +12 -4
- data/src/core/lib/slice/{b64.c → b64.cc} +15 -15
- data/src/core/lib/slice/b64.h +12 -4
- data/src/core/lib/slice/{percent_encoding.c → percent_encoding.cc} +15 -15
- data/src/core/lib/slice/percent_encoding.h +11 -3
- data/src/core/lib/slice/{slice.c → slice.cc} +64 -64
- data/src/core/lib/slice/{slice_buffer.c → slice_buffer.cc} +38 -38
- data/src/core/lib/slice/{slice_hash_table.c → slice_hash_table.cc} +7 -7
- data/src/core/lib/slice/slice_hash_table.h +19 -11
- data/src/core/lib/slice/{slice_intern.c → slice_intern.cc} +35 -34
- data/src/core/lib/slice/slice_internal.h +17 -6
- data/src/core/lib/slice/{slice_string_helpers.c → slice_string_helpers.cc} +9 -9
- data/src/core/lib/slice/slice_string_helpers.h +3 -3
- data/src/core/lib/support/abstract.h +29 -0
- data/src/core/lib/support/{alloc.c → alloc.cc} +22 -22
- data/src/core/lib/support/{arena.c → arena.cc} +12 -12
- data/src/core/lib/support/arena.h +11 -3
- data/src/core/lib/support/{atm.c → atm.cc} +1 -1
- data/src/core/lib/support/{avl.c → avl.cc} +71 -70
- data/src/core/lib/support/{cmdline.c → cmdline.cc} +62 -62
- data/src/core/lib/support/{cpu_iphone.c → cpu_iphone.cc} +2 -0
- data/src/core/lib/support/{cpu_linux.c → cpu_linux.cc} +10 -0
- data/src/core/lib/support/{cpu_posix.c → cpu_posix.cc} +27 -4
- data/src/core/lib/support/{cpu_windows.c → cpu_windows.cc} +1 -0
- data/src/core/lib/support/env.h +3 -3
- data/src/core/lib/support/{env_linux.c → env_linux.cc} +11 -11
- data/src/core/lib/support/{env_posix.c → env_posix.cc} +4 -4
- data/src/core/lib/support/{env_windows.c → env_windows.cc} +5 -5
- data/src/core/lib/support/{fork.c → fork.cc} +2 -2
- data/src/core/lib/support/{histogram.c → histogram.cc} +25 -26
- data/src/core/lib/support/{host_port.c → host_port.cc} +16 -16
- data/src/core/lib/support/{log.c → log.cc} +8 -8
- data/src/core/lib/support/{log_android.c → log_android.cc} +7 -7
- data/src/core/lib/support/{log_linux.c → log_linux.cc} +8 -8
- data/src/core/lib/support/{log_posix.c → log_posix.cc} +9 -10
- data/src/core/lib/support/{log_windows.c → log_windows.cc} +7 -7
- data/src/core/lib/support/manual_constructor.h +211 -0
- data/src/core/lib/support/memory.h +41 -0
- data/src/core/lib/support/mpscq.cc +114 -0
- data/src/core/lib/support/mpscq.h +45 -7
- data/src/core/lib/support/{murmur_hash.c → murmur_hash.cc} +9 -12
- data/src/core/lib/support/murmur_hash.h +9 -1
- data/src/core/lib/support/spinlock.h +8 -1
- data/src/core/lib/support/{string.c → string.cc} +56 -55
- data/src/core/lib/support/string.h +21 -21
- data/src/core/lib/support/{string_posix.c → string_posix.cc} +5 -4
- data/src/core/lib/support/{string_util_windows.c → string_util_windows.cc} +9 -6
- data/src/core/lib/support/{string_windows.c → string_windows.cc} +3 -2
- data/src/core/lib/support/string_windows.h +8 -0
- data/src/core/lib/support/{subprocess_posix.c → subprocess_posix.cc} +13 -13
- data/src/core/lib/support/{subprocess_windows.c → subprocess_windows.cc} +9 -9
- data/src/core/lib/support/{sync.c → sync.cc} +22 -22
- data/src/core/lib/support/{sync_posix.c → sync_posix.cc} +6 -2
- data/src/core/lib/support/{sync_windows.c → sync_windows.cc} +14 -14
- data/src/core/lib/support/{thd.c → thd.cc} +0 -0
- data/src/core/lib/support/{thd_posix.c → thd_posix.cc} +10 -10
- data/src/core/lib/support/{thd_windows.c → thd_windows.cc} +10 -10
- data/src/core/lib/support/{time.c → time.cc} +0 -0
- data/src/core/lib/support/{time_posix.c → time_posix.cc} +5 -6
- data/src/core/lib/support/{time_precise.c → time_precise.cc} +6 -4
- data/src/core/lib/support/time_precise.h +9 -1
- data/src/core/lib/support/{time_windows.c → time_windows.cc} +2 -3
- data/src/core/lib/support/{tls_pthread.c → tls_pthread.cc} +2 -2
- data/src/core/lib/support/tmpfile.h +1 -1
- data/src/core/lib/support/{tmpfile_msys.c → tmpfile_msys.cc} +2 -2
- data/src/core/lib/support/{tmpfile_posix.c → tmpfile_posix.cc} +7 -7
- data/src/core/lib/support/{tmpfile_windows.c → tmpfile_windows.cc} +2 -2
- data/src/core/lib/support/{wrap_memcpy.c → wrap_memcpy.cc} +4 -2
- data/src/core/lib/surface/{alarm.c → alarm.cc} +32 -31
- data/src/core/lib/surface/alarm_internal.h +10 -2
- data/src/core/lib/surface/{api_trace.c → api_trace.cc} +1 -1
- data/src/core/lib/surface/api_trace.h +2 -2
- data/src/core/lib/surface/{byte_buffer.c → byte_buffer.cc} +13 -13
- data/src/core/lib/surface/{byte_buffer_reader.c → byte_buffer_reader.cc} +9 -9
- data/src/core/lib/surface/{call.c → call.cc} +379 -372
- data/src/core/lib/surface/call.h +37 -38
- data/src/core/lib/surface/{call_details.c → call_details.cc} +0 -0
- data/src/core/lib/surface/{call_log_batch.c → call_log_batch.cc} +13 -11
- data/src/core/lib/surface/call_test_only.h +5 -5
- data/src/core/lib/surface/{channel.c → channel.cc} +94 -95
- data/src/core/lib/surface/channel.h +29 -21
- data/src/core/lib/surface/{channel_init.c → channel_init.cc} +13 -13
- data/src/core/lib/surface/channel_init.h +6 -6
- data/src/core/lib/surface/{channel_ping.c → channel_ping.cc} +12 -12
- data/src/core/lib/surface/{channel_stack_type.c → channel_stack_type.cc} +1 -1
- data/src/core/lib/surface/channel_stack_type.h +9 -1
- data/src/core/lib/surface/{completion_queue.c → completion_queue.cc} +416 -379
- data/src/core/lib/surface/completion_queue.h +29 -29
- data/src/core/lib/surface/{completion_queue_factory.c → completion_queue_factory.cc} +1 -1
- data/src/core/lib/surface/completion_queue_factory.h +8 -0
- data/src/core/lib/surface/{event_string.c → event_string.cc} +9 -9
- data/src/core/lib/surface/event_string.h +9 -1
- data/src/core/lib/surface/{init.c → init.cc} +16 -39
- data/src/core/lib/surface/init.h +8 -0
- data/src/core/lib/surface/{init_secure.c → init_secure.cc} +12 -25
- data/src/core/lib/surface/lame_client.cc +38 -40
- data/src/core/lib/surface/lame_client.h +8 -0
- data/src/core/lib/surface/{metadata_array.c → metadata_array.cc} +0 -0
- data/src/core/lib/surface/{server.c → server.cc} +340 -404
- data/src/core/lib/surface/server.h +22 -14
- data/src/core/lib/surface/{validate_metadata.c → validate_metadata.cc} +10 -9
- data/src/core/lib/surface/validate_metadata.h +10 -2
- data/src/core/lib/surface/{version.c → version.cc} +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +84 -0
- data/src/core/lib/transport/bdp_estimator.h +67 -42
- data/src/core/lib/transport/{byte_stream.c → byte_stream.cc} +51 -51
- data/src/core/lib/transport/byte_stream.h +41 -33
- data/src/core/lib/transport/{connectivity_state.c → connectivity_state.cc} +36 -40
- data/src/core/lib/transport/connectivity_state.h +29 -21
- data/src/core/lib/transport/{error_utils.c → error_utils.cc} +26 -22
- data/src/core/lib/transport/error_utils.h +18 -6
- data/src/core/lib/transport/{metadata.c → metadata.cc} +92 -88
- data/src/core/lib/transport/metadata.h +22 -20
- data/src/core/lib/transport/{metadata_batch.c → metadata_batch.cc} +78 -79
- data/src/core/lib/transport/metadata_batch.h +46 -45
- data/src/core/lib/transport/pid_controller.cc +48 -0
- data/src/core/lib/transport/pid_controller.h +84 -32
- data/src/core/lib/transport/{service_config.c → service_config.cc} +66 -48
- data/src/core/lib/transport/service_config.h +11 -2
- data/src/core/lib/transport/{static_metadata.c → static_metadata.cc} +2 -2
- data/src/core/lib/transport/static_metadata.h +30 -23
- data/src/core/lib/transport/{status_conversion.c → status_conversion.cc} +4 -3
- data/src/core/lib/transport/status_conversion.h +12 -2
- data/src/core/lib/transport/{timeout_encoding.c → timeout_encoding.cc} +28 -61
- data/src/core/lib/transport/timeout_encoding.h +11 -2
- data/src/core/lib/transport/{transport.c → transport.cc} +79 -79
- data/src/core/lib/transport/transport.h +78 -80
- data/src/core/lib/transport/transport_impl.h +27 -19
- data/src/core/lib/transport/{transport_op_string.c → transport_op_string.cc} +32 -30
- data/src/core/plugin_registry/{grpc_plugin_registry.c → grpc_plugin_registry.cc} +34 -38
- data/src/core/tsi/{fake_transport_security.c → fake_transport_security.cc} +141 -132
- data/src/core/tsi/fake_transport_security.h +5 -5
- data/src/core/tsi/{gts_transport_security.c → gts_transport_security.cc} +4 -4
- data/src/core/tsi/gts_transport_security.h +11 -3
- data/src/core/tsi/{ssl_transport_security.c → ssl_transport_security.cc} +309 -300
- data/src/core/tsi/ssl_transport_security.h +25 -25
- data/src/core/tsi/ssl_types.h +8 -0
- data/src/core/tsi/{transport_security.c → transport_security.cc} +94 -87
- data/src/core/tsi/transport_security.h +55 -55
- data/src/core/tsi/{transport_security_adapter.c → transport_security_adapter.cc} +58 -55
- data/src/core/tsi/transport_security_adapter.h +2 -2
- data/src/core/tsi/{transport_security_grpc.c → transport_security_grpc.cc} +21 -21
- data/src/core/tsi/transport_security_grpc.h +19 -19
- data/src/core/tsi/transport_security_interface.h +41 -41
- data/src/ruby/ext/grpc/extconf.rb +4 -2
- data/src/ruby/ext/grpc/rb_byte_buffer.c +5 -5
- data/src/ruby/ext/grpc/rb_byte_buffer.h +2 -2
- data/src/ruby/ext/grpc/rb_call.c +41 -42
- data/src/ruby/ext/grpc/rb_call.h +6 -6
- data/src/ruby/ext/grpc/rb_call_credentials.c +30 -30
- data/src/ruby/ext/grpc/rb_channel.c +87 -87
- data/src/ruby/ext/grpc/rb_channel_credentials.c +23 -23
- data/src/ruby/ext/grpc/rb_completion_queue.c +11 -11
- data/src/ruby/ext/grpc/rb_completion_queue.h +3 -3
- data/src/ruby/ext/grpc/rb_compression_options.c +20 -20
- data/src/ruby/ext/grpc/rb_event_thread.c +14 -14
- data/src/ruby/ext/grpc/rb_event_thread.h +1 -1
- data/src/ruby/ext/grpc/rb_grpc.c +8 -8
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +16 -58
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +242 -306
- data/src/ruby/ext/grpc/rb_server.c +23 -23
- data/src/ruby/ext/grpc/rb_server_credentials.c +13 -13
- data/src/ruby/lib/grpc/generic/rpc_server.rb +25 -12
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/checker.rb +14 -0
- data/src/ruby/spec/pb/health/checker_spec.rb +29 -0
- data/third_party/cares/config_freebsd/ares_config.h +502 -0
- data/third_party/cares/config_openbsd/ares_config.h +502 -0
- metadata +302 -328
- data/src/core/ext/census/aggregation.h +0 -51
- data/src/core/ext/census/base_resources.c +0 -56
- data/src/core/ext/census/base_resources.h +0 -24
- data/src/core/ext/census/census_interface.h +0 -61
- data/src/core/ext/census/census_rpc_stats.h +0 -86
- data/src/core/ext/census/context.c +0 -496
- data/src/core/ext/census/gen/census.pb.c +0 -161
- data/src/core/ext/census/gen/census.pb.h +0 -280
- data/src/core/ext/census/gen/trace_context.pb.c +0 -39
- data/src/core/ext/census/gen/trace_context.pb.h +0 -78
- data/src/core/ext/census/grpc_filter.c +0 -196
- data/src/core/ext/census/grpc_plugin.c +0 -70
- data/src/core/ext/census/initialize.c +0 -51
- data/src/core/ext/census/intrusive_hash_map.c +0 -305
- data/src/core/ext/census/intrusive_hash_map.h +0 -152
- data/src/core/ext/census/intrusive_hash_map_internal.h +0 -48
- data/src/core/ext/census/mlog.c +0 -586
- data/src/core/ext/census/mlog.h +0 -80
- data/src/core/ext/census/operation.c +0 -48
- data/src/core/ext/census/placeholders.c +0 -49
- data/src/core/ext/census/resource.c +0 -303
- data/src/core/ext/census/resource.h +0 -48
- data/src/core/ext/census/rpc_metric_id.h +0 -36
- data/src/core/ext/census/trace_context.c +0 -71
- data/src/core/ext/census/trace_context.h +0 -56
- data/src/core/ext/census/trace_label.h +0 -46
- data/src/core/ext/census/trace_propagation.h +0 -48
- data/src/core/ext/census/trace_status.h +0 -30
- data/src/core/ext/census/trace_string.h +0 -35
- data/src/core/ext/census/tracing.c +0 -55
- data/src/core/ext/census/tracing.h +0 -109
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c +0 -714
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c +0 -924
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c +0 -60
- data/src/core/ext/transport/chttp2/transport/flow_control.c +0 -502
- data/src/core/ext/transport/chttp2/transport/writing.c +0 -534
- data/src/core/lib/debug/trace.c +0 -146
- data/src/core/lib/iomgr/closure.c +0 -219
- data/src/core/lib/iomgr/ev_epollex_linux.c +0 -1461
- data/src/core/lib/iomgr/ev_posix.c +0 -266
- data/src/core/lib/iomgr/exec_ctx.c +0 -113
- data/src/core/lib/iomgr/tcp_uv.c +0 -381
- data/src/core/lib/security/credentials/ssl/ssl_credentials.c +0 -194
- data/src/core/lib/security/transport/security_connector.c +0 -914
- data/src/core/lib/support/backoff.c +0 -72
- data/src/core/lib/support/backoff.h +0 -56
- data/src/core/lib/support/mpscq.c +0 -79
- data/src/core/lib/support/stack_lockfree.c +0 -137
- data/src/core/lib/support/stack_lockfree.h +0 -38
- data/src/core/lib/transport/bdp_estimator.c +0 -110
- data/src/core/lib/transport/pid_controller.c +0 -63
@@ -23,11 +23,15 @@
|
|
23
23
|
#include "src/core/ext/filters/client_channel/resolver.h"
|
24
24
|
#include "src/core/lib/channel/channel_stack.h"
|
25
25
|
|
26
|
-
extern
|
26
|
+
extern grpc_core::TraceFlag grpc_client_channel_trace;
|
27
27
|
|
28
28
|
// Channel arg key for server URI string.
|
29
29
|
#define GRPC_ARG_SERVER_URI "grpc.server_uri"
|
30
30
|
|
31
|
+
#ifdef __cplusplus
|
32
|
+
extern "C" {
|
33
|
+
#endif
|
34
|
+
|
31
35
|
/* A client channel is a channel that begins disconnected, and can connect
|
32
36
|
to some endpoint on demand. If that endpoint disconnects, it will be
|
33
37
|
connected to again later.
|
@@ -38,18 +42,22 @@ extern grpc_tracer_flag grpc_client_channel_trace;
|
|
38
42
|
extern const grpc_channel_filter grpc_client_channel_filter;
|
39
43
|
|
40
44
|
grpc_connectivity_state grpc_client_channel_check_connectivity_state(
|
41
|
-
grpc_exec_ctx
|
45
|
+
grpc_exec_ctx* exec_ctx, grpc_channel_element* elem, int try_to_connect);
|
42
46
|
|
43
47
|
int grpc_client_channel_num_external_connectivity_watchers(
|
44
|
-
grpc_channel_element
|
48
|
+
grpc_channel_element* elem);
|
45
49
|
|
46
50
|
void grpc_client_channel_watch_connectivity_state(
|
47
|
-
grpc_exec_ctx
|
48
|
-
grpc_polling_entity pollent, grpc_connectivity_state
|
49
|
-
grpc_closure
|
51
|
+
grpc_exec_ctx* exec_ctx, grpc_channel_element* elem,
|
52
|
+
grpc_polling_entity pollent, grpc_connectivity_state* state,
|
53
|
+
grpc_closure* on_complete, grpc_closure* watcher_timer_init);
|
50
54
|
|
51
55
|
/* Debug helper: pull the subchannel call from a call stack element */
|
52
|
-
grpc_subchannel_call
|
53
|
-
grpc_call_element
|
56
|
+
grpc_subchannel_call* grpc_client_channel_get_subchannel_call(
|
57
|
+
grpc_call_element* elem);
|
58
|
+
|
59
|
+
#ifdef __cplusplus
|
60
|
+
}
|
61
|
+
#endif
|
54
62
|
|
55
63
|
#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_H */
|
data/src/core/ext/filters/client_channel/{client_channel_factory.c → client_channel_factory.cc}
RENAMED
File without changes
|
@@ -27,6 +27,10 @@
|
|
27
27
|
// Channel arg key for client channel factory.
|
28
28
|
#define GRPC_ARG_CLIENT_CHANNEL_FACTORY "grpc.client_channel_factory"
|
29
29
|
|
30
|
+
#ifdef __cplusplus
|
31
|
+
extern "C" {
|
32
|
+
#endif
|
33
|
+
|
30
34
|
typedef struct grpc_client_channel_factory grpc_client_channel_factory;
|
31
35
|
typedef struct grpc_client_channel_factory_vtable
|
32
36
|
grpc_client_channel_factory_vtable;
|
@@ -40,38 +44,42 @@ typedef enum {
|
|
40
44
|
/** Constructor for new configured channels.
|
41
45
|
Creating decorators around this type is encouraged to adapt behavior. */
|
42
46
|
struct grpc_client_channel_factory {
|
43
|
-
const grpc_client_channel_factory_vtable
|
47
|
+
const grpc_client_channel_factory_vtable* vtable;
|
44
48
|
};
|
45
49
|
|
46
50
|
struct grpc_client_channel_factory_vtable {
|
47
|
-
void (*ref)(grpc_client_channel_factory
|
48
|
-
void (*unref)(grpc_exec_ctx
|
49
|
-
grpc_subchannel
|
50
|
-
grpc_client_channel_factory
|
51
|
-
const grpc_subchannel_args
|
52
|
-
grpc_channel
|
53
|
-
grpc_client_channel_factory
|
54
|
-
const char
|
51
|
+
void (*ref)(grpc_client_channel_factory* factory);
|
52
|
+
void (*unref)(grpc_exec_ctx* exec_ctx, grpc_client_channel_factory* factory);
|
53
|
+
grpc_subchannel* (*create_subchannel)(grpc_exec_ctx* exec_ctx,
|
54
|
+
grpc_client_channel_factory* factory,
|
55
|
+
const grpc_subchannel_args* args);
|
56
|
+
grpc_channel* (*create_client_channel)(grpc_exec_ctx* exec_ctx,
|
57
|
+
grpc_client_channel_factory* factory,
|
58
|
+
const char* target,
|
55
59
|
grpc_client_channel_type type,
|
56
|
-
const grpc_channel_args
|
60
|
+
const grpc_channel_args* args);
|
57
61
|
};
|
58
62
|
|
59
|
-
void grpc_client_channel_factory_ref(grpc_client_channel_factory
|
60
|
-
void grpc_client_channel_factory_unref(grpc_exec_ctx
|
61
|
-
grpc_client_channel_factory
|
63
|
+
void grpc_client_channel_factory_ref(grpc_client_channel_factory* factory);
|
64
|
+
void grpc_client_channel_factory_unref(grpc_exec_ctx* exec_ctx,
|
65
|
+
grpc_client_channel_factory* factory);
|
62
66
|
|
63
67
|
/** Create a new grpc_subchannel */
|
64
|
-
grpc_subchannel
|
65
|
-
grpc_exec_ctx
|
66
|
-
const grpc_subchannel_args
|
68
|
+
grpc_subchannel* grpc_client_channel_factory_create_subchannel(
|
69
|
+
grpc_exec_ctx* exec_ctx, grpc_client_channel_factory* factory,
|
70
|
+
const grpc_subchannel_args* args);
|
67
71
|
|
68
72
|
/** Create a new grpc_channel */
|
69
|
-
grpc_channel
|
70
|
-
grpc_exec_ctx
|
71
|
-
const char
|
72
|
-
const grpc_channel_args
|
73
|
+
grpc_channel* grpc_client_channel_factory_create_channel(
|
74
|
+
grpc_exec_ctx* exec_ctx, grpc_client_channel_factory* factory,
|
75
|
+
const char* target, grpc_client_channel_type type,
|
76
|
+
const grpc_channel_args* args);
|
73
77
|
|
74
78
|
grpc_arg grpc_client_channel_factory_create_channel_arg(
|
75
|
-
grpc_client_channel_factory
|
79
|
+
grpc_client_channel_factory* factory);
|
80
|
+
|
81
|
+
#ifdef __cplusplus
|
82
|
+
}
|
83
|
+
#endif
|
76
84
|
|
77
85
|
#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H */
|
data/src/core/ext/filters/client_channel/{client_channel_plugin.c → client_channel_plugin.cc}
RENAMED
@@ -34,16 +34,16 @@
|
|
34
34
|
#include "src/core/ext/filters/client_channel/subchannel_index.h"
|
35
35
|
#include "src/core/lib/surface/channel_init.h"
|
36
36
|
|
37
|
-
static bool append_filter(grpc_exec_ctx
|
38
|
-
grpc_channel_stack_builder
|
37
|
+
static bool append_filter(grpc_exec_ctx* exec_ctx,
|
38
|
+
grpc_channel_stack_builder* builder, void* arg) {
|
39
39
|
return grpc_channel_stack_builder_append_filter(
|
40
|
-
builder, (const grpc_channel_filter
|
40
|
+
builder, (const grpc_channel_filter*)arg, nullptr, nullptr);
|
41
41
|
}
|
42
42
|
|
43
|
-
static bool set_default_host_if_unset(grpc_exec_ctx
|
44
|
-
grpc_channel_stack_builder
|
45
|
-
void
|
46
|
-
const grpc_channel_args
|
43
|
+
static bool set_default_host_if_unset(grpc_exec_ctx* exec_ctx,
|
44
|
+
grpc_channel_stack_builder* builder,
|
45
|
+
void* unused) {
|
46
|
+
const grpc_channel_args* args =
|
47
47
|
grpc_channel_stack_builder_get_channel_arguments(builder);
|
48
48
|
for (size_t i = 0; i < args->num_args; i++) {
|
49
49
|
if (0 == strcmp(args->args[i].key, GRPC_ARG_DEFAULT_AUTHORITY) ||
|
@@ -51,12 +51,12 @@ static bool set_default_host_if_unset(grpc_exec_ctx *exec_ctx,
|
|
51
51
|
return true;
|
52
52
|
}
|
53
53
|
}
|
54
|
-
char
|
54
|
+
char* default_authority = grpc_get_default_authority(
|
55
55
|
exec_ctx, grpc_channel_stack_builder_get_target(builder));
|
56
|
-
if (default_authority !=
|
56
|
+
if (default_authority != nullptr) {
|
57
57
|
grpc_arg arg = grpc_channel_arg_string_create(
|
58
|
-
(char
|
59
|
-
grpc_channel_args
|
58
|
+
(char*)GRPC_ARG_DEFAULT_AUTHORITY, default_authority);
|
59
|
+
grpc_channel_args* new_args = grpc_channel_args_copy_and_add(args, &arg, 1);
|
60
60
|
grpc_channel_stack_builder_set_channel_arguments(exec_ctx, builder,
|
61
61
|
new_args);
|
62
62
|
gpr_free(default_authority);
|
@@ -65,7 +65,7 @@ static bool set_default_host_if_unset(grpc_exec_ctx *exec_ctx,
|
|
65
65
|
return true;
|
66
66
|
}
|
67
67
|
|
68
|
-
void grpc_client_channel_init(void) {
|
68
|
+
extern "C" void grpc_client_channel_init(void) {
|
69
69
|
grpc_lb_policy_registry_init();
|
70
70
|
grpc_resolver_registry_init();
|
71
71
|
grpc_retry_throttle_map_init();
|
@@ -73,18 +73,14 @@ void grpc_client_channel_init(void) {
|
|
73
73
|
grpc_register_http_proxy_mapper();
|
74
74
|
grpc_subchannel_index_init();
|
75
75
|
grpc_channel_init_register_stage(GRPC_CLIENT_CHANNEL, INT_MIN,
|
76
|
-
set_default_host_if_unset,
|
76
|
+
set_default_host_if_unset, nullptr);
|
77
77
|
grpc_channel_init_register_stage(
|
78
78
|
GRPC_CLIENT_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, append_filter,
|
79
|
-
(void
|
79
|
+
(void*)&grpc_client_channel_filter);
|
80
80
|
grpc_http_connect_register_handshaker_factory();
|
81
|
-
grpc_register_tracer(&grpc_client_channel_trace);
|
82
|
-
#ifndef NDEBUG
|
83
|
-
grpc_register_tracer(&grpc_trace_resolver_refcount);
|
84
|
-
#endif
|
85
81
|
}
|
86
82
|
|
87
|
-
void grpc_client_channel_shutdown(void) {
|
83
|
+
extern "C" void grpc_client_channel_shutdown(void) {
|
88
84
|
grpc_subchannel_index_shutdown();
|
89
85
|
grpc_channel_init_shutdown();
|
90
86
|
grpc_proxy_mapper_registry_shutdown();
|
File without changes
|
@@ -23,51 +23,59 @@
|
|
23
23
|
#include "src/core/lib/iomgr/resolve_address.h"
|
24
24
|
#include "src/core/lib/transport/transport.h"
|
25
25
|
|
26
|
+
#ifdef __cplusplus
|
27
|
+
extern "C" {
|
28
|
+
#endif
|
29
|
+
|
26
30
|
typedef struct grpc_connector grpc_connector;
|
27
31
|
typedef struct grpc_connector_vtable grpc_connector_vtable;
|
28
32
|
|
29
33
|
struct grpc_connector {
|
30
|
-
const grpc_connector_vtable
|
34
|
+
const grpc_connector_vtable* vtable;
|
31
35
|
};
|
32
36
|
|
33
37
|
typedef struct {
|
34
38
|
/** set of pollsets interested in this connection */
|
35
|
-
grpc_pollset_set
|
39
|
+
grpc_pollset_set* interested_parties;
|
36
40
|
/** deadline for connection */
|
37
|
-
|
41
|
+
grpc_millis deadline;
|
38
42
|
/** channel arguments (to be passed to transport) */
|
39
|
-
const grpc_channel_args
|
43
|
+
const grpc_channel_args* channel_args;
|
40
44
|
} grpc_connect_in_args;
|
41
45
|
|
42
46
|
typedef struct {
|
43
47
|
/** the connected transport */
|
44
|
-
grpc_transport
|
48
|
+
grpc_transport* transport;
|
45
49
|
|
46
50
|
/** channel arguments (to be passed to the filters) */
|
47
|
-
grpc_channel_args
|
51
|
+
grpc_channel_args* channel_args;
|
48
52
|
} grpc_connect_out_args;
|
49
53
|
|
50
54
|
struct grpc_connector_vtable {
|
51
|
-
void (*ref)(grpc_connector
|
52
|
-
void (*unref)(grpc_exec_ctx
|
55
|
+
void (*ref)(grpc_connector* connector);
|
56
|
+
void (*unref)(grpc_exec_ctx* exec_ctx, grpc_connector* connector);
|
53
57
|
/** Implementation of grpc_connector_shutdown */
|
54
|
-
void (*shutdown)(grpc_exec_ctx
|
55
|
-
grpc_error
|
58
|
+
void (*shutdown)(grpc_exec_ctx* exec_ctx, grpc_connector* connector,
|
59
|
+
grpc_error* why);
|
56
60
|
/** Implementation of grpc_connector_connect */
|
57
|
-
void (*connect)(grpc_exec_ctx
|
58
|
-
const grpc_connect_in_args
|
59
|
-
grpc_connect_out_args
|
61
|
+
void (*connect)(grpc_exec_ctx* exec_ctx, grpc_connector* connector,
|
62
|
+
const grpc_connect_in_args* in_args,
|
63
|
+
grpc_connect_out_args* out_args, grpc_closure* notify);
|
60
64
|
};
|
61
65
|
|
62
|
-
grpc_connector
|
63
|
-
void grpc_connector_unref(grpc_exec_ctx
|
66
|
+
grpc_connector* grpc_connector_ref(grpc_connector* connector);
|
67
|
+
void grpc_connector_unref(grpc_exec_ctx* exec_ctx, grpc_connector* connector);
|
64
68
|
/** Connect using the connector: max one outstanding call at a time */
|
65
|
-
void grpc_connector_connect(grpc_exec_ctx
|
66
|
-
const grpc_connect_in_args
|
67
|
-
grpc_connect_out_args
|
68
|
-
grpc_closure
|
69
|
+
void grpc_connector_connect(grpc_exec_ctx* exec_ctx, grpc_connector* connector,
|
70
|
+
const grpc_connect_in_args* in_args,
|
71
|
+
grpc_connect_out_args* out_args,
|
72
|
+
grpc_closure* notify);
|
69
73
|
/** Cancel any pending connection */
|
70
|
-
void grpc_connector_shutdown(grpc_exec_ctx
|
71
|
-
grpc_error
|
74
|
+
void grpc_connector_shutdown(grpc_exec_ctx* exec_ctx, grpc_connector* connector,
|
75
|
+
grpc_error* why);
|
76
|
+
|
77
|
+
#ifdef __cplusplus
|
78
|
+
}
|
79
|
+
#endif
|
72
80
|
|
73
81
|
#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CONNECTOR_H */
|
data/src/core/ext/filters/client_channel/{http_connect_handshaker.c → http_connect_handshaker.cc}
RENAMED
@@ -65,10 +65,10 @@ static void http_connect_handshaker_unref(grpc_exec_ctx* exec_ctx,
|
|
65
65
|
http_connect_handshaker* handshaker) {
|
66
66
|
if (gpr_unref(&handshaker->refcount)) {
|
67
67
|
gpr_mu_destroy(&handshaker->mu);
|
68
|
-
if (handshaker->endpoint_to_destroy !=
|
68
|
+
if (handshaker->endpoint_to_destroy != nullptr) {
|
69
69
|
grpc_endpoint_destroy(exec_ctx, handshaker->endpoint_to_destroy);
|
70
70
|
}
|
71
|
-
if (handshaker->read_buffer_to_destroy !=
|
71
|
+
if (handshaker->read_buffer_to_destroy != nullptr) {
|
72
72
|
grpc_slice_buffer_destroy_internal(exec_ctx,
|
73
73
|
handshaker->read_buffer_to_destroy);
|
74
74
|
gpr_free(handshaker->read_buffer_to_destroy);
|
@@ -85,11 +85,11 @@ static void http_connect_handshaker_unref(grpc_exec_ctx* exec_ctx,
|
|
85
85
|
static void cleanup_args_for_failure_locked(
|
86
86
|
grpc_exec_ctx* exec_ctx, http_connect_handshaker* handshaker) {
|
87
87
|
handshaker->endpoint_to_destroy = handshaker->args->endpoint;
|
88
|
-
handshaker->args->endpoint =
|
88
|
+
handshaker->args->endpoint = nullptr;
|
89
89
|
handshaker->read_buffer_to_destroy = handshaker->args->read_buffer;
|
90
|
-
handshaker->args->read_buffer =
|
90
|
+
handshaker->args->read_buffer = nullptr;
|
91
91
|
grpc_channel_args_destroy(exec_ctx, handshaker->args->args);
|
92
|
-
handshaker->args->args =
|
92
|
+
handshaker->args->args = nullptr;
|
93
93
|
}
|
94
94
|
|
95
95
|
// If the handshake failed or we're shutting down, clean up and invoke the
|
@@ -260,7 +260,7 @@ static void http_connect_handshaker_do_handshake(
|
|
260
260
|
// If not found, invoke on_handshake_done without doing anything.
|
261
261
|
const grpc_arg* arg =
|
262
262
|
grpc_channel_args_find(args->args, GRPC_ARG_HTTP_CONNECT_SERVER);
|
263
|
-
if (arg ==
|
263
|
+
if (arg == nullptr) {
|
264
264
|
// Set shutdown to true so that subsequent calls to
|
265
265
|
// http_connect_handshaker_shutdown() do nothing.
|
266
266
|
gpr_mu_lock(&handshaker->mu);
|
@@ -273,11 +273,11 @@ static void http_connect_handshaker_do_handshake(
|
|
273
273
|
char* server_name = arg->value.string;
|
274
274
|
// Get headers from channel args.
|
275
275
|
arg = grpc_channel_args_find(args->args, GRPC_ARG_HTTP_CONNECT_HEADERS);
|
276
|
-
grpc_http_header* headers =
|
276
|
+
grpc_http_header* headers = nullptr;
|
277
277
|
size_t num_headers = 0;
|
278
|
-
char** header_strings =
|
278
|
+
char** header_strings = nullptr;
|
279
279
|
size_t num_header_strings = 0;
|
280
|
-
if (arg !=
|
280
|
+
if (arg != nullptr) {
|
281
281
|
GPR_ASSERT(arg->type == GRPC_ARG_STRING);
|
282
282
|
gpr_string_split(arg->value.string, "\n", &header_strings,
|
283
283
|
&num_header_strings);
|
@@ -285,7 +285,7 @@ static void http_connect_handshaker_do_handshake(
|
|
285
285
|
num_header_strings);
|
286
286
|
for (size_t i = 0; i < num_header_strings; ++i) {
|
287
287
|
char* sep = strchr(header_strings[i], ':');
|
288
|
-
if (sep ==
|
288
|
+
if (sep == nullptr) {
|
289
289
|
gpr_log(GPR_ERROR, "skipping unparseable HTTP CONNECT header: %s",
|
290
290
|
header_strings[i]);
|
291
291
|
continue;
|
@@ -28,7 +28,15 @@
|
|
28
28
|
/// seperated by colons.
|
29
29
|
#define GRPC_ARG_HTTP_CONNECT_HEADERS "grpc.http_connect_headers"
|
30
30
|
|
31
|
+
#ifdef __cplusplus
|
32
|
+
extern "C" {
|
33
|
+
#endif
|
34
|
+
|
31
35
|
/// Registers handshaker factory.
|
32
36
|
void grpc_http_connect_register_handshaker_factory();
|
33
37
|
|
38
|
+
#ifdef __cplusplus
|
39
|
+
}
|
40
|
+
#endif
|
41
|
+
|
34
42
|
#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_CONNECT_HANDSHAKER_H */
|
@@ -41,15 +41,15 @@
|
|
41
41
|
* responsibility to gpr_free user_cred.
|
42
42
|
*/
|
43
43
|
static char* get_http_proxy_server(grpc_exec_ctx* exec_ctx, char** user_cred) {
|
44
|
-
GPR_ASSERT(user_cred !=
|
45
|
-
char* proxy_name =
|
44
|
+
GPR_ASSERT(user_cred != nullptr);
|
45
|
+
char* proxy_name = nullptr;
|
46
46
|
char* uri_str = gpr_getenv("http_proxy");
|
47
|
-
char** authority_strs =
|
47
|
+
char** authority_strs = nullptr;
|
48
48
|
size_t authority_nstrs;
|
49
|
-
if (uri_str ==
|
49
|
+
if (uri_str == nullptr) return nullptr;
|
50
50
|
grpc_uri* uri =
|
51
51
|
grpc_uri_parse(exec_ctx, uri_str, false /* suppress_errors */);
|
52
|
-
if (uri ==
|
52
|
+
if (uri == nullptr || uri->authority == nullptr) {
|
53
53
|
gpr_log(GPR_ERROR, "cannot parse value of 'http_proxy' env var");
|
54
54
|
goto done;
|
55
55
|
}
|
@@ -73,7 +73,7 @@ static char* get_http_proxy_server(grpc_exec_ctx* exec_ctx, char** user_cred) {
|
|
73
73
|
for (size_t i = 0; i < authority_nstrs; i++) {
|
74
74
|
gpr_free(authority_strs[i]);
|
75
75
|
}
|
76
|
-
proxy_name =
|
76
|
+
proxy_name = nullptr;
|
77
77
|
}
|
78
78
|
gpr_free(authority_strs);
|
79
79
|
done:
|
@@ -88,13 +88,13 @@ static bool proxy_mapper_map_name(grpc_exec_ctx* exec_ctx,
|
|
88
88
|
const grpc_channel_args* args,
|
89
89
|
char** name_to_resolve,
|
90
90
|
grpc_channel_args** new_args) {
|
91
|
-
char* user_cred =
|
91
|
+
char* user_cred = nullptr;
|
92
92
|
*name_to_resolve = get_http_proxy_server(exec_ctx, &user_cred);
|
93
|
-
if (*name_to_resolve ==
|
94
|
-
char* no_proxy_str =
|
93
|
+
if (*name_to_resolve == nullptr) return false;
|
94
|
+
char* no_proxy_str = nullptr;
|
95
95
|
grpc_uri* uri =
|
96
96
|
grpc_uri_parse(exec_ctx, server_uri, false /* suppress_errors */);
|
97
|
-
if (uri ==
|
97
|
+
if (uri == nullptr || uri->path[0] == '\0') {
|
98
98
|
gpr_log(GPR_ERROR,
|
99
99
|
"'http_proxy' environment variable set, but cannot "
|
100
100
|
"parse server URI '%s' -- not using proxy",
|
@@ -107,7 +107,7 @@ static bool proxy_mapper_map_name(grpc_exec_ctx* exec_ctx,
|
|
107
107
|
goto no_use_proxy;
|
108
108
|
}
|
109
109
|
no_proxy_str = gpr_getenv("no_proxy");
|
110
|
-
if (no_proxy_str !=
|
110
|
+
if (no_proxy_str != nullptr) {
|
111
111
|
static const char* NO_PROXY_SEPARATOR = ",";
|
112
112
|
bool use_proxy = true;
|
113
113
|
char* server_host;
|
@@ -149,7 +149,7 @@ static bool proxy_mapper_map_name(grpc_exec_ctx* exec_ctx,
|
|
149
149
|
args_to_add[0] = grpc_channel_arg_string_create(
|
150
150
|
(char*)GRPC_ARG_HTTP_CONNECT_SERVER,
|
151
151
|
uri->path[0] == '/' ? uri->path + 1 : uri->path);
|
152
|
-
if (user_cred !=
|
152
|
+
if (user_cred != nullptr) {
|
153
153
|
/* Use base64 encoding for user credentials as stated in RFC 7617 */
|
154
154
|
char* encoded_user_cred =
|
155
155
|
grpc_base64_encode(user_cred, strlen(user_cred), 0, 0);
|
@@ -167,9 +167,9 @@ static bool proxy_mapper_map_name(grpc_exec_ctx* exec_ctx,
|
|
167
167
|
gpr_free(user_cred);
|
168
168
|
return true;
|
169
169
|
no_use_proxy:
|
170
|
-
if (uri !=
|
170
|
+
if (uri != nullptr) grpc_uri_destroy(uri);
|
171
171
|
gpr_free(*name_to_resolve);
|
172
|
-
*name_to_resolve =
|
172
|
+
*name_to_resolve = nullptr;
|
173
173
|
gpr_free(user_cred);
|
174
174
|
return false;
|
175
175
|
}
|
@@ -19,6 +19,14 @@
|
|
19
19
|
#ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H
|
20
20
|
#define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H
|
21
21
|
|
22
|
+
#ifdef __cplusplus
|
23
|
+
extern "C" {
|
24
|
+
#endif
|
25
|
+
|
22
26
|
void grpc_register_http_proxy_mapper();
|
23
27
|
|
28
|
+
#ifdef __cplusplus
|
29
|
+
}
|
30
|
+
#endif
|
31
|
+
|
24
32
|
#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H */
|
@@ -21,14 +21,12 @@
|
|
21
21
|
|
22
22
|
#define WEAK_REF_BITS 16
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
GRPC_TRACER_INITIALIZER(false, "lb_policy_refcount");
|
27
|
-
#endif
|
24
|
+
grpc_core::DebugOnlyTraceFlag grpc_trace_lb_policy_refcount(
|
25
|
+
false, "lb_policy_refcount");
|
28
26
|
|
29
|
-
void grpc_lb_policy_init(grpc_lb_policy
|
30
|
-
const grpc_lb_policy_vtable
|
31
|
-
grpc_combiner
|
27
|
+
void grpc_lb_policy_init(grpc_lb_policy* policy,
|
28
|
+
const grpc_lb_policy_vtable* vtable,
|
29
|
+
grpc_combiner* combiner) {
|
32
30
|
policy->vtable = vtable;
|
33
31
|
gpr_atm_no_barrier_store(&policy->ref_pair, 1 << WEAK_REF_BITS);
|
34
32
|
policy->interested_parties = grpc_pollset_set_create();
|
@@ -37,7 +35,7 @@ void grpc_lb_policy_init(grpc_lb_policy *policy,
|
|
37
35
|
|
38
36
|
#ifndef NDEBUG
|
39
37
|
#define REF_FUNC_EXTRA_ARGS , const char *file, int line, const char *reason
|
40
|
-
#define REF_MUTATE_EXTRA_ARGS REF_FUNC_EXTRA_ARGS, const char
|
38
|
+
#define REF_MUTATE_EXTRA_ARGS REF_FUNC_EXTRA_ARGS, const char* purpose
|
41
39
|
#define REF_FUNC_PASS_ARGS(new_reason) , file, line, new_reason
|
42
40
|
#define REF_MUTATE_PASS_ARGS(purpose) , file, line, reason, purpose
|
43
41
|
#else
|
@@ -47,12 +45,12 @@ void grpc_lb_policy_init(grpc_lb_policy *policy,
|
|
47
45
|
#define REF_MUTATE_PASS_ARGS(x)
|
48
46
|
#endif
|
49
47
|
|
50
|
-
static gpr_atm ref_mutate(grpc_lb_policy
|
48
|
+
static gpr_atm ref_mutate(grpc_lb_policy* c, gpr_atm delta,
|
51
49
|
int barrier REF_MUTATE_EXTRA_ARGS) {
|
52
50
|
gpr_atm old_val = barrier ? gpr_atm_full_fetch_add(&c->ref_pair, delta)
|
53
51
|
: gpr_atm_no_barrier_fetch_add(&c->ref_pair, delta);
|
54
52
|
#ifndef NDEBUG
|
55
|
-
if (
|
53
|
+
if (grpc_trace_lb_policy_refcount.enabled()) {
|
56
54
|
gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
|
57
55
|
"LB_POLICY: %p %12s 0x%" PRIxPTR " -> 0x%" PRIxPTR " [%s]", c,
|
58
56
|
purpose, old_val, old_val + delta, reason);
|
@@ -61,104 +59,105 @@ static gpr_atm ref_mutate(grpc_lb_policy *c, gpr_atm delta,
|
|
61
59
|
return old_val;
|
62
60
|
}
|
63
61
|
|
64
|
-
void grpc_lb_policy_ref(grpc_lb_policy
|
62
|
+
void grpc_lb_policy_ref(grpc_lb_policy* policy REF_FUNC_EXTRA_ARGS) {
|
65
63
|
ref_mutate(policy, 1 << WEAK_REF_BITS, 0 REF_MUTATE_PASS_ARGS("STRONG_REF"));
|
66
64
|
}
|
67
65
|
|
68
|
-
static void shutdown_locked(grpc_exec_ctx
|
69
|
-
grpc_error
|
70
|
-
grpc_lb_policy
|
66
|
+
static void shutdown_locked(grpc_exec_ctx* exec_ctx, void* arg,
|
67
|
+
grpc_error* error) {
|
68
|
+
grpc_lb_policy* policy = (grpc_lb_policy*)arg;
|
71
69
|
policy->vtable->shutdown_locked(exec_ctx, policy);
|
72
70
|
GRPC_LB_POLICY_WEAK_UNREF(exec_ctx, policy, "strong-unref");
|
73
71
|
}
|
74
72
|
|
75
|
-
void grpc_lb_policy_unref(grpc_exec_ctx
|
76
|
-
grpc_lb_policy
|
73
|
+
void grpc_lb_policy_unref(grpc_exec_ctx* exec_ctx,
|
74
|
+
grpc_lb_policy* policy REF_FUNC_EXTRA_ARGS) {
|
77
75
|
gpr_atm old_val =
|
78
76
|
ref_mutate(policy, (gpr_atm)1 - (gpr_atm)(1 << WEAK_REF_BITS),
|
79
77
|
1 REF_MUTATE_PASS_ARGS("STRONG_UNREF"));
|
80
78
|
gpr_atm mask = ~(gpr_atm)((1 << WEAK_REF_BITS) - 1);
|
81
79
|
gpr_atm check = 1 << WEAK_REF_BITS;
|
82
80
|
if ((old_val & mask) == check) {
|
83
|
-
GRPC_CLOSURE_SCHED(
|
84
|
-
|
85
|
-
|
86
|
-
|
81
|
+
GRPC_CLOSURE_SCHED(
|
82
|
+
exec_ctx,
|
83
|
+
GRPC_CLOSURE_CREATE(shutdown_locked, policy,
|
84
|
+
grpc_combiner_scheduler(policy->combiner)),
|
85
|
+
GRPC_ERROR_NONE);
|
87
86
|
} else {
|
88
87
|
grpc_lb_policy_weak_unref(exec_ctx,
|
89
88
|
policy REF_FUNC_PASS_ARGS("strong-unref"));
|
90
89
|
}
|
91
90
|
}
|
92
91
|
|
93
|
-
void grpc_lb_policy_weak_ref(grpc_lb_policy
|
92
|
+
void grpc_lb_policy_weak_ref(grpc_lb_policy* policy REF_FUNC_EXTRA_ARGS) {
|
94
93
|
ref_mutate(policy, 1, 0 REF_MUTATE_PASS_ARGS("WEAK_REF"));
|
95
94
|
}
|
96
95
|
|
97
|
-
void grpc_lb_policy_weak_unref(grpc_exec_ctx
|
98
|
-
grpc_lb_policy
|
96
|
+
void grpc_lb_policy_weak_unref(grpc_exec_ctx* exec_ctx,
|
97
|
+
grpc_lb_policy* policy REF_FUNC_EXTRA_ARGS) {
|
99
98
|
gpr_atm old_val =
|
100
99
|
ref_mutate(policy, -(gpr_atm)1, 1 REF_MUTATE_PASS_ARGS("WEAK_UNREF"));
|
101
100
|
if (old_val == 1) {
|
102
101
|
grpc_pollset_set_destroy(exec_ctx, policy->interested_parties);
|
103
|
-
grpc_combiner
|
102
|
+
grpc_combiner* combiner = policy->combiner;
|
104
103
|
policy->vtable->destroy(exec_ctx, policy);
|
105
104
|
GRPC_COMBINER_UNREF(exec_ctx, combiner, "lb_policy");
|
106
105
|
}
|
107
106
|
}
|
108
107
|
|
109
|
-
int grpc_lb_policy_pick_locked(grpc_exec_ctx
|
110
|
-
const grpc_lb_policy_pick_args
|
111
|
-
grpc_connected_subchannel
|
112
|
-
grpc_call_context_element
|
113
|
-
void
|
108
|
+
int grpc_lb_policy_pick_locked(grpc_exec_ctx* exec_ctx, grpc_lb_policy* policy,
|
109
|
+
const grpc_lb_policy_pick_args* pick_args,
|
110
|
+
grpc_connected_subchannel** target,
|
111
|
+
grpc_call_context_element* context,
|
112
|
+
void** user_data, grpc_closure* on_complete) {
|
114
113
|
return policy->vtable->pick_locked(exec_ctx, policy, pick_args, target,
|
115
114
|
context, user_data, on_complete);
|
116
115
|
}
|
117
116
|
|
118
|
-
void grpc_lb_policy_cancel_pick_locked(grpc_exec_ctx
|
119
|
-
grpc_lb_policy
|
120
|
-
grpc_connected_subchannel
|
121
|
-
grpc_error
|
117
|
+
void grpc_lb_policy_cancel_pick_locked(grpc_exec_ctx* exec_ctx,
|
118
|
+
grpc_lb_policy* policy,
|
119
|
+
grpc_connected_subchannel** target,
|
120
|
+
grpc_error* error) {
|
122
121
|
policy->vtable->cancel_pick_locked(exec_ctx, policy, target, error);
|
123
122
|
}
|
124
123
|
|
125
|
-
void grpc_lb_policy_cancel_picks_locked(grpc_exec_ctx
|
126
|
-
grpc_lb_policy
|
124
|
+
void grpc_lb_policy_cancel_picks_locked(grpc_exec_ctx* exec_ctx,
|
125
|
+
grpc_lb_policy* policy,
|
127
126
|
uint32_t initial_metadata_flags_mask,
|
128
127
|
uint32_t initial_metadata_flags_eq,
|
129
|
-
grpc_error
|
128
|
+
grpc_error* error) {
|
130
129
|
policy->vtable->cancel_picks_locked(exec_ctx, policy,
|
131
130
|
initial_metadata_flags_mask,
|
132
131
|
initial_metadata_flags_eq, error);
|
133
132
|
}
|
134
133
|
|
135
|
-
void grpc_lb_policy_exit_idle_locked(grpc_exec_ctx
|
136
|
-
grpc_lb_policy
|
134
|
+
void grpc_lb_policy_exit_idle_locked(grpc_exec_ctx* exec_ctx,
|
135
|
+
grpc_lb_policy* policy) {
|
137
136
|
policy->vtable->exit_idle_locked(exec_ctx, policy);
|
138
137
|
}
|
139
138
|
|
140
|
-
void grpc_lb_policy_ping_one_locked(grpc_exec_ctx
|
141
|
-
grpc_lb_policy
|
142
|
-
grpc_closure
|
139
|
+
void grpc_lb_policy_ping_one_locked(grpc_exec_ctx* exec_ctx,
|
140
|
+
grpc_lb_policy* policy,
|
141
|
+
grpc_closure* closure) {
|
143
142
|
policy->vtable->ping_one_locked(exec_ctx, policy, closure);
|
144
143
|
}
|
145
144
|
|
146
145
|
void grpc_lb_policy_notify_on_state_change_locked(
|
147
|
-
grpc_exec_ctx
|
148
|
-
grpc_connectivity_state
|
146
|
+
grpc_exec_ctx* exec_ctx, grpc_lb_policy* policy,
|
147
|
+
grpc_connectivity_state* state, grpc_closure* closure) {
|
149
148
|
policy->vtable->notify_on_state_change_locked(exec_ctx, policy, state,
|
150
149
|
closure);
|
151
150
|
}
|
152
151
|
|
153
152
|
grpc_connectivity_state grpc_lb_policy_check_connectivity_locked(
|
154
|
-
grpc_exec_ctx
|
155
|
-
grpc_error
|
153
|
+
grpc_exec_ctx* exec_ctx, grpc_lb_policy* policy,
|
154
|
+
grpc_error** connectivity_error) {
|
156
155
|
return policy->vtable->check_connectivity_locked(exec_ctx, policy,
|
157
156
|
connectivity_error);
|
158
157
|
}
|
159
158
|
|
160
|
-
void grpc_lb_policy_update_locked(grpc_exec_ctx
|
161
|
-
grpc_lb_policy
|
162
|
-
const grpc_lb_policy_args
|
159
|
+
void grpc_lb_policy_update_locked(grpc_exec_ctx* exec_ctx,
|
160
|
+
grpc_lb_policy* policy,
|
161
|
+
const grpc_lb_policy_args* lb_policy_args) {
|
163
162
|
policy->vtable->update_locked(exec_ctx, policy, lb_policy_args);
|
164
163
|
}
|