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/ruby/ext/grpc/rb_call.h
CHANGED
@@ -24,24 +24,24 @@
|
|
24
24
|
#include <grpc/grpc.h>
|
25
25
|
|
26
26
|
/* Gets the wrapped call from a VALUE. */
|
27
|
-
grpc_call
|
27
|
+
grpc_call* grpc_rb_get_wrapped_call(VALUE v);
|
28
28
|
|
29
29
|
/* Gets the VALUE corresponding to given grpc_call. */
|
30
|
-
VALUE grpc_rb_wrap_call(grpc_call
|
30
|
+
VALUE grpc_rb_wrap_call(grpc_call* c, grpc_completion_queue* q);
|
31
31
|
|
32
32
|
/* Provides the details of an call error */
|
33
|
-
const char
|
33
|
+
const char* grpc_call_error_detail_of(grpc_call_error err);
|
34
34
|
|
35
35
|
/* Converts a metadata array to a hash. */
|
36
|
-
VALUE grpc_rb_md_ary_to_h(grpc_metadata_array
|
36
|
+
VALUE grpc_rb_md_ary_to_h(grpc_metadata_array* md_ary);
|
37
37
|
|
38
38
|
/* grpc_rb_md_ary_convert converts a ruby metadata hash into
|
39
39
|
a grpc_metadata_array.
|
40
40
|
*/
|
41
|
-
void grpc_rb_md_ary_convert(VALUE md_ary_hash, grpc_metadata_array
|
41
|
+
void grpc_rb_md_ary_convert(VALUE md_ary_hash, grpc_metadata_array* md_ary);
|
42
42
|
|
43
43
|
void grpc_rb_metadata_array_destroy_including_entries(
|
44
|
-
grpc_metadata_array
|
44
|
+
grpc_metadata_array* md_ary);
|
45
45
|
|
46
46
|
/* grpc_rb_eCallError is the ruby class of the exception thrown during call
|
47
47
|
operations. */
|
@@ -44,13 +44,13 @@ typedef struct grpc_rb_call_credentials {
|
|
44
44
|
VALUE mark;
|
45
45
|
|
46
46
|
/* The actual credentials */
|
47
|
-
grpc_call_credentials
|
47
|
+
grpc_call_credentials* wrapped;
|
48
48
|
} grpc_rb_call_credentials;
|
49
49
|
|
50
50
|
typedef struct callback_params {
|
51
51
|
VALUE get_metadata;
|
52
52
|
grpc_auth_metadata_context context;
|
53
|
-
void
|
53
|
+
void* user_data;
|
54
54
|
grpc_credentials_plugin_metadata_cb callback;
|
55
55
|
} callback_params;
|
56
56
|
|
@@ -82,8 +82,8 @@ static VALUE grpc_rb_call_credentials_callback_rescue(VALUE args,
|
|
82
82
|
return result;
|
83
83
|
}
|
84
84
|
|
85
|
-
static void grpc_rb_call_credentials_callback_with_gil(void
|
86
|
-
callback_params
|
85
|
+
static void grpc_rb_call_credentials_callback_with_gil(void* param) {
|
86
|
+
callback_params* const params = (callback_params*)param;
|
87
87
|
VALUE auth_uri = rb_str_new_cstr(params->context.service_url);
|
88
88
|
/* Pass the arguments to the proc in a hash, which currently only has they key
|
89
89
|
'auth_uri' */
|
@@ -93,7 +93,7 @@ static void grpc_rb_call_credentials_callback_with_gil(void *param) {
|
|
93
93
|
grpc_metadata_array md_ary;
|
94
94
|
grpc_status_code status;
|
95
95
|
VALUE details;
|
96
|
-
char
|
96
|
+
char* error_details;
|
97
97
|
grpc_metadata_array_init(&md_ary);
|
98
98
|
rb_hash_aset(args, ID2SYM(rb_intern("jwt_aud_uri")), auth_uri);
|
99
99
|
rb_ary_push(callback_args, params->get_metadata);
|
@@ -113,34 +113,34 @@ static void grpc_rb_call_credentials_callback_with_gil(void *param) {
|
|
113
113
|
}
|
114
114
|
|
115
115
|
static int grpc_rb_call_credentials_plugin_get_metadata(
|
116
|
-
void
|
117
|
-
grpc_credentials_plugin_metadata_cb cb, void
|
116
|
+
void* state, grpc_auth_metadata_context context,
|
117
|
+
grpc_credentials_plugin_metadata_cb cb, void* user_data,
|
118
118
|
grpc_metadata creds_md[GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX],
|
119
|
-
size_t
|
120
|
-
const char
|
121
|
-
callback_params
|
119
|
+
size_t* num_creds_md, grpc_status_code* status,
|
120
|
+
const char** error_details) {
|
121
|
+
callback_params* params = gpr_malloc(sizeof(callback_params));
|
122
122
|
params->get_metadata = (VALUE)state;
|
123
123
|
params->context = context;
|
124
124
|
params->user_data = user_data;
|
125
125
|
params->callback = cb;
|
126
126
|
|
127
127
|
grpc_rb_event_queue_enqueue(grpc_rb_call_credentials_callback_with_gil,
|
128
|
-
(void
|
128
|
+
(void*)(params));
|
129
129
|
return 0; // Async return.
|
130
130
|
}
|
131
131
|
|
132
|
-
static void grpc_rb_call_credentials_plugin_destroy(void
|
132
|
+
static void grpc_rb_call_credentials_plugin_destroy(void* state) {
|
133
133
|
(void)state;
|
134
134
|
// Not sure what needs to be done here
|
135
135
|
}
|
136
136
|
|
137
137
|
/* Destroys the credentials instances. */
|
138
|
-
static void grpc_rb_call_credentials_free(void
|
139
|
-
grpc_rb_call_credentials
|
138
|
+
static void grpc_rb_call_credentials_free(void* p) {
|
139
|
+
grpc_rb_call_credentials* wrapper;
|
140
140
|
if (p == NULL) {
|
141
141
|
return;
|
142
142
|
}
|
143
|
-
wrapper = (grpc_rb_call_credentials
|
143
|
+
wrapper = (grpc_rb_call_credentials*)p;
|
144
144
|
grpc_call_credentials_release(wrapper->wrapped);
|
145
145
|
wrapper->wrapped = NULL;
|
146
146
|
|
@@ -148,12 +148,12 @@ static void grpc_rb_call_credentials_free(void *p) {
|
|
148
148
|
}
|
149
149
|
|
150
150
|
/* Protects the mark object from GC */
|
151
|
-
static void grpc_rb_call_credentials_mark(void
|
152
|
-
grpc_rb_call_credentials
|
151
|
+
static void grpc_rb_call_credentials_mark(void* p) {
|
152
|
+
grpc_rb_call_credentials* wrapper = NULL;
|
153
153
|
if (p == NULL) {
|
154
154
|
return;
|
155
155
|
}
|
156
|
-
wrapper = (grpc_rb_call_credentials
|
156
|
+
wrapper = (grpc_rb_call_credentials*)p;
|
157
157
|
if (wrapper->mark != Qnil) {
|
158
158
|
rb_gc_mark(wrapper->mark);
|
159
159
|
}
|
@@ -175,7 +175,7 @@ static rb_data_type_t grpc_rb_call_credentials_data_type = {
|
|
175
175
|
/* Allocates CallCredentials instances.
|
176
176
|
Provides safe initial defaults for the instance fields. */
|
177
177
|
static VALUE grpc_rb_call_credentials_alloc(VALUE cls) {
|
178
|
-
grpc_rb_call_credentials
|
178
|
+
grpc_rb_call_credentials* wrapper = ALLOC(grpc_rb_call_credentials);
|
179
179
|
wrapper->wrapped = NULL;
|
180
180
|
wrapper->mark = Qnil;
|
181
181
|
return TypedData_Wrap_Struct(cls, &grpc_rb_call_credentials_data_type,
|
@@ -185,9 +185,9 @@ static VALUE grpc_rb_call_credentials_alloc(VALUE cls) {
|
|
185
185
|
/* Creates a wrapping object for a given call credentials. This should only be
|
186
186
|
* called with grpc_call_credentials objects that are not already associated
|
187
187
|
* with any Ruby object */
|
188
|
-
VALUE grpc_rb_wrap_call_credentials(grpc_call_credentials
|
188
|
+
VALUE grpc_rb_wrap_call_credentials(grpc_call_credentials* c, VALUE mark) {
|
189
189
|
VALUE rb_wrapper;
|
190
|
-
grpc_rb_call_credentials
|
190
|
+
grpc_rb_call_credentials* wrapper;
|
191
191
|
if (c == NULL) {
|
192
192
|
return Qnil;
|
193
193
|
}
|
@@ -208,8 +208,8 @@ static ID id_callback;
|
|
208
208
|
proc: (required) Proc that generates auth metadata
|
209
209
|
Initializes CallCredential instances. */
|
210
210
|
static VALUE grpc_rb_call_credentials_init(VALUE self, VALUE proc) {
|
211
|
-
grpc_rb_call_credentials
|
212
|
-
grpc_call_credentials
|
211
|
+
grpc_rb_call_credentials* wrapper = NULL;
|
212
|
+
grpc_call_credentials* creds = NULL;
|
213
213
|
grpc_metadata_credentials_plugin plugin;
|
214
214
|
|
215
215
|
grpc_ruby_once_init();
|
@@ -223,7 +223,7 @@ static VALUE grpc_rb_call_credentials_init(VALUE self, VALUE proc) {
|
|
223
223
|
rb_raise(rb_eTypeError, "Argument to CallCredentials#new must be a proc");
|
224
224
|
return Qnil;
|
225
225
|
}
|
226
|
-
plugin.state = (void
|
226
|
+
plugin.state = (void*)proc;
|
227
227
|
plugin.type = "";
|
228
228
|
|
229
229
|
creds = grpc_metadata_credentials_create_from_plugin(plugin, NULL);
|
@@ -239,11 +239,11 @@ static VALUE grpc_rb_call_credentials_init(VALUE self, VALUE proc) {
|
|
239
239
|
return self;
|
240
240
|
}
|
241
241
|
|
242
|
-
static VALUE grpc_rb_call_credentials_compose(int argc, VALUE
|
242
|
+
static VALUE grpc_rb_call_credentials_compose(int argc, VALUE* argv,
|
243
243
|
VALUE self) {
|
244
|
-
grpc_call_credentials
|
245
|
-
grpc_call_credentials
|
246
|
-
grpc_call_credentials
|
244
|
+
grpc_call_credentials* creds;
|
245
|
+
grpc_call_credentials* other;
|
246
|
+
grpc_call_credentials* prev = NULL;
|
247
247
|
VALUE mark;
|
248
248
|
if (argc == 0) {
|
249
249
|
return self;
|
@@ -282,8 +282,8 @@ void Init_grpc_call_credentials() {
|
|
282
282
|
}
|
283
283
|
|
284
284
|
/* Gets the wrapped grpc_call_credentials from the ruby wrapper */
|
285
|
-
grpc_call_credentials
|
286
|
-
grpc_rb_call_credentials
|
285
|
+
grpc_call_credentials* grpc_rb_get_wrapped_call_credentials(VALUE v) {
|
286
|
+
grpc_rb_call_credentials* wrapper = NULL;
|
287
287
|
TypedData_Get_Struct(v, grpc_rb_call_credentials,
|
288
288
|
&grpc_rb_call_credentials_data_type, wrapper);
|
289
289
|
return wrapper->wrapped;
|
@@ -54,9 +54,9 @@ static VALUE grpc_rb_cChannel = Qnil;
|
|
54
54
|
static VALUE grpc_rb_cChannelArgs;
|
55
55
|
|
56
56
|
typedef struct bg_watched_channel {
|
57
|
-
grpc_channel
|
57
|
+
grpc_channel* channel;
|
58
58
|
// these fields must only be accessed under global_connection_polling_mu
|
59
|
-
struct bg_watched_channel
|
59
|
+
struct bg_watched_channel* next;
|
60
60
|
int channel_destroyed;
|
61
61
|
int refcount;
|
62
62
|
} bg_watched_channel;
|
@@ -67,7 +67,7 @@ typedef struct grpc_rb_channel {
|
|
67
67
|
|
68
68
|
/* The actual channel (protected in a wrapper to tell when it's safe to
|
69
69
|
* destroy) */
|
70
|
-
bg_watched_channel
|
70
|
+
bg_watched_channel* bg_wrapped;
|
71
71
|
} grpc_rb_channel;
|
72
72
|
|
73
73
|
typedef enum { CONTINUOUS_WATCH, WATCH_STATE_API } watch_state_op_type;
|
@@ -82,40 +82,40 @@ typedef struct watch_state_op {
|
|
82
82
|
int called_back;
|
83
83
|
} api_callback_args;
|
84
84
|
struct {
|
85
|
-
bg_watched_channel
|
85
|
+
bg_watched_channel* bg;
|
86
86
|
} continuous_watch_callback_args;
|
87
87
|
} op;
|
88
88
|
} watch_state_op;
|
89
89
|
|
90
|
-
static bg_watched_channel
|
90
|
+
static bg_watched_channel* bg_watched_channel_list_head = NULL;
|
91
91
|
|
92
92
|
static void grpc_rb_channel_try_register_connection_polling(
|
93
|
-
bg_watched_channel
|
94
|
-
static void
|
95
|
-
static void wait_until_channel_polling_thread_started_unblocking_func(void
|
96
|
-
static void
|
97
|
-
void
|
93
|
+
bg_watched_channel* bg);
|
94
|
+
static void* wait_until_channel_polling_thread_started_no_gil(void*);
|
95
|
+
static void wait_until_channel_polling_thread_started_unblocking_func(void*);
|
96
|
+
static void* channel_init_try_register_connection_polling_without_gil(
|
97
|
+
void* arg);
|
98
98
|
|
99
99
|
typedef struct channel_init_try_register_stack {
|
100
|
-
grpc_channel
|
101
|
-
grpc_rb_channel
|
100
|
+
grpc_channel* channel;
|
101
|
+
grpc_rb_channel* wrapper;
|
102
102
|
} channel_init_try_register_stack;
|
103
103
|
|
104
|
-
static grpc_completion_queue
|
104
|
+
static grpc_completion_queue* channel_polling_cq;
|
105
105
|
static gpr_mu global_connection_polling_mu;
|
106
106
|
static gpr_cv global_connection_polling_cv;
|
107
107
|
static int abort_channel_polling = 0;
|
108
108
|
static int channel_polling_thread_started = 0;
|
109
109
|
|
110
|
-
static int bg_watched_channel_list_lookup(bg_watched_channel
|
111
|
-
static bg_watched_channel
|
112
|
-
grpc_channel
|
113
|
-
static void bg_watched_channel_list_free_and_remove(bg_watched_channel
|
114
|
-
static void run_poll_channels_loop_unblocking_func(void
|
110
|
+
static int bg_watched_channel_list_lookup(bg_watched_channel* bg);
|
111
|
+
static bg_watched_channel* bg_watched_channel_list_create_and_add(
|
112
|
+
grpc_channel* channel);
|
113
|
+
static void bg_watched_channel_list_free_and_remove(bg_watched_channel* bg);
|
114
|
+
static void run_poll_channels_loop_unblocking_func(void* arg);
|
115
115
|
|
116
116
|
// Needs to be called under global_connection_polling_mu
|
117
117
|
static void grpc_rb_channel_watch_connection_state_op_complete(
|
118
|
-
watch_state_op
|
118
|
+
watch_state_op* op, int success) {
|
119
119
|
GPR_ASSERT(!op->op.api_callback_args.called_back);
|
120
120
|
op->op.api_callback_args.called_back = 1;
|
121
121
|
op->op.api_callback_args.success = success;
|
@@ -124,7 +124,7 @@ static void grpc_rb_channel_watch_connection_state_op_complete(
|
|
124
124
|
}
|
125
125
|
|
126
126
|
/* Avoids destroying a channel twice. */
|
127
|
-
static void grpc_rb_channel_safe_destroy(bg_watched_channel
|
127
|
+
static void grpc_rb_channel_safe_destroy(bg_watched_channel* bg) {
|
128
128
|
gpr_mu_lock(&global_connection_polling_mu);
|
129
129
|
GPR_ASSERT(bg_watched_channel_list_lookup(bg));
|
130
130
|
if (!bg->channel_destroyed) {
|
@@ -138,18 +138,18 @@ static void grpc_rb_channel_safe_destroy(bg_watched_channel *bg) {
|
|
138
138
|
gpr_mu_unlock(&global_connection_polling_mu);
|
139
139
|
}
|
140
140
|
|
141
|
-
static void
|
142
|
-
grpc_rb_channel_safe_destroy((bg_watched_channel
|
141
|
+
static void* channel_safe_destroy_without_gil(void* arg) {
|
142
|
+
grpc_rb_channel_safe_destroy((bg_watched_channel*)arg);
|
143
143
|
return NULL;
|
144
144
|
}
|
145
145
|
|
146
146
|
/* Destroys Channel instances. */
|
147
|
-
static void grpc_rb_channel_free(void
|
148
|
-
grpc_rb_channel
|
147
|
+
static void grpc_rb_channel_free(void* p) {
|
148
|
+
grpc_rb_channel* ch = NULL;
|
149
149
|
if (p == NULL) {
|
150
150
|
return;
|
151
151
|
};
|
152
|
-
ch = (grpc_rb_channel
|
152
|
+
ch = (grpc_rb_channel*)p;
|
153
153
|
|
154
154
|
if (ch->bg_wrapped != NULL) {
|
155
155
|
/* assumption made here: it's ok to directly gpr_mu_lock the global
|
@@ -164,12 +164,12 @@ static void grpc_rb_channel_free(void *p) {
|
|
164
164
|
}
|
165
165
|
|
166
166
|
/* Protects the mark object from GC */
|
167
|
-
static void grpc_rb_channel_mark(void
|
168
|
-
grpc_rb_channel
|
167
|
+
static void grpc_rb_channel_mark(void* p) {
|
168
|
+
grpc_rb_channel* channel = NULL;
|
169
169
|
if (p == NULL) {
|
170
170
|
return;
|
171
171
|
}
|
172
|
-
channel = (grpc_rb_channel
|
172
|
+
channel = (grpc_rb_channel*)p;
|
173
173
|
if (channel->credentials != Qnil) {
|
174
174
|
rb_gc_mark(channel->credentials);
|
175
175
|
}
|
@@ -189,7 +189,7 @@ static rb_data_type_t grpc_channel_data_type = {"grpc_channel",
|
|
189
189
|
|
190
190
|
/* Allocates grpc_rb_channel instances. */
|
191
191
|
static VALUE grpc_rb_channel_alloc(VALUE cls) {
|
192
|
-
grpc_rb_channel
|
192
|
+
grpc_rb_channel* wrapper = ALLOC(grpc_rb_channel);
|
193
193
|
wrapper->bg_wrapped = NULL;
|
194
194
|
wrapper->credentials = Qnil;
|
195
195
|
return TypedData_Wrap_Struct(cls, &grpc_channel_data_type, wrapper);
|
@@ -203,14 +203,14 @@ static VALUE grpc_rb_channel_alloc(VALUE cls) {
|
|
203
203
|
secure_channel = Channel:new("myhost:443", {'arg1': 'value1'}, creds)
|
204
204
|
|
205
205
|
Creates channel instances. */
|
206
|
-
static VALUE grpc_rb_channel_init(int argc, VALUE
|
206
|
+
static VALUE grpc_rb_channel_init(int argc, VALUE* argv, VALUE self) {
|
207
207
|
VALUE channel_args = Qnil;
|
208
208
|
VALUE credentials = Qnil;
|
209
209
|
VALUE target = Qnil;
|
210
|
-
grpc_rb_channel
|
211
|
-
grpc_channel
|
212
|
-
grpc_channel_credentials
|
213
|
-
char
|
210
|
+
grpc_rb_channel* wrapper = NULL;
|
211
|
+
grpc_channel* ch = NULL;
|
212
|
+
grpc_channel_credentials* creds = NULL;
|
213
|
+
char* target_chars = NULL;
|
214
214
|
grpc_channel_args args;
|
215
215
|
channel_init_try_register_stack stack;
|
216
216
|
int stop_waiting_for_thread_start = 0;
|
@@ -262,13 +262,13 @@ static VALUE grpc_rb_channel_init(int argc, VALUE *argv, VALUE self) {
|
|
262
262
|
}
|
263
263
|
|
264
264
|
typedef struct get_state_stack {
|
265
|
-
bg_watched_channel
|
265
|
+
bg_watched_channel* bg;
|
266
266
|
int try_to_connect;
|
267
267
|
int out;
|
268
268
|
} get_state_stack;
|
269
269
|
|
270
|
-
static void
|
271
|
-
get_state_stack
|
270
|
+
static void* get_state_without_gil(void* arg) {
|
271
|
+
get_state_stack* stack = (get_state_stack*)arg;
|
272
272
|
|
273
273
|
gpr_mu_lock(&global_connection_polling_mu);
|
274
274
|
GPR_ASSERT(abort_channel_polling || channel_polling_thread_started);
|
@@ -292,10 +292,10 @@ static void *get_state_without_gil(void *arg) {
|
|
292
292
|
constants defined in GRPC::Core::ConnectivityStates.
|
293
293
|
|
294
294
|
It also tries to connect if the chennel is idle in the second form. */
|
295
|
-
static VALUE grpc_rb_channel_get_connectivity_state(int argc, VALUE
|
295
|
+
static VALUE grpc_rb_channel_get_connectivity_state(int argc, VALUE* argv,
|
296
296
|
VALUE self) {
|
297
297
|
VALUE try_to_connect_param = Qfalse;
|
298
|
-
grpc_rb_channel
|
298
|
+
grpc_rb_channel* wrapper = NULL;
|
299
299
|
get_state_stack stack;
|
300
300
|
|
301
301
|
/* "01" == 0 mandatory args, 1 (try_to_connect) is optional */
|
@@ -315,22 +315,22 @@ static VALUE grpc_rb_channel_get_connectivity_state(int argc, VALUE *argv,
|
|
315
315
|
}
|
316
316
|
|
317
317
|
typedef struct watch_state_stack {
|
318
|
-
grpc_channel
|
318
|
+
grpc_channel* channel;
|
319
319
|
gpr_timespec deadline;
|
320
320
|
int last_state;
|
321
321
|
} watch_state_stack;
|
322
322
|
|
323
|
-
static void
|
324
|
-
watch_state_stack
|
325
|
-
watch_state_op
|
326
|
-
void
|
323
|
+
static void* wait_for_watch_state_op_complete_without_gvl(void* arg) {
|
324
|
+
watch_state_stack* stack = (watch_state_stack*)arg;
|
325
|
+
watch_state_op* op = NULL;
|
326
|
+
void* success = (void*)0;
|
327
327
|
|
328
328
|
gpr_mu_lock(&global_connection_polling_mu);
|
329
329
|
// its unsafe to do a "watch" after "channel polling abort" because the cq has
|
330
330
|
// been shut down.
|
331
331
|
if (abort_channel_polling) {
|
332
332
|
gpr_mu_unlock(&global_connection_polling_mu);
|
333
|
-
return (void
|
333
|
+
return (void*)0;
|
334
334
|
}
|
335
335
|
op = gpr_zalloc(sizeof(watch_state_op));
|
336
336
|
op->op_type = WATCH_STATE_API;
|
@@ -343,15 +343,15 @@ static void *wait_for_watch_state_op_complete_without_gvl(void *arg) {
|
|
343
343
|
gpr_inf_future(GPR_CLOCK_REALTIME));
|
344
344
|
}
|
345
345
|
if (op->op.api_callback_args.success) {
|
346
|
-
success = (void
|
346
|
+
success = (void*)1;
|
347
347
|
}
|
348
348
|
gpr_free(op);
|
349
349
|
gpr_mu_unlock(&global_connection_polling_mu);
|
350
350
|
|
351
351
|
return success;
|
352
352
|
}
|
353
|
-
static void wait_for_watch_state_op_complete_unblocking_func(void
|
354
|
-
bg_watched_channel
|
353
|
+
static void wait_for_watch_state_op_complete_unblocking_func(void* arg) {
|
354
|
+
bg_watched_channel* bg = (bg_watched_channel*)arg;
|
355
355
|
gpr_mu_lock(&global_connection_polling_mu);
|
356
356
|
if (!bg->channel_destroyed) {
|
357
357
|
grpc_channel_destroy(bg->channel);
|
@@ -370,9 +370,9 @@ static void wait_for_watch_state_op_complete_unblocking_func(void *arg) {
|
|
370
370
|
static VALUE grpc_rb_channel_watch_connectivity_state(VALUE self,
|
371
371
|
VALUE last_state,
|
372
372
|
VALUE deadline) {
|
373
|
-
grpc_rb_channel
|
373
|
+
grpc_rb_channel* wrapper = NULL;
|
374
374
|
watch_state_stack stack;
|
375
|
-
void
|
375
|
+
void* op_success = 0;
|
376
376
|
|
377
377
|
TypedData_Get_Struct(self, grpc_rb_channel, &grpc_channel_data_type, wrapper);
|
378
378
|
|
@@ -405,15 +405,15 @@ static VALUE grpc_rb_channel_create_call(VALUE self, VALUE parent, VALUE mask,
|
|
405
405
|
VALUE method, VALUE host,
|
406
406
|
VALUE deadline) {
|
407
407
|
VALUE res = Qnil;
|
408
|
-
grpc_rb_channel
|
409
|
-
grpc_call
|
410
|
-
grpc_call
|
411
|
-
grpc_completion_queue
|
408
|
+
grpc_rb_channel* wrapper = NULL;
|
409
|
+
grpc_call* call = NULL;
|
410
|
+
grpc_call* parent_call = NULL;
|
411
|
+
grpc_completion_queue* cq = NULL;
|
412
412
|
int flags = GRPC_PROPAGATE_DEFAULTS;
|
413
413
|
grpc_slice method_slice;
|
414
414
|
grpc_slice host_slice;
|
415
|
-
grpc_slice
|
416
|
-
char
|
415
|
+
grpc_slice* host_slice_ptr = NULL;
|
416
|
+
char* tmp_str = NULL;
|
417
417
|
|
418
418
|
if (host != Qnil) {
|
419
419
|
host_slice =
|
@@ -466,7 +466,7 @@ static VALUE grpc_rb_channel_create_call(VALUE self, VALUE parent, VALUE mask,
|
|
466
466
|
/* Note this is an API-level call; a wrapped channel's finalizer doesn't call
|
467
467
|
* this */
|
468
468
|
static VALUE grpc_rb_channel_destroy(VALUE self) {
|
469
|
-
grpc_rb_channel
|
469
|
+
grpc_rb_channel* wrapper = NULL;
|
470
470
|
|
471
471
|
TypedData_Get_Struct(self, grpc_rb_channel, &grpc_channel_data_type, wrapper);
|
472
472
|
if (wrapper->bg_wrapped != NULL) {
|
@@ -480,9 +480,9 @@ static VALUE grpc_rb_channel_destroy(VALUE self) {
|
|
480
480
|
|
481
481
|
/* Called to obtain the target that this channel accesses. */
|
482
482
|
static VALUE grpc_rb_channel_get_target(VALUE self) {
|
483
|
-
grpc_rb_channel
|
483
|
+
grpc_rb_channel* wrapper = NULL;
|
484
484
|
VALUE res = Qnil;
|
485
|
-
char
|
485
|
+
char* target = NULL;
|
486
486
|
|
487
487
|
TypedData_Get_Struct(self, grpc_rb_channel, &grpc_channel_data_type, wrapper);
|
488
488
|
target = grpc_channel_get_target(wrapper->bg_wrapped->channel);
|
@@ -493,8 +493,8 @@ static VALUE grpc_rb_channel_get_target(VALUE self) {
|
|
493
493
|
}
|
494
494
|
|
495
495
|
/* Needs to be called under global_connection_polling_mu */
|
496
|
-
static int bg_watched_channel_list_lookup(bg_watched_channel
|
497
|
-
bg_watched_channel
|
496
|
+
static int bg_watched_channel_list_lookup(bg_watched_channel* target) {
|
497
|
+
bg_watched_channel* cur = bg_watched_channel_list_head;
|
498
498
|
|
499
499
|
while (cur != NULL) {
|
500
500
|
if (cur == target) {
|
@@ -507,9 +507,9 @@ static int bg_watched_channel_list_lookup(bg_watched_channel *target) {
|
|
507
507
|
}
|
508
508
|
|
509
509
|
/* Needs to be called under global_connection_polling_mu */
|
510
|
-
static bg_watched_channel
|
511
|
-
grpc_channel
|
512
|
-
bg_watched_channel
|
510
|
+
static bg_watched_channel* bg_watched_channel_list_create_and_add(
|
511
|
+
grpc_channel* channel) {
|
512
|
+
bg_watched_channel* watched = gpr_zalloc(sizeof(bg_watched_channel));
|
513
513
|
|
514
514
|
watched->channel = channel;
|
515
515
|
watched->next = bg_watched_channel_list_head;
|
@@ -520,8 +520,8 @@ static bg_watched_channel *bg_watched_channel_list_create_and_add(
|
|
520
520
|
|
521
521
|
/* Needs to be called under global_connection_polling_mu */
|
522
522
|
static void bg_watched_channel_list_free_and_remove(
|
523
|
-
bg_watched_channel
|
524
|
-
bg_watched_channel
|
523
|
+
bg_watched_channel* target) {
|
524
|
+
bg_watched_channel* bg = NULL;
|
525
525
|
|
526
526
|
GPR_ASSERT(bg_watched_channel_list_lookup(target));
|
527
527
|
GPR_ASSERT(target->channel_destroyed && target->refcount == 0);
|
@@ -544,10 +544,10 @@ static void bg_watched_channel_list_free_and_remove(
|
|
544
544
|
|
545
545
|
/* Initialize a grpc_rb_channel's "protected grpc_channel" and try to push
|
546
546
|
* it onto the background thread for constant watches. */
|
547
|
-
static void
|
548
|
-
void
|
549
|
-
channel_init_try_register_stack
|
550
|
-
(channel_init_try_register_stack
|
547
|
+
static void* channel_init_try_register_connection_polling_without_gil(
|
548
|
+
void* arg) {
|
549
|
+
channel_init_try_register_stack* stack =
|
550
|
+
(channel_init_try_register_stack*)arg;
|
551
551
|
|
552
552
|
gpr_mu_lock(&global_connection_polling_mu);
|
553
553
|
stack->wrapper->bg_wrapped =
|
@@ -559,9 +559,9 @@ static void *channel_init_try_register_connection_polling_without_gil(
|
|
559
559
|
|
560
560
|
// Needs to be called under global_connection_poolling_mu
|
561
561
|
static void grpc_rb_channel_try_register_connection_polling(
|
562
|
-
bg_watched_channel
|
562
|
+
bg_watched_channel* bg) {
|
563
563
|
grpc_connectivity_state conn_state;
|
564
|
-
watch_state_op
|
564
|
+
watch_state_op* op = NULL;
|
565
565
|
|
566
566
|
GPR_ASSERT(channel_polling_thread_started || abort_channel_polling);
|
567
567
|
|
@@ -597,10 +597,10 @@ static void grpc_rb_channel_try_register_connection_polling(
|
|
597
597
|
// indicates process shutdown.
|
598
598
|
// In the worst case, this stops polling channel connectivity
|
599
599
|
// early and falls back to current behavior.
|
600
|
-
static void
|
600
|
+
static void* run_poll_channels_loop_no_gil(void* arg) {
|
601
601
|
grpc_event event;
|
602
|
-
watch_state_op
|
603
|
-
bg_watched_channel
|
602
|
+
watch_state_op* op = NULL;
|
603
|
+
bg_watched_channel* bg = NULL;
|
604
604
|
(void)arg;
|
605
605
|
gpr_log(GPR_DEBUG, "GRPC_RUBY: run_poll_channels_loop_no_gil - begin");
|
606
606
|
|
@@ -618,15 +618,15 @@ static void *run_poll_channels_loop_no_gil(void *arg) {
|
|
618
618
|
}
|
619
619
|
gpr_mu_lock(&global_connection_polling_mu);
|
620
620
|
if (event.type == GRPC_OP_COMPLETE) {
|
621
|
-
op = (watch_state_op
|
621
|
+
op = (watch_state_op*)event.tag;
|
622
622
|
if (op->op_type == CONTINUOUS_WATCH) {
|
623
|
-
bg = (bg_watched_channel
|
623
|
+
bg = (bg_watched_channel*)op->op.continuous_watch_callback_args.bg;
|
624
624
|
bg->refcount--;
|
625
625
|
grpc_rb_channel_try_register_connection_polling(bg);
|
626
626
|
gpr_free(op);
|
627
627
|
} else if (op->op_type == WATCH_STATE_API) {
|
628
628
|
grpc_rb_channel_watch_connection_state_op_complete(
|
629
|
-
(watch_state_op
|
629
|
+
(watch_state_op*)event.tag, event.success);
|
630
630
|
} else {
|
631
631
|
GPR_ASSERT(0);
|
632
632
|
}
|
@@ -641,8 +641,8 @@ static void *run_poll_channels_loop_no_gil(void *arg) {
|
|
641
641
|
}
|
642
642
|
|
643
643
|
// Notify the channel polling loop to cleanup and shutdown.
|
644
|
-
static void run_poll_channels_loop_unblocking_func(void
|
645
|
-
bg_watched_channel
|
644
|
+
static void run_poll_channels_loop_unblocking_func(void* arg) {
|
645
|
+
bg_watched_channel* bg = NULL;
|
646
646
|
(void)arg;
|
647
647
|
|
648
648
|
gpr_mu_lock(&global_connection_polling_mu);
|
@@ -686,8 +686,8 @@ static VALUE run_poll_channels_loop(VALUE arg) {
|
|
686
686
|
return Qnil;
|
687
687
|
}
|
688
688
|
|
689
|
-
static void
|
690
|
-
int
|
689
|
+
static void* wait_until_channel_polling_thread_started_no_gil(void* arg) {
|
690
|
+
int* stop_waiting = (int*)arg;
|
691
691
|
gpr_log(GPR_DEBUG, "GRPC_RUBY: wait for channel polling thread to start");
|
692
692
|
gpr_mu_lock(&global_connection_polling_mu);
|
693
693
|
while (!channel_polling_thread_started && !abort_channel_polling &&
|
@@ -701,8 +701,8 @@ static void *wait_until_channel_polling_thread_started_no_gil(void *arg) {
|
|
701
701
|
}
|
702
702
|
|
703
703
|
static void wait_until_channel_polling_thread_started_unblocking_func(
|
704
|
-
void
|
705
|
-
int
|
704
|
+
void* arg) {
|
705
|
+
int* stop_waiting = (int*)arg;
|
706
706
|
gpr_mu_lock(&global_connection_polling_mu);
|
707
707
|
gpr_log(GPR_DEBUG,
|
708
708
|
"GRPC_RUBY: interrupt wait for channel polling thread to start");
|
@@ -711,7 +711,7 @@ static void wait_until_channel_polling_thread_started_unblocking_func(
|
|
711
711
|
gpr_mu_unlock(&global_connection_polling_mu);
|
712
712
|
}
|
713
713
|
|
714
|
-
static void
|
714
|
+
static void* set_abort_channel_polling_without_gil(void* arg) {
|
715
715
|
(void)arg;
|
716
716
|
gpr_mu_lock(&global_connection_polling_mu);
|
717
717
|
abort_channel_polling = 1;
|
@@ -822,8 +822,8 @@ void Init_grpc_channel() {
|
|
822
822
|
}
|
823
823
|
|
824
824
|
/* Gets the wrapped channel from the ruby wrapper */
|
825
|
-
grpc_channel
|
826
|
-
grpc_rb_channel
|
825
|
+
grpc_channel* grpc_rb_get_wrapped_channel(VALUE v) {
|
826
|
+
grpc_rb_channel* wrapper = NULL;
|
827
827
|
TypedData_Get_Struct(v, grpc_rb_channel, &grpc_channel_data_type, wrapper);
|
828
828
|
return wrapper->bg_wrapped->channel;
|
829
829
|
}
|