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/transport/transport.h"
|
23
23
|
|
24
|
-
#ifdef __cplusplus
|
25
|
-
extern "C" {
|
26
|
-
#endif
|
27
|
-
|
28
24
|
typedef struct grpc_transport_vtable {
|
29
25
|
/* Memory required for a single stream element - this is allocated by upper
|
30
26
|
layers and initialized by the transport */
|
@@ -34,37 +30,34 @@ typedef struct grpc_transport_vtable {
|
|
34
30
|
const char* name;
|
35
31
|
|
36
32
|
/* implementation of grpc_transport_init_stream */
|
37
|
-
int (*init_stream)(
|
38
|
-
|
39
|
-
|
33
|
+
int (*init_stream)(grpc_transport* self, grpc_stream* stream,
|
34
|
+
grpc_stream_refcount* refcount, const void* server_data,
|
35
|
+
gpr_arena* arena);
|
40
36
|
|
41
37
|
/* implementation of grpc_transport_set_pollset */
|
42
|
-
void (*set_pollset)(
|
43
|
-
|
38
|
+
void (*set_pollset)(grpc_transport* self, grpc_stream* stream,
|
39
|
+
grpc_pollset* pollset);
|
44
40
|
|
45
41
|
/* implementation of grpc_transport_set_pollset */
|
46
|
-
void (*set_pollset_set)(
|
47
|
-
|
42
|
+
void (*set_pollset_set)(grpc_transport* self, grpc_stream* stream,
|
43
|
+
grpc_pollset_set* pollset_set);
|
48
44
|
|
49
45
|
/* implementation of grpc_transport_perform_stream_op */
|
50
|
-
void (*perform_stream_op)(
|
51
|
-
grpc_stream* stream,
|
46
|
+
void (*perform_stream_op)(grpc_transport* self, grpc_stream* stream,
|
52
47
|
grpc_transport_stream_op_batch* op);
|
53
48
|
|
54
49
|
/* implementation of grpc_transport_perform_op */
|
55
|
-
void (*perform_op)(
|
56
|
-
grpc_transport_op* op);
|
50
|
+
void (*perform_op)(grpc_transport* self, grpc_transport_op* op);
|
57
51
|
|
58
52
|
/* implementation of grpc_transport_destroy_stream */
|
59
|
-
void (*destroy_stream)(
|
60
|
-
grpc_stream* stream,
|
53
|
+
void (*destroy_stream)(grpc_transport* self, grpc_stream* stream,
|
61
54
|
grpc_closure* then_schedule_closure);
|
62
55
|
|
63
56
|
/* implementation of grpc_transport_destroy */
|
64
|
-
void (*destroy)(
|
57
|
+
void (*destroy)(grpc_transport* self);
|
65
58
|
|
66
59
|
/* implementation of grpc_transport_get_endpoint */
|
67
|
-
grpc_endpoint* (*get_endpoint)(
|
60
|
+
grpc_endpoint* (*get_endpoint)(grpc_transport* self);
|
68
61
|
} grpc_transport_vtable;
|
69
62
|
|
70
63
|
/* an instance of a grpc transport */
|
@@ -73,8 +66,4 @@ struct grpc_transport {
|
|
73
66
|
const grpc_transport_vtable* vtable;
|
74
67
|
};
|
75
68
|
|
76
|
-
#ifdef __cplusplus
|
77
|
-
}
|
78
|
-
#endif
|
79
|
-
|
80
69
|
#endif /* GRPC_CORE_LIB_TRANSPORT_TRANSPORT_IMPL_H */
|
@@ -28,8 +28,8 @@
|
|
28
28
|
#include <grpc/support/alloc.h>
|
29
29
|
#include <grpc/support/string_util.h>
|
30
30
|
#include <grpc/support/useful.h>
|
31
|
+
#include "src/core/lib/gpr/string.h"
|
31
32
|
#include "src/core/lib/slice/slice_string_helpers.h"
|
32
|
-
#include "src/core/lib/support/string.h"
|
33
33
|
#include "src/core/lib/transport/connectivity_state.h"
|
34
34
|
|
35
35
|
/* These routines are here to facilitate debugging - they produce string
|
@@ -187,7 +187,7 @@ char* grpc_transport_op_string(grpc_transport_op* op) {
|
|
187
187
|
gpr_strvec_add(&b, gpr_strdup("BIND_POLLSET_SET"));
|
188
188
|
}
|
189
189
|
|
190
|
-
if (op->send_ping != nullptr) {
|
190
|
+
if (op->send_ping.on_initiate != nullptr || op->send_ping.on_ack != nullptr) {
|
191
191
|
if (!first) gpr_strvec_add(&b, gpr_strdup(" "));
|
192
192
|
// first = false;
|
193
193
|
gpr_strvec_add(&b, gpr_strdup("SEND_PING"));
|
@@ -18,40 +18,40 @@
|
|
18
18
|
|
19
19
|
#include <grpc/grpc.h>
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
21
|
+
void grpc_http_filters_init(void);
|
22
|
+
void grpc_http_filters_shutdown(void);
|
23
|
+
void grpc_chttp2_plugin_init(void);
|
24
|
+
void grpc_chttp2_plugin_shutdown(void);
|
25
|
+
void grpc_tsi_gts_init(void);
|
26
|
+
void grpc_tsi_gts_shutdown(void);
|
27
|
+
void grpc_deadline_filter_init(void);
|
28
|
+
void grpc_deadline_filter_shutdown(void);
|
29
|
+
void grpc_client_channel_init(void);
|
30
|
+
void grpc_client_channel_shutdown(void);
|
31
|
+
void grpc_inproc_plugin_init(void);
|
32
|
+
void grpc_inproc_plugin_shutdown(void);
|
33
|
+
void grpc_resolver_fake_init(void);
|
34
|
+
void grpc_resolver_fake_shutdown(void);
|
35
|
+
void grpc_lb_policy_grpclb_init(void);
|
36
|
+
void grpc_lb_policy_grpclb_shutdown(void);
|
37
|
+
void grpc_lb_policy_pick_first_init(void);
|
38
|
+
void grpc_lb_policy_pick_first_shutdown(void);
|
39
|
+
void grpc_lb_policy_round_robin_init(void);
|
40
|
+
void grpc_lb_policy_round_robin_shutdown(void);
|
41
|
+
void grpc_resolver_dns_ares_init(void);
|
42
|
+
void grpc_resolver_dns_ares_shutdown(void);
|
43
|
+
void grpc_resolver_dns_native_init(void);
|
44
|
+
void grpc_resolver_dns_native_shutdown(void);
|
45
|
+
void grpc_resolver_sockaddr_init(void);
|
46
|
+
void grpc_resolver_sockaddr_shutdown(void);
|
47
|
+
void grpc_server_load_reporting_plugin_init(void);
|
48
|
+
void grpc_server_load_reporting_plugin_shutdown(void);
|
49
|
+
void grpc_max_age_filter_init(void);
|
50
|
+
void grpc_max_age_filter_shutdown(void);
|
51
|
+
void grpc_message_size_filter_init(void);
|
52
|
+
void grpc_message_size_filter_shutdown(void);
|
53
|
+
void grpc_workaround_cronet_compression_filter_init(void);
|
54
|
+
void grpc_workaround_cronet_compression_filter_shutdown(void);
|
55
55
|
|
56
56
|
void grpc_register_built_in_plugins(void) {
|
57
57
|
grpc_register_plugin(grpc_http_filters_init,
|
@@ -399,8 +399,7 @@ static const tsi_frame_protector_vtable frame_protector_vtable = {
|
|
399
399
|
/* --- tsi_zero_copy_grpc_protector methods implementation. ---*/
|
400
400
|
|
401
401
|
static tsi_result fake_zero_copy_grpc_protector_protect(
|
402
|
-
|
403
|
-
grpc_slice_buffer* unprotected_slices,
|
402
|
+
tsi_zero_copy_grpc_protector* self, grpc_slice_buffer* unprotected_slices,
|
404
403
|
grpc_slice_buffer* protected_slices) {
|
405
404
|
if (self == nullptr || unprotected_slices == nullptr ||
|
406
405
|
protected_slices == nullptr) {
|
@@ -424,8 +423,7 @@ static tsi_result fake_zero_copy_grpc_protector_protect(
|
|
424
423
|
}
|
425
424
|
|
426
425
|
static tsi_result fake_zero_copy_grpc_protector_unprotect(
|
427
|
-
|
428
|
-
grpc_slice_buffer* protected_slices,
|
426
|
+
tsi_zero_copy_grpc_protector* self, grpc_slice_buffer* protected_slices,
|
429
427
|
grpc_slice_buffer* unprotected_slices) {
|
430
428
|
if (self == nullptr || unprotected_slices == nullptr ||
|
431
429
|
protected_slices == nullptr) {
|
@@ -454,18 +452,18 @@ static tsi_result fake_zero_copy_grpc_protector_unprotect(
|
|
454
452
|
impl->parsed_frame_size - TSI_FAKE_FRAME_HEADER_SIZE,
|
455
453
|
unprotected_slices);
|
456
454
|
impl->parsed_frame_size = 0;
|
457
|
-
grpc_slice_buffer_reset_and_unref_internal(
|
455
|
+
grpc_slice_buffer_reset_and_unref_internal(&impl->header_sb);
|
458
456
|
}
|
459
457
|
return TSI_OK;
|
460
458
|
}
|
461
459
|
|
462
460
|
static void fake_zero_copy_grpc_protector_destroy(
|
463
|
-
|
461
|
+
tsi_zero_copy_grpc_protector* self) {
|
464
462
|
if (self == nullptr) return;
|
465
463
|
tsi_fake_zero_copy_grpc_protector* impl =
|
466
464
|
(tsi_fake_zero_copy_grpc_protector*)self;
|
467
|
-
grpc_slice_buffer_destroy_internal(
|
468
|
-
grpc_slice_buffer_destroy_internal(
|
465
|
+
grpc_slice_buffer_destroy_internal(&impl->header_sb);
|
466
|
+
grpc_slice_buffer_destroy_internal(&impl->protected_sb);
|
469
467
|
gpr_free(impl);
|
470
468
|
}
|
471
469
|
|
@@ -497,8 +495,7 @@ static tsi_result fake_handshaker_result_extract_peer(
|
|
497
495
|
}
|
498
496
|
|
499
497
|
static tsi_result fake_handshaker_result_create_zero_copy_grpc_protector(
|
500
|
-
|
501
|
-
size_t* max_output_protected_frame_size,
|
498
|
+
const tsi_handshaker_result* self, size_t* max_output_protected_frame_size,
|
502
499
|
tsi_zero_copy_grpc_protector** protector) {
|
503
500
|
*protector =
|
504
501
|
tsi_create_fake_zero_copy_grpc_protector(max_output_protected_frame_size);
|
@@ -21,10 +21,6 @@
|
|
21
21
|
|
22
22
|
#include "src/core/tsi/transport_security_interface.h"
|
23
23
|
|
24
|
-
#ifdef __cplusplus
|
25
|
-
extern "C" {
|
26
|
-
#endif
|
27
|
-
|
28
24
|
/* Value for the TSI_CERTIFICATE_TYPE_PEER_PROPERTY property for FAKE certs. */
|
29
25
|
#define TSI_FAKE_CERTIFICATE_TYPE "FAKE"
|
30
26
|
|
@@ -44,8 +40,4 @@ tsi_frame_protector* tsi_create_fake_frame_protector(
|
|
44
40
|
tsi_zero_copy_grpc_protector* tsi_create_fake_zero_copy_grpc_protector(
|
45
41
|
size_t* max_protected_frame_size);
|
46
42
|
|
47
|
-
#ifdef __cplusplus
|
48
|
-
}
|
49
|
-
#endif
|
50
|
-
|
51
43
|
#endif /* GRPC_CORE_TSI_FAKE_TRANSPORT_SECURITY_H */
|
@@ -24,12 +24,12 @@ static gts_shared_resource g_gts_resource;
|
|
24
24
|
|
25
25
|
gts_shared_resource* gts_get_shared_resource(void) { return &g_gts_resource; }
|
26
26
|
|
27
|
-
|
27
|
+
void grpc_tsi_gts_init() {
|
28
28
|
memset(&g_gts_resource, 0, sizeof(gts_shared_resource));
|
29
29
|
gpr_mu_init(&g_gts_resource.mu);
|
30
30
|
}
|
31
31
|
|
32
|
-
|
32
|
+
void grpc_tsi_gts_shutdown() {
|
33
33
|
gpr_mu_destroy(&g_gts_resource.mu);
|
34
34
|
if (g_gts_resource.cq == nullptr) {
|
35
35
|
return;
|
@@ -23,10 +23,6 @@
|
|
23
23
|
#include <grpc/support/sync.h>
|
24
24
|
#include <grpc/support/thd.h>
|
25
25
|
|
26
|
-
#ifdef __cplusplus
|
27
|
-
extern "C" {
|
28
|
-
#endif
|
29
|
-
|
30
26
|
typedef struct gts_shared_resource {
|
31
27
|
gpr_thd_id thread_id;
|
32
28
|
grpc_channel* channel;
|
@@ -38,8 +34,4 @@ typedef struct gts_shared_resource {
|
|
38
34
|
* TSI handshakes. */
|
39
35
|
gts_shared_resource* gts_get_shared_resource(void);
|
40
36
|
|
41
|
-
#ifdef __cplusplus
|
42
|
-
}
|
43
|
-
#endif
|
44
|
-
|
45
37
|
#endif /* GRPC_CORE_TSI_GTS_TRANSPORT_SECURITY_H */
|
@@ -116,6 +116,9 @@ typedef struct {
|
|
116
116
|
|
117
117
|
static gpr_once init_openssl_once = GPR_ONCE_INIT;
|
118
118
|
static gpr_mu* openssl_mutexes = nullptr;
|
119
|
+
static void openssl_locking_cb(int mode, int type, const char* file,
|
120
|
+
int line) GRPC_UNUSED;
|
121
|
+
static unsigned long openssl_thread_id_cb(void) GRPC_UNUSED;
|
119
122
|
|
120
123
|
static void openssl_locking_cb(int mode, int type, const char* file, int line) {
|
121
124
|
if (mode & CRYPTO_LOCK) {
|
@@ -21,10 +21,6 @@
|
|
21
21
|
|
22
22
|
#include "src/core/tsi/transport_security_interface.h"
|
23
23
|
|
24
|
-
#ifdef __cplusplus
|
25
|
-
extern "C" {
|
26
|
-
#endif
|
27
|
-
|
28
24
|
/* Value for the TSI_CERTIFICATE_TYPE_PEER_PROPERTY property for X509 certs. */
|
29
25
|
#define TSI_X509_CERTIFICATE_TYPE "X509"
|
30
26
|
|
@@ -193,8 +189,4 @@ const tsi_ssl_handshaker_factory_vtable* tsi_ssl_handshaker_factory_swap_vtable(
|
|
193
189
|
tsi_ssl_handshaker_factory* factory,
|
194
190
|
tsi_ssl_handshaker_factory_vtable* new_vtable);
|
195
191
|
|
196
|
-
#ifdef __cplusplus
|
197
|
-
}
|
198
|
-
#endif
|
199
|
-
|
200
192
|
#endif /* GRPC_CORE_TSI_SSL_TRANSPORT_SECURITY_H */
|
data/src/core/tsi/ssl_types.h
CHANGED
@@ -19,10 +19,6 @@
|
|
19
19
|
#ifndef GRPC_CORE_TSI_SSL_TYPES_H
|
20
20
|
#define GRPC_CORE_TSI_SSL_TYPES_H
|
21
21
|
|
22
|
-
#ifdef __cplusplus
|
23
|
-
extern "C" {
|
24
|
-
#endif
|
25
|
-
|
26
22
|
/* A collection of macros to cast between various integer types that are
|
27
23
|
* used differently between BoringSSL and OpenSSL:
|
28
24
|
* TSI_INT_AS_SIZE(x): convert 'int x' to a length parameter for an OpenSSL
|
@@ -41,8 +37,4 @@ extern "C" {
|
|
41
37
|
#define TSI_SIZE_AS_SIZE(x) ((int)(x))
|
42
38
|
#endif
|
43
39
|
|
44
|
-
#ifdef __cplusplus
|
45
|
-
}
|
46
|
-
#endif
|
47
|
-
|
48
40
|
#endif /* GRPC_CORE_TSI_SSL_TYPES_H */
|
@@ -24,10 +24,6 @@
|
|
24
24
|
#include "src/core/lib/debug/trace.h"
|
25
25
|
#include "src/core/tsi/transport_security_interface.h"
|
26
26
|
|
27
|
-
#ifdef __cplusplus
|
28
|
-
extern "C" {
|
29
|
-
#endif
|
30
|
-
|
31
27
|
extern grpc_core::TraceFlag tsi_tracing_enabled;
|
32
28
|
|
33
29
|
/* Base for tsi_frame_protector implementations.
|
@@ -94,7 +90,7 @@ struct tsi_handshaker {
|
|
94
90
|
typedef struct {
|
95
91
|
tsi_result (*extract_peer)(const tsi_handshaker_result* self, tsi_peer* peer);
|
96
92
|
tsi_result (*create_zero_copy_grpc_protector)(
|
97
|
-
|
93
|
+
const tsi_handshaker_result* self,
|
98
94
|
size_t* max_output_protected_frame_size,
|
99
95
|
tsi_zero_copy_grpc_protector** protector);
|
100
96
|
tsi_result (*create_frame_protector)(const tsi_handshaker_result* self,
|
@@ -126,8 +122,4 @@ tsi_result tsi_construct_string_peer_property_from_cstring(
|
|
126
122
|
/* Utils. */
|
127
123
|
char* tsi_strdup(const char* src); /* Sadly, no strdup in C89. */
|
128
124
|
|
129
|
-
#ifdef __cplusplus
|
130
|
-
}
|
131
|
-
#endif
|
132
|
-
|
133
125
|
#endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_H */
|
@@ -21,10 +21,6 @@
|
|
21
21
|
|
22
22
|
#include "src/core/tsi/transport_security_interface.h"
|
23
23
|
|
24
|
-
#ifdef __cplusplus
|
25
|
-
extern "C" {
|
26
|
-
#endif
|
27
|
-
|
28
24
|
/* Create a tsi handshaker that takes an implementation of old interface and
|
29
25
|
converts into an implementation of new interface. In the old interface,
|
30
26
|
there are get_bytes_to_send_to_peer, process_bytes_from_peer, get_result,
|
@@ -40,8 +36,4 @@ tsi_handshaker* tsi_create_adapter_handshaker(tsi_handshaker* wrapped);
|
|
40
36
|
the caller. */
|
41
37
|
tsi_handshaker* tsi_adapter_handshaker_get_wrapped(tsi_handshaker* adapter);
|
42
38
|
|
43
|
-
#ifdef __cplusplus
|
44
|
-
}
|
45
|
-
#endif
|
46
|
-
|
47
39
|
#endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_ADAPTER_H */
|
@@ -20,18 +20,16 @@
|
|
20
20
|
|
21
21
|
/* This method creates a tsi_zero_copy_grpc_protector object. */
|
22
22
|
tsi_result tsi_handshaker_result_create_zero_copy_grpc_protector(
|
23
|
-
|
24
|
-
size_t* max_output_protected_frame_size,
|
23
|
+
const tsi_handshaker_result* self, size_t* max_output_protected_frame_size,
|
25
24
|
tsi_zero_copy_grpc_protector** protector) {
|
26
|
-
if (
|
27
|
-
protector == nullptr) {
|
25
|
+
if (self == nullptr || self->vtable == nullptr || protector == nullptr) {
|
28
26
|
return TSI_INVALID_ARGUMENT;
|
29
27
|
}
|
30
28
|
if (self->vtable->create_zero_copy_grpc_protector == nullptr) {
|
31
29
|
return TSI_UNIMPLEMENTED;
|
32
30
|
}
|
33
31
|
return self->vtable->create_zero_copy_grpc_protector(
|
34
|
-
|
32
|
+
self, max_output_protected_frame_size, protector);
|
35
33
|
}
|
36
34
|
|
37
35
|
/* --- tsi_zero_copy_grpc_protector common implementation. ---
|
@@ -39,33 +37,28 @@ tsi_result tsi_handshaker_result_create_zero_copy_grpc_protector(
|
|
39
37
|
Calls specific implementation after state/input validation. */
|
40
38
|
|
41
39
|
tsi_result tsi_zero_copy_grpc_protector_protect(
|
42
|
-
|
43
|
-
grpc_slice_buffer* unprotected_slices,
|
40
|
+
tsi_zero_copy_grpc_protector* self, grpc_slice_buffer* unprotected_slices,
|
44
41
|
grpc_slice_buffer* protected_slices) {
|
45
|
-
if (
|
42
|
+
if (self == nullptr || self->vtable == nullptr ||
|
46
43
|
unprotected_slices == nullptr || protected_slices == nullptr) {
|
47
44
|
return TSI_INVALID_ARGUMENT;
|
48
45
|
}
|
49
46
|
if (self->vtable->protect == nullptr) return TSI_UNIMPLEMENTED;
|
50
|
-
return self->vtable->protect(
|
51
|
-
protected_slices);
|
47
|
+
return self->vtable->protect(self, unprotected_slices, protected_slices);
|
52
48
|
}
|
53
49
|
|
54
50
|
tsi_result tsi_zero_copy_grpc_protector_unprotect(
|
55
|
-
|
56
|
-
grpc_slice_buffer* protected_slices,
|
51
|
+
tsi_zero_copy_grpc_protector* self, grpc_slice_buffer* protected_slices,
|
57
52
|
grpc_slice_buffer* unprotected_slices) {
|
58
|
-
if (
|
53
|
+
if (self == nullptr || self->vtable == nullptr ||
|
59
54
|
protected_slices == nullptr || unprotected_slices == nullptr) {
|
60
55
|
return TSI_INVALID_ARGUMENT;
|
61
56
|
}
|
62
57
|
if (self->vtable->unprotect == nullptr) return TSI_UNIMPLEMENTED;
|
63
|
-
return self->vtable->unprotect(
|
64
|
-
unprotected_slices);
|
58
|
+
return self->vtable->unprotect(self, protected_slices, unprotected_slices);
|
65
59
|
}
|
66
60
|
|
67
|
-
void tsi_zero_copy_grpc_protector_destroy(
|
68
|
-
tsi_zero_copy_grpc_protector* self) {
|
61
|
+
void tsi_zero_copy_grpc_protector_destroy(tsi_zero_copy_grpc_protector* self) {
|
69
62
|
if (self == nullptr) return;
|
70
|
-
self->vtable->destroy(
|
63
|
+
self->vtable->destroy(self);
|
71
64
|
}
|
@@ -22,16 +22,11 @@
|
|
22
22
|
#include <grpc/slice_buffer.h>
|
23
23
|
#include "src/core/tsi/transport_security.h"
|
24
24
|
|
25
|
-
#ifdef __cplusplus
|
26
|
-
extern "C" {
|
27
|
-
#endif
|
28
|
-
|
29
25
|
/* This method creates a tsi_zero_copy_grpc_protector object. It return TSI_OK
|
30
26
|
assuming there is no fatal error.
|
31
27
|
The caller is responsible for destroying the protector. */
|
32
28
|
tsi_result tsi_handshaker_result_create_zero_copy_grpc_protector(
|
33
|
-
|
34
|
-
size_t* max_output_protected_frame_size,
|
29
|
+
const tsi_handshaker_result* self, size_t* max_output_protected_frame_size,
|
35
30
|
tsi_zero_copy_grpc_protector** protector);
|
36
31
|
|
37
32
|
/* -- tsi_zero_copy_grpc_protector object -- */
|
@@ -43,8 +38,8 @@ tsi_result tsi_handshaker_result_create_zero_copy_grpc_protector(
|
|
43
38
|
- This method returns TSI_OK in case of success or a specific error code in
|
44
39
|
case of failure. */
|
45
40
|
tsi_result tsi_zero_copy_grpc_protector_protect(
|
46
|
-
|
47
|
-
grpc_slice_buffer*
|
41
|
+
tsi_zero_copy_grpc_protector* self, grpc_slice_buffer* unprotected_slices,
|
42
|
+
grpc_slice_buffer* protected_slices);
|
48
43
|
|
49
44
|
/* Outputs unprotected bytes.
|
50
45
|
- protected_slices is the bytes of protected frames.
|
@@ -53,32 +48,25 @@ tsi_result tsi_zero_copy_grpc_protector_protect(
|
|
53
48
|
there is not enough data to output in which case unprotected_slices has 0
|
54
49
|
bytes. */
|
55
50
|
tsi_result tsi_zero_copy_grpc_protector_unprotect(
|
56
|
-
|
57
|
-
grpc_slice_buffer*
|
51
|
+
tsi_zero_copy_grpc_protector* self, grpc_slice_buffer* protected_slices,
|
52
|
+
grpc_slice_buffer* unprotected_slices);
|
58
53
|
|
59
54
|
/* Destroys the tsi_zero_copy_grpc_protector object. */
|
60
|
-
void tsi_zero_copy_grpc_protector_destroy(
|
61
|
-
tsi_zero_copy_grpc_protector* self);
|
55
|
+
void tsi_zero_copy_grpc_protector_destroy(tsi_zero_copy_grpc_protector* self);
|
62
56
|
|
63
57
|
/* Base for tsi_zero_copy_grpc_protector implementations. */
|
64
58
|
typedef struct {
|
65
|
-
tsi_result (*protect)(
|
66
|
-
tsi_zero_copy_grpc_protector* self,
|
59
|
+
tsi_result (*protect)(tsi_zero_copy_grpc_protector* self,
|
67
60
|
grpc_slice_buffer* unprotected_slices,
|
68
61
|
grpc_slice_buffer* protected_slices);
|
69
|
-
tsi_result (*unprotect)(
|
70
|
-
tsi_zero_copy_grpc_protector* self,
|
62
|
+
tsi_result (*unprotect)(tsi_zero_copy_grpc_protector* self,
|
71
63
|
grpc_slice_buffer* protected_slices,
|
72
64
|
grpc_slice_buffer* unprotected_slices);
|
73
|
-
void (*destroy)(
|
65
|
+
void (*destroy)(tsi_zero_copy_grpc_protector* self);
|
74
66
|
} tsi_zero_copy_grpc_protector_vtable;
|
75
67
|
|
76
68
|
struct tsi_zero_copy_grpc_protector {
|
77
69
|
const tsi_zero_copy_grpc_protector_vtable* vtable;
|
78
70
|
};
|
79
71
|
|
80
|
-
#ifdef __cplusplus
|
81
|
-
}
|
82
|
-
#endif
|
83
|
-
|
84
72
|
#endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_GRPC_H */
|