grpc 1.8.7 → 1.9.0.pre1
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 +549 -325
- data/include/grpc/impl/codegen/grpc_types.h +1 -2
- data/include/grpc/impl/codegen/port_platform.h +46 -5
- data/include/grpc/impl/codegen/slice.h +1 -2
- data/include/grpc/module.modulemap +0 -2
- data/include/grpc/slice_buffer.h +1 -2
- data/include/grpc/support/log.h +4 -2
- data/include/grpc/support/thd.h +4 -1
- data/include/grpc/support/tls.h +6 -0
- data/include/grpc/support/tls_gcc.h +5 -40
- data/include/grpc/support/tls_msvc.h +9 -0
- data/include/grpc/support/tls_pthread.h +9 -0
- data/src/core/ext/filters/client_channel/backup_poller.cc +32 -29
- data/src/core/ext/filters/client_channel/backup_poller.h +2 -2
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +26 -32
- data/src/core/ext/filters/client_channel/client_channel.cc +325 -356
- data/src/core/ext/filters/client_channel/client_channel.h +4 -12
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +9 -14
- data/src/core/ext/filters/client_channel/client_channel_factory.h +7 -20
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +7 -10
- data/src/core/ext/filters/client_channel/connector.cc +6 -7
- data/src/core/ext/filters/client_channel/connector.h +6 -16
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +38 -50
- data/src/core/ext/filters/client_channel/http_connect_handshaker.h +0 -8
- data/src/core/ext/filters/client_channel/http_proxy.cc +9 -13
- data/src/core/ext/filters/client_channel/http_proxy.h +0 -8
- data/src/core/ext/filters/client_channel/lb_policy.cc +72 -94
- data/src/core/ext/filters/client_channel/lb_policy.h +83 -92
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +14 -19
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +0 -8
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +474 -591
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -8
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +2 -10
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +6 -6
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +0 -8
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +0 -9
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +0 -9
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c +3 -4
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h +9 -12
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +160 -182
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +182 -221
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +24 -35
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +9 -20
- data/src/core/ext/filters/client_channel/lb_policy_factory.cc +6 -9
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +4 -15
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +3 -3
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -9
- data/src/core/ext/filters/client_channel/parse_address.cc +1 -1
- data/src/core/ext/filters/client_channel/parse_address.h +0 -8
- data/src/core/ext/filters/client_channel/proxy_mapper.cc +6 -8
- data/src/core/ext/filters/client_channel/proxy_mapper.h +6 -16
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +13 -17
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +2 -12
- data/src/core/ext/filters/client_channel/resolver.cc +11 -13
- data/src/core/ext/filters/client_channel/resolver.h +14 -25
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +57 -70
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +2 -12
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +23 -31
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +27 -45
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +5 -15
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +9 -11
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +53 -66
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +25 -33
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +1 -9
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +26 -35
- data/src/core/ext/filters/client_channel/resolver_factory.cc +2 -3
- data/src/core/ext/filters/client_channel/resolver_factory.h +2 -12
- data/src/core/ext/filters/client_channel/resolver_registry.cc +12 -15
- data/src/core/ext/filters/client_channel/resolver_registry.h +3 -12
- data/src/core/ext/filters/client_channel/retry_throttle.h +0 -8
- data/src/core/ext/filters/client_channel/subchannel.cc +289 -301
- data/src/core/ext/filters/client_channel/subchannel.h +57 -84
- data/src/core/ext/filters/client_channel/subchannel_index.cc +30 -33
- data/src/core/ext/filters/client_channel/subchannel_index.h +4 -16
- data/src/core/ext/filters/client_channel/uri_parser.cc +13 -17
- data/src/core/ext/filters/client_channel/uri_parser.h +1 -10
- data/src/core/ext/filters/deadline/deadline_filter.cc +49 -67
- data/src/core/ext/filters/deadline/deadline_filter.h +4 -14
- data/src/core/ext/filters/http/client/http_client_filter.cc +60 -77
- data/src/core/ext/filters/http/client/http_client_filter.h +0 -8
- data/src/core/ext/filters/http/http_filters_plugin.cc +4 -6
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +63 -79
- data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -8
- data/src/core/ext/filters/http/server/http_server_filter.cc +57 -71
- data/src/core/ext/filters/http/server/http_server_filter.h +0 -8
- data/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +19 -24
- data/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +0 -8
- data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc +3 -3
- data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +0 -8
- data/src/core/ext/filters/max_age/max_age_filter.cc +49 -62
- data/src/core/ext/filters/max_age/max_age_filter.h +0 -8
- data/src/core/ext/filters/message_size/message_size_filter.cc +23 -29
- data/src/core/ext/filters/message_size/message_size_filter.h +0 -8
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +15 -18
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +0 -8
- data/src/core/ext/filters/workarounds/workaround_utils.h +0 -8
- data/src/core/ext/transport/chttp2/alpn/alpn.h +0 -8
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +33 -40
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -8
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +15 -17
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +8 -8
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +23 -28
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +50 -57
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +1 -10
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -3
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +7 -10
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +5 -6
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +7 -9
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -11
- data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -9
- data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +10 -2
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +516 -636
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +4 -11
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +29 -13
- data/src/core/ext/transport/chttp2/transport/flow_control.h +196 -53
- data/src/core/ext/transport/chttp2/transport/frame.h +0 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +31 -33
- data/src/core/ext/transport/chttp2/transport/frame_data.h +3 -12
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -10
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +5 -6
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -9
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -10
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +8 -3
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -10
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +5 -11
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +63 -81
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -12
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +230 -318
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +6 -19
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +14 -20
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +5 -16
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +0 -7
- data/src/core/ext/transport/chttp2/transport/huffsyms.h +0 -8
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +8 -11
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +4 -13
- data/src/core/ext/transport/chttp2/transport/internal.h +51 -75
- data/src/core/ext/transport/chttp2/transport/parsing.cc +83 -109
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/stream_map.h +0 -8
- data/src/core/ext/transport/chttp2/transport/varint.h +0 -8
- data/src/core/ext/transport/chttp2/transport/writing.cc +61 -65
- data/src/core/ext/transport/inproc/inproc_plugin.cc +2 -4
- data/src/core/ext/transport/inproc/inproc_transport.cc +177 -188
- data/src/core/ext/transport/inproc/inproc_transport.h +0 -8
- data/src/core/lib/backoff/backoff.cc +39 -44
- data/src/core/lib/backoff/backoff.h +61 -57
- data/src/core/lib/channel/channel_args.cc +8 -10
- data/src/core/lib/channel/channel_args.h +4 -13
- data/src/core/lib/channel/channel_stack.cc +19 -27
- data/src/core/lib/channel/channel_stack.h +27 -47
- data/src/core/lib/channel/channel_stack_builder.cc +11 -14
- data/src/core/lib/channel/channel_stack_builder.h +4 -15
- data/src/core/lib/channel/connected_channel.cc +23 -36
- data/src/core/lib/channel/connected_channel.h +1 -10
- data/src/core/lib/channel/handshaker.cc +31 -40
- data/src/core/lib/channel/handshaker.h +14 -25
- data/src/core/lib/channel/handshaker_factory.cc +6 -6
- data/src/core/lib/channel/handshaker_factory.h +5 -15
- data/src/core/lib/channel/handshaker_registry.cc +9 -13
- data/src/core/lib/channel/handshaker_registry.h +2 -11
- data/src/core/lib/compression/algorithm_metadata.h +0 -8
- data/src/core/lib/compression/message_compress.cc +19 -23
- data/src/core/lib/compression/message_compress.h +2 -12
- data/src/core/lib/compression/stream_compression.cc +1 -1
- data/src/core/lib/compression/stream_compression.h +0 -8
- data/src/core/lib/compression/stream_compression_gzip.cc +12 -11
- data/src/core/lib/compression/stream_compression_gzip.h +0 -8
- data/src/core/lib/compression/stream_compression_identity.h +0 -8
- data/src/core/lib/debug/stats.cc +4 -4
- data/src/core/lib/debug/stats.h +9 -19
- data/src/core/lib/debug/stats_data.cc +85 -116
- data/src/core/lib/debug/stats_data.h +236 -312
- data/src/core/lib/debug/trace.cc +1 -1
- data/src/core/lib/debug/trace.h +0 -12
- data/src/core/lib/{support → gpr++}/abstract.h +8 -3
- data/src/core/lib/{support → gpr++}/atomic.h +5 -5
- data/src/core/lib/{support → gpr++}/atomic_with_atm.h +3 -3
- data/src/core/lib/{support → gpr++}/atomic_with_std.h +3 -3
- data/src/core/lib/gpr++/debug_location.h +52 -0
- data/src/core/lib/gpr++/inlined_vector.h +112 -0
- data/src/core/lib/{support → gpr++}/manual_constructor.h +2 -2
- data/src/core/lib/{support → gpr++}/memory.h +3 -3
- data/src/core/lib/gpr++/orphanable.h +171 -0
- data/src/core/lib/gpr++/ref_counted.h +133 -0
- data/src/core/lib/gpr++/ref_counted_ptr.h +99 -0
- data/src/core/lib/{support → gpr}/alloc.cc +0 -0
- data/src/core/lib/{support → gpr}/arena.cc +1 -1
- data/src/core/lib/{support → gpr}/arena.h +3 -11
- data/src/core/lib/{support → gpr}/atm.cc +0 -0
- data/src/core/lib/{support → gpr}/avl.cc +0 -0
- data/src/core/lib/{support → gpr}/cmdline.cc +1 -1
- data/src/core/lib/{support → gpr}/cpu_iphone.cc +0 -0
- data/src/core/lib/{support → gpr}/cpu_linux.cc +0 -0
- data/src/core/lib/{support → gpr}/cpu_posix.cc +0 -0
- data/src/core/lib/{support → gpr}/cpu_windows.cc +0 -0
- data/src/core/lib/{support → gpr}/env.h +3 -11
- data/src/core/lib/{support → gpr}/env_linux.cc +2 -2
- data/src/core/lib/{support → gpr}/env_posix.cc +4 -4
- data/src/core/lib/{support → gpr}/env_windows.cc +3 -3
- data/src/core/lib/{support → gpr}/fork.cc +3 -3
- data/src/core/lib/{support → gpr}/fork.h +3 -3
- data/src/core/lib/{support → gpr}/host_port.cc +1 -1
- data/src/core/lib/{support → gpr}/log.cc +3 -3
- data/src/core/lib/{support → gpr}/log_android.cc +3 -3
- data/src/core/lib/{support → gpr}/log_linux.cc +1 -1
- data/src/core/lib/{support → gpr}/log_posix.cc +5 -5
- data/src/core/lib/{support → gpr}/log_windows.cc +3 -3
- data/src/core/lib/{support → gpr}/mpscq.cc +1 -1
- data/src/core/lib/{support → gpr}/mpscq.h +3 -10
- data/src/core/lib/{support → gpr}/murmur_hash.cc +1 -1
- data/src/core/lib/{support → gpr}/murmur_hash.h +3 -11
- data/src/core/lib/{support → gpr}/spinlock.h +3 -3
- data/src/core/lib/{support → gpr}/string.cc +1 -1
- data/src/core/lib/{support → gpr}/string.h +3 -10
- data/src/core/lib/{support → gpr}/string_posix.cc +0 -0
- data/src/core/lib/{support → gpr}/string_util_windows.cc +2 -2
- data/src/core/lib/{support → gpr}/string_windows.cc +1 -1
- data/src/core/lib/{support → gpr}/string_windows.h +3 -11
- data/src/core/lib/{support → gpr}/subprocess_posix.cc +0 -0
- data/src/core/lib/{support → gpr}/subprocess_windows.cc +2 -2
- data/src/core/lib/{support → gpr}/sync.cc +0 -0
- data/src/core/lib/{support → gpr}/sync_posix.cc +10 -1
- data/src/core/lib/{support → gpr}/sync_windows.cc +0 -0
- data/src/core/lib/{support → gpr}/thd.cc +0 -0
- data/src/core/lib/{support → gpr}/thd_internal.h +3 -3
- data/src/core/lib/{support → gpr}/thd_posix.cc +18 -2
- data/src/core/lib/{support → gpr}/thd_windows.cc +2 -1
- data/src/core/lib/{support → gpr}/time.cc +0 -0
- data/src/core/lib/{support → gpr}/time_posix.cc +2 -4
- data/src/core/lib/{support → gpr}/time_precise.cc +1 -1
- data/src/core/lib/{support → gpr}/time_precise.h +3 -11
- data/src/core/lib/{support → gpr}/time_windows.cc +1 -3
- data/src/core/lib/{support → gpr}/tls_pthread.cc +0 -0
- data/src/core/lib/{support → gpr}/tmpfile.h +3 -11
- data/src/core/lib/{support → gpr}/tmpfile_msys.cc +2 -2
- data/src/core/lib/{support → gpr}/tmpfile_posix.cc +2 -2
- data/src/core/lib/{support → gpr}/tmpfile_windows.cc +2 -2
- data/src/core/lib/{support → gpr}/wrap_memcpy.cc +0 -0
- data/src/core/lib/http/format_request.cc +1 -1
- data/src/core/lib/http/format_request.h +0 -8
- data/src/core/lib/http/httpcli.cc +55 -74
- data/src/core/lib/http/httpcli.h +13 -22
- data/src/core/lib/http/httpcli_security_connector.cc +27 -33
- data/src/core/lib/http/parser.h +0 -8
- data/src/core/lib/iomgr/block_annotate.h +10 -17
- data/src/core/lib/iomgr/call_combiner.cc +14 -17
- data/src/core/lib/iomgr/call_combiner.h +16 -34
- data/src/core/lib/iomgr/closure.h +24 -37
- data/src/core/lib/iomgr/combiner.cc +62 -66
- data/src/core/lib/iomgr/combiner.h +6 -16
- data/src/core/lib/iomgr/endpoint.cc +15 -21
- data/src/core/lib/iomgr/endpoint.h +16 -33
- data/src/core/lib/iomgr/endpoint_pair.h +0 -8
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +4 -5
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +4 -6
- data/src/core/lib/iomgr/error.cc +2 -6
- data/src/core/lib/iomgr/error.h +4 -9
- data/src/core/lib/iomgr/error_internal.h +0 -8
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +110 -117
- data/src/core/lib/iomgr/ev_epoll1_linux.h +0 -8
- data/src/core/lib/iomgr/ev_epollex_linux.cc +111 -141
- data/src/core/lib/iomgr/ev_epollex_linux.h +0 -8
- data/src/core/lib/iomgr/ev_epollsig_linux.cc +83 -109
- data/src/core/lib/iomgr/ev_epollsig_linux.h +2 -10
- data/src/core/lib/iomgr/ev_poll_posix.cc +103 -125
- data/src/core/lib/iomgr/ev_poll_posix.h +0 -8
- data/src/core/lib/iomgr/ev_posix.cc +35 -50
- data/src/core/lib/iomgr/ev_posix.h +27 -53
- data/src/core/lib/iomgr/exec_ctx.cc +46 -78
- data/src/core/lib/iomgr/exec_ctx.h +127 -60
- data/src/core/lib/iomgr/executor.cc +34 -38
- data/src/core/lib/iomgr/executor.h +3 -11
- data/src/core/lib/iomgr/fork_posix.cc +13 -12
- data/src/core/lib/iomgr/gethostname.h +0 -8
- data/src/core/lib/iomgr/gethostname_sysconf.cc +1 -1
- data/src/core/lib/iomgr/iocp_windows.cc +14 -16
- data/src/core/lib/iomgr/iocp_windows.h +1 -10
- data/src/core/lib/iomgr/iomgr.cc +60 -59
- data/src/core/lib/iomgr/iomgr.h +3 -12
- data/src/core/lib/iomgr/iomgr_internal.h +0 -8
- data/src/core/lib/iomgr/iomgr_uv.cc +2 -3
- data/src/core/lib/iomgr/iomgr_uv.h +0 -8
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +1 -1
- data/src/core/lib/iomgr/load_file.cc +1 -1
- data/src/core/lib/iomgr/load_file.h +0 -8
- data/src/core/lib/iomgr/lockfree_event.cc +7 -8
- data/src/core/lib/iomgr/lockfree_event.h +3 -3
- data/src/core/lib/iomgr/polling_entity.cc +6 -10
- data/src/core/lib/iomgr/polling_entity.h +2 -11
- data/src/core/lib/iomgr/pollset.h +4 -13
- data/src/core/lib/iomgr/pollset_set.h +5 -18
- data/src/core/lib/iomgr/pollset_set_uv.cc +5 -10
- data/src/core/lib/iomgr/pollset_set_windows.cc +5 -10
- data/src/core/lib/iomgr/pollset_uv.cc +8 -9
- data/src/core/lib/iomgr/pollset_uv.h +0 -8
- data/src/core/lib/iomgr/pollset_windows.cc +14 -15
- data/src/core/lib/iomgr/pollset_windows.h +0 -8
- data/src/core/lib/iomgr/port.h +6 -1
- data/src/core/lib/iomgr/resolve_address.h +1 -10
- data/src/core/lib/iomgr/resolve_address_posix.cc +10 -12
- data/src/core/lib/iomgr/resolve_address_uv.cc +7 -8
- data/src/core/lib/iomgr/resolve_address_windows.cc +8 -9
- data/src/core/lib/iomgr/resource_quota.cc +77 -107
- data/src/core/lib/iomgr/resource_quota.h +8 -25
- data/src/core/lib/iomgr/sockaddr_utils.cc +1 -1
- data/src/core/lib/iomgr/sockaddr_utils.h +0 -8
- data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
- data/src/core/lib/iomgr/socket_factory_posix.h +0 -8
- data/src/core/lib/iomgr/socket_mutator.cc +1 -1
- data/src/core/lib/iomgr/socket_mutator.h +1 -9
- data/src/core/lib/iomgr/socket_utils.h +0 -8
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -1
- data/src/core/lib/iomgr/socket_utils_posix.h +0 -8
- data/src/core/lib/iomgr/socket_windows.cc +8 -11
- data/src/core/lib/iomgr/socket_windows.h +3 -14
- data/src/core/lib/iomgr/tcp_client.h +1 -10
- data/src/core/lib/iomgr/tcp_client_posix.cc +94 -78
- data/src/core/lib/iomgr/tcp_client_posix.h +36 -8
- data/src/core/lib/iomgr/tcp_client_uv.cc +16 -23
- data/src/core/lib/iomgr/tcp_client_windows.cc +22 -25
- data/src/core/lib/iomgr/tcp_posix.cc +131 -153
- data/src/core/lib/iomgr/tcp_posix.h +3 -12
- data/src/core/lib/iomgr/tcp_server.h +6 -17
- data/src/core/lib/iomgr/tcp_server_posix.cc +31 -35
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +0 -8
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -1
- data/src/core/lib/iomgr/tcp_server_uv.cc +23 -34
- data/src/core/lib/iomgr/tcp_server_windows.cc +24 -34
- data/src/core/lib/iomgr/tcp_uv.cc +42 -56
- data/src/core/lib/iomgr/tcp_uv.h +0 -8
- data/src/core/lib/iomgr/tcp_windows.cc +43 -50
- data/src/core/lib/iomgr/tcp_windows.h +1 -9
- data/src/core/lib/iomgr/time_averaged_stats.h +0 -8
- data/src/core/lib/iomgr/timer.h +6 -15
- data/src/core/lib/iomgr/timer_generic.cc +22 -27
- data/src/core/lib/iomgr/timer_heap.h +0 -8
- data/src/core/lib/iomgr/timer_manager.cc +17 -19
- data/src/core/lib/iomgr/timer_manager.h +0 -8
- data/src/core/lib/iomgr/timer_uv.cc +12 -14
- data/src/core/lib/iomgr/udp_server.cc +148 -54
- data/src/core/lib/iomgr/udp_server.h +16 -21
- data/src/core/lib/iomgr/unix_sockets_posix.h +0 -8
- data/src/core/lib/iomgr/wakeup_fd_cv.cc +4 -4
- data/src/core/lib/iomgr/wakeup_fd_cv.h +12 -20
- data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -1
- data/src/core/lib/iomgr/wakeup_fd_pipe.h +0 -8
- data/src/core/lib/iomgr/wakeup_fd_posix.h +0 -8
- data/src/core/lib/json/json.h +0 -8
- data/src/core/lib/json/json_reader.h +0 -8
- data/src/core/lib/json/json_writer.h +0 -8
- data/src/core/lib/profiling/basic_timers.cc +3 -2
- data/src/core/lib/profiling/timers.h +0 -8
- data/src/core/lib/security/context/security_context.cc +9 -10
- data/src/core/lib/security/context/security_context.h +0 -8
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +23 -28
- data/src/core/lib/security/credentials/composite/composite_credentials.h +0 -8
- data/src/core/lib/security/credentials/credentials.cc +33 -42
- data/src/core/lib/security/credentials/credentials.h +24 -43
- data/src/core/lib/security/credentials/credentials_metadata.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +16 -22
- data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -8
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +28 -34
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +0 -8
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +9 -13
- data/src/core/lib/security/credentials/jwt/json_token.cc +1 -1
- data/src/core/lib/security/credentials/jwt/json_token.h +0 -8
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +14 -20
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -10
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +56 -72
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +5 -17
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +47 -55
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +3 -12
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +23 -28
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +8 -13
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -8
- data/src/core/lib/security/transport/auth_filters.h +0 -8
- data/src/core/lib/security/transport/client_auth_filter.cc +45 -54
- data/src/core/lib/security/transport/lb_targets_info.cc +2 -2
- data/src/core/lib/security/transport/lb_targets_info.h +0 -8
- data/src/core/lib/security/transport/secure_endpoint.cc +54 -68
- data/src/core/lib/security/transport/secure_endpoint.h +0 -8
- data/src/core/lib/security/transport/security_connector.cc +62 -86
- data/src/core/lib/security/transport/security_connector.h +22 -39
- data/src/core/lib/security/transport/security_handshaker.cc +83 -106
- data/src/core/lib/security/transport/security_handshaker.h +1 -10
- data/src/core/lib/security/transport/server_auth_filter.cc +31 -38
- data/src/core/lib/security/transport/tsi_error.h +0 -8
- data/src/core/lib/security/util/json_util.h +0 -8
- data/src/core/lib/slice/b64.cc +5 -6
- data/src/core/lib/slice/b64.h +3 -12
- data/src/core/lib/slice/percent_encoding.h +0 -8
- data/src/core/lib/slice/slice.cc +8 -9
- data/src/core/lib/slice/slice_buffer.cc +11 -16
- data/src/core/lib/slice/slice_hash_table.cc +5 -7
- data/src/core/lib/slice/slice_hash_table.h +2 -12
- data/src/core/lib/slice/slice_intern.cc +4 -5
- data/src/core/lib/slice/slice_internal.h +4 -15
- data/src/core/lib/slice/slice_string_helpers.cc +1 -1
- data/src/core/lib/slice/slice_string_helpers.h +1 -9
- data/src/core/lib/surface/alarm.cc +11 -14
- data/src/core/lib/surface/alarm_internal.h +0 -8
- data/src/core/lib/surface/byte_buffer.cc +2 -3
- data/src/core/lib/surface/byte_buffer_reader.cc +7 -9
- data/src/core/lib/surface/call.cc +198 -241
- data/src/core/lib/surface/call.h +9 -23
- data/src/core/lib/surface/call_details.cc +3 -4
- data/src/core/lib/surface/call_log_batch.cc +1 -1
- data/src/core/lib/surface/call_test_only.h +0 -8
- data/src/core/lib/surface/channel.cc +53 -64
- data/src/core/lib/surface/channel.h +12 -23
- data/src/core/lib/surface/channel_init.cc +2 -3
- data/src/core/lib/surface/channel_init.h +2 -12
- data/src/core/lib/surface/channel_ping.cc +7 -9
- data/src/core/lib/surface/channel_stack_type.h +0 -8
- data/src/core/lib/surface/completion_queue.cc +158 -176
- data/src/core/lib/surface/completion_queue.h +9 -20
- data/src/core/lib/surface/completion_queue_factory.h +0 -8
- data/src/core/lib/surface/event_string.cc +1 -1
- data/src/core/lib/surface/event_string.h +0 -8
- data/src/core/lib/surface/init.cc +27 -25
- data/src/core/lib/surface/init.h +0 -8
- data/src/core/lib/surface/init_secure.cc +2 -2
- data/src/core/lib/surface/lame_client.cc +30 -33
- data/src/core/lib/surface/lame_client.h +0 -8
- data/src/core/lib/surface/server.cc +151 -203
- data/src/core/lib/surface/server.h +7 -16
- data/src/core/lib/surface/validate_metadata.h +0 -8
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.h +1 -1
- data/src/core/lib/transport/byte_stream.cc +24 -38
- data/src/core/lib/transport/byte_stream.h +10 -25
- data/src/core/lib/transport/connectivity_state.cc +9 -13
- data/src/core/lib/transport/connectivity_state.h +4 -14
- data/src/core/lib/transport/error_utils.cc +6 -6
- data/src/core/lib/transport/error_utils.h +2 -11
- data/src/core/lib/transport/metadata.cc +21 -23
- data/src/core/lib/transport/metadata.h +8 -20
- data/src/core/lib/transport/metadata_batch.cc +34 -45
- data/src/core/lib/transport/metadata_batch.h +18 -32
- data/src/core/lib/transport/service_config.cc +11 -15
- data/src/core/lib/transport/service_config.h +3 -13
- data/src/core/lib/transport/static_metadata.cc +1 -1
- data/src/core/lib/transport/static_metadata.h +1 -7
- data/src/core/lib/transport/status_conversion.cc +2 -3
- data/src/core/lib/transport/status_conversion.h +1 -10
- data/src/core/lib/transport/timeout_encoding.cc +1 -1
- data/src/core/lib/transport/timeout_encoding.h +1 -9
- data/src/core/lib/transport/transport.cc +36 -50
- data/src/core/lib/transport/transport.h +28 -30
- data/src/core/lib/transport/transport_impl.h +12 -23
- data/src/core/lib/transport/transport_op_string.cc +2 -2
- data/src/core/plugin_registry/grpc_plugin_registry.cc +34 -34
- data/src/core/tsi/fake_transport_security.cc +7 -10
- data/src/core/tsi/fake_transport_security.h +0 -8
- data/src/core/tsi/gts_transport_security.cc +2 -2
- data/src/core/tsi/gts_transport_security.h +0 -8
- data/src/core/tsi/ssl_transport_security.cc +3 -0
- data/src/core/tsi/ssl_transport_security.h +0 -8
- data/src/core/tsi/ssl_types.h +0 -8
- data/src/core/tsi/transport_security.h +1 -9
- data/src/core/tsi/transport_security_adapter.h +0 -8
- data/src/core/tsi/transport_security_grpc.cc +11 -18
- data/src/core/tsi/transport_security_grpc.h +9 -21
- data/src/core/tsi/transport_security_interface.h +0 -8
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +0 -30
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -48
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/channel_connection_spec.rb +2 -1
- data/src/ruby/spec/client_auth_spec.rb +1 -1
- data/src/ruby/spec/client_server_spec.rb +2 -2
- data/src/ruby/spec/generic/active_call_spec.rb +1 -1
- data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
- data/src/ruby/spec/generic/interceptor_registry_spec.rb +1 -1
- data/src/ruby/spec/generic/rpc_server_spec.rb +12 -12
- data/src/ruby/spec/google_rpc_status_utils_spec.rb +3 -2
- data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
- data/src/ruby/spec/server_spec.rb +9 -9
- data/src/ruby/spec/support/helpers.rb +35 -1
- metadata +68 -66
- data/include/grpc/impl/codegen/exec_ctx_fwd.h +0 -26
- data/include/grpc/support/histogram.h +0 -64
- data/src/core/lib/support/histogram.cc +0 -227
data/src/core/lib/surface/call.h
CHANGED
@@ -19,10 +19,6 @@
|
|
19
19
|
#ifndef GRPC_CORE_LIB_SURFACE_CALL_H
|
20
20
|
#define GRPC_CORE_LIB_SURFACE_CALL_H
|
21
21
|
|
22
|
-
#ifdef __cplusplus
|
23
|
-
extern "C" {
|
24
|
-
#endif
|
25
|
-
|
26
22
|
#include "src/core/lib/channel/channel_stack.h"
|
27
23
|
#include "src/core/lib/channel/context.h"
|
28
24
|
#include "src/core/lib/surface/api_trace.h"
|
@@ -30,8 +26,7 @@ extern "C" {
|
|
30
26
|
#include <grpc/grpc.h>
|
31
27
|
#include <grpc/impl/codegen/compression_types.h>
|
32
28
|
|
33
|
-
typedef void (*grpc_ioreq_completion_func)(
|
34
|
-
grpc_call* call, int success,
|
29
|
+
typedef void (*grpc_ioreq_completion_func)(grpc_call* call, int success,
|
35
30
|
void* user_data);
|
36
31
|
|
37
32
|
typedef struct grpc_call_create_args {
|
@@ -55,33 +50,28 @@ typedef struct grpc_call_create_args {
|
|
55
50
|
/* Create a new call based on \a args.
|
56
51
|
Regardless of success or failure, always returns a valid new call into *call
|
57
52
|
*/
|
58
|
-
grpc_error* grpc_call_create(
|
59
|
-
const grpc_call_create_args* args,
|
53
|
+
grpc_error* grpc_call_create(const grpc_call_create_args* args,
|
60
54
|
grpc_call** call);
|
61
55
|
|
62
|
-
void grpc_call_set_completion_queue(
|
63
|
-
grpc_completion_queue* cq);
|
56
|
+
void grpc_call_set_completion_queue(grpc_call* call, grpc_completion_queue* cq);
|
64
57
|
|
65
58
|
#ifndef NDEBUG
|
66
59
|
void grpc_call_internal_ref(grpc_call* call, const char* reason);
|
67
|
-
void grpc_call_internal_unref(
|
68
|
-
const char* reason);
|
60
|
+
void grpc_call_internal_unref(grpc_call* call, const char* reason);
|
69
61
|
#define GRPC_CALL_INTERNAL_REF(call, reason) \
|
70
62
|
grpc_call_internal_ref(call, reason)
|
71
|
-
#define GRPC_CALL_INTERNAL_UNREF(
|
72
|
-
grpc_call_internal_unref(
|
63
|
+
#define GRPC_CALL_INTERNAL_UNREF(call, reason) \
|
64
|
+
grpc_call_internal_unref(call, reason)
|
73
65
|
#else
|
74
66
|
void grpc_call_internal_ref(grpc_call* call);
|
75
|
-
void grpc_call_internal_unref(
|
67
|
+
void grpc_call_internal_unref(grpc_call* call);
|
76
68
|
#define GRPC_CALL_INTERNAL_REF(call, reason) grpc_call_internal_ref(call)
|
77
|
-
#define GRPC_CALL_INTERNAL_UNREF(
|
78
|
-
grpc_call_internal_unref(exec_ctx, call)
|
69
|
+
#define GRPC_CALL_INTERNAL_UNREF(call, reason) grpc_call_internal_unref(call)
|
79
70
|
#endif
|
80
71
|
|
81
72
|
grpc_call_stack* grpc_call_get_call_stack(grpc_call* call);
|
82
73
|
|
83
|
-
grpc_call_error grpc_call_start_batch_and_execute(
|
84
|
-
grpc_call* call,
|
74
|
+
grpc_call_error grpc_call_start_batch_and_execute(grpc_call* call,
|
85
75
|
const grpc_op* ops,
|
86
76
|
size_t nops,
|
87
77
|
grpc_closure* closure);
|
@@ -114,8 +104,4 @@ grpc_compression_algorithm grpc_call_compression_for_level(
|
|
114
104
|
extern grpc_core::TraceFlag grpc_call_error_trace;
|
115
105
|
extern grpc_core::TraceFlag grpc_compression_trace;
|
116
106
|
|
117
|
-
#ifdef __cplusplus
|
118
|
-
}
|
119
|
-
#endif
|
120
|
-
|
121
107
|
#endif /* GRPC_CORE_LIB_SURFACE_CALL_H */
|
@@ -34,8 +34,7 @@ void grpc_call_details_init(grpc_call_details* cd) {
|
|
34
34
|
|
35
35
|
void grpc_call_details_destroy(grpc_call_details* cd) {
|
36
36
|
GRPC_API_TRACE("grpc_call_details_destroy(cd=%p)", 1, (cd));
|
37
|
-
|
38
|
-
grpc_slice_unref_internal(
|
39
|
-
grpc_slice_unref_internal(
|
40
|
-
grpc_exec_ctx_finish(&exec_ctx);
|
37
|
+
grpc_core::ExecCtx exec_ctx;
|
38
|
+
grpc_slice_unref_internal(cd->method);
|
39
|
+
grpc_slice_unref_internal(cd->host);
|
41
40
|
}
|
@@ -22,8 +22,8 @@
|
|
22
22
|
|
23
23
|
#include <grpc/support/alloc.h>
|
24
24
|
#include <grpc/support/string_util.h>
|
25
|
+
#include "src/core/lib/gpr/string.h"
|
25
26
|
#include "src/core/lib/slice/slice_string_helpers.h"
|
26
|
-
#include "src/core/lib/support/string.h"
|
27
27
|
|
28
28
|
static void add_metadata(gpr_strvec* b, const grpc_metadata* md, size_t count) {
|
29
29
|
size_t i;
|
@@ -21,10 +21,6 @@
|
|
21
21
|
|
22
22
|
#include <grpc/grpc.h>
|
23
23
|
|
24
|
-
#ifdef __cplusplus
|
25
|
-
extern "C" {
|
26
|
-
#endif
|
27
|
-
|
28
24
|
/** Return the compression algorithm from \a call.
|
29
25
|
*
|
30
26
|
* \warning This function should \b only be used in test code. */
|
@@ -54,8 +50,4 @@ uint32_t grpc_call_test_only_get_stream_encodings_accepted_by_peer(
|
|
54
50
|
grpc_stream_compression_algorithm
|
55
51
|
grpc_call_test_only_get_incoming_stream_encodings(grpc_call* call);
|
56
52
|
|
57
|
-
#ifdef __cplusplus
|
58
|
-
}
|
59
|
-
#endif
|
60
|
-
|
61
53
|
#endif /* GRPC_CORE_LIB_SURFACE_CALL_TEST_ONLY_H */
|
@@ -29,9 +29,9 @@
|
|
29
29
|
|
30
30
|
#include "src/core/lib/channel/channel_args.h"
|
31
31
|
#include "src/core/lib/debug/stats.h"
|
32
|
+
#include "src/core/lib/gpr/string.h"
|
32
33
|
#include "src/core/lib/iomgr/iomgr.h"
|
33
34
|
#include "src/core/lib/slice/slice_internal.h"
|
34
|
-
#include "src/core/lib/support/string.h"
|
35
35
|
#include "src/core/lib/surface/api_trace.h"
|
36
36
|
#include "src/core/lib/surface/call.h"
|
37
37
|
#include "src/core/lib/surface/channel_init.h"
|
@@ -69,23 +69,22 @@ struct grpc_channel {
|
|
69
69
|
#define CHANNEL_FROM_TOP_ELEM(top_elem) \
|
70
70
|
CHANNEL_FROM_CHANNEL_STACK(grpc_channel_stack_from_top_element(top_elem))
|
71
71
|
|
72
|
-
static void destroy_channel(
|
73
|
-
grpc_error* error);
|
72
|
+
static void destroy_channel(void* arg, grpc_error* error);
|
74
73
|
|
75
74
|
grpc_channel* grpc_channel_create_with_builder(
|
76
|
-
|
75
|
+
grpc_channel_stack_builder* builder,
|
77
76
|
grpc_channel_stack_type channel_stack_type) {
|
78
77
|
char* target = gpr_strdup(grpc_channel_stack_builder_get_target(builder));
|
79
78
|
grpc_channel_args* args = grpc_channel_args_copy(
|
80
79
|
grpc_channel_stack_builder_get_channel_arguments(builder));
|
81
80
|
grpc_channel* channel;
|
82
81
|
if (channel_stack_type == GRPC_SERVER_CHANNEL) {
|
83
|
-
GRPC_STATS_INC_SERVER_CHANNELS_CREATED(
|
82
|
+
GRPC_STATS_INC_SERVER_CHANNELS_CREATED();
|
84
83
|
} else {
|
85
|
-
GRPC_STATS_INC_CLIENT_CHANNELS_CREATED(
|
84
|
+
GRPC_STATS_INC_CLIENT_CHANNELS_CREATED();
|
86
85
|
}
|
87
86
|
grpc_error* error = grpc_channel_stack_builder_finish(
|
88
|
-
|
87
|
+
builder, sizeof(grpc_channel), 1, destroy_channel, nullptr,
|
89
88
|
(void**)&channel);
|
90
89
|
if (error != GRPC_ERROR_NONE) {
|
91
90
|
gpr_log(GPR_ERROR, "channel stack builder failed: %s",
|
@@ -114,10 +113,10 @@ grpc_channel* grpc_channel_create_with_builder(
|
|
114
113
|
} else {
|
115
114
|
if (!GRPC_MDISNULL(channel->default_authority)) {
|
116
115
|
/* setting this takes precedence over anything else */
|
117
|
-
GRPC_MDELEM_UNREF(
|
116
|
+
GRPC_MDELEM_UNREF(channel->default_authority);
|
118
117
|
}
|
119
118
|
channel->default_authority = grpc_mdelem_from_slices(
|
120
|
-
|
119
|
+
GRPC_MDSTR_AUTHORITY,
|
121
120
|
grpc_slice_intern(
|
122
121
|
grpc_slice_from_static_string(args->args[i].value.string)));
|
123
122
|
}
|
@@ -134,7 +133,7 @@ grpc_channel* grpc_channel_create_with_builder(
|
|
134
133
|
GRPC_SSL_TARGET_NAME_OVERRIDE_ARG);
|
135
134
|
} else {
|
136
135
|
channel->default_authority = grpc_mdelem_from_slices(
|
137
|
-
|
136
|
+
GRPC_MDSTR_AUTHORITY,
|
138
137
|
grpc_slice_intern(
|
139
138
|
grpc_slice_from_static_string(args->args[i].value.string)));
|
140
139
|
}
|
@@ -191,25 +190,23 @@ grpc_channel* grpc_channel_create_with_builder(
|
|
191
190
|
}
|
192
191
|
|
193
192
|
done:
|
194
|
-
grpc_channel_args_destroy(
|
193
|
+
grpc_channel_args_destroy(args);
|
195
194
|
return channel;
|
196
195
|
}
|
197
196
|
|
198
|
-
grpc_channel* grpc_channel_create(
|
197
|
+
grpc_channel* grpc_channel_create(const char* target,
|
199
198
|
const grpc_channel_args* input_args,
|
200
199
|
grpc_channel_stack_type channel_stack_type,
|
201
200
|
grpc_transport* optional_transport) {
|
202
201
|
grpc_channel_stack_builder* builder = grpc_channel_stack_builder_create();
|
203
|
-
grpc_channel_stack_builder_set_channel_arguments(
|
204
|
-
input_args);
|
202
|
+
grpc_channel_stack_builder_set_channel_arguments(builder, input_args);
|
205
203
|
grpc_channel_stack_builder_set_target(builder, target);
|
206
204
|
grpc_channel_stack_builder_set_transport(builder, optional_transport);
|
207
|
-
if (!grpc_channel_init_create_stack(
|
208
|
-
grpc_channel_stack_builder_destroy(
|
205
|
+
if (!grpc_channel_init_create_stack(builder, channel_stack_type)) {
|
206
|
+
grpc_channel_stack_builder_destroy(builder);
|
209
207
|
return nullptr;
|
210
208
|
}
|
211
|
-
return grpc_channel_create_with_builder(
|
212
|
-
channel_stack_type);
|
209
|
+
return grpc_channel_create_with_builder(builder, channel_stack_type);
|
213
210
|
}
|
214
211
|
|
215
212
|
size_t grpc_channel_get_call_size_estimate(grpc_channel* channel) {
|
@@ -251,18 +248,17 @@ char* grpc_channel_get_target(grpc_channel* channel) {
|
|
251
248
|
|
252
249
|
void grpc_channel_get_info(grpc_channel* channel,
|
253
250
|
const grpc_channel_info* channel_info) {
|
254
|
-
|
251
|
+
grpc_core::ExecCtx exec_ctx;
|
255
252
|
grpc_channel_element* elem =
|
256
253
|
grpc_channel_stack_element(CHANNEL_STACK_FROM_CHANNEL(channel), 0);
|
257
|
-
elem->filter->get_channel_info(
|
258
|
-
grpc_exec_ctx_finish(&exec_ctx);
|
254
|
+
elem->filter->get_channel_info(elem, channel_info);
|
259
255
|
}
|
260
256
|
|
261
257
|
static grpc_call* grpc_channel_create_call_internal(
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
258
|
+
grpc_channel* channel, grpc_call* parent_call, uint32_t propagation_mask,
|
259
|
+
grpc_completion_queue* cq, grpc_pollset_set* pollset_set_alternative,
|
260
|
+
grpc_mdelem path_mdelem, grpc_mdelem authority_mdelem,
|
261
|
+
grpc_millis deadline) {
|
266
262
|
grpc_mdelem send_metadata[2];
|
267
263
|
size_t num_metadata = 0;
|
268
264
|
|
@@ -289,7 +285,7 @@ static grpc_call* grpc_channel_create_call_internal(
|
|
289
285
|
args.send_deadline = deadline;
|
290
286
|
|
291
287
|
grpc_call* call;
|
292
|
-
GRPC_LOG_IF_ERROR("call_create", grpc_call_create(
|
288
|
+
GRPC_LOG_IF_ERROR("call_create", grpc_call_create(&args, &call));
|
293
289
|
return call;
|
294
290
|
}
|
295
291
|
|
@@ -300,29 +296,27 @@ grpc_call* grpc_channel_create_call(grpc_channel* channel,
|
|
300
296
|
grpc_slice method, const grpc_slice* host,
|
301
297
|
gpr_timespec deadline, void* reserved) {
|
302
298
|
GPR_ASSERT(!reserved);
|
303
|
-
|
299
|
+
grpc_core::ExecCtx exec_ctx;
|
304
300
|
grpc_call* call = grpc_channel_create_call_internal(
|
305
|
-
|
306
|
-
grpc_mdelem_from_slices(
|
307
|
-
|
308
|
-
host != nullptr ? grpc_mdelem_from_slices(&exec_ctx, GRPC_MDSTR_AUTHORITY,
|
301
|
+
channel, parent_call, propagation_mask, cq, nullptr,
|
302
|
+
grpc_mdelem_from_slices(GRPC_MDSTR_PATH, grpc_slice_ref_internal(method)),
|
303
|
+
host != nullptr ? grpc_mdelem_from_slices(GRPC_MDSTR_AUTHORITY,
|
309
304
|
grpc_slice_ref_internal(*host))
|
310
305
|
: GRPC_MDNULL,
|
311
306
|
grpc_timespec_to_millis_round_up(deadline));
|
312
|
-
|
307
|
+
|
313
308
|
return call;
|
314
309
|
}
|
315
310
|
|
316
311
|
grpc_call* grpc_channel_create_pollset_set_call(
|
317
|
-
|
318
|
-
|
319
|
-
|
312
|
+
grpc_channel* channel, grpc_call* parent_call, uint32_t propagation_mask,
|
313
|
+
grpc_pollset_set* pollset_set, grpc_slice method, const grpc_slice* host,
|
314
|
+
grpc_millis deadline, void* reserved) {
|
320
315
|
GPR_ASSERT(!reserved);
|
321
316
|
return grpc_channel_create_call_internal(
|
322
|
-
|
323
|
-
grpc_mdelem_from_slices(
|
324
|
-
|
325
|
-
host != nullptr ? grpc_mdelem_from_slices(exec_ctx, GRPC_MDSTR_AUTHORITY,
|
317
|
+
channel, parent_call, propagation_mask, nullptr, pollset_set,
|
318
|
+
grpc_mdelem_from_slices(GRPC_MDSTR_PATH, grpc_slice_ref_internal(method)),
|
319
|
+
host != nullptr ? grpc_mdelem_from_slices(GRPC_MDSTR_AUTHORITY,
|
326
320
|
grpc_slice_ref_internal(*host))
|
327
321
|
: GRPC_MDNULL,
|
328
322
|
deadline);
|
@@ -335,21 +329,21 @@ void* grpc_channel_register_call(grpc_channel* channel, const char* method,
|
|
335
329
|
"grpc_channel_register_call(channel=%p, method=%s, host=%s, reserved=%p)",
|
336
330
|
4, (channel, method, host, reserved));
|
337
331
|
GPR_ASSERT(!reserved);
|
338
|
-
|
332
|
+
grpc_core::ExecCtx exec_ctx;
|
339
333
|
|
340
334
|
rc->path = grpc_mdelem_from_slices(
|
341
|
-
|
335
|
+
GRPC_MDSTR_PATH,
|
342
336
|
grpc_slice_intern(grpc_slice_from_static_string(method)));
|
343
337
|
rc->authority =
|
344
338
|
host ? grpc_mdelem_from_slices(
|
345
|
-
|
339
|
+
GRPC_MDSTR_AUTHORITY,
|
346
340
|
grpc_slice_intern(grpc_slice_from_static_string(host)))
|
347
341
|
: GRPC_MDNULL;
|
348
342
|
gpr_mu_lock(&channel->registered_call_mu);
|
349
343
|
rc->next = channel->registered_calls;
|
350
344
|
channel->registered_calls = rc;
|
351
345
|
gpr_mu_unlock(&channel->registered_call_mu);
|
352
|
-
|
346
|
+
|
353
347
|
return rc;
|
354
348
|
}
|
355
349
|
|
@@ -370,12 +364,12 @@ grpc_call* grpc_channel_create_registered_call(
|
|
370
364
|
registered_call_handle, deadline.tv_sec, deadline.tv_nsec,
|
371
365
|
(int)deadline.clock_type, reserved));
|
372
366
|
GPR_ASSERT(!reserved);
|
373
|
-
|
367
|
+
grpc_core::ExecCtx exec_ctx;
|
374
368
|
grpc_call* call = grpc_channel_create_call_internal(
|
375
|
-
|
376
|
-
|
369
|
+
channel, parent_call, propagation_mask, completion_queue, nullptr,
|
370
|
+
GRPC_MDELEM_REF(rc->path), GRPC_MDELEM_REF(rc->authority),
|
377
371
|
grpc_timespec_to_millis_round_up(deadline));
|
378
|
-
|
372
|
+
|
379
373
|
return call;
|
380
374
|
}
|
381
375
|
|
@@ -390,23 +384,21 @@ void grpc_channel_internal_ref(grpc_channel* c REF_ARG) {
|
|
390
384
|
GRPC_CHANNEL_STACK_REF(CHANNEL_STACK_FROM_CHANNEL(c), REF_REASON);
|
391
385
|
}
|
392
386
|
|
393
|
-
void grpc_channel_internal_unref(
|
394
|
-
|
395
|
-
GRPC_CHANNEL_STACK_UNREF(exec_ctx, CHANNEL_STACK_FROM_CHANNEL(c), REF_REASON);
|
387
|
+
void grpc_channel_internal_unref(grpc_channel* c REF_ARG) {
|
388
|
+
GRPC_CHANNEL_STACK_UNREF(CHANNEL_STACK_FROM_CHANNEL(c), REF_REASON);
|
396
389
|
}
|
397
390
|
|
398
|
-
static void destroy_channel(
|
399
|
-
grpc_error* error) {
|
391
|
+
static void destroy_channel(void* arg, grpc_error* error) {
|
400
392
|
grpc_channel* channel = (grpc_channel*)arg;
|
401
|
-
grpc_channel_stack_destroy(
|
393
|
+
grpc_channel_stack_destroy(CHANNEL_STACK_FROM_CHANNEL(channel));
|
402
394
|
while (channel->registered_calls) {
|
403
395
|
registered_call* rc = channel->registered_calls;
|
404
396
|
channel->registered_calls = rc->next;
|
405
|
-
GRPC_MDELEM_UNREF(
|
406
|
-
GRPC_MDELEM_UNREF(
|
397
|
+
GRPC_MDELEM_UNREF(rc->path);
|
398
|
+
GRPC_MDELEM_UNREF(rc->authority);
|
407
399
|
gpr_free(rc);
|
408
400
|
}
|
409
|
-
GRPC_MDELEM_UNREF(
|
401
|
+
GRPC_MDELEM_UNREF(channel->default_authority);
|
410
402
|
gpr_mu_destroy(&channel->registered_call_mu);
|
411
403
|
gpr_free(channel->target);
|
412
404
|
gpr_free(channel);
|
@@ -415,16 +407,14 @@ static void destroy_channel(grpc_exec_ctx* exec_ctx, void* arg,
|
|
415
407
|
void grpc_channel_destroy(grpc_channel* channel) {
|
416
408
|
grpc_transport_op* op = grpc_make_transport_op(nullptr);
|
417
409
|
grpc_channel_element* elem;
|
418
|
-
|
410
|
+
grpc_core::ExecCtx exec_ctx;
|
419
411
|
GRPC_API_TRACE("grpc_channel_destroy(channel=%p)", 1, (channel));
|
420
412
|
op->disconnect_with_error =
|
421
413
|
GRPC_ERROR_CREATE_FROM_STATIC_STRING("Channel Destroyed");
|
422
414
|
elem = grpc_channel_stack_element(CHANNEL_STACK_FROM_CHANNEL(channel), 0);
|
423
|
-
elem->filter->start_transport_op(
|
424
|
-
|
425
|
-
GRPC_CHANNEL_INTERNAL_UNREF(&exec_ctx, channel, "channel");
|
415
|
+
elem->filter->start_transport_op(elem, op);
|
426
416
|
|
427
|
-
|
417
|
+
GRPC_CHANNEL_INTERNAL_UNREF(channel, "channel");
|
428
418
|
}
|
429
419
|
|
430
420
|
grpc_channel_stack* grpc_channel_get_channel_stack(grpc_channel* channel) {
|
@@ -436,8 +426,7 @@ grpc_compression_options grpc_channel_compression_options(
|
|
436
426
|
return channel->compression_options;
|
437
427
|
}
|
438
428
|
|
439
|
-
grpc_mdelem grpc_channel_get_reffed_status_elem(
|
440
|
-
grpc_channel* channel, int i) {
|
429
|
+
grpc_mdelem grpc_channel_get_reffed_status_elem(grpc_channel* channel, int i) {
|
441
430
|
char tmp[GPR_LTOA_MIN_BUFSIZE];
|
442
431
|
switch (i) {
|
443
432
|
case 0:
|
@@ -448,6 +437,6 @@ grpc_mdelem grpc_channel_get_reffed_status_elem(grpc_exec_ctx* exec_ctx,
|
|
448
437
|
return GRPC_MDELEM_GRPC_STATUS_2;
|
449
438
|
}
|
450
439
|
gpr_ltoa(i, tmp);
|
451
|
-
return grpc_mdelem_from_slices(
|
440
|
+
return grpc_mdelem_from_slices(GRPC_MDSTR_GRPC_STATUS,
|
452
441
|
grpc_slice_from_copied_string(tmp));
|
453
442
|
}
|
@@ -23,17 +23,13 @@
|
|
23
23
|
#include "src/core/lib/channel/channel_stack_builder.h"
|
24
24
|
#include "src/core/lib/surface/channel_stack_type.h"
|
25
25
|
|
26
|
-
|
27
|
-
extern "C" {
|
28
|
-
#endif
|
29
|
-
|
30
|
-
grpc_channel* grpc_channel_create(grpc_exec_ctx* exec_ctx, const char* target,
|
26
|
+
grpc_channel* grpc_channel_create(const char* target,
|
31
27
|
const grpc_channel_args* args,
|
32
28
|
grpc_channel_stack_type channel_stack_type,
|
33
29
|
grpc_transport* optional_transport);
|
34
30
|
|
35
31
|
grpc_channel* grpc_channel_create_with_builder(
|
36
|
-
|
32
|
+
grpc_channel_stack_builder* builder,
|
37
33
|
grpc_channel_stack_type channel_stack_type);
|
38
34
|
|
39
35
|
/** Create a call given a grpc_channel, in order to call \a method.
|
@@ -45,9 +41,9 @@ grpc_channel* grpc_channel_create_with_builder(
|
|
45
41
|
properties from the server call to this new client call, depending on the
|
46
42
|
value of \a propagation_mask (see propagation_bits.h for possible values) */
|
47
43
|
grpc_call* grpc_channel_create_pollset_set_call(
|
48
|
-
|
49
|
-
|
50
|
-
|
44
|
+
grpc_channel* channel, grpc_call* parent_call, uint32_t propagation_mask,
|
45
|
+
grpc_pollset_set* pollset_set, grpc_slice method, const grpc_slice* host,
|
46
|
+
grpc_millis deadline, void* reserved);
|
51
47
|
|
52
48
|
/** Get a (borrowed) pointer to this channels underlying channel stack */
|
53
49
|
grpc_channel_stack* grpc_channel_get_channel_stack(grpc_channel* channel);
|
@@ -56,8 +52,7 @@ grpc_channel_stack* grpc_channel_get_channel_stack(grpc_channel* channel);
|
|
56
52
|
status_code.
|
57
53
|
|
58
54
|
The returned elem is owned by the caller. */
|
59
|
-
grpc_mdelem grpc_channel_get_reffed_status_elem(
|
60
|
-
grpc_channel* channel,
|
55
|
+
grpc_mdelem grpc_channel_get_reffed_status_elem(grpc_channel* channel,
|
61
56
|
int status_code);
|
62
57
|
|
63
58
|
size_t grpc_channel_get_call_size_estimate(grpc_channel* channel);
|
@@ -65,28 +60,22 @@ void grpc_channel_update_call_size_estimate(grpc_channel* channel, size_t size);
|
|
65
60
|
|
66
61
|
#ifndef NDEBUG
|
67
62
|
void grpc_channel_internal_ref(grpc_channel* channel, const char* reason);
|
68
|
-
void grpc_channel_internal_unref(
|
69
|
-
const char* reason);
|
63
|
+
void grpc_channel_internal_unref(grpc_channel* channel, const char* reason);
|
70
64
|
#define GRPC_CHANNEL_INTERNAL_REF(channel, reason) \
|
71
65
|
grpc_channel_internal_ref(channel, reason)
|
72
|
-
#define GRPC_CHANNEL_INTERNAL_UNREF(
|
73
|
-
grpc_channel_internal_unref(
|
66
|
+
#define GRPC_CHANNEL_INTERNAL_UNREF(channel, reason) \
|
67
|
+
grpc_channel_internal_unref(channel, reason)
|
74
68
|
#else
|
75
69
|
void grpc_channel_internal_ref(grpc_channel* channel);
|
76
|
-
void grpc_channel_internal_unref(
|
77
|
-
grpc_channel* channel);
|
70
|
+
void grpc_channel_internal_unref(grpc_channel* channel);
|
78
71
|
#define GRPC_CHANNEL_INTERNAL_REF(channel, reason) \
|
79
72
|
grpc_channel_internal_ref(channel)
|
80
|
-
#define GRPC_CHANNEL_INTERNAL_UNREF(
|
81
|
-
grpc_channel_internal_unref(
|
73
|
+
#define GRPC_CHANNEL_INTERNAL_UNREF(channel, reason) \
|
74
|
+
grpc_channel_internal_unref(channel)
|
82
75
|
#endif
|
83
76
|
|
84
77
|
/** Return the channel's compression options. */
|
85
78
|
grpc_compression_options grpc_channel_compression_options(
|
86
79
|
const grpc_channel* channel);
|
87
80
|
|
88
|
-
#ifdef __cplusplus
|
89
|
-
}
|
90
|
-
#endif
|
91
|
-
|
92
81
|
#endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_H */
|