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
@@ -35,7 +35,7 @@
|
|
35
35
|
grpc_channel_credentials. */
|
36
36
|
static VALUE grpc_rb_cChannelCredentials = Qnil;
|
37
37
|
|
38
|
-
static char
|
38
|
+
static char* pem_root_certs = NULL;
|
39
39
|
|
40
40
|
/* grpc_rb_channel_credentials wraps a grpc_channel_credentials. It provides a
|
41
41
|
* mark object that is used to hold references to any objects used to create
|
@@ -45,16 +45,16 @@ typedef struct grpc_rb_channel_credentials {
|
|
45
45
|
VALUE mark;
|
46
46
|
|
47
47
|
/* The actual credentials */
|
48
|
-
grpc_channel_credentials
|
48
|
+
grpc_channel_credentials* wrapped;
|
49
49
|
} grpc_rb_channel_credentials;
|
50
50
|
|
51
51
|
/* Destroys the credentials instances. */
|
52
|
-
static void grpc_rb_channel_credentials_free(void
|
53
|
-
grpc_rb_channel_credentials
|
52
|
+
static void grpc_rb_channel_credentials_free(void* p) {
|
53
|
+
grpc_rb_channel_credentials* wrapper = NULL;
|
54
54
|
if (p == NULL) {
|
55
55
|
return;
|
56
56
|
};
|
57
|
-
wrapper = (grpc_rb_channel_credentials
|
57
|
+
wrapper = (grpc_rb_channel_credentials*)p;
|
58
58
|
grpc_channel_credentials_release(wrapper->wrapped);
|
59
59
|
wrapper->wrapped = NULL;
|
60
60
|
|
@@ -62,12 +62,12 @@ static void grpc_rb_channel_credentials_free(void *p) {
|
|
62
62
|
}
|
63
63
|
|
64
64
|
/* Protects the mark object from GC */
|
65
|
-
static void grpc_rb_channel_credentials_mark(void
|
66
|
-
grpc_rb_channel_credentials
|
65
|
+
static void grpc_rb_channel_credentials_mark(void* p) {
|
66
|
+
grpc_rb_channel_credentials* wrapper = NULL;
|
67
67
|
if (p == NULL) {
|
68
68
|
return;
|
69
69
|
}
|
70
|
-
wrapper = (grpc_rb_channel_credentials
|
70
|
+
wrapper = (grpc_rb_channel_credentials*)p;
|
71
71
|
|
72
72
|
if (wrapper->mark != Qnil) {
|
73
73
|
rb_gc_mark(wrapper->mark);
|
@@ -90,7 +90,7 @@ static rb_data_type_t grpc_rb_channel_credentials_data_type = {
|
|
90
90
|
/* Allocates ChannelCredential instances.
|
91
91
|
Provides safe initial defaults for the instance fields. */
|
92
92
|
static VALUE grpc_rb_channel_credentials_alloc(VALUE cls) {
|
93
|
-
grpc_rb_channel_credentials
|
93
|
+
grpc_rb_channel_credentials* wrapper = ALLOC(grpc_rb_channel_credentials);
|
94
94
|
wrapper->wrapped = NULL;
|
95
95
|
wrapper->mark = Qnil;
|
96
96
|
return TypedData_Wrap_Struct(cls, &grpc_rb_channel_credentials_data_type,
|
@@ -100,10 +100,10 @@ static VALUE grpc_rb_channel_credentials_alloc(VALUE cls) {
|
|
100
100
|
/* Creates a wrapping object for a given channel credentials. This should only
|
101
101
|
* be called with grpc_channel_credentials objects that are not already
|
102
102
|
* associated with any Ruby object. */
|
103
|
-
VALUE grpc_rb_wrap_channel_credentials(grpc_channel_credentials
|
103
|
+
VALUE grpc_rb_wrap_channel_credentials(grpc_channel_credentials* c,
|
104
104
|
VALUE mark) {
|
105
105
|
VALUE rb_wrapper;
|
106
|
-
grpc_rb_channel_credentials
|
106
|
+
grpc_rb_channel_credentials* wrapper;
|
107
107
|
if (c == NULL) {
|
108
108
|
return Qnil;
|
109
109
|
}
|
@@ -136,15 +136,15 @@ static ID id_pem_cert_chain;
|
|
136
136
|
pem_private_key: (optional) PEM encoding of the client's private key
|
137
137
|
pem_cert_chain: (optional) PEM encoding of the client's cert chain
|
138
138
|
Initializes Credential instances. */
|
139
|
-
static VALUE grpc_rb_channel_credentials_init(int argc, VALUE
|
139
|
+
static VALUE grpc_rb_channel_credentials_init(int argc, VALUE* argv,
|
140
140
|
VALUE self) {
|
141
141
|
VALUE pem_root_certs = Qnil;
|
142
142
|
VALUE pem_private_key = Qnil;
|
143
143
|
VALUE pem_cert_chain = Qnil;
|
144
|
-
grpc_rb_channel_credentials
|
145
|
-
grpc_channel_credentials
|
144
|
+
grpc_rb_channel_credentials* wrapper = NULL;
|
145
|
+
grpc_channel_credentials* creds = NULL;
|
146
146
|
grpc_ssl_pem_key_cert_pair key_cert_pair;
|
147
|
-
const char
|
147
|
+
const char* pem_root_certs_cstr = NULL;
|
148
148
|
MEMZERO(&key_cert_pair, grpc_ssl_pem_key_cert_pair, 1);
|
149
149
|
|
150
150
|
grpc_ruby_once_init();
|
@@ -180,11 +180,11 @@ static VALUE grpc_rb_channel_credentials_init(int argc, VALUE *argv,
|
|
180
180
|
return self;
|
181
181
|
}
|
182
182
|
|
183
|
-
static VALUE grpc_rb_channel_credentials_compose(int argc, VALUE
|
183
|
+
static VALUE grpc_rb_channel_credentials_compose(int argc, VALUE* argv,
|
184
184
|
VALUE self) {
|
185
|
-
grpc_channel_credentials
|
186
|
-
grpc_call_credentials
|
187
|
-
grpc_channel_credentials
|
185
|
+
grpc_channel_credentials* creds;
|
186
|
+
grpc_call_credentials* other;
|
187
|
+
grpc_channel_credentials* prev = NULL;
|
188
188
|
VALUE mark;
|
189
189
|
if (argc == 0) {
|
190
190
|
return self;
|
@@ -210,7 +210,7 @@ static VALUE grpc_rb_channel_credentials_compose(int argc, VALUE *argv,
|
|
210
210
|
}
|
211
211
|
|
212
212
|
static grpc_ssl_roots_override_result get_ssl_roots_override(
|
213
|
-
char
|
213
|
+
char** pem_root_certs_ptr) {
|
214
214
|
*pem_root_certs_ptr = pem_root_certs;
|
215
215
|
if (pem_root_certs == NULL) {
|
216
216
|
return GRPC_SSL_ROOTS_OVERRIDE_FAIL;
|
@@ -220,7 +220,7 @@ static grpc_ssl_roots_override_result get_ssl_roots_override(
|
|
220
220
|
}
|
221
221
|
|
222
222
|
static VALUE grpc_rb_set_default_roots_pem(VALUE self, VALUE roots) {
|
223
|
-
char
|
223
|
+
char* roots_ptr = StringValueCStr(roots);
|
224
224
|
size_t length = strlen(roots_ptr);
|
225
225
|
(void)self;
|
226
226
|
pem_root_certs = gpr_malloc((length + 1) * sizeof(char));
|
@@ -255,8 +255,8 @@ void Init_grpc_channel_credentials() {
|
|
255
255
|
}
|
256
256
|
|
257
257
|
/* Gets the wrapped grpc_channel_credentials from the ruby wrapper */
|
258
|
-
grpc_channel_credentials
|
259
|
-
grpc_rb_channel_credentials
|
258
|
+
grpc_channel_credentials* grpc_rb_get_wrapped_channel_credentials(VALUE v) {
|
259
|
+
grpc_rb_channel_credentials* wrapper = NULL;
|
260
260
|
TypedData_Get_Struct(v, grpc_rb_channel_credentials,
|
261
261
|
&grpc_rb_channel_credentials_data_type, wrapper);
|
262
262
|
return wrapper->wrapped;
|
@@ -30,16 +30,16 @@
|
|
30
30
|
|
31
31
|
/* Used to allow grpc_completion_queue_next call to release the GIL */
|
32
32
|
typedef struct next_call_stack {
|
33
|
-
grpc_completion_queue
|
33
|
+
grpc_completion_queue* cq;
|
34
34
|
grpc_event event;
|
35
35
|
gpr_timespec timeout;
|
36
|
-
void
|
36
|
+
void* tag;
|
37
37
|
volatile int interrupted;
|
38
38
|
} next_call_stack;
|
39
39
|
|
40
40
|
/* Calls grpc_completion_queue_pluck without holding the ruby GIL */
|
41
|
-
static void
|
42
|
-
next_call_stack
|
41
|
+
static void* grpc_rb_completion_queue_pluck_no_gil(void* param) {
|
42
|
+
next_call_stack* const next_call = (next_call_stack*)param;
|
43
43
|
gpr_timespec increment = gpr_time_from_millis(20, GPR_TIMESPAN);
|
44
44
|
gpr_timespec deadline;
|
45
45
|
do {
|
@@ -55,7 +55,7 @@ static void *grpc_rb_completion_queue_pluck_no_gil(void *param) {
|
|
55
55
|
}
|
56
56
|
|
57
57
|
/* Helper function to free a completion queue. */
|
58
|
-
void grpc_rb_completion_queue_destroy(grpc_completion_queue
|
58
|
+
void grpc_rb_completion_queue_destroy(grpc_completion_queue* cq) {
|
59
59
|
/* Every function that adds an event to a queue also synchronously plucks
|
60
60
|
that event from the queue, and holds a reference to the Ruby object that
|
61
61
|
holds the queue, so we only get to this point if all of those functions
|
@@ -64,15 +64,15 @@ void grpc_rb_completion_queue_destroy(grpc_completion_queue *cq) {
|
|
64
64
|
grpc_completion_queue_destroy(cq);
|
65
65
|
}
|
66
66
|
|
67
|
-
static void unblock_func(void
|
68
|
-
next_call_stack
|
67
|
+
static void unblock_func(void* param) {
|
68
|
+
next_call_stack* const next_call = (next_call_stack*)param;
|
69
69
|
next_call->interrupted = 1;
|
70
70
|
}
|
71
71
|
|
72
72
|
/* Does the same thing as grpc_completion_queue_pluck, while properly releasing
|
73
73
|
the GVL and handling interrupts */
|
74
|
-
grpc_event rb_completion_queue_pluck(grpc_completion_queue
|
75
|
-
gpr_timespec deadline, void
|
74
|
+
grpc_event rb_completion_queue_pluck(grpc_completion_queue* queue, void* tag,
|
75
|
+
gpr_timespec deadline, void* reserved) {
|
76
76
|
next_call_stack next_call;
|
77
77
|
MEMZERO(&next_call, next_call_stack, 1);
|
78
78
|
next_call.cq = queue;
|
@@ -91,8 +91,8 @@ grpc_event rb_completion_queue_pluck(grpc_completion_queue *queue, void *tag,
|
|
91
91
|
do {
|
92
92
|
next_call.interrupted = 0;
|
93
93
|
rb_thread_call_without_gvl(grpc_rb_completion_queue_pluck_no_gil,
|
94
|
-
(void
|
95
|
-
(void
|
94
|
+
(void*)&next_call, unblock_func,
|
95
|
+
(void*)&next_call);
|
96
96
|
/* If an interrupt prevented pluck from returning useful information, then
|
97
97
|
any plucks that did complete must have timed out */
|
98
98
|
} while (next_call.interrupted && next_call.event.type == GRPC_QUEUE_TIMEOUT);
|
@@ -23,14 +23,14 @@
|
|
23
23
|
|
24
24
|
#include <grpc/grpc.h>
|
25
25
|
|
26
|
-
void grpc_rb_completion_queue_destroy(grpc_completion_queue
|
26
|
+
void grpc_rb_completion_queue_destroy(grpc_completion_queue* cq);
|
27
27
|
|
28
28
|
/**
|
29
29
|
* Makes the implementation of CompletionQueue#pluck available in other files
|
30
30
|
*
|
31
31
|
* This avoids having code that holds the GIL repeated at multiple sites.
|
32
32
|
*/
|
33
|
-
grpc_event rb_completion_queue_pluck(grpc_completion_queue
|
34
|
-
gpr_timespec deadline, void
|
33
|
+
grpc_event rb_completion_queue_pluck(grpc_completion_queue* queue, void* tag,
|
34
|
+
gpr_timespec deadline, void* reserved);
|
35
35
|
|
36
36
|
#endif /* GRPC_RB_COMPLETION_QUEUE_H_ */
|
@@ -47,17 +47,17 @@ static VALUE id_compress_level_high = Qnil;
|
|
47
47
|
* Ruby objects and don't have a mark for GC. */
|
48
48
|
typedef struct grpc_rb_compression_options {
|
49
49
|
/* The actual compression options that's being wrapped */
|
50
|
-
grpc_compression_options
|
50
|
+
grpc_compression_options* wrapped;
|
51
51
|
} grpc_rb_compression_options;
|
52
52
|
|
53
53
|
/* Destroys the compression options instances and free the
|
54
54
|
* wrapped grpc compression options. */
|
55
|
-
static void grpc_rb_compression_options_free(void
|
56
|
-
grpc_rb_compression_options
|
55
|
+
static void grpc_rb_compression_options_free(void* p) {
|
56
|
+
grpc_rb_compression_options* wrapper = NULL;
|
57
57
|
if (p == NULL) {
|
58
58
|
return;
|
59
59
|
};
|
60
|
-
wrapper = (grpc_rb_compression_options
|
60
|
+
wrapper = (grpc_rb_compression_options*)p;
|
61
61
|
|
62
62
|
if (wrapper->wrapped != NULL) {
|
63
63
|
gpr_free(wrapper->wrapped);
|
@@ -85,7 +85,7 @@ static rb_data_type_t grpc_rb_compression_options_data_type = {
|
|
85
85
|
Allocate the wrapped grpc compression options and
|
86
86
|
initialize it here too. */
|
87
87
|
static VALUE grpc_rb_compression_options_alloc(VALUE cls) {
|
88
|
-
grpc_rb_compression_options
|
88
|
+
grpc_rb_compression_options* wrapper = NULL;
|
89
89
|
|
90
90
|
grpc_ruby_once_init();
|
91
91
|
|
@@ -103,7 +103,7 @@ static VALUE grpc_rb_compression_options_alloc(VALUE cls) {
|
|
103
103
|
VALUE grpc_rb_compression_options_disable_compression_algorithm_internal(
|
104
104
|
VALUE self, VALUE algorithm_to_disable) {
|
105
105
|
grpc_compression_algorithm compression_algorithm = 0;
|
106
|
-
grpc_rb_compression_options
|
106
|
+
grpc_rb_compression_options* wrapper = NULL;
|
107
107
|
|
108
108
|
TypedData_Get_Struct(self, grpc_rb_compression_options,
|
109
109
|
&grpc_rb_compression_options_data_type, wrapper);
|
@@ -145,7 +145,7 @@ grpc_compression_level grpc_rb_compression_options_level_name_to_value_internal(
|
|
145
145
|
/* Sets the default compression level, given the name of a compression level.
|
146
146
|
* Throws an error if no algorithm matched. */
|
147
147
|
void grpc_rb_compression_options_set_default_level(
|
148
|
-
grpc_compression_options
|
148
|
+
grpc_compression_options* options, VALUE new_level_name) {
|
149
149
|
options->default_level.level =
|
150
150
|
grpc_rb_compression_options_level_name_to_value_internal(new_level_name);
|
151
151
|
options->default_level.is_set = 1;
|
@@ -156,10 +156,10 @@ void grpc_rb_compression_options_set_default_level(
|
|
156
156
|
* algorithm_value is an out parameter.
|
157
157
|
* Raises an error if the name of the algorithm passed in is invalid. */
|
158
158
|
void grpc_rb_compression_options_algorithm_name_to_value_internal(
|
159
|
-
grpc_compression_algorithm
|
159
|
+
grpc_compression_algorithm* algorithm_value, VALUE algorithm_name) {
|
160
160
|
grpc_slice name_slice;
|
161
161
|
VALUE algorithm_name_as_string = Qnil;
|
162
|
-
char
|
162
|
+
char* tmp_str = NULL;
|
163
163
|
|
164
164
|
Check_Type(algorithm_name, T_SYMBOL);
|
165
165
|
|
@@ -186,7 +186,7 @@ void grpc_rb_compression_options_algorithm_name_to_value_internal(
|
|
186
186
|
* readable algorithm name. */
|
187
187
|
VALUE grpc_rb_compression_options_is_algorithm_enabled(VALUE self,
|
188
188
|
VALUE algorithm_name) {
|
189
|
-
grpc_rb_compression_options
|
189
|
+
grpc_rb_compression_options* wrapper = NULL;
|
190
190
|
grpc_compression_algorithm internal_algorithm_value;
|
191
191
|
|
192
192
|
TypedData_Get_Struct(self, grpc_rb_compression_options,
|
@@ -204,7 +204,7 @@ VALUE grpc_rb_compression_options_is_algorithm_enabled(VALUE self,
|
|
204
204
|
/* Sets the default algorithm to the name of the algorithm passed in.
|
205
205
|
* Raises an error if the name is not a valid compression algorithm name. */
|
206
206
|
void grpc_rb_compression_options_set_default_algorithm(
|
207
|
-
grpc_compression_options
|
207
|
+
grpc_compression_options* options, VALUE algorithm_name) {
|
208
208
|
grpc_rb_compression_options_algorithm_name_to_value_internal(
|
209
209
|
&options->default_algorithm.algorithm, algorithm_name);
|
210
210
|
options->default_algorithm.is_set = 1;
|
@@ -214,7 +214,7 @@ void grpc_rb_compression_options_set_default_algorithm(
|
|
214
214
|
* algorithm.
|
215
215
|
* Fails if the algorithm name is invalid. */
|
216
216
|
void grpc_rb_compression_options_disable_algorithm(
|
217
|
-
grpc_compression_options
|
217
|
+
grpc_compression_options* compression_options, VALUE algorithm_name) {
|
218
218
|
grpc_compression_algorithm internal_algorithm_value;
|
219
219
|
|
220
220
|
grpc_rb_compression_options_algorithm_name_to_value_internal(
|
@@ -226,8 +226,8 @@ void grpc_rb_compression_options_disable_algorithm(
|
|
226
226
|
/* Provides a ruby hash of GRPC core channel argument key-values that
|
227
227
|
* correspond to the compression settings on this instance. */
|
228
228
|
VALUE grpc_rb_compression_options_to_hash(VALUE self) {
|
229
|
-
grpc_rb_compression_options
|
230
|
-
grpc_compression_options
|
229
|
+
grpc_rb_compression_options* wrapper = NULL;
|
230
|
+
grpc_compression_options* compression_options = NULL;
|
231
231
|
VALUE channel_arg_hash = rb_hash_new();
|
232
232
|
VALUE key = Qnil;
|
233
233
|
VALUE value = Qnil;
|
@@ -284,7 +284,7 @@ VALUE grpc_rb_compression_options_level_value_to_name_internal(
|
|
284
284
|
* Fails if the enum value is invalid. */
|
285
285
|
VALUE grpc_rb_compression_options_algorithm_value_to_name_internal(
|
286
286
|
grpc_compression_algorithm internal_value) {
|
287
|
-
char
|
287
|
+
char* algorithm_name = NULL;
|
288
288
|
|
289
289
|
if (!grpc_compression_algorithm_name(internal_value, &algorithm_name)) {
|
290
290
|
rb_raise(rb_eArgError, "Failed to convert algorithm value to name");
|
@@ -297,7 +297,7 @@ VALUE grpc_rb_compression_options_algorithm_value_to_name_internal(
|
|
297
297
|
* Returns nil if no algorithm has been set. */
|
298
298
|
VALUE grpc_rb_compression_options_get_default_algorithm(VALUE self) {
|
299
299
|
grpc_compression_algorithm internal_value;
|
300
|
-
grpc_rb_compression_options
|
300
|
+
grpc_rb_compression_options* wrapper = NULL;
|
301
301
|
|
302
302
|
TypedData_Get_Struct(self, grpc_rb_compression_options,
|
303
303
|
&grpc_rb_compression_options_data_type, wrapper);
|
@@ -316,7 +316,7 @@ VALUE grpc_rb_compression_options_get_default_algorithm(VALUE self) {
|
|
316
316
|
* A nil return value means that it hasn't been set. */
|
317
317
|
VALUE grpc_rb_compression_options_get_default_level(VALUE self) {
|
318
318
|
grpc_compression_level internal_value;
|
319
|
-
grpc_rb_compression_options
|
319
|
+
grpc_rb_compression_options* wrapper = NULL;
|
320
320
|
|
321
321
|
TypedData_Get_Struct(self, grpc_rb_compression_options,
|
322
322
|
&grpc_rb_compression_options_data_type, wrapper);
|
@@ -335,7 +335,7 @@ VALUE grpc_rb_compression_options_get_default_level(VALUE self) {
|
|
335
335
|
VALUE grpc_rb_compression_options_get_disabled_algorithms(VALUE self) {
|
336
336
|
VALUE disabled_algorithms = rb_ary_new();
|
337
337
|
grpc_compression_algorithm internal_value;
|
338
|
-
grpc_rb_compression_options
|
338
|
+
grpc_rb_compression_options* wrapper = NULL;
|
339
339
|
|
340
340
|
TypedData_Get_Struct(self, grpc_rb_compression_options,
|
341
341
|
&grpc_rb_compression_options_data_type, wrapper);
|
@@ -363,8 +363,8 @@ VALUE grpc_rb_compression_options_get_disabled_algorithms(VALUE self) {
|
|
363
363
|
* channel_arg hash = Hash.new[...]
|
364
364
|
* channel_arg_hash_with_compression_options = channel_arg_hash.merge(options)
|
365
365
|
*/
|
366
|
-
VALUE grpc_rb_compression_options_init(int argc, VALUE
|
367
|
-
grpc_rb_compression_options
|
366
|
+
VALUE grpc_rb_compression_options_init(int argc, VALUE* argv, VALUE self) {
|
367
|
+
grpc_rb_compression_options* wrapper = NULL;
|
368
368
|
VALUE default_algorithm = Qnil;
|
369
369
|
VALUE default_level = Qnil;
|
370
370
|
VALUE disabled_algorithms = Qnil;
|
@@ -31,15 +31,15 @@
|
|
31
31
|
|
32
32
|
typedef struct grpc_rb_event {
|
33
33
|
// callback will be called with argument while holding the GVL
|
34
|
-
void (*callback)(void
|
35
|
-
void
|
34
|
+
void (*callback)(void*);
|
35
|
+
void* argument;
|
36
36
|
|
37
|
-
struct grpc_rb_event
|
37
|
+
struct grpc_rb_event* next;
|
38
38
|
} grpc_rb_event;
|
39
39
|
|
40
40
|
typedef struct grpc_rb_event_queue {
|
41
|
-
grpc_rb_event
|
42
|
-
grpc_rb_event
|
41
|
+
grpc_rb_event* head;
|
42
|
+
grpc_rb_event* tail;
|
43
43
|
|
44
44
|
gpr_mu mu;
|
45
45
|
gpr_cv cv;
|
@@ -50,8 +50,8 @@ typedef struct grpc_rb_event_queue {
|
|
50
50
|
|
51
51
|
static grpc_rb_event_queue event_queue;
|
52
52
|
|
53
|
-
void grpc_rb_event_queue_enqueue(void (*callback)(void
|
54
|
-
grpc_rb_event
|
53
|
+
void grpc_rb_event_queue_enqueue(void (*callback)(void*), void* argument) {
|
54
|
+
grpc_rb_event* event = gpr_malloc(sizeof(grpc_rb_event));
|
55
55
|
event->callback = callback;
|
56
56
|
event->argument = argument;
|
57
57
|
event->next = NULL;
|
@@ -66,8 +66,8 @@ void grpc_rb_event_queue_enqueue(void (*callback)(void *), void *argument) {
|
|
66
66
|
gpr_mu_unlock(&event_queue.mu);
|
67
67
|
}
|
68
68
|
|
69
|
-
static grpc_rb_event
|
70
|
-
grpc_rb_event
|
69
|
+
static grpc_rb_event* grpc_rb_event_queue_dequeue() {
|
70
|
+
grpc_rb_event* event;
|
71
71
|
if (event_queue.head == NULL) {
|
72
72
|
event = NULL;
|
73
73
|
} else {
|
@@ -86,8 +86,8 @@ static void grpc_rb_event_queue_destroy() {
|
|
86
86
|
gpr_cv_destroy(&event_queue.cv);
|
87
87
|
}
|
88
88
|
|
89
|
-
static void
|
90
|
-
grpc_rb_event
|
89
|
+
static void* grpc_rb_wait_for_event_no_gil(void* param) {
|
90
|
+
grpc_rb_event* event = NULL;
|
91
91
|
(void)param;
|
92
92
|
gpr_mu_lock(&event_queue.mu);
|
93
93
|
while (!event_queue.abort) {
|
@@ -102,7 +102,7 @@ static void *grpc_rb_wait_for_event_no_gil(void *param) {
|
|
102
102
|
return NULL;
|
103
103
|
}
|
104
104
|
|
105
|
-
static void grpc_rb_event_unblocking_func(void
|
105
|
+
static void grpc_rb_event_unblocking_func(void* arg) {
|
106
106
|
(void)arg;
|
107
107
|
gpr_mu_lock(&event_queue.mu);
|
108
108
|
event_queue.abort = true;
|
@@ -113,10 +113,10 @@ static void grpc_rb_event_unblocking_func(void *arg) {
|
|
113
113
|
/* This is the implementation of the thread that handles auth metadata plugin
|
114
114
|
* events */
|
115
115
|
static VALUE grpc_rb_event_thread(VALUE arg) {
|
116
|
-
grpc_rb_event
|
116
|
+
grpc_rb_event* event;
|
117
117
|
(void)arg;
|
118
118
|
while (true) {
|
119
|
-
event = (grpc_rb_event
|
119
|
+
event = (grpc_rb_event*)rb_thread_call_without_gvl(
|
120
120
|
grpc_rb_wait_for_event_no_gil, NULL, grpc_rb_event_unblocking_func,
|
121
121
|
NULL);
|
122
122
|
if (event == NULL) {
|
data/src/ruby/ext/grpc/rb_grpc.c
CHANGED
@@ -90,9 +90,9 @@ static ID id_tv_nsec;
|
|
90
90
|
*/
|
91
91
|
gpr_timespec grpc_rb_time_timeval(VALUE time, int interval) {
|
92
92
|
gpr_timespec t;
|
93
|
-
gpr_timespec
|
94
|
-
const char
|
95
|
-
const char
|
93
|
+
gpr_timespec* time_const;
|
94
|
+
const char* tstr = interval ? "time interval" : "time";
|
95
|
+
const char* want = " want <secs from epoch>|<Time>|<GRPC::TimeConst.*>";
|
96
96
|
|
97
97
|
t.clock_type = GPR_CLOCK_REALTIME;
|
98
98
|
switch (TYPE(time)) {
|
@@ -201,7 +201,7 @@ static ID id_to_s;
|
|
201
201
|
|
202
202
|
/* Converts a wrapped time constant to a standard time. */
|
203
203
|
static VALUE grpc_rb_time_val_to_time(VALUE self) {
|
204
|
-
gpr_timespec
|
204
|
+
gpr_timespec* time_const = NULL;
|
205
205
|
gpr_timespec real_time;
|
206
206
|
TypedData_Get_Struct(self, gpr_timespec, &grpc_rb_timespec_data_type,
|
207
207
|
time_const);
|
@@ -236,15 +236,15 @@ static void Init_grpc_time_consts() {
|
|
236
236
|
rb_define_const(
|
237
237
|
grpc_rb_mTimeConsts, "ZERO",
|
238
238
|
TypedData_Wrap_Struct(grpc_rb_cTimeVal, &grpc_rb_timespec_data_type,
|
239
|
-
(void
|
239
|
+
(void*)&zero_realtime));
|
240
240
|
rb_define_const(
|
241
241
|
grpc_rb_mTimeConsts, "INFINITE_FUTURE",
|
242
242
|
TypedData_Wrap_Struct(grpc_rb_cTimeVal, &grpc_rb_timespec_data_type,
|
243
|
-
(void
|
243
|
+
(void*)&inf_future_realtime));
|
244
244
|
rb_define_const(
|
245
245
|
grpc_rb_mTimeConsts, "INFINITE_PAST",
|
246
246
|
TypedData_Wrap_Struct(grpc_rb_cTimeVal, &grpc_rb_timespec_data_type,
|
247
|
-
(void
|
247
|
+
(void*)&inf_past_realtime));
|
248
248
|
rb_define_method(grpc_rb_cTimeVal, "to_time", grpc_rb_time_val_to_time, 0);
|
249
249
|
rb_define_method(grpc_rb_cTimeVal, "inspect", grpc_rb_time_val_inspect, 0);
|
250
250
|
rb_define_method(grpc_rb_cTimeVal, "to_s", grpc_rb_time_val_to_s, 0);
|
@@ -315,8 +315,8 @@ void Init_grpc_c() {
|
|
315
315
|
return;
|
316
316
|
}
|
317
317
|
|
318
|
-
bg_thread_init_rb_mu = rb_mutex_new();
|
319
318
|
rb_global_variable(&bg_thread_init_rb_mu);
|
319
|
+
bg_thread_init_rb_mu = rb_mutex_new();
|
320
320
|
|
321
321
|
grpc_rb_mGRPC = rb_define_module("GRPC");
|
322
322
|
grpc_rb_mGrpcCore = rb_define_module_under(grpc_rb_mGRPC, "Core");
|