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
@@ -29,20 +29,19 @@
|
|
29
29
|
|
30
30
|
#include <uv.h>
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
GRPC_TRACER_INITIALIZER(false, "timer_check");
|
32
|
+
grpc_core::TraceFlag grpc_timer_trace(false, "timer");
|
33
|
+
grpc_core::TraceFlag grpc_timer_check_trace(false, "timer_check");
|
35
34
|
|
36
|
-
static void timer_close_callback(uv_handle_t
|
35
|
+
static void timer_close_callback(uv_handle_t* handle) { gpr_free(handle); }
|
37
36
|
|
38
|
-
static void stop_uv_timer(uv_timer_t
|
37
|
+
static void stop_uv_timer(uv_timer_t* handle) {
|
39
38
|
uv_timer_stop(handle);
|
40
|
-
uv_unref((uv_handle_t
|
41
|
-
uv_close((uv_handle_t
|
39
|
+
uv_unref((uv_handle_t*)handle);
|
40
|
+
uv_close((uv_handle_t*)handle, timer_close_callback);
|
42
41
|
}
|
43
42
|
|
44
|
-
void run_expired_timer(uv_timer_t
|
45
|
-
grpc_timer
|
43
|
+
void run_expired_timer(uv_timer_t* handle) {
|
44
|
+
grpc_timer* timer = (grpc_timer*)handle->data;
|
46
45
|
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
47
46
|
GRPC_UV_ASSERT_SAME_THREAD();
|
48
47
|
GPR_ASSERT(timer->pending);
|
@@ -52,21 +51,20 @@ void run_expired_timer(uv_timer_t *handle) {
|
|
52
51
|
grpc_exec_ctx_finish(&exec_ctx);
|
53
52
|
}
|
54
53
|
|
55
|
-
void grpc_timer_init(grpc_exec_ctx
|
56
|
-
|
57
|
-
gpr_timespec now) {
|
54
|
+
void grpc_timer_init(grpc_exec_ctx* exec_ctx, grpc_timer* timer,
|
55
|
+
grpc_millis deadline, grpc_closure* closure) {
|
58
56
|
uint64_t timeout;
|
59
|
-
uv_timer_t
|
57
|
+
uv_timer_t* uv_timer;
|
60
58
|
GRPC_UV_ASSERT_SAME_THREAD();
|
61
59
|
timer->closure = closure;
|
62
|
-
if (
|
60
|
+
if (deadline <= grpc_exec_ctx_now(exec_ctx)) {
|
63
61
|
timer->pending = 0;
|
64
62
|
GRPC_CLOSURE_SCHED(exec_ctx, timer->closure, GRPC_ERROR_NONE);
|
65
63
|
return;
|
66
64
|
}
|
67
65
|
timer->pending = 1;
|
68
|
-
timeout = (uint64_t)
|
69
|
-
uv_timer = gpr_malloc(sizeof(uv_timer_t));
|
66
|
+
timeout = (uint64_t)(deadline - grpc_exec_ctx_now(exec_ctx));
|
67
|
+
uv_timer = (uv_timer_t*)gpr_malloc(sizeof(uv_timer_t));
|
70
68
|
uv_timer_init(uv_default_loop(), uv_timer);
|
71
69
|
uv_timer->data = timer;
|
72
70
|
timer->uv_timer = uv_timer;
|
@@ -74,27 +72,27 @@ void grpc_timer_init(grpc_exec_ctx *exec_ctx, grpc_timer *timer,
|
|
74
72
|
/* We assume that gRPC timers are only used alongside other active gRPC
|
75
73
|
objects, and that there will therefore always be something else keeping
|
76
74
|
the uv loop alive whenever there is a timer */
|
77
|
-
uv_unref((uv_handle_t
|
75
|
+
uv_unref((uv_handle_t*)uv_timer);
|
78
76
|
}
|
79
77
|
|
80
|
-
void grpc_timer_init_unset(grpc_timer
|
78
|
+
void grpc_timer_init_unset(grpc_timer* timer) { timer->pending = 0; }
|
81
79
|
|
82
|
-
void grpc_timer_cancel(grpc_exec_ctx
|
80
|
+
void grpc_timer_cancel(grpc_exec_ctx* exec_ctx, grpc_timer* timer) {
|
83
81
|
GRPC_UV_ASSERT_SAME_THREAD();
|
84
82
|
if (timer->pending) {
|
85
83
|
timer->pending = 0;
|
86
84
|
GRPC_CLOSURE_SCHED(exec_ctx, timer->closure, GRPC_ERROR_CANCELLED);
|
87
|
-
stop_uv_timer((uv_timer_t
|
85
|
+
stop_uv_timer((uv_timer_t*)timer->uv_timer);
|
88
86
|
}
|
89
87
|
}
|
90
88
|
|
91
|
-
grpc_timer_check_result grpc_timer_check(grpc_exec_ctx
|
92
|
-
|
89
|
+
grpc_timer_check_result grpc_timer_check(grpc_exec_ctx* exec_ctx,
|
90
|
+
grpc_millis* next) {
|
93
91
|
return GRPC_TIMERS_NOT_CHECKED;
|
94
92
|
}
|
95
93
|
|
96
|
-
void grpc_timer_list_init(
|
97
|
-
void grpc_timer_list_shutdown(grpc_exec_ctx
|
94
|
+
void grpc_timer_list_init(grpc_exec_ctx* exec_ctx) {}
|
95
|
+
void grpc_timer_list_shutdown(grpc_exec_ctx* exec_ctx) {}
|
98
96
|
|
99
97
|
void grpc_timer_consume_kick(void) {}
|
100
98
|
|
@@ -22,10 +22,10 @@
|
|
22
22
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
23
23
|
|
24
24
|
struct grpc_timer {
|
25
|
-
grpc_closure
|
25
|
+
grpc_closure* closure;
|
26
26
|
/* This is actually a uv_timer_t*, but we want to keep platform-specific
|
27
27
|
types out of headers */
|
28
|
-
void
|
28
|
+
void* uv_timer;
|
29
29
|
int pending;
|
30
30
|
};
|
31
31
|
|
@@ -59,8 +59,8 @@
|
|
59
59
|
typedef struct grpc_udp_listener grpc_udp_listener;
|
60
60
|
struct grpc_udp_listener {
|
61
61
|
int fd;
|
62
|
-
grpc_fd
|
63
|
-
grpc_udp_server
|
62
|
+
grpc_fd* emfd;
|
63
|
+
grpc_udp_server* server;
|
64
64
|
grpc_resolved_address addr;
|
65
65
|
grpc_closure read_closure;
|
66
66
|
grpc_closure write_closure;
|
@@ -74,12 +74,12 @@ struct grpc_udp_listener {
|
|
74
74
|
// True if orphan_cb is trigered.
|
75
75
|
bool orphan_notified;
|
76
76
|
|
77
|
-
struct grpc_udp_listener
|
77
|
+
struct grpc_udp_listener* next;
|
78
78
|
};
|
79
79
|
|
80
80
|
struct shutdown_fd_args {
|
81
|
-
grpc_fd
|
82
|
-
gpr_mu
|
81
|
+
grpc_fd* fd;
|
82
|
+
gpr_mu* server_mu;
|
83
83
|
};
|
84
84
|
|
85
85
|
/* the overall server */
|
@@ -87,7 +87,7 @@ struct grpc_udp_server {
|
|
87
87
|
gpr_mu mu;
|
88
88
|
|
89
89
|
/* factory to use for creating and binding sockets, or NULL */
|
90
|
-
grpc_socket_factory
|
90
|
+
grpc_socket_factory* socket_factory;
|
91
91
|
|
92
92
|
/* active port count: how many ports are actually still listening */
|
93
93
|
size_t active_ports;
|
@@ -98,34 +98,34 @@ struct grpc_udp_server {
|
|
98
98
|
int shutdown;
|
99
99
|
|
100
100
|
/* linked list of server ports */
|
101
|
-
grpc_udp_listener
|
102
|
-
grpc_udp_listener
|
101
|
+
grpc_udp_listener* head;
|
102
|
+
grpc_udp_listener* tail;
|
103
103
|
unsigned nports;
|
104
104
|
|
105
105
|
/* shutdown callback */
|
106
|
-
grpc_closure
|
106
|
+
grpc_closure* shutdown_complete;
|
107
107
|
|
108
108
|
/* all pollsets interested in new connections */
|
109
|
-
grpc_pollset
|
109
|
+
grpc_pollset** pollsets;
|
110
110
|
/* number of pollsets in the pollsets array */
|
111
111
|
size_t pollset_count;
|
112
112
|
/* opaque object to pass to callbacks */
|
113
|
-
void
|
113
|
+
void* user_data;
|
114
114
|
};
|
115
115
|
|
116
|
-
static grpc_socket_factory
|
116
|
+
static grpc_socket_factory* get_socket_factory(const grpc_channel_args* args) {
|
117
117
|
if (args) {
|
118
|
-
const grpc_arg
|
118
|
+
const grpc_arg* arg = grpc_channel_args_find(args, GRPC_ARG_SOCKET_FACTORY);
|
119
119
|
if (arg) {
|
120
120
|
GPR_ASSERT(arg->type == GRPC_ARG_POINTER);
|
121
|
-
return (grpc_socket_factory
|
121
|
+
return (grpc_socket_factory*)arg->value.pointer.p;
|
122
122
|
}
|
123
123
|
}
|
124
|
-
return
|
124
|
+
return nullptr;
|
125
125
|
}
|
126
126
|
|
127
|
-
grpc_udp_server
|
128
|
-
grpc_udp_server
|
127
|
+
grpc_udp_server* grpc_udp_server_create(const grpc_channel_args* args) {
|
128
|
+
grpc_udp_server* s = (grpc_udp_server*)gpr_malloc(sizeof(grpc_udp_server));
|
129
129
|
gpr_mu_init(&s->mu);
|
130
130
|
s->socket_factory = get_socket_factory(args);
|
131
131
|
if (s->socket_factory) {
|
@@ -134,35 +134,35 @@ grpc_udp_server *grpc_udp_server_create(const grpc_channel_args *args) {
|
|
134
134
|
s->active_ports = 0;
|
135
135
|
s->destroyed_ports = 0;
|
136
136
|
s->shutdown = 0;
|
137
|
-
s->head =
|
138
|
-
s->tail =
|
137
|
+
s->head = nullptr;
|
138
|
+
s->tail = nullptr;
|
139
139
|
s->nports = 0;
|
140
140
|
|
141
141
|
return s;
|
142
142
|
}
|
143
143
|
|
144
|
-
static void shutdown_fd(grpc_exec_ctx
|
145
|
-
grpc_error
|
146
|
-
struct shutdown_fd_args
|
144
|
+
static void shutdown_fd(grpc_exec_ctx* exec_ctx, void* args,
|
145
|
+
grpc_error* error) {
|
146
|
+
struct shutdown_fd_args* shutdown_args = (struct shutdown_fd_args*)args;
|
147
147
|
gpr_mu_lock(shutdown_args->server_mu);
|
148
148
|
grpc_fd_shutdown(exec_ctx, shutdown_args->fd, GRPC_ERROR_REF(error));
|
149
149
|
gpr_mu_unlock(shutdown_args->server_mu);
|
150
150
|
gpr_free(shutdown_args);
|
151
151
|
}
|
152
152
|
|
153
|
-
static void dummy_cb(grpc_exec_ctx
|
153
|
+
static void dummy_cb(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
|
154
154
|
// No-op.
|
155
155
|
}
|
156
156
|
|
157
|
-
static void finish_shutdown(grpc_exec_ctx
|
158
|
-
if (s->shutdown_complete !=
|
157
|
+
static void finish_shutdown(grpc_exec_ctx* exec_ctx, grpc_udp_server* s) {
|
158
|
+
if (s->shutdown_complete != nullptr) {
|
159
159
|
GRPC_CLOSURE_SCHED(exec_ctx, s->shutdown_complete, GRPC_ERROR_NONE);
|
160
160
|
}
|
161
161
|
|
162
162
|
gpr_mu_destroy(&s->mu);
|
163
163
|
|
164
164
|
while (s->head) {
|
165
|
-
grpc_udp_listener
|
165
|
+
grpc_udp_listener* sp = s->head;
|
166
166
|
s->head = sp->next;
|
167
167
|
gpr_free(sp);
|
168
168
|
}
|
@@ -174,9 +174,9 @@ static void finish_shutdown(grpc_exec_ctx *exec_ctx, grpc_udp_server *s) {
|
|
174
174
|
gpr_free(s);
|
175
175
|
}
|
176
176
|
|
177
|
-
static void destroyed_port(grpc_exec_ctx
|
178
|
-
grpc_error
|
179
|
-
grpc_udp_server
|
177
|
+
static void destroyed_port(grpc_exec_ctx* exec_ctx, void* server,
|
178
|
+
grpc_error* error) {
|
179
|
+
grpc_udp_server* s = (grpc_udp_server*)server;
|
180
180
|
gpr_mu_lock(&s->mu);
|
181
181
|
s->destroyed_ports++;
|
182
182
|
if (s->destroyed_ports == s->nports) {
|
@@ -190,14 +190,14 @@ static void destroyed_port(grpc_exec_ctx *exec_ctx, void *server,
|
|
190
190
|
/* called when all listening endpoints have been shutdown, so no further
|
191
191
|
events will be received on them - at this point it's safe to destroy
|
192
192
|
things */
|
193
|
-
static void deactivated_all_ports(grpc_exec_ctx
|
193
|
+
static void deactivated_all_ports(grpc_exec_ctx* exec_ctx, grpc_udp_server* s) {
|
194
194
|
/* delete ALL the things */
|
195
195
|
gpr_mu_lock(&s->mu);
|
196
196
|
|
197
197
|
GPR_ASSERT(s->shutdown);
|
198
198
|
|
199
199
|
if (s->head) {
|
200
|
-
grpc_udp_listener
|
200
|
+
grpc_udp_listener* sp;
|
201
201
|
for (sp = s->head; sp; sp = sp->next) {
|
202
202
|
grpc_unlink_if_unix_domain_socket(&sp->addr);
|
203
203
|
|
@@ -213,7 +213,7 @@ static void deactivated_all_ports(grpc_exec_ctx *exec_ctx, grpc_udp_server *s) {
|
|
213
213
|
sp->orphan_cb(exec_ctx, sp->emfd, &sp->orphan_fd_closure,
|
214
214
|
sp->server->user_data);
|
215
215
|
}
|
216
|
-
grpc_fd_orphan(exec_ctx, sp->emfd, &sp->destroyed_closure,
|
216
|
+
grpc_fd_orphan(exec_ctx, sp->emfd, &sp->destroyed_closure, nullptr,
|
217
217
|
false /* already_closed */, "udp_listener_shutdown");
|
218
218
|
}
|
219
219
|
gpr_mu_unlock(&s->mu);
|
@@ -223,9 +223,9 @@ static void deactivated_all_ports(grpc_exec_ctx *exec_ctx, grpc_udp_server *s) {
|
|
223
223
|
}
|
224
224
|
}
|
225
225
|
|
226
|
-
void grpc_udp_server_destroy(grpc_exec_ctx
|
227
|
-
grpc_closure
|
228
|
-
grpc_udp_listener
|
226
|
+
void grpc_udp_server_destroy(grpc_exec_ctx* exec_ctx, grpc_udp_server* s,
|
227
|
+
grpc_closure* on_done) {
|
228
|
+
grpc_udp_listener* sp;
|
229
229
|
gpr_mu_lock(&s->mu);
|
230
230
|
|
231
231
|
GPR_ASSERT(!s->shutdown);
|
@@ -237,8 +237,8 @@ void grpc_udp_server_destroy(grpc_exec_ctx *exec_ctx, grpc_udp_server *s,
|
|
237
237
|
if (s->active_ports) {
|
238
238
|
for (sp = s->head; sp; sp = sp->next) {
|
239
239
|
GPR_ASSERT(sp->orphan_cb);
|
240
|
-
struct shutdown_fd_args
|
241
|
-
(struct shutdown_fd_args
|
240
|
+
struct shutdown_fd_args* args =
|
241
|
+
(struct shutdown_fd_args*)gpr_malloc(sizeof(*args));
|
242
242
|
args->fd = sp->emfd;
|
243
243
|
args->server_mu = &s->mu;
|
244
244
|
GRPC_CLOSURE_INIT(&sp->orphan_fd_closure, shutdown_fd, args,
|
@@ -254,19 +254,18 @@ void grpc_udp_server_destroy(grpc_exec_ctx *exec_ctx, grpc_udp_server *s,
|
|
254
254
|
}
|
255
255
|
}
|
256
256
|
|
257
|
-
static int bind_socket(grpc_socket_factory
|
258
|
-
const grpc_resolved_address
|
259
|
-
return (socket_factory !=
|
257
|
+
static int bind_socket(grpc_socket_factory* socket_factory, int sockfd,
|
258
|
+
const grpc_resolved_address* addr) {
|
259
|
+
return (socket_factory != nullptr)
|
260
260
|
? grpc_socket_factory_bind(socket_factory, sockfd, addr)
|
261
|
-
: bind(sockfd, (struct sockaddr
|
262
|
-
(socklen_t)addr->len);
|
261
|
+
: bind(sockfd, (struct sockaddr*)addr->addr, (socklen_t)addr->len);
|
263
262
|
}
|
264
263
|
|
265
264
|
/* Prepare a recently-created socket for listening. */
|
266
|
-
static int prepare_socket(grpc_socket_factory
|
267
|
-
const grpc_resolved_address
|
265
|
+
static int prepare_socket(grpc_socket_factory* socket_factory, int fd,
|
266
|
+
const grpc_resolved_address* addr) {
|
268
267
|
grpc_resolved_address sockname_temp;
|
269
|
-
struct sockaddr
|
268
|
+
struct sockaddr* addr_ptr = (struct sockaddr*)addr->addr;
|
270
269
|
/* Set send/receive socket buffers to 1 MB */
|
271
270
|
int buffer_size_bytes = 1024 * 1024;
|
272
271
|
|
@@ -295,7 +294,7 @@ static int prepare_socket(grpc_socket_factory *socket_factory, int fd,
|
|
295
294
|
|
296
295
|
GPR_ASSERT(addr->len < ~(socklen_t)0);
|
297
296
|
if (bind_socket(socket_factory, fd, addr) < 0) {
|
298
|
-
char
|
297
|
+
char* addr_str;
|
299
298
|
grpc_sockaddr_to_string(&addr_str, addr, 0);
|
300
299
|
gpr_log(GPR_ERROR, "bind addr=%s: %s", addr_str, strerror(errno));
|
301
300
|
gpr_free(addr_str);
|
@@ -304,8 +303,8 @@ static int prepare_socket(grpc_socket_factory *socket_factory, int fd,
|
|
304
303
|
|
305
304
|
sockname_temp.len = sizeof(struct sockaddr_storage);
|
306
305
|
|
307
|
-
if (getsockname(fd, (struct sockaddr
|
308
|
-
(socklen_t
|
306
|
+
if (getsockname(fd, (struct sockaddr*)sockname_temp.addr,
|
307
|
+
(socklen_t*)&sockname_temp.len) < 0) {
|
309
308
|
goto error;
|
310
309
|
}
|
311
310
|
|
@@ -331,8 +330,8 @@ error:
|
|
331
330
|
}
|
332
331
|
|
333
332
|
/* event manager callback when reads are ready */
|
334
|
-
static void on_read(grpc_exec_ctx
|
335
|
-
grpc_udp_listener
|
333
|
+
static void on_read(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
|
334
|
+
grpc_udp_listener* sp = (grpc_udp_listener*)arg;
|
336
335
|
|
337
336
|
gpr_mu_lock(&sp->server->mu);
|
338
337
|
if (error != GRPC_ERROR_NONE) {
|
@@ -354,8 +353,8 @@ static void on_read(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) {
|
|
354
353
|
gpr_mu_unlock(&sp->server->mu);
|
355
354
|
}
|
356
355
|
|
357
|
-
static void on_write(grpc_exec_ctx
|
358
|
-
grpc_udp_listener
|
356
|
+
static void on_write(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
|
357
|
+
grpc_udp_listener* sp = (grpc_udp_listener*)arg;
|
359
358
|
|
360
359
|
gpr_mu_lock(&(sp->server->mu));
|
361
360
|
if (error != GRPC_ERROR_NONE) {
|
@@ -377,15 +376,15 @@ static void on_write(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) {
|
|
377
376
|
gpr_mu_unlock(&sp->server->mu);
|
378
377
|
}
|
379
378
|
|
380
|
-
static int add_socket_to_server(grpc_udp_server
|
381
|
-
const grpc_resolved_address
|
379
|
+
static int add_socket_to_server(grpc_udp_server* s, int fd,
|
380
|
+
const grpc_resolved_address* addr,
|
382
381
|
grpc_udp_server_read_cb read_cb,
|
383
382
|
grpc_udp_server_write_cb write_cb,
|
384
383
|
grpc_udp_server_orphan_cb orphan_cb) {
|
385
|
-
grpc_udp_listener
|
384
|
+
grpc_udp_listener* sp;
|
386
385
|
int port;
|
387
|
-
char
|
388
|
-
char
|
386
|
+
char* addr_str;
|
387
|
+
char* name;
|
389
388
|
|
390
389
|
port = prepare_socket(s->socket_factory, fd, addr);
|
391
390
|
if (port >= 0) {
|
@@ -394,9 +393,9 @@ static int add_socket_to_server(grpc_udp_server *s, int fd,
|
|
394
393
|
gpr_free(addr_str);
|
395
394
|
gpr_mu_lock(&s->mu);
|
396
395
|
s->nports++;
|
397
|
-
sp = (grpc_udp_listener
|
398
|
-
sp->next =
|
399
|
-
if (s->head ==
|
396
|
+
sp = (grpc_udp_listener*)gpr_malloc(sizeof(grpc_udp_listener));
|
397
|
+
sp->next = nullptr;
|
398
|
+
if (s->head == nullptr) {
|
400
399
|
s->head = sp;
|
401
400
|
} else {
|
402
401
|
s->tail->next = sp;
|
@@ -418,12 +417,12 @@ static int add_socket_to_server(grpc_udp_server *s, int fd,
|
|
418
417
|
return port;
|
419
418
|
}
|
420
419
|
|
421
|
-
int grpc_udp_server_add_port(grpc_udp_server
|
422
|
-
const grpc_resolved_address
|
420
|
+
int grpc_udp_server_add_port(grpc_udp_server* s,
|
421
|
+
const grpc_resolved_address* addr,
|
423
422
|
grpc_udp_server_read_cb read_cb,
|
424
423
|
grpc_udp_server_write_cb write_cb,
|
425
424
|
grpc_udp_server_orphan_cb orphan_cb) {
|
426
|
-
grpc_udp_listener
|
425
|
+
grpc_udp_listener* sp;
|
427
426
|
int allocated_port1 = -1;
|
428
427
|
int allocated_port2 = -1;
|
429
428
|
int fd;
|
@@ -432,7 +431,7 @@ int grpc_udp_server_add_port(grpc_udp_server *s,
|
|
432
431
|
grpc_resolved_address wild4;
|
433
432
|
grpc_resolved_address wild6;
|
434
433
|
grpc_resolved_address addr4_copy;
|
435
|
-
grpc_resolved_address
|
434
|
+
grpc_resolved_address* allocated_addr = nullptr;
|
436
435
|
grpc_resolved_address sockname_temp;
|
437
436
|
int port;
|
438
437
|
|
@@ -441,12 +440,12 @@ int grpc_udp_server_add_port(grpc_udp_server *s,
|
|
441
440
|
if (grpc_sockaddr_get_port(addr) == 0) {
|
442
441
|
for (sp = s->head; sp; sp = sp->next) {
|
443
442
|
sockname_temp.len = sizeof(struct sockaddr_storage);
|
444
|
-
if (0 == getsockname(sp->fd, (struct sockaddr
|
445
|
-
(socklen_t
|
443
|
+
if (0 == getsockname(sp->fd, (struct sockaddr*)sockname_temp.addr,
|
444
|
+
(socklen_t*)&sockname_temp.len)) {
|
446
445
|
port = grpc_sockaddr_get_port(&sockname_temp);
|
447
446
|
if (port > 0) {
|
448
|
-
allocated_addr =
|
449
|
-
sizeof(grpc_resolved_address));
|
447
|
+
allocated_addr =
|
448
|
+
(grpc_resolved_address*)gpr_malloc(sizeof(grpc_resolved_address));
|
450
449
|
memcpy(allocated_addr, addr, sizeof(grpc_resolved_address));
|
451
450
|
grpc_sockaddr_set_port(allocated_addr, port);
|
452
451
|
addr = allocated_addr;
|
@@ -500,8 +499,8 @@ done:
|
|
500
499
|
return allocated_port1 >= 0 ? allocated_port1 : allocated_port2;
|
501
500
|
}
|
502
501
|
|
503
|
-
int grpc_udp_server_get_fd(grpc_udp_server
|
504
|
-
grpc_udp_listener
|
502
|
+
int grpc_udp_server_get_fd(grpc_udp_server* s, unsigned port_index) {
|
503
|
+
grpc_udp_listener* sp;
|
505
504
|
if (port_index >= s->nports) {
|
506
505
|
return -1;
|
507
506
|
}
|
@@ -509,21 +508,22 @@ int grpc_udp_server_get_fd(grpc_udp_server *s, unsigned port_index) {
|
|
509
508
|
for (sp = s->head; sp && port_index != 0; sp = sp->next) {
|
510
509
|
--port_index;
|
511
510
|
}
|
511
|
+
GPR_ASSERT(sp); // if this fails, our check earlier was bogus
|
512
512
|
return sp->fd;
|
513
513
|
}
|
514
514
|
|
515
|
-
void grpc_udp_server_start(grpc_exec_ctx
|
516
|
-
grpc_pollset
|
517
|
-
void
|
515
|
+
void grpc_udp_server_start(grpc_exec_ctx* exec_ctx, grpc_udp_server* s,
|
516
|
+
grpc_pollset** pollsets, size_t pollset_count,
|
517
|
+
void* user_data) {
|
518
518
|
size_t i;
|
519
519
|
gpr_mu_lock(&s->mu);
|
520
|
-
grpc_udp_listener
|
520
|
+
grpc_udp_listener* sp;
|
521
521
|
GPR_ASSERT(s->active_ports == 0);
|
522
522
|
s->pollsets = pollsets;
|
523
523
|
s->user_data = user_data;
|
524
524
|
|
525
525
|
sp = s->head;
|
526
|
-
while (sp !=
|
526
|
+
while (sp != nullptr) {
|
527
527
|
for (i = 0; i < pollset_count; i++) {
|
528
528
|
grpc_pollset_add_fd(exec_ctx, pollsets[i], sp->emfd);
|
529
529
|
}
|