grpc 1.81.1 → 1.82.0.pre2
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 +12 -9
- data/include/grpc/grpc.h +6 -7
- data/include/grpc/impl/channel_arg_names.h +3 -1
- data/src/core/call/call_filters.h +2 -2
- data/src/core/call/client_call.cc +1 -1
- data/src/core/call/interception_chain.h +6 -9
- data/src/core/call/metadata.h +1 -1
- data/src/core/call/metadata_batch.cc +1 -1
- data/src/core/call/metadata_batch.h +17 -1
- data/src/core/call/parsed_metadata.h +7 -2
- data/src/core/call/server_call.cc +4 -2
- data/src/core/call/server_call.h +9 -2
- data/src/core/call/status_util.cc +0 -4
- data/src/core/call/status_util.h +0 -3
- data/src/core/channelz/channel_trace.cc +3 -1
- data/src/core/client_channel/backup_poller.cc +1 -1
- data/src/core/client_channel/client_channel.cc +6 -14
- data/src/core/client_channel/client_channel.h +2 -2
- data/src/core/client_channel/client_channel_filter.cc +8 -17
- data/src/core/client_channel/client_channel_filter.h +2 -2
- data/src/core/client_channel/client_channel_plugin.cc +1 -1
- data/src/core/client_channel/config_selector.h +2 -7
- data/src/core/client_channel/dynamic_filters.cc +4 -7
- data/src/core/client_channel/dynamic_filters.h +1 -3
- data/src/core/client_channel/retry_filter.cc +2 -25
- data/src/core/client_channel/retry_filter.h +3 -7
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +1 -1
- data/src/core/client_channel/retry_filter_legacy_call_data.h +2 -2
- data/src/core/client_channel/retry_interceptor.cc +7 -35
- data/src/core/client_channel/retry_interceptor.h +11 -14
- data/src/core/client_channel/retry_service_config.cc +0 -2
- data/src/core/client_channel/retry_service_config.h +0 -2
- data/src/core/client_channel/retry_throttle.cc +19 -7
- data/src/core/client_channel/retry_throttle.h +24 -7
- data/src/core/client_channel/subchannel.cc +1 -1
- data/src/core/credentials/call/external/external_account_credentials.cc +125 -12
- data/src/core/credentials/call/external/external_account_credentials.h +6 -1
- data/src/core/credentials/call/jwt/jwt_credentials.cc +11 -1
- data/src/core/credentials/call/jwt/jwt_credentials.h +3 -0
- data/src/core/credentials/call/oauth2/oauth2_credentials.cc +64 -11
- data/src/core/credentials/call/oauth2/oauth2_credentials.h +0 -1
- data/src/core/credentials/call/regional_access_boundary_fetcher.cc +411 -0
- data/src/core/credentials/call/regional_access_boundary_fetcher.h +158 -0
- data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +1 -1
- data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.h +7 -1
- data/src/core/credentials/transport/insecure/insecure_security_connector.h +1 -1
- data/src/core/credentials/transport/local/local_security_connector.cc +1 -1
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +6 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +28 -66
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +0 -8
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +24 -58
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +24 -19
- data/src/core/ext/filters/message_size/message_size_filter.cc +1 -81
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -50
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +13 -56
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +0 -14
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -1
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +175 -51
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +10 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +73 -6
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/flow_control.h +11 -0
- data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +2 -4
- data/src/core/ext/transport/chttp2/transport/frame.cc +63 -13
- data/src/core/ext/transport/chttp2/transport/frame.h +45 -10
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -1
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +11 -3
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -1
- data/src/core/ext/transport/chttp2/transport/header_assembler.h +54 -22
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +53 -5
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +22 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +20 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +33 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -1
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +118 -157
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +6 -13
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.cc +2187 -0
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.h +748 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +19 -4
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +0 -2
- data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +50 -17
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +13 -15
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +16 -48
- data/src/core/ext/transport/chttp2/transport/internal.h +14 -0
- data/src/core/ext/transport/chttp2/transport/message_assembler.h +1 -2
- data/src/core/ext/transport/chttp2/transport/parsing.cc +82 -24
- data/src/core/ext/transport/chttp2/transport/read_context.h +452 -0
- data/src/core/ext/transport/chttp2/transport/security_frame.h +12 -3
- data/src/core/ext/transport/chttp2/transport/stream.h +25 -26
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +6 -4
- data/src/core/ext/transport/chttp2/transport/write_cycle.h +9 -1
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +16 -2
- data/src/core/ext/upb-gen/cel/expr/checked.upb.h +621 -432
- data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.c +264 -166
- data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.h +0 -13
- data/src/core/ext/upb-gen/cel/expr/syntax.upb.h +708 -497
- data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.c +294 -176
- data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.h +0 -15
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +262 -181
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +84 -58
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +254 -190
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +107 -53
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +271 -190
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +88 -64
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +1035 -730
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +384 -260
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +0 -19
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +87 -56
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +26 -16
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +105 -71
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +30 -22
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +31 -29
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +19 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +25 -23
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +25 -23
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +201 -165
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +79 -31
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +29 -26
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +46 -29
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +37 -19
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +4 -4
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +34 -27
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +34 -13
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +617 -452
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +221 -163
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +0 -16
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +1339 -970
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +484 -324
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +0 -23
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +181 -135
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +59 -43
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +1353 -1028
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +535 -361
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +0 -25
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +37 -33
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +19 -13
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +234 -196
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +77 -57
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +695 -502
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +246 -186
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +0 -15
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb.h +140 -116
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.c +53 -43
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +363 -269
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +131 -89
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +35 -31
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +1073 -769
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +515 -293
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +0 -30
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb.h +25 -23
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +375 -267
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +142 -86
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +0 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +32 -27
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +29 -26
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +87 -56
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +26 -16
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +634 -468
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +255 -161
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +0 -14
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +672 -474
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +228 -130
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +0 -9
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +56 -40
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +34 -29
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +811 -635
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +347 -221
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +0 -16
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +174 -118
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +62 -38
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +78 -57
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +28 -18
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +37 -33
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +22 -14
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +159 -119
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +47 -35
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +101 -76
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +41 -23
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +35 -31
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +189 -127
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +79 -49
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +378 -283
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +156 -98
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +354 -255
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +125 -69
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +0 -6
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +611 -451
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +159 -119
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +0 -11
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +468 -321
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +157 -99
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +0 -6
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +146 -119
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +55 -35
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +61 -51
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +43 -39
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +25 -13
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +341 -247
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +130 -84
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +452 -313
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +144 -100
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +0 -10
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +666 -493
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +251 -181
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +0 -12
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +327 -197
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +92 -48
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +3583 -2532
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +1340 -816
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +0 -60
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +111 -82
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +48 -28
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +548 -410
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +214 -148
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +0 -12
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +59 -50
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +30 -20
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +29 -26
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +60 -49
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +28 -20
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +50 -36
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +82 -63
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +27 -19
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +70 -58
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +32 -22
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +2 -5
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +73 -62
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +39 -25
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +49 -45
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +33 -13
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +771 -588
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +383 -185
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +0 -16
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +66 -47
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +31 -17
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb.h +69 -58
- data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.c +27 -23
- data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +151 -119
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +45 -39
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb.h +19 -17
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.c +1 -3
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb.h +144 -109
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.c +46 -38
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +184 -139
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +65 -35
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +129 -106
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +69 -41
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +83 -71
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +40 -26
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +148 -101
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +45 -27
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +62 -51
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +35 -21
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1362 -1024
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +508 -336
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +0 -22
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb.h +21 -19
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.c +13 -7
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb.h +35 -31
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +94 -74
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +35 -23
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +231 -179
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +88 -66
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +0 -6
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +21 -19
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +13 -7
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +63 -56
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +31 -19
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -5
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +538 -364
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +157 -95
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -110
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +69 -49
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +517 -389
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +182 -116
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +0 -7
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +84 -62
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +30 -22
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +340 -256
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +92 -82
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +19 -17
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +1 -3
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +857 -566
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +288 -182
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +0 -15
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +105 -72
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +36 -22
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +312 -226
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +132 -78
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +82 -61
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +35 -19
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +123 -89
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +25 -25
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +48 -33
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +42 -36
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +19 -13
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +101 -79
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +61 -31
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +83 -60
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +37 -19
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +56 -40
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +34 -29
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +32 -27
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +88 -71
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +48 -30
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +37 -30
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +95 -71
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +36 -22
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +79 -56
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +26 -18
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +164 -124
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +54 -40
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +200 -147
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +47 -41
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +0 -7
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +160 -130
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +89 -47
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +78 -62
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +26 -20
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +2 -5
- data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +21 -19
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +13 -7
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +43 -36
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +22 -12
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +67 -55
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +36 -18
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +62 -51
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +33 -19
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +2 -5
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +25 -23
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +37 -33
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +19 -13
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/api/annotations.upb.h +15 -13
- data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +22 -7
- data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +1 -1
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +619 -430
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +260 -168
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +0 -13
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +734 -518
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +312 -182
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +0 -16
- data/src/core/ext/upb-gen/google/api/http.upb.h +146 -105
- data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +65 -29
- data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/google/api/httpbody.upb.h +52 -37
- data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/any.upb.h +23 -21
- data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +2236 -1514
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +824 -406
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +0 -34
- data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +23 -21
- data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +19 -17
- data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +1 -3
- data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +149 -100
- data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +59 -43
- data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +23 -21
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +181 -139
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +99 -53
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +0 -9
- data/src/core/ext/upb-gen/google/rpc/status.upb.h +52 -37
- data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb.h +1553 -1157
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +712 -410
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.h +0 -39
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +189 -125
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +59 -35
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +454 -343
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +204 -130
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +0 -11
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +369 -243
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +109 -79
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +0 -7
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb.h +256 -175
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +122 -68
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +71 -51
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +39 -19
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +583 -407
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +259 -145
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +0 -12
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +114 -84
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +52 -30
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +41 -34
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +25 -13
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +309 -230
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +123 -79
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +0 -9
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +98 -63
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +51 -23
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +505 -312
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +159 -87
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +0 -9
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +128 -91
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +82 -41
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +5 -8
- data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +36 -29
- data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +36 -13
- data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +13 -11
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +22 -7
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +1 -1
- data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +36 -29
- data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +36 -13
- data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +34 -27
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +34 -13
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/validate/validate.upb.h +1682 -1130
- data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +587 -247
- data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +4 -27
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +128 -91
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +82 -41
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +5 -8
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +36 -29
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +36 -13
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +13 -11
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +22 -7
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +1 -1
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +122 -90
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +82 -39
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +3 -7
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +34 -27
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +34 -13
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +21 -19
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +13 -7
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +29 -26
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +70 -58
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +32 -22
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +53 -34
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +26 -16
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +29 -26
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +37 -33
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +22 -14
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +102 -76
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +43 -23
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +33 -30
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +136 -83
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +41 -33
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +46 -32
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +20 -12
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +29 -26
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +20 -12
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +93 -61
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +28 -20
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +19 -17
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +1 -3
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +105 -71
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +32 -22
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +430 -314
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +153 -123
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +0 -10
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +307 -199
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +74 -62
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +0 -6
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +52 -42
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +19 -13
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +95 -71
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +36 -22
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +92 -77
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +42 -28
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +67 -55
- data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +36 -18
- data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +29 -26
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +0 -1
- data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +885 -855
- data/src/core/filter/composite/composite_filter.cc +10 -3
- data/src/core/filter/composite/composite_filter.h +11 -1
- data/src/core/filter/filter_args.h +4 -22
- data/src/core/handshaker/handshaker.cc +10 -2
- data/src/core/handshaker/security/secure_endpoint.cc +73 -5
- data/src/core/lib/channel/channel_args.h +12 -6
- data/src/core/lib/channel/channel_stack.cc +1 -2
- data/src/core/lib/channel/channel_stack.h +1 -7
- data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
- data/src/core/lib/channel/channel_stack_builder_impl.h +0 -7
- data/src/core/lib/channel/promise_based_filter.cc +13 -1
- data/src/core/lib/channel/promise_based_filter.h +4 -5
- data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +0 -13
- data/src/core/lib/event_engine/extensions/receive_coalescing_extension.h +48 -0
- data/src/core/lib/event_engine/posix.h +2 -0
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +2 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +11 -8
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +7 -6
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +2 -1
- data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +10 -10
- data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +1 -1
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +1 -1
- data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +5 -4
- data/src/core/lib/experiments/experiments.cc +258 -87
- data/src/core/lib/experiments/experiments.h +130 -32
- data/src/core/lib/iomgr/buffer_list.h +1 -1
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +1 -1
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +2 -2
- data/src/core/lib/iomgr/tcp_posix.cc +2 -1
- data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -1
- data/src/core/lib/promise/detail/promise_factory.h +8 -8
- data/src/core/lib/promise/interceptor_list.h +1 -1
- data/src/core/lib/promise/try_seq.h +2 -2
- data/src/core/lib/resource_quota/telemetry.cc +54 -0
- data/src/core/lib/resource_quota/telemetry.h +5 -23
- data/src/core/lib/surface/call.cc +6 -1
- data/src/core/lib/surface/call.h +9 -0
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/promise_endpoint.h +7 -5
- data/src/core/lib/transport/transport.h +31 -4
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +146 -74
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.h +88 -0
- data/src/core/mitigation_engine/mitigation_engine.h +81 -0
- data/src/core/plugin_registry/grpc_plugin_registry.cc +0 -2
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +0 -5
- data/src/core/resolver/xds/xds_resolver.cc +23 -133
- data/src/core/server/server.cc +40 -18
- data/src/core/server/server.h +25 -14
- data/src/core/server/server_config_selector_filter.cc +122 -0
- data/src/core/server/server_config_selector_filter.h +1 -0
- data/src/core/server/xds_server_config_fetcher.cc +6 -0
- data/src/core/server/xds_server_config_fetcher_legacy.cc +1333 -0
- data/src/core/telemetry/histogram.h +10 -89
- data/src/core/telemetry/instrument.h +42 -28
- data/src/core/transport/message_size_service_config.cc +123 -0
- data/src/core/transport/message_size_service_config.h +85 -0
- data/src/core/transport/session_endpoint.cc +29 -4
- data/src/core/transport/session_endpoint.h +4 -0
- data/src/core/tsi/alts/crypt/gsec.h +4 -2
- data/src/core/tsi/ssl_transport_security.cc +6 -4
- data/src/core/util/http_client/parser.cc +1 -1
- data/src/core/util/lru_cache.h +2 -0
- data/src/core/util/ref_counted_string.h +1 -1
- data/src/core/util/tchar.cc +13 -7
- data/src/core/util/trie_lookup.h +1 -1
- data/src/core/xds/grpc/blackboard.cc +58 -0
- data/src/core/{filter → xds/grpc}/blackboard.h +30 -11
- data/src/core/xds/grpc/xds_common_types.cc +40 -0
- data/src/core/xds/grpc/xds_common_types.h +13 -0
- data/src/core/xds/grpc/xds_common_types_parser.cc +37 -34
- data/src/core/xds/grpc/xds_endpoint_parser.cc +1 -1
- data/src/core/xds/grpc/xds_http_composite_filter.cc +34 -18
- data/src/core/xds/grpc/xds_http_composite_filter.h +6 -3
- data/src/core/xds/grpc/xds_http_fault_filter.cc +0 -149
- data/src/core/xds/grpc/xds_http_fault_filter.h +19 -8
- data/src/core/xds/grpc/xds_http_filter.cc +2 -1
- data/src/core/xds/grpc/xds_http_filter.h +6 -16
- data/src/core/xds/grpc/xds_http_filter_registry.cc +0 -2
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +25 -119
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +27 -15
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +0 -149
- data/src/core/xds/grpc/xds_http_stateful_session_filter.h +19 -8
- data/src/core/xds/grpc/xds_lb_policy_registry.cc +18 -0
- data/src/core/xds/grpc/xds_listener_parser.cc +13 -9
- data/src/core/xds/grpc/xds_route_config.h +1 -1
- data/src/core/xds/grpc/xds_route_config_parser.cc +3 -5
- data/src/core/xds/grpc/xds_routing.cc +5 -11
- data/src/core/xds/grpc/xds_routing.h +2 -3
- data/src/core/xds/xds_client/lrs_client.cc +2 -2
- data/src/ruby/ext/grpc/rb_byte_buffer.c +1 -0
- data/src/ruby/ext/grpc/rb_call.c +3 -0
- data/src/ruby/ext/grpc/rb_call_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_channel.c +1 -0
- data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
- data/src/ruby/ext/grpc/rb_channel_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_completion_queue.c +1 -0
- data/src/ruby/ext/grpc/rb_compression_options.c +1 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -4
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -6
- data/src/ruby/ext/grpc/rb_server.c +1 -0
- data/src/ruby/ext/grpc/rb_server_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +1 -0
- data/src/ruby/lib/grpc/core/call_credentials.rb +86 -0
- data/src/ruby/lib/grpc/core/channel_credentials.rb +69 -0
- data/src/ruby/lib/grpc/core/credentials_helper.rb +126 -0
- data/src/ruby/lib/grpc/generic/client_stub.rb +86 -73
- data/src/ruby/lib/grpc/generic/interceptors.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/lib/grpc.rb +25 -0
- data/src/ruby/spec/call_credentials_spec.rb +52 -2
- data/src/ruby/spec/credentials_helper_spec.rb +80 -0
- data/src/ruby/spec/generic/client_stub_spec.rb +27 -4
- data/src/ruby/spec/generic/server_interceptors_spec.rb +17 -3
- data/third_party/upb/upb/base/error_handler.h +79 -0
- data/third_party/upb/upb/base/internal/log2.h +29 -5
- data/third_party/upb/upb/generated_code_support.h +1 -0
- data/third_party/upb/upb/hash/common.c +129 -14
- data/third_party/upb/upb/hash/common.h +1 -1
- data/third_party/upb/upb/hash/ext_table.h +65 -0
- data/third_party/upb/upb/lex/strtod.c +14 -5
- data/third_party/upb/upb/mem/arena.c +113 -95
- data/third_party/upb/upb/mem/internal/arena.h +13 -8
- data/third_party/upb/upb/message/accessors.c +2 -3
- data/third_party/upb/upb/message/accessors.h +32 -12
- data/third_party/upb/upb/message/array.c +51 -2
- data/third_party/upb/upb/message/array.h +10 -0
- data/third_party/upb/upb/message/copy.c +18 -34
- data/third_party/upb/upb/message/internal/accessors.h +15 -49
- data/third_party/upb/upb/message/internal/array.h +1 -1
- data/third_party/upb/upb/message/internal/map.h +1 -1
- data/third_party/upb/upb/message/internal/message.c +8 -1
- data/third_party/upb/upb/message/internal/message.h +40 -10
- data/third_party/upb/upb/message/message.c +3 -2
- data/third_party/upb/upb/message/value.h +0 -6
- data/third_party/upb/upb/mini_descriptor/decode.c +78 -59
- data/third_party/upb/upb/mini_descriptor/link.c +8 -6
- data/third_party/upb/upb/mini_table/extension_registry.c +17 -49
- data/third_party/upb/upb/mini_table/extension_registry.h +5 -17
- data/third_party/upb/upb/mini_table/generated_registry.c +180 -0
- data/third_party/upb/upb/mini_table/generated_registry.h +66 -0
- data/third_party/upb/upb/mini_table/internal/extension.h +5 -3
- data/third_party/upb/upb/mini_table/internal/field.h +7 -5
- data/third_party/upb/upb/mini_table/internal/generated_registry.h +37 -0
- data/third_party/upb/upb/mini_table/internal/message.c +0 -18
- data/third_party/upb/upb/mini_table/internal/message.h +24 -41
- data/third_party/upb/upb/mini_table/internal/size_log2.h +2 -1
- data/third_party/upb/upb/mini_table/internal/sub.h +2 -5
- data/third_party/upb/upb/mini_table/message.h +34 -13
- data/third_party/upb/upb/port/atomic.h +180 -74
- data/third_party/upb/upb/port/def.inc +194 -29
- data/third_party/upb/upb/port/sanitizers.h +15 -0
- data/third_party/upb/upb/port/undef.inc +6 -2
- data/third_party/upb/upb/reflection/common.h +0 -6
- data/third_party/upb/upb/reflection/def.hpp +8 -12
- data/third_party/upb/upb/reflection/def_pool.c +85 -33
- data/third_party/upb/upb/reflection/def_pool.h +38 -8
- data/third_party/upb/upb/reflection/def_type.h +3 -0
- data/third_party/upb/upb/reflection/enum_def.c +45 -33
- data/third_party/upb/upb/reflection/enum_def.h +8 -4
- data/third_party/upb/upb/reflection/enum_reserved_range.c +7 -3
- data/third_party/upb/upb/reflection/enum_value_def.c +14 -29
- data/third_party/upb/upb/reflection/enum_value_def.h +5 -4
- data/third_party/upb/upb/reflection/extension_range.c +15 -14
- data/third_party/upb/upb/reflection/extension_range.h +7 -4
- data/third_party/upb/upb/reflection/field_def.c +114 -96
- data/third_party/upb/upb/reflection/field_def.h +3 -3
- data/third_party/upb/upb/reflection/file_def.c +71 -65
- data/third_party/upb/upb/reflection/file_def.h +4 -5
- data/third_party/upb/upb/reflection/internal/def_builder.c +22 -14
- data/third_party/upb/upb/reflection/internal/def_builder.h +44 -38
- data/third_party/upb/upb/reflection/internal/def_pool.h +5 -1
- data/third_party/upb/upb/reflection/internal/enum_def.h +6 -4
- data/third_party/upb/upb/reflection/internal/enum_reserved_range.h +3 -2
- data/third_party/upb/upb/reflection/internal/enum_value_def.h +7 -4
- data/third_party/upb/upb/reflection/internal/extension_range.h +4 -3
- data/third_party/upb/upb/reflection/internal/field_def.h +15 -12
- data/third_party/upb/upb/reflection/internal/file_def.h +8 -1
- data/third_party/upb/upb/reflection/internal/message_def.h +10 -7
- data/third_party/upb/upb/reflection/internal/message_reserved_range.h +3 -1
- data/third_party/upb/upb/reflection/internal/method_def.h +6 -6
- data/third_party/upb/upb/reflection/internal/oneof_def.h +6 -6
- data/third_party/upb/upb/reflection/internal/service_def.h +9 -6
- data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
- data/third_party/upb/upb/reflection/message_def.c +46 -53
- data/third_party/upb/upb/reflection/message_def.h +6 -7
- data/third_party/upb/upb/reflection/message_reserved_range.c +7 -6
- data/third_party/upb/upb/reflection/method_def.c +22 -20
- data/third_party/upb/upb/reflection/method_def.h +4 -4
- data/third_party/upb/upb/reflection/oneof_def.c +17 -15
- data/third_party/upb/upb/reflection/oneof_def.h +6 -3
- data/third_party/upb/upb/reflection/service_def.c +50 -23
- data/third_party/upb/upb/reflection/service_def.h +7 -4
- data/third_party/upb/upb/text/internal/encode.c +7 -10
- data/third_party/upb/upb/wire/decode.c +269 -430
- data/third_party/upb/upb/wire/decode.h +6 -45
- data/third_party/upb/upb/wire/decode_fast/combinations.h +7 -3
- data/third_party/upb/upb/wire/decode_fast/select.c +7 -2
- data/third_party/upb/upb/wire/encode.c +144 -106
- data/third_party/upb/upb/wire/encode.h +6 -2
- data/third_party/upb/upb/wire/eps_copy_input_stream.c +36 -7
- data/third_party/upb/upb/wire/eps_copy_input_stream.h +94 -380
- data/third_party/upb/upb/wire/internal/decoder.c +1 -14
- data/third_party/upb/upb/wire/internal/decoder.h +84 -24
- data/third_party/upb/upb/wire/internal/eps_copy_input_stream.h +339 -0
- data/third_party/upb/upb/wire/internal/reader.h +29 -12
- data/third_party/upb/upb/wire/reader.c +35 -22
- data/third_party/upb/upb/wire/reader.h +11 -18
- data/third_party/utf8_range/utf8_range.c +1 -1
- data/third_party/utf8_range/utf8_range.h +2 -1
- metadata +27 -13
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +0 -117
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +0 -109
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +0 -80
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +0 -86
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +0 -83
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +0 -91
- data/src/core/ext/transport/chttp2/transport/incoming_metadata_tracker.h +0 -217
- data/src/core/filter/blackboard.cc +0 -33
- data/third_party/upb/upb/message/internal/tagged_ptr.h +0 -56
- data/third_party/upb/upb/message/tagged_ptr.h +0 -48
|
@@ -38,7 +38,6 @@
|
|
|
38
38
|
#include "src/core/client_channel/client_channel_internal.h"
|
|
39
39
|
#include "src/core/client_channel/config_selector.h"
|
|
40
40
|
#include "src/core/config/core_configuration.h"
|
|
41
|
-
#include "src/core/filter/blackboard.h"
|
|
42
41
|
#include "src/core/lib/channel/channel_args.h"
|
|
43
42
|
#include "src/core/lib/channel/channel_fwd.h"
|
|
44
43
|
#include "src/core/lib/channel/channel_stack.h"
|
|
@@ -72,6 +71,7 @@
|
|
|
72
71
|
#include "src/core/util/uri.h"
|
|
73
72
|
#include "src/core/util/work_serializer.h"
|
|
74
73
|
#include "src/core/util/xxhash_inline.h"
|
|
74
|
+
#include "src/core/xds/grpc/blackboard.h"
|
|
75
75
|
#include "src/core/xds/grpc/xds_bootstrap_grpc.h"
|
|
76
76
|
#include "src/core/xds/grpc/xds_client_grpc.h"
|
|
77
77
|
#include "src/core/xds/grpc/xds_http_filter.h"
|
|
@@ -109,7 +109,8 @@ class XdsResolver final : public Resolver {
|
|
|
109
109
|
interested_parties_(args.pollset_set),
|
|
110
110
|
uri_(std::move(args.uri)),
|
|
111
111
|
data_plane_authority_(std::move(data_plane_authority)),
|
|
112
|
-
channel_id_(absl::Uniform<uint64_t>(absl::BitGen()))
|
|
112
|
+
channel_id_(absl::Uniform<uint64_t>(absl::BitGen())),
|
|
113
|
+
blackboard_(MakeRefCounted<Blackboard>()) {
|
|
113
114
|
GRPC_TRACE_LOG(xds_resolver, INFO)
|
|
114
115
|
<< "[xds_resolver " << this << "] created for URI " << uri_.ToString()
|
|
115
116
|
<< "; data plane authority is " << data_plane_authority_;
|
|
@@ -192,14 +193,9 @@ class XdsResolver final : public Resolver {
|
|
|
192
193
|
uint32_t range_end;
|
|
193
194
|
absl::string_view cluster;
|
|
194
195
|
absl::StatusOr<RefCountedPtr<const FilterChain>> filter_chain;
|
|
195
|
-
// TODO(roth): Remove this field as part of removing the
|
|
196
|
-
// xds_channel_filter_chain_per_route experiment.
|
|
197
|
-
RefCountedPtr<ServiceConfig> method_config;
|
|
198
196
|
};
|
|
199
197
|
|
|
200
198
|
XdsRouteConfigResource::Route route;
|
|
201
|
-
// TODO(roth): Remove this field as part of removing the
|
|
202
|
-
// xds_channel_filter_chain_per_route experiment.
|
|
203
199
|
RefCountedPtr<ServiceConfig> method_config;
|
|
204
200
|
absl::StatusOr<RefCountedPtr<const FilterChain>> filter_chain;
|
|
205
201
|
std::vector<ClusterWeightState> weighted_cluster_state;
|
|
@@ -223,19 +219,13 @@ class XdsResolver final : public Resolver {
|
|
|
223
219
|
|
|
224
220
|
void BuildFilterChains(const XdsConfig& xds_config,
|
|
225
221
|
const XdsHttpFilterRegistry& http_filter_registry,
|
|
226
|
-
FilterChainBuilder& builder,
|
|
227
|
-
const Blackboard* old_blackboard,
|
|
228
|
-
Blackboard* new_blackboard);
|
|
222
|
+
FilterChainBuilder& builder, Blackboard& blackboard);
|
|
229
223
|
|
|
230
224
|
private:
|
|
231
225
|
class RouteListIterator;
|
|
232
226
|
|
|
233
227
|
static absl::StatusOr<RefCountedPtr<ServiceConfig>> CreateMethodConfig(
|
|
234
|
-
XdsResolver* resolver, const XdsRouteConfigResource::Route& route
|
|
235
|
-
// TODO(roth): Remove this field as part of removing the
|
|
236
|
-
// xds_channel_filter_chain_per_route experiment.
|
|
237
|
-
const XdsRouteConfigResource::Route::RouteAction::ClusterWeight*
|
|
238
|
-
cluster_weight);
|
|
228
|
+
XdsResolver* resolver, const XdsRouteConfigResource::Route& route);
|
|
239
229
|
|
|
240
230
|
absl::Status AddRouteEntry(XdsResolver* resolver,
|
|
241
231
|
const XdsRouteConfigResource::Route& route,
|
|
@@ -265,9 +255,7 @@ class XdsResolver final : public Resolver {
|
|
|
265
255
|
*other_xds->xds_config_->route_config;
|
|
266
256
|
}
|
|
267
257
|
|
|
268
|
-
void BuildFilterChains(FilterChainBuilder& builder
|
|
269
|
-
const Blackboard* old_blackboard,
|
|
270
|
-
Blackboard* new_blackboard) override;
|
|
258
|
+
void BuildFilterChains(FilterChainBuilder& builder) override;
|
|
271
259
|
|
|
272
260
|
absl::StatusOr<RefCountedPtr<const FilterChain>> GetCallConfig(
|
|
273
261
|
GetCallConfigArgs args) override;
|
|
@@ -276,9 +264,6 @@ class XdsResolver final : public Resolver {
|
|
|
276
264
|
RefCountedPtr<XdsResolver> resolver_;
|
|
277
265
|
RefCountedPtr<const XdsConfig> xds_config_;
|
|
278
266
|
RefCountedPtr<RouteConfigData> route_config_data_;
|
|
279
|
-
// TODO(roth): Remove this field as part of removing the
|
|
280
|
-
// xds_channel_filter_chain_per_route experiment.
|
|
281
|
-
absl::StatusOr<RefCountedPtr<const FilterChain>> filter_chain_;
|
|
282
267
|
};
|
|
283
268
|
|
|
284
269
|
class XdsRouteStateAttributeImpl final : public XdsRouteStateAttribute {
|
|
@@ -368,6 +353,7 @@ class XdsResolver final : public Resolver {
|
|
|
368
353
|
std::string data_plane_authority_;
|
|
369
354
|
const uint64_t channel_id_;
|
|
370
355
|
|
|
356
|
+
RefCountedPtr<Blackboard> blackboard_;
|
|
371
357
|
OrphanablePtr<XdsDependencyManager> dependency_mgr_;
|
|
372
358
|
RefCountedPtr<const XdsConfig> current_config_;
|
|
373
359
|
std::map<absl::string_view, WeakRefCountedPtr<ClusterRef>> cluster_ref_map_;
|
|
@@ -431,23 +417,10 @@ XdsResolver::RouteConfigData::GetRouteForRequest(
|
|
|
431
417
|
return &routes_[*route_index];
|
|
432
418
|
}
|
|
433
419
|
|
|
434
|
-
RefCountedPtr<const FilterConfig> GetOverrideConfig(
|
|
435
|
-
const XdsHttpFilterImpl* filter_impl,
|
|
436
|
-
const XdsRouteConfigResource::TypedPerFilterConfig& typed_per_filter_config,
|
|
437
|
-
const std::string& name) {
|
|
438
|
-
auto it = typed_per_filter_config.find(name);
|
|
439
|
-
if (it == typed_per_filter_config.end()) return nullptr;
|
|
440
|
-
if (it->second.config_proto_type != filter_impl->OverrideConfigProtoName()) {
|
|
441
|
-
return nullptr;
|
|
442
|
-
}
|
|
443
|
-
return it->second.filter_config;
|
|
444
|
-
}
|
|
445
|
-
|
|
446
420
|
void XdsResolver::RouteConfigData::BuildFilterChains(
|
|
447
421
|
const XdsConfig& xds_config,
|
|
448
422
|
const XdsHttpFilterRegistry& http_filter_registry,
|
|
449
|
-
FilterChainBuilder& builder,
|
|
450
|
-
Blackboard* new_blackboard) {
|
|
423
|
+
FilterChainBuilder& builder, Blackboard& blackboard) {
|
|
451
424
|
const auto& hcm = std::get<XdsListenerResource::HttpConnectionManager>(
|
|
452
425
|
xds_config.listener->listener);
|
|
453
426
|
XdsRouting::PerRouteFilterChainBuilder per_route_builder(
|
|
@@ -455,7 +428,7 @@ void XdsResolver::RouteConfigData::BuildFilterChains(
|
|
|
455
428
|
[](FilterChainBuilder& builder) {
|
|
456
429
|
builder.AddFilter<ClusterSelectionFilter>(nullptr);
|
|
457
430
|
},
|
|
458
|
-
|
|
431
|
+
blackboard);
|
|
459
432
|
// Set the filter chain for each route.
|
|
460
433
|
for (auto& route_entry : routes_) {
|
|
461
434
|
const auto* route_action =
|
|
@@ -488,9 +461,7 @@ void XdsResolver::RouteConfigData::BuildFilterChains(
|
|
|
488
461
|
|
|
489
462
|
absl::StatusOr<RefCountedPtr<ServiceConfig>>
|
|
490
463
|
XdsResolver::RouteConfigData::CreateMethodConfig(
|
|
491
|
-
XdsResolver* resolver, const XdsRouteConfigResource::Route& route
|
|
492
|
-
const XdsRouteConfigResource::Route::RouteAction::ClusterWeight*
|
|
493
|
-
cluster_weight) {
|
|
464
|
+
XdsResolver* resolver, const XdsRouteConfigResource::Route& route) {
|
|
494
465
|
std::vector<std::string> fields;
|
|
495
466
|
const auto& route_action =
|
|
496
467
|
std::get<XdsRouteConfigResource::Route::RouteAction>(route.action);
|
|
@@ -538,23 +509,6 @@ XdsResolver::RouteConfigData::CreateMethodConfig(
|
|
|
538
509
|
absl::StrFormat(" \"timeout\": \"%s\"",
|
|
539
510
|
route_action.max_stream_duration->ToJsonString()));
|
|
540
511
|
}
|
|
541
|
-
ChannelArgs args = resolver->args_;
|
|
542
|
-
if (!IsXdsChannelFilterChainPerRouteEnabled()) {
|
|
543
|
-
// Handle xDS HTTP filters.
|
|
544
|
-
const auto& hcm = std::get<XdsListenerResource::HttpConnectionManager>(
|
|
545
|
-
resolver->current_config_->listener->listener);
|
|
546
|
-
auto result = XdsRouting::GeneratePerHTTPFilterConfigsForMethodConfig(
|
|
547
|
-
DownCast<const GrpcXdsBootstrap&>(resolver->xds_client_->bootstrap())
|
|
548
|
-
.http_filter_registry(),
|
|
549
|
-
hcm.http_filters, *resolver->current_config_->virtual_host, route,
|
|
550
|
-
cluster_weight, resolver->args_);
|
|
551
|
-
if (!result.ok()) return result.status();
|
|
552
|
-
for (const auto& [name, config] : result->per_filter_configs) {
|
|
553
|
-
fields.emplace_back(absl::StrCat(
|
|
554
|
-
" \"", name, "\": [\n", absl::StrJoin(config, ",\n"), "\n ]"));
|
|
555
|
-
}
|
|
556
|
-
args = result->args;
|
|
557
|
-
}
|
|
558
512
|
// Construct service config.
|
|
559
513
|
if (!fields.empty()) {
|
|
560
514
|
std::string json = absl::StrCat(
|
|
@@ -567,7 +521,7 @@ XdsResolver::RouteConfigData::CreateMethodConfig(
|
|
|
567
521
|
absl::StrJoin(fields, ",\n"),
|
|
568
522
|
"\n } ]\n"
|
|
569
523
|
"}");
|
|
570
|
-
return ServiceConfigImpl::Create(
|
|
524
|
+
return ServiceConfigImpl::Create(resolver->args_, json.c_str());
|
|
571
525
|
}
|
|
572
526
|
return nullptr;
|
|
573
527
|
}
|
|
@@ -596,20 +550,18 @@ absl::Status XdsResolver::RouteConfigData::AddRouteEntry(
|
|
|
596
550
|
if (!route_action->max_stream_duration.has_value()) {
|
|
597
551
|
route_action->max_stream_duration = default_max_stream_duration;
|
|
598
552
|
}
|
|
599
|
-
|
|
553
|
+
// Generate method config for the route.
|
|
554
|
+
auto method_config = CreateMethodConfig(resolver, route_entry->route);
|
|
555
|
+
if (!method_config.ok()) return method_config.status();
|
|
556
|
+
route_entry->method_config = std::move(*method_config);
|
|
557
|
+
// Add cluster(s) for the route.
|
|
558
|
+
Match(
|
|
600
559
|
route_action->action,
|
|
601
560
|
// cluster name
|
|
602
561
|
[&](const XdsRouteConfigResource::Route::RouteAction::ClusterName&
|
|
603
562
|
cluster_name) {
|
|
604
|
-
auto result =
|
|
605
|
-
CreateMethodConfig(resolver, route_entry->route, nullptr);
|
|
606
|
-
if (!result.ok()) {
|
|
607
|
-
return result.status();
|
|
608
|
-
}
|
|
609
|
-
route_entry->method_config = std::move(*result);
|
|
610
563
|
maybe_add_cluster(absl::StrCat("cluster:", cluster_name.cluster_name),
|
|
611
564
|
cluster_name.cluster_name);
|
|
612
|
-
return absl::OkStatus();
|
|
613
565
|
},
|
|
614
566
|
// WeightedClusters
|
|
615
567
|
[&](const std::vector<
|
|
@@ -617,13 +569,7 @@ absl::Status XdsResolver::RouteConfigData::AddRouteEntry(
|
|
|
617
569
|
weighted_clusters) {
|
|
618
570
|
uint32_t end = 0;
|
|
619
571
|
for (const auto& weighted_cluster : weighted_clusters) {
|
|
620
|
-
auto result = CreateMethodConfig(resolver, route_entry->route,
|
|
621
|
-
&weighted_cluster);
|
|
622
|
-
if (!result.ok()) {
|
|
623
|
-
return result.status();
|
|
624
|
-
}
|
|
625
572
|
RouteEntry::ClusterWeightState cluster_weight_state;
|
|
626
|
-
cluster_weight_state.method_config = std::move(*result);
|
|
627
573
|
end += weighted_cluster.weight;
|
|
628
574
|
cluster_weight_state.range_end = end;
|
|
629
575
|
cluster_weight_state.cluster = weighted_cluster.name;
|
|
@@ -632,27 +578,16 @@ absl::Status XdsResolver::RouteConfigData::AddRouteEntry(
|
|
|
632
578
|
maybe_add_cluster(absl::StrCat("cluster:", weighted_cluster.name),
|
|
633
579
|
weighted_cluster.name);
|
|
634
580
|
}
|
|
635
|
-
return absl::OkStatus();
|
|
636
581
|
},
|
|
637
582
|
// ClusterSpecifierPlugin
|
|
638
583
|
[&](const XdsRouteConfigResource::Route::RouteAction::
|
|
639
584
|
ClusterSpecifierPluginName& cluster_specifier_plugin_name) {
|
|
640
|
-
auto result =
|
|
641
|
-
CreateMethodConfig(resolver, route_entry->route, nullptr);
|
|
642
|
-
if (!result.ok()) {
|
|
643
|
-
return result.status();
|
|
644
|
-
}
|
|
645
|
-
route_entry->method_config = std::move(*result);
|
|
646
585
|
maybe_add_cluster(
|
|
647
586
|
absl::StrCat(
|
|
648
587
|
"cluster_specifier_plugin:",
|
|
649
588
|
cluster_specifier_plugin_name.cluster_specifier_plugin_name),
|
|
650
589
|
/*subscription_name=*/"");
|
|
651
|
-
return absl::OkStatus();
|
|
652
590
|
});
|
|
653
|
-
if (!status.ok()) {
|
|
654
|
-
return status;
|
|
655
|
-
}
|
|
656
591
|
}
|
|
657
592
|
return absl::OkStatus();
|
|
658
593
|
}
|
|
@@ -720,7 +655,6 @@ XdsResolver::XdsConfigSelector::GetCallConfig(GetCallConfigArgs args) {
|
|
|
720
655
|
return absl::UnavailableError("Matching route has inappropriate action");
|
|
721
656
|
}
|
|
722
657
|
std::string cluster_name;
|
|
723
|
-
RefCountedPtr<ServiceConfig> method_config;
|
|
724
658
|
absl::StatusOr<RefCountedPtr<const FilterChain>> filter_chain;
|
|
725
659
|
Match(
|
|
726
660
|
route_action->action,
|
|
@@ -729,7 +663,6 @@ XdsResolver::XdsConfigSelector::GetCallConfig(GetCallConfigArgs args) {
|
|
|
729
663
|
action_cluster_name) {
|
|
730
664
|
cluster_name =
|
|
731
665
|
absl::StrCat("cluster:", action_cluster_name.cluster_name);
|
|
732
|
-
method_config = entry->method_config;
|
|
733
666
|
filter_chain = entry->filter_chain;
|
|
734
667
|
},
|
|
735
668
|
// WeightedClusters
|
|
@@ -758,7 +691,6 @@ XdsResolver::XdsConfigSelector::GetCallConfig(GetCallConfigArgs args) {
|
|
|
758
691
|
const auto& cluster_weight = entry->weighted_cluster_state[index];
|
|
759
692
|
GRPC_CHECK(cluster_weight.range_end > key);
|
|
760
693
|
cluster_name = absl::StrCat("cluster:", cluster_weight.cluster);
|
|
761
|
-
method_config = cluster_weight.method_config;
|
|
762
694
|
filter_chain = cluster_weight.filter_chain;
|
|
763
695
|
},
|
|
764
696
|
// ClusterSpecifierPlugin
|
|
@@ -767,12 +699,9 @@ XdsResolver::XdsConfigSelector::GetCallConfig(GetCallConfigArgs args) {
|
|
|
767
699
|
cluster_name = absl::StrCat(
|
|
768
700
|
"cluster_specifier_plugin:",
|
|
769
701
|
cluster_specifier_plugin_name.cluster_specifier_plugin_name);
|
|
770
|
-
method_config = entry->method_config;
|
|
771
702
|
filter_chain = entry->filter_chain;
|
|
772
703
|
});
|
|
773
|
-
if (
|
|
774
|
-
return filter_chain.status();
|
|
775
|
-
}
|
|
704
|
+
if (!filter_chain.ok()) return filter_chain.status();
|
|
776
705
|
auto cluster = route_config_data_->FindClusterRef(cluster_name);
|
|
777
706
|
GRPC_CHECK(cluster != nullptr);
|
|
778
707
|
// Generate a hash.
|
|
@@ -805,10 +734,10 @@ XdsResolver::XdsConfigSelector::GetCallConfig(GetCallConfigArgs args) {
|
|
|
805
734
|
hash = absl::Uniform<uint64_t>(absl::BitGen());
|
|
806
735
|
}
|
|
807
736
|
// Populate service config call data.
|
|
808
|
-
if (method_config != nullptr) {
|
|
737
|
+
if (entry->method_config != nullptr) {
|
|
809
738
|
auto* parsed_method_configs =
|
|
810
|
-
method_config->GetMethodParsedConfigVector(grpc_empty_slice());
|
|
811
|
-
args.service_config_call_data->SetServiceConfig(
|
|
739
|
+
entry->method_config->GetMethodParsedConfigVector(grpc_empty_slice());
|
|
740
|
+
args.service_config_call_data->SetServiceConfig(entry->method_config,
|
|
812
741
|
parsed_method_configs);
|
|
813
742
|
}
|
|
814
743
|
args.service_config_call_data->SetCallAttribute(
|
|
@@ -818,41 +747,17 @@ XdsResolver::XdsConfigSelector::GetCallConfig(GetCallConfigArgs args) {
|
|
|
818
747
|
args.service_config_call_data->SetCallAttribute(
|
|
819
748
|
args.arena->ManagedNew<XdsRouteStateAttributeImpl>(route_config_data_,
|
|
820
749
|
entry));
|
|
821
|
-
if (!IsXdsChannelFilterChainPerRouteEnabled()) return filter_chain_;
|
|
822
750
|
return filter_chain;
|
|
823
751
|
}
|
|
824
752
|
|
|
825
753
|
void XdsResolver::XdsConfigSelector::BuildFilterChains(
|
|
826
|
-
FilterChainBuilder& builder
|
|
827
|
-
Blackboard* new_blackboard) {
|
|
828
|
-
if (!IsXdsChannelFilterChainPerRouteEnabled()) {
|
|
829
|
-
const auto& http_filter_registry =
|
|
830
|
-
DownCast<const GrpcXdsBootstrap&>(resolver_->xds_client_->bootstrap())
|
|
831
|
-
.http_filter_registry();
|
|
832
|
-
const auto& hcm = std::get<XdsListenerResource::HttpConnectionManager>(
|
|
833
|
-
xds_config_->listener->listener);
|
|
834
|
-
for (const auto& http_filter : hcm.http_filters) {
|
|
835
|
-
// Find filter. This is guaranteed to succeed, because it's checked
|
|
836
|
-
// at config validation time.
|
|
837
|
-
const XdsHttpFilterImpl* filter_impl =
|
|
838
|
-
http_filter_registry.GetFilterForTopLevelType(
|
|
839
|
-
http_filter.config_proto_type);
|
|
840
|
-
GRPC_CHECK_NE(filter_impl, nullptr);
|
|
841
|
-
filter_impl->AddFilter(builder, nullptr);
|
|
842
|
-
filter_impl->UpdateBlackboard(http_filter.config, old_blackboard,
|
|
843
|
-
new_blackboard);
|
|
844
|
-
}
|
|
845
|
-
builder.AddFilter<ClusterSelectionFilter>(nullptr);
|
|
846
|
-
filter_chain_ = builder.Build();
|
|
847
|
-
return;
|
|
848
|
-
}
|
|
754
|
+
FilterChainBuilder& builder) {
|
|
849
755
|
// Build filter chains.
|
|
850
756
|
const auto& http_filter_registry =
|
|
851
757
|
DownCast<const GrpcXdsBootstrap&>(resolver_->xds_client_->bootstrap())
|
|
852
758
|
.http_filter_registry();
|
|
853
759
|
route_config_data_->BuildFilterChains(*xds_config_, http_filter_registry,
|
|
854
|
-
builder,
|
|
855
|
-
new_blackboard);
|
|
760
|
+
builder, *resolver_->blackboard_);
|
|
856
761
|
}
|
|
857
762
|
|
|
858
763
|
//
|
|
@@ -1062,21 +967,6 @@ XdsResolver::CreateServiceConfig() {
|
|
|
1062
967
|
" } }\n"
|
|
1063
968
|
" ]"));
|
|
1064
969
|
ChannelArgs args = args_;
|
|
1065
|
-
if (!IsXdsChannelFilterChainPerRouteEnabled()) {
|
|
1066
|
-
auto& hcm = std::get<XdsListenerResource::HttpConnectionManager>(
|
|
1067
|
-
current_config_->listener->listener);
|
|
1068
|
-
auto filter_configs =
|
|
1069
|
-
XdsRouting::GeneratePerHTTPFilterConfigsForServiceConfig(
|
|
1070
|
-
static_cast<const GrpcXdsBootstrap&>(xds_client_->bootstrap())
|
|
1071
|
-
.http_filter_registry(),
|
|
1072
|
-
hcm.http_filters, args_);
|
|
1073
|
-
if (!filter_configs.ok()) return filter_configs.status();
|
|
1074
|
-
for (const auto& [name, config] : filter_configs->per_filter_configs) {
|
|
1075
|
-
config_parts.emplace_back(absl::StrCat(
|
|
1076
|
-
" \"", name, "\": [\n", absl::StrJoin(config, ",\n"), "\n ]"));
|
|
1077
|
-
}
|
|
1078
|
-
args = filter_configs->args;
|
|
1079
|
-
}
|
|
1080
970
|
std::string json = absl::StrCat("{", absl::StrJoin(config_parts, ",\n"), "}");
|
|
1081
971
|
return ServiceConfigImpl::Create(args, json.c_str());
|
|
1082
972
|
}
|
data/src/core/server/server.cc
CHANGED
|
@@ -685,6 +685,12 @@ class Server::RealRequestMatcher : public RequestMatcherInterface {
|
|
|
685
685
|
}
|
|
686
686
|
}
|
|
687
687
|
if (rc == nullptr) {
|
|
688
|
+
if (IsOptimization04Enabled() &&
|
|
689
|
+
server_->pending_backlog_protector_.Reject(
|
|
690
|
+
pending_filter_stack_.size(), SharedBitGen())) {
|
|
691
|
+
calld->FailCallCreation();
|
|
692
|
+
return;
|
|
693
|
+
}
|
|
688
694
|
calld->SetState(CallData::CallState::PENDING);
|
|
689
695
|
pending_filter_stack_.push(PendingCallFilterStack{calld});
|
|
690
696
|
return;
|
|
@@ -1139,9 +1145,15 @@ auto Server::MatchAndPublishCall(CallHandler call_handler) {
|
|
|
1139
1145
|
auto md = std::move(std::get<2>(r));
|
|
1140
1146
|
auto* rc = mr.TakeCall();
|
|
1141
1147
|
rc->Complete(std::move(std::get<0>(r)), *md);
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1148
|
+
RefCountedPtr<Arena> parent_arena = nullptr;
|
|
1149
|
+
Arena* raw_arena = channel_args_.GetPointer<Arena>(
|
|
1150
|
+
GRPC_ARG_SERVER_INTERNAL_PARENT_CALL_ARENA);
|
|
1151
|
+
if (raw_arena != nullptr) {
|
|
1152
|
+
parent_arena = raw_arena->Ref();
|
|
1153
|
+
}
|
|
1154
|
+
grpc_call* call = MakeServerCall(
|
|
1155
|
+
call_handler, std::move(md), this, rc->cq_bound_to_call,
|
|
1156
|
+
rc->initial_metadata, std::move(parent_arena));
|
|
1145
1157
|
*rc->call = call;
|
|
1146
1158
|
return Map(WaitForCqEndOp(false, rc->tag, absl::OkStatus(), mr.cq()),
|
|
1147
1159
|
[rc = std::unique_ptr<RequestedCall>(rc)](Empty) {
|
|
@@ -1175,6 +1187,7 @@ Server::Server(const ChannelArgs& args)
|
|
|
1175
1187
|
? nullptr
|
|
1176
1188
|
: channelz::DataSource::channelz_node()
|
|
1177
1189
|
->RefAsSubclass<channelz::ServerNode>()),
|
|
1190
|
+
config_fetcher_(channel_args_.GetObjectRef<ServerConfigFetcher>()),
|
|
1178
1191
|
server_call_tracer_factory_(ServerCallTracerFactory::Get(channel_args_)),
|
|
1179
1192
|
compression_options_(CompressionOptionsFromChannelArgs(channel_args_)),
|
|
1180
1193
|
max_time_in_pending_queue_(Duration::Seconds(
|
|
@@ -1357,10 +1370,18 @@ grpc_error_handle Server::SetupTransport(
|
|
|
1357
1370
|
socket_node->AddParent(channelz_node_.get());
|
|
1358
1371
|
}
|
|
1359
1372
|
|
|
1360
|
-
//
|
|
1373
|
+
// Keep a local reference to the channel alive during setup to prevent
|
|
1374
|
+
// premature destruction if the transport fails concurrently.
|
|
1375
|
+
RefCountedPtr<Channel> channel_keep_alive = *channel;
|
|
1361
1376
|
chand->InitTransport(Ref(), std::move(*channel), cq_idx, transport,
|
|
1362
1377
|
channelz_socket_uuid);
|
|
1363
1378
|
|
|
1379
|
+
auto* parent_arena =
|
|
1380
|
+
args.GetPointer<Arena>(GRPC_ARG_SERVER_INTERNAL_PARENT_CALL_ARENA);
|
|
1381
|
+
if (parent_arena != nullptr) {
|
|
1382
|
+
chand->set_parent_arena(parent_arena->Ref());
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1364
1385
|
stream_quota_->IncrementOpenChannels();
|
|
1365
1386
|
}
|
|
1366
1387
|
return absl::OkStatus();
|
|
@@ -1805,6 +1826,13 @@ void Server::ChannelData::AcceptStream(void* arg, Transport* /*transport*/,
|
|
|
1805
1826
|
args.send_deadline = Timestamp::InfFuture();
|
|
1806
1827
|
grpc_call* call;
|
|
1807
1828
|
grpc_error_handle error = grpc_call_create(&args, &call);
|
|
1829
|
+
|
|
1830
|
+
if (chand->parent_arena() != nullptr && call != nullptr) {
|
|
1831
|
+
auto* call_arena = grpc_call_get_arena(call);
|
|
1832
|
+
auto* parent_link = call_arena->New<ParentCallContext>();
|
|
1833
|
+
parent_link->arena = chand->parent_arena()->Ref();
|
|
1834
|
+
call_arena->SetContext<ParentCallContext>(parent_link);
|
|
1835
|
+
}
|
|
1808
1836
|
grpc_call_stack* call_stack = grpc_call_get_call_stack(call);
|
|
1809
1837
|
GRPC_CHECK_NE(call_stack, nullptr);
|
|
1810
1838
|
grpc_call_element* elem = grpc_call_stack_element(call_stack, 0);
|
|
@@ -2242,22 +2270,16 @@ grpc_call_error grpc_server_request_registered_call(
|
|
|
2242
2270
|
cq_for_notification, tag_new);
|
|
2243
2271
|
}
|
|
2244
2272
|
|
|
2245
|
-
void
|
|
2246
|
-
grpc_server* server, grpc_server_config_fetcher* server_config_fetcher) {
|
|
2247
|
-
grpc_core::ExecCtx exec_ctx;
|
|
2248
|
-
GRPC_TRACE_LOG(api, INFO)
|
|
2249
|
-
<< "grpc_server_set_config_fetcher(server=" << server
|
|
2250
|
-
<< ", config_fetcher=" << server_config_fetcher << ")";
|
|
2251
|
-
grpc_core::Server::FromC(server)->set_config_fetcher(
|
|
2252
|
-
std::unique_ptr<grpc_core::ServerConfigFetcher>(
|
|
2253
|
-
grpc_core::ServerConfigFetcher::FromC(server_config_fetcher)));
|
|
2254
|
-
}
|
|
2255
|
-
|
|
2256
|
-
void grpc_server_config_fetcher_destroy(
|
|
2273
|
+
void grpc_server_config_fetcher_unref(
|
|
2257
2274
|
grpc_server_config_fetcher* server_config_fetcher) {
|
|
2258
2275
|
grpc_core::ExecCtx exec_ctx;
|
|
2259
2276
|
GRPC_TRACE_LOG(api, INFO)
|
|
2260
|
-
<< "
|
|
2277
|
+
<< "grpc_server_config_fetcher_unref(config_fetcher="
|
|
2261
2278
|
<< server_config_fetcher << ")";
|
|
2262
|
-
|
|
2279
|
+
grpc_core::ServerConfigFetcher::FromC(server_config_fetcher)->Unref();
|
|
2280
|
+
}
|
|
2281
|
+
|
|
2282
|
+
const grpc_arg_pointer_vtable* grpc_server_config_fetcher_arg_vtable(void) {
|
|
2283
|
+
return grpc_core::ChannelArgTypeTraits<
|
|
2284
|
+
grpc_core::ServerConfigFetcher>::VTable();
|
|
2263
2285
|
}
|
data/src/core/server/server.h
CHANGED
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
#include "src/core/lib/resource_quota/connection_quota.h"
|
|
53
53
|
#include "src/core/lib/resource_quota/stream_quota.h"
|
|
54
54
|
#include "src/core/lib/slice/slice.h"
|
|
55
|
+
#include "src/core/lib/surface/call.h"
|
|
55
56
|
#include "src/core/lib/surface/channel.h"
|
|
56
57
|
#include "src/core/lib/surface/completion_queue.h"
|
|
57
58
|
#include "src/core/lib/transport/transport.h"
|
|
@@ -75,18 +76,19 @@
|
|
|
75
76
|
#define GRPC_ARG_SERVER_MAX_PENDING_REQUESTS "grpc.server.max_pending_requests"
|
|
76
77
|
#define GRPC_ARG_SERVER_MAX_PENDING_REQUESTS_HARD_LIMIT \
|
|
77
78
|
"grpc.server.max_pending_requests_hard_limit"
|
|
79
|
+
#define GRPC_ARG_SERVER_INTERNAL_PARENT_CALL_ARENA \
|
|
80
|
+
"grpc.internal.parent_call_arena"
|
|
78
81
|
|
|
79
82
|
namespace grpc_core {
|
|
80
83
|
|
|
81
84
|
class ServerConfigFetcher
|
|
82
|
-
: public CppImplOf<ServerConfigFetcher, grpc_server_config_fetcher
|
|
85
|
+
: public CppImplOf<ServerConfigFetcher, grpc_server_config_fetcher>,
|
|
86
|
+
public RefCounted<ServerConfigFetcher> {
|
|
83
87
|
public:
|
|
84
|
-
class ConnectionManager
|
|
85
|
-
: public grpc_core::DualRefCounted<ConnectionManager> {
|
|
88
|
+
class ConnectionManager : public DualRefCounted<ConnectionManager> {
|
|
86
89
|
public:
|
|
87
|
-
virtual absl::StatusOr<
|
|
88
|
-
|
|
89
|
-
grpc_endpoint* tcp) = 0;
|
|
90
|
+
virtual absl::StatusOr<ChannelArgs> UpdateChannelArgsForConnection(
|
|
91
|
+
const ChannelArgs& args, grpc_endpoint* tcp) = 0;
|
|
90
92
|
};
|
|
91
93
|
|
|
92
94
|
class WatcherInterface {
|
|
@@ -96,18 +98,24 @@ class ServerConfigFetcher
|
|
|
96
98
|
// config is available. Implementations should update the connection manager
|
|
97
99
|
// and start serving if not already serving.
|
|
98
100
|
virtual void UpdateConnectionManager(
|
|
99
|
-
|
|
101
|
+
RefCountedPtr<ConnectionManager> manager) = 0;
|
|
100
102
|
// Implementations should stop serving when this is called. Serving should
|
|
101
103
|
// only resume when UpdateConfig() is invoked.
|
|
102
104
|
virtual void StopServing() = 0;
|
|
103
105
|
};
|
|
104
106
|
|
|
105
|
-
virtual ~ServerConfigFetcher() = default;
|
|
106
|
-
|
|
107
107
|
virtual void StartWatch(std::string listening_address,
|
|
108
108
|
std::unique_ptr<WatcherInterface> watcher) = 0;
|
|
109
109
|
virtual void CancelWatch(WatcherInterface* watcher) = 0;
|
|
110
110
|
virtual grpc_pollset_set* interested_parties() = 0;
|
|
111
|
+
|
|
112
|
+
static absl::string_view ChannelArgName() {
|
|
113
|
+
return GRPC_ARG_SERVER_CONFIG_FETCHER;
|
|
114
|
+
}
|
|
115
|
+
static int ChannelArgsCompare(const ServerConfigFetcher* a,
|
|
116
|
+
const ServerConfigFetcher* b) {
|
|
117
|
+
return QsortCompare(a, b);
|
|
118
|
+
}
|
|
111
119
|
};
|
|
112
120
|
|
|
113
121
|
namespace experimental {
|
|
@@ -340,10 +348,6 @@ class Server : public ServerInterface,
|
|
|
340
348
|
return server_call_tracer_factory_;
|
|
341
349
|
}
|
|
342
350
|
|
|
343
|
-
void set_config_fetcher(std::unique_ptr<ServerConfigFetcher> config_fetcher) {
|
|
344
|
-
config_fetcher_ = std::move(config_fetcher);
|
|
345
|
-
}
|
|
346
|
-
|
|
347
351
|
bool HasOpenConnections() ABSL_LOCKS_EXCLUDED(mu_global_);
|
|
348
352
|
|
|
349
353
|
// Adds a listener to the server. When the server starts, it will call
|
|
@@ -444,6 +448,11 @@ class Server : public ServerInterface,
|
|
|
444
448
|
Channel* channel() const { return channel_.get(); }
|
|
445
449
|
size_t cq_idx() const { return cq_idx_; }
|
|
446
450
|
|
|
451
|
+
RefCountedPtr<Arena> parent_arena() const { return parent_arena_; }
|
|
452
|
+
void set_parent_arena(RefCountedPtr<Arena> parent_arena) {
|
|
453
|
+
parent_arena_ = std::move(parent_arena);
|
|
454
|
+
}
|
|
455
|
+
|
|
447
456
|
// Filter vtable functions.
|
|
448
457
|
static grpc_error_handle InitChannelElement(
|
|
449
458
|
grpc_channel_element* elem, grpc_channel_element_args* args);
|
|
@@ -467,6 +476,8 @@ class Server : public ServerInterface,
|
|
|
467
476
|
std::optional<std::list<ChannelData*>::iterator> list_position_;
|
|
468
477
|
grpc_closure finish_destroy_channel_closure_;
|
|
469
478
|
intptr_t channelz_socket_uuid_;
|
|
479
|
+
|
|
480
|
+
RefCountedPtr<Arena> parent_arena_;
|
|
470
481
|
};
|
|
471
482
|
|
|
472
483
|
class CallData {
|
|
@@ -657,7 +668,7 @@ class Server : public ServerInterface,
|
|
|
657
668
|
|
|
658
669
|
ChannelArgs const channel_args_;
|
|
659
670
|
RefCountedPtr<channelz::ServerNode> channelz_node_;
|
|
660
|
-
|
|
671
|
+
RefCountedPtr<ServerConfigFetcher> config_fetcher_;
|
|
661
672
|
ServerCallTracerFactory* const server_call_tracer_factory_;
|
|
662
673
|
|
|
663
674
|
std::vector<grpc_completion_queue*> cqs_;
|
|
@@ -46,6 +46,128 @@ namespace grpc_core {
|
|
|
46
46
|
|
|
47
47
|
namespace {
|
|
48
48
|
|
|
49
|
+
class LegacyServerConfigSelectorFilter final
|
|
50
|
+
: public ImplementChannelFilter<LegacyServerConfigSelectorFilter>,
|
|
51
|
+
public InternallyRefCounted<LegacyServerConfigSelectorFilter> {
|
|
52
|
+
public:
|
|
53
|
+
explicit LegacyServerConfigSelectorFilter(
|
|
54
|
+
RefCountedPtr<ServerConfigSelectorProvider>
|
|
55
|
+
server_config_selector_provider);
|
|
56
|
+
|
|
57
|
+
static absl::string_view TypeName() {
|
|
58
|
+
return "server_config_selector_filter";
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
LegacyServerConfigSelectorFilter(const LegacyServerConfigSelectorFilter&) =
|
|
62
|
+
delete;
|
|
63
|
+
LegacyServerConfigSelectorFilter& operator=(
|
|
64
|
+
const LegacyServerConfigSelectorFilter&) = delete;
|
|
65
|
+
|
|
66
|
+
static absl::StatusOr<OrphanablePtr<LegacyServerConfigSelectorFilter>> Create(
|
|
67
|
+
const ChannelArgs& args, ChannelFilter::Args);
|
|
68
|
+
|
|
69
|
+
void Orphan() override;
|
|
70
|
+
|
|
71
|
+
class Call {
|
|
72
|
+
public:
|
|
73
|
+
absl::Status OnClientInitialMetadata(
|
|
74
|
+
ClientMetadata& md, LegacyServerConfigSelectorFilter* filter);
|
|
75
|
+
static inline const NoInterceptor OnServerInitialMetadata;
|
|
76
|
+
static inline const NoInterceptor OnServerTrailingMetadata;
|
|
77
|
+
static inline const NoInterceptor OnClientToServerMessage;
|
|
78
|
+
static inline const NoInterceptor OnClientToServerHalfClose;
|
|
79
|
+
static inline const NoInterceptor OnServerToClientMessage;
|
|
80
|
+
static inline const NoInterceptor OnFinalize;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
absl::StatusOr<RefCountedPtr<ServerConfigSelector>> config_selector() {
|
|
84
|
+
MutexLock lock(&mu_);
|
|
85
|
+
return config_selector_.value();
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
private:
|
|
89
|
+
class ServerConfigSelectorWatcher
|
|
90
|
+
: public ServerConfigSelectorProvider::ServerConfigSelectorWatcher {
|
|
91
|
+
public:
|
|
92
|
+
explicit ServerConfigSelectorWatcher(
|
|
93
|
+
RefCountedPtr<LegacyServerConfigSelectorFilter> filter)
|
|
94
|
+
: filter_(filter) {}
|
|
95
|
+
void OnServerConfigSelectorUpdate(
|
|
96
|
+
absl::StatusOr<RefCountedPtr<ServerConfigSelector>> update) override {
|
|
97
|
+
MutexLock lock(&filter_->mu_);
|
|
98
|
+
filter_->config_selector_ = std::move(update);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
private:
|
|
102
|
+
RefCountedPtr<LegacyServerConfigSelectorFilter> filter_;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
RefCountedPtr<ServerConfigSelectorProvider> server_config_selector_provider_;
|
|
106
|
+
Mutex mu_;
|
|
107
|
+
std::optional<absl::StatusOr<RefCountedPtr<ServerConfigSelector>>>
|
|
108
|
+
config_selector_ ABSL_GUARDED_BY(mu_);
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
absl::StatusOr<OrphanablePtr<LegacyServerConfigSelectorFilter>>
|
|
112
|
+
LegacyServerConfigSelectorFilter::Create(const ChannelArgs& args,
|
|
113
|
+
ChannelFilter::Args) {
|
|
114
|
+
ServerConfigSelectorProvider* server_config_selector_provider =
|
|
115
|
+
args.GetObject<ServerConfigSelectorProvider>();
|
|
116
|
+
if (server_config_selector_provider == nullptr) {
|
|
117
|
+
return absl::UnknownError("No ServerConfigSelectorProvider object found");
|
|
118
|
+
}
|
|
119
|
+
return MakeOrphanable<LegacyServerConfigSelectorFilter>(
|
|
120
|
+
server_config_selector_provider->Ref());
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
LegacyServerConfigSelectorFilter::LegacyServerConfigSelectorFilter(
|
|
124
|
+
RefCountedPtr<ServerConfigSelectorProvider> server_config_selector_provider)
|
|
125
|
+
: server_config_selector_provider_(
|
|
126
|
+
std::move(server_config_selector_provider)) {
|
|
127
|
+
GRPC_CHECK(server_config_selector_provider_ != nullptr);
|
|
128
|
+
auto server_config_selector_watcher =
|
|
129
|
+
std::make_unique<ServerConfigSelectorWatcher>(Ref());
|
|
130
|
+
auto config_selector = server_config_selector_provider_->Watch(
|
|
131
|
+
std::move(server_config_selector_watcher));
|
|
132
|
+
MutexLock lock(&mu_);
|
|
133
|
+
// It's possible for the watcher to have already updated config_selector_
|
|
134
|
+
if (!config_selector_.has_value()) {
|
|
135
|
+
config_selector_ = std::move(config_selector);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
void LegacyServerConfigSelectorFilter::Orphan() {
|
|
140
|
+
if (server_config_selector_provider_ != nullptr) {
|
|
141
|
+
server_config_selector_provider_->CancelWatch();
|
|
142
|
+
}
|
|
143
|
+
Unref();
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
absl::Status LegacyServerConfigSelectorFilter::Call::OnClientInitialMetadata(
|
|
147
|
+
ClientMetadata& md, LegacyServerConfigSelectorFilter* filter) {
|
|
148
|
+
GRPC_LATENT_SEE_SCOPE(
|
|
149
|
+
"LegacyServerConfigSelectorFilter::Call::OnClientInitialMetadata");
|
|
150
|
+
auto sel = filter->config_selector();
|
|
151
|
+
if (!sel.ok()) return sel.status();
|
|
152
|
+
auto call_config = sel.value()->GetCallConfig(&md);
|
|
153
|
+
if (!call_config.ok()) {
|
|
154
|
+
return absl::UnavailableError(StatusToString(call_config.status()));
|
|
155
|
+
}
|
|
156
|
+
auto* service_config_call_data =
|
|
157
|
+
GetContext<Arena>()->New<ServiceConfigCallData>(GetContext<Arena>());
|
|
158
|
+
service_config_call_data->SetServiceConfig(
|
|
159
|
+
std::move(call_config->service_config), call_config->method_configs);
|
|
160
|
+
return absl::OkStatus();
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
} // namespace
|
|
164
|
+
|
|
165
|
+
const grpc_channel_filter kLegacyServerConfigSelectorFilter =
|
|
166
|
+
MakePromiseBasedFilter<LegacyServerConfigSelectorFilter,
|
|
167
|
+
FilterEndpoint::kServer>();
|
|
168
|
+
|
|
169
|
+
namespace {
|
|
170
|
+
|
|
49
171
|
class ServerConfigSelectorFilter final
|
|
50
172
|
: public ImplementChannelFilter<ServerConfigSelectorFilter>,
|
|
51
173
|
public InternallyRefCounted<ServerConfigSelectorFilter> {
|