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
@@ -65,13 +65,13 @@
|
|
65
65
|
#include "src/core/channelz/channelz.h"
|
66
66
|
#include "src/core/client_channel/client_channel_filter.h"
|
67
67
|
#include "src/core/config/core_configuration.h"
|
68
|
+
#include "src/core/credentials/transport/fake/fake_credentials.h"
|
68
69
|
#include "src/core/lib/channel/channel_args.h"
|
69
70
|
#include "src/core/lib/debug/trace.h"
|
70
71
|
#include "src/core/lib/iomgr/closure.h"
|
71
72
|
#include "src/core/lib/iomgr/error.h"
|
72
73
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
73
74
|
#include "src/core/lib/iomgr/pollset_set.h"
|
74
|
-
#include "src/core/lib/security/credentials/fake/fake_credentials.h"
|
75
75
|
#include "src/core/lib/slice/slice.h"
|
76
76
|
#include "src/core/lib/slice/slice_internal.h"
|
77
77
|
#include "src/core/lib/surface/call.h"
|
@@ -401,7 +401,8 @@ class RlsLb final : public LoadBalancingPolicy {
|
|
401
401
|
size_t Size() const ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
|
402
402
|
|
403
403
|
// Pick subchannel for request based on the entry's state.
|
404
|
-
PickResult Pick(PickArgs args
|
404
|
+
PickResult Pick(PickArgs args, absl::string_view lookup_service)
|
405
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
|
405
406
|
|
406
407
|
// If the cache entry is in backoff state, resets the backoff and, if
|
407
408
|
// applicable, its backoff timer. The method does not update the LB
|
@@ -684,17 +685,16 @@ class RlsLb final : public LoadBalancingPolicy {
|
|
684
685
|
|
685
686
|
void ShutdownLocked() override;
|
686
687
|
|
687
|
-
//
|
688
|
-
//
|
689
|
-
//
|
688
|
+
// Schedules a call to UpdatePickerLocked() on the WorkSerializer.
|
689
|
+
// The call will be run asynchronously, so it's safe to invoke this
|
690
|
+
// while holding the lock.
|
690
691
|
void UpdatePickerAsync();
|
691
|
-
// Hops into work serializer and calls UpdatePickerLocked().
|
692
|
-
static void UpdatePickerCallback(void* arg, grpc_error_handle error);
|
693
692
|
// Updates the picker in the work serializer.
|
694
693
|
void UpdatePickerLocked() ABSL_LOCKS_EXCLUDED(&mu_);
|
695
694
|
|
696
695
|
template <typename HandleType>
|
697
696
|
void MaybeExportPickCount(HandleType handle, absl::string_view target,
|
697
|
+
absl::string_view lookup_service,
|
698
698
|
const PickResult& pick_result);
|
699
699
|
|
700
700
|
const std::string instance_uuid_;
|
@@ -1002,7 +1002,7 @@ LoadBalancingPolicy::PickResult RlsLb::Picker::Pick(PickArgs args) {
|
|
1002
1002
|
GRPC_TRACE_LOG(rls_lb, INFO)
|
1003
1003
|
<< "[rlslb " << lb_policy_.get() << "] picker=" << this
|
1004
1004
|
<< ": using cache entry " << entry;
|
1005
|
-
return entry->Pick(args);
|
1005
|
+
return entry->Pick(args, config_->lookup_service());
|
1006
1006
|
}
|
1007
1007
|
// If the entry is in backoff, then use the default target if set,
|
1008
1008
|
// or else fail the pick.
|
@@ -1028,7 +1028,8 @@ LoadBalancingPolicy::PickResult RlsLb::Picker::PickFromDefaultTargetOrFail(
|
|
1028
1028
|
<< reason << "; using default target";
|
1029
1029
|
auto pick_result = default_child_policy_->Pick(args);
|
1030
1030
|
lb_policy_->MaybeExportPickCount(kMetricDefaultTargetPicks,
|
1031
|
-
config_->default_target(),
|
1031
|
+
config_->default_target(),
|
1032
|
+
config_->lookup_service(), pick_result);
|
1032
1033
|
return pick_result;
|
1033
1034
|
}
|
1034
1035
|
GRPC_TRACE_LOG(rls_lb, INFO)
|
@@ -1139,7 +1140,8 @@ size_t RlsLb::Cache::Entry::Size() const {
|
|
1139
1140
|
return lb_policy_->cache_.EntrySizeForKey(*lru_iterator_);
|
1140
1141
|
}
|
1141
1142
|
|
1142
|
-
LoadBalancingPolicy::PickResult RlsLb::Cache::Entry::Pick(
|
1143
|
+
LoadBalancingPolicy::PickResult RlsLb::Cache::Entry::Pick(
|
1144
|
+
PickArgs args, absl::string_view lookup_service) {
|
1143
1145
|
size_t i = 0;
|
1144
1146
|
ChildPolicyWrapper* child_policy_wrapper = nullptr;
|
1145
1147
|
// Skip targets before the last one that are in state TRANSIENT_FAILURE.
|
@@ -1169,7 +1171,8 @@ LoadBalancingPolicy::PickResult RlsLb::Cache::Entry::Pick(PickArgs args) {
|
|
1169
1171
|
<< "; delegating";
|
1170
1172
|
auto pick_result = child_policy_wrapper->Pick(args);
|
1171
1173
|
lb_policy_->MaybeExportPickCount(kMetricTargetPicks,
|
1172
|
-
child_policy_wrapper->target(),
|
1174
|
+
child_policy_wrapper->target(),
|
1175
|
+
lookup_service, pick_result);
|
1173
1176
|
// Add header data.
|
1174
1177
|
if (!header_data_.empty()) {
|
1175
1178
|
auto* complete_pick =
|
@@ -2057,23 +2060,10 @@ void RlsLb::ShutdownLocked() {
|
|
2057
2060
|
}
|
2058
2061
|
|
2059
2062
|
void RlsLb::UpdatePickerAsync() {
|
2060
|
-
|
2061
|
-
|
2062
|
-
|
2063
|
-
|
2064
|
-
DEBUG_LOCATION,
|
2065
|
-
GRPC_CLOSURE_CREATE(UpdatePickerCallback,
|
2066
|
-
Ref(DEBUG_LOCATION, "UpdatePickerCallback").release(),
|
2067
|
-
grpc_schedule_on_exec_ctx),
|
2068
|
-
absl::OkStatus());
|
2069
|
-
}
|
2070
|
-
|
2071
|
-
void RlsLb::UpdatePickerCallback(void* arg, grpc_error_handle /*error*/) {
|
2072
|
-
auto* rls_lb = static_cast<RlsLb*>(arg);
|
2073
|
-
rls_lb->work_serializer()->Run([rls_lb]() {
|
2074
|
-
RefCountedPtr<RlsLb> lb_policy(rls_lb);
|
2075
|
-
lb_policy->UpdatePickerLocked();
|
2076
|
-
lb_policy.reset(DEBUG_LOCATION, "UpdatePickerCallback");
|
2063
|
+
work_serializer()->Run([self = RefAsSubclass<RlsLb>(
|
2064
|
+
DEBUG_LOCATION, "UpdatePickerAsync")]() mutable {
|
2065
|
+
self->UpdatePickerLocked();
|
2066
|
+
self.reset(DEBUG_LOCATION, "UpdatePickerAsync");
|
2077
2067
|
});
|
2078
2068
|
}
|
2079
2069
|
|
@@ -2129,6 +2119,7 @@ void RlsLb::UpdatePickerLocked() {
|
|
2129
2119
|
|
2130
2120
|
template <typename HandleType>
|
2131
2121
|
void RlsLb::MaybeExportPickCount(HandleType handle, absl::string_view target,
|
2122
|
+
absl::string_view lookup_service,
|
2132
2123
|
const PickResult& pick_result) {
|
2133
2124
|
absl::string_view pick_result_string = Match(
|
2134
2125
|
pick_result.result,
|
@@ -2140,11 +2131,10 @@ void RlsLb::MaybeExportPickCount(HandleType handle, absl::string_view target,
|
|
2140
2131
|
[](const LoadBalancingPolicy::PickResult::Drop&) { return "drop"; });
|
2141
2132
|
if (pick_result_string.empty()) return; // Don't report queued picks.
|
2142
2133
|
auto& stats_plugins = channel_control_helper()->GetStatsPluginGroup();
|
2143
|
-
stats_plugins.AddCounter(
|
2144
|
-
|
2145
|
-
|
2146
|
-
|
2147
|
-
{});
|
2134
|
+
stats_plugins.AddCounter(handle, 1,
|
2135
|
+
{channel_control_helper()->GetTarget(),
|
2136
|
+
lookup_service, target, pick_result_string},
|
2137
|
+
{});
|
2148
2138
|
}
|
2149
2139
|
|
2150
2140
|
//
|
@@ -2373,14 +2363,18 @@ void RlsLbConfig::RouteLookupConfig::JsonPostLoad(const Json& json,
|
|
2373
2363
|
errors->AddError("must be valid gRPC target URI");
|
2374
2364
|
}
|
2375
2365
|
}
|
2376
|
-
// Clamp maxAge to the max allowed value.
|
2377
|
-
if (max_age > kMaxMaxAge) max_age = kMaxMaxAge;
|
2378
2366
|
// If staleAge is set, then maxAge must also be set.
|
2379
|
-
|
2380
|
-
json.object().find("
|
2367
|
+
const bool stale_age_set =
|
2368
|
+
json.object().find("staleAge") != json.object().end();
|
2369
|
+
const bool max_age_set = json.object().find("maxAge") != json.object().end();
|
2370
|
+
if (stale_age_set && !max_age_set) {
|
2381
2371
|
ValidationErrors::ScopedField field(errors, ".maxAge");
|
2382
2372
|
errors->AddError("must be set if staleAge is set");
|
2383
2373
|
}
|
2374
|
+
// Clamp staleAge to the max allowed value.
|
2375
|
+
if (stale_age > kMaxMaxAge) stale_age = kMaxMaxAge;
|
2376
|
+
// If staleAge is not set, clamp maxAge to the max allowed value.
|
2377
|
+
if (!stale_age_set && max_age > kMaxMaxAge) max_age = kMaxMaxAge;
|
2384
2378
|
// Ignore staleAge if greater than or equal to maxAge.
|
2385
2379
|
if (stale_age >= max_age) stale_age = max_age;
|
2386
2380
|
// Validate cacheSizeBytes.
|
@@ -350,7 +350,7 @@ absl::Status WeightedTargetLb::UpdateLocked(UpdateArgs args) {
|
|
350
350
|
update_in_progress_ = false;
|
351
351
|
if (config_->target_map().empty()) {
|
352
352
|
absl::Status status = absl::UnavailableError(absl::StrCat(
|
353
|
-
"no children in weighted_target policy
|
353
|
+
"no children in weighted_target policy (", args.resolution_note, ")"));
|
354
354
|
channel_control_helper()->UpdateState(
|
355
355
|
GRPC_CHANNEL_TRANSIENT_FAILURE, status,
|
356
356
|
MakeRefCounted<TransientFailurePicker>(status));
|
@@ -542,16 +542,9 @@ Json CdsLb::CreateChildPolicyConfigForLeafCluster(
|
|
542
542
|
cluster_resource.type);
|
543
543
|
// Determine what xDS LB policy to use.
|
544
544
|
Json xds_lb_policy;
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
{"pick_first", Json::FromObject({})},
|
549
|
-
}),
|
550
|
-
});
|
551
|
-
}
|
552
|
-
// TODO(roth): Remove this "else if" block after the 1.63 release.
|
553
|
-
else if (XdsAggregateClusterBackwardCompatibilityEnabled() &&
|
554
|
-
aggregate_cluster_resource != nullptr) {
|
545
|
+
// TODO(roth): Remove this "if" condition after the 1.63 release.
|
546
|
+
if (XdsAggregateClusterBackwardCompatibilityEnabled() &&
|
547
|
+
aggregate_cluster_resource != nullptr) {
|
555
548
|
xds_lb_policy =
|
556
549
|
Json::FromArray(aggregate_cluster_resource->lb_policy_config);
|
557
550
|
} else {
|
@@ -37,11 +37,11 @@
|
|
37
37
|
#include "absl/strings/string_view.h"
|
38
38
|
#include "src/core/client_channel/client_channel_internal.h"
|
39
39
|
#include "src/core/config/core_configuration.h"
|
40
|
+
#include "src/core/credentials/transport/xds/xds_credentials.h"
|
40
41
|
#include "src/core/lib/channel/channel_args.h"
|
41
42
|
#include "src/core/lib/debug/trace.h"
|
42
43
|
#include "src/core/lib/iomgr/pollset_set.h"
|
43
44
|
#include "src/core/lib/iomgr/resolved_address.h"
|
44
|
-
#include "src/core/lib/security/credentials/xds/xds_credentials.h"
|
45
45
|
#include "src/core/lib/transport/connectivity_state.h"
|
46
46
|
#include "src/core/load_balancing/backend_metric_data.h"
|
47
47
|
#include "src/core/load_balancing/child_policy_handler.h"
|
@@ -62,6 +62,7 @@ extern void RegisterOutlierDetectionLbPolicy(
|
|
62
62
|
CoreConfiguration::Builder* builder);
|
63
63
|
extern void RegisterWeightedTargetLbPolicy(CoreConfiguration::Builder* builder);
|
64
64
|
extern void RegisterPickFirstLbPolicy(CoreConfiguration::Builder* builder);
|
65
|
+
extern void RegisterRingHashLbPolicy(CoreConfiguration::Builder* builder);
|
65
66
|
extern void RegisterRoundRobinLbPolicy(CoreConfiguration::Builder* builder);
|
66
67
|
extern void RegisterWeightedRoundRobinLbPolicy(
|
67
68
|
CoreConfiguration::Builder* builder);
|
@@ -102,6 +103,7 @@ void BuildCoreConfiguration(CoreConfiguration::Builder* builder) {
|
|
102
103
|
RegisterWeightedTargetLbPolicy(builder);
|
103
104
|
RegisterPickFirstLbPolicy(builder);
|
104
105
|
RegisterRoundRobinLbPolicy(builder);
|
106
|
+
RegisterRingHashLbPolicy(builder);
|
105
107
|
RegisterWeightedRoundRobinLbPolicy(builder);
|
106
108
|
BuildClientChannelConfiguration(builder);
|
107
109
|
SecurityRegisterHandshakerFactories(builder);
|
@@ -37,7 +37,6 @@ extern void RegisterCdsLbPolicy(CoreConfiguration::Builder* builder);
|
|
37
37
|
extern void RegisterXdsOverrideHostLbPolicy(
|
38
38
|
CoreConfiguration::Builder* builder);
|
39
39
|
extern void RegisterXdsWrrLocalityLbPolicy(CoreConfiguration::Builder* builder);
|
40
|
-
extern void RegisterRingHashLbPolicy(CoreConfiguration::Builder* builder);
|
41
40
|
extern void RegisterFileWatcherCertificateProvider(
|
42
41
|
CoreConfiguration::Builder* builder);
|
43
42
|
extern void RegisterXdsHttpProxyMapper(CoreConfiguration::Builder* builder);
|
@@ -60,7 +59,6 @@ void RegisterExtraFilters(CoreConfiguration::Builder* builder) {
|
|
60
59
|
RegisterCdsLbPolicy(builder);
|
61
60
|
RegisterXdsOverrideHostLbPolicy(builder);
|
62
61
|
RegisterXdsWrrLocalityLbPolicy(builder);
|
63
|
-
RegisterRingHashLbPolicy(builder);
|
64
62
|
RegisterFileWatcherCertificateProvider(builder);
|
65
63
|
RegisterXdsHttpProxyMapper(builder);
|
66
64
|
#endif
|
@@ -330,11 +330,9 @@ AresClientChannelDNSResolver::AresRequestWrapper::OnResolvedLocked(
|
|
330
330
|
GRPC_TRACE_VLOG(cares_resolver, 2)
|
331
331
|
<< "(c-ares resolver) resolver:" << this
|
332
332
|
<< " dns resolution failed: " << StatusToString(error);
|
333
|
-
std::string error_message;
|
334
|
-
grpc_error_get_str(error, StatusStrProperty::kDescription, &error_message);
|
335
333
|
absl::Status status = absl::UnavailableError(
|
336
334
|
absl::StrCat("DNS resolution failed for ", resolver_->name_to_resolve(),
|
337
|
-
": ",
|
335
|
+
": ", error.message()));
|
338
336
|
result.addresses = status;
|
339
337
|
result.service_config = status;
|
340
338
|
}
|
@@ -34,6 +34,8 @@
|
|
34
34
|
#include "src/core/resolver/endpoint_addresses.h"
|
35
35
|
#include "src/core/util/sync.h"
|
36
36
|
|
37
|
+
#if GRPC_ARES == 1
|
38
|
+
|
37
39
|
#define GRPC_DNS_ARES_DEFAULT_QUERY_TIMEOUT_MS 120000
|
38
40
|
|
39
41
|
typedef struct grpc_ares_ev_driver grpc_ares_ev_driver;
|
@@ -122,4 +124,6 @@ extern void (*grpc_ares_test_only_inject_config)(ares_channel* channel);
|
|
122
124
|
// Exposed in this header for C-core tests only
|
123
125
|
extern bool g_grpc_ares_test_only_force_tcp;
|
124
126
|
|
127
|
+
#endif
|
128
|
+
|
125
129
|
#endif // GRPC_SRC_CORE_RESOLVER_DNS_C_ARES_GRPC_ARES_WRAPPER_H
|
@@ -32,10 +32,10 @@
|
|
32
32
|
#include "absl/strings/string_view.h"
|
33
33
|
#include "absl/strings/strip.h"
|
34
34
|
#include "src/core/config/core_configuration.h"
|
35
|
+
#include "src/core/credentials/transport/alts/check_gcp_environment.h"
|
35
36
|
#include "src/core/lib/channel/channel_args.h"
|
36
37
|
#include "src/core/lib/iomgr/polling_entity.h"
|
37
38
|
#include "src/core/lib/resource_quota/resource_quota.h"
|
38
|
-
#include "src/core/lib/security/credentials/alts/check_gcp_environment.h"
|
39
39
|
#include "src/core/resolver/resolver.h"
|
40
40
|
#include "src/core/resolver/resolver_factory.h"
|
41
41
|
#include "src/core/resolver/resolver_registry.h"
|
@@ -605,11 +605,16 @@ void XdsDependencyManager::PopulateDnsUpdate(const std::string& dns_name,
|
|
605
605
|
locality.name = MakeRefCounted<XdsLocalityName>("", "", "");
|
606
606
|
locality.lb_weight = 1;
|
607
607
|
if (result.addresses.ok()) {
|
608
|
+
std::vector<grpc_resolved_address> addresses;
|
609
|
+
ChannelArgs address_args = result.addresses->front().args();
|
608
610
|
for (const auto& address : *result.addresses) {
|
609
|
-
|
610
|
-
|
611
|
-
|
611
|
+
CHECK_EQ(address.addresses().size(), 1UL);
|
612
|
+
addresses.emplace_back(address.addresses().front());
|
613
|
+
CHECK_EQ(address_args, address.args());
|
612
614
|
}
|
615
|
+
locality.endpoints.emplace_back(
|
616
|
+
std::move(addresses),
|
617
|
+
address_args.Set(GRPC_ARG_ADDRESS_NAME, dns_name));
|
613
618
|
dns_state->update.resolution_note = std::move(result.resolution_note);
|
614
619
|
} else if (result.resolution_note.empty()) {
|
615
620
|
dns_state->update.resolution_note =
|
@@ -46,6 +46,8 @@
|
|
46
46
|
#include "absl/strings/string_view.h"
|
47
47
|
#include "absl/strings/strip.h"
|
48
48
|
#include "re2/re2.h"
|
49
|
+
#include "src/core/call/metadata_batch.h"
|
50
|
+
#include "src/core/call/status_util.h"
|
49
51
|
#include "src/core/client_channel/client_channel_internal.h"
|
50
52
|
#include "src/core/client_channel/config_selector.h"
|
51
53
|
#include "src/core/config/core_configuration.h"
|
@@ -53,7 +55,6 @@
|
|
53
55
|
#include "src/core/lib/channel/channel_fwd.h"
|
54
56
|
#include "src/core/lib/channel/channel_stack.h"
|
55
57
|
#include "src/core/lib/channel/promise_based_filter.h"
|
56
|
-
#include "src/core/lib/channel/status_util.h"
|
57
58
|
#include "src/core/lib/debug/trace.h"
|
58
59
|
#include "src/core/lib/experiments/experiments.h"
|
59
60
|
#include "src/core/lib/iomgr/iomgr_fwd.h"
|
@@ -62,7 +63,6 @@
|
|
62
63
|
#include "src/core/lib/promise/context.h"
|
63
64
|
#include "src/core/lib/resource_quota/arena.h"
|
64
65
|
#include "src/core/lib/slice/slice.h"
|
65
|
-
#include "src/core/lib/transport/metadata_batch.h"
|
66
66
|
#include "src/core/lib/transport/transport.h"
|
67
67
|
#include "src/core/load_balancing/ring_hash/ring_hash.h"
|
68
68
|
#include "src/core/resolver/endpoint_addresses.h"
|
data/src/core/server/server.cc
CHANGED
@@ -44,9 +44,12 @@
|
|
44
44
|
#include "absl/log/check.h"
|
45
45
|
#include "absl/log/log.h"
|
46
46
|
#include "absl/status/status.h"
|
47
|
+
#include "src/core/call/interception_chain.h"
|
48
|
+
#include "src/core/call/server_call.h"
|
47
49
|
#include "src/core/channelz/channel_trace.h"
|
48
50
|
#include "src/core/channelz/channelz.h"
|
49
51
|
#include "src/core/config/core_configuration.h"
|
52
|
+
#include "src/core/credentials/transport/transport_credentials.h"
|
50
53
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
51
54
|
#include "src/core/lib/channel/channel_args.h"
|
52
55
|
#include "src/core/lib/channel/channel_args_preconditioning.h"
|
@@ -63,7 +66,6 @@
|
|
63
66
|
#include "src/core/lib/promise/seq.h"
|
64
67
|
#include "src/core/lib/promise/try_join.h"
|
65
68
|
#include "src/core/lib/promise/try_seq.h"
|
66
|
-
#include "src/core/lib/security/credentials/credentials.h"
|
67
69
|
#include "src/core/lib/slice/slice_buffer.h"
|
68
70
|
#include "src/core/lib/slice/slice_internal.h"
|
69
71
|
#include "src/core/lib/surface/call.h"
|
@@ -72,10 +74,8 @@
|
|
72
74
|
#include "src/core/lib/surface/channel_stack_type.h"
|
73
75
|
#include "src/core/lib/surface/completion_queue.h"
|
74
76
|
#include "src/core/lib/surface/legacy_channel.h"
|
75
|
-
#include "src/core/lib/surface/server_call.h"
|
76
77
|
#include "src/core/lib/transport/connectivity_state.h"
|
77
78
|
#include "src/core/lib/transport/error_utils.h"
|
78
|
-
#include "src/core/lib/transport/interception_chain.h"
|
79
79
|
#include "src/core/telemetry/stats.h"
|
80
80
|
#include "src/core/util/crash.h"
|
81
81
|
#include "src/core/util/debug_location.h"
|
@@ -86,6 +86,8 @@
|
|
86
86
|
|
87
87
|
namespace grpc_core {
|
88
88
|
|
89
|
+
using http2::Http2ErrorCode;
|
90
|
+
|
89
91
|
//
|
90
92
|
// Server::ListenerState::ConfigFetcherWatcher
|
91
93
|
//
|
@@ -991,7 +993,8 @@ class ChannelBroadcaster {
|
|
991
993
|
op->goaway_error =
|
992
994
|
send_goaway
|
993
995
|
? grpc_error_set_int(GRPC_ERROR_CREATE("Server shutdown"),
|
994
|
-
StatusIntProperty::
|
996
|
+
StatusIntProperty::kHttp2Error,
|
997
|
+
static_cast<int>(Http2ErrorCode::kNoError))
|
995
998
|
: absl::OkStatus();
|
996
999
|
sc->slice = grpc_slice_from_copied_string("Server shutdown");
|
997
1000
|
op->disconnect_with_error = send_disconnect;
|
data/src/core/server/server.h
CHANGED
@@ -43,6 +43,7 @@
|
|
43
43
|
#include "absl/random/random.h"
|
44
44
|
#include "absl/status/statusor.h"
|
45
45
|
#include "absl/strings/string_view.h"
|
46
|
+
#include "src/core/call/metadata_batch.h"
|
46
47
|
#include "src/core/channelz/channelz.h"
|
47
48
|
#include "src/core/lib/channel/channel_args.h"
|
48
49
|
#include "src/core/lib/channel/channel_fwd.h"
|
@@ -59,7 +60,6 @@
|
|
59
60
|
#include "src/core/lib/slice/slice.h"
|
60
61
|
#include "src/core/lib/surface/channel.h"
|
61
62
|
#include "src/core/lib/surface/completion_queue.h"
|
62
|
-
#include "src/core/lib/transport/metadata_batch.h"
|
63
63
|
#include "src/core/lib/transport/transport.h"
|
64
64
|
#include "src/core/server/server_interface.h"
|
65
65
|
#include "src/core/telemetry/call_tracer.h"
|
@@ -24,8 +24,8 @@
|
|
24
24
|
|
25
25
|
#include "absl/status/status.h"
|
26
26
|
#include "absl/status/statusor.h"
|
27
|
+
#include "src/core/call/call_finalization.h"
|
27
28
|
#include "src/core/config/core_configuration.h"
|
28
|
-
#include "src/core/lib/channel/call_finalization.h"
|
29
29
|
#include "src/core/lib/channel/channel_args.h"
|
30
30
|
#include "src/core/lib/channel/channel_fwd.h"
|
31
31
|
#include "src/core/lib/channel/channel_stack.h"
|
@@ -23,7 +23,7 @@
|
|
23
23
|
|
24
24
|
#include "absl/status/statusor.h"
|
25
25
|
#include "absl/strings/string_view.h"
|
26
|
-
#include "src/core/
|
26
|
+
#include "src/core/call/metadata_batch.h"
|
27
27
|
#include "src/core/service_config/service_config.h"
|
28
28
|
#include "src/core/service_config/service_config_parser.h"
|
29
29
|
#include "src/core/util/dual_ref_counted.h"
|
@@ -25,6 +25,7 @@
|
|
25
25
|
#include "absl/log/check.h"
|
26
26
|
#include "absl/status/status.h"
|
27
27
|
#include "absl/status/statusor.h"
|
28
|
+
#include "src/core/call/metadata_batch.h"
|
28
29
|
#include "src/core/lib/channel/channel_args.h"
|
29
30
|
#include "src/core/lib/channel/promise_based_filter.h"
|
30
31
|
#include "src/core/lib/event_engine/event_engine_context.h"
|
@@ -32,7 +33,6 @@
|
|
32
33
|
#include "src/core/lib/promise/context.h"
|
33
34
|
#include "src/core/lib/promise/promise.h"
|
34
35
|
#include "src/core/lib/resource_quota/arena.h"
|
35
|
-
#include "src/core/lib/transport/metadata_batch.h"
|
36
36
|
#include "src/core/lib/transport/transport.h"
|
37
37
|
#include "src/core/server/server_config_selector.h"
|
38
38
|
#include "src/core/service_config/service_config.h"
|
@@ -45,7 +45,12 @@
|
|
45
45
|
#include "absl/strings/str_join.h"
|
46
46
|
#include "absl/strings/str_replace.h"
|
47
47
|
#include "absl/strings/string_view.h"
|
48
|
+
#include "src/core/call/metadata_batch.h"
|
48
49
|
#include "src/core/config/core_configuration.h"
|
50
|
+
#include "src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h"
|
51
|
+
#include "src/core/credentials/transport/tls/grpc_tls_certificate_provider.h"
|
52
|
+
#include "src/core/credentials/transport/transport_credentials.h"
|
53
|
+
#include "src/core/credentials/transport/xds/xds_credentials.h"
|
49
54
|
#include "src/core/lib/address_utils/parse_address.h"
|
50
55
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
51
56
|
#include "src/core/lib/channel/channel_args.h"
|
@@ -58,11 +63,6 @@
|
|
58
63
|
#include "src/core/lib/iomgr/resolved_address.h"
|
59
64
|
#include "src/core/lib/iomgr/sockaddr.h"
|
60
65
|
#include "src/core/lib/iomgr/socket_utils.h"
|
61
|
-
#include "src/core/lib/security/credentials/credentials.h"
|
62
|
-
#include "src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h"
|
63
|
-
#include "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h"
|
64
|
-
#include "src/core/lib/security/credentials/xds/xds_credentials.h"
|
65
|
-
#include "src/core/lib/transport/metadata_batch.h"
|
66
66
|
#include "src/core/server/server.h"
|
67
67
|
#include "src/core/server/server_config_selector.h"
|
68
68
|
#include "src/core/server/server_config_selector_filter.h"
|
@@ -29,6 +29,7 @@
|
|
29
29
|
#include "absl/log/log.h"
|
30
30
|
#include "absl/status/status.h"
|
31
31
|
#include "absl/status/statusor.h"
|
32
|
+
#include "src/core/call/metadata_batch.h"
|
32
33
|
#include "src/core/config/core_configuration.h"
|
33
34
|
#include "src/core/ext/filters/message_size/message_size_filter.h"
|
34
35
|
#include "src/core/lib/channel/channel_args.h"
|
@@ -39,7 +40,6 @@
|
|
39
40
|
#include "src/core/lib/promise/context.h"
|
40
41
|
#include "src/core/lib/resource_quota/arena.h"
|
41
42
|
#include "src/core/lib/surface/channel_stack_type.h"
|
42
|
-
#include "src/core/lib/transport/metadata_batch.h"
|
43
43
|
#include "src/core/lib/transport/transport.h"
|
44
44
|
#include "src/core/service_config/service_config.h"
|
45
45
|
#include "src/core/service_config/service_config_call_data.h"
|
@@ -169,7 +169,7 @@ class DelegatingClientCallTracer : public ClientCallTracer {
|
|
169
169
|
tracer->RecordAnnotation(annotation);
|
170
170
|
}
|
171
171
|
}
|
172
|
-
std::shared_ptr<
|
172
|
+
std::shared_ptr<TcpCallTracer> StartNewTcpTrace() override {
|
173
173
|
return nullptr;
|
174
174
|
}
|
175
175
|
void SetOptionalLabel(OptionalLabelKey key,
|
@@ -313,9 +313,7 @@ class DelegatingServerCallTracer : public ServerCallTracer {
|
|
313
313
|
tracer->RecordAnnotation(annotation);
|
314
314
|
}
|
315
315
|
}
|
316
|
-
std::shared_ptr<
|
317
|
-
return nullptr;
|
318
|
-
}
|
316
|
+
std::shared_ptr<TcpCallTracer> StartNewTcpTrace() override { return nullptr; }
|
319
317
|
std::string TraceId() override { return tracers_[0]->TraceId(); }
|
320
318
|
std::string SpanId() override { return tracers_[0]->SpanId(); }
|
321
319
|
bool IsSampled() override { return tracers_[0]->IsSampled(); }
|
@@ -28,14 +28,14 @@
|
|
28
28
|
|
29
29
|
#include "absl/status/status.h"
|
30
30
|
#include "absl/strings/string_view.h"
|
31
|
+
#include "src/core/call/message.h"
|
32
|
+
#include "src/core/call/metadata_batch.h"
|
31
33
|
#include "src/core/lib/channel/channel_args.h"
|
32
34
|
#include "src/core/lib/iomgr/error.h"
|
33
35
|
#include "src/core/lib/promise/context.h"
|
34
36
|
#include "src/core/lib/resource_quota/arena.h"
|
35
37
|
#include "src/core/lib/slice/slice_buffer.h"
|
36
38
|
#include "src/core/lib/transport/call_final_info.h"
|
37
|
-
#include "src/core/lib/transport/message.h"
|
38
|
-
#include "src/core/lib/transport/metadata_batch.h"
|
39
39
|
#include "src/core/telemetry/tcp_tracer.h"
|
40
40
|
#include "src/core/util/ref_counted_string.h"
|
41
41
|
|
@@ -126,7 +126,7 @@ class CallTracerInterface : public CallTracerAnnotationInterface {
|
|
126
126
|
// Traces a new TCP transport attempt for this call attempt. Note the TCP
|
127
127
|
// transport may finish tracing and unref the TCP tracer before or after the
|
128
128
|
// call completion in gRPC core. No TCP tracing when null is returned.
|
129
|
-
virtual std::shared_ptr<
|
129
|
+
virtual std::shared_ptr<TcpCallTracer> StartNewTcpTrace() = 0;
|
130
130
|
};
|
131
131
|
|
132
132
|
// Interface for a tracer that records activities on a call. Actual attempts for
|
@@ -120,6 +120,28 @@ void GlobalStatsPluginRegistry::StatsPluginGroup::AddServerCallTracers(
|
|
120
120
|
}
|
121
121
|
}
|
122
122
|
|
123
|
+
int GlobalStatsPluginRegistry::StatsPluginGroup::ChannelArgsCompare(
|
124
|
+
const StatsPluginGroup* a, const StatsPluginGroup* b) {
|
125
|
+
for (size_t i = 0; i < a->plugins_state_.size(); ++i) {
|
126
|
+
if (b->plugins_state_.size() == i) return 1; // a is greater
|
127
|
+
auto& a_state = a->plugins_state_[i];
|
128
|
+
auto& b_state = b->plugins_state_[i];
|
129
|
+
int r = QsortCompare(a_state.plugin.get(), b_state.plugin.get());
|
130
|
+
if (r != 0) return r;
|
131
|
+
if (a_state.scope_config == nullptr) {
|
132
|
+
if (b_state.scope_config != nullptr) return -1; // a is less
|
133
|
+
// If both are null, they're equal.
|
134
|
+
} else {
|
135
|
+
if (b_state.scope_config == nullptr) return 1; // a is greater
|
136
|
+
// Neither is null, so compare.
|
137
|
+
r = a_state.scope_config->Compare(*b_state.scope_config);
|
138
|
+
if (r != 0) return r;
|
139
|
+
}
|
140
|
+
}
|
141
|
+
if (b->plugins_state_.size() > a->plugins_state_.size()) return -1;
|
142
|
+
return 0;
|
143
|
+
}
|
144
|
+
|
123
145
|
std::atomic<GlobalStatsPluginRegistry::GlobalStatsPluginNode*>
|
124
146
|
GlobalStatsPluginRegistry::plugins_;
|
125
147
|
|
@@ -133,32 +155,28 @@ void GlobalStatsPluginRegistry::RegisterStatsPlugin(
|
|
133
155
|
}
|
134
156
|
}
|
135
157
|
|
136
|
-
GlobalStatsPluginRegistry::StatsPluginGroup
|
158
|
+
std::shared_ptr<GlobalStatsPluginRegistry::StatsPluginGroup>
|
137
159
|
GlobalStatsPluginRegistry::GetStatsPluginsForChannel(
|
138
160
|
const experimental::StatsPluginChannelScope& scope) {
|
139
|
-
|
161
|
+
auto group = std::make_shared<StatsPluginGroup>();
|
140
162
|
for (GlobalStatsPluginNode* node = plugins_.load(std::memory_order_acquire);
|
141
163
|
node != nullptr; node = node->next) {
|
142
|
-
|
143
|
-
std::shared_ptr<StatsPlugin::ScopeConfig> config;
|
144
|
-
std::tie(is_enabled, config) = node->plugin->IsEnabledForChannel(scope);
|
164
|
+
auto [is_enabled, config] = node->plugin->IsEnabledForChannel(scope);
|
145
165
|
if (is_enabled) {
|
146
|
-
group
|
166
|
+
group->AddStatsPlugin(node->plugin, std::move(config));
|
147
167
|
}
|
148
168
|
}
|
149
169
|
return group;
|
150
170
|
}
|
151
171
|
|
152
|
-
GlobalStatsPluginRegistry::StatsPluginGroup
|
172
|
+
std::shared_ptr<GlobalStatsPluginRegistry::StatsPluginGroup>
|
153
173
|
GlobalStatsPluginRegistry::GetStatsPluginsForServer(const ChannelArgs& args) {
|
154
|
-
|
174
|
+
auto group = std::make_shared<StatsPluginGroup>();
|
155
175
|
for (GlobalStatsPluginNode* node = plugins_.load(std::memory_order_acquire);
|
156
176
|
node != nullptr; node = node->next) {
|
157
|
-
|
158
|
-
std::shared_ptr<StatsPlugin::ScopeConfig> config;
|
159
|
-
std::tie(is_enabled, config) = node->plugin->IsEnabledForServer(args);
|
177
|
+
auto [is_enabled, config] = node->plugin->IsEnabledForServer(args);
|
160
178
|
if (is_enabled) {
|
161
|
-
group
|
179
|
+
group->AddStatsPlugin(node->plugin, std::move(config));
|
162
180
|
}
|
163
181
|
}
|
164
182
|
return group;
|
@@ -275,6 +275,10 @@ class StatsPlugin {
|
|
275
275
|
class ScopeConfig {
|
276
276
|
public:
|
277
277
|
virtual ~ScopeConfig() = default;
|
278
|
+
|
279
|
+
// NOTE: This is safe to invoke ONLY if both ScopeConfig objects
|
280
|
+
// come from the same StatsPlugin.
|
281
|
+
virtual int Compare(const ScopeConfig& other) const = 0;
|
278
282
|
};
|
279
283
|
|
280
284
|
virtual ~StatsPlugin() = default;
|
@@ -369,7 +373,8 @@ class GlobalStatsPluginRegistry {
|
|
369
373
|
// stats plugins. They got a stats plugin group which contains all the stats
|
370
374
|
// plugins for a specific scope and all operations on the stats plugin group
|
371
375
|
// will be applied to all the stats plugins within the group.
|
372
|
-
class StatsPluginGroup
|
376
|
+
class StatsPluginGroup
|
377
|
+
: public std::enable_shared_from_this<StatsPluginGroup> {
|
373
378
|
public:
|
374
379
|
// Adds a stats plugin and a scope config (per-channel or per-server) to the
|
375
380
|
// group.
|
@@ -471,6 +476,12 @@ class GlobalStatsPluginRegistry {
|
|
471
476
|
// within the group to \a call_context.
|
472
477
|
void AddServerCallTracers(Arena* arena);
|
473
478
|
|
479
|
+
static absl::string_view ChannelArgName() {
|
480
|
+
return "grpc.internal.stats_plugin_group";
|
481
|
+
}
|
482
|
+
static int ChannelArgsCompare(const StatsPluginGroup* a,
|
483
|
+
const StatsPluginGroup* b);
|
484
|
+
|
474
485
|
private:
|
475
486
|
friend class RegisteredMetricCallback;
|
476
487
|
|
@@ -499,9 +510,10 @@ class GlobalStatsPluginRegistry {
|
|
499
510
|
|
500
511
|
// The following functions can be invoked to get a StatsPluginGroup for
|
501
512
|
// a specified scope.
|
502
|
-
static StatsPluginGroup GetStatsPluginsForChannel(
|
513
|
+
static std::shared_ptr<StatsPluginGroup> GetStatsPluginsForChannel(
|
503
514
|
const experimental::StatsPluginChannelScope& scope);
|
504
|
-
static StatsPluginGroup GetStatsPluginsForServer(
|
515
|
+
static std::shared_ptr<StatsPluginGroup> GetStatsPluginsForServer(
|
516
|
+
const ChannelArgs& args);
|
505
517
|
|
506
518
|
private:
|
507
519
|
struct GlobalStatsPluginNode {
|