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
@@ -22,29 +22,37 @@
|
|
22
22
|
#include <stddef.h>
|
23
23
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
24
24
|
|
25
|
+
#ifdef __cplusplus
|
26
|
+
extern "C" {
|
27
|
+
#endif
|
28
|
+
|
25
29
|
typedef struct {
|
26
|
-
char
|
27
|
-
char
|
28
|
-
char
|
29
|
-
char
|
30
|
+
char* scheme;
|
31
|
+
char* authority;
|
32
|
+
char* path;
|
33
|
+
char* query;
|
30
34
|
/** Query substrings separated by '&' */
|
31
|
-
char
|
35
|
+
char** query_parts;
|
32
36
|
/** Number of elements in \a query_parts and \a query_parts_values */
|
33
37
|
size_t num_query_parts;
|
34
38
|
/** Split each query part by '='. NULL if not present. */
|
35
|
-
char
|
36
|
-
char
|
39
|
+
char** query_parts_values;
|
40
|
+
char* fragment;
|
37
41
|
} grpc_uri;
|
38
42
|
|
39
43
|
/** parse a uri, return NULL on failure */
|
40
|
-
grpc_uri
|
44
|
+
grpc_uri* grpc_uri_parse(grpc_exec_ctx* exec_ctx, const char* uri_text,
|
41
45
|
bool suppress_errors);
|
42
46
|
|
43
47
|
/** return the part of a query string after the '=' in "?key=xxx&...", or NULL
|
44
48
|
* if key is not present */
|
45
|
-
const char
|
49
|
+
const char* grpc_uri_get_query_arg(const grpc_uri* uri, const char* key);
|
46
50
|
|
47
51
|
/** destroy a uri */
|
48
|
-
void grpc_uri_destroy(grpc_uri
|
52
|
+
void grpc_uri_destroy(grpc_uri* uri);
|
53
|
+
|
54
|
+
#ifdef __cplusplus
|
55
|
+
}
|
56
|
+
#endif
|
49
57
|
|
50
58
|
#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_URI_PARSER_H */
|
@@ -86,13 +86,12 @@ static void timer_callback(grpc_exec_ctx* exec_ctx, void* arg,
|
|
86
86
|
// synchronized.
|
87
87
|
static void start_timer_if_needed(grpc_exec_ctx* exec_ctx,
|
88
88
|
grpc_call_element* elem,
|
89
|
-
|
90
|
-
|
91
|
-
if (gpr_time_cmp(deadline, gpr_inf_future(GPR_CLOCK_MONOTONIC)) == 0) {
|
89
|
+
grpc_millis deadline) {
|
90
|
+
if (deadline == GRPC_MILLIS_INF_FUTURE) {
|
92
91
|
return;
|
93
92
|
}
|
94
93
|
grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
|
95
|
-
grpc_closure* closure =
|
94
|
+
grpc_closure* closure = nullptr;
|
96
95
|
switch (deadline_state->timer_state) {
|
97
96
|
case GRPC_DEADLINE_STATE_PENDING:
|
98
97
|
// Note: We do not start the timer if there is already a timer
|
@@ -112,10 +111,9 @@ static void start_timer_if_needed(grpc_exec_ctx* exec_ctx,
|
|
112
111
|
elem, grpc_schedule_on_exec_ctx);
|
113
112
|
break;
|
114
113
|
}
|
115
|
-
GPR_ASSERT(closure !=
|
114
|
+
GPR_ASSERT(closure != nullptr);
|
116
115
|
GRPC_CALL_STACK_REF(deadline_state->call_stack, "deadline_timer");
|
117
|
-
grpc_timer_init(exec_ctx, &deadline_state->timer, deadline, closure
|
118
|
-
gpr_now(GPR_CLOCK_MONOTONIC));
|
116
|
+
grpc_timer_init(exec_ctx, &deadline_state->timer, deadline, closure);
|
119
117
|
}
|
120
118
|
|
121
119
|
// Cancels the deadline timer.
|
@@ -155,7 +153,7 @@ static void inject_on_complete_cb(grpc_deadline_state* deadline_state,
|
|
155
153
|
struct start_timer_after_init_state {
|
156
154
|
bool in_call_combiner;
|
157
155
|
grpc_call_element* elem;
|
158
|
-
|
156
|
+
grpc_millis deadline;
|
159
157
|
grpc_closure closure;
|
160
158
|
};
|
161
159
|
static void start_timer_after_init(grpc_exec_ctx* exec_ctx, void* arg,
|
@@ -182,14 +180,13 @@ static void start_timer_after_init(grpc_exec_ctx* exec_ctx, void* arg,
|
|
182
180
|
void grpc_deadline_state_init(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
183
181
|
grpc_call_stack* call_stack,
|
184
182
|
grpc_call_combiner* call_combiner,
|
185
|
-
|
183
|
+
grpc_millis deadline) {
|
186
184
|
grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
|
187
185
|
deadline_state->call_stack = call_stack;
|
188
186
|
deadline_state->call_combiner = call_combiner;
|
189
187
|
// Deadline will always be infinite on servers, so the timer will only be
|
190
188
|
// set on clients with a finite deadline.
|
191
|
-
|
192
|
-
if (gpr_time_cmp(deadline, gpr_inf_future(GPR_CLOCK_MONOTONIC)) != 0) {
|
189
|
+
if (deadline != GRPC_MILLIS_INF_FUTURE) {
|
193
190
|
// When the deadline passes, we indicate the failure by sending down
|
194
191
|
// an op with cancel_error set. However, we can't send down any ops
|
195
192
|
// until after the call stack is fully initialized. If we start the
|
@@ -214,7 +211,7 @@ void grpc_deadline_state_destroy(grpc_exec_ctx* exec_ctx,
|
|
214
211
|
}
|
215
212
|
|
216
213
|
void grpc_deadline_state_reset(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
217
|
-
|
214
|
+
grpc_millis new_deadline) {
|
218
215
|
grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
|
219
216
|
cancel_timer_if_needed(exec_ctx, deadline_state);
|
220
217
|
start_timer_if_needed(exec_ctx, elem, new_deadline);
|
@@ -381,11 +378,11 @@ static bool maybe_add_deadline_filter(grpc_exec_ctx* exec_ctx,
|
|
381
378
|
return grpc_deadline_checking_enabled(
|
382
379
|
grpc_channel_stack_builder_get_channel_arguments(builder))
|
383
380
|
? grpc_channel_stack_builder_prepend_filter(
|
384
|
-
builder, (const grpc_channel_filter*)arg,
|
381
|
+
builder, (const grpc_channel_filter*)arg, nullptr, nullptr)
|
385
382
|
: true;
|
386
383
|
}
|
387
384
|
|
388
|
-
void grpc_deadline_filter_init(void) {
|
385
|
+
extern "C" void grpc_deadline_filter_init(void) {
|
389
386
|
grpc_channel_init_register_stage(
|
390
387
|
GRPC_CLIENT_DIRECT_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
|
391
388
|
maybe_add_deadline_filter, (void*)&grpc_client_deadline_filter);
|
@@ -394,4 +391,4 @@ void grpc_deadline_filter_init(void) {
|
|
394
391
|
maybe_add_deadline_filter, (void*)&grpc_server_deadline_filter);
|
395
392
|
}
|
396
393
|
|
397
|
-
void grpc_deadline_filter_shutdown(void) {}
|
394
|
+
extern "C" void grpc_deadline_filter_shutdown(void) {}
|
@@ -20,6 +20,10 @@
|
|
20
20
|
#include "src/core/lib/channel/channel_stack.h"
|
21
21
|
#include "src/core/lib/iomgr/timer.h"
|
22
22
|
|
23
|
+
#ifdef __cplusplus
|
24
|
+
extern "C" {
|
25
|
+
#endif
|
26
|
+
|
23
27
|
typedef enum grpc_deadline_timer_state {
|
24
28
|
GRPC_DEADLINE_STATE_INITIAL,
|
25
29
|
GRPC_DEADLINE_STATE_PENDING,
|
@@ -52,7 +56,8 @@ typedef struct grpc_deadline_state {
|
|
52
56
|
void grpc_deadline_state_init(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
53
57
|
grpc_call_stack* call_stack,
|
54
58
|
grpc_call_combiner* call_combiner,
|
55
|
-
|
59
|
+
grpc_millis deadline);
|
60
|
+
|
56
61
|
void grpc_deadline_state_destroy(grpc_exec_ctx* exec_ctx,
|
57
62
|
grpc_call_element* elem);
|
58
63
|
|
@@ -66,7 +71,7 @@ void grpc_deadline_state_destroy(grpc_exec_ctx* exec_ctx,
|
|
66
71
|
//
|
67
72
|
// Note: Must be called while holding the call combiner.
|
68
73
|
void grpc_deadline_state_reset(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
69
|
-
|
74
|
+
grpc_millis new_deadline);
|
70
75
|
|
71
76
|
// To be called from the client-side filter's start_transport_stream_op_batch()
|
72
77
|
// method. Ensures that the deadline timer is cancelled when the call
|
@@ -89,4 +94,8 @@ bool grpc_deadline_checking_enabled(const grpc_channel_args* args);
|
|
89
94
|
extern const grpc_channel_filter grpc_client_deadline_filter;
|
90
95
|
extern const grpc_channel_filter grpc_server_deadline_filter;
|
91
96
|
|
97
|
+
#ifdef __cplusplus
|
98
|
+
}
|
99
|
+
#endif
|
100
|
+
|
92
101
|
#endif /* GRPC_CORE_EXT_FILTERS_DEADLINE_DEADLINE_FILTER_H */
|
@@ -36,7 +36,7 @@
|
|
36
36
|
static const size_t kMaxPayloadSizeForGet = 2048;
|
37
37
|
|
38
38
|
typedef struct call_data {
|
39
|
-
grpc_call_combiner
|
39
|
+
grpc_call_combiner* call_combiner;
|
40
40
|
// State for handling send_initial_metadata ops.
|
41
41
|
grpc_linked_mdelem method;
|
42
42
|
grpc_linked_mdelem scheme;
|
@@ -45,20 +45,20 @@ typedef struct call_data {
|
|
45
45
|
grpc_linked_mdelem content_type;
|
46
46
|
grpc_linked_mdelem user_agent;
|
47
47
|
// State for handling recv_initial_metadata ops.
|
48
|
-
grpc_metadata_batch
|
49
|
-
grpc_closure
|
48
|
+
grpc_metadata_batch* recv_initial_metadata;
|
49
|
+
grpc_closure* original_recv_initial_metadata_ready;
|
50
50
|
grpc_closure recv_initial_metadata_ready;
|
51
51
|
// State for handling recv_trailing_metadata ops.
|
52
|
-
grpc_metadata_batch
|
53
|
-
grpc_closure
|
52
|
+
grpc_metadata_batch* recv_trailing_metadata;
|
53
|
+
grpc_closure* original_recv_trailing_metadata_on_complete;
|
54
54
|
grpc_closure recv_trailing_metadata_on_complete;
|
55
55
|
// State for handling send_message ops.
|
56
|
-
grpc_transport_stream_op_batch
|
56
|
+
grpc_transport_stream_op_batch* send_message_batch;
|
57
57
|
size_t send_message_bytes_read;
|
58
58
|
grpc_byte_stream_cache send_message_cache;
|
59
59
|
grpc_caching_byte_stream send_message_caching_stream;
|
60
60
|
grpc_closure on_send_message_next_done;
|
61
|
-
grpc_closure
|
61
|
+
grpc_closure* original_send_message_on_complete;
|
62
62
|
grpc_closure send_message_on_complete;
|
63
63
|
} call_data;
|
64
64
|
|
@@ -68,18 +68,18 @@ typedef struct channel_data {
|
|
68
68
|
size_t max_payload_size_for_get;
|
69
69
|
} channel_data;
|
70
70
|
|
71
|
-
static grpc_error
|
72
|
-
grpc_call_element
|
73
|
-
grpc_metadata_batch
|
74
|
-
if (b->idx.named.status !=
|
71
|
+
static grpc_error* client_filter_incoming_metadata(grpc_exec_ctx* exec_ctx,
|
72
|
+
grpc_call_element* elem,
|
73
|
+
grpc_metadata_batch* b) {
|
74
|
+
if (b->idx.named.status != nullptr) {
|
75
75
|
if (grpc_mdelem_eq(b->idx.named.status->md, GRPC_MDELEM_STATUS_200)) {
|
76
76
|
grpc_metadata_batch_remove(exec_ctx, b, b->idx.named.status);
|
77
77
|
} else {
|
78
|
-
char
|
78
|
+
char* val = grpc_dump_slice(GRPC_MDVALUE(b->idx.named.status->md),
|
79
79
|
GPR_DUMP_ASCII);
|
80
|
-
char
|
80
|
+
char* msg;
|
81
81
|
gpr_asprintf(&msg, "Received http2 header with status: %s", val);
|
82
|
-
grpc_error
|
82
|
+
grpc_error* e = grpc_error_set_str(
|
83
83
|
grpc_error_set_int(
|
84
84
|
grpc_error_set_str(
|
85
85
|
GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
@@ -93,7 +93,7 @@ static grpc_error *client_filter_incoming_metadata(grpc_exec_ctx *exec_ctx,
|
|
93
93
|
}
|
94
94
|
}
|
95
95
|
|
96
|
-
if (b->idx.named.grpc_message !=
|
96
|
+
if (b->idx.named.grpc_message != nullptr) {
|
97
97
|
grpc_slice pct_decoded_msg = grpc_permissive_percent_decode_slice(
|
98
98
|
GRPC_MDVALUE(b->idx.named.grpc_message->md));
|
99
99
|
if (grpc_slice_is_equivalent(pct_decoded_msg,
|
@@ -105,7 +105,7 @@ static grpc_error *client_filter_incoming_metadata(grpc_exec_ctx *exec_ctx,
|
|
105
105
|
}
|
106
106
|
}
|
107
107
|
|
108
|
-
if (b->idx.named.content_type !=
|
108
|
+
if (b->idx.named.content_type != nullptr) {
|
109
109
|
if (!grpc_mdelem_eq(b->idx.named.content_type->md,
|
110
110
|
GRPC_MDELEM_CONTENT_TYPE_APPLICATION_SLASH_GRPC)) {
|
111
111
|
if (grpc_slice_buf_start_eq(GRPC_MDVALUE(b->idx.named.content_type->md),
|
@@ -125,7 +125,7 @@ static grpc_error *client_filter_incoming_metadata(grpc_exec_ctx *exec_ctx,
|
|
125
125
|
} else {
|
126
126
|
/* TODO(klempner): We're currently allowing this, but we shouldn't
|
127
127
|
see it without a proxy so log for now. */
|
128
|
-
char
|
128
|
+
char* val = grpc_dump_slice(GRPC_MDVALUE(b->idx.named.content_type->md),
|
129
129
|
GPR_DUMP_ASCII);
|
130
130
|
gpr_log(GPR_INFO, "Unexpected content-type '%s'", val);
|
131
131
|
gpr_free(val);
|
@@ -137,10 +137,10 @@ static grpc_error *client_filter_incoming_metadata(grpc_exec_ctx *exec_ctx,
|
|
137
137
|
return GRPC_ERROR_NONE;
|
138
138
|
}
|
139
139
|
|
140
|
-
static void recv_initial_metadata_ready(grpc_exec_ctx
|
141
|
-
void
|
142
|
-
grpc_call_element
|
143
|
-
call_data
|
140
|
+
static void recv_initial_metadata_ready(grpc_exec_ctx* exec_ctx,
|
141
|
+
void* user_data, grpc_error* error) {
|
142
|
+
grpc_call_element* elem = (grpc_call_element*)user_data;
|
143
|
+
call_data* calld = (call_data*)elem->call_data;
|
144
144
|
if (error == GRPC_ERROR_NONE) {
|
145
145
|
error = client_filter_incoming_metadata(exec_ctx, elem,
|
146
146
|
calld->recv_initial_metadata);
|
@@ -151,11 +151,11 @@ static void recv_initial_metadata_ready(grpc_exec_ctx *exec_ctx,
|
|
151
151
|
error);
|
152
152
|
}
|
153
153
|
|
154
|
-
static void recv_trailing_metadata_on_complete(grpc_exec_ctx
|
155
|
-
void
|
156
|
-
grpc_error
|
157
|
-
grpc_call_element
|
158
|
-
call_data
|
154
|
+
static void recv_trailing_metadata_on_complete(grpc_exec_ctx* exec_ctx,
|
155
|
+
void* user_data,
|
156
|
+
grpc_error* error) {
|
157
|
+
grpc_call_element* elem = (grpc_call_element*)user_data;
|
158
|
+
call_data* calld = (call_data*)elem->call_data;
|
159
159
|
if (error == GRPC_ERROR_NONE) {
|
160
160
|
error = client_filter_incoming_metadata(exec_ctx, elem,
|
161
161
|
calld->recv_trailing_metadata);
|
@@ -166,10 +166,10 @@ static void recv_trailing_metadata_on_complete(grpc_exec_ctx *exec_ctx,
|
|
166
166
|
error);
|
167
167
|
}
|
168
168
|
|
169
|
-
static void send_message_on_complete(grpc_exec_ctx
|
170
|
-
grpc_error
|
171
|
-
grpc_call_element
|
172
|
-
call_data
|
169
|
+
static void send_message_on_complete(grpc_exec_ctx* exec_ctx, void* arg,
|
170
|
+
grpc_error* error) {
|
171
|
+
grpc_call_element* elem = (grpc_call_element*)arg;
|
172
|
+
call_data* calld = (call_data*)elem->call_data;
|
173
173
|
grpc_byte_stream_cache_destroy(exec_ctx, &calld->send_message_cache);
|
174
174
|
GRPC_CLOSURE_RUN(exec_ctx, calld->original_send_message_on_complete,
|
175
175
|
GRPC_ERROR_REF(error));
|
@@ -177,10 +177,10 @@ static void send_message_on_complete(grpc_exec_ctx *exec_ctx, void *arg,
|
|
177
177
|
|
178
178
|
// Pulls a slice from the send_message byte stream, updating
|
179
179
|
// calld->send_message_bytes_read.
|
180
|
-
static grpc_error
|
181
|
-
call_data
|
180
|
+
static grpc_error* pull_slice_from_send_message(grpc_exec_ctx* exec_ctx,
|
181
|
+
call_data* calld) {
|
182
182
|
grpc_slice incoming_slice;
|
183
|
-
grpc_error
|
183
|
+
grpc_error* error = grpc_byte_stream_pull(
|
184
184
|
exec_ctx, &calld->send_message_caching_stream.base, &incoming_slice);
|
185
185
|
if (error == GRPC_ERROR_NONE) {
|
186
186
|
calld->send_message_bytes_read += GRPC_SLICE_LENGTH(incoming_slice);
|
@@ -194,12 +194,12 @@ static grpc_error *pull_slice_from_send_message(grpc_exec_ctx *exec_ctx,
|
|
194
194
|
// calld->send_message_caching_stream.base.length, then we have completed
|
195
195
|
// reading from the byte stream; otherwise, an async read has been dispatched
|
196
196
|
// and on_send_message_next_done() will be invoked when it is complete.
|
197
|
-
static grpc_error
|
198
|
-
call_data
|
197
|
+
static grpc_error* read_all_available_send_message_data(grpc_exec_ctx* exec_ctx,
|
198
|
+
call_data* calld) {
|
199
199
|
while (grpc_byte_stream_next(exec_ctx,
|
200
200
|
&calld->send_message_caching_stream.base,
|
201
201
|
~(size_t)0, &calld->on_send_message_next_done)) {
|
202
|
-
grpc_error
|
202
|
+
grpc_error* error = pull_slice_from_send_message(exec_ctx, calld);
|
203
203
|
if (error != GRPC_ERROR_NONE) return error;
|
204
204
|
if (calld->send_message_bytes_read ==
|
205
205
|
calld->send_message_caching_stream.base.length) {
|
@@ -210,10 +210,10 @@ static grpc_error *read_all_available_send_message_data(grpc_exec_ctx *exec_ctx,
|
|
210
210
|
}
|
211
211
|
|
212
212
|
// Async callback for grpc_byte_stream_next().
|
213
|
-
static void on_send_message_next_done(grpc_exec_ctx
|
214
|
-
grpc_error
|
215
|
-
grpc_call_element
|
216
|
-
call_data
|
213
|
+
static void on_send_message_next_done(grpc_exec_ctx* exec_ctx, void* arg,
|
214
|
+
grpc_error* error) {
|
215
|
+
grpc_call_element* elem = (grpc_call_element*)arg;
|
216
|
+
call_data* calld = (call_data*)elem->call_data;
|
217
217
|
if (error != GRPC_ERROR_NONE) {
|
218
218
|
grpc_transport_stream_op_batch_finish_with_failure(
|
219
219
|
exec_ctx, calld->send_message_batch, error, calld->call_combiner);
|
@@ -233,8 +233,8 @@ static void on_send_message_next_done(grpc_exec_ctx *exec_ctx, void *arg,
|
|
233
233
|
grpc_call_next_op(exec_ctx, elem, calld->send_message_batch);
|
234
234
|
}
|
235
235
|
|
236
|
-
static char
|
237
|
-
char
|
236
|
+
static char* slice_buffer_to_string(grpc_slice_buffer* slice_buffer) {
|
237
|
+
char* payload_bytes = (char*)gpr_malloc(slice_buffer->length + 1);
|
238
238
|
size_t offset = 0;
|
239
239
|
for (size_t i = 0; i < slice_buffer->count; ++i) {
|
240
240
|
memcpy(payload_bytes + offset,
|
@@ -248,10 +248,10 @@ static char *slice_buffer_to_string(grpc_slice_buffer *slice_buffer) {
|
|
248
248
|
|
249
249
|
// Modifies the path entry in the batch's send_initial_metadata to
|
250
250
|
// append the base64-encoded query for a GET request.
|
251
|
-
static grpc_error
|
252
|
-
grpc_call_element
|
253
|
-
grpc_transport_stream_op_batch
|
254
|
-
call_data
|
251
|
+
static grpc_error* update_path_for_get(grpc_exec_ctx* exec_ctx,
|
252
|
+
grpc_call_element* elem,
|
253
|
+
grpc_transport_stream_op_batch* batch) {
|
254
|
+
call_data* calld = (call_data*)elem->call_data;
|
255
255
|
grpc_slice path_slice =
|
256
256
|
GRPC_MDVALUE(batch->payload->send_initial_metadata.send_initial_metadata
|
257
257
|
->idx.named.path->md);
|
@@ -264,44 +264,44 @@ static grpc_error *update_path_for_get(grpc_exec_ctx *exec_ctx,
|
|
264
264
|
false /* multi_line */);
|
265
265
|
grpc_slice path_with_query_slice = GRPC_SLICE_MALLOC(estimated_len);
|
266
266
|
/* memcopy individual pieces into this slice */
|
267
|
-
char
|
268
|
-
char
|
267
|
+
char* write_ptr = (char*)GRPC_SLICE_START_PTR(path_with_query_slice);
|
268
|
+
char* original_path = (char*)GRPC_SLICE_START_PTR(path_slice);
|
269
269
|
memcpy(write_ptr, original_path, GRPC_SLICE_LENGTH(path_slice));
|
270
270
|
write_ptr += GRPC_SLICE_LENGTH(path_slice);
|
271
271
|
*write_ptr++ = '?';
|
272
|
-
char
|
272
|
+
char* payload_bytes =
|
273
273
|
slice_buffer_to_string(&calld->send_message_cache.cache_buffer);
|
274
|
-
grpc_base64_encode_core((char
|
274
|
+
grpc_base64_encode_core((char*)write_ptr, payload_bytes,
|
275
275
|
batch->payload->send_message.send_message->length,
|
276
276
|
true /* url_safe */, false /* multi_line */);
|
277
277
|
gpr_free(payload_bytes);
|
278
278
|
/* remove trailing unused memory and add trailing 0 to terminate string */
|
279
|
-
char
|
279
|
+
char* t = (char*)GRPC_SLICE_START_PTR(path_with_query_slice);
|
280
280
|
/* safe to use strlen since base64_encode will always add '\0' */
|
281
281
|
path_with_query_slice =
|
282
282
|
grpc_slice_sub_no_ref(path_with_query_slice, 0, strlen(t));
|
283
283
|
/* substitute previous path with the new path+query */
|
284
284
|
grpc_mdelem mdelem_path_and_query =
|
285
285
|
grpc_mdelem_from_slices(exec_ctx, GRPC_MDSTR_PATH, path_with_query_slice);
|
286
|
-
grpc_metadata_batch
|
286
|
+
grpc_metadata_batch* b =
|
287
287
|
batch->payload->send_initial_metadata.send_initial_metadata;
|
288
288
|
return grpc_metadata_batch_substitute(exec_ctx, b, b->idx.named.path,
|
289
289
|
mdelem_path_and_query);
|
290
290
|
}
|
291
291
|
|
292
|
-
static void remove_if_present(grpc_exec_ctx
|
293
|
-
grpc_metadata_batch
|
292
|
+
static void remove_if_present(grpc_exec_ctx* exec_ctx,
|
293
|
+
grpc_metadata_batch* batch,
|
294
294
|
grpc_metadata_batch_callouts_index idx) {
|
295
|
-
if (batch->idx.array[idx] !=
|
295
|
+
if (batch->idx.array[idx] != nullptr) {
|
296
296
|
grpc_metadata_batch_remove(exec_ctx, batch, batch->idx.array[idx]);
|
297
297
|
}
|
298
298
|
}
|
299
299
|
|
300
300
|
static void hc_start_transport_stream_op_batch(
|
301
|
-
grpc_exec_ctx
|
302
|
-
grpc_transport_stream_op_batch
|
303
|
-
call_data
|
304
|
-
channel_data
|
301
|
+
grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
302
|
+
grpc_transport_stream_op_batch* batch) {
|
303
|
+
call_data* calld = (call_data*)elem->call_data;
|
304
|
+
channel_data* channeld = (channel_data*)elem->channel_data;
|
305
305
|
GPR_TIMER_BEGIN("hc_start_transport_stream_op_batch", 0);
|
306
306
|
|
307
307
|
if (batch->recv_initial_metadata) {
|
@@ -322,7 +322,7 @@ static void hc_start_transport_stream_op_batch(
|
|
322
322
|
batch->on_complete = &calld->recv_trailing_metadata_on_complete;
|
323
323
|
}
|
324
324
|
|
325
|
-
grpc_error
|
325
|
+
grpc_error* error = GRPC_ERROR_NONE;
|
326
326
|
bool batch_will_be_handled_asynchronously = false;
|
327
327
|
if (batch->send_initial_metadata) {
|
328
328
|
// Decide which HTTP VERB to use. We use GET if the request is marked
|
@@ -422,10 +422,10 @@ done:
|
|
422
422
|
}
|
423
423
|
|
424
424
|
/* Constructor for call_data */
|
425
|
-
static grpc_error
|
426
|
-
grpc_call_element
|
427
|
-
const grpc_call_element_args
|
428
|
-
call_data
|
425
|
+
static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
|
426
|
+
grpc_call_element* elem,
|
427
|
+
const grpc_call_element_args* args) {
|
428
|
+
call_data* calld = (call_data*)elem->call_data;
|
429
429
|
calld->call_combiner = args->call_combiner;
|
430
430
|
GRPC_CLOSURE_INIT(&calld->recv_initial_metadata_ready,
|
431
431
|
recv_initial_metadata_ready, elem,
|
@@ -441,16 +441,16 @@ static grpc_error *init_call_elem(grpc_exec_ctx *exec_ctx,
|
|
441
441
|
}
|
442
442
|
|
443
443
|
/* Destructor for call_data */
|
444
|
-
static void destroy_call_elem(grpc_exec_ctx
|
445
|
-
const grpc_call_final_info
|
446
|
-
grpc_closure
|
444
|
+
static void destroy_call_elem(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
445
|
+
const grpc_call_final_info* final_info,
|
446
|
+
grpc_closure* ignored) {}
|
447
447
|
|
448
|
-
static grpc_mdelem scheme_from_args(const grpc_channel_args
|
448
|
+
static grpc_mdelem scheme_from_args(const grpc_channel_args* args) {
|
449
449
|
unsigned i;
|
450
450
|
size_t j;
|
451
451
|
grpc_mdelem valid_schemes[] = {GRPC_MDELEM_SCHEME_HTTP,
|
452
452
|
GRPC_MDELEM_SCHEME_HTTPS};
|
453
|
-
if (args !=
|
453
|
+
if (args != nullptr) {
|
454
454
|
for (i = 0; i < args->num_args; ++i) {
|
455
455
|
if (args->args[i].type == GRPC_ARG_STRING &&
|
456
456
|
strcmp(args->args[i].key, GRPC_ARG_HTTP2_SCHEME) == 0) {
|
@@ -466,8 +466,8 @@ static grpc_mdelem scheme_from_args(const grpc_channel_args *args) {
|
|
466
466
|
return GRPC_MDELEM_SCHEME_HTTP;
|
467
467
|
}
|
468
468
|
|
469
|
-
static size_t max_payload_size_from_args(const grpc_channel_args
|
470
|
-
if (args !=
|
469
|
+
static size_t max_payload_size_from_args(const grpc_channel_args* args) {
|
470
|
+
if (args != nullptr) {
|
471
471
|
for (size_t i = 0; i < args->num_args; ++i) {
|
472
472
|
if (0 == strcmp(args->args[i].key, GRPC_ARG_MAX_PAYLOAD_SIZE_FOR_GET)) {
|
473
473
|
if (args->args[i].type != GRPC_ARG_INTEGER) {
|
@@ -482,12 +482,12 @@ static size_t max_payload_size_from_args(const grpc_channel_args *args) {
|
|
482
482
|
return kMaxPayloadSizeForGet;
|
483
483
|
}
|
484
484
|
|
485
|
-
static grpc_slice user_agent_from_args(const grpc_channel_args
|
486
|
-
const char
|
485
|
+
static grpc_slice user_agent_from_args(const grpc_channel_args* args,
|
486
|
+
const char* transport_name) {
|
487
487
|
gpr_strvec v;
|
488
488
|
size_t i;
|
489
489
|
int is_first = 1;
|
490
|
-
char
|
490
|
+
char* tmp;
|
491
491
|
grpc_slice result;
|
492
492
|
|
493
493
|
gpr_strvec_init(&v);
|
@@ -524,7 +524,7 @@ static grpc_slice user_agent_from_args(const grpc_channel_args *args,
|
|
524
524
|
}
|
525
525
|
}
|
526
526
|
|
527
|
-
tmp = gpr_strvec_flatten(&v,
|
527
|
+
tmp = gpr_strvec_flatten(&v, nullptr);
|
528
528
|
gpr_strvec_destroy(&v);
|
529
529
|
result = grpc_slice_intern(grpc_slice_from_static_string(tmp));
|
530
530
|
gpr_free(tmp);
|
@@ -533,12 +533,12 @@ static grpc_slice user_agent_from_args(const grpc_channel_args *args,
|
|
533
533
|
}
|
534
534
|
|
535
535
|
/* Constructor for channel_data */
|
536
|
-
static grpc_error
|
537
|
-
grpc_channel_element
|
538
|
-
grpc_channel_element_args
|
539
|
-
channel_data
|
536
|
+
static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
|
537
|
+
grpc_channel_element* elem,
|
538
|
+
grpc_channel_element_args* args) {
|
539
|
+
channel_data* chand = (channel_data*)elem->channel_data;
|
540
540
|
GPR_ASSERT(!args->is_last);
|
541
|
-
GPR_ASSERT(args->optional_transport !=
|
541
|
+
GPR_ASSERT(args->optional_transport != nullptr);
|
542
542
|
chand->static_scheme = scheme_from_args(args->channel_args);
|
543
543
|
chand->max_payload_size_for_get =
|
544
544
|
max_payload_size_from_args(args->channel_args);
|
@@ -550,9 +550,9 @@ static grpc_error *init_channel_elem(grpc_exec_ctx *exec_ctx,
|
|
550
550
|
}
|
551
551
|
|
552
552
|
/* Destructor for channel data */
|
553
|
-
static void destroy_channel_elem(grpc_exec_ctx
|
554
|
-
grpc_channel_element
|
555
|
-
channel_data
|
553
|
+
static void destroy_channel_elem(grpc_exec_ctx* exec_ctx,
|
554
|
+
grpc_channel_element* elem) {
|
555
|
+
channel_data* chand = (channel_data*)elem->channel_data;
|
556
556
|
GRPC_MDELEM_UNREF(exec_ctx, chand->user_agent);
|
557
557
|
}
|
558
558
|
|