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
@@ -21,10 +21,6 @@
|
|
21
21
|
|
22
22
|
#include "src/core/lib/security/credentials/credentials.h"
|
23
23
|
|
24
|
-
#ifdef __cplusplus
|
25
|
-
extern "C" {
|
26
|
-
#endif
|
27
|
-
|
28
24
|
typedef struct {
|
29
25
|
grpc_call_credentials** creds_array;
|
30
26
|
size_t num_creds;
|
@@ -57,9 +53,5 @@ typedef struct {
|
|
57
53
|
grpc_call_credentials_array inner;
|
58
54
|
} grpc_composite_call_credentials;
|
59
55
|
|
60
|
-
#ifdef __cplusplus
|
61
|
-
}
|
62
|
-
#endif
|
63
|
-
|
64
56
|
#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_COMPOSITE_COMPOSITE_CREDENTIALS_H \
|
65
57
|
*/
|
@@ -22,11 +22,11 @@
|
|
22
22
|
#include <string.h>
|
23
23
|
|
24
24
|
#include "src/core/lib/channel/channel_args.h"
|
25
|
+
#include "src/core/lib/gpr/string.h"
|
25
26
|
#include "src/core/lib/http/httpcli.h"
|
26
27
|
#include "src/core/lib/http/parser.h"
|
27
28
|
#include "src/core/lib/iomgr/executor.h"
|
28
29
|
#include "src/core/lib/json/json.h"
|
29
|
-
#include "src/core/lib/support/string.h"
|
30
30
|
#include "src/core/lib/surface/api_trace.h"
|
31
31
|
|
32
32
|
#include <grpc/support/alloc.h>
|
@@ -47,8 +47,8 @@ grpc_credentials_metadata_request* grpc_credentials_metadata_request_create(
|
|
47
47
|
}
|
48
48
|
|
49
49
|
void grpc_credentials_metadata_request_destroy(
|
50
|
-
|
51
|
-
grpc_call_credentials_unref(
|
50
|
+
grpc_credentials_metadata_request* r) {
|
51
|
+
grpc_call_credentials_unref(r->creds);
|
52
52
|
grpc_http_response_destroy(&r->response);
|
53
53
|
gpr_free(r);
|
54
54
|
}
|
@@ -60,12 +60,11 @@ grpc_channel_credentials* grpc_channel_credentials_ref(
|
|
60
60
|
return creds;
|
61
61
|
}
|
62
62
|
|
63
|
-
void grpc_channel_credentials_unref(
|
64
|
-
grpc_channel_credentials* creds) {
|
63
|
+
void grpc_channel_credentials_unref(grpc_channel_credentials* creds) {
|
65
64
|
if (creds == nullptr) return;
|
66
65
|
if (gpr_unref(&creds->refcount)) {
|
67
66
|
if (creds->vtable->destruct != nullptr) {
|
68
|
-
creds->vtable->destruct(
|
67
|
+
creds->vtable->destruct(creds);
|
69
68
|
}
|
70
69
|
gpr_free(creds);
|
71
70
|
}
|
@@ -73,9 +72,8 @@ void grpc_channel_credentials_unref(grpc_exec_ctx* exec_ctx,
|
|
73
72
|
|
74
73
|
void grpc_channel_credentials_release(grpc_channel_credentials* creds) {
|
75
74
|
GRPC_API_TRACE("grpc_channel_credentials_release(creds=%p)", 1, (creds));
|
76
|
-
|
77
|
-
grpc_channel_credentials_unref(
|
78
|
-
grpc_exec_ctx_finish(&exec_ctx);
|
75
|
+
grpc_core::ExecCtx exec_ctx;
|
76
|
+
grpc_channel_credentials_unref(creds);
|
79
77
|
}
|
80
78
|
|
81
79
|
grpc_call_credentials* grpc_call_credentials_ref(grpc_call_credentials* creds) {
|
@@ -84,12 +82,11 @@ grpc_call_credentials* grpc_call_credentials_ref(grpc_call_credentials* creds) {
|
|
84
82
|
return creds;
|
85
83
|
}
|
86
84
|
|
87
|
-
void grpc_call_credentials_unref(
|
88
|
-
grpc_call_credentials* creds) {
|
85
|
+
void grpc_call_credentials_unref(grpc_call_credentials* creds) {
|
89
86
|
if (creds == nullptr) return;
|
90
87
|
if (gpr_unref(&creds->refcount)) {
|
91
88
|
if (creds->vtable->destruct != nullptr) {
|
92
|
-
creds->vtable->destruct(
|
89
|
+
creds->vtable->destruct(creds);
|
93
90
|
}
|
94
91
|
gpr_free(creds);
|
95
92
|
}
|
@@ -97,44 +94,42 @@ void grpc_call_credentials_unref(grpc_exec_ctx* exec_ctx,
|
|
97
94
|
|
98
95
|
void grpc_call_credentials_release(grpc_call_credentials* creds) {
|
99
96
|
GRPC_API_TRACE("grpc_call_credentials_release(creds=%p)", 1, (creds));
|
100
|
-
|
101
|
-
grpc_call_credentials_unref(
|
102
|
-
grpc_exec_ctx_finish(&exec_ctx);
|
97
|
+
grpc_core::ExecCtx exec_ctx;
|
98
|
+
grpc_call_credentials_unref(creds);
|
103
99
|
}
|
104
100
|
|
105
101
|
bool grpc_call_credentials_get_request_metadata(
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
grpc_error** error) {
|
102
|
+
grpc_call_credentials* creds, grpc_polling_entity* pollent,
|
103
|
+
grpc_auth_metadata_context context, grpc_credentials_mdelem_array* md_array,
|
104
|
+
grpc_closure* on_request_metadata, grpc_error** error) {
|
110
105
|
if (creds == nullptr || creds->vtable->get_request_metadata == nullptr) {
|
111
106
|
return true;
|
112
107
|
}
|
113
|
-
return creds->vtable->get_request_metadata(
|
114
|
-
|
108
|
+
return creds->vtable->get_request_metadata(creds, pollent, context, md_array,
|
109
|
+
on_request_metadata, error);
|
115
110
|
}
|
116
111
|
|
117
112
|
void grpc_call_credentials_cancel_get_request_metadata(
|
118
|
-
|
119
|
-
|
113
|
+
grpc_call_credentials* creds, grpc_credentials_mdelem_array* md_array,
|
114
|
+
grpc_error* error) {
|
120
115
|
if (creds == nullptr ||
|
121
116
|
creds->vtable->cancel_get_request_metadata == nullptr) {
|
122
117
|
return;
|
123
118
|
}
|
124
|
-
creds->vtable->cancel_get_request_metadata(
|
119
|
+
creds->vtable->cancel_get_request_metadata(creds, md_array, error);
|
125
120
|
}
|
126
121
|
|
127
122
|
grpc_security_status grpc_channel_credentials_create_security_connector(
|
128
|
-
|
129
|
-
const
|
130
|
-
|
123
|
+
grpc_channel_credentials* channel_creds, const char* target,
|
124
|
+
const grpc_channel_args* args, grpc_channel_security_connector** sc,
|
125
|
+
grpc_channel_args** new_args) {
|
131
126
|
*new_args = nullptr;
|
132
127
|
if (channel_creds == nullptr) {
|
133
128
|
return GRPC_SECURITY_ERROR;
|
134
129
|
}
|
135
130
|
GPR_ASSERT(channel_creds->vtable->create_security_connector != nullptr);
|
136
131
|
return channel_creds->vtable->create_security_connector(
|
137
|
-
|
132
|
+
channel_creds, nullptr, target, args, sc, new_args);
|
138
133
|
}
|
139
134
|
|
140
135
|
grpc_channel_credentials*
|
@@ -149,8 +144,8 @@ grpc_channel_credentials_duplicate_without_call_credentials(
|
|
149
144
|
}
|
150
145
|
}
|
151
146
|
|
152
|
-
static void credentials_pointer_arg_destroy(
|
153
|
-
grpc_channel_credentials_unref(
|
147
|
+
static void credentials_pointer_arg_destroy(void* p) {
|
148
|
+
grpc_channel_credentials_unref((grpc_channel_credentials*)p);
|
154
149
|
}
|
155
150
|
|
156
151
|
static void* credentials_pointer_arg_copy(void* p) {
|
@@ -200,12 +195,11 @@ grpc_server_credentials* grpc_server_credentials_ref(
|
|
200
195
|
return creds;
|
201
196
|
}
|
202
197
|
|
203
|
-
void grpc_server_credentials_unref(
|
204
|
-
grpc_server_credentials* creds) {
|
198
|
+
void grpc_server_credentials_unref(grpc_server_credentials* creds) {
|
205
199
|
if (creds == nullptr) return;
|
206
200
|
if (gpr_unref(&creds->refcount)) {
|
207
201
|
if (creds->vtable->destruct != nullptr) {
|
208
|
-
creds->vtable->destruct(
|
202
|
+
creds->vtable->destruct(creds);
|
209
203
|
}
|
210
204
|
if (creds->processor.destroy != nullptr &&
|
211
205
|
creds->processor.state != nullptr) {
|
@@ -217,19 +211,17 @@ void grpc_server_credentials_unref(grpc_exec_ctx* exec_ctx,
|
|
217
211
|
|
218
212
|
void grpc_server_credentials_release(grpc_server_credentials* creds) {
|
219
213
|
GRPC_API_TRACE("grpc_server_credentials_release(creds=%p)", 1, (creds));
|
220
|
-
|
221
|
-
grpc_server_credentials_unref(
|
222
|
-
grpc_exec_ctx_finish(&exec_ctx);
|
214
|
+
grpc_core::ExecCtx exec_ctx;
|
215
|
+
grpc_server_credentials_unref(creds);
|
223
216
|
}
|
224
217
|
|
225
218
|
grpc_security_status grpc_server_credentials_create_security_connector(
|
226
|
-
|
227
|
-
grpc_server_security_connector** sc) {
|
219
|
+
grpc_server_credentials* creds, grpc_server_security_connector** sc) {
|
228
220
|
if (creds == nullptr || creds->vtable->create_security_connector == nullptr) {
|
229
221
|
gpr_log(GPR_ERROR, "Server credentials cannot create security context.");
|
230
222
|
return GRPC_SECURITY_ERROR;
|
231
223
|
}
|
232
|
-
return creds->vtable->create_security_connector(
|
224
|
+
return creds->vtable->create_security_connector(creds, sc);
|
233
225
|
}
|
234
226
|
|
235
227
|
void grpc_server_credentials_set_auth_metadata_processor(
|
@@ -247,9 +239,8 @@ void grpc_server_credentials_set_auth_metadata_processor(
|
|
247
239
|
creds->processor = processor;
|
248
240
|
}
|
249
241
|
|
250
|
-
static void server_credentials_pointer_arg_destroy(
|
251
|
-
|
252
|
-
grpc_server_credentials_unref(exec_ctx, (grpc_server_credentials*)p);
|
242
|
+
static void server_credentials_pointer_arg_destroy(void* p) {
|
243
|
+
grpc_server_credentials_unref((grpc_server_credentials*)p);
|
253
244
|
}
|
254
245
|
|
255
246
|
static void* server_credentials_pointer_arg_copy(void* p) {
|
@@ -29,10 +29,6 @@
|
|
29
29
|
#include "src/core/lib/iomgr/polling_entity.h"
|
30
30
|
#include "src/core/lib/security/transport/security_connector.h"
|
31
31
|
|
32
|
-
#ifdef __cplusplus
|
33
|
-
extern "C" {
|
34
|
-
#endif
|
35
|
-
|
36
32
|
struct grpc_http_response;
|
37
33
|
|
38
34
|
/* --- Constants. --- */
|
@@ -92,13 +88,12 @@ void grpc_override_well_known_credentials_path_getter(
|
|
92
88
|
#define GRPC_ARG_CHANNEL_CREDENTIALS "grpc.channel_credentials"
|
93
89
|
|
94
90
|
typedef struct {
|
95
|
-
void (*destruct)(
|
91
|
+
void (*destruct)(grpc_channel_credentials* c);
|
96
92
|
|
97
93
|
grpc_security_status (*create_security_connector)(
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
grpc_channel_args** new_args);
|
94
|
+
grpc_channel_credentials* c, grpc_call_credentials* call_creds,
|
95
|
+
const char* target, const grpc_channel_args* args,
|
96
|
+
grpc_channel_security_connector** sc, grpc_channel_args** new_args);
|
102
97
|
|
103
98
|
grpc_channel_credentials* (*duplicate_without_call_credentials)(
|
104
99
|
grpc_channel_credentials* c);
|
@@ -112,17 +107,16 @@ struct grpc_channel_credentials {
|
|
112
107
|
|
113
108
|
grpc_channel_credentials* grpc_channel_credentials_ref(
|
114
109
|
grpc_channel_credentials* creds);
|
115
|
-
void grpc_channel_credentials_unref(
|
116
|
-
grpc_channel_credentials* creds);
|
110
|
+
void grpc_channel_credentials_unref(grpc_channel_credentials* creds);
|
117
111
|
|
118
112
|
/* Creates a security connector for the channel. May also create new channel
|
119
113
|
args for the channel to be used in place of the passed in const args if
|
120
114
|
returned non NULL. In that case the caller is responsible for destroying
|
121
115
|
new_args after channel creation. */
|
122
116
|
grpc_security_status grpc_channel_credentials_create_security_connector(
|
123
|
-
|
124
|
-
const
|
125
|
-
|
117
|
+
grpc_channel_credentials* creds, const char* target,
|
118
|
+
const grpc_channel_args* args, grpc_channel_security_connector** sc,
|
119
|
+
grpc_channel_args** new_args);
|
126
120
|
|
127
121
|
/* Creates a version of the channel credentials without any attached call
|
128
122
|
credentials. This can be used in order to open a channel to a non-trusted
|
@@ -157,22 +151,19 @@ void grpc_credentials_mdelem_array_add(grpc_credentials_mdelem_array* list,
|
|
157
151
|
void grpc_credentials_mdelem_array_append(grpc_credentials_mdelem_array* dst,
|
158
152
|
grpc_credentials_mdelem_array* src);
|
159
153
|
|
160
|
-
void grpc_credentials_mdelem_array_destroy(
|
161
|
-
grpc_credentials_mdelem_array* list);
|
154
|
+
void grpc_credentials_mdelem_array_destroy(grpc_credentials_mdelem_array* list);
|
162
155
|
|
163
156
|
/* --- grpc_call_credentials. --- */
|
164
157
|
|
165
158
|
typedef struct {
|
166
|
-
void (*destruct)(
|
167
|
-
bool (*get_request_metadata)(
|
168
|
-
grpc_call_credentials* c,
|
159
|
+
void (*destruct)(grpc_call_credentials* c);
|
160
|
+
bool (*get_request_metadata)(grpc_call_credentials* c,
|
169
161
|
grpc_polling_entity* pollent,
|
170
162
|
grpc_auth_metadata_context context,
|
171
163
|
grpc_credentials_mdelem_array* md_array,
|
172
164
|
grpc_closure* on_request_metadata,
|
173
165
|
grpc_error** error);
|
174
|
-
void (*cancel_get_request_metadata)(
|
175
|
-
grpc_call_credentials* c,
|
166
|
+
void (*cancel_get_request_metadata)(grpc_call_credentials* c,
|
176
167
|
grpc_credentials_mdelem_array* md_array,
|
177
168
|
grpc_error* error);
|
178
169
|
} grpc_call_credentials_vtable;
|
@@ -184,39 +175,35 @@ struct grpc_call_credentials {
|
|
184
175
|
};
|
185
176
|
|
186
177
|
grpc_call_credentials* grpc_call_credentials_ref(grpc_call_credentials* creds);
|
187
|
-
void grpc_call_credentials_unref(
|
188
|
-
grpc_call_credentials* creds);
|
178
|
+
void grpc_call_credentials_unref(grpc_call_credentials* creds);
|
189
179
|
|
190
180
|
/// Returns true if completed synchronously, in which case \a error will
|
191
181
|
/// be set to indicate the result. Otherwise, \a on_request_metadata will
|
192
182
|
/// be invoked asynchronously when complete. \a md_array will be populated
|
193
183
|
/// with the resulting metadata once complete.
|
194
184
|
bool grpc_call_credentials_get_request_metadata(
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
grpc_error** error);
|
185
|
+
grpc_call_credentials* creds, grpc_polling_entity* pollent,
|
186
|
+
grpc_auth_metadata_context context, grpc_credentials_mdelem_array* md_array,
|
187
|
+
grpc_closure* on_request_metadata, grpc_error** error);
|
199
188
|
|
200
189
|
/// Cancels a pending asynchronous operation started by
|
201
190
|
/// grpc_call_credentials_get_request_metadata() with the corresponding
|
202
191
|
/// value of \a md_array.
|
203
192
|
void grpc_call_credentials_cancel_get_request_metadata(
|
204
|
-
|
205
|
-
|
193
|
+
grpc_call_credentials* c, grpc_credentials_mdelem_array* md_array,
|
194
|
+
grpc_error* error);
|
206
195
|
|
207
196
|
/* Metadata-only credentials with the specified key and value where
|
208
197
|
asynchronicity can be simulated for testing. */
|
209
198
|
grpc_call_credentials* grpc_md_only_test_credentials_create(
|
210
|
-
|
211
|
-
bool is_async);
|
199
|
+
const char* md_key, const char* md_value, bool is_async);
|
212
200
|
|
213
201
|
/* --- grpc_server_credentials. --- */
|
214
202
|
|
215
203
|
typedef struct {
|
216
|
-
void (*destruct)(
|
204
|
+
void (*destruct)(grpc_server_credentials* c);
|
217
205
|
grpc_security_status (*create_security_connector)(
|
218
|
-
|
219
|
-
grpc_server_security_connector** sc);
|
206
|
+
grpc_server_credentials* c, grpc_server_security_connector** sc);
|
220
207
|
} grpc_server_credentials_vtable;
|
221
208
|
|
222
209
|
struct grpc_server_credentials {
|
@@ -227,14 +214,12 @@ struct grpc_server_credentials {
|
|
227
214
|
};
|
228
215
|
|
229
216
|
grpc_security_status grpc_server_credentials_create_security_connector(
|
230
|
-
|
231
|
-
grpc_server_security_connector** sc);
|
217
|
+
grpc_server_credentials* creds, grpc_server_security_connector** sc);
|
232
218
|
|
233
219
|
grpc_server_credentials* grpc_server_credentials_ref(
|
234
220
|
grpc_server_credentials* creds);
|
235
221
|
|
236
|
-
void grpc_server_credentials_unref(
|
237
|
-
grpc_server_credentials* creds);
|
222
|
+
void grpc_server_credentials_unref(grpc_server_credentials* creds);
|
238
223
|
|
239
224
|
#define GRPC_SERVER_CREDENTIALS_ARG "grpc.server_credentials"
|
240
225
|
|
@@ -254,10 +239,6 @@ grpc_credentials_metadata_request* grpc_credentials_metadata_request_create(
|
|
254
239
|
grpc_call_credentials* creds);
|
255
240
|
|
256
241
|
void grpc_credentials_metadata_request_destroy(
|
257
|
-
|
258
|
-
|
259
|
-
#ifdef __cplusplus
|
260
|
-
}
|
261
|
-
#endif
|
242
|
+
grpc_credentials_metadata_request* r);
|
262
243
|
|
263
244
|
#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_CREDENTIALS_H */
|
@@ -52,9 +52,9 @@ void grpc_credentials_mdelem_array_append(grpc_credentials_mdelem_array* dst,
|
|
52
52
|
}
|
53
53
|
|
54
54
|
void grpc_credentials_mdelem_array_destroy(
|
55
|
-
|
55
|
+
grpc_credentials_mdelem_array* list) {
|
56
56
|
for (size_t i = 0; i < list->size; ++i) {
|
57
|
-
GRPC_MDELEM_UNREF(
|
57
|
+
GRPC_MDELEM_UNREF(list->md[i]);
|
58
58
|
}
|
59
59
|
gpr_free(list->md);
|
60
60
|
}
|
@@ -25,8 +25,8 @@
|
|
25
25
|
#include <grpc/support/string_util.h>
|
26
26
|
|
27
27
|
#include "src/core/lib/channel/channel_args.h"
|
28
|
+
#include "src/core/lib/gpr/string.h"
|
28
29
|
#include "src/core/lib/iomgr/executor.h"
|
29
|
-
#include "src/core/lib/support/string.h"
|
30
30
|
|
31
31
|
/* -- Fake transport security credentials. -- */
|
32
32
|
|
@@ -34,10 +34,9 @@
|
|
34
34
|
"grpc.fake_security.expected_targets"
|
35
35
|
|
36
36
|
static grpc_security_status fake_transport_security_create_security_connector(
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
grpc_channel_args** new_args) {
|
37
|
+
grpc_channel_credentials* c, grpc_call_credentials* call_creds,
|
38
|
+
const char* target, const grpc_channel_args* args,
|
39
|
+
grpc_channel_security_connector** sc, grpc_channel_args** new_args) {
|
41
40
|
*sc =
|
42
41
|
grpc_fake_channel_security_connector_create(c, call_creds, target, args);
|
43
42
|
return GRPC_SECURITY_OK;
|
@@ -45,8 +44,7 @@ static grpc_security_status fake_transport_security_create_security_connector(
|
|
45
44
|
|
46
45
|
static grpc_security_status
|
47
46
|
fake_transport_security_server_create_security_connector(
|
48
|
-
|
49
|
-
grpc_server_security_connector** sc) {
|
47
|
+
grpc_server_credentials* c, grpc_server_security_connector** sc) {
|
50
48
|
*sc = grpc_fake_server_security_connector_create(c);
|
51
49
|
return GRPC_SECURITY_OK;
|
52
50
|
}
|
@@ -98,29 +96,27 @@ const char* grpc_fake_transport_get_expected_targets(
|
|
98
96
|
|
99
97
|
/* -- Metadata-only test credentials. -- */
|
100
98
|
|
101
|
-
static void md_only_test_destruct(
|
102
|
-
grpc_call_credentials* creds) {
|
99
|
+
static void md_only_test_destruct(grpc_call_credentials* creds) {
|
103
100
|
grpc_md_only_test_credentials* c = (grpc_md_only_test_credentials*)creds;
|
104
|
-
GRPC_MDELEM_UNREF(
|
101
|
+
GRPC_MDELEM_UNREF(c->md);
|
105
102
|
}
|
106
103
|
|
107
104
|
static bool md_only_test_get_request_metadata(
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
grpc_error** error) {
|
105
|
+
grpc_call_credentials* creds, grpc_polling_entity* pollent,
|
106
|
+
grpc_auth_metadata_context context, grpc_credentials_mdelem_array* md_array,
|
107
|
+
grpc_closure* on_request_metadata, grpc_error** error) {
|
112
108
|
grpc_md_only_test_credentials* c = (grpc_md_only_test_credentials*)creds;
|
113
109
|
grpc_credentials_mdelem_array_add(md_array, c->md);
|
114
110
|
if (c->is_async) {
|
115
|
-
GRPC_CLOSURE_SCHED(
|
111
|
+
GRPC_CLOSURE_SCHED(on_request_metadata, GRPC_ERROR_NONE);
|
116
112
|
return false;
|
117
113
|
}
|
118
114
|
return true;
|
119
115
|
}
|
120
116
|
|
121
117
|
static void md_only_test_cancel_get_request_metadata(
|
122
|
-
|
123
|
-
|
118
|
+
grpc_call_credentials* c, grpc_credentials_mdelem_array* md_array,
|
119
|
+
grpc_error* error) {
|
124
120
|
GRPC_ERROR_UNREF(error);
|
125
121
|
}
|
126
122
|
|
@@ -129,16 +125,14 @@ static grpc_call_credentials_vtable md_only_test_vtable = {
|
|
129
125
|
md_only_test_cancel_get_request_metadata};
|
130
126
|
|
131
127
|
grpc_call_credentials* grpc_md_only_test_credentials_create(
|
132
|
-
|
133
|
-
bool is_async) {
|
128
|
+
const char* md_key, const char* md_value, bool is_async) {
|
134
129
|
grpc_md_only_test_credentials* c = (grpc_md_only_test_credentials*)gpr_zalloc(
|
135
130
|
sizeof(grpc_md_only_test_credentials));
|
136
131
|
c->base.type = GRPC_CALL_CREDENTIALS_TYPE_OAUTH2;
|
137
132
|
c->base.vtable = &md_only_test_vtable;
|
138
133
|
gpr_ref_init(&c->base.refcount, 1);
|
139
|
-
c->md =
|
140
|
-
|
141
|
-
grpc_slice_from_copied_string(md_value));
|
134
|
+
c->md = grpc_mdelem_from_slices(grpc_slice_from_copied_string(md_key),
|
135
|
+
grpc_slice_from_copied_string(md_value));
|
142
136
|
c->is_async = is_async;
|
143
137
|
return &c->base;
|
144
138
|
}
|