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
data/src/core/lib/iomgr/tcp_uv.h
CHANGED
@@ -32,14 +32,28 @@
|
|
32
32
|
#include "src/core/lib/debug/trace.h"
|
33
33
|
#include "src/core/lib/iomgr/endpoint.h"
|
34
34
|
|
35
|
+
#include "src/core/lib/iomgr/port.h"
|
36
|
+
|
37
|
+
#ifdef GRPC_UV
|
38
|
+
|
35
39
|
#include <uv.h>
|
36
40
|
|
37
|
-
extern
|
41
|
+
extern grpc_core::TraceFlag grpc_tcp_trace;
|
38
42
|
|
39
43
|
#define GRPC_TCP_DEFAULT_READ_SLICE_SIZE 8192
|
40
44
|
|
41
|
-
|
42
|
-
|
43
|
-
|
45
|
+
#ifdef __cplusplus
|
46
|
+
extern "C" {
|
47
|
+
#endif
|
48
|
+
|
49
|
+
grpc_endpoint* grpc_tcp_create(uv_tcp_t* handle,
|
50
|
+
grpc_resource_quota* resource_quota,
|
51
|
+
char* peer_string);
|
52
|
+
|
53
|
+
#ifdef __cplusplus
|
54
|
+
}
|
55
|
+
#endif
|
56
|
+
|
57
|
+
#endif /* GRPC_UV */
|
44
58
|
|
45
59
|
#endif /* GRPC_CORE_LIB_IOMGR_TCP_UV_H */
|
@@ -37,6 +37,7 @@
|
|
37
37
|
#include "src/core/lib/iomgr/sockaddr_utils.h"
|
38
38
|
#include "src/core/lib/iomgr/socket_windows.h"
|
39
39
|
#include "src/core/lib/iomgr/tcp_client.h"
|
40
|
+
#include "src/core/lib/iomgr/tcp_windows.h"
|
40
41
|
#include "src/core/lib/iomgr/timer.h"
|
41
42
|
#include "src/core/lib/slice/slice_internal.h"
|
42
43
|
|
@@ -48,9 +49,9 @@
|
|
48
49
|
#define GRPC_FIONBIO FIONBIO
|
49
50
|
#endif
|
50
51
|
|
51
|
-
|
52
|
+
grpc_core::TraceFlag grpc_tcp_trace(false, "tcp");
|
52
53
|
|
53
|
-
static grpc_error
|
54
|
+
static grpc_error* set_non_block(SOCKET sock) {
|
54
55
|
int status;
|
55
56
|
uint32_t param = 1;
|
56
57
|
DWORD ret;
|
@@ -61,18 +62,18 @@ static grpc_error *set_non_block(SOCKET sock) {
|
|
61
62
|
: GRPC_WSA_ERROR(WSAGetLastError(), "WSAIoctl(GRPC_FIONBIO)");
|
62
63
|
}
|
63
64
|
|
64
|
-
static grpc_error
|
65
|
+
static grpc_error* set_dualstack(SOCKET sock) {
|
65
66
|
int status;
|
66
67
|
unsigned long param = 0;
|
67
|
-
status = setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (const char
|
68
|
+
status = setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (const char*)¶m,
|
68
69
|
sizeof(param));
|
69
70
|
return status == 0
|
70
71
|
? GRPC_ERROR_NONE
|
71
72
|
: GRPC_WSA_ERROR(WSAGetLastError(), "setsockopt(IPV6_V6ONLY)");
|
72
73
|
}
|
73
74
|
|
74
|
-
grpc_error
|
75
|
-
grpc_error
|
75
|
+
grpc_error* grpc_tcp_prepare_socket(SOCKET sock) {
|
76
|
+
grpc_error* err;
|
76
77
|
err = set_non_block(sock);
|
77
78
|
if (err != GRPC_ERROR_NONE) return err;
|
78
79
|
err = set_dualstack(sock);
|
@@ -84,31 +85,31 @@ typedef struct grpc_tcp {
|
|
84
85
|
/* This is our C++ class derivation emulation. */
|
85
86
|
grpc_endpoint base;
|
86
87
|
/* The one socket this endpoint is using. */
|
87
|
-
grpc_winsocket
|
88
|
+
grpc_winsocket* socket;
|
88
89
|
/* Refcounting how many operations are in progress. */
|
89
90
|
gpr_refcount refcount;
|
90
91
|
|
91
92
|
grpc_closure on_read;
|
92
93
|
grpc_closure on_write;
|
93
94
|
|
94
|
-
grpc_closure
|
95
|
-
grpc_closure
|
95
|
+
grpc_closure* read_cb;
|
96
|
+
grpc_closure* write_cb;
|
96
97
|
grpc_slice read_slice;
|
97
|
-
grpc_slice_buffer
|
98
|
-
grpc_slice_buffer
|
98
|
+
grpc_slice_buffer* write_slices;
|
99
|
+
grpc_slice_buffer* read_slices;
|
99
100
|
|
100
|
-
grpc_resource_user
|
101
|
+
grpc_resource_user* resource_user;
|
101
102
|
|
102
103
|
/* The IO Completion Port runs from another thread. We need some mechanism
|
103
104
|
to protect ourselves when requesting a shutdown. */
|
104
105
|
gpr_mu mu;
|
105
106
|
int shutting_down;
|
106
|
-
grpc_error
|
107
|
+
grpc_error* shutdown_error;
|
107
108
|
|
108
|
-
char
|
109
|
+
char* peer_string;
|
109
110
|
} grpc_tcp;
|
110
111
|
|
111
|
-
static void tcp_free(grpc_exec_ctx
|
112
|
+
static void tcp_free(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp) {
|
112
113
|
grpc_winsocket_destroy(tcp->socket);
|
113
114
|
gpr_mu_destroy(&tcp->mu);
|
114
115
|
gpr_free(tcp->peer_string);
|
@@ -121,9 +122,9 @@ static void tcp_free(grpc_exec_ctx *exec_ctx, grpc_tcp *tcp) {
|
|
121
122
|
#define TCP_UNREF(exec_ctx, tcp, reason) \
|
122
123
|
tcp_unref((exec_ctx), (tcp), (reason), __FILE__, __LINE__)
|
123
124
|
#define TCP_REF(tcp, reason) tcp_ref((tcp), (reason), __FILE__, __LINE__)
|
124
|
-
static void tcp_unref(grpc_exec_ctx
|
125
|
-
const char
|
126
|
-
if (
|
125
|
+
static void tcp_unref(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp,
|
126
|
+
const char* reason, const char* file, int line) {
|
127
|
+
if (grpc_tcp_trace.enabled()) {
|
127
128
|
gpr_atm val = gpr_atm_no_barrier_load(&tcp->refcount.count);
|
128
129
|
gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
|
129
130
|
"TCP unref %p : %s %" PRIdPTR " -> %" PRIdPTR, tcp, reason, val,
|
@@ -134,9 +135,9 @@ static void tcp_unref(grpc_exec_ctx *exec_ctx, grpc_tcp *tcp,
|
|
134
135
|
}
|
135
136
|
}
|
136
137
|
|
137
|
-
static void tcp_ref(grpc_tcp
|
138
|
+
static void tcp_ref(grpc_tcp* tcp, const char* reason, const char* file,
|
138
139
|
int line) {
|
139
|
-
if (
|
140
|
+
if (grpc_tcp_trace.enabled()) {
|
140
141
|
gpr_atm val = gpr_atm_no_barrier_load(&tcp->refcount.count);
|
141
142
|
gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
|
142
143
|
"TCP ref %p : %s %" PRIdPTR " -> %" PRIdPTR, tcp, reason, val,
|
@@ -147,28 +148,28 @@ static void tcp_ref(grpc_tcp *tcp, const char *reason, const char *file,
|
|
147
148
|
#else
|
148
149
|
#define TCP_UNREF(exec_ctx, tcp, reason) tcp_unref((exec_ctx), (tcp))
|
149
150
|
#define TCP_REF(tcp, reason) tcp_ref((tcp))
|
150
|
-
static void tcp_unref(grpc_exec_ctx
|
151
|
+
static void tcp_unref(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp) {
|
151
152
|
if (gpr_unref(&tcp->refcount)) {
|
152
153
|
tcp_free(exec_ctx, tcp);
|
153
154
|
}
|
154
155
|
}
|
155
156
|
|
156
|
-
static void tcp_ref(grpc_tcp
|
157
|
+
static void tcp_ref(grpc_tcp* tcp) { gpr_ref(&tcp->refcount); }
|
157
158
|
#endif
|
158
159
|
|
159
160
|
/* Asynchronous callback from the IOCP, or the background thread. */
|
160
|
-
static void on_read(grpc_exec_ctx
|
161
|
-
grpc_tcp
|
162
|
-
grpc_closure
|
163
|
-
grpc_winsocket
|
161
|
+
static void on_read(grpc_exec_ctx* exec_ctx, void* tcpp, grpc_error* error) {
|
162
|
+
grpc_tcp* tcp = (grpc_tcp*)tcpp;
|
163
|
+
grpc_closure* cb = tcp->read_cb;
|
164
|
+
grpc_winsocket* socket = tcp->socket;
|
164
165
|
grpc_slice sub;
|
165
|
-
grpc_winsocket_callback_info
|
166
|
+
grpc_winsocket_callback_info* info = &socket->read_info;
|
166
167
|
|
167
168
|
GRPC_ERROR_REF(error);
|
168
169
|
|
169
170
|
if (error == GRPC_ERROR_NONE) {
|
170
171
|
if (info->wsa_error != 0 && !tcp->shutting_down) {
|
171
|
-
char
|
172
|
+
char* utf8_message = gpr_format_message(info->wsa_error);
|
172
173
|
error = GRPC_ERROR_CREATE_FROM_COPIED_STRING(utf8_message);
|
173
174
|
gpr_free(utf8_message);
|
174
175
|
grpc_slice_unref_internal(exec_ctx, tcp->read_slice);
|
@@ -191,11 +192,11 @@ static void on_read(grpc_exec_ctx *exec_ctx, void *tcpp, grpc_error *error) {
|
|
191
192
|
GRPC_CLOSURE_SCHED(exec_ctx, cb, error);
|
192
193
|
}
|
193
194
|
|
194
|
-
static void win_read(grpc_exec_ctx
|
195
|
-
grpc_slice_buffer
|
196
|
-
grpc_tcp
|
197
|
-
grpc_winsocket
|
198
|
-
grpc_winsocket_callback_info
|
195
|
+
static void win_read(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
|
196
|
+
grpc_slice_buffer* read_slices, grpc_closure* cb) {
|
197
|
+
grpc_tcp* tcp = (grpc_tcp*)ep;
|
198
|
+
grpc_winsocket* handle = tcp->socket;
|
199
|
+
grpc_winsocket_callback_info* info = &handle->read_info;
|
199
200
|
int status;
|
200
201
|
DWORD bytes_read = 0;
|
201
202
|
DWORD flags = 0;
|
@@ -217,7 +218,7 @@ static void win_read(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
|
|
217
218
|
|
218
219
|
buffer.len = (ULONG)GRPC_SLICE_LENGTH(
|
219
220
|
tcp->read_slice); // we know slice size fits in 32bit.
|
220
|
-
buffer.buf = (char
|
221
|
+
buffer.buf = (char*)GRPC_SLICE_START_PTR(tcp->read_slice);
|
221
222
|
|
222
223
|
TCP_REF(tcp, "read");
|
223
224
|
|
@@ -252,11 +253,11 @@ static void win_read(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
|
|
252
253
|
}
|
253
254
|
|
254
255
|
/* Asynchronous callback from the IOCP, or the background thread. */
|
255
|
-
static void on_write(grpc_exec_ctx
|
256
|
-
grpc_tcp
|
257
|
-
grpc_winsocket
|
258
|
-
grpc_winsocket_callback_info
|
259
|
-
grpc_closure
|
256
|
+
static void on_write(grpc_exec_ctx* exec_ctx, void* tcpp, grpc_error* error) {
|
257
|
+
grpc_tcp* tcp = (grpc_tcp*)tcpp;
|
258
|
+
grpc_winsocket* handle = tcp->socket;
|
259
|
+
grpc_winsocket_callback_info* info = &handle->write_info;
|
260
|
+
grpc_closure* cb;
|
260
261
|
|
261
262
|
GRPC_ERROR_REF(error);
|
262
263
|
|
@@ -278,17 +279,17 @@ static void on_write(grpc_exec_ctx *exec_ctx, void *tcpp, grpc_error *error) {
|
|
278
279
|
}
|
279
280
|
|
280
281
|
/* Initiates a write. */
|
281
|
-
static void win_write(grpc_exec_ctx
|
282
|
-
grpc_slice_buffer
|
283
|
-
grpc_tcp
|
284
|
-
grpc_winsocket
|
285
|
-
grpc_winsocket_callback_info
|
282
|
+
static void win_write(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
|
283
|
+
grpc_slice_buffer* slices, grpc_closure* cb) {
|
284
|
+
grpc_tcp* tcp = (grpc_tcp*)ep;
|
285
|
+
grpc_winsocket* socket = tcp->socket;
|
286
|
+
grpc_winsocket_callback_info* info = &socket->write_info;
|
286
287
|
unsigned i;
|
287
288
|
DWORD bytes_sent;
|
288
289
|
int status;
|
289
290
|
WSABUF local_buffers[16];
|
290
|
-
WSABUF
|
291
|
-
WSABUF
|
291
|
+
WSABUF* allocated = NULL;
|
292
|
+
WSABUF* buffers = local_buffers;
|
292
293
|
size_t len;
|
293
294
|
|
294
295
|
if (tcp->shutting_down) {
|
@@ -303,7 +304,7 @@ static void win_write(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
|
|
303
304
|
tcp->write_slices = slices;
|
304
305
|
GPR_ASSERT(tcp->write_slices->count <= UINT_MAX);
|
305
306
|
if (tcp->write_slices->count > GPR_ARRAY_SIZE(local_buffers)) {
|
306
|
-
buffers = (WSABUF
|
307
|
+
buffers = (WSABUF*)gpr_malloc(sizeof(WSABUF) * tcp->write_slices->count);
|
307
308
|
allocated = buffers;
|
308
309
|
}
|
309
310
|
|
@@ -311,7 +312,7 @@ static void win_write(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
|
|
311
312
|
len = GRPC_SLICE_LENGTH(tcp->write_slices->slices[i]);
|
312
313
|
GPR_ASSERT(len <= ULONG_MAX);
|
313
314
|
buffers[i].len = (ULONG)len;
|
314
|
-
buffers[i].buf = (char
|
315
|
+
buffers[i].buf = (char*)GRPC_SLICE_START_PTR(tcp->write_slices->slices[i]);
|
315
316
|
}
|
316
317
|
|
317
318
|
/* First, let's try a synchronous, non-blocking write. */
|
@@ -323,7 +324,7 @@ static void win_write(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
|
|
323
324
|
connection that has its send queue filled up. But if we don't, then we can
|
324
325
|
avoid doing an async write operation at all. */
|
325
326
|
if (info->wsa_error != WSAEWOULDBLOCK) {
|
326
|
-
grpc_error
|
327
|
+
grpc_error* error = status == 0
|
327
328
|
? GRPC_ERROR_NONE
|
328
329
|
: GRPC_WSA_ERROR(info->wsa_error, "WSASend");
|
329
330
|
GRPC_CLOSURE_SCHED(exec_ctx, cb, error);
|
@@ -354,31 +355,35 @@ static void win_write(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
|
|
354
355
|
grpc_socket_notify_on_write(exec_ctx, socket, &tcp->on_write);
|
355
356
|
}
|
356
357
|
|
357
|
-
static void win_add_to_pollset(grpc_exec_ctx
|
358
|
-
grpc_pollset
|
359
|
-
grpc_tcp
|
358
|
+
static void win_add_to_pollset(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
|
359
|
+
grpc_pollset* ps) {
|
360
|
+
grpc_tcp* tcp;
|
360
361
|
(void)ps;
|
361
|
-
tcp = (grpc_tcp
|
362
|
+
tcp = (grpc_tcp*)ep;
|
362
363
|
grpc_iocp_add_socket(tcp->socket);
|
363
364
|
}
|
364
365
|
|
365
|
-
static void win_add_to_pollset_set(grpc_exec_ctx
|
366
|
-
grpc_pollset_set
|
367
|
-
grpc_tcp
|
366
|
+
static void win_add_to_pollset_set(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
|
367
|
+
grpc_pollset_set* pss) {
|
368
|
+
grpc_tcp* tcp;
|
368
369
|
(void)pss;
|
369
|
-
tcp = (grpc_tcp
|
370
|
+
tcp = (grpc_tcp*)ep;
|
370
371
|
grpc_iocp_add_socket(tcp->socket);
|
371
372
|
}
|
372
373
|
|
374
|
+
static void win_delete_from_pollset_set(grpc_exec_ctx* exec_ctx,
|
375
|
+
grpc_endpoint* ep,
|
376
|
+
grpc_pollset_set* pss) {}
|
377
|
+
|
373
378
|
/* Initiates a shutdown of the TCP endpoint. This will queue abort callbacks
|
374
379
|
for the potential read and write operations. It is up to the caller to
|
375
380
|
guarantee this isn't called in parallel to a read or write request, so
|
376
381
|
we're not going to protect against these. However the IO Completion Port
|
377
382
|
callback will happen from another thread, so we need to protect against
|
378
383
|
concurrent access of the data structure in that regard. */
|
379
|
-
static void win_shutdown(grpc_exec_ctx
|
380
|
-
grpc_error
|
381
|
-
grpc_tcp
|
384
|
+
static void win_shutdown(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
|
385
|
+
grpc_error* why) {
|
386
|
+
grpc_tcp* tcp = (grpc_tcp*)ep;
|
382
387
|
gpr_mu_lock(&tcp->mu);
|
383
388
|
/* At that point, what may happen is that we're already inside the IOCP
|
384
389
|
callback. See the comments in on_read and on_write. */
|
@@ -393,43 +398,49 @@ static void win_shutdown(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
|
|
393
398
|
grpc_resource_user_shutdown(exec_ctx, tcp->resource_user);
|
394
399
|
}
|
395
400
|
|
396
|
-
static void win_destroy(grpc_exec_ctx
|
401
|
+
static void win_destroy(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep) {
|
397
402
|
grpc_network_status_unregister_endpoint(ep);
|
398
|
-
grpc_tcp
|
403
|
+
grpc_tcp* tcp = (grpc_tcp*)ep;
|
399
404
|
TCP_UNREF(exec_ctx, tcp, "destroy");
|
400
405
|
}
|
401
406
|
|
402
|
-
static char
|
403
|
-
grpc_tcp
|
407
|
+
static char* win_get_peer(grpc_endpoint* ep) {
|
408
|
+
grpc_tcp* tcp = (grpc_tcp*)ep;
|
404
409
|
return gpr_strdup(tcp->peer_string);
|
405
410
|
}
|
406
411
|
|
407
|
-
static grpc_resource_user
|
408
|
-
grpc_tcp
|
412
|
+
static grpc_resource_user* win_get_resource_user(grpc_endpoint* ep) {
|
413
|
+
grpc_tcp* tcp = (grpc_tcp*)ep;
|
409
414
|
return tcp->resource_user;
|
410
415
|
}
|
411
416
|
|
412
|
-
static int win_get_fd(grpc_endpoint
|
413
|
-
|
414
|
-
static grpc_endpoint_vtable vtable = {
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
417
|
+
static int win_get_fd(grpc_endpoint* ep) { return -1; }
|
418
|
+
|
419
|
+
static grpc_endpoint_vtable vtable = {win_read,
|
420
|
+
win_write,
|
421
|
+
win_add_to_pollset,
|
422
|
+
win_add_to_pollset_set,
|
423
|
+
win_delete_from_pollset_set,
|
424
|
+
win_shutdown,
|
425
|
+
win_destroy,
|
426
|
+
win_get_resource_user,
|
427
|
+
win_get_peer,
|
428
|
+
win_get_fd};
|
429
|
+
|
430
|
+
grpc_endpoint* grpc_tcp_create(grpc_exec_ctx* exec_ctx, grpc_winsocket* socket,
|
431
|
+
grpc_channel_args* channel_args,
|
432
|
+
const char* peer_string) {
|
433
|
+
grpc_resource_quota* resource_quota = grpc_resource_quota_create(NULL);
|
423
434
|
if (channel_args != NULL) {
|
424
435
|
for (size_t i = 0; i < channel_args->num_args; i++) {
|
425
436
|
if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_RESOURCE_QUOTA)) {
|
426
437
|
grpc_resource_quota_unref_internal(exec_ctx, resource_quota);
|
427
438
|
resource_quota = grpc_resource_quota_ref_internal(
|
428
|
-
channel_args->args[i].value.pointer.p);
|
439
|
+
(grpc_resource_quota*)channel_args->args[i].value.pointer.p);
|
429
440
|
}
|
430
441
|
}
|
431
442
|
}
|
432
|
-
grpc_tcp
|
443
|
+
grpc_tcp* tcp = (grpc_tcp*)gpr_malloc(sizeof(grpc_tcp));
|
433
444
|
memset(tcp, 0, sizeof(grpc_tcp));
|
434
445
|
tcp->base.vtable = &vtable;
|
435
446
|
tcp->socket = socket;
|
@@ -29,16 +29,29 @@
|
|
29
29
|
otherwise specified.
|
30
30
|
*/
|
31
31
|
|
32
|
+
#include "src/core/lib/iomgr/port.h"
|
33
|
+
|
34
|
+
#ifdef GRPC_WINSOCK_SOCKET
|
32
35
|
#include "src/core/lib/iomgr/endpoint.h"
|
33
36
|
#include "src/core/lib/iomgr/socket_windows.h"
|
34
37
|
|
38
|
+
#ifdef __cplusplus
|
39
|
+
extern "C" {
|
40
|
+
#endif
|
41
|
+
|
35
42
|
/* Create a tcp endpoint given a winsock handle.
|
36
43
|
* Takes ownership of the handle.
|
37
44
|
*/
|
38
|
-
grpc_endpoint
|
39
|
-
grpc_channel_args
|
40
|
-
char
|
45
|
+
grpc_endpoint* grpc_tcp_create(grpc_exec_ctx* exec_ctx, grpc_winsocket* socket,
|
46
|
+
grpc_channel_args* channel_args,
|
47
|
+
const char* peer_string);
|
48
|
+
|
49
|
+
grpc_error* grpc_tcp_prepare_socket(SOCKET sock);
|
50
|
+
|
51
|
+
#ifdef __cplusplus
|
52
|
+
}
|
53
|
+
#endif
|
41
54
|
|
42
|
-
|
55
|
+
#endif
|
43
56
|
|
44
57
|
#endif /* GRPC_CORE_LIB_IOMGR_TCP_WINDOWS_H */
|
File without changes
|
@@ -19,6 +19,10 @@
|
|
19
19
|
#ifndef GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H
|
20
20
|
#define GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H
|
21
21
|
|
22
|
+
#ifdef __cplusplus
|
23
|
+
extern "C" {
|
24
|
+
#endif
|
25
|
+
|
22
26
|
/* This tracks a time-decaying weighted average. It works by collecting
|
23
27
|
batches of samples and then mixing their average into a time-decaying
|
24
28
|
weighted mean. It is designed for batch operations where we do many adds
|
@@ -70,4 +74,8 @@ void grpc_time_averaged_stats_add_sample(grpc_time_averaged_stats* stats,
|
|
70
74
|
value. */
|
71
75
|
double grpc_time_averaged_stats_update_average(grpc_time_averaged_stats* stats);
|
72
76
|
|
77
|
+
#ifdef __cplusplus
|
78
|
+
}
|
79
|
+
#endif
|
80
|
+
|
73
81
|
#endif /* GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H */
|
data/src/core/lib/iomgr/timer.h
CHANGED
@@ -32,6 +32,10 @@
|
|
32
32
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
33
33
|
#include "src/core/lib/iomgr/iomgr.h"
|
34
34
|
|
35
|
+
#ifdef __cplusplus
|
36
|
+
extern "C" {
|
37
|
+
#endif
|
38
|
+
|
35
39
|
typedef struct grpc_timer grpc_timer;
|
36
40
|
|
37
41
|
/* Initialize *timer. When expired or canceled, closure will be called with
|
@@ -40,13 +44,12 @@ typedef struct grpc_timer grpc_timer;
|
|
40
44
|
application code should check the error to determine how it was invoked. The
|
41
45
|
application callback is also responsible for maintaining information about
|
42
46
|
when to free up any user-level state. */
|
43
|
-
void grpc_timer_init(grpc_exec_ctx
|
44
|
-
|
45
|
-
gpr_timespec now);
|
47
|
+
void grpc_timer_init(grpc_exec_ctx* exec_ctx, grpc_timer* timer,
|
48
|
+
grpc_millis deadline, grpc_closure* closure);
|
46
49
|
|
47
50
|
/* Initialize *timer without setting it. This can later be passed through
|
48
51
|
the regular init or cancel */
|
49
|
-
void grpc_timer_init_unset(grpc_timer
|
52
|
+
void grpc_timer_init_unset(grpc_timer* timer);
|
50
53
|
|
51
54
|
/* Note that there is no timer destroy function. This is because the
|
52
55
|
timer is a one-time occurrence with a guarantee that the callback will
|
@@ -74,7 +77,7 @@ void grpc_timer_init_unset(grpc_timer *timer);
|
|
74
77
|
matches this aim.
|
75
78
|
|
76
79
|
Requires: cancel() must happen after init() on a given timer */
|
77
|
-
void grpc_timer_cancel(grpc_exec_ctx
|
80
|
+
void grpc_timer_cancel(grpc_exec_ctx* exec_ctx, grpc_timer* timer);
|
78
81
|
|
79
82
|
/* iomgr internal api for dealing with timers */
|
80
83
|
|
@@ -91,10 +94,10 @@ typedef enum {
|
|
91
94
|
*next is never guaranteed to be updated on any given execution; however,
|
92
95
|
with high probability at least one thread in the system will see an update
|
93
96
|
at any time slice. */
|
94
|
-
grpc_timer_check_result grpc_timer_check(grpc_exec_ctx
|
95
|
-
|
96
|
-
void grpc_timer_list_init(
|
97
|
-
void grpc_timer_list_shutdown(grpc_exec_ctx
|
97
|
+
grpc_timer_check_result grpc_timer_check(grpc_exec_ctx* exec_ctx,
|
98
|
+
grpc_millis* next);
|
99
|
+
void grpc_timer_list_init(grpc_exec_ctx* exec_ctx);
|
100
|
+
void grpc_timer_list_shutdown(grpc_exec_ctx* exec_ctx);
|
98
101
|
|
99
102
|
/* Consume a kick issued by grpc_kick_poller */
|
100
103
|
void grpc_timer_consume_kick(void);
|
@@ -103,4 +106,8 @@ void grpc_timer_consume_kick(void);
|
|
103
106
|
|
104
107
|
void grpc_kick_poller(void);
|
105
108
|
|
109
|
+
#ifdef __cplusplus
|
110
|
+
}
|
111
|
+
#endif
|
112
|
+
|
106
113
|
#endif /* GRPC_CORE_LIB_IOMGR_TIMER_H */
|