grpc 1.35.0 → 1.38.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +168 -131
- data/include/grpc/event_engine/README.md +38 -0
- data/include/grpc/event_engine/channel_args.h +28 -0
- data/include/grpc/event_engine/event_engine.h +336 -0
- data/include/grpc/event_engine/port.h +39 -0
- data/include/grpc/event_engine/slice_allocator.h +81 -0
- data/include/grpc/grpc.h +15 -1
- data/include/grpc/grpc_security.h +16 -11
- data/include/grpc/grpc_security_constants.h +14 -0
- data/include/grpc/impl/codegen/grpc_types.h +11 -0
- data/include/grpc/impl/codegen/port_platform.h +7 -0
- data/include/grpc/module.modulemap +14 -14
- data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +177 -202
- data/src/core/ext/filters/client_channel/client_channel.cc +740 -3185
- data/src/core/ext/filters/client_channel/client_channel.h +488 -56
- data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
- data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -1
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -1
- data/src/core/ext/filters/client_channel/config_selector.h +10 -2
- data/src/core/ext/filters/client_channel/connector.h +1 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +18 -14
- data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
- data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -142
- data/src/core/ext/filters/client_channel/global_subchannel_pool.h +15 -10
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +26 -27
- data/src/core/ext/filters/client_channel/health/health_check_client.h +27 -26
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +26 -23
- data/src/core/ext/filters/client_channel/lb_policy.cc +4 -1
- data/src/core/ext/filters/client_channel/lb_policy.h +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -6
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +49 -48
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +2 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -1
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +5 -5
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +22 -18
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +23 -0
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +27 -0
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +15 -15
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +318 -193
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +5 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +30 -47
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +32 -47
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +316 -171
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
- data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +27 -67
- data/src/core/ext/filters/client_channel/local_subchannel_pool.h +10 -9
- data/src/core/ext/filters/client_channel/resolver.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver.h +3 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +59 -60
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +3 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +4 -4
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +17 -15
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +67 -74
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +33 -23
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +38 -43
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +379 -0
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +346 -178
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +32 -239
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +20 -49
- data/src/core/ext/filters/client_channel/retry_filter.cc +2188 -0
- data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
- data/src/core/ext/filters/client_channel/retry_service_config.cc +287 -0
- data/src/core/ext/filters/client_channel/retry_service_config.h +90 -0
- data/src/core/ext/filters/client_channel/server_address.cc +10 -1
- data/src/core/ext/filters/client_channel/server_address.h +31 -0
- data/src/core/ext/filters/client_channel/service_config.cc +15 -14
- data/src/core/ext/filters/client_channel/service_config.h +7 -6
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +5 -4
- data/src/core/ext/filters/client_channel/service_config_parser.cc +6 -6
- data/src/core/ext/filters/client_channel/service_config_parser.h +7 -4
- data/src/core/ext/filters/client_channel/subchannel.cc +86 -162
- data/src/core/ext/filters/client_channel/subchannel.h +68 -99
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +16 -2
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +10 -8
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +17 -16
- data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +501 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +39 -0
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +189 -0
- data/src/core/ext/filters/fault_injection/service_config_parser.h +85 -0
- data/src/core/ext/filters/http/client/http_client_filter.cc +28 -21
- data/src/core/ext/filters/http/client_authority_filter.cc +3 -3
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +23 -22
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +21 -21
- data/src/core/ext/filters/http/server/http_server_filter.cc +27 -23
- data/src/core/ext/filters/max_age/max_age_filter.cc +47 -42
- data/src/core/ext/filters/message_size/message_size_filter.cc +14 -11
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +5 -4
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +8 -8
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +5 -4
- 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 +6 -5
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +507 -196
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +11 -2
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +13 -4
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +3 -3
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +64 -21
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +167 -122
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -1
- data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
- data/src/core/ext/transport/chttp2/transport/context_list.h +4 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +13 -9
- data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -10
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +7 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -5
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -6
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +237 -208
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -10
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +4 -4
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +32 -27
- data/src/core/ext/transport/chttp2/transport/parsing.cc +63 -56
- data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +30 -29
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +406 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1459 -0
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +350 -0
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1348 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +11 -16
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +42 -59
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +3 -2
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +15 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +25 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +75 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +9 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +28 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +6 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +25 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +41 -7
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +23 -21
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +122 -77
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +13 -9
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +37 -5
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +144 -0
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +488 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +141 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +452 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +11 -9
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +44 -27
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +57 -16
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +150 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +29 -0
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +67 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +79 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +268 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +78 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +281 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +113 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +19 -21
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +64 -51
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +16 -13
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +50 -18
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +4 -7
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +0 -17
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +30 -23
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +85 -73
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -3
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -3
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -2
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +93 -0
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +323 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +36 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +90 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +46 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +124 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +21 -4
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +29 -0
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +33 -0
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +77 -0
- data/src/core/ext/upb-generated/{udpa/core/v1 → xds/core/v3}/authority.upb.c +5 -5
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +60 -0
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +52 -0
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +143 -0
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +42 -0
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +84 -0
- data/src/core/ext/upb-generated/{udpa/core/v1 → xds/core/v3}/resource.upb.c +9 -9
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +94 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +54 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +166 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +36 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +85 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +354 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +140 -0
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +168 -171
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +383 -0
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +115 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +405 -420
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +2 -2
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +12 -9
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +177 -171
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +88 -88
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +153 -153
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +10 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +4 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +33 -20
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +56 -59
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +116 -111
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +129 -121
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +21 -24
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +141 -0
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +141 -0
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +70 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +17 -13
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +753 -724
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +22 -25
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +51 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +102 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +120 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +76 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +371 -377
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +12 -16
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +112 -108
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +45 -53
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +177 -180
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +92 -102
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +32 -42
- data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +30 -40
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +4 -7
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +38 -44
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +130 -0
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +30 -33
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +63 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +44 -0
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +42 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +62 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +45 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +49 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +67 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +50 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +35 -0
- data/src/core/ext/xds/certificate_provider_factory.h +1 -1
- data/src/core/ext/xds/certificate_provider_store.h +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
- data/src/core/ext/xds/xds_api.cc +2179 -688
- data/src/core/ext/xds/xds_api.h +326 -124
- data/src/core/ext/xds/xds_bootstrap.cc +115 -142
- data/src/core/ext/xds/xds_bootstrap.h +24 -17
- data/src/core/ext/xds/xds_certificate_provider.cc +184 -78
- data/src/core/ext/xds/xds_certificate_provider.h +84 -45
- data/src/core/ext/xds/xds_channel_args.h +5 -2
- data/src/core/ext/xds/xds_client.cc +462 -183
- data/src/core/ext/xds/xds_client.h +65 -22
- data/src/core/ext/xds/xds_client_stats.cc +2 -1
- data/src/core/ext/xds/xds_client_stats.h +5 -4
- data/src/core/ext/xds/xds_http_fault_filter.cc +226 -0
- data/src/core/ext/xds/xds_http_fault_filter.h +63 -0
- data/src/core/ext/xds/xds_http_filters.cc +114 -0
- data/src/core/ext/xds/xds_http_filters.h +130 -0
- data/src/core/ext/xds/xds_server_config_fetcher.cc +444 -29
- data/src/core/lib/{iomgr → address_utils}/parse_address.cc +17 -17
- data/src/core/lib/{iomgr → address_utils}/parse_address.h +7 -7
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +108 -5
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +26 -6
- data/src/core/lib/channel/channel_stack.cc +22 -9
- data/src/core/lib/channel/channel_stack.h +17 -9
- data/src/core/lib/channel/channel_stack_builder.cc +2 -2
- data/src/core/lib/channel/channel_stack_builder.h +1 -1
- data/src/core/lib/channel/channelz.cc +108 -12
- data/src/core/lib/channel/channelz.h +30 -1
- data/src/core/lib/channel/channelz_registry.cc +14 -0
- data/src/core/lib/channel/connected_channel.cc +4 -4
- data/src/core/lib/channel/handshaker.cc +9 -50
- data/src/core/lib/channel/handshaker.h +6 -23
- data/src/core/lib/channel/status_util.cc +12 -2
- data/src/core/lib/channel/status_util.h +5 -0
- data/src/core/lib/event_engine/slice_allocator.cc +59 -0
- data/src/core/lib/event_engine/sockaddr.cc +38 -0
- data/src/core/lib/gpr/log.cc +6 -1
- data/src/core/lib/gpr/sync_abseil.cc +3 -6
- data/src/core/lib/gpr/sync_windows.cc +2 -2
- data/src/core/lib/gprpp/atomic.h +3 -3
- data/src/core/lib/gprpp/dual_ref_counted.h +3 -3
- data/src/core/lib/gprpp/mpscq.cc +2 -2
- data/src/core/lib/gprpp/ref_counted.h +29 -15
- data/src/core/lib/gprpp/ref_counted_ptr.h +2 -0
- data/src/core/lib/gprpp/status_helper.cc +407 -0
- data/src/core/lib/gprpp/status_helper.h +180 -0
- data/src/core/lib/gprpp/sync.h +129 -40
- data/src/core/lib/gprpp/thd.h +1 -1
- data/src/core/lib/gprpp/time_util.cc +77 -0
- data/src/core/lib/gprpp/time_util.h +42 -0
- data/src/core/lib/http/httpcli.cc +11 -11
- data/src/core/lib/http/httpcli_security_connector.cc +13 -9
- data/src/core/lib/http/parser.cc +16 -16
- data/src/core/lib/http/parser.h +4 -4
- data/src/core/lib/iomgr/buffer_list.cc +7 -9
- data/src/core/lib/iomgr/buffer_list.h +5 -6
- data/src/core/lib/iomgr/call_combiner.cc +15 -12
- data/src/core/lib/iomgr/call_combiner.h +12 -14
- data/src/core/lib/iomgr/cfstream_handle.cc +5 -5
- data/src/core/lib/iomgr/cfstream_handle.h +1 -1
- data/src/core/lib/iomgr/closure.h +7 -6
- data/src/core/lib/iomgr/combiner.cc +14 -12
- data/src/core/lib/iomgr/combiner.h +2 -2
- data/src/core/lib/iomgr/endpoint.cc +1 -1
- data/src/core/lib/iomgr/endpoint.h +2 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +11 -13
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
- data/src/core/lib/iomgr/error.cc +167 -61
- data/src/core/lib/iomgr/error.h +218 -107
- data/src/core/lib/iomgr/error_cfstream.cc +3 -2
- data/src/core/lib/iomgr/error_cfstream.h +2 -2
- data/src/core/lib/iomgr/error_internal.h +5 -1
- data/src/core/lib/iomgr/ev_apple.cc +16 -13
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +22 -22
- data/src/core/lib/iomgr/ev_epollex_linux.cc +52 -49
- data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
- data/src/core/lib/iomgr/ev_posix.cc +12 -11
- data/src/core/lib/iomgr/ev_posix.h +9 -9
- data/src/core/lib/iomgr/exec_ctx.cc +10 -6
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +8 -8
- data/src/core/lib/iomgr/executor.h +2 -2
- data/src/core/lib/iomgr/iomgr.cc +1 -1
- data/src/core/lib/iomgr/iomgr.h +1 -1
- data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
- data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
- data/src/core/lib/iomgr/iomgr_internal.h +3 -3
- data/src/core/lib/iomgr/iomgr_posix.cc +1 -2
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -3
- data/src/core/lib/iomgr/iomgr_windows.cc +1 -1
- data/src/core/lib/iomgr/load_file.cc +4 -4
- data/src/core/lib/iomgr/load_file.h +2 -2
- data/src/core/lib/iomgr/lockfree_event.cc +5 -5
- data/src/core/lib/iomgr/lockfree_event.h +1 -1
- data/src/core/lib/iomgr/pollset.cc +5 -5
- data/src/core/lib/iomgr/pollset.h +9 -9
- data/src/core/lib/iomgr/pollset_custom.cc +5 -5
- data/src/core/lib/iomgr/pollset_windows.cc +5 -5
- data/src/core/lib/iomgr/port.h +1 -1
- data/src/core/lib/iomgr/python_util.h +1 -1
- data/src/core/lib/iomgr/resolve_address.cc +3 -3
- data/src/core/lib/iomgr/resolve_address.h +6 -6
- data/src/core/lib/iomgr/resolve_address_custom.cc +10 -9
- data/src/core/lib/iomgr/resolve_address_custom.h +3 -3
- data/src/core/lib/iomgr/resolve_address_posix.cc +3 -3
- data/src/core/lib/iomgr/resolve_address_windows.cc +4 -4
- data/src/core/lib/iomgr/resource_quota.cc +12 -11
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +23 -20
- data/src/core/lib/iomgr/socket_utils_posix.h +20 -20
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_custom.cc +5 -6
- data/src/core/lib/iomgr/tcp_client_posix.cc +16 -18
- data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +5 -5
- data/src/core/lib/iomgr/tcp_custom.cc +14 -16
- data/src/core/lib/iomgr/tcp_custom.h +13 -12
- data/src/core/lib/iomgr/tcp_posix.cc +41 -42
- data/src/core/lib/iomgr/tcp_server.cc +6 -6
- data/src/core/lib/iomgr/tcp_server.h +12 -11
- data/src/core/lib/iomgr/tcp_server_custom.cc +23 -21
- data/src/core/lib/iomgr/tcp_server_posix.cc +22 -21
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +19 -17
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -9
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +26 -25
- data/src/core/lib/iomgr/tcp_uv.cc +27 -25
- data/src/core/lib/iomgr/tcp_windows.cc +13 -13
- data/src/core/lib/iomgr/tcp_windows.h +2 -2
- data/src/core/lib/iomgr/timer_custom.cc +2 -1
- data/src/core/lib/iomgr/timer_custom.h +1 -1
- data/src/core/lib/iomgr/timer_generic.cc +8 -8
- data/src/core/lib/iomgr/timer_manager.cc +1 -1
- data/src/core/lib/iomgr/udp_server.cc +21 -20
- data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
- data/src/core/lib/iomgr/unix_sockets_posix.h +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -1
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +4 -4
- data/src/core/lib/iomgr/wakeup_fd_posix.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
- data/src/core/lib/iomgr/work_serializer.h +17 -1
- data/src/core/lib/json/json.h +1 -1
- data/src/core/lib/json/json_reader.cc +4 -4
- data/src/core/lib/matchers/matchers.cc +339 -0
- data/src/core/lib/matchers/matchers.h +160 -0
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -1
- data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
- data/src/core/lib/security/credentials/credentials.h +4 -3
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +18 -14
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +13 -11
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -1
- data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -1
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +17 -14
- data/src/core/lib/security/credentials/external/external_account_credentials.h +9 -8
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +6 -5
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -3
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +9 -9
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +3 -3
- data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +16 -15
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -2
- data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +2 -2
- data/src/core/lib/security/credentials/jwt/json_token.cc +2 -5
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +7 -8
- data/src/core/lib/security/credentials/local/local_credentials.cc +2 -1
- data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +2 -1
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +8 -7
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -9
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +19 -13
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -0
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +2 -1
- data/src/core/lib/security/credentials/tls/tls_credentials.h +1 -1
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +130 -61
- data/src/core/lib/security/credentials/xds/xds_credentials.h +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +5 -5
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +12 -2
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -4
- data/src/core/lib/security/security_connector/security_connector.h +9 -4
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +16 -6
- data/src/core/lib/security/security_connector/ssl_utils.cc +31 -8
- data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +88 -74
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +66 -48
- data/src/core/lib/security/transport/client_auth_filter.cc +18 -10
- data/src/core/lib/security/transport/secure_endpoint.cc +4 -4
- data/src/core/lib/security/transport/security_handshaker.cc +66 -37
- data/src/core/lib/security/transport/server_auth_filter.cc +24 -11
- data/src/core/lib/security/transport/tsi_error.cc +2 -1
- data/src/core/lib/security/transport/tsi_error.h +2 -1
- data/src/core/lib/security/util/json_util.cc +2 -2
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/slice/slice_intern.cc +5 -6
- data/src/core/lib/surface/call.cc +46 -45
- data/src/core/lib/surface/call.h +2 -2
- data/src/core/lib/surface/channel.cc +6 -6
- data/src/core/lib/surface/channel.h +6 -5
- data/src/core/lib/surface/channel_ping.cc +1 -1
- data/src/core/lib/surface/completion_queue.cc +46 -47
- data/src/core/lib/surface/completion_queue.h +2 -1
- data/src/core/lib/surface/init.cc +13 -15
- data/src/core/lib/surface/lame_client.cc +43 -24
- data/src/core/lib/surface/lame_client.h +4 -3
- data/src/core/lib/surface/server.cc +71 -58
- data/src/core/lib/surface/server.h +91 -28
- data/src/core/lib/surface/validate_metadata.cc +7 -7
- data/src/core/lib/surface/validate_metadata.h +3 -2
- data/src/core/lib/surface/version.cc +4 -2
- data/src/core/lib/transport/byte_stream.cc +5 -5
- data/src/core/lib/transport/byte_stream.h +8 -8
- data/src/core/lib/transport/connectivity_state.cc +1 -1
- data/src/core/lib/transport/error_utils.cc +19 -8
- data/src/core/lib/transport/error_utils.h +11 -5
- data/src/core/lib/transport/metadata.cc +6 -2
- data/src/core/lib/transport/metadata_batch.cc +64 -37
- data/src/core/lib/transport/metadata_batch.h +33 -18
- data/src/core/lib/transport/transport.cc +4 -3
- data/src/core/lib/transport/transport.h +4 -4
- data/src/core/lib/transport/transport_op_string.cc +5 -5
- data/src/core/plugin_registry/grpc_plugin_registry.cc +12 -0
- data/src/core/tsi/alts/crypt/gsec.h +4 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +23 -28
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +23 -27
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +1 -3
- data/src/core/tsi/fake_transport_security.cc +11 -2
- data/src/core/tsi/ssl/session_cache/ssl_session.h +0 -3
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +0 -2
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +2 -4
- data/src/core/tsi/ssl_transport_security.cc +32 -17
- data/src/core/tsi/ssl_transport_security.h +3 -7
- data/src/ruby/bin/math_services_pb.rb +1 -1
- data/src/ruby/ext/grpc/extconf.rb +9 -1
- data/src/ruby/ext/grpc/rb_channel.c +10 -1
- data/src/ruby/ext/grpc/rb_channel_credentials.c +11 -1
- data/src/ruby/ext/grpc/rb_channel_credentials.h +4 -0
- data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
- data/src/ruby/ext/grpc/rb_enable_cpp.cc +1 -1
- data/src/ruby/ext/grpc/rb_grpc.c +4 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +4 -1
- data/src/ruby/ext/grpc/rb_server.c +13 -1
- data/src/ruby/ext/grpc/rb_server_credentials.c +19 -3
- data/src/ruby/ext/grpc/rb_server_credentials.h +4 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +215 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +35 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +169 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.h +35 -0
- data/src/ruby/lib/grpc/generic/client_stub.rb +4 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +7 -0
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +6 -6
- data/src/ruby/spec/call_spec.rb +1 -1
- data/src/ruby/spec/channel_credentials_spec.rb +32 -0
- data/src/ruby/spec/channel_spec.rb +17 -6
- data/src/ruby/spec/client_auth_spec.rb +27 -1
- data/src/ruby/spec/errors_spec.rb +1 -1
- data/src/ruby/spec/generic/active_call_spec.rb +2 -2
- data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
- data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
- data/src/ruby/spec/server_credentials_spec.rb +25 -0
- data/src/ruby/spec/server_spec.rb +22 -0
- data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
- data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
- data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
- data/third_party/abseil-cpp/absl/base/config.h +37 -9
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
- data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
- data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
- data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
- data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
- data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +5 -2
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +43 -42
- data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
- data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
- data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
- data/third_party/abseil-cpp/absl/base/macros.h +11 -0
- data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
- data/third_party/abseil-cpp/absl/base/options.h +1 -1
- data/third_party/abseil-cpp/absl/base/port.h +0 -1
- data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
- data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
- data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
- data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
- data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
- data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
- data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
- data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
- data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
- data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
- data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
- data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -7
- data/third_party/abseil-cpp/absl/status/status.cc +29 -22
- data/third_party/abseil-cpp/absl/status/status.h +81 -20
- data/third_party/abseil-cpp/absl/status/statusor.h +3 -3
- data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
- data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
- data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
- data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
- data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
- data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
- data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
- data/third_party/abseil-cpp/absl/strings/match.h +16 -6
- data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
- data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
- data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
- data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +1 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
- data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
- data/third_party/abseil-cpp/absl/time/clock.h +2 -2
- data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
- data/third_party/abseil-cpp/absl/time/time.cc +4 -3
- data/third_party/abseil-cpp/absl/time/time.h +26 -24
- data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
- data/third_party/abseil-cpp/absl/types/variant.h +9 -4
- data/third_party/boringssl-with-bazel/err_data.c +742 -724
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +4 -11
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +22 -10
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +16 -16
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +35 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +28 -79
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +40 -86
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +6 -17
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +10 -61
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +158 -0
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +3 -10
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +8 -9
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +60 -45
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +6 -81
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +101 -3
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
- data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c +41 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +11 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/dh_asn1.c +0 -0
- data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/params.c +179 -0
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +25 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +2 -17
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +13 -20
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +10 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +32 -16
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
- data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/check.c +0 -0
- data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/dh.c +136 -213
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +4 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +16 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +9 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +43 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +43 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +28 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +135 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +51 -32
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +161 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +45 -48
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +38 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +37 -45
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +121 -71
- data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +71 -41
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +65 -0
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +10 -7
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +13 -11
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/is_fips.c → rand_extra/passive.c} +16 -11
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +5 -1
- data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +7 -13
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +19 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +5 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +19 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +4 -31
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +10 -7
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +39 -89
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +17 -24
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +29 -23
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +21 -34
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +6 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +39 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +11 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +25 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +4 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +40 -20
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +25 -36
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +6 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +3 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +737 -551
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +0 -167
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +19 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +62 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +22 -7
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +15 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +22 -32
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +56 -26
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +20 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +19 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +13 -40
- data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +2 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +5 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +2 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +239 -37
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +28 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +702 -219
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +141 -36
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -0
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +444 -0
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +244 -1
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +47 -15
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +11 -20
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +159 -13
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +253 -58
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +7 -1
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +0 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +7 -8
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +23 -26
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +90 -25
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +7 -8
- data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +5 -7
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +450 -104
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +34 -4
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +48 -15
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +232 -85
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
- data/third_party/xxhash/xxhash.h +5443 -0
- metadata +174 -95
- data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.h +0 -60
- data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c +0 -52
- data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h +0 -143
- data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c +0 -42
- data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h +0 -84
- data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.h +0 -94
- data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c +0 -54
- data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h +0 -173
- data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c +0 -36
- data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h +0 -92
- data/src/core/ext/upbdefs-generated/udpa/core/v1/authority.upbdefs.c +0 -42
- data/src/core/ext/upbdefs-generated/udpa/core/v1/authority.upbdefs.h +0 -35
- data/src/core/ext/upbdefs-generated/udpa/core/v1/collection_entry.upbdefs.c +0 -62
- data/src/core/ext/upbdefs-generated/udpa/core/v1/collection_entry.upbdefs.h +0 -40
- data/src/core/ext/upbdefs-generated/udpa/core/v1/context_params.upbdefs.c +0 -45
- data/src/core/ext/upbdefs-generated/udpa/core/v1/context_params.upbdefs.h +0 -40
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource.upbdefs.c +0 -49
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource.upbdefs.h +0 -35
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_locator.upbdefs.c +0 -68
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_locator.upbdefs.h +0 -40
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_name.upbdefs.c +0 -51
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_name.upbdefs.h +0 -35
- data/src/core/lib/iomgr/iomgr_posix.h +0 -26
- data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
- data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
- data/src/core/lib/security/authorization/authorization_engine.cc +0 -177
- data/src/core/lib/security/authorization/authorization_engine.h +0 -84
- data/src/core/lib/security/authorization/evaluate_args.cc +0 -148
- data/src/core/lib/security/authorization/evaluate_args.h +0 -59
- data/src/core/lib/security/authorization/mock_cel/activation.h +0 -57
- data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +0 -44
- data/src/core/lib/security/authorization/mock_cel/cel_expression.h +0 -69
- data/src/core/lib/security/authorization/mock_cel/cel_value.h +0 -97
- data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +0 -67
- data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +0 -57
- data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +0 -504
- data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
- data/third_party/upb/upb/json_decode.c +0 -1443
- data/third_party/upb/upb/json_decode.h +0 -23
- data/third_party/upb/upb/json_encode.c +0 -713
- data/third_party/upb/upb/json_encode.h +0 -36
@@ -57,7 +57,7 @@ void client_authority_start_transport_stream_op_batch(
|
|
57
57
|
if (batch->send_initial_metadata &&
|
58
58
|
batch->payload->send_initial_metadata.send_initial_metadata->idx.named
|
59
59
|
.authority == nullptr) {
|
60
|
-
|
60
|
+
grpc_error_handle error = grpc_metadata_batch_add_head(
|
61
61
|
batch->payload->send_initial_metadata.send_initial_metadata,
|
62
62
|
&calld->authority_storage,
|
63
63
|
GRPC_MDELEM_REF(chand->default_authority_mdelem), GRPC_BATCH_AUTHORITY);
|
@@ -72,7 +72,7 @@ void client_authority_start_transport_stream_op_batch(
|
|
72
72
|
}
|
73
73
|
|
74
74
|
/* Constructor for call_data */
|
75
|
-
|
75
|
+
grpc_error_handle client_authority_init_call_elem(
|
76
76
|
grpc_call_element* elem, const grpc_call_element_args* args) {
|
77
77
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
78
78
|
calld->call_combiner = args->call_combiner;
|
@@ -85,7 +85,7 @@ void client_authority_destroy_call_elem(
|
|
85
85
|
grpc_closure* /*ignored*/) {}
|
86
86
|
|
87
87
|
/* Constructor for channel_data */
|
88
|
-
|
88
|
+
grpc_error_handle client_authority_init_channel_elem(
|
89
89
|
grpc_channel_element* elem, grpc_channel_element_args* args) {
|
90
90
|
channel_data* chand = static_cast<channel_data*>(elem->channel_data);
|
91
91
|
const grpc_arg* default_authority_arg =
|
@@ -131,25 +131,25 @@ class CallData {
|
|
131
131
|
bool SkipMessageCompression();
|
132
132
|
void InitializeState(grpc_call_element* elem);
|
133
133
|
|
134
|
-
|
135
|
-
|
134
|
+
grpc_error_handle ProcessSendInitialMetadata(
|
135
|
+
grpc_call_element* elem, grpc_metadata_batch* initial_metadata);
|
136
136
|
|
137
137
|
// Methods for processing a send_message batch
|
138
|
-
static void StartSendMessageBatch(void* elem_arg,
|
139
|
-
static void OnSendMessageNextDone(void* elem_arg,
|
140
|
-
|
138
|
+
static void StartSendMessageBatch(void* elem_arg, grpc_error_handle unused);
|
139
|
+
static void OnSendMessageNextDone(void* elem_arg, grpc_error_handle error);
|
140
|
+
grpc_error_handle PullSliceFromSendMessage();
|
141
141
|
void ContinueReadingSendMessage(grpc_call_element* elem);
|
142
142
|
void FinishSendMessage(grpc_call_element* elem);
|
143
143
|
void SendMessageBatchContinue(grpc_call_element* elem);
|
144
144
|
static void FailSendMessageBatchInCallCombiner(void* calld_arg,
|
145
|
-
|
145
|
+
grpc_error_handle error);
|
146
146
|
|
147
|
-
static void SendMessageOnComplete(void* calld_arg,
|
147
|
+
static void SendMessageOnComplete(void* calld_arg, grpc_error_handle error);
|
148
148
|
|
149
149
|
grpc_core::CallCombiner* call_combiner_;
|
150
150
|
grpc_message_compression_algorithm message_compression_algorithm_ =
|
151
151
|
GRPC_MESSAGE_COMPRESS_NONE;
|
152
|
-
|
152
|
+
grpc_error_handle cancel_error_ = GRPC_ERROR_NONE;
|
153
153
|
grpc_transport_stream_op_batch* send_message_batch_ = nullptr;
|
154
154
|
bool seen_initial_metadata_ = false;
|
155
155
|
/* Set to true, if the fields below are initialized. */
|
@@ -232,7 +232,7 @@ void CallData::InitializeState(grpc_call_element* elem) {
|
|
232
232
|
grpc_schedule_on_exec_ctx);
|
233
233
|
}
|
234
234
|
|
235
|
-
|
235
|
+
grpc_error_handle CallData::ProcessSendInitialMetadata(
|
236
236
|
grpc_call_element* elem, grpc_metadata_batch* initial_metadata) {
|
237
237
|
ChannelData* channeld = static_cast<ChannelData*>(elem->channel_data);
|
238
238
|
// Find the compression algorithm.
|
@@ -246,7 +246,7 @@ grpc_error* CallData::ProcessSendInitialMetadata(
|
|
246
246
|
grpc_compression_algorithm_to_stream_compression_algorithm(
|
247
247
|
compression_algorithm);
|
248
248
|
// Hint compression algorithm.
|
249
|
-
|
249
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
250
250
|
if (message_compression_algorithm_ != GRPC_MESSAGE_COMPRESS_NONE) {
|
251
251
|
InitializeState(elem);
|
252
252
|
error = grpc_metadata_batch_add_tail(
|
@@ -281,7 +281,7 @@ grpc_error* CallData::ProcessSendInitialMetadata(
|
|
281
281
|
return error;
|
282
282
|
}
|
283
283
|
|
284
|
-
void CallData::SendMessageOnComplete(void* calld_arg,
|
284
|
+
void CallData::SendMessageOnComplete(void* calld_arg, grpc_error_handle error) {
|
285
285
|
CallData* calld = static_cast<CallData*>(calld_arg);
|
286
286
|
grpc_slice_buffer_reset_and_unref_internal(&calld->slices_);
|
287
287
|
grpc_core::Closure::Run(DEBUG_LOCATION,
|
@@ -348,7 +348,7 @@ void CallData::FinishSendMessage(grpc_call_element* elem) {
|
|
348
348
|
}
|
349
349
|
|
350
350
|
void CallData::FailSendMessageBatchInCallCombiner(void* calld_arg,
|
351
|
-
|
351
|
+
grpc_error_handle error) {
|
352
352
|
CallData* calld = static_cast<CallData*>(calld_arg);
|
353
353
|
if (calld->send_message_batch_ != nullptr) {
|
354
354
|
grpc_transport_stream_op_batch_finish_with_failure(
|
@@ -359,9 +359,9 @@ void CallData::FailSendMessageBatchInCallCombiner(void* calld_arg,
|
|
359
359
|
}
|
360
360
|
|
361
361
|
// Pulls a slice from the send_message byte stream and adds it to slices_.
|
362
|
-
|
362
|
+
grpc_error_handle CallData::PullSliceFromSendMessage() {
|
363
363
|
grpc_slice incoming_slice;
|
364
|
-
|
364
|
+
grpc_error_handle error =
|
365
365
|
send_message_batch_->payload->send_message.send_message->Pull(
|
366
366
|
&incoming_slice);
|
367
367
|
if (error == GRPC_ERROR_NONE) {
|
@@ -382,7 +382,7 @@ void CallData::ContinueReadingSendMessage(grpc_call_element* elem) {
|
|
382
382
|
}
|
383
383
|
while (send_message_batch_->payload->send_message.send_message->Next(
|
384
384
|
~static_cast<size_t>(0), &on_send_message_next_done_)) {
|
385
|
-
|
385
|
+
grpc_error_handle error = PullSliceFromSendMessage();
|
386
386
|
if (error != GRPC_ERROR_NONE) {
|
387
387
|
// Closure callback; does not take ownership of error.
|
388
388
|
FailSendMessageBatchInCallCombiner(this, error);
|
@@ -398,7 +398,7 @@ void CallData::ContinueReadingSendMessage(grpc_call_element* elem) {
|
|
398
398
|
}
|
399
399
|
|
400
400
|
// Async callback for ByteStream::Next().
|
401
|
-
void CallData::OnSendMessageNextDone(void* elem_arg,
|
401
|
+
void CallData::OnSendMessageNextDone(void* elem_arg, grpc_error_handle error) {
|
402
402
|
grpc_call_element* elem = static_cast<grpc_call_element*>(elem_arg);
|
403
403
|
CallData* calld = static_cast<CallData*>(elem->call_data);
|
404
404
|
if (error != GRPC_ERROR_NONE) {
|
@@ -421,7 +421,8 @@ void CallData::OnSendMessageNextDone(void* elem_arg, grpc_error* error) {
|
|
421
421
|
}
|
422
422
|
}
|
423
423
|
|
424
|
-
void CallData::StartSendMessageBatch(void* elem_arg,
|
424
|
+
void CallData::StartSendMessageBatch(void* elem_arg,
|
425
|
+
grpc_error_handle /*unused*/) {
|
425
426
|
grpc_call_element* elem = static_cast<grpc_call_element*>(elem_arg);
|
426
427
|
CallData* calld = static_cast<CallData*>(elem->call_data);
|
427
428
|
if (calld->SkipMessageCompression()) {
|
@@ -458,7 +459,7 @@ void CallData::CompressStartTransportStreamOpBatch(
|
|
458
459
|
// Handle send_initial_metadata.
|
459
460
|
if (batch->send_initial_metadata) {
|
460
461
|
GPR_ASSERT(!seen_initial_metadata_);
|
461
|
-
|
462
|
+
grpc_error_handle error = ProcessSendInitialMetadata(
|
462
463
|
elem, batch->payload->send_initial_metadata.send_initial_metadata);
|
463
464
|
if (error != GRPC_ERROR_NONE) {
|
464
465
|
grpc_transport_stream_op_batch_finish_with_failure(batch, error,
|
@@ -503,8 +504,8 @@ void CompressStartTransportStreamOpBatch(
|
|
503
504
|
}
|
504
505
|
|
505
506
|
/* Constructor for call_data */
|
506
|
-
|
507
|
-
|
507
|
+
grpc_error_handle CompressInitCallElem(grpc_call_element* elem,
|
508
|
+
const grpc_call_element_args* args) {
|
508
509
|
new (elem->call_data) CallData(elem, *args);
|
509
510
|
return GRPC_ERROR_NONE;
|
510
511
|
}
|
@@ -518,8 +519,8 @@ void CompressDestroyCallElem(grpc_call_element* elem,
|
|
518
519
|
}
|
519
520
|
|
520
521
|
/* Constructor for ChannelData */
|
521
|
-
|
522
|
-
|
522
|
+
grpc_error_handle CompressInitChannelElem(grpc_channel_element* elem,
|
523
|
+
grpc_channel_element_args* args) {
|
523
524
|
new (elem->channel_data) ChannelData(args);
|
524
525
|
return GRPC_ERROR_NONE;
|
525
526
|
}
|
@@ -89,24 +89,24 @@ class CallData {
|
|
89
89
|
grpc_call_element* elem, grpc_transport_stream_op_batch* batch);
|
90
90
|
|
91
91
|
private:
|
92
|
-
static void OnRecvInitialMetadataReady(void* arg,
|
92
|
+
static void OnRecvInitialMetadataReady(void* arg, grpc_error_handle error);
|
93
93
|
|
94
94
|
// Methods for processing a receive message event
|
95
95
|
void MaybeResumeOnRecvMessageReady();
|
96
|
-
static void OnRecvMessageReady(void* arg,
|
97
|
-
static void OnRecvMessageNextDone(void* arg,
|
98
|
-
|
96
|
+
static void OnRecvMessageReady(void* arg, grpc_error_handle error);
|
97
|
+
static void OnRecvMessageNextDone(void* arg, grpc_error_handle error);
|
98
|
+
grpc_error_handle PullSliceFromRecvMessage();
|
99
99
|
void ContinueReadingRecvMessage();
|
100
100
|
void FinishRecvMessage();
|
101
|
-
void ContinueRecvMessageReadyCallback(
|
101
|
+
void ContinueRecvMessageReadyCallback(grpc_error_handle error);
|
102
102
|
|
103
103
|
// Methods for processing a recv_trailing_metadata event
|
104
104
|
void MaybeResumeOnRecvTrailingMetadataReady();
|
105
|
-
static void OnRecvTrailingMetadataReady(void* arg,
|
105
|
+
static void OnRecvTrailingMetadataReady(void* arg, grpc_error_handle error);
|
106
106
|
|
107
107
|
CallCombiner* call_combiner_;
|
108
108
|
// Overall error for the call
|
109
|
-
|
109
|
+
grpc_error_handle error_ = GRPC_ERROR_NONE;
|
110
110
|
// Fields for handling recv_initial_metadata_ready callback
|
111
111
|
grpc_closure on_recv_initial_metadata_ready_;
|
112
112
|
grpc_closure* original_recv_initial_metadata_ready_ = nullptr;
|
@@ -130,7 +130,7 @@ class CallData {
|
|
130
130
|
bool seen_recv_trailing_metadata_ready_ = false;
|
131
131
|
grpc_closure on_recv_trailing_metadata_ready_;
|
132
132
|
grpc_closure* original_recv_trailing_metadata_ready_ = nullptr;
|
133
|
-
|
133
|
+
grpc_error_handle on_recv_trailing_metadata_ready_error_ = GRPC_ERROR_NONE;
|
134
134
|
};
|
135
135
|
|
136
136
|
grpc_message_compression_algorithm DecodeMessageCompressionAlgorithm(
|
@@ -149,7 +149,7 @@ grpc_message_compression_algorithm DecodeMessageCompressionAlgorithm(
|
|
149
149
|
return algorithm;
|
150
150
|
}
|
151
151
|
|
152
|
-
void CallData::OnRecvInitialMetadataReady(void* arg,
|
152
|
+
void CallData::OnRecvInitialMetadataReady(void* arg, grpc_error_handle error) {
|
153
153
|
CallData* calld = static_cast<CallData*>(arg);
|
154
154
|
if (error == GRPC_ERROR_NONE) {
|
155
155
|
grpc_linked_mdelem* grpc_encoding =
|
@@ -174,7 +174,7 @@ void CallData::MaybeResumeOnRecvMessageReady() {
|
|
174
174
|
}
|
175
175
|
}
|
176
176
|
|
177
|
-
void CallData::OnRecvMessageReady(void* arg,
|
177
|
+
void CallData::OnRecvMessageReady(void* arg, grpc_error_handle error) {
|
178
178
|
CallData* calld = static_cast<CallData*>(arg);
|
179
179
|
if (error == GRPC_ERROR_NONE) {
|
180
180
|
if (calld->original_recv_initial_metadata_ready_ != nullptr) {
|
@@ -218,7 +218,7 @@ void CallData::ContinueReadingRecvMessage() {
|
|
218
218
|
while ((*recv_message_)
|
219
219
|
->Next((*recv_message_)->length() - recv_slices_.length,
|
220
220
|
&on_recv_message_next_done_)) {
|
221
|
-
|
221
|
+
grpc_error_handle error = PullSliceFromRecvMessage();
|
222
222
|
if (error != GRPC_ERROR_NONE) {
|
223
223
|
return ContinueRecvMessageReadyCallback(error);
|
224
224
|
}
|
@@ -229,16 +229,16 @@ void CallData::ContinueReadingRecvMessage() {
|
|
229
229
|
}
|
230
230
|
}
|
231
231
|
|
232
|
-
|
232
|
+
grpc_error_handle CallData::PullSliceFromRecvMessage() {
|
233
233
|
grpc_slice incoming_slice;
|
234
|
-
|
234
|
+
grpc_error_handle error = (*recv_message_)->Pull(&incoming_slice);
|
235
235
|
if (error == GRPC_ERROR_NONE) {
|
236
236
|
grpc_slice_buffer_add(&recv_slices_, incoming_slice);
|
237
237
|
}
|
238
238
|
return error;
|
239
239
|
}
|
240
240
|
|
241
|
-
void CallData::OnRecvMessageNextDone(void* arg,
|
241
|
+
void CallData::OnRecvMessageNextDone(void* arg, grpc_error_handle error) {
|
242
242
|
CallData* calld = static_cast<CallData*>(arg);
|
243
243
|
if (error != GRPC_ERROR_NONE) {
|
244
244
|
return calld->ContinueRecvMessageReadyCallback(GRPC_ERROR_REF(error));
|
@@ -283,7 +283,7 @@ void CallData::FinishRecvMessage() {
|
|
283
283
|
ContinueRecvMessageReadyCallback(GRPC_ERROR_REF(error_));
|
284
284
|
}
|
285
285
|
|
286
|
-
void CallData::ContinueRecvMessageReadyCallback(
|
286
|
+
void CallData::ContinueRecvMessageReadyCallback(grpc_error_handle error) {
|
287
287
|
MaybeResumeOnRecvTrailingMetadataReady();
|
288
288
|
// The surface will clean up the receiving stream if there is an error.
|
289
289
|
grpc_closure* closure = original_recv_message_ready_;
|
@@ -294,14 +294,14 @@ void CallData::ContinueRecvMessageReadyCallback(grpc_error* error) {
|
|
294
294
|
void CallData::MaybeResumeOnRecvTrailingMetadataReady() {
|
295
295
|
if (seen_recv_trailing_metadata_ready_) {
|
296
296
|
seen_recv_trailing_metadata_ready_ = false;
|
297
|
-
|
297
|
+
grpc_error_handle error = on_recv_trailing_metadata_ready_error_;
|
298
298
|
on_recv_trailing_metadata_ready_error_ = GRPC_ERROR_NONE;
|
299
299
|
GRPC_CALL_COMBINER_START(call_combiner_, &on_recv_trailing_metadata_ready_,
|
300
300
|
error, "Continuing OnRecvTrailingMetadataReady");
|
301
301
|
}
|
302
302
|
}
|
303
303
|
|
304
|
-
void CallData::OnRecvTrailingMetadataReady(void* arg,
|
304
|
+
void CallData::OnRecvTrailingMetadataReady(void* arg, grpc_error_handle error) {
|
305
305
|
CallData* calld = static_cast<CallData*>(arg);
|
306
306
|
if (calld->original_recv_initial_metadata_ready_ != nullptr ||
|
307
307
|
calld->original_recv_message_ready_ != nullptr) {
|
@@ -356,8 +356,8 @@ void DecompressStartTransportStreamOpBatch(
|
|
356
356
|
calld->DecompressStartTransportStreamOpBatch(elem, batch);
|
357
357
|
}
|
358
358
|
|
359
|
-
|
360
|
-
|
359
|
+
grpc_error_handle DecompressInitCallElem(grpc_call_element* elem,
|
360
|
+
const grpc_call_element_args* args) {
|
361
361
|
ChannelData* chand = static_cast<ChannelData*>(elem->channel_data);
|
362
362
|
new (elem->call_data) CallData(*args, chand);
|
363
363
|
return GRPC_ERROR_NONE;
|
@@ -370,8 +370,8 @@ void DecompressDestroyCallElem(grpc_call_element* elem,
|
|
370
370
|
calld->~CallData();
|
371
371
|
}
|
372
372
|
|
373
|
-
|
374
|
-
|
373
|
+
grpc_error_handle DecompressInitChannelElem(grpc_channel_element* elem,
|
374
|
+
grpc_channel_element_args* args) {
|
375
375
|
ChannelData* chand = static_cast<ChannelData*>(elem->channel_data);
|
376
376
|
new (chand) ChannelData(args);
|
377
377
|
return GRPC_ERROR_NONE;
|
@@ -35,9 +35,11 @@
|
|
35
35
|
#define EXPECTED_CONTENT_TYPE "application/grpc"
|
36
36
|
#define EXPECTED_CONTENT_TYPE_LENGTH (sizeof(EXPECTED_CONTENT_TYPE) - 1)
|
37
37
|
|
38
|
-
static void hs_recv_initial_metadata_ready(void* user_data,
|
39
|
-
|
40
|
-
static void
|
38
|
+
static void hs_recv_initial_metadata_ready(void* user_data,
|
39
|
+
grpc_error_handle err);
|
40
|
+
static void hs_recv_trailing_metadata_ready(void* user_data,
|
41
|
+
grpc_error_handle err);
|
42
|
+
static void hs_recv_message_ready(void* user_data, grpc_error_handle err);
|
41
43
|
|
42
44
|
namespace {
|
43
45
|
|
@@ -74,7 +76,7 @@ struct call_data {
|
|
74
76
|
|
75
77
|
// State for intercepting recv_initial_metadata.
|
76
78
|
grpc_closure recv_initial_metadata_ready;
|
77
|
-
|
79
|
+
grpc_error_handle recv_initial_metadata_ready_error = GRPC_ERROR_NONE;
|
78
80
|
grpc_closure* original_recv_initial_metadata_ready;
|
79
81
|
grpc_metadata_batch* recv_initial_metadata = nullptr;
|
80
82
|
uint32_t* recv_initial_metadata_flags;
|
@@ -89,7 +91,7 @@ struct call_data {
|
|
89
91
|
// State for intercepting recv_trailing_metadata
|
90
92
|
grpc_closure recv_trailing_metadata_ready;
|
91
93
|
grpc_closure* original_recv_trailing_metadata_ready;
|
92
|
-
|
94
|
+
grpc_error_handle recv_trailing_metadata_ready_error;
|
93
95
|
bool seen_recv_trailing_metadata_ready = false;
|
94
96
|
};
|
95
97
|
|
@@ -99,7 +101,7 @@ struct channel_data {
|
|
99
101
|
|
100
102
|
} // namespace
|
101
103
|
|
102
|
-
static
|
104
|
+
static grpc_error_handle hs_filter_outgoing_metadata(grpc_metadata_batch* b) {
|
103
105
|
if (b->idx.named.grpc_message != nullptr) {
|
104
106
|
grpc_slice pct_encoded_msg = grpc_percent_encode_slice(
|
105
107
|
GRPC_MDVALUE(b->idx.named.grpc_message->md),
|
@@ -114,8 +116,8 @@ static grpc_error* hs_filter_outgoing_metadata(grpc_metadata_batch* b) {
|
|
114
116
|
return GRPC_ERROR_NONE;
|
115
117
|
}
|
116
118
|
|
117
|
-
static void hs_add_error(const char* error_name,
|
118
|
-
|
119
|
+
static void hs_add_error(const char* error_name, grpc_error_handle* cumulative,
|
120
|
+
grpc_error_handle new_err) {
|
119
121
|
if (new_err == GRPC_ERROR_NONE) return;
|
120
122
|
if (*cumulative == GRPC_ERROR_NONE) {
|
121
123
|
*cumulative = GRPC_ERROR_CREATE_FROM_COPIED_STRING(error_name);
|
@@ -149,10 +151,10 @@ static bool md_strict_equal(grpc_mdelem a, grpc_mdelem b_static) {
|
|
149
151
|
}
|
150
152
|
}
|
151
153
|
|
152
|
-
static
|
153
|
-
|
154
|
+
static grpc_error_handle hs_filter_incoming_metadata(grpc_call_element* elem,
|
155
|
+
grpc_metadata_batch* b) {
|
154
156
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
155
|
-
|
157
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
156
158
|
static const char* error_name = "Failed processing incoming headers";
|
157
159
|
|
158
160
|
if (b->idx.named.method != nullptr) {
|
@@ -330,7 +332,8 @@ static grpc_error* hs_filter_incoming_metadata(grpc_call_element* elem,
|
|
330
332
|
return error;
|
331
333
|
}
|
332
334
|
|
333
|
-
static void hs_recv_initial_metadata_ready(void* user_data,
|
335
|
+
static void hs_recv_initial_metadata_ready(void* user_data,
|
336
|
+
grpc_error_handle err) {
|
334
337
|
grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
|
335
338
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
336
339
|
calld->seen_recv_initial_metadata_ready = true;
|
@@ -367,7 +370,7 @@ static void hs_recv_initial_metadata_ready(void* user_data, grpc_error* err) {
|
|
367
370
|
calld->original_recv_initial_metadata_ready, err);
|
368
371
|
}
|
369
372
|
|
370
|
-
static void hs_recv_message_ready(void* user_data,
|
373
|
+
static void hs_recv_message_ready(void* user_data, grpc_error_handle err) {
|
371
374
|
grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
|
372
375
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
373
376
|
calld->seen_recv_message_ready = true;
|
@@ -392,7 +395,8 @@ static void hs_recv_message_ready(void* user_data, grpc_error* err) {
|
|
392
395
|
}
|
393
396
|
}
|
394
397
|
|
395
|
-
static void hs_recv_trailing_metadata_ready(void* user_data,
|
398
|
+
static void hs_recv_trailing_metadata_ready(void* user_data,
|
399
|
+
grpc_error_handle err) {
|
396
400
|
grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
|
397
401
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
398
402
|
if (!calld->seen_recv_initial_metadata_ready) {
|
@@ -410,13 +414,13 @@ static void hs_recv_trailing_metadata_ready(void* user_data, grpc_error* err) {
|
|
410
414
|
calld->original_recv_trailing_metadata_ready, err);
|
411
415
|
}
|
412
416
|
|
413
|
-
static
|
414
|
-
|
417
|
+
static grpc_error_handle hs_mutate_op(grpc_call_element* elem,
|
418
|
+
grpc_transport_stream_op_batch* op) {
|
415
419
|
/* grab pointers to our data from the call element */
|
416
420
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
417
421
|
|
418
422
|
if (op->send_initial_metadata) {
|
419
|
-
|
423
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
420
424
|
static const char* error_name = "Failed sending initial metadata";
|
421
425
|
hs_add_error(
|
422
426
|
error_name, &error,
|
@@ -463,7 +467,7 @@ static grpc_error* hs_mutate_op(grpc_call_element* elem,
|
|
463
467
|
}
|
464
468
|
|
465
469
|
if (op->send_trailing_metadata) {
|
466
|
-
|
470
|
+
grpc_error_handle error = hs_filter_outgoing_metadata(
|
467
471
|
op->payload->send_trailing_metadata.send_trailing_metadata);
|
468
472
|
if (error != GRPC_ERROR_NONE) return error;
|
469
473
|
}
|
@@ -475,7 +479,7 @@ static void hs_start_transport_stream_op_batch(
|
|
475
479
|
grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
|
476
480
|
GPR_TIMER_SCOPE("hs_start_transport_stream_op_batch", 0);
|
477
481
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
478
|
-
|
482
|
+
grpc_error_handle error = hs_mutate_op(elem, op);
|
479
483
|
if (error != GRPC_ERROR_NONE) {
|
480
484
|
grpc_transport_stream_op_batch_finish_with_failure(op, error,
|
481
485
|
calld->call_combiner);
|
@@ -485,8 +489,8 @@ static void hs_start_transport_stream_op_batch(
|
|
485
489
|
}
|
486
490
|
|
487
491
|
/* Constructor for call_data */
|
488
|
-
static
|
489
|
-
|
492
|
+
static grpc_error_handle hs_init_call_elem(grpc_call_element* elem,
|
493
|
+
const grpc_call_element_args* args) {
|
490
494
|
new (elem->call_data) call_data(elem, *args);
|
491
495
|
return GRPC_ERROR_NONE;
|
492
496
|
}
|
@@ -500,8 +504,8 @@ static void hs_destroy_call_elem(grpc_call_element* elem,
|
|
500
504
|
}
|
501
505
|
|
502
506
|
/* Constructor for channel_data */
|
503
|
-
static
|
504
|
-
|
507
|
+
static grpc_error_handle hs_init_channel_elem(grpc_channel_element* elem,
|
508
|
+
grpc_channel_element_args* args) {
|
505
509
|
channel_data* chand = static_cast<channel_data*>(elem->channel_data);
|
506
510
|
GPR_ASSERT(!args->is_last);
|
507
511
|
chand->surface_user_agent = grpc_channel_arg_get_bool(
|
@@ -54,16 +54,16 @@ struct channel_data {
|
|
54
54
|
grpc_channel_stack* channel_stack;
|
55
55
|
/* Guards access to max_age_timer, max_age_timer_pending, max_age_grace_timer
|
56
56
|
and max_age_grace_timer_pending */
|
57
|
-
|
57
|
+
grpc_core::Mutex max_age_timer_mu;
|
58
58
|
/* True if the max_age timer callback is currently pending */
|
59
|
-
bool max_age_timer_pending;
|
59
|
+
bool max_age_timer_pending ABSL_GUARDED_BY(max_age_timer_mu) = false;
|
60
60
|
/* True if the max_age_grace timer callback is currently pending */
|
61
|
-
bool max_age_grace_timer_pending;
|
61
|
+
bool max_age_grace_timer_pending ABSL_GUARDED_BY(max_age_timer_mu) = false;
|
62
62
|
/* The timer for checking if the channel has reached its max age */
|
63
|
-
grpc_timer max_age_timer;
|
63
|
+
grpc_timer max_age_timer ABSL_GUARDED_BY(max_age_timer_mu);
|
64
64
|
/* The timer for checking if the max-aged channel has uesed up the grace
|
65
65
|
period */
|
66
|
-
grpc_timer max_age_grace_timer;
|
66
|
+
grpc_timer max_age_grace_timer ABSL_GUARDED_BY(max_age_timer_mu);
|
67
67
|
/* The timer for checking if the channel's idle duration reaches
|
68
68
|
max_connection_idle */
|
69
69
|
grpc_timer max_idle_timer;
|
@@ -206,7 +206,8 @@ static void decrease_call_count(channel_data* chand) {
|
|
206
206
|
}
|
207
207
|
}
|
208
208
|
|
209
|
-
static void start_max_idle_timer_after_init(void* arg,
|
209
|
+
static void start_max_idle_timer_after_init(void* arg,
|
210
|
+
grpc_error_handle /*error*/) {
|
210
211
|
channel_data* chand = static_cast<channel_data*>(arg);
|
211
212
|
/* Decrease call_count. If there are no active calls at this time,
|
212
213
|
max_idle_timer will start here. If the number of active calls is not 0,
|
@@ -258,15 +259,18 @@ class ConnectivityWatcher : public AsyncConnectivityStateWatcherInterface {
|
|
258
259
|
|
259
260
|
} // namespace grpc_core
|
260
261
|
|
261
|
-
static void start_max_age_timer_after_init(void* arg,
|
262
|
+
static void start_max_age_timer_after_init(void* arg,
|
263
|
+
grpc_error_handle /*error*/) {
|
262
264
|
channel_data* chand = static_cast<channel_data*>(arg);
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
265
|
+
{
|
266
|
+
grpc_core::MutexLock lock(&chand->max_age_timer_mu);
|
267
|
+
chand->max_age_timer_pending = true;
|
268
|
+
GRPC_CHANNEL_STACK_REF(chand->channel_stack, "max_age max_age_timer");
|
269
|
+
grpc_timer_init(
|
270
|
+
&chand->max_age_timer,
|
271
|
+
grpc_core::ExecCtx::Get()->Now() + chand->max_connection_age,
|
272
|
+
&chand->close_max_age_channel);
|
273
|
+
}
|
270
274
|
grpc_transport_op* op = grpc_make_transport_op(nullptr);
|
271
275
|
op->start_connectivity_watch.reset(new grpc_core::ConnectivityWatcher(chand));
|
272
276
|
op->start_connectivity_watch_state = GRPC_CHANNEL_IDLE;
|
@@ -275,19 +279,20 @@ static void start_max_age_timer_after_init(void* arg, grpc_error* /*error*/) {
|
|
275
279
|
"max_age start_max_age_timer_after_init");
|
276
280
|
}
|
277
281
|
|
278
|
-
static void start_max_age_grace_timer_after_goaway_op(
|
279
|
-
|
282
|
+
static void start_max_age_grace_timer_after_goaway_op(
|
283
|
+
void* arg, grpc_error_handle /*error*/) {
|
280
284
|
channel_data* chand = static_cast<channel_data*>(arg);
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
285
|
+
{
|
286
|
+
grpc_core::MutexLock lock(&chand->max_age_timer_mu);
|
287
|
+
chand->max_age_grace_timer_pending = true;
|
288
|
+
GRPC_CHANNEL_STACK_REF(chand->channel_stack, "max_age max_age_grace_timer");
|
289
|
+
grpc_timer_init(&chand->max_age_grace_timer,
|
290
|
+
chand->max_connection_age_grace == GRPC_MILLIS_INF_FUTURE
|
291
|
+
? GRPC_MILLIS_INF_FUTURE
|
292
|
+
: grpc_core::ExecCtx::Get()->Now() +
|
293
|
+
chand->max_connection_age_grace,
|
294
|
+
&chand->force_close_max_age_channel);
|
295
|
+
}
|
291
296
|
GRPC_CHANNEL_STACK_UNREF(chand->channel_stack,
|
292
297
|
"max_age start_max_age_grace_timer_after_goaway_op");
|
293
298
|
}
|
@@ -304,7 +309,7 @@ static void close_max_idle_channel(channel_data* chand) {
|
|
304
309
|
elem->filter->start_transport_op(elem, op);
|
305
310
|
}
|
306
311
|
|
307
|
-
static void max_idle_timer_cb(void* arg,
|
312
|
+
static void max_idle_timer_cb(void* arg, grpc_error_handle error) {
|
308
313
|
channel_data* chand = static_cast<channel_data*>(arg);
|
309
314
|
if (error == GRPC_ERROR_NONE) {
|
310
315
|
bool try_again = true;
|
@@ -348,11 +353,12 @@ static void max_idle_timer_cb(void* arg, grpc_error* error) {
|
|
348
353
|
GRPC_CHANNEL_STACK_UNREF(chand->channel_stack, "max_age max_idle_timer");
|
349
354
|
}
|
350
355
|
|
351
|
-
static void close_max_age_channel(void* arg,
|
356
|
+
static void close_max_age_channel(void* arg, grpc_error_handle error) {
|
352
357
|
channel_data* chand = static_cast<channel_data*>(arg);
|
353
|
-
|
354
|
-
|
355
|
-
|
358
|
+
{
|
359
|
+
grpc_core::MutexLock lock(&chand->max_age_timer_mu);
|
360
|
+
chand->max_age_timer_pending = false;
|
361
|
+
}
|
356
362
|
if (error == GRPC_ERROR_NONE) {
|
357
363
|
GRPC_CHANNEL_STACK_REF(chand->channel_stack,
|
358
364
|
"max_age start_max_age_grace_timer_after_goaway_op");
|
@@ -370,11 +376,12 @@ static void close_max_age_channel(void* arg, grpc_error* error) {
|
|
370
376
|
GRPC_CHANNEL_STACK_UNREF(chand->channel_stack, "max_age max_age_timer");
|
371
377
|
}
|
372
378
|
|
373
|
-
static void force_close_max_age_channel(void* arg,
|
379
|
+
static void force_close_max_age_channel(void* arg, grpc_error_handle error) {
|
374
380
|
channel_data* chand = static_cast<channel_data*>(arg);
|
375
|
-
|
376
|
-
|
377
|
-
|
381
|
+
{
|
382
|
+
grpc_core::MutexLock lock(&chand->max_age_timer_mu);
|
383
|
+
chand->max_age_grace_timer_pending = false;
|
384
|
+
}
|
378
385
|
if (error == GRPC_ERROR_NONE) {
|
379
386
|
grpc_transport_op* op = grpc_make_transport_op(nullptr);
|
380
387
|
op->disconnect_with_error =
|
@@ -407,7 +414,7 @@ add_random_max_connection_age_jitter_and_convert_to_grpc_millis(int value) {
|
|
407
414
|
}
|
408
415
|
|
409
416
|
/* Constructor for call_data. */
|
410
|
-
static
|
417
|
+
static grpc_error_handle max_age_init_call_elem(
|
411
418
|
grpc_call_element* elem, const grpc_call_element_args* /*args*/) {
|
412
419
|
channel_data* chand = static_cast<channel_data*>(elem->channel_data);
|
413
420
|
increase_call_count(chand);
|
@@ -423,12 +430,10 @@ static void max_age_destroy_call_elem(
|
|
423
430
|
}
|
424
431
|
|
425
432
|
/* Constructor for channel_data. */
|
426
|
-
static
|
427
|
-
|
433
|
+
static grpc_error_handle max_age_init_channel_elem(
|
434
|
+
grpc_channel_element* elem, grpc_channel_element_args* args) {
|
428
435
|
channel_data* chand = static_cast<channel_data*>(elem->channel_data);
|
429
|
-
|
430
|
-
chand->max_age_timer_pending = false;
|
431
|
-
chand->max_age_grace_timer_pending = false;
|
436
|
+
new (chand) channel_data();
|
432
437
|
chand->channel_stack = args->channel_stack;
|
433
438
|
chand->max_connection_age =
|
434
439
|
add_random_max_connection_age_jitter_and_convert_to_grpc_millis(
|
@@ -513,7 +518,7 @@ static grpc_error* max_age_init_channel_elem(grpc_channel_element* elem,
|
|
513
518
|
/* Destructor for channel_data. */
|
514
519
|
static void max_age_destroy_channel_elem(grpc_channel_element* elem) {
|
515
520
|
channel_data* chand = static_cast<channel_data*>(elem->channel_data);
|
516
|
-
|
521
|
+
chand->~channel_data();
|
517
522
|
}
|
518
523
|
|
519
524
|
const grpc_channel_filter grpc_max_age_filter = {
|