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
@@ -28,22 +28,26 @@
|
|
28
28
|
/** Mask of all valid internal flags. */
|
29
29
|
#define GRPC_WRITE_INTERNAL_USED_MASK (GRPC_WRITE_INTERNAL_COMPRESS)
|
30
30
|
|
31
|
+
#ifdef __cplusplus
|
32
|
+
extern "C" {
|
33
|
+
#endif
|
34
|
+
|
31
35
|
typedef struct grpc_byte_stream grpc_byte_stream;
|
32
36
|
|
33
37
|
typedef struct {
|
34
|
-
bool (*next)(grpc_exec_ctx
|
35
|
-
size_t max_size_hint, grpc_closure
|
36
|
-
grpc_error
|
37
|
-
grpc_slice
|
38
|
-
void (*shutdown)(grpc_exec_ctx
|
39
|
-
grpc_error
|
40
|
-
void (*destroy)(grpc_exec_ctx
|
38
|
+
bool (*next)(grpc_exec_ctx* exec_ctx, grpc_byte_stream* byte_stream,
|
39
|
+
size_t max_size_hint, grpc_closure* on_complete);
|
40
|
+
grpc_error* (*pull)(grpc_exec_ctx* exec_ctx, grpc_byte_stream* byte_stream,
|
41
|
+
grpc_slice* slice);
|
42
|
+
void (*shutdown)(grpc_exec_ctx* exec_ctx, grpc_byte_stream* byte_stream,
|
43
|
+
grpc_error* error);
|
44
|
+
void (*destroy)(grpc_exec_ctx* exec_ctx, grpc_byte_stream* byte_stream);
|
41
45
|
} grpc_byte_stream_vtable;
|
42
46
|
|
43
47
|
struct grpc_byte_stream {
|
44
48
|
uint32_t length;
|
45
49
|
uint32_t flags;
|
46
|
-
const grpc_byte_stream_vtable
|
50
|
+
const grpc_byte_stream_vtable* vtable;
|
47
51
|
};
|
48
52
|
|
49
53
|
// Returns true if the bytes are available immediately (in which case
|
@@ -52,18 +56,18 @@ struct grpc_byte_stream {
|
|
52
56
|
//
|
53
57
|
// max_size_hint can be set as a hint as to the maximum number
|
54
58
|
// of bytes that would be acceptable to read.
|
55
|
-
bool grpc_byte_stream_next(grpc_exec_ctx
|
56
|
-
grpc_byte_stream
|
57
|
-
grpc_closure
|
59
|
+
bool grpc_byte_stream_next(grpc_exec_ctx* exec_ctx,
|
60
|
+
grpc_byte_stream* byte_stream, size_t max_size_hint,
|
61
|
+
grpc_closure* on_complete);
|
58
62
|
|
59
63
|
// Returns the next slice in the byte stream when it is ready (indicated by
|
60
64
|
// either grpc_byte_stream_next returning true or on_complete passed to
|
61
65
|
// grpc_byte_stream_next is called).
|
62
66
|
//
|
63
67
|
// Once a slice is returned into *slice, it is owned by the caller.
|
64
|
-
grpc_error
|
65
|
-
grpc_byte_stream
|
66
|
-
grpc_slice
|
68
|
+
grpc_error* grpc_byte_stream_pull(grpc_exec_ctx* exec_ctx,
|
69
|
+
grpc_byte_stream* byte_stream,
|
70
|
+
grpc_slice* slice);
|
67
71
|
|
68
72
|
// Shuts down the byte stream.
|
69
73
|
//
|
@@ -72,12 +76,12 @@ grpc_error *grpc_byte_stream_pull(grpc_exec_ctx *exec_ctx,
|
|
72
76
|
//
|
73
77
|
// The next call to grpc_byte_stream_pull() (if any) will return the error
|
74
78
|
// passed to grpc_byte_stream_shutdown().
|
75
|
-
void grpc_byte_stream_shutdown(grpc_exec_ctx
|
76
|
-
grpc_byte_stream
|
77
|
-
grpc_error
|
79
|
+
void grpc_byte_stream_shutdown(grpc_exec_ctx* exec_ctx,
|
80
|
+
grpc_byte_stream* byte_stream,
|
81
|
+
grpc_error* error);
|
78
82
|
|
79
|
-
void grpc_byte_stream_destroy(grpc_exec_ctx
|
80
|
-
grpc_byte_stream
|
83
|
+
void grpc_byte_stream_destroy(grpc_exec_ctx* exec_ctx,
|
84
|
+
grpc_byte_stream* byte_stream);
|
81
85
|
|
82
86
|
// grpc_slice_buffer_stream
|
83
87
|
//
|
@@ -87,13 +91,13 @@ void grpc_byte_stream_destroy(grpc_exec_ctx *exec_ctx,
|
|
87
91
|
|
88
92
|
typedef struct grpc_slice_buffer_stream {
|
89
93
|
grpc_byte_stream base;
|
90
|
-
grpc_slice_buffer
|
94
|
+
grpc_slice_buffer* backing_buffer;
|
91
95
|
size_t cursor;
|
92
|
-
grpc_error
|
96
|
+
grpc_error* shutdown_error;
|
93
97
|
} grpc_slice_buffer_stream;
|
94
98
|
|
95
|
-
void grpc_slice_buffer_stream_init(grpc_slice_buffer_stream
|
96
|
-
grpc_slice_buffer
|
99
|
+
void grpc_slice_buffer_stream_init(grpc_slice_buffer_stream* stream,
|
100
|
+
grpc_slice_buffer* slice_buffer,
|
97
101
|
uint32_t flags);
|
98
102
|
|
99
103
|
// grpc_caching_byte_stream
|
@@ -110,29 +114,33 @@ void grpc_slice_buffer_stream_init(grpc_slice_buffer_stream *stream,
|
|
110
114
|
// grpc_byte_stream_cache at the same time.
|
111
115
|
|
112
116
|
typedef struct {
|
113
|
-
grpc_byte_stream
|
117
|
+
grpc_byte_stream* underlying_stream;
|
114
118
|
grpc_slice_buffer cache_buffer;
|
115
119
|
} grpc_byte_stream_cache;
|
116
120
|
|
117
121
|
// Takes ownership of underlying_stream.
|
118
|
-
void grpc_byte_stream_cache_init(grpc_byte_stream_cache
|
119
|
-
grpc_byte_stream
|
122
|
+
void grpc_byte_stream_cache_init(grpc_byte_stream_cache* cache,
|
123
|
+
grpc_byte_stream* underlying_stream);
|
120
124
|
|
121
125
|
// Must not be called while still in use by a grpc_caching_byte_stream.
|
122
|
-
void grpc_byte_stream_cache_destroy(grpc_exec_ctx
|
123
|
-
grpc_byte_stream_cache
|
126
|
+
void grpc_byte_stream_cache_destroy(grpc_exec_ctx* exec_ctx,
|
127
|
+
grpc_byte_stream_cache* cache);
|
124
128
|
|
125
129
|
typedef struct {
|
126
130
|
grpc_byte_stream base;
|
127
|
-
grpc_byte_stream_cache
|
131
|
+
grpc_byte_stream_cache* cache;
|
128
132
|
size_t cursor;
|
129
|
-
grpc_error
|
133
|
+
grpc_error* shutdown_error;
|
130
134
|
} grpc_caching_byte_stream;
|
131
135
|
|
132
|
-
void grpc_caching_byte_stream_init(grpc_caching_byte_stream
|
133
|
-
grpc_byte_stream_cache
|
136
|
+
void grpc_caching_byte_stream_init(grpc_caching_byte_stream* stream,
|
137
|
+
grpc_byte_stream_cache* cache);
|
134
138
|
|
135
139
|
// Resets the byte stream to the start of the underlying stream.
|
136
|
-
void grpc_caching_byte_stream_reset(grpc_caching_byte_stream
|
140
|
+
void grpc_caching_byte_stream_reset(grpc_caching_byte_stream* stream);
|
141
|
+
|
142
|
+
#ifdef __cplusplus
|
143
|
+
}
|
144
|
+
#endif
|
137
145
|
|
138
146
|
#endif /* GRPC_CORE_LIB_TRANSPORT_BYTE_STREAM_H */
|
@@ -24,13 +24,10 @@
|
|
24
24
|
#include <grpc/support/log.h>
|
25
25
|
#include <grpc/support/string_util.h>
|
26
26
|
|
27
|
-
|
28
|
-
GRPC_TRACER_INITIALIZER(false, "connectivity_state");
|
27
|
+
grpc_core::TraceFlag grpc_connectivity_state_trace(false, "connectivity_state");
|
29
28
|
|
30
|
-
const char
|
29
|
+
const char* grpc_connectivity_state_name(grpc_connectivity_state state) {
|
31
30
|
switch (state) {
|
32
|
-
case GRPC_CHANNEL_INIT:
|
33
|
-
return "INIT";
|
34
31
|
case GRPC_CHANNEL_IDLE:
|
35
32
|
return "IDLE";
|
36
33
|
case GRPC_CHANNEL_CONNECTING:
|
@@ -45,19 +42,19 @@ const char *grpc_connectivity_state_name(grpc_connectivity_state state) {
|
|
45
42
|
GPR_UNREACHABLE_CODE(return "UNKNOWN");
|
46
43
|
}
|
47
44
|
|
48
|
-
void grpc_connectivity_state_init(grpc_connectivity_state_tracker
|
45
|
+
void grpc_connectivity_state_init(grpc_connectivity_state_tracker* tracker,
|
49
46
|
grpc_connectivity_state init_state,
|
50
|
-
const char
|
47
|
+
const char* name) {
|
51
48
|
gpr_atm_no_barrier_store(&tracker->current_state_atm, init_state);
|
52
49
|
tracker->current_error = GRPC_ERROR_NONE;
|
53
|
-
tracker->watchers =
|
50
|
+
tracker->watchers = nullptr;
|
54
51
|
tracker->name = gpr_strdup(name);
|
55
52
|
}
|
56
53
|
|
57
|
-
void grpc_connectivity_state_destroy(grpc_exec_ctx
|
58
|
-
grpc_connectivity_state_tracker
|
59
|
-
grpc_error
|
60
|
-
grpc_connectivity_state_watcher
|
54
|
+
void grpc_connectivity_state_destroy(grpc_exec_ctx* exec_ctx,
|
55
|
+
grpc_connectivity_state_tracker* tracker) {
|
56
|
+
grpc_error* error;
|
57
|
+
grpc_connectivity_state_watcher* w;
|
61
58
|
while ((w = tracker->watchers)) {
|
62
59
|
tracker->watchers = w->next;
|
63
60
|
|
@@ -76,11 +73,11 @@ void grpc_connectivity_state_destroy(grpc_exec_ctx *exec_ctx,
|
|
76
73
|
}
|
77
74
|
|
78
75
|
grpc_connectivity_state grpc_connectivity_state_check(
|
79
|
-
grpc_connectivity_state_tracker
|
76
|
+
grpc_connectivity_state_tracker* tracker) {
|
80
77
|
grpc_connectivity_state cur =
|
81
78
|
(grpc_connectivity_state)gpr_atm_no_barrier_load(
|
82
79
|
&tracker->current_state_atm);
|
83
|
-
if (
|
80
|
+
if (grpc_connectivity_state_trace.enabled()) {
|
84
81
|
gpr_log(GPR_DEBUG, "CONWATCH: %p %s: get %s", tracker, tracker->name,
|
85
82
|
grpc_connectivity_state_name(cur));
|
86
83
|
}
|
@@ -88,33 +85,33 @@ grpc_connectivity_state grpc_connectivity_state_check(
|
|
88
85
|
}
|
89
86
|
|
90
87
|
grpc_connectivity_state grpc_connectivity_state_get(
|
91
|
-
grpc_connectivity_state_tracker
|
88
|
+
grpc_connectivity_state_tracker* tracker, grpc_error** error) {
|
92
89
|
grpc_connectivity_state cur =
|
93
90
|
(grpc_connectivity_state)gpr_atm_no_barrier_load(
|
94
91
|
&tracker->current_state_atm);
|
95
|
-
if (
|
92
|
+
if (grpc_connectivity_state_trace.enabled()) {
|
96
93
|
gpr_log(GPR_DEBUG, "CONWATCH: %p %s: get %s", tracker, tracker->name,
|
97
94
|
grpc_connectivity_state_name(cur));
|
98
95
|
}
|
99
|
-
if (error !=
|
96
|
+
if (error != nullptr) {
|
100
97
|
*error = GRPC_ERROR_REF(tracker->current_error);
|
101
98
|
}
|
102
99
|
return cur;
|
103
100
|
}
|
104
101
|
|
105
102
|
bool grpc_connectivity_state_has_watchers(
|
106
|
-
grpc_connectivity_state_tracker
|
107
|
-
return connectivity_state->watchers !=
|
103
|
+
grpc_connectivity_state_tracker* connectivity_state) {
|
104
|
+
return connectivity_state->watchers != nullptr;
|
108
105
|
}
|
109
106
|
|
110
107
|
bool grpc_connectivity_state_notify_on_state_change(
|
111
|
-
grpc_exec_ctx
|
112
|
-
grpc_connectivity_state
|
108
|
+
grpc_exec_ctx* exec_ctx, grpc_connectivity_state_tracker* tracker,
|
109
|
+
grpc_connectivity_state* current, grpc_closure* notify) {
|
113
110
|
grpc_connectivity_state cur =
|
114
111
|
(grpc_connectivity_state)gpr_atm_no_barrier_load(
|
115
112
|
&tracker->current_state_atm);
|
116
|
-
if (
|
117
|
-
if (current ==
|
113
|
+
if (grpc_connectivity_state_trace.enabled()) {
|
114
|
+
if (current == nullptr) {
|
118
115
|
gpr_log(GPR_DEBUG, "CONWATCH: %p %s: unsubscribe notify=%p", tracker,
|
119
116
|
tracker->name, notify);
|
120
117
|
} else {
|
@@ -123,17 +120,17 @@ bool grpc_connectivity_state_notify_on_state_change(
|
|
123
120
|
grpc_connectivity_state_name(cur), notify);
|
124
121
|
}
|
125
122
|
}
|
126
|
-
if (current ==
|
127
|
-
grpc_connectivity_state_watcher
|
128
|
-
if (w !=
|
123
|
+
if (current == nullptr) {
|
124
|
+
grpc_connectivity_state_watcher* w = tracker->watchers;
|
125
|
+
if (w != nullptr && w->notify == notify) {
|
129
126
|
GRPC_CLOSURE_SCHED(exec_ctx, notify, GRPC_ERROR_CANCELLED);
|
130
127
|
tracker->watchers = w->next;
|
131
128
|
gpr_free(w);
|
132
129
|
return false;
|
133
130
|
}
|
134
|
-
while (w !=
|
135
|
-
grpc_connectivity_state_watcher
|
136
|
-
if (rm_candidate !=
|
131
|
+
while (w != nullptr) {
|
132
|
+
grpc_connectivity_state_watcher* rm_candidate = w->next;
|
133
|
+
if (rm_candidate != nullptr && rm_candidate->notify == notify) {
|
137
134
|
GRPC_CLOSURE_SCHED(exec_ctx, notify, GRPC_ERROR_CANCELLED);
|
138
135
|
w->next = w->next->next;
|
139
136
|
gpr_free(rm_candidate);
|
@@ -148,8 +145,8 @@ bool grpc_connectivity_state_notify_on_state_change(
|
|
148
145
|
GRPC_CLOSURE_SCHED(exec_ctx, notify,
|
149
146
|
GRPC_ERROR_REF(tracker->current_error));
|
150
147
|
} else {
|
151
|
-
grpc_connectivity_state_watcher
|
152
|
-
(grpc_connectivity_state_watcher
|
148
|
+
grpc_connectivity_state_watcher* w =
|
149
|
+
(grpc_connectivity_state_watcher*)gpr_malloc(sizeof(*w));
|
153
150
|
w->current = current;
|
154
151
|
w->notify = notify;
|
155
152
|
w->next = tracker->watchers;
|
@@ -159,22 +156,21 @@ bool grpc_connectivity_state_notify_on_state_change(
|
|
159
156
|
}
|
160
157
|
}
|
161
158
|
|
162
|
-
void grpc_connectivity_state_set(grpc_exec_ctx
|
163
|
-
grpc_connectivity_state_tracker
|
159
|
+
void grpc_connectivity_state_set(grpc_exec_ctx* exec_ctx,
|
160
|
+
grpc_connectivity_state_tracker* tracker,
|
164
161
|
grpc_connectivity_state state,
|
165
|
-
grpc_error
|
162
|
+
grpc_error* error, const char* reason) {
|
166
163
|
grpc_connectivity_state cur =
|
167
164
|
(grpc_connectivity_state)gpr_atm_no_barrier_load(
|
168
165
|
&tracker->current_state_atm);
|
169
|
-
grpc_connectivity_state_watcher
|
170
|
-
if (
|
171
|
-
const char
|
166
|
+
grpc_connectivity_state_watcher* w;
|
167
|
+
if (grpc_connectivity_state_trace.enabled()) {
|
168
|
+
const char* error_string = grpc_error_string(error);
|
172
169
|
gpr_log(GPR_DEBUG, "SET: %p %s: %s --> %s [%s] error=%p %s", tracker,
|
173
170
|
tracker->name, grpc_connectivity_state_name(cur),
|
174
171
|
grpc_connectivity_state_name(state), reason, error, error_string);
|
175
172
|
}
|
176
173
|
switch (state) {
|
177
|
-
case GRPC_CHANNEL_INIT:
|
178
174
|
case GRPC_CHANNEL_CONNECTING:
|
179
175
|
case GRPC_CHANNEL_IDLE:
|
180
176
|
case GRPC_CHANNEL_READY:
|
@@ -192,10 +188,10 @@ void grpc_connectivity_state_set(grpc_exec_ctx *exec_ctx,
|
|
192
188
|
}
|
193
189
|
GPR_ASSERT(cur != GRPC_CHANNEL_SHUTDOWN);
|
194
190
|
gpr_atm_no_barrier_store(&tracker->current_state_atm, state);
|
195
|
-
while ((w = tracker->watchers) !=
|
191
|
+
while ((w = tracker->watchers) != nullptr) {
|
196
192
|
*w->current = state;
|
197
193
|
tracker->watchers = w->next;
|
198
|
-
if (
|
194
|
+
if (grpc_connectivity_state_trace.enabled()) {
|
199
195
|
gpr_log(GPR_DEBUG, "NOTIFY: %p %s: %p", tracker, tracker->name,
|
200
196
|
w->notify);
|
201
197
|
}
|
@@ -23,65 +23,73 @@
|
|
23
23
|
#include "src/core/lib/debug/trace.h"
|
24
24
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
25
25
|
|
26
|
+
#ifdef __cplusplus
|
27
|
+
extern "C" {
|
28
|
+
#endif
|
29
|
+
|
26
30
|
typedef struct grpc_connectivity_state_watcher {
|
27
31
|
/** we keep watchers in a linked list */
|
28
|
-
struct grpc_connectivity_state_watcher
|
32
|
+
struct grpc_connectivity_state_watcher* next;
|
29
33
|
/** closure to notify on change */
|
30
|
-
grpc_closure
|
34
|
+
grpc_closure* notify;
|
31
35
|
/** the current state as believed by the watcher */
|
32
|
-
grpc_connectivity_state
|
36
|
+
grpc_connectivity_state* current;
|
33
37
|
} grpc_connectivity_state_watcher;
|
34
38
|
|
35
39
|
typedef struct {
|
36
40
|
/** current grpc_connectivity_state */
|
37
41
|
gpr_atm current_state_atm;
|
38
42
|
/** error associated with state */
|
39
|
-
grpc_error
|
43
|
+
grpc_error* current_error;
|
40
44
|
/** all our watchers */
|
41
|
-
grpc_connectivity_state_watcher
|
45
|
+
grpc_connectivity_state_watcher* watchers;
|
42
46
|
/** a name to help debugging */
|
43
|
-
char
|
47
|
+
char* name;
|
44
48
|
} grpc_connectivity_state_tracker;
|
45
49
|
|
46
|
-
extern
|
50
|
+
extern grpc_core::TraceFlag grpc_connectivity_state_trace;
|
47
51
|
|
48
52
|
/** enum --> string conversion */
|
49
|
-
const char
|
53
|
+
const char* grpc_connectivity_state_name(grpc_connectivity_state state);
|
50
54
|
|
51
|
-
void grpc_connectivity_state_init(grpc_connectivity_state_tracker
|
55
|
+
void grpc_connectivity_state_init(grpc_connectivity_state_tracker* tracker,
|
52
56
|
grpc_connectivity_state init_state,
|
53
|
-
const char
|
54
|
-
void grpc_connectivity_state_destroy(grpc_exec_ctx
|
55
|
-
grpc_connectivity_state_tracker
|
57
|
+
const char* name);
|
58
|
+
void grpc_connectivity_state_destroy(grpc_exec_ctx* exec_ctx,
|
59
|
+
grpc_connectivity_state_tracker* tracker);
|
56
60
|
|
57
61
|
/** Set connectivity state; not thread safe; access must be serialized with an
|
58
62
|
* external lock */
|
59
|
-
void grpc_connectivity_state_set(grpc_exec_ctx
|
60
|
-
grpc_connectivity_state_tracker
|
63
|
+
void grpc_connectivity_state_set(grpc_exec_ctx* exec_ctx,
|
64
|
+
grpc_connectivity_state_tracker* tracker,
|
61
65
|
grpc_connectivity_state state,
|
62
|
-
grpc_error
|
63
|
-
const char
|
66
|
+
grpc_error* associated_error,
|
67
|
+
const char* reason);
|
64
68
|
|
65
69
|
/** Return true if this connectivity state has watchers.
|
66
70
|
Access must be serialized with an external lock. */
|
67
71
|
bool grpc_connectivity_state_has_watchers(
|
68
|
-
grpc_connectivity_state_tracker
|
72
|
+
grpc_connectivity_state_tracker* tracker);
|
69
73
|
|
70
74
|
/** Return the last seen connectivity state. No need to synchronize access. */
|
71
75
|
grpc_connectivity_state grpc_connectivity_state_check(
|
72
|
-
grpc_connectivity_state_tracker
|
76
|
+
grpc_connectivity_state_tracker* tracker);
|
73
77
|
|
74
78
|
/** Return the last seen connectivity state, and the associated error.
|
75
79
|
Access must be serialized with an external lock. */
|
76
80
|
grpc_connectivity_state grpc_connectivity_state_get(
|
77
|
-
grpc_connectivity_state_tracker
|
81
|
+
grpc_connectivity_state_tracker* tracker, grpc_error** error);
|
78
82
|
|
79
83
|
/** Return 1 if the channel should start connecting, 0 otherwise.
|
80
84
|
If current==NULL cancel notify if it is already queued (success==0 in that
|
81
85
|
case).
|
82
86
|
Access must be serialized with an external lock. */
|
83
87
|
bool grpc_connectivity_state_notify_on_state_change(
|
84
|
-
grpc_exec_ctx
|
85
|
-
grpc_connectivity_state
|
88
|
+
grpc_exec_ctx* exec_ctx, grpc_connectivity_state_tracker* tracker,
|
89
|
+
grpc_connectivity_state* current, grpc_closure* notify);
|
90
|
+
|
91
|
+
#ifdef __cplusplus
|
92
|
+
}
|
93
|
+
#endif
|
86
94
|
|
87
95
|
#endif /* GRPC_CORE_LIB_TRANSPORT_CONNECTIVITY_STATE_H */
|
@@ -18,35 +18,37 @@
|
|
18
18
|
|
19
19
|
#include "src/core/lib/transport/error_utils.h"
|
20
20
|
|
21
|
+
#include <grpc/support/string_util.h>
|
21
22
|
#include "src/core/lib/iomgr/error_internal.h"
|
22
23
|
#include "src/core/lib/transport/status_conversion.h"
|
23
24
|
|
24
|
-
static grpc_error
|
25
|
+
static grpc_error* recursively_find_error_with_field(grpc_error* error,
|
25
26
|
grpc_error_ints which) {
|
26
27
|
// If the error itself has a status code, return it.
|
27
|
-
if (grpc_error_get_int(error, which,
|
28
|
+
if (grpc_error_get_int(error, which, nullptr)) {
|
28
29
|
return error;
|
29
30
|
}
|
30
|
-
if (grpc_error_is_special(error)) return
|
31
|
+
if (grpc_error_is_special(error)) return nullptr;
|
31
32
|
// Otherwise, search through its children.
|
32
33
|
uint8_t slot = error->first_err;
|
33
34
|
while (slot != UINT8_MAX) {
|
34
|
-
grpc_linked_error
|
35
|
-
grpc_error
|
35
|
+
grpc_linked_error* lerr = (grpc_linked_error*)(error->arena + slot);
|
36
|
+
grpc_error* result = recursively_find_error_with_field(lerr->err, which);
|
36
37
|
if (result) return result;
|
37
38
|
slot = lerr->next;
|
38
39
|
}
|
39
|
-
return
|
40
|
+
return nullptr;
|
40
41
|
}
|
41
42
|
|
42
|
-
void grpc_error_get_status(
|
43
|
-
|
44
|
-
grpc_http2_error_code
|
43
|
+
void grpc_error_get_status(grpc_exec_ctx* exec_ctx, grpc_error* error,
|
44
|
+
grpc_millis deadline, grpc_status_code* code,
|
45
|
+
grpc_slice* slice, grpc_http2_error_code* http_error,
|
46
|
+
const char** error_string) {
|
45
47
|
// Start with the parent error and recurse through the tree of children
|
46
48
|
// until we find the first one that has a status code.
|
47
|
-
grpc_error
|
49
|
+
grpc_error* found_error =
|
48
50
|
recursively_find_error_with_field(error, GRPC_ERROR_INT_GRPC_STATUS);
|
49
|
-
if (found_error ==
|
51
|
+
if (found_error == nullptr) {
|
50
52
|
/// If no grpc-status exists, retry through the tree to find a http2 error
|
51
53
|
/// code
|
52
54
|
found_error =
|
@@ -55,7 +57,7 @@ void grpc_error_get_status(grpc_error *error, gpr_timespec deadline,
|
|
55
57
|
|
56
58
|
// If we found an error with a status code above, use that; otherwise,
|
57
59
|
// fall back to using the parent error.
|
58
|
-
if (found_error ==
|
60
|
+
if (found_error == nullptr) found_error = error;
|
59
61
|
|
60
62
|
grpc_status_code status = GRPC_STATUS_UNKNOWN;
|
61
63
|
intptr_t integer;
|
@@ -63,12 +65,16 @@ void grpc_error_get_status(grpc_error *error, gpr_timespec deadline,
|
|
63
65
|
status = (grpc_status_code)integer;
|
64
66
|
} else if (grpc_error_get_int(found_error, GRPC_ERROR_INT_HTTP2_ERROR,
|
65
67
|
&integer)) {
|
66
|
-
status = grpc_http2_error_to_grpc_status(
|
67
|
-
|
68
|
+
status = grpc_http2_error_to_grpc_status(
|
69
|
+
exec_ctx, (grpc_http2_error_code)integer, deadline);
|
68
70
|
}
|
69
|
-
if (code !=
|
71
|
+
if (code != nullptr) *code = status;
|
70
72
|
|
71
|
-
if (
|
73
|
+
if (error_string != NULL && status != GRPC_STATUS_OK) {
|
74
|
+
*error_string = gpr_strdup(grpc_error_string(error));
|
75
|
+
}
|
76
|
+
|
77
|
+
if (http_error != nullptr) {
|
72
78
|
if (grpc_error_get_int(found_error, GRPC_ERROR_INT_HTTP2_ERROR, &integer)) {
|
73
79
|
*http_error = (grpc_http2_error_code)integer;
|
74
80
|
} else if (grpc_error_get_int(found_error, GRPC_ERROR_INT_GRPC_STATUS,
|
@@ -82,24 +88,22 @@ void grpc_error_get_status(grpc_error *error, gpr_timespec deadline,
|
|
82
88
|
|
83
89
|
// If the error has a status message, use it. Otherwise, fall back to
|
84
90
|
// the error description.
|
85
|
-
if (slice !=
|
91
|
+
if (slice != nullptr) {
|
86
92
|
if (!grpc_error_get_str(found_error, GRPC_ERROR_STR_GRPC_MESSAGE, slice)) {
|
87
93
|
if (!grpc_error_get_str(found_error, GRPC_ERROR_STR_DESCRIPTION, slice)) {
|
88
94
|
*slice = grpc_slice_from_static_string("unknown error");
|
89
95
|
}
|
90
96
|
}
|
91
97
|
}
|
92
|
-
|
93
|
-
if (found_error == NULL) found_error = error;
|
94
98
|
}
|
95
99
|
|
96
|
-
bool grpc_error_has_clear_grpc_status(grpc_error
|
97
|
-
if (grpc_error_get_int(error, GRPC_ERROR_INT_GRPC_STATUS,
|
100
|
+
bool grpc_error_has_clear_grpc_status(grpc_error* error) {
|
101
|
+
if (grpc_error_get_int(error, GRPC_ERROR_INT_GRPC_STATUS, nullptr)) {
|
98
102
|
return true;
|
99
103
|
}
|
100
104
|
uint8_t slot = error->first_err;
|
101
105
|
while (slot != UINT8_MAX) {
|
102
|
-
grpc_linked_error
|
106
|
+
grpc_linked_error* lerr = (grpc_linked_error*)(error->arena + slot);
|
103
107
|
if (grpc_error_has_clear_grpc_status(lerr->err)) {
|
104
108
|
return true;
|
105
109
|
}
|