grpc 1.10.0 → 1.11.0.pre2
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 +2098 -501
- data/include/grpc/byte_buffer.h +2 -0
- data/include/grpc/byte_buffer_reader.h +2 -0
- data/include/grpc/census.h +2 -0
- data/include/grpc/fork.h +2 -0
- data/include/grpc/grpc.h +10 -0
- data/include/grpc/grpc_cronet.h +2 -0
- data/include/grpc/grpc_posix.h +2 -1
- data/include/grpc/grpc_security.h +21 -0
- data/include/grpc/grpc_security_constants.h +1 -0
- data/include/grpc/impl/codegen/byte_buffer.h +2 -0
- data/include/grpc/impl/codegen/grpc_types.h +24 -0
- data/include/grpc/impl/codegen/slice.h +1 -1
- data/include/grpc/impl/codegen/sync.h +1 -0
- data/include/grpc/impl/codegen/sync_custom.h +2 -0
- data/include/grpc/impl/codegen/sync_generic.h +2 -0
- data/include/grpc/impl/codegen/sync_posix.h +2 -0
- data/include/grpc/impl/codegen/sync_windows.h +2 -0
- data/include/grpc/slice.h +2 -0
- data/include/grpc/slice_buffer.h +2 -0
- data/include/grpc/status.h +2 -0
- data/include/grpc/support/alloc.h +2 -2
- data/include/grpc/support/atm.h +2 -0
- data/include/grpc/support/atm_gcc_atomic.h +2 -0
- data/include/grpc/support/atm_gcc_sync.h +2 -0
- data/include/grpc/support/atm_windows.h +2 -0
- data/include/grpc/support/log.h +1 -1
- data/include/grpc/support/sync.h +2 -0
- data/include/grpc/support/sync_custom.h +2 -0
- data/include/grpc/support/sync_generic.h +2 -0
- data/include/grpc/support/sync_posix.h +2 -0
- data/include/grpc/support/sync_windows.h +2 -0
- data/include/grpc/support/time.h +2 -0
- data/src/boringssl/err_data.c +444 -438
- data/src/core/ext/census/grpc_context.cc +2 -0
- data/src/core/ext/filters/client_channel/backup_poller.cc +13 -8
- data/src/core/ext/filters/client_channel/backup_poller.h +3 -2
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +2 -0
- data/src/core/ext/filters/client_channel/client_channel.cc +1988 -433
- data/src/core/ext/filters/client_channel/client_channel.h +2 -0
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +2 -0
- data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -0
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +2 -27
- data/src/core/ext/filters/client_channel/connector.cc +2 -0
- data/src/core/ext/filters/client_channel/connector.h +2 -0
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +2 -0
- data/src/core/ext/filters/client_channel/http_proxy.cc +2 -0
- data/src/core/ext/filters/client_channel/lb_policy.cc +2 -0
- data/src/core/ext/filters/client_channel/lb_policy.h +2 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +2 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +2 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +96 -78
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +9 -17
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +70 -62
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +2 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +2 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +2 -0
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +4 -2
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -2
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +2 -0
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +2 -0
- data/src/core/ext/filters/client_channel/lb_policy_factory.cc +3 -1
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +2 -1
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +2 -0
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +2 -1
- data/src/core/ext/filters/client_channel/method_params.cc +178 -0
- data/src/core/ext/filters/client_channel/method_params.h +74 -0
- data/src/core/ext/filters/client_channel/parse_address.cc +17 -13
- data/src/core/ext/filters/client_channel/parse_address.h +2 -0
- data/src/core/ext/filters/client_channel/proxy_mapper.cc +2 -0
- data/src/core/ext/filters/client_channel/proxy_mapper.h +2 -0
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +2 -0
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +2 -0
- data/src/core/ext/filters/client_channel/resolver.cc +2 -0
- data/src/core/ext/filters/client_channel/resolver.h +6 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +24 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +2 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +1 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +55 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +8 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +1 -0
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +30 -3
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -0
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +2 -1
- data/src/core/ext/filters/client_channel/resolver_factory.h +2 -0
- data/src/core/ext/filters/client_channel/resolver_registry.cc +2 -0
- data/src/core/ext/filters/client_channel/resolver_registry.h +2 -0
- data/src/core/ext/filters/client_channel/retry_throttle.cc +102 -120
- data/src/core/ext/filters/client_channel/retry_throttle.h +52 -25
- data/src/core/ext/filters/client_channel/subchannel.cc +14 -4
- data/src/core/ext/filters/client_channel/subchannel.h +10 -1
- data/src/core/ext/filters/client_channel/subchannel_index.cc +2 -0
- data/src/core/ext/filters/client_channel/subchannel_index.h +2 -0
- data/src/core/ext/filters/client_channel/uri_parser.cc +2 -1
- data/src/core/ext/filters/client_channel/uri_parser.h +2 -1
- data/src/core/ext/filters/deadline/deadline_filter.cc +2 -1
- data/src/core/ext/filters/deadline/deadline_filter.h +2 -0
- data/src/core/ext/filters/http/client/http_client_filter.cc +27 -25
- data/src/core/ext/filters/http/client/http_client_filter.h +2 -0
- data/src/core/ext/filters/http/client_authority_filter.cc +156 -0
- data/src/core/ext/filters/http/client_authority_filter.h +34 -0
- data/src/core/ext/filters/http/http_filters_plugin.cc +2 -0
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +21 -22
- data/src/core/ext/filters/http/message_compress/message_compress_filter.h +2 -0
- data/src/core/ext/filters/http/server/http_server_filter.cc +11 -8
- data/src/core/ext/filters/http/server/http_server_filter.h +2 -0
- data/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +2 -0
- data/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +2 -0
- data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +2 -0
- data/src/core/ext/filters/max_age/max_age_filter.cc +2 -0
- data/src/core/ext/filters/max_age/max_age_filter.h +2 -0
- data/src/core/ext/filters/message_size/message_size_filter.cc +52 -49
- data/src/core/ext/filters/message_size/message_size_filter.h +2 -0
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +5 -1
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +2 -0
- data/src/core/ext/filters/workarounds/workaround_utils.cc +2 -0
- data/src/core/ext/filters/workarounds/workaround_utils.h +2 -0
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +3 -1
- data/src/core/ext/transport/chttp2/alpn/alpn.h +2 -0
- data/src/core/ext/transport/chttp2/client/authority.cc +42 -0
- data/src/core/ext/transport/chttp2/client/authority.h +36 -0
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +2 -0
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +2 -0
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +10 -3
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +2 -2
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +37 -25
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +2 -0
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +3 -1
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +2 -1
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +2 -1
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +3 -1
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -0
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/bin_encoder.h +2 -0
- data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +152 -182
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +2 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.h +1 -0
- data/src/core/ext/transport/chttp2/transport/frame.h +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +15 -19
- data/src/core/ext/transport/chttp2/transport/frame_data.h +7 -5
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +2 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +2 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +2 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +2 -0
- data/src/core/ext/transport/chttp2/transport/huffsyms.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +3 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -0
- data/src/core/ext/transport/chttp2/transport/internal.h +60 -24
- data/src/core/ext/transport/chttp2/transport/parsing.cc +2 -4
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/stream_map.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/varint.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/writing.cc +10 -6
- data/src/core/ext/transport/inproc/inproc_plugin.cc +2 -0
- data/src/core/ext/transport/inproc/inproc_transport.cc +20 -23
- data/src/core/ext/transport/inproc/inproc_transport.h +2 -0
- data/src/core/lib/avl/avl.cc +2 -0
- data/src/core/lib/avl/avl.h +2 -0
- data/src/core/lib/backoff/backoff.cc +2 -0
- data/src/core/lib/backoff/backoff.h +2 -0
- data/src/core/lib/channel/channel_args.h +2 -0
- data/src/core/lib/channel/channel_stack.cc +3 -1
- data/src/core/lib/channel/channel_stack.h +2 -0
- data/src/core/lib/channel/channel_stack_builder.cc +2 -0
- data/src/core/lib/channel/channel_stack_builder.h +2 -0
- data/src/core/lib/channel/channel_trace.cc +239 -0
- data/src/core/lib/channel/channel_trace.h +133 -0
- data/src/core/lib/channel/channel_trace_registry.cc +80 -0
- data/src/core/lib/channel/channel_trace_registry.h +43 -0
- data/src/core/lib/channel/connected_channel.cc +2 -0
- data/src/core/lib/channel/connected_channel.h +2 -0
- data/src/core/lib/channel/handshaker.cc +2 -0
- data/src/core/lib/channel/handshaker.h +2 -0
- data/src/core/lib/channel/handshaker_factory.cc +2 -0
- data/src/core/lib/channel/handshaker_factory.h +2 -1
- data/src/core/lib/channel/handshaker_registry.cc +2 -0
- data/src/core/lib/channel/handshaker_registry.h +2 -1
- data/src/core/lib/channel/status_util.cc +100 -0
- data/src/core/lib/channel/status_util.h +58 -0
- data/src/core/lib/compression/algorithm_metadata.h +2 -0
- data/src/core/lib/compression/compression.cc +2 -0
- data/src/core/lib/compression/compression_internal.cc +2 -0
- data/src/core/lib/compression/compression_internal.h +2 -0
- data/src/core/lib/compression/message_compress.cc +2 -0
- data/src/core/lib/compression/message_compress.h +2 -0
- data/src/core/lib/compression/stream_compression.cc +2 -0
- data/src/core/lib/compression/stream_compression.h +2 -0
- data/src/core/lib/compression/stream_compression_gzip.cc +2 -0
- data/src/core/lib/compression/stream_compression_gzip.h +2 -0
- data/src/core/lib/compression/stream_compression_identity.cc +2 -1
- data/src/core/lib/compression/stream_compression_identity.h +2 -0
- data/src/core/lib/debug/stats.cc +2 -0
- data/src/core/lib/debug/stats.h +2 -0
- data/src/core/lib/debug/stats_data.cc +3 -1
- data/src/core/lib/debug/stats_data.h +2 -0
- data/src/core/lib/debug/trace.cc +2 -0
- data/src/core/lib/debug/trace.h +2 -1
- data/src/core/lib/gpr/alloc.cc +2 -1
- data/src/core/lib/gpr/arena.cc +47 -0
- data/src/core/lib/gpr/arena.h +2 -0
- data/src/core/lib/gpr/atm.cc +2 -0
- data/src/core/lib/gpr/cpu_linux.cc +5 -1
- data/src/core/lib/gpr/cpu_posix.cc +1 -1
- data/src/core/lib/gpr/env.h +2 -0
- data/src/core/lib/gpr/fork.cc +2 -0
- data/src/core/lib/gpr/host_port.cc +2 -0
- data/src/core/lib/gpr/log.cc +2 -1
- data/src/core/lib/gpr/log_linux.cc +1 -0
- data/src/core/lib/gpr/mpscq.cc +2 -0
- data/src/core/lib/gpr/mpscq.h +2 -0
- data/src/core/lib/gpr/murmur_hash.cc +2 -0
- data/src/core/lib/gpr/spinlock.h +2 -0
- data/src/core/lib/gpr/string.cc +2 -1
- data/src/core/lib/gpr/string.h +2 -2
- data/src/core/lib/gpr/sync.cc +2 -0
- data/src/core/lib/gpr/time.cc +2 -0
- data/src/core/lib/gpr/time_posix.cc +1 -0
- data/src/core/lib/gpr/time_precise.cc +2 -0
- data/src/core/lib/gpr/time_precise.h +2 -0
- data/src/core/lib/gpr/tls_gcc.h +2 -0
- data/src/core/lib/gpr/tls_msvc.h +2 -0
- data/src/core/lib/gpr/tls_pthread.h +2 -0
- data/src/core/lib/gpr/tmpfile.h +2 -0
- data/src/core/lib/gprpp/atomic_with_atm.h +2 -0
- data/src/core/lib/gprpp/atomic_with_std.h +2 -0
- data/src/core/lib/gprpp/inlined_vector.h +2 -0
- data/src/core/lib/gprpp/manual_constructor.h +3 -1
- data/src/core/lib/gprpp/memory.h +5 -3
- data/src/core/lib/gprpp/orphanable.h +3 -0
- data/src/core/lib/gprpp/ref_counted.h +4 -0
- data/src/core/lib/gprpp/ref_counted_ptr.h +3 -0
- data/src/core/lib/gprpp/thd.h +135 -0
- data/src/core/lib/gprpp/thd_posix.cc +209 -0
- data/src/core/lib/gprpp/thd_windows.cc +162 -0
- data/src/core/lib/http/format_request.cc +2 -0
- data/src/core/lib/http/format_request.h +2 -0
- data/src/core/lib/http/httpcli.cc +2 -0
- data/src/core/lib/http/httpcli.h +2 -0
- data/src/core/lib/http/httpcli_security_connector.cc +16 -7
- data/src/core/lib/http/parser.cc +2 -0
- data/src/core/lib/http/parser.h +2 -1
- data/src/core/lib/iomgr/call_combiner.cc +2 -0
- data/src/core/lib/iomgr/call_combiner.h +2 -1
- data/src/core/lib/iomgr/combiner.cc +2 -0
- data/src/core/lib/iomgr/combiner.h +2 -0
- data/src/core/lib/iomgr/endpoint.cc +4 -0
- data/src/core/lib/iomgr/endpoint.h +2 -0
- data/src/core/lib/iomgr/endpoint_pair.h +2 -0
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -0
- data/src/core/lib/iomgr/endpoint_pair_uv.cc +2 -0
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +7 -4
- data/src/core/lib/iomgr/error.h +2 -0
- data/src/core/lib/iomgr/error_internal.h +2 -0
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +2 -0
- data/src/core/lib/iomgr/ev_epoll1_linux.h +2 -0
- data/src/core/lib/iomgr/ev_epollex_linux.cc +4 -18
- data/src/core/lib/iomgr/ev_epollex_linux.h +2 -0
- data/src/core/lib/iomgr/ev_epollsig_linux.cc +2 -0
- data/src/core/lib/iomgr/ev_epollsig_linux.h +2 -0
- data/src/core/lib/iomgr/ev_poll_posix.cc +61 -31
- data/src/core/lib/iomgr/ev_poll_posix.h +2 -0
- data/src/core/lib/iomgr/ev_posix.cc +35 -19
- data/src/core/lib/iomgr/ev_posix.h +2 -0
- data/src/core/lib/iomgr/ev_windows.cc +2 -0
- data/src/core/lib/iomgr/exec_ctx.cc +3 -1
- data/src/core/lib/iomgr/exec_ctx.h +21 -9
- data/src/core/lib/iomgr/executor.cc +13 -11
- data/src/core/lib/iomgr/executor.h +2 -0
- data/src/core/lib/iomgr/fork_posix.cc +4 -2
- data/src/core/lib/iomgr/fork_windows.cc +2 -0
- data/src/core/lib/iomgr/gethostname_fallback.cc +2 -0
- data/src/core/lib/iomgr/gethostname_host_name_max.cc +2 -0
- data/src/core/lib/iomgr/gethostname_sysconf.cc +2 -0
- data/src/core/lib/iomgr/iocp_windows.cc +3 -1
- data/src/core/lib/iomgr/iocp_windows.h +3 -0
- data/src/core/lib/iomgr/iomgr.cc +2 -1
- data/src/core/lib/iomgr/iomgr.h +2 -0
- data/src/core/lib/iomgr/iomgr_custom.cc +63 -0
- data/src/core/lib/iomgr/iomgr_custom.h +47 -0
- data/src/core/lib/iomgr/iomgr_internal.cc +43 -0
- data/src/core/lib/iomgr/iomgr_internal.h +14 -0
- data/src/core/lib/iomgr/iomgr_posix.cc +30 -3
- data/src/core/lib/iomgr/iomgr_posix.h +2 -0
- data/src/core/lib/iomgr/iomgr_uv.cc +17 -20
- data/src/core/lib/iomgr/iomgr_windows.cc +29 -3
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +2 -0
- data/src/core/lib/iomgr/is_epollexclusive_available.h +2 -0
- data/src/core/lib/iomgr/load_file.cc +2 -0
- data/src/core/lib/iomgr/load_file.h +2 -0
- data/src/core/lib/iomgr/lockfree_event.cc +2 -0
- data/src/core/lib/iomgr/lockfree_event.h +14 -1
- data/src/core/lib/iomgr/nameser.h +2 -0
- data/src/core/lib/iomgr/network_status_tracker.cc +3 -1
- data/src/core/lib/iomgr/network_status_tracker.h +2 -0
- data/src/core/lib/iomgr/polling_entity.cc +2 -0
- data/src/core/lib/iomgr/polling_entity.h +2 -0
- data/src/core/lib/iomgr/pollset.cc +56 -0
- data/src/core/lib/iomgr/pollset.h +19 -0
- data/src/core/lib/iomgr/pollset_custom.cc +106 -0
- data/src/core/lib/iomgr/{timer_generic.h → pollset_custom.h} +15 -17
- data/src/core/lib/iomgr/pollset_set.cc +55 -0
- data/src/core/lib/iomgr/pollset_set.h +13 -0
- data/src/core/lib/iomgr/pollset_set_custom.cc +48 -0
- data/src/core/lib/iomgr/{pollset_uv.h → pollset_set_custom.h} +6 -7
- data/src/core/lib/iomgr/pollset_set_windows.cc +17 -10
- data/src/core/lib/iomgr/pollset_set_windows.h +2 -0
- data/src/core/lib/iomgr/pollset_uv.cc +42 -105
- data/src/core/lib/iomgr/pollset_windows.cc +20 -12
- data/src/core/lib/iomgr/pollset_windows.h +2 -0
- data/src/core/lib/iomgr/port.h +10 -19
- data/src/core/lib/iomgr/resolve_address.cc +50 -0
- data/src/core/lib/iomgr/resolve_address.h +39 -10
- data/src/core/lib/iomgr/resolve_address_custom.cc +187 -0
- data/src/core/lib/iomgr/resolve_address_custom.h +43 -0
- data/src/core/lib/iomgr/resolve_address_posix.cc +10 -22
- data/src/core/lib/iomgr/resolve_address_windows.cc +10 -22
- data/src/core/lib/iomgr/resource_quota.cc +2 -0
- data/src/core/lib/iomgr/resource_quota.h +3 -5
- data/src/core/lib/iomgr/sockaddr.h +3 -11
- data/src/core/lib/iomgr/sockaddr_custom.h +54 -0
- data/src/core/lib/iomgr/sockaddr_posix.h +26 -0
- data/src/core/lib/iomgr/sockaddr_utils.cc +91 -71
- data/src/core/lib/iomgr/sockaddr_utils.h +4 -0
- data/src/core/lib/iomgr/sockaddr_windows.h +21 -0
- data/src/core/lib/iomgr/socket_factory_posix.cc +2 -0
- data/src/core/lib/iomgr/socket_factory_posix.h +2 -0
- data/src/core/lib/iomgr/socket_mutator.cc +2 -0
- data/src/core/lib/iomgr/socket_mutator.h +2 -0
- data/src/core/lib/iomgr/socket_utils.h +11 -0
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +15 -6
- data/src/core/lib/iomgr/socket_utils_linux.cc +4 -4
- data/src/core/lib/iomgr/socket_utils_posix.cc +3 -2
- data/src/core/lib/iomgr/socket_utils_posix.h +2 -0
- data/src/core/lib/iomgr/socket_utils_uv.cc +13 -2
- data/src/core/lib/iomgr/socket_utils_windows.cc +10 -0
- data/src/core/lib/iomgr/socket_windows.cc +2 -0
- data/src/core/lib/iomgr/socket_windows.h +2 -1
- data/src/core/lib/iomgr/sys_epoll_wrapper.h +2 -0
- data/src/core/lib/iomgr/tcp_client.cc +36 -0
- data/src/core/lib/iomgr/tcp_client.h +13 -0
- data/src/core/lib/iomgr/tcp_client_custom.cc +151 -0
- data/src/core/lib/iomgr/tcp_client_posix.cc +11 -24
- data/src/core/lib/iomgr/tcp_client_posix.h +2 -0
- data/src/core/lib/iomgr/tcp_client_windows.cc +10 -23
- data/src/core/lib/iomgr/tcp_custom.cc +365 -0
- data/src/core/lib/iomgr/tcp_custom.h +81 -0
- data/src/core/lib/iomgr/tcp_posix.cc +3 -1
- data/src/core/lib/iomgr/tcp_posix.h +2 -0
- data/src/core/lib/iomgr/tcp_server.cc +73 -0
- data/src/core/lib/iomgr/tcp_server.h +24 -0
- data/src/core/lib/iomgr/tcp_server_custom.cc +472 -0
- data/src/core/lib/iomgr/tcp_server_posix.cc +41 -23
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -0
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +7 -7
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +8 -6
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +2 -0
- data/src/core/lib/iomgr/tcp_server_windows.cc +43 -21
- data/src/core/lib/iomgr/tcp_uv.cc +308 -314
- data/src/core/lib/iomgr/tcp_windows.cc +3 -1
- data/src/core/lib/iomgr/tcp_windows.h +2 -0
- data/src/core/lib/iomgr/time_averaged_stats.cc +2 -0
- data/src/core/lib/iomgr/timer.cc +45 -0
- data/src/core/lib/iomgr/timer.h +36 -15
- data/src/core/lib/iomgr/timer_custom.cc +93 -0
- data/src/core/lib/iomgr/timer_custom.h +43 -0
- data/src/core/lib/iomgr/timer_generic.cc +12 -10
- data/src/core/lib/iomgr/timer_heap.cc +2 -4
- data/src/core/lib/iomgr/timer_heap.h +2 -0
- data/src/core/lib/iomgr/timer_manager.cc +12 -20
- data/src/core/lib/iomgr/timer_manager.h +2 -0
- data/src/core/lib/iomgr/timer_uv.cc +15 -49
- data/src/core/lib/iomgr/udp_server.cc +271 -230
- data/src/core/lib/iomgr/udp_server.h +44 -20
- data/src/core/lib/iomgr/unix_sockets_posix.cc +10 -7
- data/src/core/lib/iomgr/unix_sockets_posix.h +2 -0
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +2 -0
- data/src/core/lib/iomgr/wakeup_fd_cv.cc +3 -1
- data/src/core/lib/iomgr/wakeup_fd_cv.h +2 -0
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +2 -0
- data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +2 -0
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +2 -0
- data/src/core/lib/iomgr/wakeup_fd_pipe.h +2 -0
- data/src/core/lib/iomgr/wakeup_fd_posix.cc +2 -0
- data/src/core/lib/iomgr/wakeup_fd_posix.h +2 -0
- data/src/core/lib/json/json.cc +38 -0
- data/src/core/lib/json/json.h +22 -1
- data/src/core/lib/json/json_reader.cc +2 -2
- data/src/core/lib/json/json_reader.h +1 -0
- data/src/core/lib/json/json_string.cc +2 -0
- data/src/core/lib/json/json_writer.cc +2 -2
- data/src/core/lib/json/json_writer.h +2 -0
- data/src/core/lib/profiling/basic_timers.cc +11 -9
- data/src/core/lib/profiling/timers.h +6 -3
- data/src/core/lib/security/context/security_context.cc +2 -0
- data/src/core/lib/security/context/security_context.h +2 -0
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +119 -0
- data/src/core/lib/security/credentials/alts/alts_credentials.h +102 -0
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +72 -0
- data/src/core/lib/security/credentials/alts/check_gcp_environment.h +57 -0
- data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +67 -0
- data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +33 -0
- data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +114 -0
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +126 -0
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +46 -0
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +112 -0
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +58 -0
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +2 -0
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -0
- data/src/core/lib/security/credentials/credentials.cc +2 -0
- data/src/core/lib/security/credentials/credentials.h +2 -0
- data/src/core/lib/security/credentials/credentials_metadata.cc +2 -0
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -3
- data/src/core/lib/security/credentials/fake/fake_credentials.h +5 -0
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +2 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +2 -0
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -0
- data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -0
- data/src/core/lib/security/credentials/jwt/json_token.cc +2 -0
- data/src/core/lib/security/credentials/jwt/json_token.h +2 -0
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -0
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +2 -0
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +2 -0
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +2 -0
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +2 -0
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +2 -0
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +11 -2
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +2 -0
- data/src/core/lib/security/security_connector/alts_security_connector.cc +287 -0
- data/src/core/lib/security/security_connector/alts_security_connector.h +69 -0
- data/src/core/lib/security/security_connector/security_connector.cc +174 -74
- data/src/core/lib/security/security_connector/security_connector.h +41 -7
- data/src/core/lib/security/transport/auth_filters.h +2 -0
- data/src/core/lib/security/transport/client_auth_filter.cc +14 -28
- data/src/core/lib/security/transport/secure_endpoint.cc +2 -0
- data/src/core/lib/security/transport/secure_endpoint.h +2 -0
- data/src/core/lib/security/transport/security_handshaker.cc +2 -0
- data/src/core/lib/security/transport/security_handshaker.h +2 -1
- data/src/core/lib/security/transport/server_auth_filter.cc +2 -0
- data/src/core/lib/security/transport/target_authority_table.cc +75 -0
- data/src/core/lib/security/transport/{lb_targets_info.h → target_authority_table.h} +16 -8
- data/src/core/lib/security/transport/tsi_error.cc +2 -0
- data/src/core/lib/security/transport/tsi_error.h +2 -0
- data/src/core/lib/security/util/json_util.cc +2 -0
- data/src/core/lib/security/util/json_util.h +2 -0
- data/src/core/lib/slice/b64.cc +2 -0
- data/src/core/lib/slice/b64.h +2 -0
- data/src/core/lib/slice/percent_encoding.cc +2 -0
- data/src/core/lib/slice/percent_encoding.h +2 -0
- data/src/core/lib/slice/slice.cc +2 -0
- data/src/core/lib/slice/slice_buffer.cc +3 -1
- data/src/core/lib/slice/slice_hash_table.h +178 -45
- data/src/core/lib/slice/slice_intern.cc +2 -0
- data/src/core/lib/slice/slice_internal.h +2 -2
- data/src/core/lib/slice/slice_string_helpers.cc +2 -0
- data/src/core/lib/slice/slice_string_helpers.h +2 -1
- data/src/core/lib/slice/slice_weak_hash_table.h +105 -0
- data/src/core/lib/surface/api_trace.cc +3 -1
- data/src/core/lib/surface/api_trace.h +2 -0
- data/src/core/lib/surface/byte_buffer.cc +3 -0
- data/src/core/lib/surface/byte_buffer_reader.cc +3 -0
- data/src/core/lib/surface/call.cc +46 -80
- data/src/core/lib/surface/call.h +2 -0
- data/src/core/lib/surface/call_details.cc +2 -0
- data/src/core/lib/surface/call_log_batch.cc +2 -0
- data/src/core/lib/surface/call_test_only.h +2 -0
- data/src/core/lib/surface/channel.cc +72 -41
- data/src/core/lib/surface/channel.h +2 -0
- data/src/core/lib/surface/channel_init.cc +2 -0
- data/src/core/lib/surface/channel_init.h +2 -0
- data/src/core/lib/surface/channel_ping.cc +2 -0
- data/src/core/lib/surface/channel_stack_type.cc +3 -2
- data/src/core/lib/surface/channel_stack_type.h +2 -0
- data/src/core/lib/surface/completion_queue.h +2 -0
- data/src/core/lib/surface/completion_queue_factory.cc +3 -1
- data/src/core/lib/surface/completion_queue_factory.h +2 -0
- data/src/core/lib/surface/event_string.cc +2 -0
- data/src/core/lib/surface/event_string.h +2 -0
- data/src/core/lib/surface/init.cc +5 -2
- data/src/core/lib/surface/init_secure.cc +5 -2
- data/src/core/lib/surface/lame_client.cc +7 -5
- data/src/core/lib/surface/lame_client.h +2 -0
- data/src/core/lib/surface/metadata_array.cc +2 -0
- data/src/core/lib/surface/server.cc +2 -0
- data/src/core/lib/surface/server.h +2 -0
- data/src/core/lib/surface/validate_metadata.cc +2 -1
- data/src/core/lib/surface/validate_metadata.h +2 -0
- data/src/core/lib/surface/version.cc +4 -2
- data/src/core/lib/transport/bdp_estimator.cc +2 -0
- data/src/core/lib/transport/byte_stream.cc +94 -116
- data/src/core/lib/transport/byte_stream.h +111 -78
- data/src/core/lib/transport/connectivity_state.cc +2 -0
- data/src/core/lib/transport/connectivity_state.h +3 -1
- data/src/core/lib/transport/error_utils.cc +2 -0
- data/src/core/lib/transport/error_utils.h +2 -0
- data/src/core/lib/transport/metadata.cc +2 -0
- data/src/core/lib/transport/metadata.h +3 -1
- data/src/core/lib/transport/metadata_batch.cc +26 -0
- data/src/core/lib/transport/metadata_batch.h +12 -1
- data/src/core/lib/transport/pid_controller.cc +2 -0
- data/src/core/lib/transport/pid_controller.h +2 -0
- data/src/core/lib/transport/service_config.cc +21 -175
- data/src/core/lib/transport/service_config.h +223 -35
- data/src/core/lib/transport/static_metadata.cc +310 -294
- data/src/core/lib/transport/static_metadata.h +96 -82
- data/src/core/lib/transport/status_conversion.cc +2 -0
- data/src/core/lib/transport/status_conversion.h +3 -0
- data/src/core/lib/transport/status_metadata.cc +54 -0
- data/src/core/lib/{iomgr/timer_uv.h → transport/status_metadata.h} +10 -12
- data/src/core/lib/transport/timeout_encoding.cc +2 -1
- data/src/core/lib/transport/timeout_encoding.h +2 -0
- data/src/core/lib/transport/transport.cc +3 -1
- data/src/core/lib/transport/transport.h +33 -7
- data/src/core/lib/transport/transport_impl.h +2 -0
- data/src/core/lib/transport/transport_op_string.cc +10 -3
- data/src/core/plugin_registry/grpc_plugin_registry.cc +10 -4
- data/src/core/tsi/alts/crypt/aes_gcm.cc +687 -0
- data/src/core/tsi/alts/crypt/gsec.cc +189 -0
- data/src/core/tsi/alts/crypt/gsec.h +454 -0
- data/src/core/tsi/alts/frame_protector/alts_counter.cc +118 -0
- data/src/core/tsi/alts/frame_protector/alts_counter.h +98 -0
- data/src/core/tsi/alts/frame_protector/alts_crypter.cc +66 -0
- data/src/core/tsi/alts/frame_protector/alts_crypter.h +255 -0
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +407 -0
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +55 -0
- data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +114 -0
- data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +114 -0
- data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +105 -0
- data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +103 -0
- data/src/core/tsi/alts/frame_protector/frame_handler.cc +218 -0
- data/src/core/tsi/alts/frame_protector/frame_handler.h +236 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +316 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +137 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_service_api.cc +520 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_service_api.h +323 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.cc +143 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.h +149 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_event.cc +73 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_event.h +93 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +483 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +83 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +52 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +58 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +52 -0
- data/src/core/tsi/alts/handshaker/altscontext.pb.c +48 -0
- data/src/core/tsi/alts/handshaker/altscontext.pb.h +64 -0
- data/src/core/tsi/alts/handshaker/handshaker.pb.c +123 -0
- data/src/core/tsi/alts/handshaker/handshaker.pb.h +255 -0
- data/src/core/tsi/alts/handshaker/transport_security_common.pb.c +50 -0
- data/src/core/tsi/alts/handshaker/transport_security_common.pb.h +78 -0
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +196 -0
- data/src/core/tsi/alts/handshaker/transport_security_common_api.h +163 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +180 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +52 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +144 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +49 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +91 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +174 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +100 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +476 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +199 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +296 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +52 -0
- data/src/core/tsi/alts_transport_security.cc +3 -1
- data/src/core/tsi/alts_transport_security.h +4 -2
- data/src/core/tsi/fake_transport_security.cc +2 -1
- data/src/core/tsi/fake_transport_security.h +2 -0
- data/src/core/tsi/ssl/session_cache/ssl_session.h +73 -0
- data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +58 -0
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +211 -0
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +93 -0
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +76 -0
- data/src/core/tsi/ssl_transport_security.cc +266 -62
- data/src/core/tsi/ssl_transport_security.h +128 -6
- data/src/core/tsi/ssl_types.h +2 -0
- data/src/core/tsi/transport_security.cc +2 -0
- data/src/core/tsi/transport_security.h +2 -0
- data/src/core/tsi/transport_security_adapter.cc +2 -0
- data/src/core/tsi/transport_security_adapter.h +2 -0
- data/src/core/tsi/transport_security_grpc.cc +2 -0
- data/src/core/tsi/transport_security_grpc.h +2 -0
- data/src/core/tsi/transport_security_interface.h +2 -0
- data/src/ruby/ext/grpc/extconf.rb +1 -2
- data/src/ruby/ext/grpc/rb_call.c +1 -13
- data/src/ruby/ext/grpc/rb_channel.c +6 -6
- data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +10 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +15 -0
- data/src/ruby/lib/grpc/core/time_consts.rb +1 -1
- data/src/ruby/lib/grpc/generic/bidi_call.rb +19 -8
- data/src/ruby/lib/grpc/generic/client_stub.rb +6 -10
- data/src/ruby/lib/grpc/generic/interceptors.rb +1 -1
- data/src/ruby/lib/grpc/generic/rpc_server.rb +2 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/generic/client_stub_spec.rb +133 -0
- data/src/ruby/spec/pb/package_with_underscore/checker_spec.rb +54 -0
- data/src/ruby/spec/pb/package_with_underscore/data.proto +23 -0
- data/src/ruby/spec/pb/package_with_underscore/service.proto +23 -0
- data/third_party/address_sorting/address_sorting.c +369 -0
- data/third_party/address_sorting/address_sorting_internal.h +70 -0
- data/third_party/address_sorting/address_sorting_posix.c +97 -0
- data/third_party/address_sorting/address_sorting_windows.c +55 -0
- data/third_party/address_sorting/include/address_sorting/address_sorting.h +110 -0
- data/third_party/boringssl/crypto/asn1/a_enum.c +20 -9
- data/third_party/boringssl/crypto/asn1/a_i2d_fp.c +3 -0
- data/third_party/boringssl/crypto/asn1/a_int.c +19 -8
- data/third_party/boringssl/crypto/asn1/a_object.c +0 -128
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +3 -0
- data/third_party/boringssl/crypto/asn1/tasn_fre.c +2 -4
- data/third_party/boringssl/crypto/asn1/tasn_new.c +3 -2
- data/third_party/boringssl/crypto/bn_extra/bn_asn1.c +0 -16
- data/third_party/boringssl/crypto/buf/buf.c +14 -0
- data/third_party/boringssl/crypto/bytestring/cbb.c +93 -0
- data/third_party/boringssl/crypto/conf/conf.c +2 -2
- data/third_party/boringssl/crypto/cpu-intel.c +17 -17
- data/third_party/boringssl/crypto/crypto.c +16 -4
- data/third_party/boringssl/crypto/curve25519/spake25519.c +11 -11
- data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +1 -1
- data/third_party/boringssl/crypto/dsa/dsa.c +9 -21
- data/third_party/boringssl/crypto/ec_extra/ec_asn1.c +2 -2
- data/third_party/boringssl/crypto/ecdsa_extra/ecdsa_asn1.c +1 -8
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +2 -23
- data/third_party/boringssl/crypto/ex_data.c +0 -1
- data/third_party/boringssl/crypto/fipsmodule/bn/add.c +7 -11
- data/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.c +19 -16
- data/third_party/boringssl/crypto/fipsmodule/bn/cmp.c +15 -0
- data/third_party/boringssl/crypto/fipsmodule/bn/div.c +53 -46
- data/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.c +242 -85
- data/third_party/boringssl/crypto/fipsmodule/bn/generic.c +42 -47
- data/third_party/boringssl/crypto/fipsmodule/bn/internal.h +176 -34
- data/third_party/boringssl/crypto/fipsmodule/bn/montgomery.c +118 -65
- data/third_party/boringssl/crypto/fipsmodule/bn/mul.c +94 -61
- data/third_party/boringssl/crypto/fipsmodule/bn/random.c +79 -63
- data/third_party/boringssl/crypto/fipsmodule/bn/shift.c +26 -28
- data/third_party/boringssl/crypto/fipsmodule/cipher/cipher.c +2 -0
- data/third_party/boringssl/crypto/fipsmodule/ec/ec.c +250 -149
- data/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.c +0 -27
- data/third_party/boringssl/crypto/fipsmodule/ec/internal.h +54 -20
- data/third_party/boringssl/crypto/fipsmodule/ec/oct.c +3 -3
- data/third_party/boringssl/crypto/fipsmodule/ec/p224-64.c +7 -41
- data/third_party/boringssl/crypto/fipsmodule/ec/p256-64.c +6 -40
- data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64.c +17 -122
- data/third_party/boringssl/crypto/fipsmodule/ec/simple.c +3 -64
- data/third_party/boringssl/crypto/fipsmodule/ec/wnaf.c +27 -9
- data/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.c +203 -205
- data/third_party/boringssl/crypto/fipsmodule/modes/cbc.c +14 -15
- data/third_party/boringssl/crypto/fipsmodule/modes/cfb.c +12 -8
- data/third_party/boringssl/crypto/fipsmodule/modes/ctr.c +4 -3
- data/third_party/boringssl/crypto/fipsmodule/modes/gcm.c +25 -36
- data/third_party/boringssl/crypto/fipsmodule/modes/internal.h +10 -0
- data/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +0 -4
- data/third_party/boringssl/crypto/fipsmodule/rsa/rsa.c +2 -0
- data/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.c +9 -19
- data/third_party/boringssl/crypto/lhash/lhash.c +19 -0
- data/third_party/boringssl/crypto/obj/obj.c +29 -69
- data/third_party/boringssl/crypto/pem/pem_lib.c +2 -2
- data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +4 -55
- data/third_party/boringssl/crypto/rsa_extra/rsa_asn1.c +3 -22
- data/third_party/boringssl/crypto/x509/by_dir.c +1 -3
- data/third_party/boringssl/crypto/x509/by_file.c +0 -1
- data/third_party/boringssl/crypto/x509/x509_lu.c +0 -1
- data/third_party/boringssl/crypto/x509/x509_obj.c +1 -3
- data/third_party/boringssl/crypto/x509/x509_txt.c +0 -6
- data/third_party/boringssl/crypto/x509/x509_vfy.c +0 -1
- data/third_party/boringssl/crypto/x509/x509_vpm.c +0 -1
- data/third_party/boringssl/crypto/x509/x_algor.c +2 -2
- data/third_party/boringssl/crypto/x509v3/v3_alt.c +3 -4
- data/third_party/boringssl/crypto/x509v3/v3_genn.c +1 -0
- data/third_party/boringssl/crypto/x509v3/v3_info.c +1 -2
- data/third_party/boringssl/crypto/x509v3/v3_lib.c +15 -7
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +41 -2
- data/third_party/boringssl/include/openssl/asn1.h +0 -1
- data/third_party/boringssl/include/openssl/base.h +1 -1
- data/third_party/boringssl/include/openssl/bio.h +5 -2
- data/third_party/boringssl/include/openssl/bn.h +2 -17
- data/third_party/boringssl/include/openssl/buf.h +4 -0
- data/third_party/boringssl/include/openssl/bytestring.h +11 -0
- data/third_party/boringssl/include/openssl/chacha.h +5 -1
- data/third_party/boringssl/include/openssl/cipher.h +10 -0
- data/third_party/boringssl/include/openssl/conf.h +4 -8
- data/third_party/boringssl/include/openssl/dsa.h +2 -18
- data/third_party/boringssl/include/openssl/ec.h +5 -5
- data/third_party/boringssl/include/openssl/ecdsa.h +10 -28
- data/third_party/boringssl/include/openssl/evp.h +0 -4
- data/third_party/boringssl/include/openssl/lhash.h +1 -18
- data/third_party/boringssl/include/openssl/obj.h +1 -0
- data/third_party/boringssl/include/openssl/rsa.h +3 -4
- data/third_party/boringssl/include/openssl/ssl.h +35 -54
- data/third_party/boringssl/include/openssl/ssl3.h +2 -0
- data/third_party/boringssl/include/openssl/stack.h +1 -1
- data/third_party/boringssl/include/openssl/tls1.h +1 -16
- data/third_party/boringssl/include/openssl/x509.h +3 -2
- data/third_party/boringssl/include/openssl/x509_vfy.h +0 -2
- data/third_party/boringssl/include/openssl/x509v3.h +1 -0
- data/third_party/boringssl/ssl/custom_extensions.cc +1 -1
- data/third_party/boringssl/ssl/d1_both.cc +120 -129
- data/third_party/boringssl/ssl/d1_lib.cc +23 -21
- data/third_party/boringssl/ssl/d1_pkt.cc +39 -143
- data/third_party/boringssl/ssl/dtls_method.cc +16 -23
- data/third_party/boringssl/ssl/dtls_record.cc +11 -4
- data/third_party/boringssl/ssl/handshake.cc +109 -40
- data/third_party/boringssl/ssl/handshake_client.cc +104 -96
- data/third_party/boringssl/ssl/handshake_server.cc +62 -72
- data/third_party/boringssl/ssl/internal.h +397 -318
- data/third_party/boringssl/ssl/s3_both.cc +173 -191
- data/third_party/boringssl/ssl/s3_lib.cc +26 -34
- data/third_party/boringssl/ssl/s3_pkt.cc +105 -247
- data/third_party/boringssl/ssl/ssl_asn1.cc +22 -22
- data/third_party/boringssl/ssl/ssl_buffer.cc +98 -108
- data/third_party/boringssl/ssl/ssl_cert.cc +12 -1
- data/third_party/boringssl/ssl/ssl_cipher.cc +23 -28
- data/third_party/boringssl/ssl/ssl_key_share.cc +11 -6
- data/third_party/boringssl/ssl/ssl_lib.cc +190 -113
- data/third_party/boringssl/ssl/ssl_privkey.cc +76 -106
- data/third_party/boringssl/ssl/ssl_session.cc +3 -3
- data/third_party/boringssl/ssl/ssl_stat.cc +3 -3
- data/third_party/boringssl/ssl/ssl_transcript.cc +38 -22
- data/third_party/boringssl/ssl/ssl_versions.cc +64 -31
- data/third_party/boringssl/ssl/t1_enc.cc +137 -154
- data/third_party/boringssl/ssl/t1_lib.cc +463 -478
- data/third_party/boringssl/ssl/tls13_both.cc +57 -58
- data/third_party/boringssl/ssl/tls13_client.cc +256 -121
- data/third_party/boringssl/ssl/tls13_enc.cc +187 -72
- data/third_party/boringssl/ssl/tls13_server.cc +187 -86
- data/third_party/boringssl/ssl/tls_method.cc +20 -30
- data/third_party/boringssl/ssl/tls_record.cc +77 -40
- data/third_party/boringssl/third_party/fiat/curve25519.c +5062 -0
- data/third_party/boringssl/{crypto/curve25519 → third_party/fiat}/internal.h +40 -27
- data/third_party/nanopb/pb.h +1 -1
- metadata +147 -45
- data/src/core/lib/gpr/thd.cc +0 -49
- data/src/core/lib/gpr/thd.h +0 -71
- data/src/core/lib/gpr/thd_posix.cc +0 -154
- data/src/core/lib/gpr/thd_windows.cc +0 -107
- data/src/core/lib/iomgr/iomgr_uv.h +0 -37
- data/src/core/lib/iomgr/pollset_set_uv.cc +0 -43
- data/src/core/lib/iomgr/resolve_address_uv.cc +0 -284
- data/src/core/lib/iomgr/tcp_client_uv.cc +0 -175
- data/src/core/lib/iomgr/tcp_server_uv.cc +0 -471
- data/src/core/lib/iomgr/tcp_uv.h +0 -51
- data/src/core/lib/security/transport/lb_targets_info.cc +0 -59
- data/src/core/lib/slice/slice_hash_table.cc +0 -145
- data/third_party/boringssl/crypto/curve25519/curve25519.c +0 -4938
@@ -27,9 +27,11 @@
|
|
27
27
|
#ifndef GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H
|
28
28
|
#define GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H
|
29
29
|
|
30
|
+
#include <grpc/support/port_platform.h>
|
31
|
+
|
30
32
|
#include "src/core/lib/transport/metadata.h"
|
31
33
|
|
32
|
-
#define GRPC_STATIC_MDSTR_COUNT
|
34
|
+
#define GRPC_STATIC_MDSTR_COUNT 105
|
33
35
|
extern const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT];
|
34
36
|
/* ":path" */
|
35
37
|
#define GRPC_MDSTR_PATH (grpc_static_slice_table[0])
|
@@ -76,168 +78,176 @@ extern const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT];
|
|
76
78
|
#define GRPC_MDSTR_HOST (grpc_static_slice_table[20])
|
77
79
|
/* "lb-token" */
|
78
80
|
#define GRPC_MDSTR_LB_TOKEN (grpc_static_slice_table[21])
|
81
|
+
/* "grpc-previous-rpc-attempts" */
|
82
|
+
#define GRPC_MDSTR_GRPC_PREVIOUS_RPC_ATTEMPTS (grpc_static_slice_table[22])
|
83
|
+
/* "grpc-retry-pushback-ms" */
|
84
|
+
#define GRPC_MDSTR_GRPC_RETRY_PUSHBACK_MS (grpc_static_slice_table[23])
|
79
85
|
/* "grpc-timeout" */
|
80
|
-
#define GRPC_MDSTR_GRPC_TIMEOUT (grpc_static_slice_table[
|
86
|
+
#define GRPC_MDSTR_GRPC_TIMEOUT (grpc_static_slice_table[24])
|
87
|
+
/* "1" */
|
88
|
+
#define GRPC_MDSTR_1 (grpc_static_slice_table[25])
|
89
|
+
/* "2" */
|
90
|
+
#define GRPC_MDSTR_2 (grpc_static_slice_table[26])
|
91
|
+
/* "3" */
|
92
|
+
#define GRPC_MDSTR_3 (grpc_static_slice_table[27])
|
93
|
+
/* "4" */
|
94
|
+
#define GRPC_MDSTR_4 (grpc_static_slice_table[28])
|
81
95
|
/* "" */
|
82
|
-
#define GRPC_MDSTR_EMPTY (grpc_static_slice_table[
|
96
|
+
#define GRPC_MDSTR_EMPTY (grpc_static_slice_table[29])
|
83
97
|
/* "grpc.wait_for_ready" */
|
84
|
-
#define GRPC_MDSTR_GRPC_DOT_WAIT_FOR_READY (grpc_static_slice_table[
|
98
|
+
#define GRPC_MDSTR_GRPC_DOT_WAIT_FOR_READY (grpc_static_slice_table[30])
|
85
99
|
/* "grpc.timeout" */
|
86
|
-
#define GRPC_MDSTR_GRPC_DOT_TIMEOUT (grpc_static_slice_table[
|
100
|
+
#define GRPC_MDSTR_GRPC_DOT_TIMEOUT (grpc_static_slice_table[31])
|
87
101
|
/* "grpc.max_request_message_bytes" */
|
88
102
|
#define GRPC_MDSTR_GRPC_DOT_MAX_REQUEST_MESSAGE_BYTES \
|
89
|
-
(grpc_static_slice_table[
|
103
|
+
(grpc_static_slice_table[32])
|
90
104
|
/* "grpc.max_response_message_bytes" */
|
91
105
|
#define GRPC_MDSTR_GRPC_DOT_MAX_RESPONSE_MESSAGE_BYTES \
|
92
|
-
(grpc_static_slice_table[
|
106
|
+
(grpc_static_slice_table[33])
|
93
107
|
/* "/grpc.lb.v1.LoadBalancer/BalanceLoad" */
|
94
108
|
#define GRPC_MDSTR_SLASH_GRPC_DOT_LB_DOT_V1_DOT_LOADBALANCER_SLASH_BALANCELOAD \
|
95
|
-
(grpc_static_slice_table[
|
109
|
+
(grpc_static_slice_table[34])
|
96
110
|
/* "deflate" */
|
97
|
-
#define GRPC_MDSTR_DEFLATE (grpc_static_slice_table[
|
111
|
+
#define GRPC_MDSTR_DEFLATE (grpc_static_slice_table[35])
|
98
112
|
/* "gzip" */
|
99
|
-
#define GRPC_MDSTR_GZIP (grpc_static_slice_table[
|
113
|
+
#define GRPC_MDSTR_GZIP (grpc_static_slice_table[36])
|
100
114
|
/* "stream/gzip" */
|
101
|
-
#define GRPC_MDSTR_STREAM_SLASH_GZIP (grpc_static_slice_table[
|
115
|
+
#define GRPC_MDSTR_STREAM_SLASH_GZIP (grpc_static_slice_table[37])
|
102
116
|
/* "0" */
|
103
|
-
#define GRPC_MDSTR_0 (grpc_static_slice_table[
|
104
|
-
/* "1" */
|
105
|
-
#define GRPC_MDSTR_1 (grpc_static_slice_table[33])
|
106
|
-
/* "2" */
|
107
|
-
#define GRPC_MDSTR_2 (grpc_static_slice_table[34])
|
117
|
+
#define GRPC_MDSTR_0 (grpc_static_slice_table[38])
|
108
118
|
/* "identity" */
|
109
|
-
#define GRPC_MDSTR_IDENTITY (grpc_static_slice_table[
|
119
|
+
#define GRPC_MDSTR_IDENTITY (grpc_static_slice_table[39])
|
110
120
|
/* "trailers" */
|
111
|
-
#define GRPC_MDSTR_TRAILERS (grpc_static_slice_table[
|
121
|
+
#define GRPC_MDSTR_TRAILERS (grpc_static_slice_table[40])
|
112
122
|
/* "application/grpc" */
|
113
|
-
#define GRPC_MDSTR_APPLICATION_SLASH_GRPC (grpc_static_slice_table[
|
123
|
+
#define GRPC_MDSTR_APPLICATION_SLASH_GRPC (grpc_static_slice_table[41])
|
114
124
|
/* "POST" */
|
115
|
-
#define GRPC_MDSTR_POST (grpc_static_slice_table[
|
125
|
+
#define GRPC_MDSTR_POST (grpc_static_slice_table[42])
|
116
126
|
/* "200" */
|
117
|
-
#define GRPC_MDSTR_200 (grpc_static_slice_table[
|
127
|
+
#define GRPC_MDSTR_200 (grpc_static_slice_table[43])
|
118
128
|
/* "404" */
|
119
|
-
#define GRPC_MDSTR_404 (grpc_static_slice_table[
|
129
|
+
#define GRPC_MDSTR_404 (grpc_static_slice_table[44])
|
120
130
|
/* "http" */
|
121
|
-
#define GRPC_MDSTR_HTTP (grpc_static_slice_table[
|
131
|
+
#define GRPC_MDSTR_HTTP (grpc_static_slice_table[45])
|
122
132
|
/* "https" */
|
123
|
-
#define GRPC_MDSTR_HTTPS (grpc_static_slice_table[
|
133
|
+
#define GRPC_MDSTR_HTTPS (grpc_static_slice_table[46])
|
124
134
|
/* "grpc" */
|
125
|
-
#define GRPC_MDSTR_GRPC (grpc_static_slice_table[
|
135
|
+
#define GRPC_MDSTR_GRPC (grpc_static_slice_table[47])
|
126
136
|
/* "GET" */
|
127
|
-
#define GRPC_MDSTR_GET (grpc_static_slice_table[
|
137
|
+
#define GRPC_MDSTR_GET (grpc_static_slice_table[48])
|
128
138
|
/* "PUT" */
|
129
|
-
#define GRPC_MDSTR_PUT (grpc_static_slice_table[
|
139
|
+
#define GRPC_MDSTR_PUT (grpc_static_slice_table[49])
|
130
140
|
/* "/" */
|
131
|
-
#define GRPC_MDSTR_SLASH (grpc_static_slice_table[
|
141
|
+
#define GRPC_MDSTR_SLASH (grpc_static_slice_table[50])
|
132
142
|
/* "/index.html" */
|
133
|
-
#define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (grpc_static_slice_table[
|
143
|
+
#define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (grpc_static_slice_table[51])
|
134
144
|
/* "204" */
|
135
|
-
#define GRPC_MDSTR_204 (grpc_static_slice_table[
|
145
|
+
#define GRPC_MDSTR_204 (grpc_static_slice_table[52])
|
136
146
|
/* "206" */
|
137
|
-
#define GRPC_MDSTR_206 (grpc_static_slice_table[
|
147
|
+
#define GRPC_MDSTR_206 (grpc_static_slice_table[53])
|
138
148
|
/* "304" */
|
139
|
-
#define GRPC_MDSTR_304 (grpc_static_slice_table[
|
149
|
+
#define GRPC_MDSTR_304 (grpc_static_slice_table[54])
|
140
150
|
/* "400" */
|
141
|
-
#define GRPC_MDSTR_400 (grpc_static_slice_table[
|
151
|
+
#define GRPC_MDSTR_400 (grpc_static_slice_table[55])
|
142
152
|
/* "500" */
|
143
|
-
#define GRPC_MDSTR_500 (grpc_static_slice_table[
|
153
|
+
#define GRPC_MDSTR_500 (grpc_static_slice_table[56])
|
144
154
|
/* "accept-charset" */
|
145
|
-
#define GRPC_MDSTR_ACCEPT_CHARSET (grpc_static_slice_table[
|
155
|
+
#define GRPC_MDSTR_ACCEPT_CHARSET (grpc_static_slice_table[57])
|
146
156
|
/* "gzip, deflate" */
|
147
|
-
#define GRPC_MDSTR_GZIP_COMMA_DEFLATE (grpc_static_slice_table[
|
157
|
+
#define GRPC_MDSTR_GZIP_COMMA_DEFLATE (grpc_static_slice_table[58])
|
148
158
|
/* "accept-language" */
|
149
|
-
#define GRPC_MDSTR_ACCEPT_LANGUAGE (grpc_static_slice_table[
|
159
|
+
#define GRPC_MDSTR_ACCEPT_LANGUAGE (grpc_static_slice_table[59])
|
150
160
|
/* "accept-ranges" */
|
151
|
-
#define GRPC_MDSTR_ACCEPT_RANGES (grpc_static_slice_table[
|
161
|
+
#define GRPC_MDSTR_ACCEPT_RANGES (grpc_static_slice_table[60])
|
152
162
|
/* "accept" */
|
153
|
-
#define GRPC_MDSTR_ACCEPT (grpc_static_slice_table[
|
163
|
+
#define GRPC_MDSTR_ACCEPT (grpc_static_slice_table[61])
|
154
164
|
/* "access-control-allow-origin" */
|
155
|
-
#define GRPC_MDSTR_ACCESS_CONTROL_ALLOW_ORIGIN (grpc_static_slice_table[
|
165
|
+
#define GRPC_MDSTR_ACCESS_CONTROL_ALLOW_ORIGIN (grpc_static_slice_table[62])
|
156
166
|
/* "age" */
|
157
|
-
#define GRPC_MDSTR_AGE (grpc_static_slice_table[
|
167
|
+
#define GRPC_MDSTR_AGE (grpc_static_slice_table[63])
|
158
168
|
/* "allow" */
|
159
|
-
#define GRPC_MDSTR_ALLOW (grpc_static_slice_table[
|
169
|
+
#define GRPC_MDSTR_ALLOW (grpc_static_slice_table[64])
|
160
170
|
/* "authorization" */
|
161
|
-
#define GRPC_MDSTR_AUTHORIZATION (grpc_static_slice_table[
|
171
|
+
#define GRPC_MDSTR_AUTHORIZATION (grpc_static_slice_table[65])
|
162
172
|
/* "cache-control" */
|
163
|
-
#define GRPC_MDSTR_CACHE_CONTROL (grpc_static_slice_table[
|
173
|
+
#define GRPC_MDSTR_CACHE_CONTROL (grpc_static_slice_table[66])
|
164
174
|
/* "content-disposition" */
|
165
|
-
#define GRPC_MDSTR_CONTENT_DISPOSITION (grpc_static_slice_table[
|
175
|
+
#define GRPC_MDSTR_CONTENT_DISPOSITION (grpc_static_slice_table[67])
|
166
176
|
/* "content-language" */
|
167
|
-
#define GRPC_MDSTR_CONTENT_LANGUAGE (grpc_static_slice_table[
|
177
|
+
#define GRPC_MDSTR_CONTENT_LANGUAGE (grpc_static_slice_table[68])
|
168
178
|
/* "content-length" */
|
169
|
-
#define GRPC_MDSTR_CONTENT_LENGTH (grpc_static_slice_table[
|
179
|
+
#define GRPC_MDSTR_CONTENT_LENGTH (grpc_static_slice_table[69])
|
170
180
|
/* "content-location" */
|
171
|
-
#define GRPC_MDSTR_CONTENT_LOCATION (grpc_static_slice_table[
|
181
|
+
#define GRPC_MDSTR_CONTENT_LOCATION (grpc_static_slice_table[70])
|
172
182
|
/* "content-range" */
|
173
|
-
#define GRPC_MDSTR_CONTENT_RANGE (grpc_static_slice_table[
|
183
|
+
#define GRPC_MDSTR_CONTENT_RANGE (grpc_static_slice_table[71])
|
174
184
|
/* "cookie" */
|
175
|
-
#define GRPC_MDSTR_COOKIE (grpc_static_slice_table[
|
185
|
+
#define GRPC_MDSTR_COOKIE (grpc_static_slice_table[72])
|
176
186
|
/* "date" */
|
177
|
-
#define GRPC_MDSTR_DATE (grpc_static_slice_table[
|
187
|
+
#define GRPC_MDSTR_DATE (grpc_static_slice_table[73])
|
178
188
|
/* "etag" */
|
179
|
-
#define GRPC_MDSTR_ETAG (grpc_static_slice_table[
|
189
|
+
#define GRPC_MDSTR_ETAG (grpc_static_slice_table[74])
|
180
190
|
/* "expect" */
|
181
|
-
#define GRPC_MDSTR_EXPECT (grpc_static_slice_table[
|
191
|
+
#define GRPC_MDSTR_EXPECT (grpc_static_slice_table[75])
|
182
192
|
/* "expires" */
|
183
|
-
#define GRPC_MDSTR_EXPIRES (grpc_static_slice_table[
|
193
|
+
#define GRPC_MDSTR_EXPIRES (grpc_static_slice_table[76])
|
184
194
|
/* "from" */
|
185
|
-
#define GRPC_MDSTR_FROM (grpc_static_slice_table[
|
195
|
+
#define GRPC_MDSTR_FROM (grpc_static_slice_table[77])
|
186
196
|
/* "if-match" */
|
187
|
-
#define GRPC_MDSTR_IF_MATCH (grpc_static_slice_table[
|
197
|
+
#define GRPC_MDSTR_IF_MATCH (grpc_static_slice_table[78])
|
188
198
|
/* "if-modified-since" */
|
189
|
-
#define GRPC_MDSTR_IF_MODIFIED_SINCE (grpc_static_slice_table[
|
199
|
+
#define GRPC_MDSTR_IF_MODIFIED_SINCE (grpc_static_slice_table[79])
|
190
200
|
/* "if-none-match" */
|
191
|
-
#define GRPC_MDSTR_IF_NONE_MATCH (grpc_static_slice_table[
|
201
|
+
#define GRPC_MDSTR_IF_NONE_MATCH (grpc_static_slice_table[80])
|
192
202
|
/* "if-range" */
|
193
|
-
#define GRPC_MDSTR_IF_RANGE (grpc_static_slice_table[
|
203
|
+
#define GRPC_MDSTR_IF_RANGE (grpc_static_slice_table[81])
|
194
204
|
/* "if-unmodified-since" */
|
195
|
-
#define GRPC_MDSTR_IF_UNMODIFIED_SINCE (grpc_static_slice_table[
|
205
|
+
#define GRPC_MDSTR_IF_UNMODIFIED_SINCE (grpc_static_slice_table[82])
|
196
206
|
/* "last-modified" */
|
197
|
-
#define GRPC_MDSTR_LAST_MODIFIED (grpc_static_slice_table[
|
207
|
+
#define GRPC_MDSTR_LAST_MODIFIED (grpc_static_slice_table[83])
|
198
208
|
/* "lb-cost-bin" */
|
199
|
-
#define GRPC_MDSTR_LB_COST_BIN (grpc_static_slice_table[
|
209
|
+
#define GRPC_MDSTR_LB_COST_BIN (grpc_static_slice_table[84])
|
200
210
|
/* "link" */
|
201
|
-
#define GRPC_MDSTR_LINK (grpc_static_slice_table[
|
211
|
+
#define GRPC_MDSTR_LINK (grpc_static_slice_table[85])
|
202
212
|
/* "location" */
|
203
|
-
#define GRPC_MDSTR_LOCATION (grpc_static_slice_table[
|
213
|
+
#define GRPC_MDSTR_LOCATION (grpc_static_slice_table[86])
|
204
214
|
/* "max-forwards" */
|
205
|
-
#define GRPC_MDSTR_MAX_FORWARDS (grpc_static_slice_table[
|
215
|
+
#define GRPC_MDSTR_MAX_FORWARDS (grpc_static_slice_table[87])
|
206
216
|
/* "proxy-authenticate" */
|
207
|
-
#define GRPC_MDSTR_PROXY_AUTHENTICATE (grpc_static_slice_table[
|
217
|
+
#define GRPC_MDSTR_PROXY_AUTHENTICATE (grpc_static_slice_table[88])
|
208
218
|
/* "proxy-authorization" */
|
209
|
-
#define GRPC_MDSTR_PROXY_AUTHORIZATION (grpc_static_slice_table[
|
219
|
+
#define GRPC_MDSTR_PROXY_AUTHORIZATION (grpc_static_slice_table[89])
|
210
220
|
/* "range" */
|
211
|
-
#define GRPC_MDSTR_RANGE (grpc_static_slice_table[
|
221
|
+
#define GRPC_MDSTR_RANGE (grpc_static_slice_table[90])
|
212
222
|
/* "referer" */
|
213
|
-
#define GRPC_MDSTR_REFERER (grpc_static_slice_table[
|
223
|
+
#define GRPC_MDSTR_REFERER (grpc_static_slice_table[91])
|
214
224
|
/* "refresh" */
|
215
|
-
#define GRPC_MDSTR_REFRESH (grpc_static_slice_table[
|
225
|
+
#define GRPC_MDSTR_REFRESH (grpc_static_slice_table[92])
|
216
226
|
/* "retry-after" */
|
217
|
-
#define GRPC_MDSTR_RETRY_AFTER (grpc_static_slice_table[
|
227
|
+
#define GRPC_MDSTR_RETRY_AFTER (grpc_static_slice_table[93])
|
218
228
|
/* "server" */
|
219
|
-
#define GRPC_MDSTR_SERVER (grpc_static_slice_table[
|
229
|
+
#define GRPC_MDSTR_SERVER (grpc_static_slice_table[94])
|
220
230
|
/* "set-cookie" */
|
221
|
-
#define GRPC_MDSTR_SET_COOKIE (grpc_static_slice_table[
|
231
|
+
#define GRPC_MDSTR_SET_COOKIE (grpc_static_slice_table[95])
|
222
232
|
/* "strict-transport-security" */
|
223
|
-
#define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (grpc_static_slice_table[
|
233
|
+
#define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (grpc_static_slice_table[96])
|
224
234
|
/* "transfer-encoding" */
|
225
|
-
#define GRPC_MDSTR_TRANSFER_ENCODING (grpc_static_slice_table[
|
235
|
+
#define GRPC_MDSTR_TRANSFER_ENCODING (grpc_static_slice_table[97])
|
226
236
|
/* "vary" */
|
227
|
-
#define GRPC_MDSTR_VARY (grpc_static_slice_table[
|
237
|
+
#define GRPC_MDSTR_VARY (grpc_static_slice_table[98])
|
228
238
|
/* "via" */
|
229
|
-
#define GRPC_MDSTR_VIA (grpc_static_slice_table[
|
239
|
+
#define GRPC_MDSTR_VIA (grpc_static_slice_table[99])
|
230
240
|
/* "www-authenticate" */
|
231
|
-
#define GRPC_MDSTR_WWW_AUTHENTICATE (grpc_static_slice_table[
|
241
|
+
#define GRPC_MDSTR_WWW_AUTHENTICATE (grpc_static_slice_table[100])
|
232
242
|
/* "identity,deflate" */
|
233
|
-
#define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE (grpc_static_slice_table[
|
243
|
+
#define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE (grpc_static_slice_table[101])
|
234
244
|
/* "identity,gzip" */
|
235
|
-
#define GRPC_MDSTR_IDENTITY_COMMA_GZIP (grpc_static_slice_table[
|
245
|
+
#define GRPC_MDSTR_IDENTITY_COMMA_GZIP (grpc_static_slice_table[102])
|
236
246
|
/* "deflate,gzip" */
|
237
|
-
#define GRPC_MDSTR_DEFLATE_COMMA_GZIP (grpc_static_slice_table[
|
247
|
+
#define GRPC_MDSTR_DEFLATE_COMMA_GZIP (grpc_static_slice_table[103])
|
238
248
|
/* "identity,deflate,gzip" */
|
239
249
|
#define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE_COMMA_GZIP \
|
240
|
-
(grpc_static_slice_table[
|
250
|
+
(grpc_static_slice_table[104])
|
241
251
|
|
242
252
|
extern const grpc_slice_refcount_vtable grpc_static_metadata_vtable;
|
243
253
|
extern grpc_slice_refcount
|
@@ -535,6 +545,8 @@ typedef enum {
|
|
535
545
|
GRPC_BATCH_USER_AGENT,
|
536
546
|
GRPC_BATCH_HOST,
|
537
547
|
GRPC_BATCH_LB_TOKEN,
|
548
|
+
GRPC_BATCH_GRPC_PREVIOUS_RPC_ATTEMPTS,
|
549
|
+
GRPC_BATCH_GRPC_RETRY_PUSHBACK_MS,
|
538
550
|
GRPC_BATCH_CALLOUTS_COUNT
|
539
551
|
} grpc_metadata_batch_callouts_index;
|
540
552
|
|
@@ -563,6 +575,8 @@ typedef union {
|
|
563
575
|
struct grpc_linked_mdelem* user_agent;
|
564
576
|
struct grpc_linked_mdelem* host;
|
565
577
|
struct grpc_linked_mdelem* lb_token;
|
578
|
+
struct grpc_linked_mdelem* grpc_previous_rpc_attempts;
|
579
|
+
struct grpc_linked_mdelem* grpc_retry_pushback_ms;
|
566
580
|
} named;
|
567
581
|
} grpc_metadata_batch_callouts;
|
568
582
|
|
@@ -19,7 +19,10 @@
|
|
19
19
|
#ifndef GRPC_CORE_LIB_TRANSPORT_STATUS_CONVERSION_H
|
20
20
|
#define GRPC_CORE_LIB_TRANSPORT_STATUS_CONVERSION_H
|
21
21
|
|
22
|
+
#include <grpc/support/port_platform.h>
|
23
|
+
|
22
24
|
#include <grpc/grpc.h>
|
25
|
+
|
23
26
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
24
27
|
#include "src/core/lib/transport/http2_errors.h"
|
25
28
|
|
@@ -0,0 +1,54 @@
|
|
1
|
+
/*
|
2
|
+
*
|
3
|
+
* Copyright 2017 gRPC authors.
|
4
|
+
*
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
* you may not use this file except in compliance with the License.
|
7
|
+
* You may obtain a copy of the License at
|
8
|
+
*
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
*
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
* See the License for the specific language governing permissions and
|
15
|
+
* limitations under the License.
|
16
|
+
*
|
17
|
+
*/
|
18
|
+
|
19
|
+
#include <grpc/support/port_platform.h>
|
20
|
+
|
21
|
+
#include "src/core/lib/transport/status_metadata.h"
|
22
|
+
|
23
|
+
#include "src/core/lib/slice/slice_string_helpers.h"
|
24
|
+
#include "src/core/lib/transport/static_metadata.h"
|
25
|
+
|
26
|
+
/* we offset status by a small amount when storing it into transport metadata
|
27
|
+
as metadata cannot store a 0 value (which is used as OK for grpc_status_codes
|
28
|
+
*/
|
29
|
+
#define STATUS_OFFSET 1
|
30
|
+
|
31
|
+
static void destroy_status(void* ignored) {}
|
32
|
+
|
33
|
+
grpc_status_code grpc_get_status_code_from_metadata(grpc_mdelem md) {
|
34
|
+
if (grpc_mdelem_eq(md, GRPC_MDELEM_GRPC_STATUS_0)) {
|
35
|
+
return GRPC_STATUS_OK;
|
36
|
+
}
|
37
|
+
if (grpc_mdelem_eq(md, GRPC_MDELEM_GRPC_STATUS_1)) {
|
38
|
+
return GRPC_STATUS_CANCELLED;
|
39
|
+
}
|
40
|
+
if (grpc_mdelem_eq(md, GRPC_MDELEM_GRPC_STATUS_2)) {
|
41
|
+
return GRPC_STATUS_UNKNOWN;
|
42
|
+
}
|
43
|
+
void* user_data = grpc_mdelem_get_user_data(md, destroy_status);
|
44
|
+
if (user_data != nullptr) {
|
45
|
+
return static_cast<grpc_status_code>((intptr_t)user_data - STATUS_OFFSET);
|
46
|
+
}
|
47
|
+
uint32_t status;
|
48
|
+
if (!grpc_parse_slice_to_uint32(GRPC_MDVALUE(md), &status)) {
|
49
|
+
status = GRPC_STATUS_UNKNOWN; /* could not parse status code */
|
50
|
+
}
|
51
|
+
grpc_mdelem_set_user_data(
|
52
|
+
md, destroy_status, (void*)static_cast<intptr_t>(status + STATUS_OFFSET));
|
53
|
+
return static_cast<grpc_status_code>(status);
|
54
|
+
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright
|
3
|
+
* Copyright 2017 gRPC authors.
|
4
4
|
*
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
6
6
|
* you may not use this file except in compliance with the License.
|
@@ -16,17 +16,15 @@
|
|
16
16
|
*
|
17
17
|
*/
|
18
18
|
|
19
|
-
#ifndef
|
20
|
-
#define
|
19
|
+
#ifndef GRPC_CORE_LIB_TRANSPORT_STATUS_METADATA_H
|
20
|
+
#define GRPC_CORE_LIB_TRANSPORT_STATUS_METADATA_H
|
21
21
|
|
22
|
-
#include
|
22
|
+
#include <grpc/support/port_platform.h>
|
23
23
|
|
24
|
-
|
25
|
-
grpc_closure* closure;
|
26
|
-
/* This is actually a uv_timer_t*, but we want to keep platform-specific
|
27
|
-
types out of headers */
|
28
|
-
void* uv_timer;
|
29
|
-
int pending;
|
30
|
-
};
|
24
|
+
#include <grpc/status.h>
|
31
25
|
|
32
|
-
#
|
26
|
+
#include "src/core/lib/transport/metadata.h"
|
27
|
+
|
28
|
+
grpc_status_code grpc_get_status_code_from_metadata(grpc_mdelem md);
|
29
|
+
|
30
|
+
#endif /* GRPC_CORE_LIB_TRANSPORT_STATUS_METADATA_H */
|
@@ -16,12 +16,13 @@
|
|
16
16
|
*
|
17
17
|
*/
|
18
18
|
|
19
|
+
#include <grpc/support/port_platform.h>
|
20
|
+
|
19
21
|
#include "src/core/lib/transport/timeout_encoding.h"
|
20
22
|
|
21
23
|
#include <stdio.h>
|
22
24
|
#include <string.h>
|
23
25
|
|
24
|
-
#include <grpc/support/port_platform.h>
|
25
26
|
#include "src/core/lib/gpr/string.h"
|
26
27
|
|
27
28
|
static int64_t round_up(int64_t x, int64_t divisor) {
|
@@ -16,6 +16,8 @@
|
|
16
16
|
*
|
17
17
|
*/
|
18
18
|
|
19
|
+
#include <grpc/support/port_platform.h>
|
20
|
+
|
19
21
|
#include "src/core/lib/transport/transport.h"
|
20
22
|
|
21
23
|
#include <string.h>
|
@@ -207,7 +209,7 @@ void grpc_transport_stream_op_batch_finish_with_failure(
|
|
207
209
|
grpc_transport_stream_op_batch* batch, grpc_error* error,
|
208
210
|
grpc_call_combiner* call_combiner) {
|
209
211
|
if (batch->send_message) {
|
210
|
-
|
212
|
+
batch->payload->send_message.send_message.reset();
|
211
213
|
}
|
212
214
|
if (batch->recv_message) {
|
213
215
|
GRPC_CALL_COMBINER_START(
|
@@ -19,6 +19,8 @@
|
|
19
19
|
#ifndef GRPC_CORE_LIB_TRANSPORT_TRANSPORT_H
|
20
20
|
#define GRPC_CORE_LIB_TRANSPORT_TRANSPORT_H
|
21
21
|
|
22
|
+
#include <grpc/support/port_platform.h>
|
23
|
+
|
22
24
|
#include <stddef.h>
|
23
25
|
|
24
26
|
#include "src/core/lib/channel/context.h"
|
@@ -96,6 +98,19 @@ void grpc_transport_move_one_way_stats(grpc_transport_one_way_stats* from,
|
|
96
98
|
void grpc_transport_move_stats(grpc_transport_stream_stats* from,
|
97
99
|
grpc_transport_stream_stats* to);
|
98
100
|
|
101
|
+
// This struct (which is present in both grpc_transport_stream_op_batch
|
102
|
+
// and grpc_transport_op_batch) is a convenience to allow filters or
|
103
|
+
// transports to schedule a closure related to a particular batch without
|
104
|
+
// having to allocate memory. The general pattern is to initialize the
|
105
|
+
// closure with the callback arg set to the batch and extra_arg set to
|
106
|
+
// whatever state is associated with the handler (e.g., the call element
|
107
|
+
// or the transport stream object).
|
108
|
+
//
|
109
|
+
// Note that this can only be used by the current handler of a given
|
110
|
+
// batch on the way down the stack (i.e., whichever filter or transport is
|
111
|
+
// currently handling the batch). Once a filter or transport passes control
|
112
|
+
// of the batch to the next handler, it cannot depend on the contents of
|
113
|
+
// this struct anymore, because the next handler may reuse it.
|
99
114
|
typedef struct {
|
100
115
|
void* extra_arg;
|
101
116
|
grpc_closure closure;
|
@@ -155,6 +170,11 @@ struct grpc_transport_stream_op_batch_payload {
|
|
155
170
|
uint32_t send_initial_metadata_flags;
|
156
171
|
// If non-NULL, will be set by the transport to the peer string
|
157
172
|
// (a char*, which the caller takes ownership of).
|
173
|
+
// Note: This pointer may be used by the transport after the
|
174
|
+
// send_initial_metadata op is completed. It must remain valid
|
175
|
+
// until the call is destroyed.
|
176
|
+
// Note: When a transport sets this, it must free the previous
|
177
|
+
// value, if any.
|
158
178
|
gpr_atm* peer_string;
|
159
179
|
} send_initial_metadata;
|
160
180
|
|
@@ -164,15 +184,17 @@ struct grpc_transport_stream_op_batch_payload {
|
|
164
184
|
|
165
185
|
struct {
|
166
186
|
// The transport (or a filter that decides to return a failure before
|
167
|
-
// the op gets down to the transport)
|
168
|
-
// grpc_byte_stream_destroy() on this.
|
187
|
+
// the op gets down to the transport) takes ownership.
|
169
188
|
// The batch's on_complete will not be called until after the byte
|
170
|
-
// stream is
|
171
|
-
|
189
|
+
// stream is orphaned.
|
190
|
+
grpc_core::OrphanablePtr<grpc_core::ByteStream> send_message;
|
172
191
|
} send_message;
|
173
192
|
|
174
193
|
struct {
|
175
194
|
grpc_metadata_batch* recv_initial_metadata;
|
195
|
+
// Flags are used only on the server side. If non-null, will be set to
|
196
|
+
// a bitfield of the GRPC_INITIAL_METADATA_xxx macros (e.g., to
|
197
|
+
// indicate if the call is idempotent).
|
176
198
|
uint32_t* recv_flags;
|
177
199
|
/** Should be enqueued when initial metadata is ready to be processed. */
|
178
200
|
grpc_closure* recv_initial_metadata_ready;
|
@@ -182,15 +204,19 @@ struct grpc_transport_stream_op_batch_payload {
|
|
182
204
|
bool* trailing_metadata_available;
|
183
205
|
// If non-NULL, will be set by the transport to the peer string
|
184
206
|
// (a char*, which the caller takes ownership of).
|
207
|
+
// Note: This pointer may be used by the transport after the
|
208
|
+
// recv_initial_metadata op is completed. It must remain valid
|
209
|
+
// until the call is destroyed.
|
210
|
+
// Note: When a transport sets this, it must free the previous
|
211
|
+
// value, if any.
|
185
212
|
gpr_atm* peer_string;
|
186
213
|
} recv_initial_metadata;
|
187
214
|
|
188
215
|
struct {
|
189
216
|
// Will be set by the transport to point to the byte stream
|
190
217
|
// containing a received message.
|
191
|
-
//
|
192
|
-
|
193
|
-
grpc_byte_stream** recv_message;
|
218
|
+
// Will be NULL if trailing metadata is received instead of a message.
|
219
|
+
grpc_core::OrphanablePtr<grpc_core::ByteStream>* recv_message;
|
194
220
|
/** Should be enqueued when one message is ready to be processed. */
|
195
221
|
grpc_closure* recv_message_ready;
|
196
222
|
} recv_message;
|