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
@@ -33,24 +33,32 @@
|
|
33
33
|
#include "src/core/lib/iomgr/endpoint.h"
|
34
34
|
#include "src/core/lib/iomgr/ev_posix.h"
|
35
35
|
|
36
|
-
|
36
|
+
#ifdef __cplusplus
|
37
|
+
extern "C" {
|
38
|
+
#endif
|
39
|
+
|
40
|
+
extern grpc_core::TraceFlag grpc_tcp_trace;
|
37
41
|
|
38
42
|
/* Create a tcp endpoint given a file desciptor and a read slice size.
|
39
43
|
Takes ownership of fd. */
|
40
|
-
grpc_endpoint
|
41
|
-
const grpc_channel_args
|
42
|
-
const char
|
44
|
+
grpc_endpoint* grpc_tcp_create(grpc_exec_ctx* exec_ctx, grpc_fd* fd,
|
45
|
+
const grpc_channel_args* args,
|
46
|
+
const char* peer_string);
|
43
47
|
|
44
48
|
/* Return the tcp endpoint's fd, or -1 if this is not available. Does not
|
45
49
|
release the fd.
|
46
50
|
Requires: ep must be a tcp endpoint.
|
47
51
|
*/
|
48
|
-
int grpc_tcp_fd(grpc_endpoint
|
52
|
+
int grpc_tcp_fd(grpc_endpoint* ep);
|
49
53
|
|
50
54
|
/* Destroy the tcp endpoint without closing its fd. *fd will be set and done
|
51
55
|
* will be called when the endpoint is destroyed.
|
52
56
|
* Requires: ep must be a tcp endpoint and fd must not be NULL. */
|
53
|
-
void grpc_tcp_destroy_and_release_fd(grpc_exec_ctx
|
54
|
-
int
|
57
|
+
void grpc_tcp_destroy_and_release_fd(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
|
58
|
+
int* fd, grpc_closure* done);
|
59
|
+
|
60
|
+
#ifdef __cplusplus
|
61
|
+
}
|
62
|
+
#endif
|
55
63
|
|
56
64
|
#endif /* GRPC_CORE_LIB_IOMGR_TCP_POSIX_H */
|
@@ -25,13 +25,17 @@
|
|
25
25
|
#include "src/core/lib/iomgr/endpoint.h"
|
26
26
|
#include "src/core/lib/iomgr/resolve_address.h"
|
27
27
|
|
28
|
+
#ifdef __cplusplus
|
29
|
+
extern "C" {
|
30
|
+
#endif
|
31
|
+
|
28
32
|
/* Forward decl of grpc_tcp_server */
|
29
33
|
typedef struct grpc_tcp_server grpc_tcp_server;
|
30
34
|
|
31
35
|
typedef struct grpc_tcp_server_acceptor {
|
32
36
|
/* grpc_tcp_server_cb functions share a ref on from_server that is valid
|
33
37
|
until the function returns. */
|
34
|
-
grpc_tcp_server
|
38
|
+
grpc_tcp_server* from_server;
|
35
39
|
/* Indices that may be passed to grpc_tcp_server_port_fd(). */
|
36
40
|
unsigned port_index;
|
37
41
|
unsigned fd_index;
|
@@ -39,23 +43,23 @@ typedef struct grpc_tcp_server_acceptor {
|
|
39
43
|
|
40
44
|
/* Called for newly connected TCP connections.
|
41
45
|
Takes ownership of acceptor. */
|
42
|
-
typedef void (*grpc_tcp_server_cb)(grpc_exec_ctx
|
43
|
-
grpc_endpoint
|
44
|
-
grpc_pollset
|
45
|
-
grpc_tcp_server_acceptor
|
46
|
+
typedef void (*grpc_tcp_server_cb)(grpc_exec_ctx* exec_ctx, void* arg,
|
47
|
+
grpc_endpoint* ep,
|
48
|
+
grpc_pollset* accepting_pollset,
|
49
|
+
grpc_tcp_server_acceptor* acceptor);
|
46
50
|
|
47
51
|
/* Create a server, initially not bound to any ports. The caller owns one ref.
|
48
52
|
If shutdown_complete is not NULL, it will be used by
|
49
53
|
grpc_tcp_server_unref() when the ref count reaches zero. */
|
50
|
-
grpc_error
|
51
|
-
grpc_closure
|
52
|
-
const grpc_channel_args
|
53
|
-
grpc_tcp_server
|
54
|
+
grpc_error* grpc_tcp_server_create(grpc_exec_ctx* exec_ctx,
|
55
|
+
grpc_closure* shutdown_complete,
|
56
|
+
const grpc_channel_args* args,
|
57
|
+
grpc_tcp_server** server);
|
54
58
|
|
55
59
|
/* Start listening to bound ports */
|
56
|
-
void grpc_tcp_server_start(grpc_exec_ctx
|
57
|
-
grpc_pollset
|
58
|
-
grpc_tcp_server_cb on_accept_cb, void
|
60
|
+
void grpc_tcp_server_start(grpc_exec_ctx* exec_ctx, grpc_tcp_server* server,
|
61
|
+
grpc_pollset** pollsets, size_t pollset_count,
|
62
|
+
grpc_tcp_server_cb on_accept_cb, void* cb_arg);
|
59
63
|
|
60
64
|
/* Add a port to the server, returning the newly allocated port on success, or
|
61
65
|
-1 on failure.
|
@@ -66,36 +70,40 @@ void grpc_tcp_server_start(grpc_exec_ctx *exec_ctx, grpc_tcp_server *server,
|
|
66
70
|
but not dualstack sockets. */
|
67
71
|
/* TODO(ctiller): deprecate this, and make grpc_tcp_server_add_ports to handle
|
68
72
|
all of the multiple socket port matching logic in one place */
|
69
|
-
grpc_error
|
70
|
-
const grpc_resolved_address
|
71
|
-
int
|
73
|
+
grpc_error* grpc_tcp_server_add_port(grpc_tcp_server* s,
|
74
|
+
const grpc_resolved_address* addr,
|
75
|
+
int* out_port);
|
72
76
|
|
73
77
|
/* Number of fds at the given port_index, or 0 if port_index is out of
|
74
78
|
bounds. */
|
75
|
-
unsigned grpc_tcp_server_port_fd_count(grpc_tcp_server
|
79
|
+
unsigned grpc_tcp_server_port_fd_count(grpc_tcp_server* s, unsigned port_index);
|
76
80
|
|
77
81
|
/* Returns the file descriptor of the Mth (fd_index) listening socket of the Nth
|
78
82
|
(port_index) call to add_port() on this server, or -1 if the indices are out
|
79
83
|
of bounds. The file descriptor remains owned by the server, and will be
|
80
84
|
cleaned up when the ref count reaches zero. */
|
81
|
-
int grpc_tcp_server_port_fd(grpc_tcp_server
|
85
|
+
int grpc_tcp_server_port_fd(grpc_tcp_server* s, unsigned port_index,
|
82
86
|
unsigned fd_index);
|
83
87
|
|
84
88
|
/* Ref s and return s. */
|
85
|
-
grpc_tcp_server
|
89
|
+
grpc_tcp_server* grpc_tcp_server_ref(grpc_tcp_server* s);
|
86
90
|
|
87
91
|
/* shutdown_starting is called when ref count has reached zero and the server is
|
88
92
|
about to be destroyed. The server will be deleted after it returns. Calling
|
89
93
|
grpc_tcp_server_ref() from it has no effect. */
|
90
|
-
void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server
|
91
|
-
grpc_closure
|
94
|
+
void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server* s,
|
95
|
+
grpc_closure* shutdown_starting);
|
92
96
|
|
93
97
|
/* If the refcount drops to zero, enqueue calls on exec_ctx to
|
94
98
|
shutdown_listeners and delete s. */
|
95
|
-
void grpc_tcp_server_unref(grpc_exec_ctx
|
99
|
+
void grpc_tcp_server_unref(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s);
|
96
100
|
|
97
101
|
/* Shutdown the fds of listeners. */
|
98
|
-
void grpc_tcp_server_shutdown_listeners(grpc_exec_ctx
|
99
|
-
grpc_tcp_server
|
102
|
+
void grpc_tcp_server_shutdown_listeners(grpc_exec_ctx* exec_ctx,
|
103
|
+
grpc_tcp_server* s);
|
104
|
+
|
105
|
+
#ifdef __cplusplus
|
106
|
+
}
|
107
|
+
#endif
|
100
108
|
|
101
109
|
#endif /* GRPC_CORE_LIB_IOMGR_TCP_SERVER_H */
|
@@ -68,16 +68,16 @@ static void init(void) {
|
|
68
68
|
#endif
|
69
69
|
}
|
70
70
|
|
71
|
-
grpc_error
|
72
|
-
grpc_closure
|
73
|
-
const grpc_channel_args
|
74
|
-
grpc_tcp_server
|
71
|
+
grpc_error* grpc_tcp_server_create(grpc_exec_ctx* exec_ctx,
|
72
|
+
grpc_closure* shutdown_complete,
|
73
|
+
const grpc_channel_args* args,
|
74
|
+
grpc_tcp_server** server) {
|
75
75
|
gpr_once_init(&check_init, init);
|
76
76
|
|
77
|
-
grpc_tcp_server
|
77
|
+
grpc_tcp_server* s = (grpc_tcp_server*)gpr_zalloc(sizeof(grpc_tcp_server));
|
78
78
|
s->so_reuseport = has_so_reuseport;
|
79
79
|
s->expand_wildcard_addrs = false;
|
80
|
-
for (size_t i = 0; i < (args ==
|
80
|
+
for (size_t i = 0; i < (args == nullptr ? 0 : args->num_args); i++) {
|
81
81
|
if (0 == strcmp(GRPC_ARG_ALLOW_REUSEPORT, args->args[i].key)) {
|
82
82
|
if (args->args[i].type == GRPC_ARG_INTEGER) {
|
83
83
|
s->so_reuseport =
|
@@ -102,13 +102,13 @@ grpc_error *grpc_tcp_server_create(grpc_exec_ctx *exec_ctx,
|
|
102
102
|
s->active_ports = 0;
|
103
103
|
s->destroyed_ports = 0;
|
104
104
|
s->shutdown = false;
|
105
|
-
s->shutdown_starting.head =
|
106
|
-
s->shutdown_starting.tail =
|
105
|
+
s->shutdown_starting.head = nullptr;
|
106
|
+
s->shutdown_starting.tail = nullptr;
|
107
107
|
s->shutdown_complete = shutdown_complete;
|
108
|
-
s->on_accept_cb =
|
109
|
-
s->on_accept_cb_arg =
|
110
|
-
s->head =
|
111
|
-
s->tail =
|
108
|
+
s->on_accept_cb = nullptr;
|
109
|
+
s->on_accept_cb_arg = nullptr;
|
110
|
+
s->head = nullptr;
|
111
|
+
s->tail = nullptr;
|
112
112
|
s->nports = 0;
|
113
113
|
s->channel_args = grpc_channel_args_copy(args);
|
114
114
|
gpr_atm_no_barrier_store(&s->next_pollset_to_assign, 0);
|
@@ -116,18 +116,18 @@ grpc_error *grpc_tcp_server_create(grpc_exec_ctx *exec_ctx,
|
|
116
116
|
return GRPC_ERROR_NONE;
|
117
117
|
}
|
118
118
|
|
119
|
-
static void finish_shutdown(grpc_exec_ctx
|
119
|
+
static void finish_shutdown(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
|
120
120
|
gpr_mu_lock(&s->mu);
|
121
121
|
GPR_ASSERT(s->shutdown);
|
122
122
|
gpr_mu_unlock(&s->mu);
|
123
|
-
if (s->shutdown_complete !=
|
123
|
+
if (s->shutdown_complete != nullptr) {
|
124
124
|
GRPC_CLOSURE_SCHED(exec_ctx, s->shutdown_complete, GRPC_ERROR_NONE);
|
125
125
|
}
|
126
126
|
|
127
127
|
gpr_mu_destroy(&s->mu);
|
128
128
|
|
129
129
|
while (s->head) {
|
130
|
-
grpc_tcp_listener
|
130
|
+
grpc_tcp_listener* sp = s->head;
|
131
131
|
s->head = sp->next;
|
132
132
|
gpr_free(sp);
|
133
133
|
}
|
@@ -136,9 +136,9 @@ static void finish_shutdown(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) {
|
|
136
136
|
gpr_free(s);
|
137
137
|
}
|
138
138
|
|
139
|
-
static void destroyed_port(grpc_exec_ctx
|
140
|
-
grpc_error
|
141
|
-
grpc_tcp_server
|
139
|
+
static void destroyed_port(grpc_exec_ctx* exec_ctx, void* server,
|
140
|
+
grpc_error* error) {
|
141
|
+
grpc_tcp_server* s = (grpc_tcp_server*)server;
|
142
142
|
gpr_mu_lock(&s->mu);
|
143
143
|
s->destroyed_ports++;
|
144
144
|
if (s->destroyed_ports == s->nports) {
|
@@ -153,19 +153,19 @@ static void destroyed_port(grpc_exec_ctx *exec_ctx, void *server,
|
|
153
153
|
/* called when all listening endpoints have been shutdown, so no further
|
154
154
|
events will be received on them - at this point it's safe to destroy
|
155
155
|
things */
|
156
|
-
static void deactivated_all_ports(grpc_exec_ctx
|
156
|
+
static void deactivated_all_ports(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
|
157
157
|
/* delete ALL the things */
|
158
158
|
gpr_mu_lock(&s->mu);
|
159
159
|
|
160
160
|
GPR_ASSERT(s->shutdown);
|
161
161
|
|
162
162
|
if (s->head) {
|
163
|
-
grpc_tcp_listener
|
163
|
+
grpc_tcp_listener* sp;
|
164
164
|
for (sp = s->head; sp; sp = sp->next) {
|
165
165
|
grpc_unlink_if_unix_domain_socket(&sp->addr);
|
166
166
|
GRPC_CLOSURE_INIT(&sp->destroyed_closure, destroyed_port, s,
|
167
167
|
grpc_schedule_on_exec_ctx);
|
168
|
-
grpc_fd_orphan(exec_ctx, sp->emfd, &sp->destroyed_closure,
|
168
|
+
grpc_fd_orphan(exec_ctx, sp->emfd, &sp->destroyed_closure, nullptr,
|
169
169
|
false /* already_closed */, "tcp_listener_shutdown");
|
170
170
|
}
|
171
171
|
gpr_mu_unlock(&s->mu);
|
@@ -175,7 +175,7 @@ static void deactivated_all_ports(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) {
|
|
175
175
|
}
|
176
176
|
}
|
177
177
|
|
178
|
-
static void tcp_server_destroy(grpc_exec_ctx
|
178
|
+
static void tcp_server_destroy(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
|
179
179
|
gpr_mu_lock(&s->mu);
|
180
180
|
|
181
181
|
GPR_ASSERT(!s->shutdown);
|
@@ -183,10 +183,11 @@ static void tcp_server_destroy(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) {
|
|
183
183
|
|
184
184
|
/* shutdown all fd's */
|
185
185
|
if (s->active_ports) {
|
186
|
-
grpc_tcp_listener
|
186
|
+
grpc_tcp_listener* sp;
|
187
187
|
for (sp = s->head; sp; sp = sp->next) {
|
188
|
-
grpc_fd_shutdown(
|
189
|
-
|
188
|
+
grpc_fd_shutdown(
|
189
|
+
exec_ctx, sp->emfd,
|
190
|
+
GRPC_ERROR_CREATE_FROM_STATIC_STRING("Server destroyed"));
|
190
191
|
}
|
191
192
|
gpr_mu_unlock(&s->mu);
|
192
193
|
} else {
|
@@ -196,9 +197,9 @@ static void tcp_server_destroy(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) {
|
|
196
197
|
}
|
197
198
|
|
198
199
|
/* event manager callback when reads are ready */
|
199
|
-
static void on_read(grpc_exec_ctx
|
200
|
-
grpc_tcp_listener
|
201
|
-
grpc_pollset
|
200
|
+
static void on_read(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* err) {
|
201
|
+
grpc_tcp_listener* sp = (grpc_tcp_listener*)arg;
|
202
|
+
grpc_pollset* read_notifier_pollset;
|
202
203
|
if (err != GRPC_ERROR_NONE) {
|
203
204
|
goto error;
|
204
205
|
}
|
@@ -211,8 +212,8 @@ static void on_read(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *err) {
|
|
211
212
|
/* loop until accept4 returns EAGAIN, and then re-arm notification */
|
212
213
|
for (;;) {
|
213
214
|
grpc_resolved_address addr;
|
214
|
-
char
|
215
|
-
char
|
215
|
+
char* addr_str;
|
216
|
+
char* name;
|
216
217
|
addr.len = sizeof(struct sockaddr_storage);
|
217
218
|
/* Note: If we ever decide to return this address to the user, remember to
|
218
219
|
strip off the ::ffff:0.0.0.0/96 prefix first. */
|
@@ -242,17 +243,17 @@ static void on_read(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *err) {
|
|
242
243
|
addr_str = grpc_sockaddr_to_uri(&addr);
|
243
244
|
gpr_asprintf(&name, "tcp-server-connection:%s", addr_str);
|
244
245
|
|
245
|
-
if (
|
246
|
+
if (grpc_tcp_trace.enabled()) {
|
246
247
|
gpr_log(GPR_DEBUG, "SERVER_CONNECT: incoming connection: %s", addr_str);
|
247
248
|
}
|
248
249
|
|
249
|
-
grpc_fd
|
250
|
+
grpc_fd* fdobj = grpc_fd_create(fd, name);
|
250
251
|
|
251
252
|
grpc_pollset_add_fd(exec_ctx, read_notifier_pollset, fdobj);
|
252
253
|
|
253
254
|
// Create acceptor.
|
254
|
-
grpc_tcp_server_acceptor
|
255
|
-
(grpc_tcp_server_acceptor
|
255
|
+
grpc_tcp_server_acceptor* acceptor =
|
256
|
+
(grpc_tcp_server_acceptor*)gpr_malloc(sizeof(*acceptor));
|
256
257
|
acceptor->from_server = sp->server;
|
257
258
|
acceptor->port_index = sp->port_index;
|
258
259
|
acceptor->fd_index = sp->fd_index;
|
@@ -279,18 +280,18 @@ error:
|
|
279
280
|
}
|
280
281
|
|
281
282
|
/* Treat :: or 0.0.0.0 as a family-agnostic wildcard. */
|
282
|
-
static grpc_error
|
283
|
+
static grpc_error* add_wildcard_addrs_to_server(grpc_tcp_server* s,
|
283
284
|
unsigned port_index,
|
284
285
|
int requested_port,
|
285
|
-
int
|
286
|
+
int* out_port) {
|
286
287
|
grpc_resolved_address wild4;
|
287
288
|
grpc_resolved_address wild6;
|
288
289
|
unsigned fd_index = 0;
|
289
290
|
grpc_dualstack_mode dsmode;
|
290
|
-
grpc_tcp_listener
|
291
|
-
grpc_tcp_listener
|
292
|
-
grpc_error
|
293
|
-
grpc_error
|
291
|
+
grpc_tcp_listener* sp = nullptr;
|
292
|
+
grpc_tcp_listener* sp2 = nullptr;
|
293
|
+
grpc_error* v6_err = GRPC_ERROR_NONE;
|
294
|
+
grpc_error* v4_err = GRPC_ERROR_NONE;
|
294
295
|
*out_port = -1;
|
295
296
|
|
296
297
|
if (grpc_tcp_server_have_ifaddrs() && s->expand_wildcard_addrs) {
|
@@ -313,7 +314,7 @@ static grpc_error *add_wildcard_addrs_to_server(grpc_tcp_server *s,
|
|
313
314
|
if ((v4_err = grpc_tcp_server_add_addr(s, &wild4, port_index, fd_index,
|
314
315
|
&dsmode, &sp2)) == GRPC_ERROR_NONE) {
|
315
316
|
*out_port = sp2->port;
|
316
|
-
if (sp !=
|
317
|
+
if (sp != nullptr) {
|
317
318
|
sp2->is_sibling = 1;
|
318
319
|
sp->sibling = sp2;
|
319
320
|
}
|
@@ -335,7 +336,7 @@ static grpc_error *add_wildcard_addrs_to_server(grpc_tcp_server *s,
|
|
335
336
|
}
|
336
337
|
return GRPC_ERROR_NONE;
|
337
338
|
} else {
|
338
|
-
grpc_error
|
339
|
+
grpc_error* root_err = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
339
340
|
"Failed to add any wildcard listeners");
|
340
341
|
GPR_ASSERT(v6_err != GRPC_ERROR_NONE && v4_err != GRPC_ERROR_NONE);
|
341
342
|
root_err = grpc_error_add_child(root_err, v6_err);
|
@@ -344,13 +345,13 @@ static grpc_error *add_wildcard_addrs_to_server(grpc_tcp_server *s,
|
|
344
345
|
}
|
345
346
|
}
|
346
347
|
|
347
|
-
static grpc_error
|
348
|
-
grpc_tcp_listener
|
349
|
-
char
|
350
|
-
char
|
351
|
-
grpc_error
|
348
|
+
static grpc_error* clone_port(grpc_tcp_listener* listener, unsigned count) {
|
349
|
+
grpc_tcp_listener* sp = nullptr;
|
350
|
+
char* addr_str;
|
351
|
+
char* name;
|
352
|
+
grpc_error* err;
|
352
353
|
|
353
|
-
for (grpc_tcp_listener
|
354
|
+
for (grpc_tcp_listener* l = listener->next; l && l->is_sibling; l = l->next) {
|
354
355
|
l->fd_index += count;
|
355
356
|
}
|
356
357
|
|
@@ -366,7 +367,7 @@ static grpc_error *clone_port(grpc_tcp_listener *listener, unsigned count) {
|
|
366
367
|
listener->server->nports++;
|
367
368
|
grpc_sockaddr_to_string(&addr_str, &listener->addr, 1);
|
368
369
|
gpr_asprintf(&name, "tcp-server-listener:%s/clone-%d", addr_str, i);
|
369
|
-
sp = (grpc_tcp_listener
|
370
|
+
sp = (grpc_tcp_listener*)gpr_malloc(sizeof(grpc_tcp_listener));
|
370
371
|
sp->next = listener->next;
|
371
372
|
listener->next = sp;
|
372
373
|
/* sp (the new listener) is a sibling of 'listener' (the original
|
@@ -382,7 +383,7 @@ static grpc_error *clone_port(grpc_tcp_listener *listener, unsigned count) {
|
|
382
383
|
sp->port_index = listener->port_index;
|
383
384
|
sp->fd_index = listener->fd_index + count - i;
|
384
385
|
GPR_ASSERT(sp->emfd);
|
385
|
-
while (listener->server->tail->next !=
|
386
|
+
while (listener->server->tail->next != nullptr) {
|
386
387
|
listener->server->tail = listener->server->tail->next;
|
387
388
|
}
|
388
389
|
gpr_free(addr_str);
|
@@ -392,18 +393,18 @@ static grpc_error *clone_port(grpc_tcp_listener *listener, unsigned count) {
|
|
392
393
|
return GRPC_ERROR_NONE;
|
393
394
|
}
|
394
395
|
|
395
|
-
grpc_error
|
396
|
-
const grpc_resolved_address
|
397
|
-
int
|
398
|
-
grpc_tcp_listener
|
396
|
+
grpc_error* grpc_tcp_server_add_port(grpc_tcp_server* s,
|
397
|
+
const grpc_resolved_address* addr,
|
398
|
+
int* out_port) {
|
399
|
+
grpc_tcp_listener* sp;
|
399
400
|
grpc_resolved_address sockname_temp;
|
400
401
|
grpc_resolved_address addr6_v4mapped;
|
401
402
|
int requested_port = grpc_sockaddr_get_port(addr);
|
402
403
|
unsigned port_index = 0;
|
403
404
|
grpc_dualstack_mode dsmode;
|
404
|
-
grpc_error
|
405
|
+
grpc_error* err;
|
405
406
|
*out_port = -1;
|
406
|
-
if (s->tail !=
|
407
|
+
if (s->tail != nullptr) {
|
407
408
|
port_index = s->tail->port_index + 1;
|
408
409
|
}
|
409
410
|
grpc_unlink_if_unix_domain_socket(addr);
|
@@ -413,8 +414,8 @@ grpc_error *grpc_tcp_server_add_port(grpc_tcp_server *s,
|
|
413
414
|
if (requested_port == 0) {
|
414
415
|
for (sp = s->head; sp; sp = sp->next) {
|
415
416
|
sockname_temp.len = sizeof(struct sockaddr_storage);
|
416
|
-
if (0 == getsockname(sp->fd, (struct sockaddr
|
417
|
-
(socklen_t
|
417
|
+
if (0 == getsockname(sp->fd, (struct sockaddr*)&sockname_temp.addr,
|
418
|
+
(socklen_t*)&sockname_temp.len)) {
|
418
419
|
int used_port = grpc_sockaddr_get_port(&sockname_temp);
|
419
420
|
if (used_port > 0) {
|
420
421
|
memcpy(&sockname_temp, addr, sizeof(grpc_resolved_address));
|
@@ -442,10 +443,10 @@ grpc_error *grpc_tcp_server_add_port(grpc_tcp_server *s,
|
|
442
443
|
|
443
444
|
/* Return listener at port_index or NULL. Should only be called with s->mu
|
444
445
|
locked. */
|
445
|
-
static grpc_tcp_listener
|
446
|
+
static grpc_tcp_listener* get_port_index(grpc_tcp_server* s,
|
446
447
|
unsigned port_index) {
|
447
448
|
unsigned num_ports = 0;
|
448
|
-
grpc_tcp_listener
|
449
|
+
grpc_tcp_listener* sp;
|
449
450
|
for (sp = s->head; sp; sp = sp->next) {
|
450
451
|
if (!sp->is_sibling) {
|
451
452
|
if (++num_ports > port_index) {
|
@@ -453,14 +454,14 @@ static grpc_tcp_listener *get_port_index(grpc_tcp_server *s,
|
|
453
454
|
}
|
454
455
|
}
|
455
456
|
}
|
456
|
-
return
|
457
|
+
return nullptr;
|
457
458
|
}
|
458
459
|
|
459
|
-
unsigned grpc_tcp_server_port_fd_count(grpc_tcp_server
|
460
|
+
unsigned grpc_tcp_server_port_fd_count(grpc_tcp_server* s,
|
460
461
|
unsigned port_index) {
|
461
462
|
unsigned num_fds = 0;
|
462
463
|
gpr_mu_lock(&s->mu);
|
463
|
-
grpc_tcp_listener
|
464
|
+
grpc_tcp_listener* sp = get_port_index(s, port_index);
|
464
465
|
for (; sp; sp = sp->sibling) {
|
465
466
|
++num_fds;
|
466
467
|
}
|
@@ -468,10 +469,10 @@ unsigned grpc_tcp_server_port_fd_count(grpc_tcp_server *s,
|
|
468
469
|
return num_fds;
|
469
470
|
}
|
470
471
|
|
471
|
-
int grpc_tcp_server_port_fd(grpc_tcp_server
|
472
|
+
int grpc_tcp_server_port_fd(grpc_tcp_server* s, unsigned port_index,
|
472
473
|
unsigned fd_index) {
|
473
474
|
gpr_mu_lock(&s->mu);
|
474
|
-
grpc_tcp_listener
|
475
|
+
grpc_tcp_listener* sp = get_port_index(s, port_index);
|
475
476
|
for (; sp; sp = sp->sibling, --fd_index) {
|
476
477
|
if (fd_index == 0) {
|
477
478
|
gpr_mu_unlock(&s->mu);
|
@@ -482,12 +483,12 @@ int grpc_tcp_server_port_fd(grpc_tcp_server *s, unsigned port_index,
|
|
482
483
|
return -1;
|
483
484
|
}
|
484
485
|
|
485
|
-
void grpc_tcp_server_start(grpc_exec_ctx
|
486
|
-
grpc_pollset
|
486
|
+
void grpc_tcp_server_start(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s,
|
487
|
+
grpc_pollset** pollsets, size_t pollset_count,
|
487
488
|
grpc_tcp_server_cb on_accept_cb,
|
488
|
-
void
|
489
|
+
void* on_accept_cb_arg) {
|
489
490
|
size_t i;
|
490
|
-
grpc_tcp_listener
|
491
|
+
grpc_tcp_listener* sp;
|
491
492
|
GPR_ASSERT(on_accept_cb);
|
492
493
|
gpr_mu_lock(&s->mu);
|
493
494
|
GPR_ASSERT(!s->on_accept_cb);
|
@@ -497,7 +498,7 @@ void grpc_tcp_server_start(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s,
|
|
497
498
|
s->pollsets = pollsets;
|
498
499
|
s->pollset_count = pollset_count;
|
499
500
|
sp = s->head;
|
500
|
-
while (sp !=
|
501
|
+
while (sp != nullptr) {
|
501
502
|
if (s->so_reuseport && !grpc_is_unix_socket(&sp->addr) &&
|
502
503
|
pollset_count > 1) {
|
503
504
|
GPR_ASSERT(GRPC_LOG_IF_ERROR(
|
@@ -524,20 +525,20 @@ void grpc_tcp_server_start(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s,
|
|
524
525
|
gpr_mu_unlock(&s->mu);
|
525
526
|
}
|
526
527
|
|
527
|
-
grpc_tcp_server
|
528
|
+
grpc_tcp_server* grpc_tcp_server_ref(grpc_tcp_server* s) {
|
528
529
|
gpr_ref_non_zero(&s->refs);
|
529
530
|
return s;
|
530
531
|
}
|
531
532
|
|
532
|
-
void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server
|
533
|
-
grpc_closure
|
533
|
+
void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server* s,
|
534
|
+
grpc_closure* shutdown_starting) {
|
534
535
|
gpr_mu_lock(&s->mu);
|
535
536
|
grpc_closure_list_append(&s->shutdown_starting, shutdown_starting,
|
536
537
|
GRPC_ERROR_NONE);
|
537
538
|
gpr_mu_unlock(&s->mu);
|
538
539
|
}
|
539
540
|
|
540
|
-
void grpc_tcp_server_unref(grpc_exec_ctx
|
541
|
+
void grpc_tcp_server_unref(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
|
541
542
|
if (gpr_unref(&s->refs)) {
|
542
543
|
grpc_tcp_server_shutdown_listeners(exec_ctx, s);
|
543
544
|
gpr_mu_lock(&s->mu);
|
@@ -547,13 +548,13 @@ void grpc_tcp_server_unref(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) {
|
|
547
548
|
}
|
548
549
|
}
|
549
550
|
|
550
|
-
void grpc_tcp_server_shutdown_listeners(grpc_exec_ctx
|
551
|
-
grpc_tcp_server
|
551
|
+
void grpc_tcp_server_shutdown_listeners(grpc_exec_ctx* exec_ctx,
|
552
|
+
grpc_tcp_server* s) {
|
552
553
|
gpr_mu_lock(&s->mu);
|
553
554
|
s->shutdown_listeners = true;
|
554
555
|
/* shutdown all fd's */
|
555
556
|
if (s->active_ports) {
|
556
|
-
grpc_tcp_listener
|
557
|
+
grpc_tcp_listener* sp;
|
557
558
|
for (sp = s->head; sp; sp = sp->next) {
|
558
559
|
grpc_fd_shutdown(exec_ctx, sp->emfd,
|
559
560
|
GRPC_ERROR_CREATE_FROM_STATIC_STRING("Server shutdown"));
|