grpc 1.71.0 → 1.72.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 +78 -75
- data/include/grpc/event_engine/memory_request.h +3 -3
- data/include/grpc/impl/channel_arg_names.h +70 -50
- data/include/grpc/support/workaround_list.h +1 -4
- data/src/core/{lib/transport → call}/call_arena_allocator.cc +1 -1
- data/src/core/{lib/transport → call}/call_arena_allocator.h +3 -3
- data/src/core/{lib/transport → call}/call_destination.h +4 -4
- data/src/core/{lib/transport → call}/call_filters.cc +2 -2
- data/src/core/{lib/transport → call}/call_filters.h +25 -6
- data/src/core/{lib/channel → call}/call_finalization.h +3 -3
- data/src/core/{lib/transport → call}/call_spine.cc +1 -1
- data/src/core/{lib/transport → call}/call_spine.h +68 -26
- data/src/core/{lib/transport → call}/call_state.cc +1 -1
- data/src/core/{lib/transport → call}/call_state.h +3 -3
- data/src/core/{lib/surface → call}/client_call.cc +9 -7
- data/src/core/{lib/surface → call}/client_call.h +4 -4
- data/src/core/{lib/transport → call}/custom_metadata.h +3 -3
- data/src/core/{lib/transport → call}/interception_chain.cc +5 -5
- data/src/core/{lib/transport → call}/interception_chain.h +7 -7
- data/src/core/{lib/transport → call}/message.cc +1 -1
- data/src/core/{lib/transport → call}/message.h +7 -3
- data/src/core/{lib/transport → call}/metadata.cc +2 -2
- data/src/core/{lib/transport → call}/metadata.h +4 -4
- data/src/core/{lib/transport → call}/metadata_batch.cc +1 -1
- data/src/core/{lib/transport → call}/metadata_batch.h +7 -7
- data/src/core/{lib/transport → call}/metadata_compression_traits.h +3 -3
- data/src/core/{lib/transport → call}/metadata_info.cc +27 -9
- data/src/core/{lib/transport → call}/metadata_info.h +4 -4
- data/src/core/{lib/transport → call}/parsed_metadata.cc +1 -1
- data/src/core/{lib/transport → call}/parsed_metadata.h +3 -3
- data/src/core/call/request_buffer.h +3 -3
- data/src/core/call/security_context.cc +125 -0
- data/src/core/call/security_context.h +114 -0
- data/src/core/{lib/surface → call}/server_call.cc +3 -3
- data/src/core/{lib/surface → call}/server_call.h +5 -5
- data/src/core/{lib/transport → call}/simple_slice_based_metadata.h +4 -4
- data/src/core/{lib/channel → call}/status_util.cc +1 -1
- data/src/core/{lib/channel → call}/status_util.h +3 -3
- data/src/core/client_channel/client_channel.cc +24 -16
- data/src/core/client_channel/client_channel.h +4 -3
- data/src/core/client_channel/client_channel_filter.cc +10 -20
- data/src/core/client_channel/client_channel_filter.h +1 -1
- data/src/core/client_channel/client_channel_internal.h +1 -1
- data/src/core/client_channel/config_selector.h +2 -2
- data/src/core/client_channel/direct_channel.cc +2 -2
- data/src/core/client_channel/dynamic_filters.cc +0 -1
- data/src/core/client_channel/dynamic_filters.h +0 -1
- data/src/core/client_channel/lb_metadata.h +1 -1
- data/src/core/client_channel/load_balanced_call_destination.cc +1 -1
- data/src/core/client_channel/load_balanced_call_destination.h +1 -1
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +43 -41
- data/src/core/client_channel/retry_filter_legacy_call_data.h +6 -6
- data/src/core/client_channel/retry_interceptor.h +1 -1
- data/src/core/client_channel/retry_service_config.cc +1 -1
- data/src/core/client_channel/retry_service_config.h +1 -1
- data/src/core/client_channel/retry_throttle.cc +30 -34
- data/src/core/client_channel/retry_throttle.h +10 -2
- data/src/core/client_channel/subchannel.cc +7 -8
- data/src/core/client_channel/subchannel.h +1 -2
- data/src/core/client_channel/subchannel_stream_client.cc +14 -11
- data/src/core/client_channel/subchannel_stream_client.h +2 -2
- data/src/core/config/core_configuration.h +2 -2
- data/src/core/credentials/call/call_credentials.h +157 -0
- data/src/core/{lib/security/credentials → credentials/call}/call_creds_util.cc +4 -4
- data/src/core/{lib/security/credentials → credentials/call}/call_creds_util.h +4 -4
- data/src/core/{lib/security/credentials/composite/composite_credentials.cc → credentials/call/composite/composite_call_credentials.cc} +4 -57
- data/src/core/credentials/call/composite/composite_call_credentials.h +82 -0
- data/src/core/{lib/security/credentials → credentials/call}/external/aws_external_account_credentials.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/call}/external/aws_external_account_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/call}/external/aws_request_signer.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/call}/external/aws_request_signer.h +3 -3
- data/src/core/{lib/security/credentials → credentials/call}/external/external_account_credentials.cc +6 -6
- data/src/core/{lib/security/credentials → credentials/call}/external/external_account_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/call}/external/file_external_account_credentials.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/call}/external/file_external_account_credentials.h +4 -4
- data/src/core/{lib/security/credentials → credentials/call}/external/url_external_account_credentials.cc +3 -2
- data/src/core/{lib/security/credentials → credentials/call}/external/url_external_account_credentials.h +4 -4
- data/src/core/{lib/security/credentials → credentials/call}/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +3 -2
- data/src/core/{lib/security/credentials → credentials/call}/gcp_service_account_identity/gcp_service_account_identity_credentials.h +6 -6
- data/src/core/{lib/security/credentials → credentials/call}/iam/iam_credentials.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/call}/iam/iam_credentials.h +4 -4
- data/src/core/{lib/security/util → credentials/call}/json_util.cc +1 -1
- data/src/core/{lib/security/util → credentials/call}/json_util.h +3 -3
- data/src/core/{lib/security/credentials → credentials/call}/jwt/json_token.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/call}/jwt/json_token.h +3 -3
- data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_credentials.cc +3 -3
- data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_verifier.cc +3 -2
- data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_verifier.h +3 -3
- data/src/core/{lib/security/credentials → credentials/call}/oauth2/oauth2_credentials.cc +4 -3
- data/src/core/{lib/security/credentials → credentials/call}/oauth2/oauth2_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/call}/plugin/plugin_credentials.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/call}/plugin/plugin_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/call}/token_fetcher/token_fetcher_credentials.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/call}/token_fetcher/token_fetcher_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/transport}/alts/alts_credentials.cc +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/alts/alts_credentials.h +5 -5
- data/src/core/{lib/security/security_connector → credentials/transport}/alts/alts_security_connector.cc +4 -4
- data/src/core/{lib/security/security_connector → credentials/transport}/alts/alts_security_connector.h +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment.h +3 -3
- data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_linux.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_no_op.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_windows.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_client_options.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_options.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_options.h +3 -3
- data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_server_options.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/channel_creds_registry.h +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/channel_creds_registry_init.cc +21 -17
- data/src/core/credentials/transport/composite/composite_channel_credentials.cc +68 -0
- data/src/core/{lib/security/credentials/composite/composite_credentials.h → credentials/transport/composite/composite_channel_credentials.h} +6 -51
- data/src/core/{lib/security/credentials → credentials/transport}/fake/fake_credentials.cc +4 -26
- data/src/core/{lib/security/credentials → credentials/transport}/fake/fake_credentials.h +5 -37
- data/src/core/{lib/security/security_connector → credentials/transport}/fake/fake_security_connector.cc +4 -4
- data/src/core/{lib/security/security_connector → credentials/transport}/fake/fake_security_connector.h +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/google_default/credentials_generic.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/transport}/google_default/google_default_credentials.cc +31 -19
- data/src/core/{lib/security/credentials → credentials/transport}/google_default/google_default_credentials.h +5 -5
- data/src/core/{lib/security/credentials → credentials/transport}/insecure/insecure_credentials.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/transport}/insecure/insecure_credentials.h +5 -5
- data/src/core/{lib/security/security_connector → credentials/transport}/insecure/insecure_security_connector.cc +2 -2
- data/src/core/{lib/security/security_connector → credentials/transport}/insecure/insecure_security_connector.h +5 -5
- data/src/core/{lib/security/credentials → credentials/transport}/local/local_credentials.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/transport}/local/local_credentials.h +5 -5
- data/src/core/{lib/security/security_connector → credentials/transport}/local/local_security_connector.cc +4 -4
- data/src/core/{lib/security/security_connector → credentials/transport}/local/local_security_connector.h +4 -4
- data/src/core/{lib/security/security_connector → credentials/transport}/security_connector.cc +2 -2
- data/src/core/{lib/security/security_connector → credentials/transport}/security_connector.h +3 -3
- data/src/core/{lib/security/credentials → credentials/transport}/ssl/ssl_credentials.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/transport}/ssl/ssl_credentials.h +6 -6
- data/src/core/{lib/security/security_connector → credentials/transport}/ssl/ssl_security_connector.cc +5 -5
- data/src/core/{lib/security/security_connector → credentials/transport}/ssl/ssl_security_connector.h +4 -4
- data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_factory.h +3 -3
- data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_registry.cc +1 -1
- data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_registry.h +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_distributor.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_distributor.h +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_match.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_provider.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_provider.h +5 -5
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_verifier.cc +2 -2
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_verifier.h +3 -3
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_credentials_options.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_credentials_options.h +7 -7
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_crl_provider.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_crl_provider.h +3 -3
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots.h +3 -3
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_fallback.cc +1 -1
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_supported.cc +2 -2
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_supported.h +3 -3
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_windows.cc +1 -1
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/ssl_utils.cc +3 -3
- data/src/core/{lib/security/security_connector → credentials/transport/tls}/ssl_utils.h +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_credentials.cc +4 -4
- data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_credentials.h +5 -5
- data/src/core/{lib/security/security_connector → credentials/transport}/tls/tls_security_connector.cc +6 -6
- data/src/core/{lib/security/security_connector → credentials/transport}/tls/tls_security_connector.h +6 -6
- data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_utils.cc +1 -1
- data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_utils.h +3 -3
- data/src/core/{lib/security/credentials/credentials.cc → credentials/transport/transport_credentials.cc} +1 -3
- data/src/core/{lib/security/credentials/credentials.h → credentials/transport/transport_credentials.h} +5 -121
- data/src/core/{lib/security/credentials → credentials/transport}/xds/xds_credentials.cc +5 -5
- data/src/core/{lib/security/credentials → credentials/transport}/xds/xds_credentials.h +6 -6
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +1 -1
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +8 -5
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +2 -2
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +2 -2
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.h +1 -1
- data/src/core/ext/filters/http/client_authority_filter.cc +2 -2
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +1 -1
- data/src/core/ext/filters/http/message_compress/compression_filter.h +1 -1
- data/src/core/ext/filters/http/server/http_server_filter.cc +1 -1
- data/src/core/ext/filters/message_size/message_size_filter.cc +1 -1
- data/src/core/ext/filters/rbac/rbac_filter.cc +2 -2
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +3 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +8 -5
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +5 -1
- data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +1 -3
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +58 -57
- data/src/core/ext/transport/chttp2/transport/context_list_entry.h +3 -3
- data/src/core/ext/transport/chttp2/transport/frame.cc +89 -68
- data/src/core/ext/transport/chttp2/transport/frame.h +37 -1
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +6 -3
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -2
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +2 -2
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +10 -8
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +2 -2
- data/src/core/ext/transport/chttp2/transport/http2_status.h +52 -0
- data/src/core/ext/transport/chttp2/transport/internal.h +11 -14
- data/src/core/ext/transport/chttp2/transport/parsing.cc +36 -23
- data/src/core/ext/transport/chttp2/transport/writing.cc +15 -14
- data/src/core/ext/transport/inproc/inproc_transport.cc +1 -1
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +1 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +65 -65
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +28 -28
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +14 -14
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +6 -6
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +133 -133
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +71 -71
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +26 -26
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +216 -218
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +66 -66
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +27 -27
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +326 -328
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +103 -103
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +58 -58
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +14 -14
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +22 -24
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +29 -29
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +186 -192
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +54 -54
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +54 -54
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +21 -21
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +59 -61
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +15 -15
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +100 -100
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +34 -34
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +12 -12
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +5 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +118 -118
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +39 -39
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +19 -19
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +27 -27
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +10 -10
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +12 -14
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +41 -41
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +24 -24
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +139 -139
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +46 -46
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +61 -61
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +20 -20
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +3 -3
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +6 -6
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +33 -33
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +14 -14
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +12 -14
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +52 -54
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +10 -10
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +620 -626
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +215 -215
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +13 -13
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +3 -3
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +7 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +15 -15
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +7 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +16 -16
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +10 -10
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +306 -312
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +96 -96
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +61 -61
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +27 -27
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +19 -19
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +25 -25
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +34 -34
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +3 -3
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +294 -294
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +105 -105
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +3 -3
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +23 -23
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +84 -84
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +28 -28
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +87 -87
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +31 -31
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +24 -24
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +5 -5
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +130 -132
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +43 -43
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +6 -6
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +60 -60
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +26 -26
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +7 -7
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +6 -6
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +7 -7
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +11 -11
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +85 -89
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +20 -20
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +80 -83
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +27 -27
- data/src/core/ext/upb-gen/google/api/http.upb.h +51 -51
- data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +22 -22
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +327 -301
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +97 -85
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +1 -0
- data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +9 -11
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +9 -10
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +110 -113
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +25 -25
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +6 -6
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +21 -22
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +70 -72
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +17 -17
- data/src/core/ext/upb-gen/validate/validate.upb.h +368 -368
- data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +117 -117
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +9 -10
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +7 -7
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +12 -12
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +27 -30
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +7 -7
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +3 -3
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +22 -24
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +3 -3
- data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +98 -87
- data/src/core/{lib/security/transport → filter/auth}/auth_filters.h +8 -7
- data/src/core/{lib/security/transport → filter/auth}/client_auth_filter.cc +7 -6
- data/src/core/{lib/security/transport → filter/auth}/server_auth_filter.cc +5 -4
- data/src/core/handshaker/handshaker.cc +0 -8
- data/src/core/handshaker/security/security_handshaker.cc +1 -1
- data/src/core/handshaker/security/security_handshaker.h +1 -1
- data/src/core/lib/channel/channel_args.h +49 -30
- data/src/core/lib/channel/channel_stack.h +1 -2
- data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
- data/src/core/lib/channel/connected_channel.cc +2 -2
- data/src/core/lib/channel/promise_based_filter.h +3 -3
- data/src/core/lib/debug/trace_flags.cc +2 -4
- data/src/core/lib/debug/trace_flags.h +1 -2
- data/src/core/lib/event_engine/default_event_engine_factory.cc +6 -6
- data/src/core/lib/event_engine/default_event_engine_factory.h +1 -1
- data/src/core/lib/event_engine/extensions/iomgr_compatible.h +39 -0
- data/src/core/lib/event_engine/extensions/supports_win_sockets.h +48 -0
- data/src/core/lib/event_engine/extensions/tcp_trace.h +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +0 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +1 -3
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +26 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +4 -0
- data/src/core/lib/event_engine/posix_engine/set_socket_dualstack.cc +64 -0
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +0 -11
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +10 -2
- data/src/core/lib/event_engine/shim.cc +9 -16
- data/src/core/lib/event_engine/shim.h +11 -0
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +15 -7
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +2 -1
- data/src/core/lib/event_engine/windows/win_socket.cc +11 -0
- data/src/core/lib/event_engine/windows/win_socket.h +3 -0
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +5 -10
- data/src/core/lib/event_engine/windows/windows_engine.cc +42 -0
- data/src/core/lib/event_engine/windows/windows_engine.h +8 -2
- data/src/core/lib/event_engine/windows/windows_listener.cc +5 -6
- data/src/core/lib/event_engine/windows/windows_listener.h +9 -4
- data/src/core/lib/experiments/experiments.cc +174 -21
- data/src/core/lib/experiments/experiments.h +70 -13
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +43 -16
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +43 -8
- data/src/core/lib/iomgr/error.cc +27 -43
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +13 -1
- data/src/core/lib/iomgr/ev_poll_posix.cc +13 -0
- data/src/core/lib/iomgr/polling_entity.cc +2 -7
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -0
- data/src/core/lib/iomgr/socket_utils_posix.cc +22 -11
- data/src/core/lib/iomgr/socket_utils_posix.h +12 -2
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +8 -9
- data/src/core/lib/iomgr/tcp_client_posix.cc +11 -15
- data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
- data/src/core/lib/iomgr/tcp_posix.cc +58 -31
- data/src/core/lib/iomgr/tcp_posix.h +10 -2
- data/src/core/lib/iomgr/tcp_server_posix.cc +9 -1
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +27 -16
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +10 -2
- data/src/core/lib/promise/all_ok.h +31 -0
- data/src/core/lib/promise/loop.h +8 -5
- data/src/core/lib/promise/map.h +65 -2
- data/src/core/lib/promise/party.h +5 -1
- data/src/core/lib/promise/poll.h +22 -20
- data/src/core/lib/promise/promise.h +2 -2
- data/src/core/lib/promise/status_flag.h +23 -11
- data/src/core/lib/security/authorization/evaluate_args.cc +1 -1
- data/src/core/lib/security/authorization/evaluate_args.h +1 -1
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -1
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -1
- data/src/core/lib/slice/slice.h +6 -0
- data/src/core/lib/surface/call.cc +20 -18
- data/src/core/lib/surface/call_utils.cc +3 -3
- data/src/core/lib/surface/call_utils.h +3 -3
- data/src/core/lib/surface/channel.h +2 -2
- data/src/core/lib/surface/channel_init.h +2 -2
- data/src/core/lib/surface/completion_queue.cc +77 -17
- data/src/core/lib/surface/filter_stack_call.cc +40 -27
- data/src/core/lib/surface/filter_stack_call.h +1 -1
- data/src/core/lib/surface/init.cc +2 -3
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/legacy_channel.cc +27 -23
- data/src/core/lib/surface/legacy_channel.h +1 -1
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/error_utils.cc +65 -11
- data/src/core/lib/transport/error_utils.h +2 -2
- data/src/core/lib/transport/status_conversion.cc +16 -14
- data/src/core/lib/transport/status_conversion.h +5 -4
- data/src/core/lib/transport/transport.h +5 -5
- data/src/core/lib/transport/transport_op_string.cc +1 -1
- data/src/core/load_balancing/delegating_helper.h +1 -1
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -1
- data/src/core/load_balancing/grpclb/grpclb.cc +1 -2
- data/src/core/load_balancing/pick_first/pick_first.cc +0 -955
- data/src/core/load_balancing/rls/rls.cc +31 -37
- data/src/core/load_balancing/weighted_target/weighted_target.cc +1 -1
- data/src/core/load_balancing/xds/cds.cc +3 -10
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +1 -1
- data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -0
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +0 -2
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +1 -3
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +4 -0
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +1 -1
- data/src/core/resolver/xds/xds_dependency_manager.cc +8 -3
- data/src/core/resolver/xds/xds_resolver.cc +2 -2
- data/src/core/server/server.cc +7 -4
- data/src/core/server/server.h +1 -1
- data/src/core/server/server_call_tracer_filter.cc +1 -1
- data/src/core/server/server_config_selector.h +1 -1
- data/src/core/server/server_config_selector_filter.cc +1 -1
- data/src/core/server/xds_server_config_fetcher.cc +5 -5
- data/src/core/service_config/service_config_channel_arg_filter.cc +1 -1
- data/src/core/telemetry/call_tracer.cc +2 -4
- data/src/core/telemetry/call_tracer.h +3 -3
- data/src/core/telemetry/metrics.cc +30 -12
- data/src/core/telemetry/metrics.h +15 -3
- data/src/core/telemetry/stats_data.cc +75 -2
- data/src/core/telemetry/stats_data.h +46 -4
- data/src/core/telemetry/tcp_tracer.h +90 -84
- data/src/core/{lib/security/context/security_context.cc → transport/auth_context.cc} +1 -96
- data/src/core/{lib/security/context/security_context.h → transport/auth_context.h} +6 -76
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
- data/src/core/tsi/ssl_transport_security.cc +1 -1
- data/src/core/util/check_class_size.h +48 -0
- data/src/core/util/gcp_metadata_query.cc +1 -1
- data/src/core/util/http_client/httpcli.cc +3 -3
- data/src/core/util/http_client/httpcli_security_connector.cc +3 -3
- data/src/core/util/load_file.cc +26 -14
- data/src/core/util/status_helper.cc +86 -63
- data/src/core/util/status_helper.h +9 -26
- data/src/core/xds/grpc/certificate_provider_store.cc +1 -1
- data/src/core/xds/grpc/certificate_provider_store.h +3 -3
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +1 -1
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +10 -7
- data/src/core/xds/grpc/xds_certificate_provider.cc +1 -1
- data/src/core/xds/grpc/xds_certificate_provider.h +2 -2
- data/src/core/xds/grpc/xds_client_grpc.cc +7 -6
- data/src/core/xds/grpc/xds_client_grpc.h +4 -2
- data/src/core/xds/grpc/xds_cluster.h +3 -3
- data/src/core/xds/grpc/xds_cluster_parser.cc +3 -2
- data/src/core/xds/grpc/xds_http_fault_filter.cc +1 -1
- data/src/core/xds/grpc/xds_http_filter.h +1 -1
- data/src/core/xds/grpc/xds_http_filter_registry.h +1 -1
- data/src/core/xds/grpc/xds_route_config.h +1 -1
- data/src/core/xds/grpc/xds_route_config_parser.cc +1 -1
- data/src/core/xds/grpc/xds_route_config_parser.h +1 -1
- data/src/core/xds/grpc/xds_routing.h +1 -1
- data/src/core/xds/grpc/xds_server_grpc.cc +60 -48
- data/src/core/xds/grpc/xds_server_grpc.h +23 -13
- data/src/core/xds/grpc/xds_server_grpc_interface.h +2 -2
- data/src/core/xds/grpc/xds_transport_grpc.cc +5 -5
- data/src/core/xds/grpc/xds_transport_grpc.h +5 -3
- data/src/core/xds/xds_client/lrs_client.cc +6 -5
- data/src/core/xds/xds_client/lrs_client.h +7 -7
- data/src/core/xds/xds_client/xds_bootstrap.h +16 -1
- data/src/core/xds/xds_client/xds_client.cc +25 -23
- data/src/core/xds/xds_client/xds_client.h +3 -1
- data/src/core/xds/xds_client/xds_resource_type.h +1 -2
- data/src/core/xds/xds_client/xds_transport.h +1 -1
- data/src/ruby/ext/grpc/extconf.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +20 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +3 -25
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +3 -7
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +13 -6
- data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +2 -1
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +1 -1
- data/third_party/upb/upb/base/internal/log2.h +3 -1
- data/third_party/upb/upb/base/string_view.h +10 -0
- data/third_party/upb/upb/hash/common.c +5 -1
- data/third_party/upb/upb/json/decode.c +2 -2
- data/third_party/upb/upb/json/decode.h +0 -1
- data/third_party/upb/upb/mem/alloc.h +5 -0
- data/third_party/upb/upb/mem/arena.c +296 -142
- data/third_party/upb/upb/mem/arena.h +47 -11
- data/third_party/upb/upb/mem/arena.hpp +4 -20
- data/third_party/upb/upb/mem/internal/arena.h +4 -6
- data/third_party/upb/upb/message/accessors.h +41 -0
- data/third_party/upb/upb/message/compat.c +11 -14
- data/third_party/upb/upb/message/compat.h +4 -3
- data/third_party/upb/upb/message/copy.c +35 -30
- data/third_party/upb/upb/message/internal/accessors.h +139 -10
- data/third_party/upb/upb/message/internal/extension.c +28 -25
- data/third_party/upb/upb/message/internal/extension.h +21 -5
- data/third_party/upb/upb/message/internal/iterator.c +58 -0
- data/third_party/upb/upb/message/internal/iterator.h +29 -0
- data/third_party/upb/upb/message/internal/map.h +2 -3
- data/third_party/upb/upb/message/internal/map_sorter.h +3 -2
- data/third_party/upb/upb/message/internal/message.c +48 -29
- data/third_party/upb/upb/message/internal/message.h +154 -24
- data/third_party/upb/upb/message/map_sorter.c +20 -8
- data/third_party/upb/upb/message/message.c +90 -38
- data/third_party/upb/upb/message/message.h +58 -2
- data/third_party/upb/upb/message/value.h +9 -0
- data/third_party/upb/upb/mini_descriptor/build_enum.c +1 -1
- data/third_party/upb/upb/mini_descriptor/decode.c +97 -136
- data/third_party/upb/upb/mini_descriptor/decode.h +4 -3
- data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +1 -1
- data/third_party/upb/upb/mini_table/extension_registry.c +24 -12
- data/third_party/upb/upb/mini_table/extension_registry.h +13 -6
- data/third_party/upb/upb/mini_table/message.c +21 -13
- data/third_party/upb/upb/port/atomic.h +134 -7
- data/third_party/upb/upb/port/def.inc +140 -38
- data/third_party/upb/upb/port/undef.inc +11 -1
- data/third_party/upb/upb/reflection/def.hpp +5 -1
- data/third_party/upb/upb/reflection/def_pool.c +10 -3
- data/third_party/upb/upb/reflection/descriptor_bootstrap.h +1 -1
- data/third_party/upb/upb/reflection/file_def.c +12 -5
- data/third_party/upb/upb/reflection/internal/def_builder.c +1 -1
- data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
- data/third_party/upb/upb/reflection/message.c +19 -16
- data/third_party/upb/upb/reflection/message.h +3 -1
- data/third_party/upb/upb/text/encode.c +1 -13
- data/third_party/upb/upb/text/internal/encode.c +25 -6
- data/third_party/upb/upb/text/internal/encode.h +4 -0
- data/third_party/upb/upb/wire/decode.c +60 -45
- data/third_party/upb/upb/wire/decode.h +4 -2
- data/third_party/upb/upb/wire/encode.c +77 -42
- data/third_party/upb/upb/wire/encode.h +2 -0
- data/third_party/upb/upb/wire/eps_copy_input_stream.h +18 -20
- data/third_party/upb/upb/wire/internal/decoder.h +4 -11
- data/third_party/utf8_range/utf8_range.c +15 -275
- data/third_party/utf8_range/utf8_range_neon.inc +117 -0
- data/third_party/utf8_range/utf8_range_sse.inc +272 -0
- data/third_party/zlib/deflate.c +40 -15
- data/third_party/zlib/deflate.h +33 -2
- data/third_party/zlib/gzguts.h +2 -6
- data/third_party/zlib/inflate.c +1 -1
- data/third_party/zlib/inftrees.c +3 -3
- data/third_party/zlib/inftrees.h +2 -2
- data/third_party/zlib/trees.c +18 -4
- data/third_party/zlib/zconf.h +1 -9
- data/third_party/zlib/zlib.h +12 -12
- data/third_party/zlib/zutil.h +4 -25
- metadata +155 -145
- data/include/grpc/grpc_cronet.h +0 -37
- data/src/core/lib/transport/http2_errors.h +0 -43
- data/third_party/upb/upb/message/internal/compare_unknown.c +0 -289
- data/third_party/upb/upb/message/internal/compare_unknown.h +0 -49
@@ -161,16 +161,16 @@ class GrpcXdsClient::MetricsReporter final : public XdsMetricsReporter {
|
|
161
161
|
absl::string_view resource_type,
|
162
162
|
uint64_t num_valid_resources,
|
163
163
|
uint64_t num_invalid_resources) override {
|
164
|
-
xds_client_.stats_plugin_group_
|
164
|
+
xds_client_.stats_plugin_group_->AddCounter(
|
165
165
|
kMetricResourceUpdatesValid, num_valid_resources,
|
166
166
|
{xds_client_.key_, xds_server, resource_type}, {});
|
167
|
-
xds_client_.stats_plugin_group_
|
167
|
+
xds_client_.stats_plugin_group_->AddCounter(
|
168
168
|
kMetricResourceUpdatesInvalid, num_invalid_resources,
|
169
169
|
{xds_client_.key_, xds_server, resource_type}, {});
|
170
170
|
}
|
171
171
|
|
172
172
|
void ReportServerFailure(absl::string_view xds_server) override {
|
173
|
-
xds_client_.stats_plugin_group_
|
173
|
+
xds_client_.stats_plugin_group_->AddCounter(
|
174
174
|
kMetricServerFailure, 1, {xds_client_.key_, xds_server}, {});
|
175
175
|
}
|
176
176
|
|
@@ -225,7 +225,7 @@ absl::StatusOr<std::string> GetBootstrapContents(const char* fallback_config) {
|
|
225
225
|
"not defined");
|
226
226
|
}
|
227
227
|
|
228
|
-
GlobalStatsPluginRegistry::StatsPluginGroup
|
228
|
+
std::shared_ptr<GlobalStatsPluginRegistry::StatsPluginGroup>
|
229
229
|
GetStatsPluginGroupForKeyAndChannelArgs(absl::string_view key,
|
230
230
|
const ChannelArgs& channel_args) {
|
231
231
|
if (key == GrpcXdsClient::kServerKey) {
|
@@ -309,7 +309,8 @@ GrpcXdsClient::GrpcXdsClient(
|
|
309
309
|
absl::string_view key, std::shared_ptr<GrpcXdsBootstrap> bootstrap,
|
310
310
|
const ChannelArgs& args,
|
311
311
|
RefCountedPtr<XdsTransportFactory> transport_factory,
|
312
|
-
GlobalStatsPluginRegistry::StatsPluginGroup
|
312
|
+
std::shared_ptr<GlobalStatsPluginRegistry::StatsPluginGroup>
|
313
|
+
stats_plugin_group)
|
313
314
|
: XdsClient(
|
314
315
|
bootstrap, transport_factory,
|
315
316
|
grpc_event_engine::experimental::GetDefaultEventEngine(),
|
@@ -324,7 +325,7 @@ GrpcXdsClient::GrpcXdsClient(
|
|
324
325
|
DownCast<const GrpcXdsBootstrap&>(this->bootstrap())
|
325
326
|
.certificate_providers())),
|
326
327
|
stats_plugin_group_(std::move(stats_plugin_group)),
|
327
|
-
registered_metric_callback_(stats_plugin_group_
|
328
|
+
registered_metric_callback_(stats_plugin_group_->RegisterCallback(
|
328
329
|
[this](CallbackMetricReporter& reporter) {
|
329
330
|
ReportCallbackMetrics(reporter);
|
330
331
|
},
|
@@ -64,7 +64,8 @@ class GrpcXdsClient final : public XdsClient {
|
|
64
64
|
std::shared_ptr<GrpcXdsBootstrap> bootstrap,
|
65
65
|
const ChannelArgs& args,
|
66
66
|
RefCountedPtr<XdsTransportFactory> transport_factory,
|
67
|
-
GlobalStatsPluginRegistry::StatsPluginGroup
|
67
|
+
std::shared_ptr<GlobalStatsPluginRegistry::StatsPluginGroup>
|
68
|
+
stats_plugin_group);
|
68
69
|
|
69
70
|
// Helpers for encoding the XdsClient object in channel args.
|
70
71
|
static absl::string_view ChannelArgName() {
|
@@ -97,7 +98,8 @@ class GrpcXdsClient final : public XdsClient {
|
|
97
98
|
|
98
99
|
std::string key_;
|
99
100
|
OrphanablePtr<CertificateProviderStore> certificate_provider_store_;
|
100
|
-
GlobalStatsPluginRegistry::StatsPluginGroup
|
101
|
+
std::shared_ptr<GlobalStatsPluginRegistry::StatsPluginGroup>
|
102
|
+
stats_plugin_group_;
|
101
103
|
std::unique_ptr<RegisteredMetricCallback> registered_metric_callback_;
|
102
104
|
RefCountedPtr<LrsClient> lrs_client_;
|
103
105
|
};
|
@@ -36,8 +36,8 @@
|
|
36
36
|
namespace grpc_core {
|
37
37
|
|
38
38
|
inline bool LrsServersEqual(
|
39
|
-
const std::shared_ptr<const
|
40
|
-
const std::shared_ptr<const
|
39
|
+
const std::shared_ptr<const GrpcXdsServerTarget>& lrs_server1,
|
40
|
+
const std::shared_ptr<const GrpcXdsServerTarget>& lrs_server2) {
|
41
41
|
if (lrs_server1 == nullptr) return lrs_server2 == nullptr;
|
42
42
|
if (lrs_server2 == nullptr) return false;
|
43
43
|
// Neither one is null, so compare them.
|
@@ -90,7 +90,7 @@ struct XdsClusterResource : public XdsResourceType::ResourceData {
|
|
90
90
|
|
91
91
|
// The LRS server to use for load reporting.
|
92
92
|
// If null, load reporting will be disabled.
|
93
|
-
std::shared_ptr<const
|
93
|
+
std::shared_ptr<const GrpcXdsServerTarget> lrs_load_reporting_server;
|
94
94
|
// The set of metrics to propagate from ORCA to LRS.
|
95
95
|
RefCountedPtr<const BackendMetricPropagation> lrs_backend_metric_propagation;
|
96
96
|
|
@@ -509,8 +509,9 @@ absl::StatusOr<std::shared_ptr<const XdsClusterResource>> CdsResourceParse(
|
|
509
509
|
ValidationErrors::ScopedField field(&errors, ".lrs_server");
|
510
510
|
errors.AddError("ConfigSource is not self");
|
511
511
|
}
|
512
|
-
cds_update->lrs_load_reporting_server =
|
513
|
-
|
512
|
+
cds_update->lrs_load_reporting_server =
|
513
|
+
std::static_pointer_cast<const GrpcXdsServerTarget>(
|
514
|
+
context.server.target());
|
514
515
|
}
|
515
516
|
// Record LRS metric propagation.
|
516
517
|
auto propagation = MakeRefCounted<BackendMetricPropagation>();
|
@@ -33,10 +33,10 @@
|
|
33
33
|
#include "envoy/extensions/filters/http/fault/v3/fault.upbdefs.h"
|
34
34
|
#include "envoy/type/v3/percent.upb.h"
|
35
35
|
#include "google/protobuf/wrappers.upb.h"
|
36
|
+
#include "src/core/call/status_util.h"
|
36
37
|
#include "src/core/ext/filters/fault_injection/fault_injection_filter.h"
|
37
38
|
#include "src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h"
|
38
39
|
#include "src/core/lib/channel/channel_args.h"
|
39
|
-
#include "src/core/lib/channel/status_util.h"
|
40
40
|
#include "src/core/lib/transport/status_conversion.h"
|
41
41
|
#include "src/core/util/json/json.h"
|
42
42
|
#include "src/core/util/json/json_writer.h"
|
@@ -23,9 +23,9 @@
|
|
23
23
|
#include "absl/status/statusor.h"
|
24
24
|
#include "absl/strings/str_cat.h"
|
25
25
|
#include "absl/strings/string_view.h"
|
26
|
+
#include "src/core/call/interception_chain.h"
|
26
27
|
#include "src/core/lib/channel/channel_args.h"
|
27
28
|
#include "src/core/lib/channel/channel_fwd.h"
|
28
|
-
#include "src/core/lib/transport/interception_chain.h"
|
29
29
|
#include "src/core/util/json/json.h"
|
30
30
|
#include "src/core/util/json/json_writer.h"
|
31
31
|
#include "src/core/util/validation_errors.h"
|
@@ -26,9 +26,9 @@
|
|
26
26
|
|
27
27
|
#include "absl/status/statusor.h"
|
28
28
|
#include "absl/strings/string_view.h"
|
29
|
+
#include "src/core/call/interception_chain.h"
|
29
30
|
#include "src/core/lib/channel/channel_args.h"
|
30
31
|
#include "src/core/lib/channel/channel_fwd.h"
|
31
|
-
#include "src/core/lib/transport/interception_chain.h"
|
32
32
|
#include "src/core/util/validation_errors.h"
|
33
33
|
#include "src/core/xds/grpc/xds_common_types.h"
|
34
34
|
#include "src/core/xds/grpc/xds_http_filter.h"
|
@@ -28,7 +28,7 @@
|
|
28
28
|
#include <vector>
|
29
29
|
|
30
30
|
#include "re2/re2.h"
|
31
|
-
#include "src/core/
|
31
|
+
#include "src/core/call/status_util.h"
|
32
32
|
#include "src/core/util/matchers.h"
|
33
33
|
#include "src/core/util/time.h"
|
34
34
|
#include "src/core/xds/grpc/xds_http_filter.h"
|
@@ -52,8 +52,8 @@
|
|
52
52
|
#include "google/protobuf/duration.upb.h"
|
53
53
|
#include "google/protobuf/wrappers.upb.h"
|
54
54
|
#include "re2/re2.h"
|
55
|
+
#include "src/core/call/status_util.h"
|
55
56
|
#include "src/core/config/core_configuration.h"
|
56
|
-
#include "src/core/lib/channel/status_util.h"
|
57
57
|
#include "src/core/lib/debug/trace.h"
|
58
58
|
#include "src/core/load_balancing/lb_policy_registry.h"
|
59
59
|
#include "src/core/util/down_cast.h"
|
@@ -31,7 +31,7 @@
|
|
31
31
|
#include "envoy/config/route/v3/route.upb.h"
|
32
32
|
#include "envoy/config/route/v3/route.upbdefs.h"
|
33
33
|
#include "re2/re2.h"
|
34
|
-
#include "src/core/
|
34
|
+
#include "src/core/call/status_util.h"
|
35
35
|
#include "src/core/util/down_cast.h"
|
36
36
|
#include "src/core/util/time.h"
|
37
37
|
#include "src/core/util/validation_errors.h"
|
@@ -29,8 +29,8 @@
|
|
29
29
|
|
30
30
|
#include "absl/status/statusor.h"
|
31
31
|
#include "absl/strings/string_view.h"
|
32
|
+
#include "src/core/call/metadata_batch.h"
|
32
33
|
#include "src/core/lib/channel/channel_args.h"
|
33
|
-
#include "src/core/lib/transport/metadata_batch.h"
|
34
34
|
#include "src/core/xds/grpc/xds_http_filter_registry.h"
|
35
35
|
#include "src/core/xds/grpc/xds_listener.h"
|
36
36
|
#include "src/core/xds/grpc/xds_route_config.h"
|
@@ -71,19 +71,12 @@ bool GrpcXdsServer::TrustedXdsServer() const {
|
|
71
71
|
|
72
72
|
bool GrpcXdsServer::Equals(const XdsServer& other) const {
|
73
73
|
const auto& o = DownCast<const GrpcXdsServer&>(other);
|
74
|
-
return (
|
75
|
-
channel_creds_config_->type() == o.channel_creds_config_->type() &&
|
76
|
-
channel_creds_config_->Equals(*o.channel_creds_config_) &&
|
74
|
+
return (server_target_->Equals(*o.server_target_) &&
|
77
75
|
server_features_ == o.server_features_);
|
78
76
|
}
|
79
77
|
|
80
|
-
std::string GrpcXdsServer::Key() const { return JsonDump(ToJson()); }
|
81
|
-
|
82
78
|
const JsonLoaderInterface* GrpcXdsServer::JsonLoader(const JsonArgs&) {
|
83
|
-
static const auto* loader =
|
84
|
-
JsonObjectLoader<GrpcXdsServer>()
|
85
|
-
.Field("server_uri", &GrpcXdsServer::server_uri_)
|
86
|
-
.Finish();
|
79
|
+
static const auto* loader = JsonObjectLoader<GrpcXdsServer>().Finish();
|
87
80
|
return loader;
|
88
81
|
}
|
89
82
|
|
@@ -107,29 +100,32 @@ struct ChannelCreds {
|
|
107
100
|
|
108
101
|
void GrpcXdsServer::JsonPostLoad(const Json& json, const JsonArgs& args,
|
109
102
|
ValidationErrors* errors) {
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
ValidationErrors::ScopedField field(errors,
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
103
|
+
RefCountedPtr<ChannelCredsConfig> channel_creds_config;
|
104
|
+
{
|
105
|
+
// Parse "channel_creds".
|
106
|
+
auto channel_creds_list = LoadJsonObjectField<std::vector<ChannelCreds>>(
|
107
|
+
json.object(), args, "channel_creds", errors);
|
108
|
+
if (channel_creds_list.has_value()) {
|
109
|
+
ValidationErrors::ScopedField field(errors, ".channel_creds");
|
110
|
+
for (size_t i = 0; i < channel_creds_list->size(); ++i) {
|
111
|
+
ValidationErrors::ScopedField field(errors, absl::StrCat("[", i, "]"));
|
112
|
+
auto& creds = (*channel_creds_list)[i];
|
113
|
+
// Select the first channel creds type that we support, but
|
114
|
+
// validate all entries.
|
115
|
+
if (CoreConfiguration::Get().channel_creds_registry().IsSupported(
|
116
|
+
creds.type)) {
|
117
|
+
ValidationErrors::ScopedField field(errors, ".config");
|
118
|
+
auto config =
|
119
|
+
CoreConfiguration::Get().channel_creds_registry().ParseConfig(
|
120
|
+
creds.type, Json::FromObject(creds.config), args, errors);
|
121
|
+
if (channel_creds_config == nullptr) {
|
122
|
+
channel_creds_config = std::move(config);
|
123
|
+
}
|
128
124
|
}
|
129
125
|
}
|
130
|
-
|
131
|
-
|
132
|
-
|
126
|
+
if (channel_creds_config == nullptr) {
|
127
|
+
errors->AddError("no known creds type found");
|
128
|
+
}
|
133
129
|
}
|
134
130
|
}
|
135
131
|
// Parse "server_features".
|
@@ -154,28 +150,44 @@ void GrpcXdsServer::JsonPostLoad(const Json& json, const JsonArgs& args,
|
|
154
150
|
}
|
155
151
|
}
|
156
152
|
}
|
153
|
+
// Parse "server_uri".
|
154
|
+
std::string server_uri_target = LoadJsonObjectField<std::string>(
|
155
|
+
json.object(), args, "server_uri", errors)
|
156
|
+
.value_or("");
|
157
|
+
server_target_ = std::make_shared<GrpcXdsServerTarget>(
|
158
|
+
std::move(server_uri_target), std::move(channel_creds_config));
|
157
159
|
}
|
158
160
|
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
if (channel_creds_config_ != nullptr) {
|
164
|
-
channel_creds_json["config"] = channel_creds_config_->ToJson();
|
165
|
-
}
|
166
|
-
Json::Object json{
|
167
|
-
{"server_uri", Json::FromString(server_uri_)},
|
168
|
-
{"channel_creds",
|
169
|
-
Json::FromArray({Json::FromObject(std::move(channel_creds_json))})},
|
170
|
-
};
|
161
|
+
std::string GrpcXdsServer::Key() const {
|
162
|
+
std::vector<std::string> parts;
|
163
|
+
parts.push_back("{");
|
164
|
+
parts.push_back(absl::StrCat("target=", server_target_->Key()));
|
171
165
|
if (!server_features_.empty()) {
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
166
|
+
parts.push_back(absl::StrCat("server_features=[",
|
167
|
+
absl::StrJoin(server_features_, ","), "]"));
|
168
|
+
}
|
169
|
+
parts.push_back("}");
|
170
|
+
return absl::StrJoin(parts, ",");
|
171
|
+
}
|
172
|
+
|
173
|
+
std::string GrpcXdsServerTarget::Key() const {
|
174
|
+
std::vector<std::string> parts;
|
175
|
+
parts.push_back("{");
|
176
|
+
parts.push_back(absl::StrCat("server_uri=", server_uri_));
|
177
|
+
if (channel_creds_config_ != nullptr) {
|
178
|
+
parts.push_back(absl::StrCat("creds_type=", channel_creds_config_->type()));
|
179
|
+
parts.push_back(
|
180
|
+
absl::StrCat("creds_config=", channel_creds_config_->ToString()));
|
177
181
|
}
|
178
|
-
|
182
|
+
parts.push_back("}");
|
183
|
+
return absl::StrJoin(parts, ",");
|
184
|
+
}
|
185
|
+
|
186
|
+
bool GrpcXdsServerTarget::Equals(const XdsServerTarget& other) const {
|
187
|
+
const auto& o = DownCast<const GrpcXdsServerTarget&>(other);
|
188
|
+
return (server_uri_ == o.server_uri_ &&
|
189
|
+
channel_creds_config_->type() == o.channel_creds_config_->type() &&
|
190
|
+
channel_creds_config_->Equals(*o.channel_creds_config_));
|
179
191
|
}
|
180
192
|
|
181
193
|
} // namespace grpc_core
|
@@ -20,7 +20,7 @@
|
|
20
20
|
#include <set>
|
21
21
|
#include <string>
|
22
22
|
|
23
|
-
#include "src/core/
|
23
|
+
#include "src/core/credentials/transport/channel_creds_registry.h"
|
24
24
|
#include "src/core/util/json/json.h"
|
25
25
|
#include "src/core/util/json/json_args.h"
|
26
26
|
#include "src/core/util/json/json_object_loader.h"
|
@@ -31,33 +31,43 @@
|
|
31
31
|
|
32
32
|
namespace grpc_core {
|
33
33
|
|
34
|
-
class
|
34
|
+
class GrpcXdsServerTarget final : public GrpcXdsServerInterface {
|
35
35
|
public:
|
36
|
+
explicit GrpcXdsServerTarget(
|
37
|
+
std::string server_uri,
|
38
|
+
RefCountedPtr<ChannelCredsConfig> channel_creds_config)
|
39
|
+
: server_uri_(std::move(server_uri)),
|
40
|
+
channel_creds_config_(std::move(channel_creds_config)) {}
|
41
|
+
|
42
|
+
bool Equals(const XdsServerTarget& other) const override;
|
43
|
+
std::string Key() const override;
|
36
44
|
const std::string& server_uri() const override { return server_uri_; }
|
45
|
+
RefCountedPtr<ChannelCredsConfig> channel_creds_config() const override {
|
46
|
+
return channel_creds_config_;
|
47
|
+
}
|
37
48
|
|
49
|
+
private:
|
50
|
+
std::string server_uri_;
|
51
|
+
RefCountedPtr<ChannelCredsConfig> channel_creds_config_;
|
52
|
+
};
|
53
|
+
|
54
|
+
class GrpcXdsServer final : public XdsBootstrap::XdsServer {
|
55
|
+
public:
|
38
56
|
bool IgnoreResourceDeletion() const override;
|
39
57
|
bool FailOnDataErrors() const override;
|
40
58
|
bool ResourceTimerIsTransientFailure() const override;
|
41
|
-
|
42
59
|
bool TrustedXdsServer() const;
|
43
|
-
|
44
60
|
bool Equals(const XdsServer& other) const override;
|
45
|
-
|
46
61
|
std::string Key() const override;
|
47
|
-
|
48
|
-
|
49
|
-
return channel_creds_config_;
|
62
|
+
std::shared_ptr<const XdsBootstrap::XdsServerTarget> target() const override {
|
63
|
+
return server_target_;
|
50
64
|
}
|
51
|
-
|
52
65
|
static const JsonLoaderInterface* JsonLoader(const JsonArgs&);
|
53
66
|
void JsonPostLoad(const Json& json, const JsonArgs& args,
|
54
67
|
ValidationErrors* errors);
|
55
68
|
|
56
|
-
Json ToJson() const;
|
57
|
-
|
58
69
|
private:
|
59
|
-
std::
|
60
|
-
RefCountedPtr<ChannelCredsConfig> channel_creds_config_;
|
70
|
+
std::shared_ptr<GrpcXdsServerTarget> server_target_;
|
61
71
|
std::set<std::string> server_features_;
|
62
72
|
};
|
63
73
|
|
@@ -17,13 +17,13 @@
|
|
17
17
|
#ifndef GRPC_SRC_CORE_XDS_GRPC_XDS_SERVER_GRPC_INTERFACE_H
|
18
18
|
#define GRPC_SRC_CORE_XDS_GRPC_XDS_SERVER_GRPC_INTERFACE_H
|
19
19
|
|
20
|
-
#include "src/core/
|
20
|
+
#include "src/core/credentials/transport/channel_creds_registry.h"
|
21
21
|
#include "src/core/util/ref_counted_ptr.h"
|
22
22
|
#include "src/core/xds/xds_client/xds_bootstrap.h"
|
23
23
|
|
24
24
|
namespace grpc_core {
|
25
25
|
|
26
|
-
class GrpcXdsServerInterface : public XdsBootstrap::
|
26
|
+
class GrpcXdsServerInterface : public XdsBootstrap::XdsServerTarget {
|
27
27
|
public:
|
28
28
|
virtual RefCountedPtr<ChannelCredsConfig> channel_creds_config() const = 0;
|
29
29
|
};
|
@@ -35,6 +35,8 @@
|
|
35
35
|
#include "absl/strings/str_cat.h"
|
36
36
|
#include "src/core/client_channel/client_channel_filter.h"
|
37
37
|
#include "src/core/config/core_configuration.h"
|
38
|
+
#include "src/core/credentials/transport/channel_creds_registry.h"
|
39
|
+
#include "src/core/credentials/transport/transport_credentials.h"
|
38
40
|
#include "src/core/lib/channel/channel_args.h"
|
39
41
|
#include "src/core/lib/channel/channel_fwd.h"
|
40
42
|
#include "src/core/lib/channel/channel_stack.h"
|
@@ -43,8 +45,6 @@
|
|
43
45
|
#include "src/core/lib/iomgr/closure.h"
|
44
46
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
45
47
|
#include "src/core/lib/iomgr/pollset_set.h"
|
46
|
-
#include "src/core/lib/security/credentials/channel_creds_registry.h"
|
47
|
-
#include "src/core/lib/security/credentials/credentials.h"
|
48
48
|
#include "src/core/lib/slice/slice.h"
|
49
49
|
#include "src/core/lib/slice/slice_internal.h"
|
50
50
|
#include "src/core/lib/surface/call.h"
|
@@ -263,7 +263,7 @@ RefCountedPtr<Channel> CreateXdsChannel(const ChannelArgs& args,
|
|
263
263
|
|
264
264
|
GrpcXdsTransportFactory::GrpcXdsTransport::GrpcXdsTransport(
|
265
265
|
WeakRefCountedPtr<GrpcXdsTransportFactory> factory,
|
266
|
-
const XdsBootstrap::
|
266
|
+
const XdsBootstrap::XdsServerTarget& server, absl::Status* status)
|
267
267
|
: XdsTransport(GRPC_TRACE_FLAG_ENABLED(xds_client_refcount)
|
268
268
|
? "GrpcXdsTransport"
|
269
269
|
: nullptr),
|
@@ -372,8 +372,8 @@ GrpcXdsTransportFactory::~GrpcXdsTransportFactory() {
|
|
372
372
|
}
|
373
373
|
|
374
374
|
RefCountedPtr<XdsTransportFactory::XdsTransport>
|
375
|
-
GrpcXdsTransportFactory::GetTransport(
|
376
|
-
|
375
|
+
GrpcXdsTransportFactory::GetTransport(
|
376
|
+
const XdsBootstrap::XdsServerTarget& server, absl::Status* status) {
|
377
377
|
std::string key = server.Key();
|
378
378
|
RefCountedPtr<GrpcXdsTransport> transport;
|
379
379
|
MutexLock lock(&mu_);
|
@@ -51,7 +51,8 @@ class GrpcXdsTransportFactory final : public XdsTransportFactory {
|
|
51
51
|
void Orphaned() override {}
|
52
52
|
|
53
53
|
RefCountedPtr<XdsTransport> GetTransport(
|
54
|
-
const XdsBootstrap::
|
54
|
+
const XdsBootstrap::XdsServerTarget& server,
|
55
|
+
absl::Status* status) override;
|
55
56
|
|
56
57
|
grpc_pollset_set* interested_parties() const { return interested_parties_; }
|
57
58
|
|
@@ -60,7 +61,7 @@ class GrpcXdsTransportFactory final : public XdsTransportFactory {
|
|
60
61
|
grpc_pollset_set* interested_parties_;
|
61
62
|
|
62
63
|
Mutex mu_;
|
63
|
-
absl::flat_hash_map<std::string /*
|
64
|
+
absl::flat_hash_map<std::string /*XdsServerTarget key*/, GrpcXdsTransport*>
|
64
65
|
transports_ ABSL_GUARDED_BY(&mu_);
|
65
66
|
};
|
66
67
|
|
@@ -70,7 +71,8 @@ class GrpcXdsTransportFactory::GrpcXdsTransport final
|
|
70
71
|
class GrpcStreamingCall;
|
71
72
|
|
72
73
|
GrpcXdsTransport(WeakRefCountedPtr<GrpcXdsTransportFactory> factory,
|
73
|
-
const XdsBootstrap::
|
74
|
+
const XdsBootstrap::XdsServerTarget& server,
|
75
|
+
absl::Status* status);
|
74
76
|
~GrpcXdsTransport() override;
|
75
77
|
|
76
78
|
void Orphaned() override;
|
@@ -389,7 +389,7 @@ class LrsClient::LrsChannel::LrsCall final
|
|
389
389
|
|
390
390
|
LrsClient::LrsChannel::LrsChannel(
|
391
391
|
WeakRefCountedPtr<LrsClient> lrs_client,
|
392
|
-
std::shared_ptr<const XdsBootstrap::
|
392
|
+
std::shared_ptr<const XdsBootstrap::XdsServerTarget> server)
|
393
393
|
: DualRefCounted<LrsChannel>(GRPC_TRACE_FLAG_ENABLED(xds_client_refcount)
|
394
394
|
? "LrsChannel"
|
395
395
|
: nullptr),
|
@@ -791,7 +791,8 @@ void LrsClient::Orphaned() {
|
|
791
791
|
}
|
792
792
|
|
793
793
|
RefCountedPtr<LrsClient::LrsChannel> LrsClient::GetOrCreateLrsChannelLocked(
|
794
|
-
std::shared_ptr<const XdsBootstrap::
|
794
|
+
std::shared_ptr<const XdsBootstrap::XdsServerTarget> server,
|
795
|
+
const char* reason) {
|
795
796
|
std::string key = server->Key();
|
796
797
|
auto it = lrs_channel_map_.find(key);
|
797
798
|
if (it != lrs_channel_map_.end()) {
|
@@ -805,7 +806,7 @@ RefCountedPtr<LrsClient::LrsChannel> LrsClient::GetOrCreateLrsChannelLocked(
|
|
805
806
|
}
|
806
807
|
|
807
808
|
RefCountedPtr<LrsClient::ClusterDropStats> LrsClient::AddClusterDropStats(
|
808
|
-
std::shared_ptr<const XdsBootstrap::
|
809
|
+
std::shared_ptr<const XdsBootstrap::XdsServerTarget> lrs_server,
|
809
810
|
absl::string_view cluster_name, absl::string_view eds_service_name) {
|
810
811
|
auto key =
|
811
812
|
std::pair(std::string(cluster_name), std::string(eds_service_name));
|
@@ -868,7 +869,7 @@ void LrsClient::RemoveClusterDropStats(
|
|
868
869
|
|
869
870
|
RefCountedPtr<LrsClient::ClusterLocalityStats>
|
870
871
|
LrsClient::AddClusterLocalityStats(
|
871
|
-
std::shared_ptr<const XdsBootstrap::
|
872
|
+
std::shared_ptr<const XdsBootstrap::XdsServerTarget> lrs_server,
|
872
873
|
absl::string_view cluster_name, absl::string_view eds_service_name,
|
873
874
|
RefCountedPtr<XdsLocalityName> locality,
|
874
875
|
RefCountedPtr<const BackendMetricPropagation> backend_metric_propagation) {
|
@@ -954,7 +955,7 @@ void LrsClient::ResetBackoff() {
|
|
954
955
|
}
|
955
956
|
|
956
957
|
LrsClient::ClusterLoadReportMap LrsClient::BuildLoadReportSnapshotLocked(
|
957
|
-
const XdsBootstrap::
|
958
|
+
const XdsBootstrap::XdsServerTarget& lrs_server, bool send_all_clusters,
|
958
959
|
const std::set<std::string>& clusters) {
|
959
960
|
GRPC_TRACE_LOG(xds_client, INFO)
|
960
961
|
<< "[lrs_client " << this << "] start building load report";
|
@@ -237,13 +237,13 @@ class LrsClient : public DualRefCounted<LrsClient> {
|
|
237
237
|
|
238
238
|
// Adds drop stats for cluster_name and eds_service_name.
|
239
239
|
RefCountedPtr<ClusterDropStats> AddClusterDropStats(
|
240
|
-
std::shared_ptr<const XdsBootstrap::
|
240
|
+
std::shared_ptr<const XdsBootstrap::XdsServerTarget> lrs_server,
|
241
241
|
absl::string_view cluster_name, absl::string_view eds_service_name);
|
242
242
|
|
243
243
|
// Adds locality stats for cluster_name and eds_service_name for the
|
244
244
|
// specified locality with the specified backend metric propagation.
|
245
245
|
RefCountedPtr<ClusterLocalityStats> AddClusterLocalityStats(
|
246
|
-
std::shared_ptr<const XdsBootstrap::
|
246
|
+
std::shared_ptr<const XdsBootstrap::XdsServerTarget> lrs_server,
|
247
247
|
absl::string_view cluster_name, absl::string_view eds_service_name,
|
248
248
|
RefCountedPtr<XdsLocalityName> locality,
|
249
249
|
RefCountedPtr<const BackendMetricPropagation> backend_metric_propagation);
|
@@ -270,7 +270,7 @@ class LrsClient : public DualRefCounted<LrsClient> {
|
|
270
270
|
class LrsCall;
|
271
271
|
|
272
272
|
LrsChannel(WeakRefCountedPtr<LrsClient> lrs_client,
|
273
|
-
std::shared_ptr<const XdsBootstrap::
|
273
|
+
std::shared_ptr<const XdsBootstrap::XdsServerTarget> server);
|
274
274
|
~LrsChannel() override;
|
275
275
|
|
276
276
|
LrsClient* lrs_client() const { return lrs_client_.get(); }
|
@@ -289,7 +289,7 @@ class LrsClient : public DualRefCounted<LrsClient> {
|
|
289
289
|
// The owning LrsClient.
|
290
290
|
WeakRefCountedPtr<LrsClient> lrs_client_;
|
291
291
|
|
292
|
-
std::shared_ptr<const XdsBootstrap::
|
292
|
+
std::shared_ptr<const XdsBootstrap::XdsServerTarget> server_;
|
293
293
|
|
294
294
|
RefCountedPtr<XdsTransportFactory::XdsTransport> transport_;
|
295
295
|
|
@@ -337,12 +337,12 @@ class LrsClient : public DualRefCounted<LrsClient> {
|
|
337
337
|
void Orphaned() override;
|
338
338
|
|
339
339
|
ClusterLoadReportMap BuildLoadReportSnapshotLocked(
|
340
|
-
const XdsBootstrap::
|
340
|
+
const XdsBootstrap::XdsServerTarget& lrs_server, bool send_all_clusters,
|
341
341
|
const std::set<std::string>& clusters) ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_);
|
342
342
|
|
343
343
|
RefCountedPtr<LrsChannel> GetOrCreateLrsChannelLocked(
|
344
|
-
std::shared_ptr<const XdsBootstrap::
|
345
|
-
ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_);
|
344
|
+
std::shared_ptr<const XdsBootstrap::XdsServerTarget> server,
|
345
|
+
const char* reason) ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_);
|
346
346
|
|
347
347
|
static bool LoadReportCountersAreZero(const ClusterLoadReportMap& snapshot);
|
348
348
|
|
@@ -42,11 +42,26 @@ class XdsBootstrap {
|
|
42
42
|
virtual const Json::Object& metadata() const = 0;
|
43
43
|
};
|
44
44
|
|
45
|
+
class XdsServerTarget {
|
46
|
+
public:
|
47
|
+
virtual ~XdsServerTarget() = default;
|
48
|
+
virtual const std::string& server_uri() const = 0;
|
49
|
+
// Returns a key to be used for uniquely identifying this XdsServerTarget.
|
50
|
+
virtual std::string Key() const = 0;
|
51
|
+
virtual bool Equals(const XdsServerTarget& other) const = 0;
|
52
|
+
friend bool operator==(const XdsServerTarget& a, const XdsServerTarget& b) {
|
53
|
+
return a.Equals(b);
|
54
|
+
}
|
55
|
+
friend bool operator!=(const XdsServerTarget& a, const XdsServerTarget& b) {
|
56
|
+
return !a.Equals(b);
|
57
|
+
}
|
58
|
+
};
|
59
|
+
|
45
60
|
class XdsServer {
|
46
61
|
public:
|
47
62
|
virtual ~XdsServer() = default;
|
48
63
|
|
49
|
-
virtual
|
64
|
+
virtual std::shared_ptr<const XdsServerTarget> target() const = 0;
|
50
65
|
|
51
66
|
// TODO(roth): Remove this method once the data error handling
|
52
67
|
// feature passes interop tests.
|