grpc 1.69.0 → 1.70.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +251 -249
- data/include/grpc/support/atm.h +0 -13
- data/src/core/call/request_buffer.cc +224 -0
- data/src/core/call/request_buffer.h +192 -0
- data/src/core/client_channel/client_channel.cc +2 -3
- data/src/core/client_channel/client_channel_args.h +21 -0
- data/src/core/client_channel/client_channel_filter.h +1 -3
- data/src/core/client_channel/retry_interceptor.cc +406 -0
- data/src/core/client_channel/retry_interceptor.h +157 -0
- data/src/core/client_channel/retry_service_config.h +13 -0
- data/src/core/client_channel/retry_throttle.cc +33 -18
- data/src/core/client_channel/retry_throttle.h +3 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +596 -94
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +189 -13
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_security.cc +1 -3
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +40 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +3 -1
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +66 -36
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +19 -17
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +116 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +31 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +67 -6
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +12 -8
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +228 -21
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +65 -17
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +6 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +7 -106
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +7 -28
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +85 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +25 -3
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +2 -1
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +152 -0
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +40 -10
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +135 -4
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +41 -9
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +16 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +3 -2
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +60 -0
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +13 -2
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +102 -24
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +28 -19
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +251 -18
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +41 -16
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +2 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +11 -10
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +418 -413
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +161 -153
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +267 -261
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +46 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +33 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +29 -19
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +15 -0
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +58 -65
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +0 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +73 -63
- data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +49 -48
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +117 -100
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +905 -897
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +15 -18
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +460 -457
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +16 -19
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +95 -95
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +202 -191
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +148 -135
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +23 -22
- data/src/core/filter/filter_args.h +112 -0
- data/src/core/handshaker/http_connect/http_connect_handshaker.cc +1 -1
- data/src/core/lib/channel/promise_based_filter.h +5 -79
- data/src/core/lib/debug/trace_flags.cc +2 -0
- data/src/core/lib/debug/trace_flags.h +1 -0
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +14 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +7 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +0 -2
- data/src/core/lib/event_engine/windows/windows_engine.cc +1 -0
- data/src/core/lib/experiments/experiments.cc +90 -39
- data/src/core/lib/experiments/experiments.h +43 -24
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +1 -1
- data/src/core/lib/promise/activity.cc +2 -0
- data/src/core/lib/promise/activity.h +29 -8
- data/src/core/lib/promise/map.h +42 -0
- data/src/core/lib/promise/party.cc +36 -1
- data/src/core/lib/promise/party.h +13 -5
- data/src/core/lib/promise/sleep.h +1 -0
- data/src/core/lib/promise/status_flag.h +10 -0
- data/src/core/lib/resource_quota/arena.h +8 -0
- data/src/core/lib/resource_quota/connection_quota.h +4 -0
- data/src/core/lib/surface/call_utils.h +2 -0
- data/src/core/lib/surface/client_call.cc +43 -35
- data/src/core/lib/surface/client_call.h +5 -0
- data/src/core/lib/surface/event_string.cc +7 -1
- data/src/core/lib/surface/init_internally.h +13 -2
- data/src/core/lib/surface/server_call.cc +100 -85
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/call_filters.cc +10 -4
- data/src/core/lib/transport/call_filters.h +8 -0
- data/src/core/lib/transport/call_spine.cc +36 -71
- data/src/core/lib/transport/call_spine.h +131 -7
- data/src/core/lib/transport/call_state.h +132 -39
- data/src/core/lib/transport/interception_chain.cc +8 -0
- data/src/core/lib/transport/interception_chain.h +9 -0
- data/src/core/load_balancing/endpoint_list.cc +10 -0
- data/src/core/load_balancing/endpoint_list.h +13 -6
- data/src/core/load_balancing/lb_policy.h +0 -8
- data/src/core/load_balancing/pick_first/pick_first.cc +89 -56
- data/src/core/load_balancing/ring_hash/ring_hash.cc +158 -70
- data/src/core/load_balancing/ring_hash/ring_hash.h +4 -11
- data/src/core/load_balancing/round_robin/round_robin.cc +9 -14
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +12 -15
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +4 -4
- data/src/core/resolver/xds/xds_dependency_manager.cc +139 -135
- data/src/core/resolver/xds/xds_dependency_manager.h +24 -18
- data/src/core/resolver/xds/xds_resolver.cc +28 -47
- data/src/core/server/server.cc +290 -24
- data/src/core/server/server.h +199 -61
- data/src/core/server/xds_server_config_fetcher.cc +78 -142
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
- data/src/core/util/backoff.cc +15 -4
- data/src/core/util/http_client/httpcli.cc +66 -18
- data/src/core/util/http_client/httpcli.h +14 -4
- data/src/core/util/matchers.h +5 -10
- data/src/core/util/ref_counted.h +1 -0
- data/src/core/util/ref_counted_ptr.h +1 -1
- data/src/core/util/useful.h +9 -11
- data/src/core/xds/grpc/xds_endpoint_parser.cc +54 -23
- data/src/core/xds/grpc/xds_metadata.h +8 -0
- data/src/core/xds/xds_client/xds_api.cc +0 -223
- data/src/core/xds/xds_client/xds_api.h +1 -133
- data/src/core/xds/xds_client/xds_client.cc +599 -466
- data/src/core/xds/xds_client/xds_client.h +107 -26
- data/src/core/xds/xds_client/xds_resource_type_impl.h +10 -5
- data/src/ruby/ext/grpc/extconf.rb +1 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_bitstr.c → a_bitstr.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_d2i_fp.c → a_d2i_fp.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_dup.c → a_dup.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_i2d_fp.c → a_i2d_fp.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_int.c → a_int.cc} +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_mbstr.c → a_mbstr.cc} +9 -7
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_object.c → a_object.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_strnid.c → a_strnid.cc} +7 -4
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_type.c → a_type.cc} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_lib.c → asn1_lib.cc} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn_pack.c → asn_pack.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{posix_time.c → posix_time.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_dec.c → tasn_dec.cc} +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_enc.c → tasn_enc.cc} +9 -6
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_fre.c → tasn_fre.cc} +14 -20
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_new.c → tasn_new.cc} +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_utl.c → tasn_utl.cc} +13 -10
- data/third_party/boringssl-with-bazel/src/crypto/base64/{base64.c → base64.cc} +9 -12
- data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +7 -1
- data/third_party/boringssl-with-bazel/src/crypto/bio/{bio.c → bio.cc} +32 -58
- data/third_party/boringssl-with-bazel/src/crypto/bio/{bio_mem.c → bio_mem.cc} +8 -7
- data/third_party/boringssl-with-bazel/src/crypto/bio/{connect.c → connect.cc} +24 -16
- data/third_party/boringssl-with-bazel/src/crypto/bio/{file.c → file.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/bio/{pair.c → pair.cc} +22 -20
- data/third_party/boringssl-with-bazel/src/crypto/bio/{printf.c → printf.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/bio/{socket_helper.c → socket_helper.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/blake2/{blake2.c → blake2.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/{bn_asn1.c → bn_asn1.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/{convert.c → convert.cc} +21 -21
- data/third_party/boringssl-with-bazel/src/crypto/buf/{buf.c → buf.cc} +6 -3
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{asn1_compat.c → asn1_compat.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{ber.c → ber.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{cbb.c → cbb.cc} +33 -49
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{cbs.c → cbs.cc} +20 -27
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{unicode.c → unicode.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/chacha/{chacha.c → chacha.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_aesctrhmac.c → e_aesctrhmac.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_aesgcmsiv.c → e_aesgcmsiv.cc} +23 -26
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_chacha20poly1305.c → e_chacha20poly1305.cc} +1 -8
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_des.c → e_des.cc} +61 -49
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_null.c → e_null.cc} +12 -9
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_rc2.c → e_rc2.cc} +23 -19
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_rc4.c → e_rc4.cc} +10 -8
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_tls.c → e_tls.cc} +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/conf/{conf.c → conf.cc} +17 -14
- data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_apple.c → cpu_aarch64_apple.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_fuchsia.c → cpu_aarch64_fuchsia.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_linux.c → cpu_aarch64_linux.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_openbsd.c → cpu_aarch64_openbsd.cc} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_sysreg.c → cpu_aarch64_sysreg.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_win.c → cpu_aarch64_win.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_arm_freebsd.c → cpu_arm_freebsd.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_arm_linux.c → cpu_arm_linux.cc} +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_intel.c → cpu_intel.cc} +47 -32
- data/third_party/boringssl-with-bazel/src/crypto/{crypto.c → crypto.cc} +6 -11
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/{curve25519.c → curve25519.cc} +28 -31
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/{curve25519_64_adx.c → curve25519_64_adx.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/{spake25519.c → spake25519.cc} +20 -16
- data/third_party/boringssl-with-bazel/src/crypto/dh_extra/{dh_asn1.c → dh_asn1.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/{digest_extra.c → digest_extra.cc} +113 -31
- data/third_party/boringssl-with-bazel/src/crypto/dsa/{dsa.c → dsa.cc} +153 -154
- data/third_party/boringssl-with-bazel/src/crypto/dsa/{dsa_asn1.c → dsa_asn1.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/{ec_asn1.c → ec_asn1.cc} +35 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/{ec_derive.c → ec_derive.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/{hash_to_curve.c → hash_to_curve.cc} +66 -64
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/{ecdsa_asn1.c → ecdsa_asn1.cc} +15 -25
- data/third_party/boringssl-with-bazel/src/crypto/engine/{engine.c → engine.cc} +12 -8
- data/third_party/boringssl-with-bazel/src/crypto/err/{err.c → err.cc} +24 -27
- data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/evp/{evp.c → evp.cc} +8 -9
- data/third_party/boringssl-with-bazel/src/crypto/evp/{evp_ctx.c → evp_ctx.cc} +7 -8
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dh.c → p_dh.cc} +23 -14
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dh_asn1.c → p_dh_asn1.cc} +38 -21
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dsa_asn1.c → p_dsa_asn1.cc} +19 -24
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ec.c → p_ec.cc} +20 -23
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ec_asn1.c → p_ec_asn1.cc} +20 -20
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ed25519.c → p_ed25519.cc} +22 -19
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ed25519_asn1.c → p_ed25519_asn1.cc} +14 -13
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_hkdf.c → p_hkdf.cc} +18 -14
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_rsa.c → p_rsa.cc} +38 -37
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_rsa_asn1.c → p_rsa_asn1.cc} +16 -18
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_x25519.c → p_x25519.cc} +22 -19
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_x25519_asn1.c → p_x25519_asn1.cc} +18 -17
- data/third_party/boringssl-with-bazel/src/crypto/evp/{pbkdf.c → pbkdf.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/evp/{print.c → print.cc} +4 -5
- data/third_party/boringssl-with-bazel/src/crypto/evp/{scrypt.c → scrypt.cc} +7 -5
- data/third_party/boringssl-with-bazel/src/crypto/{ex_data.c → ex_data.cc} +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes_nohw.c.inc → aes_nohw.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +1 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{key_wrap.c.inc → key_wrap.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{bcm.c → bcm.cc} +96 -101
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +165 -12
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{add.c.inc → add.cc.inc} +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/{x86_64-gcc.c.inc → x86_64-gcc.cc.inc} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bn.c.inc → bn.cc.inc} +12 -24
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{ctx.c.inc → ctx.cc.inc} +5 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div.c.inc → div.cc.inc} +29 -38
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div_extra.c.inc → div_extra.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{exponentiation.c.inc → exponentiation.cc.inc} +22 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd.c.inc → gcd.cc.inc} +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd_extra.c.inc → gcd_extra.cc.inc} +33 -25
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery.c.inc → montgomery.cc.inc} +10 -17
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{mul.c.inc → mul.cc.inc} +11 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{prime.c.inc → prime.cc.inc} +31 -34
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{shift.c.inc → shift.cc.inc} +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{aead.c.inc → aead.cc.inc} +18 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{cipher.c.inc → cipher.cc.inc} +6 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aes.c.inc → e_aes.cc.inc} +46 -54
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/{cmac.c.inc → cmac.cc.inc} +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +14 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{dh.c.inc → dh.cc.inc} +15 -19
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digest.c.inc → digest.cc.inc} +17 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digests.c.inc → digests.cc.inc} +29 -113
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/{digestsign.c.inc → digestsign.cc.inc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec.c.inc → ec.cc.inc} +10 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_key.c.inc → ec_key.cc.inc} +12 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{felem.c.inc → felem.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{oct.c.inc → oct.cc.inc} +5 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p224-64.c.inc → p224-64.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-nistz.c.inc → p256-nistz.cc.inc} +15 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256.c.inc → p256.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{scalar.c.inc → scalar.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple_mul.c.inc → simple_mul.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{util.c.inc → util.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{wnaf.c.inc → wnaf.cc.inc} +24 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/{ecdh.c.inc → ecdh.cc.inc} +14 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/{ecdsa.c.inc → ecdsa.cc.inc} +6 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{fips_shared_support.c → fips_shared_support.cc} +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/{hkdf.c.inc → hkdf.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/{hmac.c.inc → hmac.cc.inc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm.c.inc → gcm.cc.inc} +69 -21
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm_nohw.c.inc → gcm_nohw.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +53 -33
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{polyval.c.inc → polyval.cc.inc} +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{ctrdrbg.c.inc → ctrdrbg.cc.inc} +5 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{rand.c.inc → rand.cc.inc} +20 -18
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{blinding.c.inc → blinding.cc.inc} +5 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{padding.c.inc → padding.cc.inc} +21 -21
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa.c.inc → rsa.cc.inc} +77 -73
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa_impl.c.inc → rsa_impl.cc.inc} +50 -53
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{fips.c.inc → fips.cc.inc} +14 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{self_check.c.inc → self_check.cc.inc} +56 -52
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/{service_indicator.c.inc → service_indicator.cc.inc} +10 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha1.c.inc → sha1.cc.inc} +26 -33
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha256.c.inc → sha256.cc.inc} +37 -55
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha512.c.inc → sha512.cc.inc} +48 -76
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/hpke/{hpke.c → hpke.cc} +7 -4
- data/third_party/boringssl-with-bazel/src/crypto/hrss/{hrss.c → hrss.cc} +53 -110
- data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +191 -248
- data/third_party/boringssl-with-bazel/src/crypto/keccak/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/keccak/{keccak.c → keccak.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/kyber/{kyber.c → kyber.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/lhash/{lhash.c → lhash.cc} +8 -7
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md4/md4.c.inc → md4/md4.cc} +8 -12
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md5 → md5}/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md5/md5.c.inc → md5/md5.cc} +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/{mem.c → mem.cc} +34 -22
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/{mldsa.c → mldsa.cc} +646 -543
- data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +8 -8
- data/third_party/boringssl-with-bazel/src/crypto/obj/{obj.c → obj.cc} +27 -30
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_info.c → pem_info.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_lib.c → pem_lib.cc} +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_oth.c → pem_oth.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/{pkcs7.c → pkcs7.cc} +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/{pkcs7_x509.c → pkcs7_x509.cc} +26 -25
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{p5_pbev2.c → p5_pbev2.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{pkcs8.c → pkcs8.cc} +159 -158
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{pkcs8_x509.c → pkcs8_x509.cc} +90 -97
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305.c → poly1305.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305_arm.c → poly1305_arm.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305_vec.c → poly1305_vec.cc} +14 -11
- data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pool/{pool.c → pool.cc} +12 -11
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{deterministic.c → deterministic.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{fork_detect.c → fork_detect.cc} +11 -12
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{forkunsafe.c → forkunsafe.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{getentropy.c → getentropy.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getrandom_fillin.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{ios.c → ios.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{passive.c → passive.cc} +22 -18
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{rand_extra.c → rand_extra.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{trusty.c → trusty.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{urandom.c → urandom.cc} +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{windows.c → windows.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{refcount.c → refcount.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_asn1.c → rsa_asn1.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_crypt.c → rsa_crypt.cc} +81 -78
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_extra.cc +17 -0
- data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
- data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
- data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
- data/third_party/boringssl-with-bazel/src/crypto/siphash/{siphash.c → siphash.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/address.h +123 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.cc +169 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.h +58 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/internal.h +63 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.cc +161 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.h +70 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/params.h +83 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +307 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.cc +173 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.h +85 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.cc +171 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.h +50 -0
- data/third_party/boringssl-with-bazel/src/crypto/stack/{stack.c → stack.cc} +10 -6
- data/third_party/boringssl-with-bazel/src/crypto/{thread_none.c → thread_none.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{thread_pthread.c → thread_pthread.cc} +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/{thread_win.c → thread_win.cc} +21 -17
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/{pmbtoken.c → pmbtoken.cc} +146 -158
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/{trust_token.c → trust_token.cc} +19 -21
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/{voprf.c → voprf.cc} +165 -169
- data/third_party/boringssl-with-bazel/src/crypto/x509/{a_digest.c → a_digest.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{a_sign.c → a_sign.cc} +37 -34
- data/third_party/boringssl-with-bazel/src/crypto/x509/{a_verify.c → a_verify.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{algorithm.c → algorithm.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{asn1_gen.c → asn1_gen.cc} +5 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{by_dir.c → by_dir.cc} +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{policy.c → policy.cc} +188 -178
- data/third_party/boringssl-with-bazel/src/crypto/x509/{rsa_pss.c → rsa_pss.cc} +48 -44
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_akey.c → v3_akey.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_alt.c → v3_alt.cc} +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_bcons.c → v3_bcons.cc} +3 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_bitst.c → v3_bitst.cc} +6 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_conf.c → v3_conf.cc} +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_cpols.c → v3_cpols.cc} +47 -41
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_crld.c → v3_crld.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_enum.c → v3_enum.cc} +5 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_extku.c → v3_extku.cc} +3 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_genn.c → v3_genn.cc} +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ia5.c → v3_ia5.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_info.c → v3_info.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_int.c → v3_int.cc} +3 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_lib.c → v3_lib.cc} +9 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ncons.c → v3_ncons.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ocsp.c → v3_ocsp.cc} +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_pcons.c → v3_pcons.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_pmaps.c → v3_pmaps.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_prn.c → v3_prn.cc} +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_purp.c → v3_purp.cc} +16 -8
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_skey.c → v3_skey.cc} +6 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_utl.c → v3_utl.cc} +15 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_att.c → x509_att.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_lu.c → x509_lu.cc} +6 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_v3.c → x509_v3.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_vfy.c → x509_vfy.cc} +216 -212
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_vpm.c → x509_vpm.cc} +55 -13
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509spki.c → x509spki.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_all.c → x_all.cc} +10 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_crl.c → x_crl.cc} +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_name.c → x_name.cc} +39 -32
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_pubkey.c → x_pubkey.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_x509.c → x_x509.cc} +48 -44
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_x509a.c → x_x509a.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/gen/crypto/{err_data.c → err_data.cc} +359 -358
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +237 -275
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +12 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +13 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +6 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +17 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +8 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +10 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +2 -40
- data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +133 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +6 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +160 -116
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/target.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/time.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +2 -6
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +667 -322
- data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +116 -119
- data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +163 -21
- data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +4 -12
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +94 -49
- data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +296 -198
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +23 -14
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +363 -343
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +48 -58
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +44 -36
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +145 -159
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +65 -58
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +910 -356
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +29 -41
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +13 -11
- data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +90 -183
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +38 -64
- data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +103 -44
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +210 -220
- data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +70 -12
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +20 -17
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +146 -169
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +15 -16
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +79 -95
- data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +3 -9
- data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +91 -16
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +30 -16
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +51 -56
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +22 -25
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +43 -27
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +63 -59
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +204 -121
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +86 -59
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +51 -62
- data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +37 -25
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
- metadata +339 -339
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -426
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -87
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -32
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -408
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -124
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -38
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -108
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -33
- data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -67
- data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -48
- data/src/core/util/atm.cc +0 -34
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +0 -1539
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +0 -58
- data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
- data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
- data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
- data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
- data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
- data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
- data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
- data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
- data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
- data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
- data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +0 -129
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_bool.c → a_bool.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_gentm.c → a_gentm.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_octet.c → a_octet.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_strex.c → a_strex.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_time.c → a_time.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_utctm.c → a_utctm.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_par.c → asn1_par.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{f_int.c → f_int.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{f_string.c → f_string.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_typ.c → tasn_typ.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/bio/{errno.c → errno.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/bio/{fd.c → fd.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/bio/{hexdump.c → hexdump.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/bio/{socket.c → socket.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{cipher_extra.c → cipher_extra.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{derive_key.c → derive_key.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{tls_cbc.c → tls_cbc.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/des/{des.c → des.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/dh_extra/{params.c → params.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/{ecdh_extra.c → ecdh_extra.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/evp/{evp_asn1.c → evp_asn1.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/evp/{sign.c → sign.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes.c.inc → aes.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{mode_wrappers.c.inc → mode_wrappers.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bytes.c.inc → bytes.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{cmp.c.inc → cmp.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{generic.c.inc → generic.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{jacobi.c.inc → jacobi.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery_inv.c.inc → montgomery_inv.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{random.c.inc → random.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{rsaz_exp.c.inc → rsaz_exp.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{sqrt.c.inc → sqrt.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aesccm.c.inc → e_aesccm.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{check.c.inc → check.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_montgomery.c.inc → ec_montgomery.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple.c.inc → simple.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cbc.c.inc → cbc.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cfb.c.inc → cfb.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ctr.c.inc → ctr.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ofb.c.inc → ofb.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/{kdf.c.inc → kdf.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/obj/{obj_xref.c → obj_xref.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_all.c → pem_all.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_pk8.c → pem_pk8.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_pkey.c → pem_pkey.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_x509.c → pem_x509.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_xaux.c → pem_xaux.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/rc4/{rc4.c → rc4.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_print.c → rsa_print.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/{thread.c → thread.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{by_file.c → by_file.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{i2d_pr.c → i2d_pr.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{name_print.c → name_print.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_crl.c → t_crl.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_req.c → t_req.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509.c → t_x509.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509a.c → t_x509a.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_akeya.c → v3_akeya.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509.c → x509.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_cmp.c → x509_cmp.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_d2.c → x509_d2.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_def.c → x509_def.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_ext.c → x509_ext.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_obj.c → x509_obj.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_req.c → x509_req.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_set.c → x509_set.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_trs.c → x509_trs.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_txt.c → x509_txt.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509cset.c → x509cset.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509name.c → x509name.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509rset.c → x509rset.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_algor.c → x_algor.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_attrib.c → x_attrib.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_exten.c → x_exten.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_req.c → x_req.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_sig.c → x_sig.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_spki.c → x_spki.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_val.c → x_val.cc} +0 -0
@@ -110,6 +110,9 @@ class CallState {
|
|
110
110
|
// Return true if server trailing metadata has been pushed *and* that push was
|
111
111
|
// a cancellation.
|
112
112
|
bool WasCancelledPushed() const;
|
113
|
+
// Resolves after server trailing metadata has been pushed, regardless of
|
114
|
+
// whether the call was cancelled.
|
115
|
+
Poll<Empty> PollServerTrailingMetadataWasPushed();
|
113
116
|
|
114
117
|
/////////////////////////////////////////////////////////////////////////////
|
115
118
|
// Debug
|
@@ -242,6 +245,7 @@ class CallState {
|
|
242
245
|
}
|
243
246
|
enum class ServerToClientPushState : uint16_t {
|
244
247
|
kStart,
|
248
|
+
kPushedMessageWithoutInitialMetadata,
|
245
249
|
kPushedServerInitialMetadata,
|
246
250
|
kPushedServerInitialMetadataAndPushedMessage,
|
247
251
|
kTrailersOnly,
|
@@ -254,6 +258,8 @@ class CallState {
|
|
254
258
|
switch (state) {
|
255
259
|
case ServerToClientPushState::kStart:
|
256
260
|
return "Start";
|
261
|
+
case ServerToClientPushState::kPushedMessageWithoutInitialMetadata:
|
262
|
+
return "PushedMessageWithoutInitialMetadata";
|
257
263
|
case ServerToClientPushState::kPushedServerInitialMetadata:
|
258
264
|
return "PushedServerInitialMetadata";
|
259
265
|
case ServerToClientPushState::
|
@@ -347,7 +353,8 @@ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION inline void CallState::Start() {
|
|
347
353
|
case ServerToClientPullState::kIdle:
|
348
354
|
case ServerToClientPullState::kReading:
|
349
355
|
case ServerToClientPullState::kProcessingServerToClientMessage:
|
350
|
-
LOG(FATAL) << "Start called twice"
|
356
|
+
LOG(FATAL) << "Start called twice; "
|
357
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_);
|
351
358
|
case ServerToClientPullState::kTerminated:
|
352
359
|
break;
|
353
360
|
}
|
@@ -357,7 +364,8 @@ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION inline void
|
|
357
364
|
CallState::BeginPushClientToServerMessage() {
|
358
365
|
GRPC_TRACE_LOG(call_state, INFO)
|
359
366
|
<< "[call_state] BeginPushClientToServerMessage: "
|
360
|
-
<< GRPC_DUMP_ARGS(this, client_to_server_push_state_
|
367
|
+
<< GRPC_DUMP_ARGS(this, client_to_server_push_state_,
|
368
|
+
client_to_server_push_waiter_);
|
361
369
|
switch (client_to_server_push_state_) {
|
362
370
|
case ClientToServerPushState::kIdle:
|
363
371
|
client_to_server_push_state_ = ClientToServerPushState::kPushedMessage;
|
@@ -365,10 +373,12 @@ CallState::BeginPushClientToServerMessage() {
|
|
365
373
|
break;
|
366
374
|
case ClientToServerPushState::kPushedMessage:
|
367
375
|
case ClientToServerPushState::kPushedMessageAndHalfClosed:
|
368
|
-
LOG(FATAL) << "PushClientToServerMessage called twice concurrently"
|
376
|
+
LOG(FATAL) << "PushClientToServerMessage called twice concurrently;"
|
377
|
+
<< GRPC_DUMP_ARGS(client_to_server_push_state_);
|
369
378
|
break;
|
370
379
|
case ClientToServerPushState::kPushedHalfClose:
|
371
|
-
LOG(FATAL) << "PushClientToServerMessage called after half-close"
|
380
|
+
LOG(FATAL) << "PushClientToServerMessage called after half-close; "
|
381
|
+
<< GRPC_DUMP_ARGS(client_to_server_push_state_);
|
372
382
|
break;
|
373
383
|
case ClientToServerPushState::kFinished:
|
374
384
|
break;
|
@@ -409,7 +419,8 @@ CallState::ClientToServerHalfClose() {
|
|
409
419
|
break;
|
410
420
|
case ClientToServerPushState::kPushedHalfClose:
|
411
421
|
case ClientToServerPushState::kPushedMessageAndHalfClosed:
|
412
|
-
LOG(FATAL) << "ClientToServerHalfClose called twice"
|
422
|
+
LOG(FATAL) << "ClientToServerHalfClose called twice;"
|
423
|
+
<< GRPC_DUMP_ARGS(client_to_server_push_state_);
|
413
424
|
break;
|
414
425
|
case ClientToServerPushState::kFinished:
|
415
426
|
break;
|
@@ -430,7 +441,8 @@ CallState::BeginPullClientInitialMetadata() {
|
|
430
441
|
case ClientToServerPullState::kIdle:
|
431
442
|
case ClientToServerPullState::kReading:
|
432
443
|
case ClientToServerPullState::kProcessingClientToServerMessage:
|
433
|
-
LOG(FATAL) << "BeginPullClientInitialMetadata called twice"
|
444
|
+
LOG(FATAL) << "BeginPullClientInitialMetadata called twice; "
|
445
|
+
<< GRPC_DUMP_ARGS(client_to_server_pull_state_);
|
434
446
|
break;
|
435
447
|
case ClientToServerPullState::kTerminated:
|
436
448
|
break;
|
@@ -444,7 +456,8 @@ CallState::FinishPullClientInitialMetadata() {
|
|
444
456
|
<< GRPC_DUMP_ARGS(this, client_to_server_pull_state_);
|
445
457
|
switch (client_to_server_pull_state_) {
|
446
458
|
case ClientToServerPullState::kBegin:
|
447
|
-
LOG(FATAL) << "FinishPullClientInitialMetadata called before Begin"
|
459
|
+
LOG(FATAL) << "FinishPullClientInitialMetadata called before Begin; "
|
460
|
+
<< GRPC_DUMP_ARGS(client_to_server_pull_state_);
|
448
461
|
break;
|
449
462
|
case ClientToServerPullState::kProcessingClientInitialMetadata:
|
450
463
|
client_to_server_pull_state_ = ClientToServerPullState::kIdle;
|
@@ -453,7 +466,8 @@ CallState::FinishPullClientInitialMetadata() {
|
|
453
466
|
case ClientToServerPullState::kIdle:
|
454
467
|
case ClientToServerPullState::kReading:
|
455
468
|
case ClientToServerPullState::kProcessingClientToServerMessage:
|
456
|
-
LOG(FATAL) << "Out of order FinishPullClientInitialMetadata"
|
469
|
+
LOG(FATAL) << "Out of order FinishPullClientInitialMetadata"
|
470
|
+
<< GRPC_DUMP_ARGS(client_to_server_pull_state_);
|
457
471
|
break;
|
458
472
|
case ClientToServerPullState::kTerminated:
|
459
473
|
break;
|
@@ -478,7 +492,8 @@ CallState::PollPullClientToServerMessageAvailable() {
|
|
478
492
|
break;
|
479
493
|
case ClientToServerPullState::kProcessingClientToServerMessage:
|
480
494
|
LOG(FATAL) << "PollPullClientToServerMessageAvailable called while "
|
481
|
-
"processing a message"
|
495
|
+
"processing a message; "
|
496
|
+
<< GRPC_DUMP_ARGS(client_to_server_pull_state_);
|
482
497
|
break;
|
483
498
|
case ClientToServerPullState::kTerminated:
|
484
499
|
return Failure{};
|
@@ -529,14 +544,20 @@ CallState::FinishPullClientToServerMessage() {
|
|
529
544
|
switch (client_to_server_pull_state_) {
|
530
545
|
case ClientToServerPullState::kBegin:
|
531
546
|
case ClientToServerPullState::kProcessingClientInitialMetadata:
|
532
|
-
LOG(FATAL) << "FinishPullClientToServerMessage called before Begin"
|
547
|
+
LOG(FATAL) << "FinishPullClientToServerMessage called before Begin; "
|
548
|
+
<< GRPC_DUMP_ARGS(client_to_server_pull_state_,
|
549
|
+
client_to_server_push_state_);
|
533
550
|
break;
|
534
551
|
case ClientToServerPullState::kIdle:
|
535
|
-
LOG(FATAL) << "FinishPullClientToServerMessage called twice"
|
552
|
+
LOG(FATAL) << "FinishPullClientToServerMessage called twice; "
|
553
|
+
<< GRPC_DUMP_ARGS(client_to_server_pull_state_,
|
554
|
+
client_to_server_push_state_);
|
536
555
|
break;
|
537
556
|
case ClientToServerPullState::kReading:
|
538
557
|
LOG(FATAL) << "FinishPullClientToServerMessage called before "
|
539
|
-
"PollPullClientToServerMessageAvailable"
|
558
|
+
"PollPullClientToServerMessageAvailable; "
|
559
|
+
<< GRPC_DUMP_ARGS(client_to_server_pull_state_,
|
560
|
+
client_to_server_push_state_);
|
540
561
|
break;
|
541
562
|
case ClientToServerPullState::kProcessingClientToServerMessage:
|
542
563
|
client_to_server_pull_state_ = ClientToServerPullState::kIdle;
|
@@ -552,7 +573,9 @@ CallState::FinishPullClientToServerMessage() {
|
|
552
573
|
break;
|
553
574
|
case ClientToServerPushState::kIdle:
|
554
575
|
case ClientToServerPushState::kPushedHalfClose:
|
555
|
-
LOG(FATAL) << "FinishPullClientToServerMessage called without a message"
|
576
|
+
LOG(FATAL) << "FinishPullClientToServerMessage called without a message; "
|
577
|
+
<< GRPC_DUMP_ARGS(client_to_server_pull_state_,
|
578
|
+
client_to_server_push_state_);
|
556
579
|
break;
|
557
580
|
case ClientToServerPushState::kPushedMessageAndHalfClosed:
|
558
581
|
client_to_server_push_state_ = ClientToServerPushState::kPushedHalfClose;
|
@@ -573,9 +596,26 @@ CallState::PushServerInitialMetadata() {
|
|
573
596
|
ServerTrailingMetadataState::kNotPushed) {
|
574
597
|
return Failure{};
|
575
598
|
}
|
576
|
-
|
577
|
-
|
578
|
-
|
599
|
+
switch (server_to_client_push_state_) {
|
600
|
+
case ServerToClientPushState::kStart:
|
601
|
+
server_to_client_push_state_ =
|
602
|
+
ServerToClientPushState::kPushedServerInitialMetadata;
|
603
|
+
break;
|
604
|
+
case ServerToClientPushState::kPushedMessageWithoutInitialMetadata:
|
605
|
+
server_to_client_push_state_ =
|
606
|
+
ServerToClientPushState::kPushedServerInitialMetadataAndPushedMessage;
|
607
|
+
break;
|
608
|
+
case ServerToClientPushState::kPushedServerInitialMetadata:
|
609
|
+
case ServerToClientPushState::kPushedServerInitialMetadataAndPushedMessage:
|
610
|
+
case ServerToClientPushState::kTrailersOnly:
|
611
|
+
case ServerToClientPushState::kIdle:
|
612
|
+
case ServerToClientPushState::kPushedMessage:
|
613
|
+
LOG(FATAL) << "PushServerInitialMetadata called twice; "
|
614
|
+
<< GRPC_DUMP_ARGS(server_to_client_push_state_);
|
615
|
+
break;
|
616
|
+
case ServerToClientPushState::kFinished:
|
617
|
+
break;
|
618
|
+
}
|
579
619
|
server_to_client_push_waiter_.Wake();
|
580
620
|
return Success{};
|
581
621
|
}
|
@@ -587,16 +627,18 @@ CallState::BeginPushServerToClientMessage() {
|
|
587
627
|
<< GRPC_DUMP_ARGS(this, server_to_client_push_state_);
|
588
628
|
switch (server_to_client_push_state_) {
|
589
629
|
case ServerToClientPushState::kStart:
|
590
|
-
|
591
|
-
|
630
|
+
server_to_client_push_state_ =
|
631
|
+
ServerToClientPushState::kPushedMessageWithoutInitialMetadata;
|
592
632
|
break;
|
593
633
|
case ServerToClientPushState::kPushedServerInitialMetadata:
|
594
634
|
server_to_client_push_state_ =
|
595
635
|
ServerToClientPushState::kPushedServerInitialMetadataAndPushedMessage;
|
596
636
|
break;
|
597
637
|
case ServerToClientPushState::kPushedServerInitialMetadataAndPushedMessage:
|
638
|
+
case ServerToClientPushState::kPushedMessageWithoutInitialMetadata:
|
598
639
|
case ServerToClientPushState::kPushedMessage:
|
599
|
-
LOG(FATAL) << "BeginPushServerToClientMessage called twice concurrently"
|
640
|
+
LOG(FATAL) << "BeginPushServerToClientMessage called twice concurrently; "
|
641
|
+
<< GRPC_DUMP_ARGS(server_to_client_push_state_);
|
600
642
|
break;
|
601
643
|
case ServerToClientPushState::kTrailersOnly:
|
602
644
|
// Will fail in poll.
|
@@ -619,9 +661,11 @@ CallState::PollPushServerToClientMessage() {
|
|
619
661
|
case ServerToClientPushState::kStart:
|
620
662
|
case ServerToClientPushState::kPushedServerInitialMetadata:
|
621
663
|
LOG(FATAL) << "PollPushServerToClientMessage called before "
|
622
|
-
<< "PushServerInitialMetadata"
|
664
|
+
<< "PushServerInitialMetadata; "
|
665
|
+
<< GRPC_DUMP_ARGS(server_to_client_push_state_);
|
623
666
|
case ServerToClientPushState::kTrailersOnly:
|
624
667
|
return false;
|
668
|
+
case ServerToClientPushState::kPushedMessageWithoutInitialMetadata:
|
625
669
|
case ServerToClientPushState::kPushedMessage:
|
626
670
|
case ServerToClientPushState::kPushedServerInitialMetadataAndPushedMessage:
|
627
671
|
return server_to_client_push_waiter_.pending();
|
@@ -640,7 +684,7 @@ CallState::PushServerTrailingMetadata(bool cancel) {
|
|
640
684
|
<< GRPC_DUMP_ARGS(this, cancel, server_trailing_metadata_state_,
|
641
685
|
server_to_client_push_state_,
|
642
686
|
client_to_server_push_state_,
|
643
|
-
server_trailing_metadata_waiter_
|
687
|
+
server_trailing_metadata_waiter_);
|
644
688
|
if (server_trailing_metadata_state_ !=
|
645
689
|
ServerTrailingMetadataState::kNotPushed) {
|
646
690
|
return false;
|
@@ -657,6 +701,7 @@ CallState::PushServerTrailingMetadata(bool cancel) {
|
|
657
701
|
case ServerToClientPushState::kPushedServerInitialMetadata:
|
658
702
|
case ServerToClientPushState::kPushedServerInitialMetadataAndPushedMessage:
|
659
703
|
case ServerToClientPushState::kPushedMessage:
|
704
|
+
case ServerToClientPushState::kPushedMessageWithoutInitialMetadata:
|
660
705
|
if (cancel) {
|
661
706
|
server_to_client_push_state_ = ServerToClientPushState::kFinished;
|
662
707
|
server_to_client_push_waiter_.Wake();
|
@@ -717,7 +762,9 @@ CallState::PollPullServerInitialMetadataAvailable() {
|
|
717
762
|
case ServerToClientPullState::kIdle:
|
718
763
|
case ServerToClientPullState::kReading:
|
719
764
|
case ServerToClientPullState::kProcessingServerToClientMessage:
|
720
|
-
LOG(FATAL) << "PollPullServerInitialMetadataAvailable called twice"
|
765
|
+
LOG(FATAL) << "PollPullServerInitialMetadataAvailable called twice; "
|
766
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
767
|
+
server_to_client_push_state_);
|
721
768
|
case ServerToClientPullState::kTerminated:
|
722
769
|
return false;
|
723
770
|
}
|
@@ -727,6 +774,7 @@ CallState::PollPullServerInitialMetadataAvailable() {
|
|
727
774
|
<< server_to_client_pull_state_;
|
728
775
|
switch (server_to_client_push_state_) {
|
729
776
|
case ServerToClientPushState::kStart:
|
777
|
+
case ServerToClientPushState::kPushedMessageWithoutInitialMetadata:
|
730
778
|
return server_to_client_push_waiter_.pending();
|
731
779
|
case ServerToClientPushState::kPushedServerInitialMetadata:
|
732
780
|
case ServerToClientPushState::kPushedServerInitialMetadataAndPushedMessage:
|
@@ -739,7 +787,9 @@ CallState::PollPullServerInitialMetadataAvailable() {
|
|
739
787
|
case ServerToClientPushState::kIdle:
|
740
788
|
case ServerToClientPushState::kPushedMessage:
|
741
789
|
LOG(FATAL)
|
742
|
-
<< "PollPullServerInitialMetadataAvailable after metadata processed"
|
790
|
+
<< "PollPullServerInitialMetadataAvailable after metadata processed; "
|
791
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
792
|
+
server_to_client_push_state_);
|
743
793
|
case ServerToClientPushState::kFinished:
|
744
794
|
server_to_client_pull_state_ = ServerToClientPullState::kTerminated;
|
745
795
|
server_to_client_pull_waiter_.Wake();
|
@@ -775,7 +825,9 @@ CallState::FinishPullServerInitialMetadata() {
|
|
775
825
|
case ServerToClientPullState::kIdle:
|
776
826
|
case ServerToClientPullState::kReading:
|
777
827
|
case ServerToClientPullState::kProcessingServerToClientMessage:
|
778
|
-
LOG(FATAL) << "Out of order FinishPullServerInitialMetadata"
|
828
|
+
LOG(FATAL) << "Out of order FinishPullServerInitialMetadata; "
|
829
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
830
|
+
server_to_client_push_state_);
|
779
831
|
case ServerToClientPullState::kTerminated:
|
780
832
|
return;
|
781
833
|
}
|
@@ -784,8 +836,11 @@ CallState::FinishPullServerInitialMetadata() {
|
|
784
836
|
<< server_to_client_pull_state_;
|
785
837
|
switch (server_to_client_push_state_) {
|
786
838
|
case ServerToClientPushState::kStart:
|
839
|
+
case ServerToClientPushState::kPushedMessageWithoutInitialMetadata:
|
787
840
|
LOG(FATAL) << "FinishPullServerInitialMetadata called before initial "
|
788
|
-
"metadata consumed"
|
841
|
+
"metadata consumed; "
|
842
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
843
|
+
server_to_client_push_state_);
|
789
844
|
case ServerToClientPushState::kPushedServerInitialMetadata:
|
790
845
|
server_to_client_push_state_ = ServerToClientPushState::kIdle;
|
791
846
|
server_to_client_push_waiter_.Wake();
|
@@ -798,7 +853,9 @@ CallState::FinishPullServerInitialMetadata() {
|
|
798
853
|
case ServerToClientPushState::kPushedMessage:
|
799
854
|
case ServerToClientPushState::kTrailersOnly:
|
800
855
|
case ServerToClientPushState::kFinished:
|
801
|
-
LOG(FATAL) << "FinishPullServerInitialMetadata called twice"
|
856
|
+
LOG(FATAL) << "FinishPullServerInitialMetadata called twice; "
|
857
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
858
|
+
server_to_client_push_state_);
|
802
859
|
}
|
803
860
|
}
|
804
861
|
|
@@ -837,13 +894,16 @@ CallState::PollPullServerToClientMessageAvailable() {
|
|
837
894
|
break;
|
838
895
|
case ServerToClientPullState::kProcessingServerToClientMessage:
|
839
896
|
LOG(FATAL) << "PollPullServerToClientMessageAvailable called while "
|
840
|
-
"processing a message"
|
897
|
+
"processing a message; "
|
898
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
899
|
+
server_to_client_push_state_);
|
841
900
|
case ServerToClientPullState::kTerminated:
|
842
901
|
return Failure{};
|
843
902
|
}
|
844
903
|
DCHECK_EQ(server_to_client_pull_state_, ServerToClientPullState::kReading);
|
845
904
|
switch (server_to_client_push_state_) {
|
846
905
|
case ServerToClientPushState::kStart:
|
906
|
+
case ServerToClientPushState::kPushedMessageWithoutInitialMetadata:
|
847
907
|
case ServerToClientPushState::kPushedServerInitialMetadata:
|
848
908
|
case ServerToClientPushState::kPushedServerInitialMetadataAndPushedMessage:
|
849
909
|
return server_to_client_push_waiter_.pending();
|
@@ -907,13 +967,19 @@ CallState::FinishPullServerToClientMessage() {
|
|
907
967
|
case ServerToClientPullState::kStartedReading:
|
908
968
|
case ServerToClientPullState::kProcessingServerInitialMetadata:
|
909
969
|
case ServerToClientPullState::kProcessingServerInitialMetadataReading:
|
910
|
-
LOG(FATAL)
|
911
|
-
|
970
|
+
LOG(FATAL) << "FinishPullServerToClientMessage called before metadata "
|
971
|
+
"available; "
|
972
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
973
|
+
server_to_client_push_state_);
|
912
974
|
case ServerToClientPullState::kIdle:
|
913
|
-
LOG(FATAL) << "FinishPullServerToClientMessage called twice"
|
975
|
+
LOG(FATAL) << "FinishPullServerToClientMessage called twice; "
|
976
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
977
|
+
server_to_client_push_state_);
|
914
978
|
case ServerToClientPullState::kReading:
|
915
979
|
LOG(FATAL) << "FinishPullServerToClientMessage called before "
|
916
|
-
<< "PollPullServerToClientMessageAvailable"
|
980
|
+
<< "PollPullServerToClientMessageAvailable; "
|
981
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
982
|
+
server_to_client_push_state_);
|
917
983
|
case ServerToClientPullState::kProcessingServerToClientMessage:
|
918
984
|
server_to_client_pull_state_ = ServerToClientPullState::kIdle;
|
919
985
|
server_to_client_pull_waiter_.Wake();
|
@@ -922,20 +988,27 @@ CallState::FinishPullServerToClientMessage() {
|
|
922
988
|
break;
|
923
989
|
}
|
924
990
|
switch (server_to_client_push_state_) {
|
991
|
+
case ServerToClientPushState::kPushedMessageWithoutInitialMetadata:
|
925
992
|
case ServerToClientPushState::kPushedServerInitialMetadataAndPushedMessage:
|
926
993
|
case ServerToClientPushState::kPushedServerInitialMetadata:
|
927
994
|
case ServerToClientPushState::kStart:
|
928
995
|
LOG(FATAL) << "FinishPullServerToClientMessage called before initial "
|
929
|
-
"metadata consumed"
|
996
|
+
"metadata consumed; "
|
997
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
998
|
+
server_to_client_push_state_);
|
930
999
|
case ServerToClientPushState::kTrailersOnly:
|
931
1000
|
LOG(FATAL) << "FinishPullServerToClientMessage called after "
|
932
|
-
"PushServerTrailingMetadata"
|
1001
|
+
"PushServerTrailingMetadata; "
|
1002
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
1003
|
+
server_to_client_push_state_);
|
933
1004
|
case ServerToClientPushState::kPushedMessage:
|
934
1005
|
server_to_client_push_state_ = ServerToClientPushState::kIdle;
|
935
1006
|
server_to_client_push_waiter_.Wake();
|
936
1007
|
break;
|
937
1008
|
case ServerToClientPushState::kIdle:
|
938
|
-
LOG(FATAL) << "FinishPullServerToClientMessage called without a message"
|
1009
|
+
LOG(FATAL) << "FinishPullServerToClientMessage called without a message; "
|
1010
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
1011
|
+
server_to_client_push_state_);
|
939
1012
|
case ServerToClientPushState::kFinished:
|
940
1013
|
break;
|
941
1014
|
}
|
@@ -945,10 +1018,9 @@ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION inline Poll<Empty>
|
|
945
1018
|
CallState::PollServerTrailingMetadataAvailable() {
|
946
1019
|
GRPC_TRACE_LOG(call_state, INFO)
|
947
1020
|
<< "[call_state] PollServerTrailingMetadataAvailable: "
|
948
|
-
<< GRPC_DUMP_ARGS(
|
949
|
-
|
950
|
-
|
951
|
-
server_trailing_metadata_waiter_.DebugString());
|
1021
|
+
<< GRPC_DUMP_ARGS(
|
1022
|
+
this, server_to_client_pull_state_, server_to_client_push_state_,
|
1023
|
+
server_trailing_metadata_state_, server_trailing_metadata_waiter_);
|
952
1024
|
switch (server_to_client_pull_state_) {
|
953
1025
|
case ServerToClientPullState::kProcessingServerInitialMetadata:
|
954
1026
|
case ServerToClientPullState::kProcessingServerToClientMessage:
|
@@ -967,6 +1039,7 @@ CallState::PollServerTrailingMetadataAvailable() {
|
|
967
1039
|
break; // Ready for processing
|
968
1040
|
}
|
969
1041
|
ABSL_FALLTHROUGH_INTENDED;
|
1042
|
+
case ServerToClientPushState::kPushedMessageWithoutInitialMetadata:
|
970
1043
|
case ServerToClientPushState::kPushedServerInitialMetadata:
|
971
1044
|
case ServerToClientPushState::
|
972
1045
|
kPushedServerInitialMetadataAndPushedMessage:
|
@@ -1001,7 +1074,9 @@ CallState::PollServerTrailingMetadataAvailable() {
|
|
1001
1074
|
case ServerTrailingMetadataState::kNotPushed:
|
1002
1075
|
case ServerTrailingMetadataState::kPulled:
|
1003
1076
|
case ServerTrailingMetadataState::kPulledCancel:
|
1004
|
-
LOG(FATAL) << "PollServerTrailingMetadataAvailable completed twice"
|
1077
|
+
LOG(FATAL) << "PollServerTrailingMetadataAvailable completed twice; "
|
1078
|
+
<< GRPC_DUMP_ARGS(server_to_client_pull_state_,
|
1079
|
+
server_trailing_metadata_state_);
|
1005
1080
|
}
|
1006
1081
|
return Empty{};
|
1007
1082
|
}
|
@@ -1056,6 +1131,24 @@ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION inline bool CallState::WasCancelledPushed()
|
|
1056
1131
|
Crash("Unreachable");
|
1057
1132
|
}
|
1058
1133
|
|
1134
|
+
GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION inline Poll<Empty>
|
1135
|
+
CallState::PollServerTrailingMetadataWasPushed() {
|
1136
|
+
GRPC_TRACE_LOG(call_state, INFO)
|
1137
|
+
<< "[call_state] PollWasCancelled: "
|
1138
|
+
<< GRPC_DUMP_ARGS(this, server_trailing_metadata_state_);
|
1139
|
+
switch (server_trailing_metadata_state_) {
|
1140
|
+
case ServerTrailingMetadataState::kNotPushed: {
|
1141
|
+
return server_trailing_metadata_waiter_.pending();
|
1142
|
+
}
|
1143
|
+
case ServerTrailingMetadataState::kPushed:
|
1144
|
+
case ServerTrailingMetadataState::kPushedCancel:
|
1145
|
+
case ServerTrailingMetadataState::kPulled:
|
1146
|
+
case ServerTrailingMetadataState::kPulledCancel:
|
1147
|
+
return Empty{};
|
1148
|
+
}
|
1149
|
+
Crash("Unreachable");
|
1150
|
+
}
|
1151
|
+
|
1059
1152
|
} // namespace grpc_core
|
1060
1153
|
|
1061
1154
|
#endif // GRPC_SRC_CORE_LIB_TRANSPORT_CALL_STATE_H
|
@@ -18,6 +18,7 @@
|
|
18
18
|
|
19
19
|
#include <cstddef>
|
20
20
|
|
21
|
+
#include "src/core/lib/debug/trace.h"
|
21
22
|
#include "src/core/lib/transport/call_destination.h"
|
22
23
|
#include "src/core/lib/transport/call_filters.h"
|
23
24
|
#include "src/core/lib/transport/call_spine.h"
|
@@ -44,6 +45,13 @@ CallInitiator HijackedCall::MakeCallWithMetadata(
|
|
44
45
|
return std::move(call.initiator);
|
45
46
|
}
|
46
47
|
|
48
|
+
CallInitiator Interceptor::MakeChildCall(ClientMetadataHandle metadata,
|
49
|
+
RefCountedPtr<Arena> arena) {
|
50
|
+
auto call = MakeCallPair(std::move(metadata), arena);
|
51
|
+
wrapped_destination_->StartCall(std::move(call.handler));
|
52
|
+
return std::move(call.initiator);
|
53
|
+
}
|
54
|
+
|
47
55
|
namespace {
|
48
56
|
class CallStarter final : public UnstartedCallDestination {
|
49
57
|
public:
|
@@ -90,6 +90,8 @@ class HijackedCall final {
|
|
90
90
|
|
91
91
|
class Interceptor : public UnstartedCallDestination {
|
92
92
|
public:
|
93
|
+
using UnstartedCallDestination::UnstartedCallDestination;
|
94
|
+
|
93
95
|
void StartCall(UnstartedCallHandler unstarted_call_handler) final {
|
94
96
|
unstarted_call_handler.AddCallStack(filter_stack_);
|
95
97
|
InterceptCall(std::move(unstarted_call_handler));
|
@@ -114,6 +116,13 @@ class Interceptor : public UnstartedCallDestination {
|
|
114
116
|
});
|
115
117
|
}
|
116
118
|
|
119
|
+
// Hijack a call with custom initial metadata.
|
120
|
+
// TODO(ctiller): Evaluate whether this or hijack or some other in-between
|
121
|
+
// API is what we need here (I think we need 2 or 3 more fully worked through
|
122
|
+
// samples) and then reduce this surface to one API.
|
123
|
+
CallInitiator MakeChildCall(ClientMetadataHandle metadata,
|
124
|
+
RefCountedPtr<Arena> arena);
|
125
|
+
|
117
126
|
// Consume this call - it will not be passed on to any further filters.
|
118
127
|
CallHandler Consume(UnstartedCallHandler unstarted_call_handler) {
|
119
128
|
return unstarted_call_handler.StartCall();
|
@@ -180,4 +180,14 @@ void EndpointList::ResetBackoffLocked() {
|
|
180
180
|
}
|
181
181
|
}
|
182
182
|
|
183
|
+
void EndpointList::ReportTransientFailure(absl::Status status) {
|
184
|
+
if (!resolution_note_.empty()) {
|
185
|
+
status = absl::Status(status.code(), absl::StrCat(status.message(), " (",
|
186
|
+
resolution_note_, ")"));
|
187
|
+
}
|
188
|
+
channel_control_helper()->UpdateState(
|
189
|
+
GRPC_CHANNEL_TRANSIENT_FAILURE, status,
|
190
|
+
MakeRefCounted<LoadBalancingPolicy::TransientFailurePicker>(status));
|
191
|
+
}
|
192
|
+
|
183
193
|
} // namespace grpc_core
|
@@ -34,6 +34,7 @@
|
|
34
34
|
#include "src/core/load_balancing/subchannel_interface.h"
|
35
35
|
#include "src/core/resolver/endpoint_addresses.h"
|
36
36
|
#include "src/core/util/debug_location.h"
|
37
|
+
#include "src/core/util/down_cast.h"
|
37
38
|
#include "src/core/util/orphanable.h"
|
38
39
|
#include "src/core/util/ref_counted_ptr.h"
|
39
40
|
#include "src/core/util/work_serializer.h"
|
@@ -51,9 +52,9 @@ class MyEndpointList : public EndpointList {
|
|
51
52
|
public:
|
52
53
|
MyEndpointList(RefCountedPtr<MyLbPolicy> lb_policy,
|
53
54
|
EndpointAddressesIterator* endpoints,
|
54
|
-
const ChannelArgs& args,
|
55
|
+
const ChannelArgs& args, std::string resolution_note,
|
55
56
|
std::vector<std::string>* errors)
|
56
|
-
: EndpointList(std::move(lb_policy),
|
57
|
+
: EndpointList(std::move(lb_policy), std::move(resolution_note),
|
57
58
|
GRPC_TRACE_FLAG_ENABLED(my_tracer)
|
58
59
|
? "MyEndpointList"
|
59
60
|
: nullptr) {
|
@@ -132,7 +133,7 @@ class EndpointList : public InternallyRefCounted<EndpointList> {
|
|
132
133
|
// down-casting in the caller.
|
133
134
|
template <typename T>
|
134
135
|
T* endpoint_list() const {
|
135
|
-
return
|
136
|
+
return DownCast<T*>(endpoint_list_.get());
|
136
137
|
}
|
137
138
|
|
138
139
|
// Templated for convenience, to provide a short-hand for down-casting
|
@@ -181,12 +182,17 @@ class EndpointList : public InternallyRefCounted<EndpointList> {
|
|
181
182
|
|
182
183
|
void ResetBackoffLocked();
|
183
184
|
|
185
|
+
void ReportTransientFailure(absl::Status status);
|
186
|
+
|
184
187
|
protected:
|
185
188
|
// We use two-phase initialization here to ensure that the vtable is
|
186
189
|
// initialized before we need to use it. Subclass must invoke Init()
|
187
190
|
// from inside its ctor.
|
188
|
-
EndpointList(RefCountedPtr<LoadBalancingPolicy> policy,
|
189
|
-
|
191
|
+
EndpointList(RefCountedPtr<LoadBalancingPolicy> policy,
|
192
|
+
std::string resolution_note, const char* tracer)
|
193
|
+
: policy_(std::move(policy)),
|
194
|
+
resolution_note_(std::move(resolution_note)),
|
195
|
+
tracer_(tracer) {}
|
190
196
|
|
191
197
|
void Init(EndpointAddressesIterator* endpoints, const ChannelArgs& args,
|
192
198
|
absl::FunctionRef<OrphanablePtr<Endpoint>(
|
@@ -198,7 +204,7 @@ class EndpointList : public InternallyRefCounted<EndpointList> {
|
|
198
204
|
// in the caller.
|
199
205
|
template <typename T>
|
200
206
|
T* policy() const {
|
201
|
-
return
|
207
|
+
return DownCast<T*>(policy_.get());
|
202
208
|
}
|
203
209
|
|
204
210
|
// Returns true if all endpoints have seen their initial connectivity
|
@@ -214,6 +220,7 @@ class EndpointList : public InternallyRefCounted<EndpointList> {
|
|
214
220
|
const = 0;
|
215
221
|
|
216
222
|
RefCountedPtr<LoadBalancingPolicy> policy_;
|
223
|
+
std::string resolution_note_;
|
217
224
|
const char* tracer_;
|
218
225
|
std::vector<OrphanablePtr<Endpoint>> endpoints_;
|
219
226
|
size_t num_endpoints_seen_initial_state_ = 0;
|
@@ -152,14 +152,6 @@ class LoadBalancingPolicy : public InternallyRefCounted<LoadBalancingPolicy> {
|
|
152
152
|
/// The LB policy may use the existing metadata to influence its routing
|
153
153
|
/// decision, and it may add new metadata elements to be sent with the
|
154
154
|
/// call to the chosen backend.
|
155
|
-
// TODO(roth): Before making the LB policy API public, consider
|
156
|
-
// whether this is the right way to expose metadata to the picker.
|
157
|
-
// This approach means that if a pick modifies metadata but then we
|
158
|
-
// discard the pick because the subchannel is not connected, the
|
159
|
-
// metadata change will still have been made. Maybe we actually
|
160
|
-
// want to somehow provide metadata changes in PickResult::Complete
|
161
|
-
// instead? Or maybe we use a CallTracer that can add metadata when
|
162
|
-
// the call actually starts on the subchannel?
|
163
155
|
MetadataInterface* initial_metadata;
|
164
156
|
/// An interface for accessing call state. Can be used to allocate
|
165
157
|
/// memory associated with the call in an efficient way.
|