grpc 1.72.0 → 1.73.0
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 +23 -6
- data/include/grpc/event_engine/event_engine.h +125 -8
- data/include/grpc/event_engine/internal/write_event.h +34 -0
- data/include/grpc/impl/channel_arg_names.h +17 -9
- data/include/grpc/impl/compression_types.h +3 -2
- data/include/grpc/impl/slice_type.h +1 -1
- data/include/grpc/support/json.h +3 -21
- data/include/grpc/support/port_platform.h +8 -5
- data/src/core/call/call_filters.h +28 -19
- data/src/core/call/call_spine.h +2 -0
- data/src/core/call/metadata.h +17 -0
- data/src/core/channelz/channel_trace.cc +50 -42
- data/src/core/channelz/channel_trace.h +35 -4
- data/src/core/channelz/channelz.cc +338 -125
- data/src/core/channelz/channelz.h +276 -34
- data/src/core/channelz/channelz_registry.cc +322 -117
- data/src/core/channelz/channelz_registry.h +179 -21
- data/src/core/channelz/ztrace_collector.h +315 -0
- data/src/core/client_channel/client_channel.cc +30 -29
- data/src/core/client_channel/client_channel_filter.cc +21 -20
- data/src/core/client_channel/client_channel_filter.h +0 -2
- data/src/core/client_channel/connector.h +0 -3
- data/src/core/client_channel/global_subchannel_pool.cc +68 -7
- data/src/core/client_channel/global_subchannel_pool.h +37 -4
- data/src/core/client_channel/subchannel.cc +7 -9
- data/src/core/client_channel/subchannel.h +2 -8
- data/src/core/client_channel/subchannel_pool_interface.cc +5 -6
- data/src/core/client_channel/subchannel_pool_interface.h +11 -1
- data/src/core/config/config_vars.cc +11 -1
- data/src/core/config/config_vars.h +8 -0
- data/src/core/config/core_configuration.cc +50 -11
- data/src/core/config/core_configuration.h +89 -7
- data/src/core/credentials/call/external/aws_request_signer.cc +3 -2
- data/src/core/credentials/call/external/url_external_account_credentials.cc +2 -2
- data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +1 -1
- data/src/core/credentials/call/jwt/jwt_verifier.cc +4 -4
- data/src/core/credentials/call/oauth2/oauth2_credentials.cc +4 -2
- data/src/core/credentials/transport/alts/alts_security_connector.cc +9 -8
- data/src/core/credentials/transport/google_default/google_default_credentials.cc +3 -3
- data/src/core/credentials/transport/ssl/ssl_credentials.cc +2 -2
- data/src/core/credentials/transport/ssl/ssl_security_connector.cc +41 -11
- data/src/core/credentials/transport/ssl/ssl_security_connector.h +2 -1
- data/src/core/credentials/transport/tls/ssl_utils.cc +18 -0
- data/src/core/credentials/transport/tls/ssl_utils.h +5 -0
- data/src/core/credentials/transport/tls/tls_security_connector.cc +2 -1
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +6 -3
- data/src/core/ext/filters/http/message_compress/compression_filter.h +34 -4
- data/src/core/ext/filters/http/server/http_server_filter.cc +1 -1
- data/src/core/ext/filters/http/server/http_server_filter.h +14 -3
- data/src/core/ext/transport/chttp2/chttp2_plugin.cc +40 -0
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +11 -112
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +3 -0
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +33 -962
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +5 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +129 -47
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +0 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +18 -0
- data/src/core/ext/transport/chttp2/transport/frame.cc +213 -105
- data/src/core/ext/transport/chttp2/transport/frame.h +78 -6
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +10 -0
- data/src/core/ext/transport/chttp2/transport/frame_data.h +2 -0
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +15 -3
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +5 -3
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +11 -4
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +3 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +19 -1
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +7 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +26 -0
- data/src/core/ext/transport/chttp2/transport/http2_status.h +358 -1
- data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +252 -0
- data/src/core/ext/transport/chttp2/transport/internal.h +29 -5
- data/src/core/ext/transport/chttp2/transport/internal_channel_arg_names.h +24 -0
- data/src/core/ext/transport/chttp2/transport/parsing.cc +36 -21
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +10 -9
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +6 -0
- data/src/core/ext/transport/chttp2/transport/writing.cc +60 -49
- data/src/core/ext/transport/inproc/inproc_transport.cc +7 -2
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +6 -2
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +12 -0
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +12 -22
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +12 -22
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +28 -22
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +12 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +24 -67
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +29 -31
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +12 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +8 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +0 -23
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +8 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +8 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +12 -0
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +20 -0
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +12 -0
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +8 -22
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +0 -23
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +64 -66
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +12 -0
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +4 -95
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +8 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +28 -0
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +12 -0
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +8 -0
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +8 -36
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +8 -0
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +8 -0
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +4 -0
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +4 -0
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +8 -44
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +12 -40
- data/src/core/ext/upb-gen/google/api/http.upb.h +4 -0
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +193 -20
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +59 -21
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +4 -0
- data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +4 -22
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +0 -18
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +113 -53
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +20 -14
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +154 -0
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +40 -2
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +4 -0
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +8 -0
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +0 -18
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +0 -36
- data/src/core/ext/upb-gen/validate/validate.upb.h +12 -0
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +4 -0
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +0 -18
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +8 -0
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +0 -54
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +20 -22
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +4 -0
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +4 -0
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +4 -0
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +123 -62
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +200 -101
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +152 -77
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +524 -255
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +44 -23
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +66 -34
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +54 -28
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +46 -25
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +47 -25
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +256 -126
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +50 -28
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +55 -28
- data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +34 -18
- data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +414 -206
- data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +831 -413
- data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +143 -73
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +1132 -557
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +63 -34
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +255 -127
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +363 -178
- data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +227 -114
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +57 -31
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +596 -295
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +271 -137
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +56 -30
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +45 -25
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +59 -31
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +438 -217
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +441 -221
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +55 -30
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +57 -31
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +619 -303
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +70 -36
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +62 -33
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +47 -25
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +97 -49
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +97 -51
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +51 -27
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +147 -76
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +230 -116
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +277 -138
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +48 -26
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +388 -197
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +304 -153
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +173 -90
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +90 -47
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +98 -51
- data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +196 -99
- data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +237 -118
- data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +418 -210
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +194 -99
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +2003 -973
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +101 -53
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +352 -176
- data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +79 -42
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +67 -37
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +63 -34
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +88 -47
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +80 -43
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +53 -29
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +86 -46
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +55 -32
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +91 -49
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +105 -55
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +775 -379
- data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +52 -28
- data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +134 -68
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +189 -96
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +116 -61
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +112 -58
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +160 -82
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +75 -39
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +1161 -570
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +52 -28
- data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +55 -29
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +48 -26
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +390 -194
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +126 -65
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +498 -246
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +74 -38
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +221 -110
- data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +68 -36
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +378 -187
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +100 -52
- data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +257 -129
- data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +44 -24
- data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +68 -35
- data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +38 -20
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +59 -32
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +65 -34
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +72 -38
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +57 -31
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +52 -29
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +51 -28
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +89 -47
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +37 -20
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +89 -47
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +67 -35
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +112 -58
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +110 -56
- data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +123 -62
- data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +59 -31
- data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +30 -16
- data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +143 -72
- data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +61 -32
- data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +51 -27
- data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +85 -45
- data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +35 -19
- data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +44 -23
- data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +61 -33
- data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +35 -19
- data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +272 -133
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +315 -154
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +64 -33
- data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +35 -19
- data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +26 -15
- data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +1106 -508
- data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +10 -1
- data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +28 -16
- data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +23 -13
- data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +69 -35
- data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +29 -16
- data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +51 -26
- data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +32 -17
- data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +161 -79
- data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +84 -42
- data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +48 -26
- data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +26 -14
- data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +50 -26
- data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +36 -19
- data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +538 -261
- data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +86 -43
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +49 -26
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +27 -15
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +87 -44
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +37 -20
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +30 -17
- data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +41 -23
- data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +62 -33
- data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +36 -19
- data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +36 -20
- data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +42 -23
- data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +76 -39
- data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +45 -24
- data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +41 -23
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +53 -29
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +29 -16
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +58 -32
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +207 -103
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +95 -49
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +38 -20
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +60 -31
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +67 -36
- data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +31 -17
- data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +5 -1
- data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +31 -17
- data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +5 -1
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +7 -22
- data/src/core/handshaker/security/legacy_secure_endpoint.cc +596 -0
- data/src/core/handshaker/security/secure_endpoint.cc +769 -312
- data/src/core/handshaker/security/secure_endpoint.h +17 -0
- data/src/core/handshaker/security/security_handshaker.cc +3 -3
- data/src/core/lib/address_utils/sockaddr_utils.cc +5 -5
- data/src/core/lib/channel/channel_args.h +4 -0
- data/src/core/lib/channel/channel_stack.cc +29 -0
- data/src/core/lib/channel/channel_stack.h +9 -0
- data/src/core/lib/channel/promise_based_filter.h +707 -299
- data/src/core/lib/debug/trace_flags.cc +2 -2
- data/src/core/lib/debug/trace_flags.h +1 -1
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +6 -2
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +4 -4
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +14 -6
- data/src/core/lib/event_engine/default_event_engine_factory.cc +1 -1
- data/src/core/lib/event_engine/extensions/blocking_dns.h +46 -0
- data/src/core/lib/event_engine/extensions/channelz.h +62 -0
- data/src/core/lib/event_engine/extensions/tcp_trace.h +2 -2
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +4 -7
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +3 -0
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +6 -7
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +28 -22
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +22 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +15 -15
- data/src/core/lib/event_engine/query_extensions.h +10 -21
- data/src/core/lib/event_engine/tcp_socket_utils.cc +10 -9
- data/src/core/lib/event_engine/utils.cc +34 -0
- data/src/core/lib/event_engine/utils.h +3 -0
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +2 -2
- data/src/core/lib/event_engine/windows/windows_endpoint.h +9 -2
- data/src/core/lib/experiments/experiments.cc +198 -51
- data/src/core/lib/experiments/experiments.h +78 -35
- data/src/core/lib/iomgr/combiner.cc +3 -2
- data/src/core/lib/iomgr/ev_poll_posix.cc +4 -0
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +11 -8
- data/src/core/lib/iomgr/fork_posix.cc +0 -7
- data/src/core/lib/iomgr/iomgr.cc +0 -3
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +3 -0
- data/src/core/lib/iomgr/resolve_address_posix.cc +37 -47
- data/src/core/lib/iomgr/resolve_address_posix.h +15 -0
- data/src/core/lib/iomgr/resolve_address_windows.cc +22 -45
- data/src/core/lib/iomgr/resolve_address_windows.h +15 -2
- data/src/core/lib/iomgr/tcp_client_posix.cc +14 -6
- data/src/core/lib/iomgr/tcp_posix.cc +14 -12
- data/src/core/lib/iomgr/tcp_server_windows.cc +14 -2
- data/src/core/lib/promise/detail/promise_like.h +24 -0
- data/src/core/lib/promise/detail/seq_state.h +741 -0
- data/src/core/lib/promise/map.h +22 -5
- data/src/core/lib/promise/promise.h +2 -0
- data/src/core/lib/promise/seq.h +2 -0
- data/src/core/lib/promise/sleep.cc +6 -3
- data/src/core/lib/promise/try_seq.h +2 -0
- data/src/core/lib/resource_quota/memory_quota.cc +9 -0
- data/src/core/lib/resource_quota/memory_quota.h +1 -3
- data/src/core/lib/slice/slice_buffer.h +6 -0
- data/src/core/lib/surface/call.cc +4 -0
- data/src/core/lib/surface/channel_create.cc +61 -1
- data/src/core/lib/surface/init.cc +2 -2
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/status_conversion.cc +7 -34
- data/src/core/lib/transport/transport.cc +2 -2
- data/src/core/lib/transport/transport.h +3 -0
- data/src/core/load_balancing/backend_metric_parser.cc +12 -18
- data/src/core/load_balancing/grpclb/grpclb.cc +2 -2
- data/src/core/load_balancing/health_check_client.cc +2 -4
- data/src/core/load_balancing/oob_backend_metric.cc +2 -4
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +4 -3
- data/src/core/load_balancing/pick_first/pick_first.cc +3 -3
- data/src/core/load_balancing/rls/rls.cc +6 -5
- data/src/core/load_balancing/round_robin/round_robin.cc +2 -3
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +4 -4
- data/src/core/load_balancing/weighted_target/weighted_target.cc +3 -9
- data/src/core/load_balancing/xds/xds_override_host.cc +55 -34
- data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -0
- data/src/core/resolver/sockaddr/sockaddr_resolver.cc +2 -1
- data/src/core/resolver/xds/xds_resolver.cc +2 -1
- data/src/core/server/add_port.cc +87 -0
- data/src/core/server/server.cc +48 -53
- data/src/core/server/server.h +3 -5
- data/src/core/telemetry/call_tracer.cc +2 -2
- data/src/core/telemetry/call_tracer.h +1 -1
- data/src/core/{ext/transport/chttp2/transport → telemetry}/context_list_entry.h +3 -3
- data/src/core/telemetry/default_tcp_tracer.cc +26 -0
- data/src/core/telemetry/default_tcp_tracer.h +44 -0
- data/src/core/telemetry/stats.h +0 -5
- data/src/core/telemetry/stats_data.cc +376 -334
- data/src/core/telemetry/stats_data.h +260 -166
- data/src/core/telemetry/tcp_tracer.cc +38 -0
- data/src/core/telemetry/tcp_tracer.h +14 -16
- data/src/core/transport/auth_context.cc +0 -1
- data/src/core/transport/auth_context.h +0 -1
- data/src/core/transport/endpoint_transport.h +90 -0
- data/src/core/transport/endpoint_transport_client_channel_factory.cc +61 -0
- data/src/core/transport/endpoint_transport_client_channel_factory.h +57 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +33 -1
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +3 -1
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +76 -22
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +8 -2
- data/src/core/tsi/ssl_transport_security.cc +189 -71
- data/src/core/tsi/ssl_transport_security.h +6 -1
- data/src/core/tsi/transport_security.h +3 -0
- data/src/core/tsi/transport_security_grpc.h +7 -3
- data/src/core/tsi/transport_security_interface.h +30 -25
- data/src/core/util/backoff.cc +7 -14
- data/src/core/util/backoff.h +0 -1
- data/src/core/util/dual_ref_counted.h +48 -0
- data/src/core/util/function_signature.h +66 -0
- data/src/core/util/gcp_metadata_query.cc +3 -2
- data/src/core/util/http_client/httpcli_security_connector.cc +2 -1
- data/src/core/util/json/json_object_loader.h +3 -3
- data/src/core/util/latent_see.cc +28 -2
- data/src/core/util/latent_see.h +11 -23
- data/src/core/util/linux/env.cc +3 -1
- data/src/core/util/ref_counted_ptr.h +26 -0
- data/src/core/util/shared_bit_gen.cc +21 -0
- data/src/core/util/shared_bit_gen.h +44 -0
- data/src/core/util/single_set_ptr.h +35 -4
- data/src/core/util/uri.cc +75 -17
- data/src/core/util/uri.h +13 -8
- data/src/core/xds/grpc/xds_common_types_parser.cc +1 -9
- data/src/core/xds/grpc/xds_http_filter_registry.cc +1 -3
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +10 -17
- data/src/core/xds/grpc/xds_metadata_parser.cc +40 -64
- data/src/core/xds/grpc/xds_metadata_parser.h +0 -2
- data/src/core/xds/grpc/xds_route_config_parser.cc +55 -77
- data/src/core/xds/xds_client/xds_client.cc +1 -1
- data/src/ruby/ext/grpc/extconf.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/generic/client_stub_spec.rb +2 -6
- data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
- data/third_party/abseil-cpp/absl/algorithm/algorithm.h +2 -2
- data/third_party/abseil-cpp/absl/algorithm/container.h +79 -48
- data/third_party/abseil-cpp/absl/base/attributes.h +66 -16
- data/third_party/abseil-cpp/absl/base/call_once.h +8 -5
- data/third_party/abseil-cpp/absl/base/config.h +4 -4
- data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +17 -56
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +1 -1
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +14 -0
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +5 -1
- data/third_party/abseil-cpp/absl/base/internal/tracing.cc +39 -0
- data/third_party/abseil-cpp/absl/base/internal/tracing.h +81 -0
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -10
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +12 -0
- data/third_party/abseil-cpp/absl/base/macros.h +35 -4
- data/third_party/abseil-cpp/absl/base/nullability.h +72 -16
- data/third_party/abseil-cpp/absl/base/optimization.h +8 -12
- data/third_party/abseil-cpp/absl/base/options.h +5 -2
- data/third_party/abseil-cpp/absl/base/policy_checks.h +2 -0
- data/third_party/abseil-cpp/absl/container/btree_map.h +889 -0
- data/third_party/abseil-cpp/absl/container/btree_set.h +824 -0
- data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -1
- data/third_party/abseil-cpp/absl/container/flat_hash_map.h +17 -3
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +17 -3
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +2 -1
- data/third_party/abseil-cpp/absl/container/internal/btree.h +3046 -0
- data/third_party/abseil-cpp/absl/container/internal/btree_container.h +763 -0
- data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +9 -0
- data/third_party/abseil-cpp/absl/container/internal/container_memory.h +1 -0
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +4 -2
- data/third_party/abseil-cpp/absl/container/internal/layout.h +1 -1
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +142 -114
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +397 -231
- data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +56 -0
- data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +21 -7
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +4 -2
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +1 -1
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +17 -1
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +7 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +9 -6
- data/third_party/abseil-cpp/absl/debugging/leak_check.cc +73 -0
- data/third_party/abseil-cpp/absl/debugging/leak_check.h +150 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize.cc +3 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +48 -9
- data/third_party/abseil-cpp/absl/flags/commandlineflag.cc +1 -0
- data/third_party/abseil-cpp/absl/flags/commandlineflag.h +7 -0
- data/third_party/abseil-cpp/absl/flags/flag.h +14 -12
- data/third_party/abseil-cpp/absl/flags/internal/flag.cc +12 -4
- data/third_party/abseil-cpp/absl/flags/internal/flag.h +16 -5
- data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +4 -0
- data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +3 -0
- data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +13 -12
- data/third_party/abseil-cpp/absl/flags/usage_config.cc +9 -4
- data/third_party/abseil-cpp/absl/hash/hash.h +26 -2
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +17 -17
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +196 -91
- data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +2 -4
- data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +2 -0
- data/third_party/abseil-cpp/absl/log/internal/check_op.cc +27 -22
- data/third_party/abseil-cpp/absl/log/internal/check_op.h +102 -80
- data/third_party/abseil-cpp/absl/log/internal/log_message.cc +90 -38
- data/third_party/abseil-cpp/absl/log/internal/log_message.h +80 -48
- data/third_party/abseil-cpp/absl/log/internal/proto.cc +0 -3
- data/third_party/abseil-cpp/absl/log/internal/proto.h +25 -15
- data/third_party/abseil-cpp/absl/log/internal/structured_proto.cc +115 -0
- data/third_party/abseil-cpp/absl/log/internal/structured_proto.h +107 -0
- data/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +8 -1
- data/third_party/abseil-cpp/absl/log/log_sink_registry.h +5 -2
- data/third_party/abseil-cpp/absl/log/vlog_is_on.h +2 -0
- data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -6
- data/third_party/abseil-cpp/absl/numeric/int128.h +15 -3
- data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +6 -4
- data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +6 -3
- data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +3 -1
- data/third_party/abseil-cpp/absl/random/beta_distribution.h +3 -1
- data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +2 -1
- data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +10 -0
- data/third_party/abseil-cpp/absl/random/discrete_distribution.h +4 -2
- data/third_party/abseil-cpp/absl/random/exponential_distribution.h +1 -0
- data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +2 -1
- data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +3 -1
- data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +5 -2
- data/third_party/abseil-cpp/absl/random/internal/platform.h +12 -12
- data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +56 -5
- data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +2 -1
- data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +2 -2
- data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +0 -1
- data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +1 -4
- data/third_party/abseil-cpp/absl/random/poisson_distribution.h +4 -3
- data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +2 -3
- data/third_party/abseil-cpp/absl/random/seed_sequences.h +1 -2
- data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +2 -1
- data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +2 -0
- data/third_party/abseil-cpp/absl/random/zipf_distribution.h +5 -4
- data/third_party/abseil-cpp/absl/status/internal/status_internal.cc +8 -4
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +1 -1
- data/third_party/abseil-cpp/absl/status/status.h +1 -1
- data/third_party/abseil-cpp/absl/strings/ascii.cc +41 -26
- data/third_party/abseil-cpp/absl/strings/ascii.h +48 -8
- data/third_party/abseil-cpp/absl/strings/charconv.cc +4 -7
- data/third_party/abseil-cpp/absl/strings/charset.h +3 -4
- data/third_party/abseil-cpp/absl/strings/cord.h +5 -19
- data/third_party/abseil-cpp/absl/strings/escaping.cc +56 -48
- data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +48 -15
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +3 -2
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +35 -0
- data/third_party/abseil-cpp/absl/strings/match.h +21 -11
- data/third_party/abseil-cpp/absl/strings/numbers.cc +2 -1
- data/third_party/abseil-cpp/absl/strings/str_cat.h +11 -0
- data/third_party/abseil-cpp/absl/strings/str_split.h +18 -1
- data/third_party/abseil-cpp/absl/strings/string_view.h +20 -19
- data/third_party/abseil-cpp/absl/strings/strip.h +11 -8
- data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +16 -10
- data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +6 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +5 -1
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +38 -12
- data/third_party/abseil-cpp/absl/synchronization/notification.cc +10 -2
- data/third_party/abseil-cpp/absl/synchronization/notification.h +11 -1
- data/third_party/abseil-cpp/absl/time/duration.cc +6 -51
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +3 -3
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +2 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +2 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +3 -3
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +2 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +3 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +6 -4
- data/third_party/abseil-cpp/absl/time/time.h +84 -23
- data/third_party/abseil-cpp/absl/types/internal/span.h +3 -2
- data/third_party/abseil-cpp/absl/types/optional.h +4 -2
- data/third_party/abseil-cpp/absl/types/span.h +85 -43
- data/third_party/boringssl-with-bazel/src/crypto/aes/aes.cc +41 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +16 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +15 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +19 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +79 -48
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +11 -19
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +3 -7
- data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +0 -35
- data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +3 -5
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +0 -3
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/bn/convert.cc +31 -47
- data/third_party/boringssl-with-bazel/src/crypto/bn/div.cc +100 -0
- data/third_party/boringssl-with-bazel/src/crypto/bn/exponentiation.cc +166 -0
- data/third_party/boringssl-with-bazel/src/crypto/bn/sqrt.cc +93 -0
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +14 -8
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +13 -15
- data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aeseax.cc +289 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesgcmsiv.cc +179 -102
- data/third_party/boringssl-with-bazel/src/crypto/cipher/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/cms/cms.cc +172 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +28 -5
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +11 -9
- data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +0 -6
- data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +13 -14
- data/third_party/boringssl-with-bazel/src/crypto/dh/params.cc +27 -61
- data/third_party/boringssl-with-bazel/src/crypto/digest/digest_extra.cc +16 -8
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +112 -122
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +23 -35
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/ec/ec_asn1.cc +47 -63
- data/third_party/boringssl-with-bazel/src/crypto/ec/hash_to_curve.cc +60 -68
- data/third_party/boringssl-with-bazel/src/crypto/ec/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/ecdsa/ecdsa_asn1.cc +11 -17
- data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.cc +10 -11
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +10 -11
- data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +23 -42
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +29 -18
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm.cc.inc +10 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +16 -45
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +5 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +15 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +101 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +96 -187
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +24 -512
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +58 -80
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +29 -45
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +27 -25
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +7 -16
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +27 -48
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +34 -34
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +102 -154
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +3 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +1 -78
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +10 -17
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +15 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.cc.inc +40 -53
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +57 -76
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +4 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +37 -52
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +13 -20
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +28 -39
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.cc.inc +6 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +335 -28
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +265 -33
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +19 -26
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +121 -138
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +96 -83
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +8 -20
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +235 -60
- data/third_party/boringssl-with-bazel/src/crypto/fuzzer_mode.cc +30 -0
- data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +39 -30
- data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/mem.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +2 -8
- data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +8 -13
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +22 -8
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +19 -17
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +134 -136
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +14 -8
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +25 -21
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +36 -52
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +97 -79
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/rand/deterministic.cc +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand/fork_detect.cc +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/rand/getentropy.cc +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand/{sysrand_internal.h → internal.h} +22 -4
- data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand/urandom.cc +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand/windows.cc +1 -5
- data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_crypt.cc +14 -22
- data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +3 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +8 -12
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +15 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +16 -24
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +18 -21
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +10 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +9 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +10 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +64 -85
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +16 -32
- data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +576 -567
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +16 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +6 -54
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +8 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +7 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/cast.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/cipher.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/cms.h +146 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +23 -3
- 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/des.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +19 -7
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.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.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +2 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.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/hmac.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +4 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/hrss.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/lhash.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.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/opensslconf.h +10 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +19 -6
- 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 +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +291 -40
- data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/target.h +0 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +9 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +7 -4
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +2 -0
- data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +32 -26
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +49 -49
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +253 -50
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +12 -12
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +7 -5
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +2 -1
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +24 -32
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +93 -4
- data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +6 -12
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +18 -4
- data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +83 -7
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +173 -19
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +5 -18
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +28 -15
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +31 -7
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +13 -1
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +7 -11
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +13 -11
- data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +2 -5
- data/third_party/upb/upb/hash/common.c +310 -189
- data/third_party/upb/upb/hash/common.h +44 -43
- data/third_party/upb/upb/hash/int_table.h +29 -5
- data/third_party/upb/upb/hash/str_table.h +6 -0
- data/third_party/upb/upb/mem/arena.c +180 -57
- data/third_party/upb/upb/mem/arena.h +10 -0
- data/third_party/upb/upb/mem/internal/arena.h +62 -24
- data/third_party/upb/upb/message/accessors.c +1 -5
- data/third_party/upb/upb/message/array.c +7 -6
- data/third_party/upb/upb/message/array.h +4 -4
- data/third_party/upb/upb/message/internal/accessors.h +3 -3
- data/third_party/upb/upb/message/internal/extension.c +0 -12
- data/third_party/upb/upb/message/internal/extension.h +0 -4
- data/third_party/upb/upb/message/internal/iterator.h +3 -3
- data/third_party/upb/upb/message/internal/map.h +75 -20
- data/third_party/upb/upb/message/internal/map_sorter.h +10 -2
- data/third_party/upb/upb/message/internal/message.h +53 -5
- data/third_party/upb/upb/message/map.c +68 -20
- data/third_party/upb/upb/message/map.h +8 -1
- data/third_party/upb/upb/message/map_gencode_util.h +3 -45
- data/third_party/upb/upb/message/map_sorter.c +32 -8
- data/third_party/upb/upb/message/merge.h +3 -3
- data/third_party/upb/upb/message/message.c +120 -14
- data/third_party/upb/upb/message/message.h +17 -8
- data/third_party/upb/upb/mini_descriptor/build_enum.c +15 -5
- data/third_party/upb/upb/mini_descriptor/decode.c +18 -2
- data/third_party/upb/upb/mini_descriptor/link.c +4 -0
- data/third_party/upb/upb/mini_table/extension.h +8 -1
- data/third_party/upb/upb/mini_table/extension_registry.c +1 -1
- data/third_party/upb/upb/mini_table/internal/enum.h +1 -1
- data/third_party/upb/upb/mini_table/internal/extension.h +24 -1
- data/third_party/upb/upb/mini_table/internal/field.h +4 -4
- data/third_party/upb/upb/mini_table/internal/message.h +1 -1
- data/third_party/upb/upb/port/def.inc +32 -16
- data/third_party/upb/upb/port/undef.inc +1 -0
- data/third_party/upb/upb/reflection/def_pool.h +2 -2
- data/third_party/upb/upb/reflection/descriptor_bootstrap.h +3 -3
- data/third_party/upb/upb/reflection/enum_def.c +4 -4
- data/third_party/upb/upb/reflection/enum_reserved_range.c +1 -1
- data/third_party/upb/upb/reflection/enum_value_def.c +9 -8
- data/third_party/upb/upb/reflection/extension_range.c +1 -2
- data/third_party/upb/upb/reflection/field_def.c +3 -5
- data/third_party/upb/upb/reflection/field_def.h +1 -1
- data/third_party/upb/upb/reflection/file_def.c +4 -5
- data/third_party/upb/upb/reflection/internal/def_builder.h +35 -10
- data/third_party/upb/upb/reflection/internal/enum_value_def.h +1 -1
- data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
- data/third_party/upb/upb/reflection/message_def.c +4 -7
- data/third_party/upb/upb/reflection/message_reserved_range.c +1 -1
- data/third_party/upb/upb/reflection/method_def.c +1 -1
- data/third_party/upb/upb/reflection/oneof_def.c +3 -3
- data/third_party/upb/upb/reflection/service_def.c +2 -5
- data/third_party/upb/upb/text/encode.c +16 -0
- data/third_party/upb/upb/text/internal/encode.h +2 -1
- data/third_party/upb/upb/wire/decode.c +104 -72
- data/third_party/upb/upb/wire/encode.c +37 -13
- data/third_party/upb/upb/wire/internal/decode_fast.c +2 -2
- data/third_party/upb/upb/wire/internal/decode_fast.h +4 -0
- metadata +43 -7
- data/src/core/lib/iomgr/executor.cc +0 -441
- data/src/core/lib/iomgr/executor.h +0 -119
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/polyval.cc.inc +0 -89
@@ -25,8 +25,10 @@
|
|
25
25
|
#include <map>
|
26
26
|
#include <string>
|
27
27
|
|
28
|
-
#include "absl/
|
28
|
+
#include "absl/container/btree_map.h"
|
29
|
+
#include "absl/functional/function_ref.h"
|
29
30
|
#include "src/core/channelz/channelz.h"
|
31
|
+
#include "src/core/util/json/json_writer.h"
|
30
32
|
#include "src/core/util/ref_counted_ptr.h"
|
31
33
|
#include "src/core/util/sync.h"
|
32
34
|
|
@@ -40,36 +42,134 @@ class ChannelzRegistry final {
|
|
40
42
|
static void Register(BaseNode* node) {
|
41
43
|
return Default()->InternalRegister(node);
|
42
44
|
}
|
43
|
-
static void Unregister(
|
44
|
-
|
45
|
+
static void Unregister(BaseNode* node) {
|
46
|
+
Default()->InternalUnregister(node);
|
47
|
+
}
|
48
|
+
static WeakRefCountedPtr<BaseNode> Get(intptr_t uuid) {
|
45
49
|
return Default()->InternalGet(uuid);
|
46
50
|
}
|
51
|
+
static intptr_t NumberNode(BaseNode* node) {
|
52
|
+
return Default()->InternalNumberNode(node);
|
53
|
+
}
|
54
|
+
|
55
|
+
static WeakRefCountedPtr<SubchannelNode> GetSubchannel(intptr_t uuid) {
|
56
|
+
return Default()
|
57
|
+
->InternalGetTyped<SubchannelNode, BaseNode::EntityType::kSubchannel>(
|
58
|
+
uuid);
|
59
|
+
}
|
60
|
+
|
61
|
+
static WeakRefCountedPtr<ChannelNode> GetChannel(intptr_t uuid) {
|
62
|
+
auto node = Default()->InternalGet(uuid);
|
63
|
+
if (node == nullptr) return nullptr;
|
64
|
+
if (node->type() == BaseNode::EntityType::kTopLevelChannel) {
|
65
|
+
return node->WeakRefAsSubclass<ChannelNode>();
|
66
|
+
}
|
67
|
+
if (node->type() == BaseNode::EntityType::kInternalChannel) {
|
68
|
+
return node->WeakRefAsSubclass<ChannelNode>();
|
69
|
+
}
|
70
|
+
return nullptr;
|
71
|
+
}
|
72
|
+
|
73
|
+
static WeakRefCountedPtr<ServerNode> GetServer(intptr_t uuid) {
|
74
|
+
return Default()
|
75
|
+
->InternalGetTyped<ServerNode, BaseNode::EntityType::kServer>(uuid);
|
76
|
+
}
|
77
|
+
|
78
|
+
static WeakRefCountedPtr<SocketNode> GetSocket(intptr_t uuid) {
|
79
|
+
return Default()
|
80
|
+
->InternalGetTyped<SocketNode, BaseNode::EntityType::kSocket>(uuid);
|
81
|
+
}
|
47
82
|
|
48
83
|
// Returns the allocated JSON string that represents the proto
|
49
84
|
// GetTopChannelsResponse as per channelz.proto.
|
50
|
-
static
|
51
|
-
return Default()
|
85
|
+
static auto GetTopChannels(intptr_t start_channel_id) {
|
86
|
+
return Default()
|
87
|
+
->InternalGetObjects<ChannelNode,
|
88
|
+
BaseNode::EntityType::kTopLevelChannel>(
|
89
|
+
start_channel_id);
|
52
90
|
}
|
53
91
|
|
92
|
+
static std::string GetTopChannelsJson(intptr_t start_channel_id);
|
93
|
+
static std::string GetServersJson(intptr_t start_server_id);
|
94
|
+
|
54
95
|
// Returns the allocated JSON string that represents the proto
|
55
96
|
// GetServersResponse as per channelz.proto.
|
56
|
-
static
|
57
|
-
return Default()
|
97
|
+
static auto GetServers(intptr_t start_server_id) {
|
98
|
+
return Default()
|
99
|
+
->InternalGetObjects<ServerNode, BaseNode::EntityType::kServer>(
|
100
|
+
start_server_id);
|
101
|
+
}
|
102
|
+
|
103
|
+
static std::tuple<std::vector<WeakRefCountedPtr<BaseNode>>, bool>
|
104
|
+
GetChildrenOfType(intptr_t start_node, const BaseNode* parent,
|
105
|
+
BaseNode::EntityType type, size_t max_results) {
|
106
|
+
return Default()->InternalGetChildrenOfType(start_node, parent, type,
|
107
|
+
max_results);
|
58
108
|
}
|
59
109
|
|
60
110
|
// Test only helper function to dump the JSON representation to std out.
|
61
111
|
// This can aid in debugging channelz code.
|
62
112
|
static void LogAllEntities() { Default()->InternalLogAllEntities(); }
|
63
113
|
|
64
|
-
|
65
|
-
|
66
|
-
auto* p = Default();
|
67
|
-
MutexLock lock(&p->mu_);
|
68
|
-
p->node_map_.clear();
|
69
|
-
p->uuid_generator_ = 0;
|
114
|
+
static std::vector<WeakRefCountedPtr<BaseNode>> GetAllEntities() {
|
115
|
+
return Default()->InternalGetAllEntities();
|
70
116
|
}
|
71
117
|
|
118
|
+
// Test only helper function to reset to initial state.
|
119
|
+
static void TestOnlyReset();
|
120
|
+
|
72
121
|
private:
|
122
|
+
ChannelzRegistry() { LoadConfig(); }
|
123
|
+
|
124
|
+
void LoadConfig();
|
125
|
+
|
126
|
+
// Takes a callable F: (WeakRefCountedPtr<BaseNode>) -> bool, and returns
|
127
|
+
// a (BaseNode*) -> bool that filters unreffed objects and returns true.
|
128
|
+
// The ref must be unreffed outside the NodeMapInterface iteration.
|
129
|
+
template <typename F>
|
130
|
+
static auto CollectReferences(F fn) {
|
131
|
+
return [fn = std::move(fn)](BaseNode* n) {
|
132
|
+
auto node = n->RefIfNonZero();
|
133
|
+
if (node == nullptr) return true;
|
134
|
+
return fn(std::move(node));
|
135
|
+
};
|
136
|
+
}
|
137
|
+
|
138
|
+
struct NodeList {
|
139
|
+
BaseNode* head = nullptr;
|
140
|
+
BaseNode* tail = nullptr;
|
141
|
+
size_t count = 0;
|
142
|
+
bool Holds(BaseNode* node) const;
|
143
|
+
void AddToHead(BaseNode* node);
|
144
|
+
void Remove(BaseNode* node);
|
145
|
+
};
|
146
|
+
// Nodes traverse through up to four lists, depending on
|
147
|
+
// whether they have a uuid (this is becoming numbered),
|
148
|
+
// and whether they have been orphaned or not.
|
149
|
+
// The lists help us find un-numbered nodes when needed for
|
150
|
+
// queries, and the oldest orphaned node when needed for
|
151
|
+
// garbage collection.
|
152
|
+
// Nodes are organized into shards based on their pointer
|
153
|
+
// address. A shard tracks the four lists of nodes
|
154
|
+
// independently - we strive to have no cross-talk between
|
155
|
+
// shards as these are very global objects.
|
156
|
+
struct alignas(GPR_CACHELINE_SIZE) NodeShard {
|
157
|
+
Mutex mu;
|
158
|
+
// Nursery nodes have no uuid and are not orphaned.
|
159
|
+
NodeList nursery ABSL_GUARDED_BY(mu);
|
160
|
+
// Numbered nodes have been assigned a uuid, and are not orphaned.
|
161
|
+
NodeList numbered ABSL_GUARDED_BY(mu);
|
162
|
+
// Orphaned nodes have no uuid, but have been orphaned.
|
163
|
+
NodeList orphaned ABSL_GUARDED_BY(mu);
|
164
|
+
// Finally, orphaned numbered nodes are orphaned, and have been assigned a
|
165
|
+
// uuid.
|
166
|
+
NodeList orphaned_numbered ABSL_GUARDED_BY(mu);
|
167
|
+
uint64_t next_orphan_index ABSL_GUARDED_BY(mu) = 1;
|
168
|
+
size_t TotalOrphaned() ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu) {
|
169
|
+
return orphaned.count + orphaned_numbered.count;
|
170
|
+
}
|
171
|
+
};
|
172
|
+
|
73
173
|
// Returned the singleton instance of ChannelzRegistry;
|
74
174
|
static ChannelzRegistry* Default();
|
75
175
|
|
@@ -78,23 +178,81 @@ class ChannelzRegistry final {
|
|
78
178
|
|
79
179
|
// globally unregisters the object that is associated to uuid. Also does
|
80
180
|
// sanity check that an object doesn't try to unregister the wrong type.
|
81
|
-
void InternalUnregister(
|
181
|
+
void InternalUnregister(BaseNode* node);
|
182
|
+
|
183
|
+
intptr_t InternalNumberNode(BaseNode* node);
|
82
184
|
|
83
185
|
// if object with uuid has previously been registered as the correct type,
|
84
186
|
// returns the void* associated with that uuid. Else returns nullptr.
|
85
|
-
|
187
|
+
WeakRefCountedPtr<BaseNode> InternalGet(intptr_t uuid);
|
86
188
|
|
87
|
-
|
88
|
-
|
189
|
+
// Generic query over nodes.
|
190
|
+
// This function takes care of all the gnarly locking, and allows high level
|
191
|
+
// code to request a start node and maximum number of results (for pagination
|
192
|
+
// purposes).
|
193
|
+
// `discriminator` allows callers to choose which nodes will be returned - if
|
194
|
+
// it returns true, the node is included in the result.
|
195
|
+
// `discriminator` *MUST NOT* ref the node, nor call into ChannelzRegistry via
|
196
|
+
// any code path (locks are held during the call).
|
197
|
+
std::tuple<std::vector<WeakRefCountedPtr<BaseNode>>, bool> QueryNodes(
|
198
|
+
intptr_t start_node,
|
199
|
+
absl::FunctionRef<bool(const BaseNode*)> discriminator,
|
200
|
+
size_t max_results);
|
201
|
+
|
202
|
+
std::tuple<std::vector<WeakRefCountedPtr<BaseNode>>, bool>
|
203
|
+
InternalGetChildrenOfType(intptr_t start_node, const BaseNode* parent,
|
204
|
+
BaseNode::EntityType type, size_t max_results) {
|
205
|
+
return QueryNodes(
|
206
|
+
start_node,
|
207
|
+
[type, parent](const BaseNode* n) {
|
208
|
+
return n->type() == type && n->HasParent(parent);
|
209
|
+
},
|
210
|
+
max_results);
|
211
|
+
}
|
212
|
+
|
213
|
+
template <typename T, BaseNode::EntityType entity_type>
|
214
|
+
WeakRefCountedPtr<T> InternalGetTyped(intptr_t uuid) {
|
215
|
+
WeakRefCountedPtr<BaseNode> node = InternalGet(uuid);
|
216
|
+
if (node == nullptr || node->type() != entity_type) {
|
217
|
+
return nullptr;
|
218
|
+
}
|
219
|
+
return node->WeakRefAsSubclass<T>();
|
220
|
+
}
|
221
|
+
|
222
|
+
template <typename T, BaseNode::EntityType entity_type>
|
223
|
+
std::tuple<std::vector<WeakRefCountedPtr<T>>, bool> InternalGetObjects(
|
224
|
+
intptr_t start_id) {
|
225
|
+
const int kPaginationLimit = 100;
|
226
|
+
std::vector<WeakRefCountedPtr<T>> top_level_channels;
|
227
|
+
const auto [nodes, end] = QueryNodes(
|
228
|
+
start_id,
|
229
|
+
[](const BaseNode* node) { return node->type() == entity_type; },
|
230
|
+
kPaginationLimit);
|
231
|
+
for (const auto& p : nodes) {
|
232
|
+
top_level_channels.emplace_back(p->template WeakRefAsSubclass<T>());
|
233
|
+
}
|
234
|
+
return std::tuple(std::move(top_level_channels), end);
|
235
|
+
}
|
89
236
|
|
90
237
|
void InternalLogAllEntities();
|
238
|
+
std::vector<WeakRefCountedPtr<BaseNode>> InternalGetAllEntities();
|
91
239
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
240
|
+
static constexpr size_t kNodeShards = 63;
|
241
|
+
size_t NodeShardIndex(BaseNode* node) {
|
242
|
+
return absl::HashOf(node) % kNodeShards;
|
243
|
+
}
|
244
|
+
|
245
|
+
int64_t uuid_generator_{1};
|
246
|
+
std::vector<NodeShard> node_shards_{kNodeShards};
|
247
|
+
Mutex index_mu_;
|
248
|
+
absl::btree_map<intptr_t, BaseNode*> index_ ABSL_GUARDED_BY(index_mu_);
|
249
|
+
size_t max_orphaned_per_shard_;
|
96
250
|
};
|
97
251
|
|
252
|
+
// `additionalInfo` section is not yet in the protobuf format, so we
|
253
|
+
// provide a utility to strip it for compatibility.
|
254
|
+
std::string StripAdditionalInfoFromJson(absl::string_view json);
|
255
|
+
|
98
256
|
} // namespace channelz
|
99
257
|
} // namespace grpc_core
|
100
258
|
|
@@ -0,0 +1,315 @@
|
|
1
|
+
// Copyright 2025 gRPC authors.
|
2
|
+
//
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
// you may not use this file except in compliance with the License.
|
5
|
+
// You may obtain a copy of the License at
|
6
|
+
//
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
//
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
// See the License for the specific language governing permissions and
|
13
|
+
// limitations under the License.
|
14
|
+
|
15
|
+
#ifndef GRPC_SRC_CORE_CHANNELZ_ZTRACE_COLLECTOR_H
|
16
|
+
#define GRPC_SRC_CORE_CHANNELZ_ZTRACE_COLLECTOR_H
|
17
|
+
|
18
|
+
#include <grpc/support/time.h>
|
19
|
+
|
20
|
+
#include <memory>
|
21
|
+
#include <tuple>
|
22
|
+
#include <vector>
|
23
|
+
|
24
|
+
#include "absl/container/flat_hash_set.h"
|
25
|
+
#include "src/core/channelz/channelz.h"
|
26
|
+
#include "src/core/lib/debug/trace.h"
|
27
|
+
#include "src/core/util/json/json_writer.h"
|
28
|
+
#include "src/core/util/single_set_ptr.h"
|
29
|
+
#include "src/core/util/string.h"
|
30
|
+
#include "src/core/util/sync.h"
|
31
|
+
#include "src/core/util/time.h"
|
32
|
+
|
33
|
+
#ifdef GRPC_NO_ZTRACE
|
34
|
+
namespace grpc_core::channelz {
|
35
|
+
namespace ztrace_collector_detail {
|
36
|
+
class ZTraceImpl final : public ZTrace {
|
37
|
+
public:
|
38
|
+
explicit ZTraceImpl() {}
|
39
|
+
|
40
|
+
void Run(Timestamp deadline, std::map<std::string, std::string> args,
|
41
|
+
std::shared_ptr<grpc_event_engine::experimental::EventEngine>
|
42
|
+
event_engine,
|
43
|
+
absl::AnyInvocable<void(Json)> callback) override {
|
44
|
+
event_engine->Run([callback = std::move(callback)]() mutable {
|
45
|
+
callback(Json::FromBool(false));
|
46
|
+
});
|
47
|
+
}
|
48
|
+
};
|
49
|
+
|
50
|
+
class StubImpl {
|
51
|
+
public:
|
52
|
+
template <typename T>
|
53
|
+
void Append(const T&) {}
|
54
|
+
|
55
|
+
std::unique_ptr<ZTrace> MakeZTrace() {
|
56
|
+
return std::make_unique<ZTraceImpl>();
|
57
|
+
}
|
58
|
+
};
|
59
|
+
} // namespace ztrace_collector_detail
|
60
|
+
|
61
|
+
template <typename...>
|
62
|
+
class ZTraceCollector : public ztrace_collector_detail::StubImpl {};
|
63
|
+
} // namespace grpc_core::channelz
|
64
|
+
#else
|
65
|
+
namespace grpc_core::channelz {
|
66
|
+
namespace ztrace_collector_detail {
|
67
|
+
|
68
|
+
template <typename T>
|
69
|
+
using Collection = std::deque<std::pair<gpr_cycle_counter, T> >;
|
70
|
+
|
71
|
+
template <typename T>
|
72
|
+
void AppendResults(const Collection<T>& data, Json::Array& results) {
|
73
|
+
for (const auto& value : data) {
|
74
|
+
Json::Object object;
|
75
|
+
object["timestamp"] =
|
76
|
+
Json::FromString(gpr_format_timespec(gpr_convert_clock_type(
|
77
|
+
gpr_cycle_counter_to_time(value.first), GPR_CLOCK_REALTIME)));
|
78
|
+
value.second.RenderJson(object);
|
79
|
+
results.emplace_back(Json::FromObject(std::move(object)));
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
template <typename Needle, typename... Haystack>
|
84
|
+
constexpr bool kIsElement = false;
|
85
|
+
|
86
|
+
template <typename Needle, typename... Haystack>
|
87
|
+
constexpr bool kIsElement<Needle, Needle, Haystack...> = true;
|
88
|
+
|
89
|
+
template <typename Needle, typename H, typename... Haystack>
|
90
|
+
constexpr bool kIsElement<Needle, H, Haystack...> =
|
91
|
+
kIsElement<Needle, Haystack...>;
|
92
|
+
|
93
|
+
} // namespace ztrace_collector_detail
|
94
|
+
|
95
|
+
inline std::optional<int64_t> IntFromArgs(
|
96
|
+
const std::map<std::string, std::string>& args, const std::string& name) {
|
97
|
+
auto it = args.find(name);
|
98
|
+
if (it == args.end()) return std::nullopt;
|
99
|
+
int64_t out;
|
100
|
+
if (!absl::SimpleAtoi(it->second, &out)) return std::nullopt;
|
101
|
+
return out;
|
102
|
+
}
|
103
|
+
|
104
|
+
// Generic collector infrastructure for ztrace queries.
|
105
|
+
// Abstracts away most of the ztrace requirements in an efficient manner,
|
106
|
+
// allowing system authors to concentrate on emitting useful data.
|
107
|
+
// If no trace is performed, overhead is one pointer and one relaxed atomic read
|
108
|
+
// per trace event.
|
109
|
+
//
|
110
|
+
// Two kinds of objects are required:
|
111
|
+
// 1. A `Config`
|
112
|
+
// - This type should be constructible with a std::map<std::string,
|
113
|
+
// std::string>
|
114
|
+
// and provides overall query configuration - the map can be used to pull
|
115
|
+
// predicates from the calling system.
|
116
|
+
// - Needs a `bool Finishes(T)` method for each Data type (see 2).
|
117
|
+
// This allows the config to terminate a query in the event of reaching
|
118
|
+
// some configured predicate.
|
119
|
+
// 2. N `Data` types
|
120
|
+
// - One for each kind of data captured in the trace
|
121
|
+
// - Allows avoiding e.g. variant<> data types; these are inefficient
|
122
|
+
// in this context because they force every recorded entry to use the
|
123
|
+
// same number of bytes whilst pending.
|
124
|
+
template <typename Config, typename... Data>
|
125
|
+
class ZTraceCollector {
|
126
|
+
public:
|
127
|
+
template <typename X>
|
128
|
+
void Append(X producer_or_value) {
|
129
|
+
GRPC_TRACE_LOG(ztrace, INFO) << "ZTRACE[" << this << "]: " << [&]() {
|
130
|
+
Json::Object obj;
|
131
|
+
if constexpr (ztrace_collector_detail::kIsElement<X, Data...>) {
|
132
|
+
producer_or_value.RenderJson(obj);
|
133
|
+
} else {
|
134
|
+
producer_or_value().RenderJson(obj);
|
135
|
+
}
|
136
|
+
return JsonDump(Json::FromObject(std::move(obj)));
|
137
|
+
}();
|
138
|
+
if (!impl_.is_set()) return;
|
139
|
+
if constexpr (ztrace_collector_detail::kIsElement<X, Data...>) {
|
140
|
+
AppendValue(std::move(producer_or_value));
|
141
|
+
} else {
|
142
|
+
AppendValue(producer_or_value());
|
143
|
+
}
|
144
|
+
}
|
145
|
+
|
146
|
+
std::unique_ptr<ZTrace> MakeZTrace() {
|
147
|
+
return std::make_unique<ZTraceImpl>(impl_.GetOrCreate());
|
148
|
+
}
|
149
|
+
|
150
|
+
private:
|
151
|
+
template <typename T>
|
152
|
+
using Collection = ztrace_collector_detail::Collection<T>;
|
153
|
+
|
154
|
+
struct Instance : public RefCounted<Instance> {
|
155
|
+
Instance(std::map<std::string, std::string> args,
|
156
|
+
std::shared_ptr<grpc_event_engine::experimental::EventEngine>
|
157
|
+
event_engine,
|
158
|
+
absl::AnyInvocable<void(Json)> done)
|
159
|
+
: memory_cap_(IntFromArgs(args, "memory_cap").value_or(1024 * 1024)),
|
160
|
+
config(args),
|
161
|
+
event_engine(std::move(event_engine)),
|
162
|
+
done(std::move(done)) {}
|
163
|
+
using Collections = std::tuple<Collection<Data>...>;
|
164
|
+
struct RemoveMostRecentState {
|
165
|
+
void (*enact)(Instance*) = nullptr;
|
166
|
+
gpr_cycle_counter most_recent =
|
167
|
+
std::numeric_limits<gpr_cycle_counter>::max();
|
168
|
+
};
|
169
|
+
template <typename T>
|
170
|
+
void Append(std::pair<gpr_cycle_counter, T> value) {
|
171
|
+
memory_used_ += value.second.MemoryUsage();
|
172
|
+
while (memory_used_ > memory_cap_) RemoveMostRecent();
|
173
|
+
std::get<Collection<T> >(data).push_back(std::move(value));
|
174
|
+
}
|
175
|
+
void RemoveMostRecent() {
|
176
|
+
RemoveMostRecentState state;
|
177
|
+
(UpdateRemoveMostRecentState<Data>(&state), ...);
|
178
|
+
CHECK(state.enact != nullptr);
|
179
|
+
state.enact(this);
|
180
|
+
++items_removed_;
|
181
|
+
}
|
182
|
+
template <typename T>
|
183
|
+
void UpdateRemoveMostRecentState(RemoveMostRecentState* state) {
|
184
|
+
auto& collection = std::get<Collection<T> >(data);
|
185
|
+
if (collection.empty()) return;
|
186
|
+
if (state->enact == nullptr ||
|
187
|
+
collection.front().first < state->most_recent) {
|
188
|
+
state->enact = +[](Instance* instance) {
|
189
|
+
auto& collection = std::get<Collection<T> >(instance->data);
|
190
|
+
const size_t ent_usage = collection.front().second.MemoryUsage();
|
191
|
+
CHECK_GE(instance->memory_used_, ent_usage);
|
192
|
+
instance->memory_used_ -= ent_usage;
|
193
|
+
collection.pop_front();
|
194
|
+
};
|
195
|
+
state->most_recent = collection.front().first;
|
196
|
+
}
|
197
|
+
}
|
198
|
+
void Finish(absl::Status status) {
|
199
|
+
event_engine->Run([data = std::move(data), done = std::move(done),
|
200
|
+
status = std::move(status), memory_used = memory_used_,
|
201
|
+
items_removed = items_removed_]() mutable {
|
202
|
+
Json::Array entries;
|
203
|
+
(ztrace_collector_detail::AppendResults(
|
204
|
+
std::get<Collection<Data> >(data), entries),
|
205
|
+
...);
|
206
|
+
Json::Object result;
|
207
|
+
result["entries"] = Json::FromArray(entries);
|
208
|
+
result["status"] = Json::FromString(status.ToString());
|
209
|
+
result["memory_used"] =
|
210
|
+
Json::FromNumber(static_cast<uint64_t>(memory_used));
|
211
|
+
result["items_removed"] = Json::FromNumber(items_removed);
|
212
|
+
done(Json::FromObject(std::move(result)));
|
213
|
+
});
|
214
|
+
}
|
215
|
+
size_t memory_used_ = 0;
|
216
|
+
size_t memory_cap_ = 0;
|
217
|
+
uint64_t items_removed_ = 0;
|
218
|
+
Config config;
|
219
|
+
const Timestamp start_time = Timestamp::Now();
|
220
|
+
std::shared_ptr<grpc_event_engine::experimental::EventEngine> event_engine;
|
221
|
+
grpc_event_engine::experimental::EventEngine::TaskHandle task_handle{
|
222
|
+
grpc_event_engine::experimental::EventEngine::TaskHandle::kInvalid};
|
223
|
+
Collections data;
|
224
|
+
absl::AnyInvocable<void(Json)> done;
|
225
|
+
};
|
226
|
+
struct Impl : public RefCounted<Impl> {
|
227
|
+
Mutex mu;
|
228
|
+
absl::flat_hash_set<RefCountedPtr<Instance> > instances ABSL_GUARDED_BY(mu);
|
229
|
+
};
|
230
|
+
class ZTraceImpl final : public ZTrace {
|
231
|
+
public:
|
232
|
+
explicit ZTraceImpl(RefCountedPtr<Impl> impl) : impl_(std::move(impl)) {}
|
233
|
+
|
234
|
+
void Run(Timestamp deadline, std::map<std::string, std::string> args,
|
235
|
+
std::shared_ptr<grpc_event_engine::experimental::EventEngine>
|
236
|
+
event_engine,
|
237
|
+
absl::AnyInvocable<void(Json)> callback) override {
|
238
|
+
auto instance = MakeRefCounted<Instance>(std::move(args), event_engine,
|
239
|
+
std::move(callback));
|
240
|
+
auto impl = std::move(impl_);
|
241
|
+
RefCountedPtr<Instance> oldest_instance;
|
242
|
+
MutexLock lock(&impl->mu);
|
243
|
+
if (impl->instances.size() > 20) {
|
244
|
+
// Eject oldest running trace
|
245
|
+
Timestamp oldest_time = Timestamp::InfFuture();
|
246
|
+
for (auto& instance : impl->instances) {
|
247
|
+
if (instance->start_time < oldest_time) {
|
248
|
+
oldest_time = instance->start_time;
|
249
|
+
oldest_instance = instance;
|
250
|
+
}
|
251
|
+
}
|
252
|
+
CHECK(oldest_instance != nullptr);
|
253
|
+
impl->instances.erase(oldest_instance);
|
254
|
+
oldest_instance->Finish(
|
255
|
+
absl::ResourceExhaustedError("Too many concurrent ztrace queries"));
|
256
|
+
}
|
257
|
+
instance->task_handle = event_engine->RunAfter(
|
258
|
+
deadline - Timestamp::Now(), [instance, impl]() {
|
259
|
+
bool finish;
|
260
|
+
{
|
261
|
+
MutexLock lock(&impl->mu);
|
262
|
+
finish = impl->instances.erase(instance);
|
263
|
+
}
|
264
|
+
if (finish) instance->Finish(absl::DeadlineExceededError(""));
|
265
|
+
});
|
266
|
+
impl->instances.insert(instance);
|
267
|
+
}
|
268
|
+
|
269
|
+
private:
|
270
|
+
RefCountedPtr<Impl> impl_;
|
271
|
+
};
|
272
|
+
|
273
|
+
template <typename T>
|
274
|
+
void AppendValue(T&& data) {
|
275
|
+
auto value = std::pair(gpr_get_cycle_counter(), std::forward<T>(data));
|
276
|
+
auto* impl = impl_.Get();
|
277
|
+
{
|
278
|
+
MutexLock lock(&impl->mu);
|
279
|
+
switch (impl->instances.size()) {
|
280
|
+
case 0:
|
281
|
+
return;
|
282
|
+
case 1: {
|
283
|
+
auto& instances = impl->instances;
|
284
|
+
auto& instance = *instances.begin();
|
285
|
+
const bool finishes = instance->config.Finishes(value.second);
|
286
|
+
instance->Append(std::move(value));
|
287
|
+
if (finishes) {
|
288
|
+
instance->Finish(absl::OkStatus());
|
289
|
+
instances.clear();
|
290
|
+
}
|
291
|
+
} break;
|
292
|
+
default: {
|
293
|
+
std::vector<RefCountedPtr<Instance> > finished;
|
294
|
+
for (auto& instance : impl->instances) {
|
295
|
+
const bool finishes = instance->config.Finishes(value.second);
|
296
|
+
instance->Append(value);
|
297
|
+
if (finishes) {
|
298
|
+
finished.push_back(instance);
|
299
|
+
}
|
300
|
+
}
|
301
|
+
for (const auto& instance : finished) {
|
302
|
+
instance->Finish(absl::OkStatus());
|
303
|
+
impl->instances.erase(instance);
|
304
|
+
}
|
305
|
+
}
|
306
|
+
}
|
307
|
+
}
|
308
|
+
}
|
309
|
+
|
310
|
+
SingleSetRefCountedPtr<Impl> impl_;
|
311
|
+
};
|
312
|
+
} // namespace grpc_core::channelz
|
313
|
+
#endif // GRPC_NO_ZTRACE
|
314
|
+
|
315
|
+
#endif // GRPC_SRC_CORE_CHANNELZ_ZTRACE_COLLECTOR_H
|
@@ -228,21 +228,19 @@ class ClientChannel::SubchannelWrapper::WatcherWrapper
|
|
228
228
|
subchannel_wrapper_.reset(DEBUG_LOCATION, "WatcherWrapper");
|
229
229
|
}
|
230
230
|
|
231
|
-
void OnConnectivityStateChange(
|
232
|
-
|
233
|
-
grpc_connectivity_state state, const absl::Status& status) override {
|
231
|
+
void OnConnectivityStateChange(grpc_connectivity_state state,
|
232
|
+
const absl::Status& status) override {
|
234
233
|
GRPC_TRACE_LOG(client_channel, INFO)
|
235
234
|
<< "client_channel=" << subchannel_wrapper_->client_channel_.get()
|
236
235
|
<< ": connectivity change for subchannel wrapper "
|
237
236
|
<< subchannel_wrapper_.get() << " subchannel "
|
238
237
|
<< subchannel_wrapper_->subchannel_.get()
|
239
238
|
<< "; hopping into work_serializer";
|
240
|
-
self
|
239
|
+
auto self = RefAsSubclass<WatcherWrapper>();
|
241
240
|
subchannel_wrapper_->client_channel_->work_serializer_->Run(
|
242
|
-
[
|
243
|
-
*subchannel_wrapper_->client_channel_->work_serializer_) {
|
244
|
-
ApplyUpdateInControlPlaneWorkSerializer(state, status);
|
245
|
-
Unref();
|
241
|
+
[self, state, status]() ABSL_EXCLUSIVE_LOCKS_REQUIRED(
|
242
|
+
*self->subchannel_wrapper_->client_channel_->work_serializer_) {
|
243
|
+
self->ApplyUpdateInControlPlaneWorkSerializer(state, status);
|
246
244
|
});
|
247
245
|
}
|
248
246
|
|
@@ -324,8 +322,7 @@ ClientChannel::SubchannelWrapper::SubchannelWrapper(
|
|
324
322
|
auto it =
|
325
323
|
client_channel_->subchannel_refcount_map_.find(subchannel_.get());
|
326
324
|
if (it == client_channel_->subchannel_refcount_map_.end()) {
|
327
|
-
client_channel_->channelz_node_
|
328
|
-
subchannel_node->uuid());
|
325
|
+
subchannel_node->AddParent(client_channel_->channelz_node_);
|
329
326
|
it = client_channel_->subchannel_refcount_map_
|
330
327
|
.emplace(subchannel_.get(), 0)
|
331
328
|
.first;
|
@@ -360,8 +357,8 @@ void ClientChannel::SubchannelWrapper::Orphaned() {
|
|
360
357
|
CHECK(it != self->client_channel_->subchannel_refcount_map_.end());
|
361
358
|
--it->second;
|
362
359
|
if (it->second == 0) {
|
363
|
-
|
364
|
-
|
360
|
+
subchannel_node->RemoveParent(
|
361
|
+
self->client_channel_->channelz_node_);
|
365
362
|
self->client_channel_->subchannel_refcount_map_.erase(it);
|
366
363
|
}
|
367
364
|
}
|
@@ -530,7 +527,11 @@ RefCountedPtr<SubchannelPoolInterface> GetSubchannelPool(
|
|
530
527
|
if (args.GetBool(GRPC_ARG_USE_LOCAL_SUBCHANNEL_POOL).value_or(false)) {
|
531
528
|
return MakeRefCounted<LocalSubchannelPool>();
|
532
529
|
}
|
533
|
-
|
530
|
+
if (IsShardGlobalConnectionPoolEnabled()) {
|
531
|
+
return GlobalSubchannelPool::instance();
|
532
|
+
} else {
|
533
|
+
return LegacyGlobalSubchannelPool::instance();
|
534
|
+
}
|
534
535
|
}
|
535
536
|
|
536
537
|
} // namespace
|
@@ -701,6 +702,7 @@ class ExternalStateWatcher : public RefCounted<ExternalStateWatcher> {
|
|
701
702
|
grpc_connectivity_state last_observed_state,
|
702
703
|
Timestamp deadline)
|
703
704
|
: channel_(std::move(channel)), cq_(cq), tag_(tag) {
|
705
|
+
grpc_cq_begin_op(cq, tag);
|
704
706
|
MutexLock lock(&mu_);
|
705
707
|
// Start watch. This inherits the ref from creation.
|
706
708
|
auto watcher =
|
@@ -780,17 +782,14 @@ void ClientChannel::WatchConnectivityState(grpc_connectivity_state state,
|
|
780
782
|
}
|
781
783
|
|
782
784
|
void ClientChannel::AddConnectivityWatcher(
|
783
|
-
grpc_connectivity_state,
|
784
|
-
OrphanablePtr<AsyncConnectivityStateWatcherInterface>) {
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
// ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_) {
|
792
|
-
// self->state_tracker_.AddWatcher(initial_state, std::move(watcher));
|
793
|
-
// });
|
785
|
+
grpc_connectivity_state initial_state,
|
786
|
+
OrphanablePtr<AsyncConnectivityStateWatcherInterface> watcher) {
|
787
|
+
auto self = RefAsSubclass<ClientChannel>();
|
788
|
+
work_serializer_->Run(
|
789
|
+
[self, initial_state, watcher = std::move(watcher)]()
|
790
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(*self->work_serializer_) mutable {
|
791
|
+
self->state_tracker_.AddWatcher(initial_state, std::move(watcher));
|
792
|
+
});
|
794
793
|
}
|
795
794
|
|
796
795
|
void ClientChannel::RemoveConnectivityWatcher(
|
@@ -1320,11 +1319,13 @@ void ClientChannel::UpdateStateLocked(grpc_connectivity_state state,
|
|
1320
1319
|
state_tracker_.SetState(state, status, reason);
|
1321
1320
|
if (channelz_node_ != nullptr) {
|
1322
1321
|
channelz_node_->SetConnectivityState(state);
|
1323
|
-
|
1324
|
-
channelz::
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1322
|
+
std::string trace =
|
1323
|
+
channelz::ChannelNode::GetChannelConnectivityStateChangeString(state);
|
1324
|
+
if (!status.ok() || state == GRPC_CHANNEL_TRANSIENT_FAILURE) {
|
1325
|
+
absl::StrAppend(&trace, " status:", status.ToString());
|
1326
|
+
}
|
1327
|
+
channelz_node_->AddTraceEvent(channelz::ChannelTrace::Severity::Info,
|
1328
|
+
grpc_slice_from_cpp_string(std::move(trace)));
|
1328
1329
|
}
|
1329
1330
|
}
|
1330
1331
|
|