grpc 1.53.1 → 1.54.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 +78 -66
- data/include/grpc/event_engine/event_engine.h +30 -14
- data/include/grpc/grpc_security.h +4 -0
- data/include/grpc/support/port_platform.h +4 -4
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +11 -0
- data/src/core/ext/filters/client_channel/backend_metric.cc +6 -0
- data/src/core/ext/filters/client_channel/backup_poller.cc +2 -11
- data/src/core/ext/filters/client_channel/backup_poller.h +0 -3
- data/src/core/ext/filters/client_channel/client_channel.cc +848 -813
- data/src/core/ext/filters/client_channel/client_channel.h +131 -173
- data/src/core/ext/filters/client_channel/client_channel_internal.h +114 -0
- data/src/core/ext/filters/client_channel/config_selector.h +4 -3
- data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +6 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +17 -18
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +134 -151
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +2 -16
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +14 -10
- data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +68 -30
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +11 -3
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +8 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +2 -5
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +30 -38
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +4 -4
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +20 -26
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +31 -179
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +1 -2
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +1 -2
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +4 -2
- data/src/core/ext/filters/client_channel/retry_filter.cc +95 -102
- data/src/core/ext/filters/client_channel/subchannel.cc +2 -4
- data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +26 -27
- data/src/core/ext/filters/client_channel/subchannel_stream_client.h +8 -5
- data/src/core/ext/filters/http/client/http_client_filter.cc +3 -3
- data/src/core/ext/filters/http/http_filters_plugin.cc +1 -12
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +27 -11
- data/src/core/ext/filters/message_size/message_size_filter.cc +141 -224
- data/src/core/ext/filters/message_size/message_size_filter.h +48 -3
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +7 -6
- data/src/core/ext/gcp/metadata_query.cc +142 -0
- data/src/core/ext/gcp/metadata_query.h +82 -0
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +70 -55
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +8 -12
- data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -5
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +116 -58
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +5 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.h +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +222 -118
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +113 -295
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +0 -2
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +0 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +277 -451
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +12 -14
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +1 -9
- data/src/core/ext/transport/chttp2/transport/internal.h +16 -3
- data/src/core/ext/transport/chttp2/transport/parsing.cc +3 -2
- data/src/core/ext/transport/chttp2/transport/writing.cc +10 -5
- data/src/core/ext/transport/inproc/inproc_transport.cc +20 -14
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +5 -3
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +22 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +5 -3
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +22 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +23 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +94 -3
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +23 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +120 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +6 -3
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +22 -0
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +24 -6
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +111 -12
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +9 -7
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +27 -9
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +11 -7
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +56 -12
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +5 -3
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +24 -0
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +5 -3
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +24 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +13 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +49 -0
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +24 -9
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +66 -12
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +191 -187
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +139 -136
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +31 -15
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +12 -9
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +15 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +54 -45
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +135 -119
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +100 -97
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +15 -18
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +272 -264
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +117 -117
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +12 -9
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +1 -2
- data/src/core/ext/xds/xds_client_stats.cc +29 -15
- data/src/core/ext/xds/xds_client_stats.h +24 -20
- data/src/core/ext/xds/xds_endpoint.cc +5 -2
- data/src/core/ext/xds/xds_endpoint.h +9 -1
- data/src/core/ext/xds/xds_http_rbac_filter.cc +1 -1
- data/src/core/ext/xds/xds_lb_policy_registry.cc +13 -0
- data/src/core/ext/xds/xds_transport_grpc.cc +1 -1
- data/src/core/lib/channel/call_finalization.h +1 -1
- data/src/core/lib/channel/call_tracer.cc +51 -0
- data/src/core/lib/channel/call_tracer.h +101 -38
- data/src/core/lib/channel/connected_channel.cc +483 -1050
- data/src/core/lib/channel/context.h +8 -1
- data/src/core/lib/channel/promise_based_filter.cc +106 -42
- data/src/core/lib/channel/promise_based_filter.h +27 -13
- data/src/core/lib/channel/server_call_tracer_filter.cc +110 -0
- data/src/core/lib/config/config_vars.cc +151 -0
- data/src/core/lib/config/config_vars.h +127 -0
- data/src/core/lib/config/config_vars_non_generated.cc +51 -0
- data/src/core/lib/config/load_config.cc +66 -0
- data/src/core/lib/config/load_config.h +49 -0
- data/src/core/lib/debug/trace.cc +5 -6
- data/src/core/lib/debug/trace.h +0 -5
- data/src/core/lib/event_engine/event_engine.cc +37 -2
- data/src/core/lib/event_engine/handle_containers.h +7 -22
- data/src/core/lib/event_engine/memory_allocator_factory.h +47 -0
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +0 -4
- data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +3 -9
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +48 -15
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +8 -8
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +6 -5
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +6 -3
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +27 -18
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +0 -3
- data/src/core/lib/event_engine/resolved_address.cc +2 -1
- data/src/core/lib/event_engine/windows/win_socket.cc +0 -1
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +129 -82
- data/src/core/lib/event_engine/windows/windows_endpoint.h +21 -5
- data/src/core/lib/event_engine/windows/windows_engine.cc +39 -18
- data/src/core/lib/event_engine/windows/windows_engine.h +2 -1
- data/src/core/lib/event_engine/windows/windows_listener.cc +370 -0
- data/src/core/lib/event_engine/windows/windows_listener.h +155 -0
- data/src/core/lib/experiments/config.cc +3 -10
- data/src/core/lib/experiments/experiments.cc +7 -0
- data/src/core/lib/experiments/experiments.h +9 -1
- data/src/core/lib/gpr/log.cc +15 -28
- data/src/core/lib/gprpp/fork.cc +8 -14
- data/src/core/lib/gprpp/orphanable.h +4 -3
- data/src/core/lib/gprpp/per_cpu.h +9 -3
- data/src/core/lib/gprpp/{thd_posix.cc → posix/thd.cc} +49 -37
- data/src/core/lib/gprpp/ref_counted.h +33 -34
- data/src/core/lib/gprpp/thd.h +16 -0
- data/src/core/lib/gprpp/time.cc +1 -0
- data/src/core/lib/gprpp/time.h +4 -4
- data/src/core/lib/gprpp/{thd_windows.cc → windows/thd.cc} +2 -2
- data/src/core/lib/iomgr/call_combiner.h +2 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +4 -2
- data/src/core/lib/iomgr/ev_posix.cc +13 -53
- data/src/core/lib/iomgr/ev_posix.h +0 -3
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +103 -76
- data/src/core/lib/iomgr/iomgr.cc +4 -8
- data/src/core/lib/iomgr/iomgr_windows.cc +8 -2
- data/src/core/lib/iomgr/pollset_set_windows.cc +9 -9
- data/src/core/lib/iomgr/pollset_windows.cc +1 -1
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +16 -3
- data/src/core/lib/iomgr/tcp_client_windows.cc +2 -2
- data/src/core/lib/iomgr/tcp_posix.cc +0 -1
- data/src/core/lib/iomgr/tcp_server_posix.cc +5 -16
- data/src/core/lib/iomgr/tcp_server_windows.cc +176 -9
- data/src/core/lib/iomgr/tcp_windows.cc +12 -8
- data/src/core/lib/load_balancing/lb_policy.cc +9 -13
- data/src/core/lib/load_balancing/lb_policy.h +4 -2
- data/src/core/lib/promise/activity.cc +22 -6
- data/src/core/lib/promise/activity.h +61 -24
- data/src/core/lib/promise/cancel_callback.h +77 -0
- data/src/core/lib/promise/detail/basic_seq.h +1 -1
- data/src/core/lib/promise/detail/promise_factory.h +4 -0
- data/src/core/lib/promise/for_each.h +176 -0
- data/src/core/lib/promise/if.h +9 -0
- data/src/core/lib/promise/interceptor_list.h +23 -2
- data/src/core/lib/promise/latch.h +89 -3
- data/src/core/lib/promise/loop.h +13 -9
- data/src/core/lib/promise/map.h +7 -0
- data/src/core/lib/promise/party.cc +286 -0
- data/src/core/lib/promise/party.h +499 -0
- data/src/core/lib/promise/pipe.h +197 -57
- data/src/core/lib/promise/poll.h +48 -0
- data/src/core/lib/promise/promise.h +2 -2
- data/src/core/lib/resource_quota/arena.cc +19 -3
- data/src/core/lib/resource_quota/arena.h +119 -5
- data/src/core/lib/resource_quota/memory_quota.cc +1 -1
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +12 -35
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +0 -59
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +10 -5
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +13 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +2 -0
- data/src/core/lib/security/security_connector/load_system_roots_supported.cc +5 -9
- data/src/core/lib/security/security_connector/ssl_utils.cc +11 -25
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +12 -0
- data/src/core/lib/security/transport/secure_endpoint.cc +4 -2
- data/src/core/lib/security/transport/server_auth_filter.cc +20 -2
- data/src/core/lib/slice/slice.cc +1 -1
- data/src/core/lib/surface/builtins.cc +2 -0
- data/src/core/lib/surface/call.cc +926 -1024
- data/src/core/lib/surface/call.h +10 -0
- data/src/core/lib/surface/lame_client.cc +1 -0
- data/src/core/lib/surface/validate_metadata.cc +42 -43
- data/src/core/lib/surface/validate_metadata.h +0 -9
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/batch_builder.cc +179 -0
- data/src/core/lib/transport/batch_builder.h +468 -0
- data/src/core/lib/transport/bdp_estimator.cc +7 -7
- data/src/core/lib/transport/bdp_estimator.h +10 -6
- data/src/core/lib/transport/custom_metadata.h +30 -0
- data/src/core/lib/transport/metadata_batch.cc +5 -2
- data/src/core/lib/transport/metadata_batch.h +17 -113
- data/src/core/lib/transport/parsed_metadata.h +6 -16
- data/src/core/lib/transport/timeout_encoding.cc +6 -1
- data/src/core/lib/transport/transport.cc +30 -2
- data/src/core/lib/transport/transport.h +70 -14
- data/src/core/lib/transport/transport_impl.h +7 -0
- data/src/core/lib/transport/transport_op_string.cc +52 -42
- data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -2
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +1 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +21 -4
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +5 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +1 -1
- data/src/core/tsi/ssl_transport_security.cc +4 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/abseil-cpp/absl/base/config.h +1 -1
- data/third_party/abseil-cpp/absl/flags/commandlineflag.cc +34 -0
- data/third_party/abseil-cpp/absl/flags/commandlineflag.h +200 -0
- data/third_party/abseil-cpp/absl/flags/config.h +68 -0
- data/third_party/abseil-cpp/absl/flags/declare.h +73 -0
- data/third_party/abseil-cpp/absl/flags/flag.cc +38 -0
- data/third_party/abseil-cpp/absl/flags/flag.h +310 -0
- data/{src/core/lib/gprpp/global_config_custom.h → third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc} +11 -14
- data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
- data/third_party/abseil-cpp/absl/flags/internal/flag.cc +615 -0
- data/third_party/abseil-cpp/absl/flags/internal/flag.h +800 -0
- data/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc +116 -0
- data/third_party/abseil-cpp/absl/flags/internal/path_util.h +62 -0
- data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +65 -0
- data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +61 -0
- data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +60 -0
- data/third_party/abseil-cpp/absl/flags/internal/program_name.h +50 -0
- data/third_party/abseil-cpp/absl/flags/internal/registry.h +97 -0
- data/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
- data/third_party/abseil-cpp/absl/flags/marshalling.cc +241 -0
- data/third_party/abseil-cpp/absl/flags/marshalling.h +356 -0
- data/third_party/abseil-cpp/absl/flags/reflection.cc +354 -0
- data/third_party/abseil-cpp/absl/flags/reflection.h +90 -0
- data/third_party/abseil-cpp/absl/flags/usage_config.cc +165 -0
- data/third_party/abseil-cpp/absl/flags/usage_config.h +135 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +12 -8
- data/third_party/boringssl-with-bazel/err_data.c +728 -712
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +177 -177
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +28 -55
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +21 -23
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +20 -23
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +66 -185
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +18 -21
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +356 -311
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +174 -194
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +146 -210
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +6 -9
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +346 -526
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +110 -131
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +130 -116
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +93 -60
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +93 -181
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +242 -305
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +41 -18
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +30 -33
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +36 -33
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +29 -26
- data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +133 -88
- data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +230 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +791 -791
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +526 -526
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +114 -135
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +201 -207
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +21 -26
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +55 -68
- data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +11 -7
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +15 -9
- data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +17 -10
- data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -13
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +9 -5
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +10 -23
- data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +2 -6
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +29 -28
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +161 -201
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +254 -39
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +37 -75
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +8 -10
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/cipher → cipher_extra}/e_des.c +100 -78
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +6 -12
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -11
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +6 -10
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +12 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +74 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c +62 -0
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-fuchsia.c → cpu_aarch64_fuchsia.c} +8 -7
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-linux.c → cpu_aarch64_linux.c} +6 -4
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-win.c → cpu_aarch64_win.c} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm.c → cpu_arm.c} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +55 -0
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm-linux.c → cpu_arm_linux.c} +11 -90
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm-linux.h → cpu_arm_linux.h} +0 -38
- data/third_party/boringssl-with-bazel/src/crypto/{cpu-intel.c → cpu_intel.c} +1 -2
- data/third_party/boringssl-with-bazel/src/crypto/crypto.c +25 -20
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +16 -27
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +17 -32
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/des → des}/des.c +232 -232
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/des → des}/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +232 -29
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -3
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +39 -16
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +37 -7
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +11 -36
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +214 -99
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +21 -5
- data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +83 -60
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +46 -12
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +25 -23
- data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +43 -9
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +75 -44
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +19 -25
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +96 -45
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +7 -8
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +26 -23
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +233 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +42 -25
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +4 -5
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +35 -47
- data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +135 -244
- data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +15 -10
- data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +29 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +13 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +3 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +13 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +9 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +35 -27
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +16 -26
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c +88 -60
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +99 -113
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +5 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c +112 -168
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +86 -31
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +11 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +4 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +4 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +13 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +13 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +19 -108
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +19 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +15 -16
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +22 -21
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +79 -19
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +102 -99
- data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → fipsmodule/cipher}/e_aesccm.c +52 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/{cmac → fipsmodule/cmac}/cmac.c +55 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +21 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +56 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +5 -3
- data/third_party/boringssl-with-bazel/src/crypto/{evp → fipsmodule/digestsign}/digestsign.c +51 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +25 -25
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +91 -17
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +34 -12
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +54 -23
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +44 -60
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64-table.h → p256-nistz-table.h} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64.c → p256-nistz.c} +60 -53
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64.h → p256-nistz.h} +5 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +48 -36
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +2 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +2 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +8 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +42 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +6 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c +52 -24
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +9 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +1 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +71 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +14 -16
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +1 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +31 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +16 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +9 -38
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +73 -59
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +11 -45
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +22 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +63 -52
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +107 -62
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +58 -31
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +41 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +523 -422
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +89 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +334 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +3 -12
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +12 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +14 -12
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +19 -6
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +32 -14
- data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +65 -29
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +373 -18
- data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +61 -0
- data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +205 -0
- data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +13 -1
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +220 -13
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +19 -7
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +13 -1
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +81 -90
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +150 -245
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +629 -613
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +17 -17
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +142 -149
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +99 -131
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +36 -66
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +31 -38
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +18 -31
- data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +8 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +129 -5
- data/third_party/boringssl-with-bazel/src/crypto/refcount_c11.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/refcount_lock.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +8 -11
- data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +61 -27
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +10 -13
- data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +10 -13
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +66 -34
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +190 -77
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +81 -284
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +109 -42
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +22 -24
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +54 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +32 -34
- data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +32 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +465 -704
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +284 -331
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +183 -178
- data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +11 -15
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +67 -50
- data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +153 -150
- data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +786 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +95 -102
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +72 -57
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +12 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +227 -252
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +52 -47
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +230 -224
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +161 -327
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +37 -33
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +14 -31
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +55 -85
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +534 -618
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +129 -122
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +116 -182
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +132 -132
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +181 -202
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +64 -79
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +175 -160
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1865 -2050
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +433 -462
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +156 -163
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +267 -263
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +40 -15
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +59 -63
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +63 -67
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +114 -144
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +25 -26
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +326 -415
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +8 -7
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_info.c +30 -28
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +354 -370
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +37 -32
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +116 -119
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +36 -26
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +10 -13
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +419 -261
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +113 -105
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +11 -15
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +78 -170
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +126 -131
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +465 -469
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bcons.c +56 -54
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +46 -49
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +309 -346
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +341 -365
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +429 -393
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +29 -24
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_extku.c +65 -59
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +125 -121
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +43 -42
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +122 -125
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_int.c +50 -20
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +247 -253
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +386 -389
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c +45 -32
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c +57 -54
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c +63 -67
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +143 -136
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +664 -707
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +83 -75
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +1062 -1146
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +8 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +28 -48
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +211 -187
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +26 -78
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +19 -14
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +21 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +49 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +99 -29
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +49 -60
- data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +2 -15
- data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +16 -200
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +34 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +82 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +32 -30
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +7 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +48 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +37 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +33 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +22 -30
- data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +7 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +41 -16
- data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +91 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +74 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +13 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +11 -15
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +8 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +12 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +7 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +96 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +13 -21
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +139 -75
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +1 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +384 -286
- data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +5 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/time.h +41 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +18 -7
- data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +49 -23
- data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +0 -11
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +1592 -1074
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +202 -205
- data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +6 -13
- data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +17 -18
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +4 -5
- data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +25 -33
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +34 -20
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +65 -34
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +198 -54
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +5 -5
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +32 -28
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +76 -44
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +130 -98
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +27 -11
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +91 -75
- data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +8 -10
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +39 -65
- data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +1 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +5 -9
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +30 -33
- data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +77 -100
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +120 -107
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +164 -30
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +150 -60
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +22 -11
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +22 -6
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +15 -13
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +5 -43
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +7 -4
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +22 -34
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +16 -98
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +1241 -657
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +751 -398
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +3551 -1938
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +1272 -487
- metadata +103 -70
- data/src/core/ext/filters/client_channel/lb_call_state_internal.h +0 -39
- data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +0 -30
- data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +0 -29
- data/src/core/lib/gprpp/global_config.h +0 -93
- data/src/core/lib/gprpp/global_config_env.cc +0 -140
- data/src/core/lib/gprpp/global_config_env.h +0 -133
- data/src/core/lib/gprpp/global_config_generic.h +0 -40
- data/src/core/lib/promise/intra_activity_waiter.h +0 -55
- data/src/core/lib/security/security_connector/ssl_utils_config.cc +0 -32
- data/src/core/lib/security/security_connector/ssl_utils_config.h +0 -29
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +0 -195
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c +0 -83
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +0 -236
- data/third_party/boringssl-with-bazel/src/crypto/asn1/charmap.h +0 -15
- data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +0 -206
- data/third_party/boringssl-with-bazel/src/crypto/cpu-ppc64le.c +0 -38
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1-altivec.c +0 -361
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +0 -287
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +0 -132
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +0 -155
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +0 -131
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +0 -189
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +0 -843
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +0 -289
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c +0 -57
- /data/src/core/lib/gpr/{log_android.cc → android/log.cc} +0 -0
- /data/src/core/lib/gpr/{cpu_iphone.cc → iphone/cpu.cc} +0 -0
- /data/src/core/lib/gpr/{cpu_linux.cc → linux/cpu.cc} +0 -0
- /data/src/core/lib/gpr/{log_linux.cc → linux/log.cc} +0 -0
- /data/src/core/lib/gpr/{tmpfile_msys.cc → msys/tmpfile.cc} +0 -0
- /data/src/core/lib/gpr/{cpu_posix.cc → posix/cpu.cc} +0 -0
- /data/src/core/lib/gpr/{log_posix.cc → posix/log.cc} +0 -0
- /data/src/core/lib/gpr/{string_posix.cc → posix/string.cc} +0 -0
- /data/src/core/lib/gpr/{sync_posix.cc → posix/sync.cc} +0 -0
- /data/src/core/lib/gpr/{time_posix.cc → posix/time.cc} +0 -0
- /data/src/core/lib/gpr/{tmpfile_posix.cc → posix/tmpfile.cc} +0 -0
- /data/src/core/lib/gpr/{cpu_windows.cc → windows/cpu.cc} +0 -0
- /data/src/core/lib/gpr/{log_windows.cc → windows/log.cc} +0 -0
- /data/src/core/lib/gpr/{string_windows.cc → windows/string.cc} +0 -0
- /data/src/core/lib/gpr/{string_util_windows.cc → windows/string_util.cc} +0 -0
- /data/src/core/lib/gpr/{sync_windows.cc → windows/sync.cc} +0 -0
- /data/src/core/lib/gpr/{time_windows.cc → windows/time.cc} +0 -0
- /data/src/core/lib/gpr/{tmpfile_windows.cc → windows/tmpfile.cc} +0 -0
- /data/src/core/lib/gprpp/{env_linux.cc → linux/env.cc} +0 -0
- /data/src/core/lib/gprpp/{env_posix.cc → posix/env.cc} +0 -0
- /data/src/core/lib/gprpp/{stat_posix.cc → posix/stat.cc} +0 -0
- /data/src/core/lib/gprpp/{env_windows.cc → windows/env.cc} +0 -0
- /data/src/core/lib/gprpp/{stat_windows.cc → windows/stat.cc} +0 -0
@@ -18,13 +18,16 @@
|
|
18
18
|
|
19
19
|
#include <inttypes.h>
|
20
20
|
#include <stdlib.h>
|
21
|
+
#include <string.h>
|
21
22
|
|
22
23
|
#include <algorithm>
|
24
|
+
#include <atomic>
|
23
25
|
#include <memory>
|
24
26
|
#include <string>
|
25
27
|
#include <utility>
|
26
28
|
#include <vector>
|
27
29
|
|
30
|
+
#include "absl/random/random.h"
|
28
31
|
#include "absl/status/status.h"
|
29
32
|
#include "absl/status/statusor.h"
|
30
33
|
#include "absl/strings/str_cat.h"
|
@@ -174,7 +177,7 @@ class RoundRobin : public LoadBalancingPolicy {
|
|
174
177
|
// Using pointer value only, no ref held -- do not dereference!
|
175
178
|
RoundRobin* parent_;
|
176
179
|
|
177
|
-
size_t last_picked_index_;
|
180
|
+
std::atomic<size_t> last_picked_index_;
|
178
181
|
std::vector<RefCountedPtr<SubchannelInterface>> subchannels_;
|
179
182
|
};
|
180
183
|
|
@@ -189,6 +192,8 @@ class RoundRobin : public LoadBalancingPolicy {
|
|
189
192
|
RefCountedPtr<RoundRobinSubchannelList> latest_pending_subchannel_list_;
|
190
193
|
|
191
194
|
bool shutdown_ = false;
|
195
|
+
|
196
|
+
absl::BitGen bit_gen_;
|
192
197
|
};
|
193
198
|
|
194
199
|
//
|
@@ -207,27 +212,26 @@ RoundRobin::Picker::Picker(RoundRobin* parent,
|
|
207
212
|
}
|
208
213
|
// For discussion on why we generate a random starting index for
|
209
214
|
// the picker, see https://github.com/grpc/grpc-go/issues/2580.
|
210
|
-
|
211
|
-
|
212
|
-
last_picked_index_
|
215
|
+
size_t index =
|
216
|
+
absl::Uniform<size_t>(parent->bit_gen_, 0, subchannels_.size());
|
217
|
+
last_picked_index_.store(index, std::memory_order_relaxed);
|
213
218
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_round_robin_trace)) {
|
214
219
|
gpr_log(GPR_INFO,
|
215
220
|
"[RR %p picker %p] created picker from subchannel_list=%p "
|
216
221
|
"with %" PRIuPTR " READY subchannels; last_picked_index_=%" PRIuPTR,
|
217
|
-
parent_, this, subchannel_list, subchannels_.size(),
|
218
|
-
last_picked_index_);
|
222
|
+
parent_, this, subchannel_list, subchannels_.size(), index);
|
219
223
|
}
|
220
224
|
}
|
221
225
|
|
222
226
|
RoundRobin::PickResult RoundRobin::Picker::Pick(PickArgs /*args*/) {
|
223
|
-
|
227
|
+
size_t index = last_picked_index_.fetch_add(1, std::memory_order_relaxed) %
|
228
|
+
subchannels_.size();
|
224
229
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_round_robin_trace)) {
|
225
230
|
gpr_log(GPR_INFO,
|
226
231
|
"[RR %p picker %p] returning index %" PRIuPTR ", subchannel=%p",
|
227
|
-
parent_, this,
|
228
|
-
subchannels_[last_picked_index_].get());
|
232
|
+
parent_, this, index, subchannels_[index].get());
|
229
233
|
}
|
230
|
-
return PickResult::Complete(subchannels_[
|
234
|
+
return PickResult::Complete(subchannels_[index]);
|
231
235
|
}
|
232
236
|
|
233
237
|
//
|
data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc
CHANGED
@@ -99,6 +99,7 @@ class WeightedRoundRobinConfig : public LoadBalancingPolicy::Config {
|
|
99
99
|
Duration weight_expiration_period() const {
|
100
100
|
return weight_expiration_period_;
|
101
101
|
}
|
102
|
+
float error_utilization_penalty() const { return error_utilization_penalty_; }
|
102
103
|
|
103
104
|
static const JsonLoaderInterface* JsonLoader(const JsonArgs&) {
|
104
105
|
static const auto* loader =
|
@@ -113,14 +114,21 @@ class WeightedRoundRobinConfig : public LoadBalancingPolicy::Config {
|
|
113
114
|
&WeightedRoundRobinConfig::weight_update_period_)
|
114
115
|
.OptionalField("weightExpirationPeriod",
|
115
116
|
&WeightedRoundRobinConfig::weight_expiration_period_)
|
117
|
+
.OptionalField(
|
118
|
+
"errorUtilizationPenalty",
|
119
|
+
&WeightedRoundRobinConfig::error_utilization_penalty_)
|
116
120
|
.Finish();
|
117
121
|
return loader;
|
118
122
|
}
|
119
123
|
|
120
|
-
void JsonPostLoad(const Json&, const JsonArgs&, ValidationErrors*) {
|
124
|
+
void JsonPostLoad(const Json&, const JsonArgs&, ValidationErrors* errors) {
|
121
125
|
// Impose lower bound of 100ms on weightUpdatePeriod.
|
122
126
|
weight_update_period_ =
|
123
127
|
std::max(weight_update_period_, Duration::Milliseconds(100));
|
128
|
+
if (error_utilization_penalty_ < 0) {
|
129
|
+
ValidationErrors::ScopedField field(errors, ".errorUtilizationPenalty");
|
130
|
+
errors->AddError("must be non-negative");
|
131
|
+
}
|
124
132
|
}
|
125
133
|
|
126
134
|
private:
|
@@ -129,6 +137,7 @@ class WeightedRoundRobinConfig : public LoadBalancingPolicy::Config {
|
|
129
137
|
Duration blackout_period_ = Duration::Seconds(10);
|
130
138
|
Duration weight_update_period_ = Duration::Seconds(1);
|
131
139
|
Duration weight_expiration_period_ = Duration::Minutes(3);
|
140
|
+
float error_utilization_penalty_ = 1.0;
|
132
141
|
};
|
133
142
|
|
134
143
|
// WRR LB policy.
|
@@ -149,7 +158,8 @@ class WeightedRoundRobin : public LoadBalancingPolicy {
|
|
149
158
|
: wrr_(std::move(wrr)), key_(std::move(key)) {}
|
150
159
|
~AddressWeight() override;
|
151
160
|
|
152
|
-
void MaybeUpdateWeight(double qps, double cpu_utilization
|
161
|
+
void MaybeUpdateWeight(double qps, double eps, double cpu_utilization,
|
162
|
+
float error_utilization_penalty);
|
153
163
|
|
154
164
|
float GetWeight(Timestamp now, Duration weight_expiration_period,
|
155
165
|
Duration blackout_period);
|
@@ -191,14 +201,17 @@ class WeightedRoundRobin : public LoadBalancingPolicy {
|
|
191
201
|
private:
|
192
202
|
class OobWatcher : public OobBackendMetricWatcher {
|
193
203
|
public:
|
194
|
-
|
195
|
-
|
204
|
+
OobWatcher(RefCountedPtr<AddressWeight> weight,
|
205
|
+
float error_utilization_penalty)
|
206
|
+
: weight_(std::move(weight)),
|
207
|
+
error_utilization_penalty_(error_utilization_penalty) {}
|
196
208
|
|
197
209
|
void OnBackendMetricReport(
|
198
210
|
const BackendMetricData& backend_metric_data) override;
|
199
211
|
|
200
212
|
private:
|
201
213
|
RefCountedPtr<AddressWeight> weight_;
|
214
|
+
const float error_utilization_penalty_;
|
202
215
|
};
|
203
216
|
|
204
217
|
// Performs connectivity state updates that need to be done only
|
@@ -290,8 +303,10 @@ class WeightedRoundRobin : public LoadBalancingPolicy {
|
|
290
303
|
// A call tracker that collects per-call endpoint utilization reports.
|
291
304
|
class SubchannelCallTracker : public SubchannelCallTrackerInterface {
|
292
305
|
public:
|
293
|
-
|
294
|
-
|
306
|
+
SubchannelCallTracker(RefCountedPtr<AddressWeight> weight,
|
307
|
+
float error_utilization_penalty)
|
308
|
+
: weight_(std::move(weight)),
|
309
|
+
error_utilization_penalty_(error_utilization_penalty) {}
|
295
310
|
|
296
311
|
void Start() override {}
|
297
312
|
|
@@ -299,6 +314,7 @@ class WeightedRoundRobin : public LoadBalancingPolicy {
|
|
299
314
|
|
300
315
|
private:
|
301
316
|
RefCountedPtr<AddressWeight> weight_;
|
317
|
+
const float error_utilization_penalty_;
|
302
318
|
};
|
303
319
|
|
304
320
|
// Info stored about each subchannel.
|
@@ -324,6 +340,7 @@ class WeightedRoundRobin : public LoadBalancingPolicy {
|
|
324
340
|
const Duration weight_update_period_;
|
325
341
|
const Duration weight_expiration_period_;
|
326
342
|
const Duration blackout_period_;
|
343
|
+
const float error_utilization_penalty_;
|
327
344
|
std::vector<SubchannelInfo> subchannels_;
|
328
345
|
|
329
346
|
Mutex scheduler_mu_;
|
@@ -381,16 +398,24 @@ WeightedRoundRobin::AddressWeight::~AddressWeight() {
|
|
381
398
|
}
|
382
399
|
|
383
400
|
void WeightedRoundRobin::AddressWeight::MaybeUpdateWeight(
|
384
|
-
double qps, double cpu_utilization
|
401
|
+
double qps, double eps, double cpu_utilization,
|
402
|
+
float error_utilization_penalty) {
|
385
403
|
// Compute weight.
|
386
404
|
float weight = 0;
|
387
|
-
if (qps > 0 && cpu_utilization > 0)
|
405
|
+
if (qps > 0 && cpu_utilization > 0) {
|
406
|
+
double penalty = 0.0;
|
407
|
+
if (eps > 0 && error_utilization_penalty > 0) {
|
408
|
+
penalty = eps / qps * error_utilization_penalty;
|
409
|
+
}
|
410
|
+
weight = qps / (cpu_utilization + penalty);
|
411
|
+
}
|
388
412
|
if (weight == 0) {
|
389
413
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_wrr_trace)) {
|
390
414
|
gpr_log(GPR_INFO,
|
391
|
-
"[WRR %p] subchannel %s: qps=%f,
|
392
|
-
"(not updating)",
|
393
|
-
wrr_.get(), key_.c_str(), qps, cpu_utilization,
|
415
|
+
"[WRR %p] subchannel %s: qps=%f, eps=%f, cpu_utilization=%f: "
|
416
|
+
"error_util_penalty=%f, weight=%f (not updating)",
|
417
|
+
wrr_.get(), key_.c_str(), qps, eps, cpu_utilization,
|
418
|
+
error_utilization_penalty, weight);
|
394
419
|
}
|
395
420
|
return;
|
396
421
|
}
|
@@ -399,11 +424,12 @@ void WeightedRoundRobin::AddressWeight::MaybeUpdateWeight(
|
|
399
424
|
MutexLock lock(&mu_);
|
400
425
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_wrr_trace)) {
|
401
426
|
gpr_log(GPR_INFO,
|
402
|
-
"[WRR %p] subchannel %s: qps=%f, cpu_utilization=%f
|
403
|
-
"weight=%f weight_=%f now=%s
|
404
|
-
"non_empty_since_=%s",
|
405
|
-
wrr_.get(), key_.c_str(), qps,
|
406
|
-
|
427
|
+
"[WRR %p] subchannel %s: qps=%f, eps=%f, cpu_utilization=%f "
|
428
|
+
"error_util_penalty=%f : setting weight=%f weight_=%f now=%s "
|
429
|
+
"last_update_time_=%s non_empty_since_=%s",
|
430
|
+
wrr_.get(), key_.c_str(), qps, eps, cpu_utilization,
|
431
|
+
error_utilization_penalty, weight, weight_, now.ToString().c_str(),
|
432
|
+
last_update_time_.ToString().c_str(),
|
407
433
|
non_empty_since_.ToString().c_str());
|
408
434
|
}
|
409
435
|
if (non_empty_since_ == Timestamp::InfFuture()) non_empty_since_ = now;
|
@@ -456,12 +482,15 @@ void WeightedRoundRobin::Picker::SubchannelCallTracker::Finish(
|
|
456
482
|
auto* backend_metric_data =
|
457
483
|
args.backend_metric_accessor->GetBackendMetricData();
|
458
484
|
double qps = 0;
|
485
|
+
double eps = 0;
|
459
486
|
double cpu_utilization = 0;
|
460
487
|
if (backend_metric_data != nullptr) {
|
461
488
|
qps = backend_metric_data->qps;
|
489
|
+
eps = backend_metric_data->eps;
|
462
490
|
cpu_utilization = backend_metric_data->cpu_utilization;
|
463
491
|
}
|
464
|
-
weight_->MaybeUpdateWeight(qps, cpu_utilization
|
492
|
+
weight_->MaybeUpdateWeight(qps, eps, cpu_utilization,
|
493
|
+
error_utilization_penalty_);
|
465
494
|
}
|
466
495
|
|
467
496
|
//
|
@@ -476,6 +505,7 @@ WeightedRoundRobin::Picker::Picker(
|
|
476
505
|
weight_update_period_(wrr_->config_->weight_update_period()),
|
477
506
|
weight_expiration_period_(wrr_->config_->weight_expiration_period()),
|
478
507
|
blackout_period_(wrr_->config_->blackout_period()),
|
508
|
+
error_utilization_penalty_(wrr_->config_->error_utilization_penalty()),
|
479
509
|
last_picked_index_(absl::Uniform<size_t>(wrr_->bit_gen_)) {
|
480
510
|
for (size_t i = 0; i < subchannel_list->num_subchannels(); ++i) {
|
481
511
|
WeightedRoundRobinSubchannelData* sd = subchannel_list->subchannel(i);
|
@@ -515,8 +545,8 @@ WeightedRoundRobin::PickResult WeightedRoundRobin::Picker::Pick(
|
|
515
545
|
// Collect per-call utilization data if needed.
|
516
546
|
std::unique_ptr<SubchannelCallTrackerInterface> subchannel_call_tracker;
|
517
547
|
if (use_per_rpc_utilization_) {
|
518
|
-
subchannel_call_tracker =
|
519
|
-
|
548
|
+
subchannel_call_tracker = std::make_unique<SubchannelCallTracker>(
|
549
|
+
subchannel_info.weight, error_utilization_penalty_);
|
520
550
|
}
|
521
551
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_wrr_trace)) {
|
522
552
|
gpr_log(GPR_INFO,
|
@@ -560,6 +590,13 @@ void WeightedRoundRobin::Picker::BuildSchedulerAndStartTimerLocked() {
|
|
560
590
|
if (scheduler_or.has_value()) {
|
561
591
|
scheduler =
|
562
592
|
std::make_shared<StaticStrideScheduler>(std::move(*scheduler_or));
|
593
|
+
if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_wrr_trace)) {
|
594
|
+
gpr_log(GPR_INFO, "[WRR %p picker %p] new scheduler: %p", wrr_.get(),
|
595
|
+
this, scheduler.get());
|
596
|
+
}
|
597
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_wrr_trace)) {
|
598
|
+
gpr_log(GPR_INFO, "[WRR %p picker %p] no scheduler, falling back to RR",
|
599
|
+
wrr_.get(), this);
|
563
600
|
}
|
564
601
|
{
|
565
602
|
MutexLock lock(&scheduler_mu_);
|
@@ -817,8 +854,9 @@ void WeightedRoundRobin::WeightedRoundRobinSubchannelList::
|
|
817
854
|
|
818
855
|
void WeightedRoundRobin::WeightedRoundRobinSubchannelData::OobWatcher::
|
819
856
|
OnBackendMetricReport(const BackendMetricData& backend_metric_data) {
|
820
|
-
weight_->MaybeUpdateWeight(backend_metric_data.qps,
|
821
|
-
backend_metric_data.cpu_utilization
|
857
|
+
weight_->MaybeUpdateWeight(backend_metric_data.qps, backend_metric_data.eps,
|
858
|
+
backend_metric_data.cpu_utilization,
|
859
|
+
error_utilization_penalty_);
|
822
860
|
}
|
823
861
|
|
824
862
|
//
|
@@ -837,9 +875,10 @@ WeightedRoundRobin::WeightedRoundRobinSubchannelData::
|
|
837
875
|
WeightedRoundRobin* p =
|
838
876
|
static_cast<WeightedRoundRobin*>(subchannel_list->policy());
|
839
877
|
if (p->config_->enable_oob_load_report()) {
|
840
|
-
subchannel()->AddDataWatcher(
|
841
|
-
|
842
|
-
|
878
|
+
subchannel()->AddDataWatcher(MakeOobBackendMetricWatcher(
|
879
|
+
p->config_->oob_reporting_period(),
|
880
|
+
std::make_unique<OobWatcher>(weight_,
|
881
|
+
p->config_->error_utilization_penalty())));
|
843
882
|
}
|
844
883
|
}
|
845
884
|
|
@@ -950,15 +989,14 @@ class WeightedRoundRobinFactory : public LoadBalancingPolicyFactory {
|
|
950
989
|
absl::StatusOr<RefCountedPtr<LoadBalancingPolicy::Config>>
|
951
990
|
ParseLoadBalancingConfig(const Json& json) const override {
|
952
991
|
if (json.type() == Json::Type::JSON_NULL) {
|
953
|
-
// priority was mentioned as a policy in the deprecated
|
954
|
-
// loadBalancingPolicy field or in the client API.
|
955
992
|
return absl::InvalidArgumentError(
|
956
|
-
"field:loadBalancingPolicy error:
|
957
|
-
"configuration. Please use loadBalancingConfig field of
|
958
|
-
"config instead.");
|
993
|
+
"field:loadBalancingPolicy error:weighted_round_robin policy "
|
994
|
+
"requires configuration. Please use loadBalancingConfig field of "
|
995
|
+
"service config instead.");
|
959
996
|
}
|
960
997
|
return LoadRefCountedFromJson<WeightedRoundRobinConfig>(
|
961
|
-
json, JsonArgs(),
|
998
|
+
json, JsonArgs(),
|
999
|
+
"errors validating weighted_round_robin LB policy config");
|
962
1000
|
}
|
963
1001
|
};
|
964
1002
|
|
@@ -26,6 +26,7 @@
|
|
26
26
|
#include <utility>
|
27
27
|
#include <vector>
|
28
28
|
|
29
|
+
#include "absl/base/thread_annotations.h"
|
29
30
|
#include "absl/random/random.h"
|
30
31
|
#include "absl/status/status.h"
|
31
32
|
#include "absl/status/statusor.h"
|
@@ -46,6 +47,7 @@
|
|
46
47
|
#include "src/core/lib/gprpp/debug_location.h"
|
47
48
|
#include "src/core/lib/gprpp/orphanable.h"
|
48
49
|
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
50
|
+
#include "src/core/lib/gprpp/sync.h"
|
49
51
|
#include "src/core/lib/gprpp/time.h"
|
50
52
|
#include "src/core/lib/gprpp/validation_errors.h"
|
51
53
|
#include "src/core/lib/gprpp/work_serializer.h"
|
@@ -138,7 +140,11 @@ class WeightedTargetLb : public LoadBalancingPolicy {
|
|
138
140
|
|
139
141
|
private:
|
140
142
|
PickerList pickers_;
|
141
|
-
|
143
|
+
|
144
|
+
// TODO(roth): Consider using a separate thread-local BitGen for each CPU
|
145
|
+
// to avoid the need for this mutex.
|
146
|
+
Mutex mu_;
|
147
|
+
absl::BitGen bit_gen_ ABSL_GUARDED_BY(&mu_);
|
142
148
|
};
|
143
149
|
|
144
150
|
// Each WeightedChild holds a ref to its parent WeightedTargetLb.
|
@@ -247,8 +253,10 @@ class WeightedTargetLb : public LoadBalancingPolicy {
|
|
247
253
|
WeightedTargetLb::PickResult WeightedTargetLb::WeightedPicker::Pick(
|
248
254
|
PickArgs args) {
|
249
255
|
// Generate a random number in [0, total weight).
|
250
|
-
const uint64_t key =
|
251
|
-
|
256
|
+
const uint64_t key = [&]() {
|
257
|
+
MutexLock lock(&mu_);
|
258
|
+
return absl::Uniform<uint64_t>(bit_gen_, 0, pickers_.back().first);
|
259
|
+
}();
|
252
260
|
// Find the index in pickers_ corresponding to key.
|
253
261
|
size_t mid = 0;
|
254
262
|
size_t start_index = 0;
|
@@ -38,6 +38,7 @@
|
|
38
38
|
#include <grpc/impl/connectivity_state.h>
|
39
39
|
#include <grpc/support/log.h>
|
40
40
|
|
41
|
+
#include "src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h"
|
41
42
|
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
|
42
43
|
#include "src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h"
|
43
44
|
#include "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h"
|
@@ -332,7 +333,13 @@ class XdsClusterImplLb::Picker::SubchannelCallTracker
|
|
332
333
|
}
|
333
334
|
// Record call completion for load reporting.
|
334
335
|
if (locality_stats_ != nullptr) {
|
335
|
-
|
336
|
+
auto* backend_metric_data =
|
337
|
+
args.backend_metric_accessor->GetBackendMetricData();
|
338
|
+
const std::map<absl::string_view, double>* named_metrics = nullptr;
|
339
|
+
if (backend_metric_data != nullptr) {
|
340
|
+
named_metrics = &backend_metric_data->named_metrics;
|
341
|
+
}
|
342
|
+
locality_stats_->AddCallFinished(named_metrics, !args.status.ok());
|
336
343
|
}
|
337
344
|
// Decrement number of calls in flight.
|
338
345
|
call_counter_->Decrement();
|
@@ -37,7 +37,7 @@
|
|
37
37
|
#include <grpc/impl/connectivity_state.h>
|
38
38
|
#include <grpc/support/log.h>
|
39
39
|
|
40
|
-
#include "src/core/ext/filters/client_channel/
|
40
|
+
#include "src/core/ext/filters/client_channel/client_channel_internal.h"
|
41
41
|
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
|
42
42
|
#include "src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h"
|
43
43
|
#include "src/core/lib/channel/channel_args.h"
|
@@ -229,8 +229,7 @@ class XdsClusterManagerLb : public LoadBalancingPolicy {
|
|
229
229
|
|
230
230
|
XdsClusterManagerLb::PickResult XdsClusterManagerLb::ClusterPicker::Pick(
|
231
231
|
PickArgs args) {
|
232
|
-
auto* call_state = static_cast<
|
233
|
-
args.call_state);
|
232
|
+
auto* call_state = static_cast<ClientChannelLbCallState*>(args.call_state);
|
234
233
|
auto cluster_name =
|
235
234
|
call_state->GetCallAttribute(XdsClusterAttributeTypeName());
|
236
235
|
auto it = cluster_map_.find(std::string(cluster_name));
|
@@ -328,7 +327,6 @@ void XdsClusterManagerLb::UpdateStateLocked() {
|
|
328
327
|
size_t num_ready = 0;
|
329
328
|
size_t num_connecting = 0;
|
330
329
|
size_t num_idle = 0;
|
331
|
-
size_t num_transient_failures = 0;
|
332
330
|
for (const auto& p : children_) {
|
333
331
|
const auto& child_name = p.first;
|
334
332
|
const ClusterChild* child = p.second.get();
|
@@ -351,7 +349,6 @@ void XdsClusterManagerLb::UpdateStateLocked() {
|
|
351
349
|
break;
|
352
350
|
}
|
353
351
|
case GRPC_CHANNEL_TRANSIENT_FAILURE: {
|
354
|
-
++num_transient_failures;
|
355
352
|
break;
|
356
353
|
}
|
357
354
|
default:
|
@@ -43,7 +43,7 @@
|
|
43
43
|
#include <grpc/impl/connectivity_state.h>
|
44
44
|
#include <grpc/support/log.h>
|
45
45
|
|
46
|
-
#include "src/core/ext/filters/client_channel/
|
46
|
+
#include "src/core/ext/filters/client_channel/client_channel_internal.h"
|
47
47
|
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
|
48
48
|
#include "src/core/ext/filters/stateful_session/stateful_session_filter.h"
|
49
49
|
#include "src/core/ext/xds/xds_health_status.h"
|
@@ -369,7 +369,7 @@ XdsOverrideHostLb::Picker::PickOverridenHost(absl::string_view override_host) {
|
|
369
369
|
|
370
370
|
LoadBalancingPolicy::PickResult XdsOverrideHostLb::Picker::Pick(
|
371
371
|
LoadBalancingPolicy::PickArgs args) {
|
372
|
-
auto* call_state = static_cast<
|
372
|
+
auto* call_state = static_cast<ClientChannelLbCallState*>(args.call_state);
|
373
373
|
auto override_host = call_state->GetCallAttribute(XdsOverrideHostTypeName());
|
374
374
|
auto overridden_host_pick = PickOverridenHost(override_host);
|
375
375
|
if (overridden_host_pick.has_value()) {
|
@@ -30,10 +30,12 @@
|
|
30
30
|
#include "absl/base/thread_annotations.h"
|
31
31
|
#include "absl/status/status.h"
|
32
32
|
#include "absl/status/statusor.h"
|
33
|
+
#include "absl/strings/match.h"
|
33
34
|
#include "absl/strings/string_view.h"
|
34
35
|
#include "absl/strings/strip.h"
|
35
36
|
#include "absl/types/optional.h"
|
36
37
|
|
38
|
+
#include <grpc/event_engine/event_engine.h>
|
37
39
|
#include <grpc/grpc.h>
|
38
40
|
#include <grpc/support/alloc.h>
|
39
41
|
#include <grpc/support/log.h>
|
@@ -41,8 +43,6 @@
|
|
41
43
|
#include "src/core/lib/config/core_configuration.h"
|
42
44
|
#include "src/core/lib/debug/trace.h"
|
43
45
|
#include "src/core/lib/gprpp/debug_location.h"
|
44
|
-
#include "src/core/lib/gprpp/global_config_generic.h"
|
45
|
-
#include "src/core/lib/gprpp/memory.h"
|
46
46
|
#include "src/core/lib/gprpp/orphanable.h"
|
47
47
|
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
48
48
|
#include "src/core/lib/gprpp/status_helper.h"
|
@@ -61,7 +61,6 @@
|
|
61
61
|
#if GRPC_ARES == 1
|
62
62
|
|
63
63
|
#include <stdio.h>
|
64
|
-
#include <string.h>
|
65
64
|
|
66
65
|
#include <address_sorting/address_sorting.h>
|
67
66
|
|
@@ -70,12 +69,11 @@
|
|
70
69
|
|
71
70
|
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h"
|
72
71
|
#include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h"
|
73
|
-
#include "src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h"
|
74
72
|
#include "src/core/ext/filters/client_channel/resolver/polling_resolver.h"
|
75
73
|
#include "src/core/lib/backoff/backoff.h"
|
76
74
|
#include "src/core/lib/channel/channel_args.h"
|
75
|
+
#include "src/core/lib/config/config_vars.h"
|
77
76
|
#include "src/core/lib/event_engine/handle_containers.h"
|
78
|
-
#include "src/core/lib/gpr/string.h"
|
79
77
|
#include "src/core/lib/iomgr/gethostname.h"
|
80
78
|
#include "src/core/lib/iomgr/resolve_address.h"
|
81
79
|
#include "src/core/lib/json/json.h"
|
@@ -95,7 +93,7 @@ namespace {
|
|
95
93
|
class AresClientChannelDNSResolver : public PollingResolver {
|
96
94
|
public:
|
97
95
|
AresClientChannelDNSResolver(ResolverArgs args,
|
98
|
-
|
96
|
+
Duration min_time_between_resolutions);
|
99
97
|
|
100
98
|
OrphanablePtr<Orphanable> StartRequest() override;
|
101
99
|
|
@@ -205,29 +203,26 @@ class AresClientChannelDNSResolver : public PollingResolver {
|
|
205
203
|
};
|
206
204
|
|
207
205
|
AresClientChannelDNSResolver::AresClientChannelDNSResolver(
|
208
|
-
ResolverArgs args,
|
209
|
-
: PollingResolver(
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
GRPC_DNS_INITIAL_CONNECT_BACKOFF_SECONDS * 1000))
|
219
|
-
.set_multiplier(GRPC_DNS_RECONNECT_BACKOFF_MULTIPLIER)
|
220
|
-
.set_jitter(GRPC_DNS_RECONNECT_JITTER)
|
221
|
-
.set_max_backoff(Duration::Milliseconds(
|
222
|
-
GRPC_DNS_RECONNECT_MAX_BACKOFF_SECONDS * 1000)),
|
223
|
-
&grpc_trace_cares_resolver),
|
206
|
+
ResolverArgs args, Duration min_time_between_resolutions)
|
207
|
+
: PollingResolver(std::move(args), min_time_between_resolutions,
|
208
|
+
BackOff::Options()
|
209
|
+
.set_initial_backoff(Duration::Milliseconds(
|
210
|
+
GRPC_DNS_INITIAL_CONNECT_BACKOFF_SECONDS * 1000))
|
211
|
+
.set_multiplier(GRPC_DNS_RECONNECT_BACKOFF_MULTIPLIER)
|
212
|
+
.set_jitter(GRPC_DNS_RECONNECT_JITTER)
|
213
|
+
.set_max_backoff(Duration::Milliseconds(
|
214
|
+
GRPC_DNS_RECONNECT_MAX_BACKOFF_SECONDS * 1000)),
|
215
|
+
&grpc_trace_cares_resolver),
|
224
216
|
request_service_config_(
|
225
|
-
!channel_args
|
217
|
+
!channel_args()
|
218
|
+
.GetBool(GRPC_ARG_SERVICE_CONFIG_DISABLE_RESOLUTION)
|
226
219
|
.value_or(true)),
|
227
|
-
enable_srv_queries_(channel_args
|
220
|
+
enable_srv_queries_(channel_args()
|
221
|
+
.GetBool(GRPC_ARG_DNS_ENABLE_SRV_QUERIES)
|
228
222
|
.value_or(false)),
|
229
223
|
query_timeout_ms_(
|
230
|
-
std::max(0, channel_args
|
224
|
+
std::max(0, channel_args()
|
225
|
+
.GetInt(GRPC_ARG_DNS_ARES_QUERY_TIMEOUT_MS)
|
231
226
|
.value_or(GRPC_DNS_ARES_DEFAULT_QUERY_TIMEOUT_MS))) {}
|
232
227
|
|
233
228
|
AresClientChannelDNSResolver::~AresClientChannelDNSResolver() {
|
@@ -460,9 +455,13 @@ class AresClientChannelDNSResolverFactory : public ResolverFactory {
|
|
460
455
|
}
|
461
456
|
|
462
457
|
OrphanablePtr<Resolver> CreateResolver(ResolverArgs args) const override {
|
463
|
-
|
464
|
-
|
465
|
-
|
458
|
+
Duration min_time_between_resolutions = std::max(
|
459
|
+
Duration::Zero(), args.args
|
460
|
+
.GetDurationFromIntMillis(
|
461
|
+
GRPC_ARG_DNS_MIN_TIME_BETWEEN_RESOLUTIONS_MS)
|
462
|
+
.value_or(Duration::Seconds(30)));
|
463
|
+
return MakeOrphanable<AresClientChannelDNSResolver>(
|
464
|
+
std::move(args), min_time_between_resolutions);
|
466
465
|
}
|
467
466
|
};
|
468
467
|
|
@@ -810,19 +809,12 @@ class AresDNSResolver : public DNSResolver {
|
|
810
809
|
intptr_t aba_token_ ABSL_GUARDED_BY(mu_) = 0;
|
811
810
|
};
|
812
811
|
|
813
|
-
bool ShouldUseAres(
|
814
|
-
return resolver_env
|
815
|
-
gpr_stricmp(resolver_env, "ares") == 0;
|
812
|
+
bool ShouldUseAres(absl::string_view resolver_env) {
|
813
|
+
return resolver_env.empty() || absl::EqualsIgnoreCase(resolver_env, "ares");
|
816
814
|
}
|
817
815
|
|
818
816
|
bool UseAresDnsResolver() {
|
819
|
-
|
820
|
-
UniquePtr<char> resolver = GPR_GLOBAL_CONFIG_GET(grpc_dns_resolver);
|
821
|
-
bool result = ShouldUseAres(resolver.get());
|
822
|
-
if (result) gpr_log(GPR_DEBUG, "Using ares dns resolver");
|
823
|
-
return result;
|
824
|
-
}();
|
825
|
-
return result;
|
817
|
+
return ShouldUseAres(ConfigVars::Get().DnsResolver());
|
826
818
|
}
|
827
819
|
|
828
820
|
} // namespace
|
@@ -252,7 +252,7 @@ class GrpcPolledFdWindows {
|
|
252
252
|
|
253
253
|
bool IsFdStillReadableLocked() { return read_buf_has_data_; }
|
254
254
|
|
255
|
-
void ShutdownLocked(grpc_error_handle error) {
|
255
|
+
void ShutdownLocked(grpc_error_handle /* error */) {
|
256
256
|
grpc_winsocket_shutdown(winsocket_);
|
257
257
|
}
|
258
258
|
|
@@ -263,7 +263,7 @@ class GrpcPolledFdWindows {
|
|
263
263
|
const char* GetName() const { return name_.c_str(); }
|
264
264
|
|
265
265
|
ares_ssize_t RecvFrom(WSAErrorContext* wsa_error_ctx, void* data,
|
266
|
-
ares_socket_t data_len, int flags
|
266
|
+
ares_socket_t data_len, int /* flags */,
|
267
267
|
struct sockaddr* from, ares_socklen_t* from_len) {
|
268
268
|
GRPC_CARES_TRACE_LOG(
|
269
269
|
"fd:|%s| RecvFrom called read_buf_has_data:%d Current read buf "
|
@@ -301,7 +301,7 @@ class GrpcPolledFdWindows {
|
|
301
301
|
grpc_slice out = GRPC_SLICE_MALLOC(total);
|
302
302
|
size_t cur = 0;
|
303
303
|
for (int i = 0; i < iov_count; i++) {
|
304
|
-
for (
|
304
|
+
for (size_t k = 0; k < iov[i].iov_len; k++) {
|
305
305
|
GRPC_SLICE_START_PTR(out)[cur++] = ((char*)iov[i].iov_base)[k];
|
306
306
|
}
|
307
307
|
}
|
@@ -862,7 +862,7 @@ class GrpcPolledFdFactoryWindows : public GrpcPolledFdFactory {
|
|
862
862
|
explicit GrpcPolledFdFactoryWindows(Mutex* mu) : sock_to_polled_fd_map_(mu) {}
|
863
863
|
|
864
864
|
GrpcPolledFd* NewGrpcPolledFdLocked(
|
865
|
-
ares_socket_t as, grpc_pollset_set* driver_pollset_set) override {
|
865
|
+
ares_socket_t as, grpc_pollset_set* /* driver_pollset_set */) override {
|
866
866
|
GrpcPolledFdWindows* polled_fd = sock_to_polled_fd_map_.LookupPolledFd(as);
|
867
867
|
// Set a flag so that the virtual socket "close" method knows it
|
868
868
|
// doesn't need to call ShutdownLocked, since now the driver will.
|