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
@@ -0,0 +1,142 @@
|
|
1
|
+
/*
|
2
|
+
*
|
3
|
+
* Copyright 2015 gRPC authors.
|
4
|
+
*
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
* you may not use this file except in compliance with the License.
|
7
|
+
* You may obtain a copy of the License at
|
8
|
+
*
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
*
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
* See the License for the specific language governing permissions and
|
15
|
+
* limitations under the License.
|
16
|
+
*
|
17
|
+
*/
|
18
|
+
|
19
|
+
#include "src/core/lib/debug/trace.h"
|
20
|
+
|
21
|
+
#include <string.h>
|
22
|
+
|
23
|
+
#include <grpc/grpc.h>
|
24
|
+
#include <grpc/support/alloc.h>
|
25
|
+
#include <grpc/support/log.h>
|
26
|
+
#include "src/core/lib/support/env.h"
|
27
|
+
|
28
|
+
int grpc_tracer_set_enabled(const char* name, int enabled);
|
29
|
+
|
30
|
+
namespace grpc_core {
|
31
|
+
|
32
|
+
TraceFlag* TraceFlagList::root_tracer_ = nullptr;
|
33
|
+
|
34
|
+
bool TraceFlagList::Set(const char* name, bool enabled) {
|
35
|
+
TraceFlag* t;
|
36
|
+
if (0 == strcmp(name, "all")) {
|
37
|
+
for (t = root_tracer_; t; t = t->next_tracer_) {
|
38
|
+
t->set_enabled(enabled);
|
39
|
+
}
|
40
|
+
} else if (0 == strcmp(name, "list_tracers")) {
|
41
|
+
LogAllTracers();
|
42
|
+
} else if (0 == strcmp(name, "refcount")) {
|
43
|
+
for (t = root_tracer_; t; t = t->next_tracer_) {
|
44
|
+
if (strstr(t->name_, "refcount") != nullptr) {
|
45
|
+
t->set_enabled(enabled);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
} else {
|
49
|
+
bool found = false;
|
50
|
+
for (t = root_tracer_; t; t = t->next_tracer_) {
|
51
|
+
if (0 == strcmp(name, t->name_)) {
|
52
|
+
t->set_enabled(enabled);
|
53
|
+
found = true;
|
54
|
+
}
|
55
|
+
}
|
56
|
+
if (!found) {
|
57
|
+
gpr_log(GPR_ERROR, "Unknown trace var: '%s'", name);
|
58
|
+
return false; /* early return */
|
59
|
+
}
|
60
|
+
}
|
61
|
+
return true;
|
62
|
+
}
|
63
|
+
|
64
|
+
void TraceFlagList::Add(TraceFlag* flag) {
|
65
|
+
flag->next_tracer_ = root_tracer_;
|
66
|
+
root_tracer_ = flag;
|
67
|
+
}
|
68
|
+
|
69
|
+
void TraceFlagList::LogAllTracers() {
|
70
|
+
gpr_log(GPR_DEBUG, "available tracers:");
|
71
|
+
TraceFlag* t;
|
72
|
+
for (t = root_tracer_; t != nullptr; t = t->next_tracer_) {
|
73
|
+
gpr_log(GPR_DEBUG, "\t%s", t->name_);
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
// Flags register themselves on the list during construction
|
78
|
+
TraceFlag::TraceFlag(bool default_enabled, const char* name) : name_(name) {
|
79
|
+
set_enabled(default_enabled);
|
80
|
+
TraceFlagList::Add(this);
|
81
|
+
}
|
82
|
+
|
83
|
+
} // namespace grpc_core
|
84
|
+
|
85
|
+
static void add(const char* beg, const char* end, char*** ss, size_t* ns) {
|
86
|
+
size_t n = *ns;
|
87
|
+
size_t np = n + 1;
|
88
|
+
char* s;
|
89
|
+
size_t len;
|
90
|
+
GPR_ASSERT(end >= beg);
|
91
|
+
len = (size_t)(end - beg);
|
92
|
+
s = (char*)gpr_malloc(len + 1);
|
93
|
+
memcpy(s, beg, len);
|
94
|
+
s[len] = 0;
|
95
|
+
*ss = (char**)gpr_realloc(*ss, sizeof(char**) * np);
|
96
|
+
(*ss)[n] = s;
|
97
|
+
*ns = np;
|
98
|
+
}
|
99
|
+
|
100
|
+
static void split(const char* s, char*** ss, size_t* ns) {
|
101
|
+
const char* c = strchr(s, ',');
|
102
|
+
if (c == nullptr) {
|
103
|
+
add(s, s + strlen(s), ss, ns);
|
104
|
+
} else {
|
105
|
+
add(s, c, ss, ns);
|
106
|
+
split(c + 1, ss, ns);
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
static void parse(const char* s) {
|
111
|
+
char** strings = nullptr;
|
112
|
+
size_t nstrings = 0;
|
113
|
+
size_t i;
|
114
|
+
split(s, &strings, &nstrings);
|
115
|
+
|
116
|
+
for (i = 0; i < nstrings; i++) {
|
117
|
+
if (strings[i][0] == '-') {
|
118
|
+
grpc_core::TraceFlagList::Set(strings[i] + 1, false);
|
119
|
+
} else {
|
120
|
+
grpc_core::TraceFlagList::Set(strings[i], true);
|
121
|
+
}
|
122
|
+
}
|
123
|
+
|
124
|
+
for (i = 0; i < nstrings; i++) {
|
125
|
+
gpr_free(strings[i]);
|
126
|
+
}
|
127
|
+
gpr_free(strings);
|
128
|
+
}
|
129
|
+
|
130
|
+
void grpc_tracer_init(const char* env_var) {
|
131
|
+
char* e = gpr_getenv(env_var);
|
132
|
+
if (e != nullptr) {
|
133
|
+
parse(e);
|
134
|
+
gpr_free(e);
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
138
|
+
void grpc_tracer_shutdown(void) {}
|
139
|
+
|
140
|
+
int grpc_tracer_set_enabled(const char* name, int enabled) {
|
141
|
+
return grpc_core::TraceFlagList::Set(name, enabled != 0);
|
142
|
+
}
|
data/src/core/lib/debug/trace.h
CHANGED
@@ -23,33 +23,93 @@
|
|
23
23
|
#include <grpc/support/port_platform.h>
|
24
24
|
#include <stdbool.h>
|
25
25
|
|
26
|
+
#ifdef __cplusplus
|
27
|
+
extern "C" {
|
28
|
+
#endif
|
29
|
+
|
30
|
+
void grpc_tracer_init(const char* env_var_name);
|
31
|
+
void grpc_tracer_shutdown(void);
|
32
|
+
|
33
|
+
#ifdef __cplusplus
|
34
|
+
}
|
35
|
+
#endif
|
36
|
+
|
26
37
|
#if defined(__has_feature)
|
27
38
|
#if __has_feature(thread_sanitizer)
|
28
39
|
#define GRPC_THREADSAFE_TRACER
|
29
40
|
#endif
|
30
41
|
#endif
|
31
42
|
|
32
|
-
|
43
|
+
#ifdef __cplusplus
|
44
|
+
|
45
|
+
namespace grpc_core {
|
46
|
+
|
47
|
+
class TraceFlag;
|
48
|
+
class TraceFlagList {
|
49
|
+
public:
|
50
|
+
static bool Set(const char* name, bool enabled);
|
51
|
+
static void Add(TraceFlag* flag);
|
52
|
+
|
53
|
+
private:
|
54
|
+
static void LogAllTracers();
|
55
|
+
static TraceFlag* root_tracer_;
|
56
|
+
};
|
57
|
+
|
58
|
+
namespace testing {
|
59
|
+
void grpc_tracer_enable_flag(grpc_core::TraceFlag* flag);
|
60
|
+
}
|
61
|
+
|
62
|
+
class TraceFlag {
|
63
|
+
public:
|
64
|
+
TraceFlag(bool default_enabled, const char* name);
|
65
|
+
~TraceFlag() {}
|
66
|
+
|
67
|
+
const char* name() const { return name_; }
|
68
|
+
|
69
|
+
bool enabled() {
|
70
|
+
#ifdef GRPC_THREADSAFE_TRACER
|
71
|
+
return gpr_atm_no_barrier_load(&value_) != 0;
|
72
|
+
#else
|
73
|
+
return value_;
|
74
|
+
#endif
|
75
|
+
}
|
76
|
+
|
77
|
+
private:
|
78
|
+
friend void grpc_core::testing::grpc_tracer_enable_flag(TraceFlag* flag);
|
79
|
+
friend class TraceFlagList;
|
80
|
+
|
81
|
+
void set_enabled(bool enabled) {
|
33
82
|
#ifdef GRPC_THREADSAFE_TRACER
|
34
|
-
|
83
|
+
gpr_atm_no_barrier_store(&value_, enabled);
|
35
84
|
#else
|
36
|
-
|
85
|
+
value_ = enabled;
|
37
86
|
#endif
|
38
|
-
|
39
|
-
} grpc_tracer_flag;
|
87
|
+
}
|
40
88
|
|
89
|
+
TraceFlag* next_tracer_;
|
90
|
+
const char* const name_;
|
41
91
|
#ifdef GRPC_THREADSAFE_TRACER
|
42
|
-
|
43
|
-
#define GRPC_TRACER_INITIALIZER(on, name) \
|
44
|
-
{ (gpr_atm)(on), (name) }
|
92
|
+
gpr_atm value_;
|
45
93
|
#else
|
46
|
-
|
47
|
-
#define GRPC_TRACER_INITIALIZER(on, name) \
|
48
|
-
{ (on), (name) }
|
94
|
+
bool value_;
|
49
95
|
#endif
|
96
|
+
};
|
50
97
|
|
51
|
-
|
52
|
-
|
53
|
-
|
98
|
+
#ifndef NDEBUG
|
99
|
+
typedef TraceFlag DebugOnlyTraceFlag;
|
100
|
+
#else
|
101
|
+
class DebugOnlyTraceFlag {
|
102
|
+
public:
|
103
|
+
DebugOnlyTraceFlag(bool default_enabled, const char* name) {}
|
104
|
+
bool enabled() { return false; }
|
105
|
+
|
106
|
+
private:
|
107
|
+
void set_enabled(bool enabled) {}
|
108
|
+
};
|
109
|
+
#endif
|
110
|
+
|
111
|
+
} // namespace grpc_core
|
112
|
+
|
113
|
+
#endif // __cplusplus
|
54
114
|
|
55
115
|
#endif /* GRPC_CORE_LIB_DEBUG_TRACE_H */
|
@@ -28,8 +28,8 @@
|
|
28
28
|
#include <grpc/support/useful.h>
|
29
29
|
#include "src/core/lib/support/string.h"
|
30
30
|
|
31
|
-
static void fill_common_header(const grpc_httpcli_request
|
32
|
-
gpr_strvec
|
31
|
+
static void fill_common_header(const grpc_httpcli_request* request,
|
32
|
+
gpr_strvec* buf, bool connection_close) {
|
33
33
|
size_t i;
|
34
34
|
gpr_strvec_add(buf, gpr_strdup(request->http.path));
|
35
35
|
gpr_strvec_add(buf, gpr_strdup(" HTTP/1.0\r\n"));
|
@@ -51,9 +51,9 @@ static void fill_common_header(const grpc_httpcli_request *request,
|
|
51
51
|
}
|
52
52
|
|
53
53
|
grpc_slice grpc_httpcli_format_get_request(
|
54
|
-
const grpc_httpcli_request
|
54
|
+
const grpc_httpcli_request* request) {
|
55
55
|
gpr_strvec out;
|
56
|
-
char
|
56
|
+
char* flat;
|
57
57
|
size_t flat_len;
|
58
58
|
|
59
59
|
gpr_strvec_init(&out);
|
@@ -67,11 +67,11 @@ grpc_slice grpc_httpcli_format_get_request(
|
|
67
67
|
return grpc_slice_new(flat, flat_len, gpr_free);
|
68
68
|
}
|
69
69
|
|
70
|
-
grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request
|
71
|
-
const char
|
70
|
+
grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request* request,
|
71
|
+
const char* body_bytes,
|
72
72
|
size_t body_size) {
|
73
73
|
gpr_strvec out;
|
74
|
-
char
|
74
|
+
char* tmp;
|
75
75
|
size_t out_len;
|
76
76
|
size_t i;
|
77
77
|
|
@@ -98,7 +98,7 @@ grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request *request,
|
|
98
98
|
gpr_strvec_destroy(&out);
|
99
99
|
|
100
100
|
if (body_bytes) {
|
101
|
-
tmp = (char
|
101
|
+
tmp = (char*)gpr_realloc(tmp, out_len + body_size);
|
102
102
|
memcpy(tmp + out_len, body_bytes, body_size);
|
103
103
|
out_len += body_size;
|
104
104
|
}
|
@@ -107,14 +107,14 @@ grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request *request,
|
|
107
107
|
}
|
108
108
|
|
109
109
|
grpc_slice grpc_httpcli_format_connect_request(
|
110
|
-
const grpc_httpcli_request
|
110
|
+
const grpc_httpcli_request* request) {
|
111
111
|
gpr_strvec out;
|
112
112
|
gpr_strvec_init(&out);
|
113
113
|
gpr_strvec_add(&out, gpr_strdup("CONNECT "));
|
114
114
|
fill_common_header(request, &out, false);
|
115
115
|
gpr_strvec_add(&out, gpr_strdup("\r\n"));
|
116
116
|
size_t flat_len;
|
117
|
-
char
|
117
|
+
char* flat = gpr_strvec_flatten(&out, &flat_len);
|
118
118
|
gpr_strvec_destroy(&out);
|
119
119
|
return grpc_slice_new(flat, flat_len, gpr_free);
|
120
120
|
}
|
@@ -22,11 +22,19 @@
|
|
22
22
|
#include <grpc/slice.h>
|
23
23
|
#include "src/core/lib/http/httpcli.h"
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
#ifdef __cplusplus
|
26
|
+
extern "C" {
|
27
|
+
#endif
|
28
|
+
|
29
|
+
grpc_slice grpc_httpcli_format_get_request(const grpc_httpcli_request* request);
|
30
|
+
grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request* request,
|
31
|
+
const char* body_bytes,
|
28
32
|
size_t body_size);
|
29
33
|
grpc_slice grpc_httpcli_format_connect_request(
|
30
|
-
const grpc_httpcli_request
|
34
|
+
const grpc_httpcli_request* request);
|
35
|
+
|
36
|
+
#ifdef __cplusplus
|
37
|
+
}
|
38
|
+
#endif
|
31
39
|
|
32
40
|
#endif /* GRPC_CORE_LIB_HTTP_FORMAT_REQUEST_H */
|
@@ -39,64 +39,64 @@
|
|
39
39
|
typedef struct {
|
40
40
|
grpc_slice request_text;
|
41
41
|
grpc_http_parser parser;
|
42
|
-
grpc_resolved_addresses
|
42
|
+
grpc_resolved_addresses* addresses;
|
43
43
|
size_t next_address;
|
44
|
-
grpc_endpoint
|
45
|
-
char
|
46
|
-
char
|
47
|
-
|
44
|
+
grpc_endpoint* ep;
|
45
|
+
char* host;
|
46
|
+
char* ssl_host_override;
|
47
|
+
grpc_millis deadline;
|
48
48
|
int have_read_byte;
|
49
|
-
const grpc_httpcli_handshaker
|
50
|
-
grpc_closure
|
51
|
-
grpc_httpcli_context
|
52
|
-
grpc_polling_entity
|
49
|
+
const grpc_httpcli_handshaker* handshaker;
|
50
|
+
grpc_closure* on_done;
|
51
|
+
grpc_httpcli_context* context;
|
52
|
+
grpc_polling_entity* pollent;
|
53
53
|
grpc_iomgr_object iomgr_obj;
|
54
54
|
grpc_slice_buffer incoming;
|
55
55
|
grpc_slice_buffer outgoing;
|
56
56
|
grpc_closure on_read;
|
57
57
|
grpc_closure done_write;
|
58
58
|
grpc_closure connected;
|
59
|
-
grpc_error
|
60
|
-
grpc_resource_quota
|
59
|
+
grpc_error* overall_error;
|
60
|
+
grpc_resource_quota* resource_quota;
|
61
61
|
} internal_request;
|
62
62
|
|
63
|
-
static grpc_httpcli_get_override g_get_override =
|
64
|
-
static grpc_httpcli_post_override g_post_override =
|
63
|
+
static grpc_httpcli_get_override g_get_override = nullptr;
|
64
|
+
static grpc_httpcli_post_override g_post_override = nullptr;
|
65
65
|
|
66
|
-
static void plaintext_handshake(grpc_exec_ctx
|
67
|
-
grpc_endpoint
|
68
|
-
|
69
|
-
void (*on_done)(grpc_exec_ctx
|
70
|
-
void
|
71
|
-
grpc_endpoint
|
66
|
+
static void plaintext_handshake(grpc_exec_ctx* exec_ctx, void* arg,
|
67
|
+
grpc_endpoint* endpoint, const char* host,
|
68
|
+
grpc_millis deadline,
|
69
|
+
void (*on_done)(grpc_exec_ctx* exec_ctx,
|
70
|
+
void* arg,
|
71
|
+
grpc_endpoint* endpoint)) {
|
72
72
|
on_done(exec_ctx, arg, endpoint);
|
73
73
|
}
|
74
74
|
|
75
75
|
const grpc_httpcli_handshaker grpc_httpcli_plaintext = {"http",
|
76
76
|
plaintext_handshake};
|
77
77
|
|
78
|
-
void grpc_httpcli_context_init(grpc_httpcli_context
|
78
|
+
void grpc_httpcli_context_init(grpc_httpcli_context* context) {
|
79
79
|
context->pollset_set = grpc_pollset_set_create();
|
80
80
|
}
|
81
81
|
|
82
|
-
void grpc_httpcli_context_destroy(grpc_exec_ctx
|
83
|
-
grpc_httpcli_context
|
82
|
+
void grpc_httpcli_context_destroy(grpc_exec_ctx* exec_ctx,
|
83
|
+
grpc_httpcli_context* context) {
|
84
84
|
grpc_pollset_set_destroy(exec_ctx, context->pollset_set);
|
85
85
|
}
|
86
86
|
|
87
|
-
static void next_address(grpc_exec_ctx
|
88
|
-
grpc_error
|
87
|
+
static void next_address(grpc_exec_ctx* exec_ctx, internal_request* req,
|
88
|
+
grpc_error* due_to_error);
|
89
89
|
|
90
|
-
static void finish(grpc_exec_ctx
|
91
|
-
grpc_error
|
90
|
+
static void finish(grpc_exec_ctx* exec_ctx, internal_request* req,
|
91
|
+
grpc_error* error) {
|
92
92
|
grpc_polling_entity_del_from_pollset_set(exec_ctx, req->pollent,
|
93
93
|
req->context->pollset_set);
|
94
94
|
GRPC_CLOSURE_SCHED(exec_ctx, req->on_done, error);
|
95
95
|
grpc_http_parser_destroy(&req->parser);
|
96
|
-
if (req->addresses !=
|
96
|
+
if (req->addresses != nullptr) {
|
97
97
|
grpc_resolved_addresses_destroy(req->addresses);
|
98
98
|
}
|
99
|
-
if (req->ep !=
|
99
|
+
if (req->ep != nullptr) {
|
100
100
|
grpc_endpoint_destroy(exec_ctx, req->ep);
|
101
101
|
}
|
102
102
|
grpc_slice_unref_internal(exec_ctx, req->request_text);
|
@@ -110,13 +110,13 @@ static void finish(grpc_exec_ctx *exec_ctx, internal_request *req,
|
|
110
110
|
gpr_free(req);
|
111
111
|
}
|
112
112
|
|
113
|
-
static void append_error(internal_request
|
113
|
+
static void append_error(internal_request* req, grpc_error* error) {
|
114
114
|
if (req->overall_error == GRPC_ERROR_NONE) {
|
115
115
|
req->overall_error =
|
116
116
|
GRPC_ERROR_CREATE_FROM_STATIC_STRING("Failed HTTP/1 client request");
|
117
117
|
}
|
118
|
-
grpc_resolved_address
|
119
|
-
char
|
118
|
+
grpc_resolved_address* addr = &req->addresses->addrs[req->next_address - 1];
|
119
|
+
char* addr_text = grpc_sockaddr_to_uri(addr);
|
120
120
|
req->overall_error = grpc_error_add_child(
|
121
121
|
req->overall_error,
|
122
122
|
grpc_error_set_str(error, GRPC_ERROR_STR_TARGET_ADDRESS,
|
@@ -124,20 +124,20 @@ static void append_error(internal_request *req, grpc_error *error) {
|
|
124
124
|
gpr_free(addr_text);
|
125
125
|
}
|
126
126
|
|
127
|
-
static void do_read(grpc_exec_ctx
|
127
|
+
static void do_read(grpc_exec_ctx* exec_ctx, internal_request* req) {
|
128
128
|
grpc_endpoint_read(exec_ctx, req->ep, &req->incoming, &req->on_read);
|
129
129
|
}
|
130
130
|
|
131
|
-
static void on_read(grpc_exec_ctx
|
132
|
-
grpc_error
|
133
|
-
internal_request
|
131
|
+
static void on_read(grpc_exec_ctx* exec_ctx, void* user_data,
|
132
|
+
grpc_error* error) {
|
133
|
+
internal_request* req = (internal_request*)user_data;
|
134
134
|
size_t i;
|
135
135
|
|
136
136
|
for (i = 0; i < req->incoming.count; i++) {
|
137
137
|
if (GRPC_SLICE_LENGTH(req->incoming.slices[i])) {
|
138
138
|
req->have_read_byte = 1;
|
139
|
-
grpc_error
|
140
|
-
|
139
|
+
grpc_error* err = grpc_http_parser_parse(
|
140
|
+
&req->parser, req->incoming.slices[i], nullptr);
|
141
141
|
if (err != GRPC_ERROR_NONE) {
|
142
142
|
finish(exec_ctx, req, err);
|
143
143
|
return;
|
@@ -154,12 +154,12 @@ static void on_read(grpc_exec_ctx *exec_ctx, void *user_data,
|
|
154
154
|
}
|
155
155
|
}
|
156
156
|
|
157
|
-
static void on_written(grpc_exec_ctx
|
157
|
+
static void on_written(grpc_exec_ctx* exec_ctx, internal_request* req) {
|
158
158
|
do_read(exec_ctx, req);
|
159
159
|
}
|
160
160
|
|
161
|
-
static void done_write(grpc_exec_ctx
|
162
|
-
internal_request
|
161
|
+
static void done_write(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
|
162
|
+
internal_request* req = (internal_request*)arg;
|
163
163
|
if (error == GRPC_ERROR_NONE) {
|
164
164
|
on_written(exec_ctx, req);
|
165
165
|
} else {
|
@@ -167,19 +167,20 @@ static void done_write(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) {
|
|
167
167
|
}
|
168
168
|
}
|
169
169
|
|
170
|
-
static void start_write(grpc_exec_ctx
|
170
|
+
static void start_write(grpc_exec_ctx* exec_ctx, internal_request* req) {
|
171
171
|
grpc_slice_ref_internal(req->request_text);
|
172
172
|
grpc_slice_buffer_add(&req->outgoing, req->request_text);
|
173
173
|
grpc_endpoint_write(exec_ctx, req->ep, &req->outgoing, &req->done_write);
|
174
174
|
}
|
175
175
|
|
176
|
-
static void on_handshake_done(grpc_exec_ctx
|
177
|
-
grpc_endpoint
|
178
|
-
internal_request
|
176
|
+
static void on_handshake_done(grpc_exec_ctx* exec_ctx, void* arg,
|
177
|
+
grpc_endpoint* ep) {
|
178
|
+
internal_request* req = (internal_request*)arg;
|
179
179
|
|
180
180
|
if (!ep) {
|
181
|
-
next_address(
|
182
|
-
|
181
|
+
next_address(
|
182
|
+
exec_ctx, req,
|
183
|
+
GRPC_ERROR_CREATE_FROM_STATIC_STRING("Unexplained handshake failure"));
|
183
184
|
return;
|
184
185
|
}
|
185
186
|
|
@@ -187,9 +188,9 @@ static void on_handshake_done(grpc_exec_ctx *exec_ctx, void *arg,
|
|
187
188
|
start_write(exec_ctx, req);
|
188
189
|
}
|
189
190
|
|
190
|
-
static void on_connected(grpc_exec_ctx
|
191
|
-
grpc_error
|
192
|
-
internal_request
|
191
|
+
static void on_connected(grpc_exec_ctx* exec_ctx, void* arg,
|
192
|
+
grpc_error* error) {
|
193
|
+
internal_request* req = (internal_request*)arg;
|
193
194
|
|
194
195
|
if (!req->ep) {
|
195
196
|
next_address(exec_ctx, req, GRPC_ERROR_REF(error));
|
@@ -201,9 +202,9 @@ static void on_connected(grpc_exec_ctx *exec_ctx, void *arg,
|
|
201
202
|
req->deadline, on_handshake_done);
|
202
203
|
}
|
203
204
|
|
204
|
-
static void next_address(grpc_exec_ctx
|
205
|
-
grpc_error
|
206
|
-
grpc_resolved_address
|
205
|
+
static void next_address(grpc_exec_ctx* exec_ctx, internal_request* req,
|
206
|
+
grpc_error* error) {
|
207
|
+
grpc_resolved_address* addr;
|
207
208
|
if (error != GRPC_ERROR_NONE) {
|
208
209
|
append_error(req, error);
|
209
210
|
}
|
@@ -217,7 +218,7 @@ static void next_address(grpc_exec_ctx *exec_ctx, internal_request *req,
|
|
217
218
|
GRPC_CLOSURE_INIT(&req->connected, on_connected, req,
|
218
219
|
grpc_schedule_on_exec_ctx);
|
219
220
|
grpc_arg arg = grpc_channel_arg_pointer_create(
|
220
|
-
(char
|
221
|
+
(char*)GRPC_ARG_RESOURCE_QUOTA, req->resource_quota,
|
221
222
|
grpc_resource_quota_arg_vtable());
|
222
223
|
grpc_channel_args args = {1, &arg};
|
223
224
|
grpc_tcp_client_connect(exec_ctx, &req->connected, &req->ep,
|
@@ -225,8 +226,8 @@ static void next_address(grpc_exec_ctx *exec_ctx, internal_request *req,
|
|
225
226
|
req->deadline);
|
226
227
|
}
|
227
228
|
|
228
|
-
static void on_resolved(grpc_exec_ctx
|
229
|
-
internal_request
|
229
|
+
static void on_resolved(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
|
230
|
+
internal_request* req = (internal_request*)arg;
|
230
231
|
if (error != GRPC_ERROR_NONE) {
|
231
232
|
finish(exec_ctx, req, GRPC_ERROR_REF(error));
|
232
233
|
return;
|
@@ -235,16 +236,16 @@ static void on_resolved(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) {
|
|
235
236
|
next_address(exec_ctx, req, GRPC_ERROR_NONE);
|
236
237
|
}
|
237
238
|
|
238
|
-
static void internal_request_begin(grpc_exec_ctx
|
239
|
-
grpc_httpcli_context
|
240
|
-
grpc_polling_entity
|
241
|
-
grpc_resource_quota
|
242
|
-
const grpc_httpcli_request
|
243
|
-
|
244
|
-
grpc_httpcli_response
|
245
|
-
const char
|
246
|
-
internal_request
|
247
|
-
(internal_request
|
239
|
+
static void internal_request_begin(grpc_exec_ctx* exec_ctx,
|
240
|
+
grpc_httpcli_context* context,
|
241
|
+
grpc_polling_entity* pollent,
|
242
|
+
grpc_resource_quota* resource_quota,
|
243
|
+
const grpc_httpcli_request* request,
|
244
|
+
grpc_millis deadline, grpc_closure* on_done,
|
245
|
+
grpc_httpcli_response* response,
|
246
|
+
const char* name, grpc_slice request_text) {
|
247
|
+
internal_request* req =
|
248
|
+
(internal_request*)gpr_malloc(sizeof(internal_request));
|
248
249
|
memset(req, 0, sizeof(*req));
|
249
250
|
req->request_text = request_text;
|
250
251
|
grpc_http_parser_init(&req->parser, GRPC_HTTP_RESPONSE, response);
|
@@ -275,13 +276,12 @@ static void internal_request_begin(grpc_exec_ctx *exec_ctx,
|
|
275
276
|
&req->addresses);
|
276
277
|
}
|
277
278
|
|
278
|
-
void grpc_httpcli_get(grpc_exec_ctx
|
279
|
-
grpc_polling_entity
|
280
|
-
grpc_resource_quota
|
281
|
-
const grpc_httpcli_request
|
282
|
-
|
283
|
-
|
284
|
-
char *name;
|
279
|
+
void grpc_httpcli_get(grpc_exec_ctx* exec_ctx, grpc_httpcli_context* context,
|
280
|
+
grpc_polling_entity* pollent,
|
281
|
+
grpc_resource_quota* resource_quota,
|
282
|
+
const grpc_httpcli_request* request, grpc_millis deadline,
|
283
|
+
grpc_closure* on_done, grpc_httpcli_response* response) {
|
284
|
+
char* name;
|
285
285
|
if (g_get_override &&
|
286
286
|
g_get_override(exec_ctx, request, deadline, on_done, response)) {
|
287
287
|
return;
|
@@ -293,14 +293,14 @@ void grpc_httpcli_get(grpc_exec_ctx *exec_ctx, grpc_httpcli_context *context,
|
|
293
293
|
gpr_free(name);
|
294
294
|
}
|
295
295
|
|
296
|
-
void grpc_httpcli_post(grpc_exec_ctx
|
297
|
-
grpc_polling_entity
|
298
|
-
grpc_resource_quota
|
299
|
-
const grpc_httpcli_request
|
300
|
-
const char
|
301
|
-
|
302
|
-
grpc_httpcli_response
|
303
|
-
char
|
296
|
+
void grpc_httpcli_post(grpc_exec_ctx* exec_ctx, grpc_httpcli_context* context,
|
297
|
+
grpc_polling_entity* pollent,
|
298
|
+
grpc_resource_quota* resource_quota,
|
299
|
+
const grpc_httpcli_request* request,
|
300
|
+
const char* body_bytes, size_t body_size,
|
301
|
+
grpc_millis deadline, grpc_closure* on_done,
|
302
|
+
grpc_httpcli_response* response) {
|
303
|
+
char* name;
|
304
304
|
if (g_post_override &&
|
305
305
|
g_post_override(exec_ctx, request, body_bytes, body_size, deadline,
|
306
306
|
on_done, response)) {
|