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
@@ -24,6 +24,10 @@
|
|
24
24
|
#include "src/core/lib/debug/trace.h"
|
25
25
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
26
26
|
|
27
|
+
#ifdef __cplusplus
|
28
|
+
extern "C" {
|
29
|
+
#endif
|
30
|
+
|
27
31
|
/** \file Tracks resource usage against a pool.
|
28
32
|
|
29
33
|
The current implementation tracks only memory usage, but in the future
|
@@ -61,60 +65,60 @@
|
|
61
65
|
maintain lists of users (which users arrange to leave before they are
|
62
66
|
destroyed) */
|
63
67
|
|
64
|
-
extern
|
68
|
+
extern grpc_core::TraceFlag grpc_resource_quota_trace;
|
65
69
|
|
66
|
-
grpc_resource_quota
|
67
|
-
grpc_resource_quota
|
68
|
-
void grpc_resource_quota_unref_internal(grpc_exec_ctx
|
69
|
-
grpc_resource_quota
|
70
|
-
grpc_resource_quota
|
71
|
-
const grpc_channel_args
|
70
|
+
grpc_resource_quota* grpc_resource_quota_ref_internal(
|
71
|
+
grpc_resource_quota* resource_quota);
|
72
|
+
void grpc_resource_quota_unref_internal(grpc_exec_ctx* exec_ctx,
|
73
|
+
grpc_resource_quota* resource_quota);
|
74
|
+
grpc_resource_quota* grpc_resource_quota_from_channel_args(
|
75
|
+
const grpc_channel_args* channel_args);
|
72
76
|
|
73
77
|
/* Return a number indicating current memory pressure:
|
74
78
|
0.0 ==> no memory usage
|
75
79
|
1.0 ==> maximum memory usage */
|
76
80
|
double grpc_resource_quota_get_memory_pressure(
|
77
|
-
grpc_resource_quota
|
81
|
+
grpc_resource_quota* resource_quota);
|
78
82
|
|
79
|
-
size_t grpc_resource_quota_peek_size(grpc_resource_quota
|
83
|
+
size_t grpc_resource_quota_peek_size(grpc_resource_quota* resource_quota);
|
80
84
|
|
81
85
|
typedef struct grpc_resource_user grpc_resource_user;
|
82
86
|
|
83
|
-
grpc_resource_user
|
84
|
-
grpc_resource_quota
|
87
|
+
grpc_resource_user* grpc_resource_user_create(
|
88
|
+
grpc_resource_quota* resource_quota, const char* name);
|
85
89
|
|
86
90
|
/* Returns a borrowed reference to the underlying resource quota for this
|
87
91
|
resource user. */
|
88
|
-
grpc_resource_quota
|
89
|
-
grpc_resource_user
|
92
|
+
grpc_resource_quota* grpc_resource_user_quota(
|
93
|
+
grpc_resource_user* resource_user);
|
90
94
|
|
91
|
-
void grpc_resource_user_ref(grpc_resource_user
|
92
|
-
void grpc_resource_user_unref(grpc_exec_ctx
|
93
|
-
grpc_resource_user
|
94
|
-
void grpc_resource_user_shutdown(grpc_exec_ctx
|
95
|
-
grpc_resource_user
|
95
|
+
void grpc_resource_user_ref(grpc_resource_user* resource_user);
|
96
|
+
void grpc_resource_user_unref(grpc_exec_ctx* exec_ctx,
|
97
|
+
grpc_resource_user* resource_user);
|
98
|
+
void grpc_resource_user_shutdown(grpc_exec_ctx* exec_ctx,
|
99
|
+
grpc_resource_user* resource_user);
|
96
100
|
|
97
101
|
/* Allocate from the resource user (and its quota).
|
98
102
|
If optional_on_done is NULL, then allocate immediately. This may push the
|
99
103
|
quota over-limit, at which point reclamation will kick in.
|
100
104
|
If optional_on_done is non-NULL, it will be scheduled when the allocation has
|
101
105
|
been granted by the quota. */
|
102
|
-
void grpc_resource_user_alloc(grpc_exec_ctx
|
103
|
-
grpc_resource_user
|
104
|
-
grpc_closure
|
106
|
+
void grpc_resource_user_alloc(grpc_exec_ctx* exec_ctx,
|
107
|
+
grpc_resource_user* resource_user, size_t size,
|
108
|
+
grpc_closure* optional_on_done);
|
105
109
|
/* Release memory back to the quota */
|
106
|
-
void grpc_resource_user_free(grpc_exec_ctx
|
107
|
-
grpc_resource_user
|
110
|
+
void grpc_resource_user_free(grpc_exec_ctx* exec_ctx,
|
111
|
+
grpc_resource_user* resource_user, size_t size);
|
108
112
|
/* Post a memory reclaimer to the resource user. Only one benign and one
|
109
113
|
destructive reclaimer can be posted at once. When executed, the reclaimer
|
110
114
|
MUST call grpc_resource_user_finish_reclamation before it completes, to
|
111
115
|
return control to the resource quota. */
|
112
|
-
void grpc_resource_user_post_reclaimer(grpc_exec_ctx
|
113
|
-
grpc_resource_user
|
114
|
-
bool destructive, grpc_closure
|
116
|
+
void grpc_resource_user_post_reclaimer(grpc_exec_ctx* exec_ctx,
|
117
|
+
grpc_resource_user* resource_user,
|
118
|
+
bool destructive, grpc_closure* closure);
|
115
119
|
/* Finish a reclamation step */
|
116
|
-
void grpc_resource_user_finish_reclamation(grpc_exec_ctx
|
117
|
-
grpc_resource_user
|
120
|
+
void grpc_resource_user_finish_reclamation(grpc_exec_ctx* exec_ctx,
|
121
|
+
grpc_resource_user* resource_user);
|
118
122
|
|
119
123
|
/* Helper to allocate slices from a resource user */
|
120
124
|
typedef struct grpc_resource_user_slice_allocator {
|
@@ -127,27 +131,31 @@ typedef struct grpc_resource_user_slice_allocator {
|
|
127
131
|
/* Number of slices to allocate on the current request */
|
128
132
|
size_t count;
|
129
133
|
/* Destination for slices to allocate on the current request */
|
130
|
-
grpc_slice_buffer
|
134
|
+
grpc_slice_buffer* dest;
|
131
135
|
/* Parent resource user */
|
132
|
-
grpc_resource_user
|
136
|
+
grpc_resource_user* resource_user;
|
133
137
|
} grpc_resource_user_slice_allocator;
|
134
138
|
|
135
139
|
/* Initialize a slice allocator.
|
136
140
|
When an allocation is completed, calls \a cb with arg \p. */
|
137
141
|
void grpc_resource_user_slice_allocator_init(
|
138
|
-
grpc_resource_user_slice_allocator
|
139
|
-
grpc_resource_user
|
142
|
+
grpc_resource_user_slice_allocator* slice_allocator,
|
143
|
+
grpc_resource_user* resource_user, grpc_iomgr_cb_func cb, void* p);
|
140
144
|
|
141
145
|
/* Allocate \a count slices of length \a length into \a dest. Only one request
|
142
146
|
can be outstanding at a time. */
|
143
147
|
void grpc_resource_user_alloc_slices(
|
144
|
-
grpc_exec_ctx
|
145
|
-
grpc_resource_user_slice_allocator
|
146
|
-
size_t count, grpc_slice_buffer
|
148
|
+
grpc_exec_ctx* exec_ctx,
|
149
|
+
grpc_resource_user_slice_allocator* slice_allocator, size_t length,
|
150
|
+
size_t count, grpc_slice_buffer* dest);
|
147
151
|
|
148
152
|
/* Allocate one slice of length \a size synchronously. */
|
149
|
-
grpc_slice grpc_resource_user_slice_malloc(grpc_exec_ctx
|
150
|
-
grpc_resource_user
|
153
|
+
grpc_slice grpc_resource_user_slice_malloc(grpc_exec_ctx* exec_ctx,
|
154
|
+
grpc_resource_user* resource_user,
|
151
155
|
size_t size);
|
152
156
|
|
157
|
+
#ifdef __cplusplus
|
158
|
+
}
|
159
|
+
#endif
|
160
|
+
|
153
161
|
#endif /* GRPC_CORE_LIB_IOMGR_RESOURCE_QUOTA_H */
|
@@ -19,6 +19,7 @@
|
|
19
19
|
#include "src/core/lib/iomgr/sockaddr_utils.h"
|
20
20
|
|
21
21
|
#include <errno.h>
|
22
|
+
#include <inttypes.h>
|
22
23
|
#include <string.h>
|
23
24
|
|
24
25
|
#include <grpc/support/alloc.h>
|
@@ -35,19 +36,19 @@
|
|
35
36
|
static const uint8_t kV4MappedPrefix[] = {0, 0, 0, 0, 0, 0,
|
36
37
|
0, 0, 0, 0, 0xff, 0xff};
|
37
38
|
|
38
|
-
int grpc_sockaddr_is_v4mapped(const grpc_resolved_address
|
39
|
-
grpc_resolved_address
|
39
|
+
int grpc_sockaddr_is_v4mapped(const grpc_resolved_address* resolved_addr,
|
40
|
+
grpc_resolved_address* resolved_addr4_out) {
|
40
41
|
GPR_ASSERT(resolved_addr != resolved_addr4_out);
|
41
|
-
const struct sockaddr
|
42
|
-
struct sockaddr_in
|
43
|
-
resolved_addr4_out ==
|
44
|
-
?
|
45
|
-
: (struct sockaddr_in
|
42
|
+
const struct sockaddr* addr = (const struct sockaddr*)resolved_addr->addr;
|
43
|
+
struct sockaddr_in* addr4_out =
|
44
|
+
resolved_addr4_out == nullptr
|
45
|
+
? nullptr
|
46
|
+
: (struct sockaddr_in*)resolved_addr4_out->addr;
|
46
47
|
if (addr->sa_family == AF_INET6) {
|
47
|
-
const struct sockaddr_in6
|
48
|
+
const struct sockaddr_in6* addr6 = (const struct sockaddr_in6*)addr;
|
48
49
|
if (memcmp(addr6->sin6_addr.s6_addr, kV4MappedPrefix,
|
49
50
|
sizeof(kV4MappedPrefix)) == 0) {
|
50
|
-
if (resolved_addr4_out !=
|
51
|
+
if (resolved_addr4_out != nullptr) {
|
51
52
|
/* Normalize ::ffff:0.0.0.0/96 to IPv4. */
|
52
53
|
memset(resolved_addr4_out, 0, sizeof(*resolved_addr4_out));
|
53
54
|
addr4_out->sin_family = AF_INET;
|
@@ -62,14 +63,14 @@ int grpc_sockaddr_is_v4mapped(const grpc_resolved_address *resolved_addr,
|
|
62
63
|
return 0;
|
63
64
|
}
|
64
65
|
|
65
|
-
int grpc_sockaddr_to_v4mapped(const grpc_resolved_address
|
66
|
-
grpc_resolved_address
|
66
|
+
int grpc_sockaddr_to_v4mapped(const grpc_resolved_address* resolved_addr,
|
67
|
+
grpc_resolved_address* resolved_addr6_out) {
|
67
68
|
GPR_ASSERT(resolved_addr != resolved_addr6_out);
|
68
|
-
const struct sockaddr
|
69
|
-
struct sockaddr_in6
|
70
|
-
(struct sockaddr_in6
|
69
|
+
const struct sockaddr* addr = (const struct sockaddr*)resolved_addr->addr;
|
70
|
+
struct sockaddr_in6* addr6_out =
|
71
|
+
(struct sockaddr_in6*)resolved_addr6_out->addr;
|
71
72
|
if (addr->sa_family == AF_INET) {
|
72
|
-
const struct sockaddr_in
|
73
|
+
const struct sockaddr_in* addr4 = (const struct sockaddr_in*)addr;
|
73
74
|
memset(resolved_addr6_out, 0, sizeof(*resolved_addr6_out));
|
74
75
|
addr6_out->sin6_family = AF_INET6;
|
75
76
|
memcpy(&addr6_out->sin6_addr.s6_addr[0], kV4MappedPrefix, 12);
|
@@ -81,17 +82,17 @@ int grpc_sockaddr_to_v4mapped(const grpc_resolved_address *resolved_addr,
|
|
81
82
|
return 0;
|
82
83
|
}
|
83
84
|
|
84
|
-
int grpc_sockaddr_is_wildcard(const grpc_resolved_address
|
85
|
-
int
|
86
|
-
const struct sockaddr
|
85
|
+
int grpc_sockaddr_is_wildcard(const grpc_resolved_address* resolved_addr,
|
86
|
+
int* port_out) {
|
87
|
+
const struct sockaddr* addr;
|
87
88
|
grpc_resolved_address addr4_normalized;
|
88
89
|
if (grpc_sockaddr_is_v4mapped(resolved_addr, &addr4_normalized)) {
|
89
90
|
resolved_addr = &addr4_normalized;
|
90
91
|
}
|
91
|
-
addr = (const struct sockaddr
|
92
|
+
addr = (const struct sockaddr*)resolved_addr->addr;
|
92
93
|
if (addr->sa_family == AF_INET) {
|
93
94
|
/* Check for 0.0.0.0 */
|
94
|
-
const struct sockaddr_in
|
95
|
+
const struct sockaddr_in* addr4 = (const struct sockaddr_in*)addr;
|
95
96
|
if (addr4->sin_addr.s_addr != 0) {
|
96
97
|
return 0;
|
97
98
|
}
|
@@ -99,7 +100,7 @@ int grpc_sockaddr_is_wildcard(const grpc_resolved_address *resolved_addr,
|
|
99
100
|
return 1;
|
100
101
|
} else if (addr->sa_family == AF_INET6) {
|
101
102
|
/* Check for :: */
|
102
|
-
const struct sockaddr_in6
|
103
|
+
const struct sockaddr_in6* addr6 = (const struct sockaddr_in6*)addr;
|
103
104
|
int i;
|
104
105
|
for (i = 0; i < 16; i++) {
|
105
106
|
if (addr6->sin6_addr.s6_addr[i] != 0) {
|
@@ -113,15 +114,15 @@ int grpc_sockaddr_is_wildcard(const grpc_resolved_address *resolved_addr,
|
|
113
114
|
}
|
114
115
|
}
|
115
116
|
|
116
|
-
void grpc_sockaddr_make_wildcards(int port, grpc_resolved_address
|
117
|
-
grpc_resolved_address
|
117
|
+
void grpc_sockaddr_make_wildcards(int port, grpc_resolved_address* wild4_out,
|
118
|
+
grpc_resolved_address* wild6_out) {
|
118
119
|
grpc_sockaddr_make_wildcard4(port, wild4_out);
|
119
120
|
grpc_sockaddr_make_wildcard6(port, wild6_out);
|
120
121
|
}
|
121
122
|
|
122
123
|
void grpc_sockaddr_make_wildcard4(int port,
|
123
|
-
grpc_resolved_address
|
124
|
-
struct sockaddr_in
|
124
|
+
grpc_resolved_address* resolved_wild_out) {
|
125
|
+
struct sockaddr_in* wild_out = (struct sockaddr_in*)resolved_wild_out->addr;
|
125
126
|
GPR_ASSERT(port >= 0 && port < 65536);
|
126
127
|
memset(resolved_wild_out, 0, sizeof(*resolved_wild_out));
|
127
128
|
wild_out->sin_family = AF_INET;
|
@@ -130,9 +131,8 @@ void grpc_sockaddr_make_wildcard4(int port,
|
|
130
131
|
}
|
131
132
|
|
132
133
|
void grpc_sockaddr_make_wildcard6(int port,
|
133
|
-
grpc_resolved_address
|
134
|
-
struct sockaddr_in6
|
135
|
-
(struct sockaddr_in6 *)resolved_wild_out->addr;
|
134
|
+
grpc_resolved_address* resolved_wild_out) {
|
135
|
+
struct sockaddr_in6* wild_out = (struct sockaddr_in6*)resolved_wild_out->addr;
|
136
136
|
GPR_ASSERT(port >= 0 && port < 65536);
|
137
137
|
memset(resolved_wild_out, 0, sizeof(*resolved_wild_out));
|
138
138
|
wild_out->sin6_family = AF_INET6;
|
@@ -140,37 +140,37 @@ void grpc_sockaddr_make_wildcard6(int port,
|
|
140
140
|
resolved_wild_out->len = sizeof(struct sockaddr_in6);
|
141
141
|
}
|
142
142
|
|
143
|
-
int grpc_sockaddr_to_string(char
|
144
|
-
const grpc_resolved_address
|
143
|
+
int grpc_sockaddr_to_string(char** out,
|
144
|
+
const grpc_resolved_address* resolved_addr,
|
145
145
|
int normalize) {
|
146
|
-
const struct sockaddr
|
146
|
+
const struct sockaddr* addr;
|
147
147
|
const int save_errno = errno;
|
148
148
|
grpc_resolved_address addr_normalized;
|
149
149
|
char ntop_buf[INET6_ADDRSTRLEN];
|
150
|
-
const void
|
151
|
-
int port;
|
150
|
+
const void* ip = nullptr;
|
151
|
+
int port = 0;
|
152
152
|
uint32_t sin6_scope_id = 0;
|
153
153
|
int ret;
|
154
154
|
|
155
|
-
*out =
|
155
|
+
*out = nullptr;
|
156
156
|
if (normalize && grpc_sockaddr_is_v4mapped(resolved_addr, &addr_normalized)) {
|
157
157
|
resolved_addr = &addr_normalized;
|
158
158
|
}
|
159
|
-
addr = (const struct sockaddr
|
159
|
+
addr = (const struct sockaddr*)resolved_addr->addr;
|
160
160
|
if (addr->sa_family == AF_INET) {
|
161
|
-
const struct sockaddr_in
|
161
|
+
const struct sockaddr_in* addr4 = (const struct sockaddr_in*)addr;
|
162
162
|
ip = &addr4->sin_addr;
|
163
163
|
port = ntohs(addr4->sin_port);
|
164
164
|
} else if (addr->sa_family == AF_INET6) {
|
165
|
-
const struct sockaddr_in6
|
165
|
+
const struct sockaddr_in6* addr6 = (const struct sockaddr_in6*)addr;
|
166
166
|
ip = &addr6->sin6_addr;
|
167
167
|
port = ntohs(addr6->sin6_port);
|
168
168
|
sin6_scope_id = addr6->sin6_scope_id;
|
169
169
|
}
|
170
|
-
if (ip !=
|
171
|
-
|
170
|
+
if (ip != nullptr && grpc_inet_ntop(addr->sa_family, ip, ntop_buf,
|
171
|
+
sizeof(ntop_buf)) != nullptr) {
|
172
172
|
if (sin6_scope_id != 0) {
|
173
|
-
char
|
173
|
+
char* host_with_scope;
|
174
174
|
/* Enclose sin6_scope_id with the format defined in RFC 6784 section 2. */
|
175
175
|
gpr_asprintf(&host_with_scope, "%s%%25%" PRIu32, ntop_buf, sin6_scope_id);
|
176
176
|
ret = gpr_join_host_port(out, host_with_scope, port);
|
@@ -186,29 +186,29 @@ int grpc_sockaddr_to_string(char **out,
|
|
186
186
|
return ret;
|
187
187
|
}
|
188
188
|
|
189
|
-
char
|
189
|
+
char* grpc_sockaddr_to_uri(const grpc_resolved_address* resolved_addr) {
|
190
190
|
grpc_resolved_address addr_normalized;
|
191
191
|
if (grpc_sockaddr_is_v4mapped(resolved_addr, &addr_normalized)) {
|
192
192
|
resolved_addr = &addr_normalized;
|
193
193
|
}
|
194
|
-
const char
|
195
|
-
if (scheme ==
|
194
|
+
const char* scheme = grpc_sockaddr_get_uri_scheme(resolved_addr);
|
195
|
+
if (scheme == nullptr || strcmp("unix", scheme) == 0) {
|
196
196
|
return grpc_sockaddr_to_uri_unix_if_possible(resolved_addr);
|
197
197
|
}
|
198
|
-
char
|
199
|
-
char
|
198
|
+
char* path = nullptr;
|
199
|
+
char* uri_str = nullptr;
|
200
200
|
if (grpc_sockaddr_to_string(&path, resolved_addr,
|
201
201
|
false /* suppress errors */) &&
|
202
|
-
scheme !=
|
202
|
+
scheme != nullptr) {
|
203
203
|
gpr_asprintf(&uri_str, "%s:%s", scheme, path);
|
204
204
|
}
|
205
205
|
gpr_free(path);
|
206
|
-
return uri_str !=
|
206
|
+
return uri_str != nullptr ? uri_str : nullptr;
|
207
207
|
}
|
208
208
|
|
209
|
-
const char
|
210
|
-
const grpc_resolved_address
|
211
|
-
const struct sockaddr
|
209
|
+
const char* grpc_sockaddr_get_uri_scheme(
|
210
|
+
const grpc_resolved_address* resolved_addr) {
|
211
|
+
const struct sockaddr* addr = (const struct sockaddr*)resolved_addr->addr;
|
212
212
|
switch (addr->sa_family) {
|
213
213
|
case AF_INET:
|
214
214
|
return "ipv4";
|
@@ -217,21 +217,21 @@ const char *grpc_sockaddr_get_uri_scheme(
|
|
217
217
|
case AF_UNIX:
|
218
218
|
return "unix";
|
219
219
|
}
|
220
|
-
return
|
220
|
+
return nullptr;
|
221
221
|
}
|
222
222
|
|
223
|
-
int grpc_sockaddr_get_family(const grpc_resolved_address
|
224
|
-
const struct sockaddr
|
223
|
+
int grpc_sockaddr_get_family(const grpc_resolved_address* resolved_addr) {
|
224
|
+
const struct sockaddr* addr = (const struct sockaddr*)resolved_addr->addr;
|
225
225
|
return addr->sa_family;
|
226
226
|
}
|
227
227
|
|
228
|
-
int grpc_sockaddr_get_port(const grpc_resolved_address
|
229
|
-
const struct sockaddr
|
228
|
+
int grpc_sockaddr_get_port(const grpc_resolved_address* resolved_addr) {
|
229
|
+
const struct sockaddr* addr = (const struct sockaddr*)resolved_addr->addr;
|
230
230
|
switch (addr->sa_family) {
|
231
231
|
case AF_INET:
|
232
|
-
return ntohs(((struct sockaddr_in
|
232
|
+
return ntohs(((struct sockaddr_in*)addr)->sin_port);
|
233
233
|
case AF_INET6:
|
234
|
-
return ntohs(((struct sockaddr_in6
|
234
|
+
return ntohs(((struct sockaddr_in6*)addr)->sin6_port);
|
235
235
|
default:
|
236
236
|
if (grpc_is_unix_socket(resolved_addr)) {
|
237
237
|
return 1;
|
@@ -242,17 +242,17 @@ int grpc_sockaddr_get_port(const grpc_resolved_address *resolved_addr) {
|
|
242
242
|
}
|
243
243
|
}
|
244
244
|
|
245
|
-
int grpc_sockaddr_set_port(const grpc_resolved_address
|
245
|
+
int grpc_sockaddr_set_port(const grpc_resolved_address* resolved_addr,
|
246
246
|
int port) {
|
247
|
-
const struct sockaddr
|
247
|
+
const struct sockaddr* addr = (const struct sockaddr*)resolved_addr->addr;
|
248
248
|
switch (addr->sa_family) {
|
249
249
|
case AF_INET:
|
250
250
|
GPR_ASSERT(port >= 0 && port < 65536);
|
251
|
-
((struct sockaddr_in
|
251
|
+
((struct sockaddr_in*)addr)->sin_port = htons((uint16_t)port);
|
252
252
|
return 1;
|
253
253
|
case AF_INET6:
|
254
254
|
GPR_ASSERT(port >= 0 && port < 65536);
|
255
|
-
((struct sockaddr_in6
|
255
|
+
((struct sockaddr_in6*)addr)->sin6_port = htons((uint16_t)port);
|
256
256
|
return 1;
|
257
257
|
default:
|
258
258
|
gpr_log(GPR_ERROR, "Unknown socket family %d in grpc_sockaddr_set_port",
|
@@ -21,38 +21,42 @@
|
|
21
21
|
|
22
22
|
#include "src/core/lib/iomgr/resolve_address.h"
|
23
23
|
|
24
|
+
#ifdef __cplusplus
|
25
|
+
extern "C" {
|
26
|
+
#endif
|
27
|
+
|
24
28
|
/* Returns true if addr is an IPv4-mapped IPv6 address within the
|
25
29
|
::ffff:0.0.0.0/96 range, or false otherwise.
|
26
30
|
|
27
31
|
If addr4_out is non-NULL, the inner IPv4 address will be copied here when
|
28
32
|
returning true. */
|
29
|
-
int grpc_sockaddr_is_v4mapped(const grpc_resolved_address
|
30
|
-
grpc_resolved_address
|
33
|
+
int grpc_sockaddr_is_v4mapped(const grpc_resolved_address* addr,
|
34
|
+
grpc_resolved_address* addr4_out);
|
31
35
|
|
32
36
|
/* If addr is an AF_INET address, writes the corresponding ::ffff:0.0.0.0/96
|
33
37
|
address to addr6_out and returns true. Otherwise returns false. */
|
34
|
-
int grpc_sockaddr_to_v4mapped(const grpc_resolved_address
|
35
|
-
grpc_resolved_address
|
38
|
+
int grpc_sockaddr_to_v4mapped(const grpc_resolved_address* addr,
|
39
|
+
grpc_resolved_address* addr6_out);
|
36
40
|
|
37
41
|
/* If addr is ::, 0.0.0.0, or ::ffff:0.0.0.0, writes the port number to
|
38
42
|
*port_out (if not NULL) and returns true, otherwise returns false. */
|
39
|
-
int grpc_sockaddr_is_wildcard(const grpc_resolved_address
|
43
|
+
int grpc_sockaddr_is_wildcard(const grpc_resolved_address* addr, int* port_out);
|
40
44
|
|
41
45
|
/* Writes 0.0.0.0:port and [::]:port to separate sockaddrs. */
|
42
|
-
void grpc_sockaddr_make_wildcards(int port, grpc_resolved_address
|
43
|
-
grpc_resolved_address
|
46
|
+
void grpc_sockaddr_make_wildcards(int port, grpc_resolved_address* wild4_out,
|
47
|
+
grpc_resolved_address* wild6_out);
|
44
48
|
|
45
49
|
/* Writes 0.0.0.0:port. */
|
46
|
-
void grpc_sockaddr_make_wildcard4(int port, grpc_resolved_address
|
50
|
+
void grpc_sockaddr_make_wildcard4(int port, grpc_resolved_address* wild_out);
|
47
51
|
|
48
52
|
/* Writes [::]:port. */
|
49
|
-
void grpc_sockaddr_make_wildcard6(int port, grpc_resolved_address
|
53
|
+
void grpc_sockaddr_make_wildcard6(int port, grpc_resolved_address* wild_out);
|
50
54
|
|
51
55
|
/* Return the IP port number of a sockaddr */
|
52
|
-
int grpc_sockaddr_get_port(const grpc_resolved_address
|
56
|
+
int grpc_sockaddr_get_port(const grpc_resolved_address* addr);
|
53
57
|
|
54
58
|
/* Set IP port number of a sockaddr */
|
55
|
-
int grpc_sockaddr_set_port(const grpc_resolved_address
|
59
|
+
int grpc_sockaddr_set_port(const grpc_resolved_address* addr, int port);
|
56
60
|
|
57
61
|
/* Converts a sockaddr into a newly-allocated human-readable string.
|
58
62
|
|
@@ -66,15 +70,19 @@ int grpc_sockaddr_set_port(const grpc_resolved_address *addr, int port);
|
|
66
70
|
|
67
71
|
In the unlikely event of an error, returns -1 and sets *out to NULL.
|
68
72
|
The existing value of errno is always preserved. */
|
69
|
-
int grpc_sockaddr_to_string(char
|
73
|
+
int grpc_sockaddr_to_string(char** out, const grpc_resolved_address* addr,
|
70
74
|
int normalize);
|
71
75
|
|
72
76
|
/* Returns the URI string corresponding to \a addr */
|
73
|
-
char
|
77
|
+
char* grpc_sockaddr_to_uri(const grpc_resolved_address* addr);
|
74
78
|
|
75
79
|
/* Returns the URI scheme corresponding to \a addr */
|
76
|
-
const char
|
80
|
+
const char* grpc_sockaddr_get_uri_scheme(const grpc_resolved_address* addr);
|
81
|
+
|
82
|
+
int grpc_sockaddr_get_family(const grpc_resolved_address* resolved_addr);
|
77
83
|
|
78
|
-
|
84
|
+
#ifdef __cplusplus
|
85
|
+
}
|
86
|
+
#endif
|
79
87
|
|
80
88
|
#endif /* GRPC_CORE_LIB_IOMGR_SOCKADDR_UTILS_H */
|