grpc 1.81.1 → 1.83.1
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 +15 -9
- data/etc/roots.pem +10400 -3855
- data/include/grpc/grpc.h +6 -7
- data/include/grpc/grpc_audit_logging.h +2 -2
- data/include/grpc/grpc_security_constants.h +2 -0
- data/include/grpc/impl/channel_arg_names.h +26 -1
- data/src/core/call/call_filters.h +21 -5
- data/src/core/call/call_spine.h +4 -4
- data/src/core/call/client_call.cc +2 -2
- data/src/core/call/interception_chain.h +6 -9
- data/src/core/call/metadata.cc +7 -2
- 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 +16 -4
- data/src/core/call/server_call.h +14 -5
- 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 +2 -17
- data/src/core/client_channel/client_channel.cc +23 -28
- data/src/core/client_channel/client_channel.h +5 -3
- data/src/core/client_channel/client_channel_filter.cc +19 -30
- 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/client_channel_service_config.cc +5 -13
- data/src/core/client_channel/config_selector.h +2 -7
- data/src/core/client_channel/direct_channel.cc +5 -1
- data/src/core/client_channel/direct_channel.h +3 -1
- 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/{filter/blackboard.cc → config/experiment_env_var.cc} +11 -14
- data/src/core/config/experiment_env_var.h +26 -0
- 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/credentials/transport/ssl/ssl_security_connector.cc +14 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_selector.cc +172 -0
- data/src/core/credentials/transport/tls/grpc_tls_certificate_selector.h +103 -0
- data/src/core/credentials/transport/tls/load_system_roots_fallback.cc +3 -2
- data/src/core/credentials/transport/tls/load_system_roots_supported.cc +10 -3
- data/src/core/credentials/transport/tls/tls_security_connector.cc +14 -2
- data/src/core/credentials/transport/xds/xds_credentials.cc +4 -12
- 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/http/message_compress/compression_filter.cc +25 -32
- data/src/core/ext/filters/http/message_compress/compression_filter.h +0 -1
- 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/rbac/rbac_service_config_parser.cc +2 -1
- 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 +184 -54
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +10 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +132 -18
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +14 -2
- data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +2 -4
- data/src/core/ext/transport/chttp2/transport/frame.cc +120 -13
- data/src/core/ext/transport/chttp2/transport/frame.h +57 -10
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +34 -2
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +55 -23
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -1
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +13 -7
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_security.cc +10 -1
- data/src/core/ext/transport/chttp2/transport/frame_security.h +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -1
- data/src/core/ext/transport/chttp2/transport/goaway.cc +11 -1
- data/src/core/ext/transport/chttp2/transport/goaway.h +17 -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 +42 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -1
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +219 -417
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +49 -29
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.cc +2073 -0
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.h +746 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +49 -15
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +0 -2
- data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +74 -26
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +39 -15
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +18 -48
- data/src/core/ext/transport/chttp2/transport/internal.h +24 -0
- data/src/core/ext/transport/chttp2/transport/message_assembler.h +1 -2
- data/src/core/ext/transport/chttp2/transport/parsing.cc +93 -26
- data/src/core/ext/transport/chttp2/transport/ping_promise.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +4 -10
- data/src/core/ext/transport/chttp2/transport/read_context.h +494 -0
- data/src/core/ext/transport/chttp2/transport/security_frame.h +13 -3
- data/src/core/ext/transport/chttp2/transport/stream.h +287 -137
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +83 -65
- 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 +60 -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 +90 -4
- data/src/core/lib/channel/promise_based_filter.h +241 -188
- data/src/core/lib/compression/message_compress.cc +132 -97
- data/src/core/lib/compression/message_compress.h +24 -0
- data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +0 -13
- data/src/core/lib/event_engine/extensions/receive_coalescing_extension.h +44 -0
- data/src/core/lib/event_engine/extensions/tcp_trace.h +1 -1
- 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 +9 -18
- 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/shim.cc +2 -16
- data/src/core/lib/event_engine/shim.h +0 -4
- 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 +318 -183
- data/src/core/lib/experiments/experiments.h +186 -93
- data/src/core/lib/iomgr/buffer_list.h +1 -1
- data/src/core/lib/iomgr/error.cc +3 -73
- data/src/core/lib/iomgr/error.h +8 -6
- data/src/core/lib/iomgr/error_cfstream.cc +1 -2
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +3 -7
- data/src/core/lib/iomgr/ev_poll_posix.cc +2 -6
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +2 -2
- data/src/core/lib/iomgr/tcp_posix.cc +4 -7
- 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/security/authorization/audit_logging.cc +2 -2
- data/src/core/lib/security/authorization/audit_logging.h +3 -3
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +11 -13
- data/src/core/lib/security/authorization/grpc_authorization_engine.h +1 -1
- data/src/core/lib/security/authorization/matchers.cc +20 -20
- data/src/core/lib/security/authorization/matchers.h +15 -16
- data/src/core/lib/security/authorization/rbac_policy.h +1 -1
- data/src/core/lib/security/authorization/stdout_logger.cc +3 -3
- data/src/core/lib/security/authorization/stdout_logger.h +6 -5
- data/src/core/lib/surface/call.cc +6 -9
- data/src/core/lib/surface/call.h +11 -0
- data/src/core/lib/surface/channel.cc +21 -2
- data/src/core/lib/surface/channel.h +14 -6
- data/src/core/lib/surface/filter_stack_call.cc +10 -29
- data/src/core/lib/surface/legacy_channel.cc +9 -7
- data/src/core/lib/surface/legacy_channel.h +3 -1
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +13 -13
- data/src/core/lib/transport/bdp_estimator.h +9 -5
- data/src/core/lib/transport/error_utils.cc +26 -138
- data/src/core/lib/transport/promise_endpoint.h +8 -8
- data/src/core/lib/transport/transport.h +31 -4
- data/src/core/load_balancing/grpclb/grpclb.cc +2 -1
- data/src/core/load_balancing/pick_first/pick_first.cc +33 -2
- data/src/core/load_balancing/pick_first/pick_first.h +6 -0
- data/src/core/load_balancing/ring_hash/ring_hash.cc +3 -10
- data/src/core/load_balancing/rls/rls.cc +2 -1
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +141 -74
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.h +88 -0
- data/src/core/load_balancing/xds/cds.cc +80 -56
- data/src/core/load_balancing/xds/cds.h +21 -0
- data/src/core/mitigation_engine/mitigation.h +53 -0
- data/src/core/mitigation_engine/mitigation_engine.h +81 -0
- data/src/core/mitigation_engine/mitigation_provider.h +62 -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/dns/dns_resolver_plugin.cc +1 -6
- data/src/core/resolver/xds/xds_resolver.cc +37 -144
- data/src/core/server/server.cc +40 -18
- data/src/core/server/server.h +26 -18
- data/src/core/server/server_config_selector.h +5 -4
- data/src/core/server/server_config_selector_filter.cc +135 -26
- data/src/core/server/server_config_selector_filter.h +1 -0
- data/src/core/server/xds_server_config_fetcher.cc +687 -692
- data/src/core/server/xds_server_config_fetcher_legacy.cc +1336 -0
- data/src/core/telemetry/call_tracer.cc +49 -2
- data/src/core/telemetry/call_tracer.h +1 -0
- data/src/core/telemetry/histogram.h +10 -89
- data/src/core/telemetry/instrument.h +42 -28
- data/src/core/telemetry/tcp_tracer.h +38 -0
- 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/alts/handshaker/alts_handshaker_client.cc +1 -1
- data/src/core/tsi/ssl_telemetry_utils.cc +343 -0
- data/src/core/tsi/ssl_telemetry_utils.h +74 -0
- data/src/core/tsi/ssl_transport_security.cc +583 -305
- data/src/core/tsi/ssl_transport_security.h +22 -6
- data/src/core/tsi/ssl_transport_security_utils.cc +2 -0
- data/src/core/tsi/transport_security.h +7 -0
- data/src/core/util/http_client/httpcli.cc +1 -4
- data/src/core/util/http_client/httpcli_security_connector.cc +2 -1
- 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/status_helper.cc +71 -192
- data/src/core/util/status_helper.h +16 -21
- 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/file_watcher_certificate_provider_factory.cc +2 -11
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +2 -7
- data/src/core/xds/grpc/xds_cluster_parser.cc +5 -16
- data/src/core/xds/grpc/xds_common_types.cc +96 -0
- data/src/core/xds/grpc/xds_common_types.h +35 -7
- data/src/core/xds/grpc/xds_common_types_parser.cc +205 -134
- data/src/core/xds/grpc/xds_common_types_parser.h +18 -1
- data/src/core/xds/grpc/xds_endpoint_parser.cc +7 -18
- 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 +2 -12
- 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_rbac_filter.cc +3 -12
- 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_metadata_parser.cc +0 -2
- data/src/core/xds/grpc/xds_route_config.h +1 -1
- data/src/core/xds/grpc/xds_route_config_parser.cc +10 -16
- data/src/core/xds/grpc/xds_routing.cc +115 -90
- data/src/core/xds/grpc/xds_routing.h +73 -24
- data/src/core/xds/grpc/xds_server_grpc.cc +22 -13
- data/src/core/xds/grpc/xds_server_grpc.h +16 -2
- data/src/core/xds/grpc/xds_server_grpc_interface.h +10 -0
- data/src/core/xds/grpc/xds_transport_grpc.cc +123 -18
- data/src/core/xds/grpc/xds_transport_grpc.h +28 -4
- data/src/core/xds/xds_client/lrs_client.cc +4 -8
- data/src/core/xds/xds_client/xds_bootstrap.cc +4 -16
- data/src/core/xds/xds_client/xds_client.cc +2 -15
- data/src/core/xds/xds_client/xds_transport.h +3 -0
- 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/pb/src/proto/grpc/testing/messages_pb.rb +1 -1
- 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 +35 -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/third_party/upb/upb/message/internal/tagged_ptr.h +0 -56
- data/third_party/upb/upb/message/tagged_ptr.h +0 -48
data/src/core/lib/iomgr/error.h
CHANGED
|
@@ -19,6 +19,14 @@
|
|
|
19
19
|
#ifndef GRPC_SRC_CORE_LIB_IOMGR_ERROR_H
|
|
20
20
|
#define GRPC_SRC_CORE_LIB_IOMGR_ERROR_H
|
|
21
21
|
|
|
22
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
23
|
+
//
|
|
24
|
+
// ALL APIs IN THIS FILE ARE DEPRECATED!
|
|
25
|
+
//
|
|
26
|
+
// Callers should instead use absl::Status APIs directly.
|
|
27
|
+
//
|
|
28
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
29
|
+
|
|
22
30
|
#include <grpc/slice.h>
|
|
23
31
|
#include <grpc/status.h>
|
|
24
32
|
#include <grpc/support/port_platform.h>
|
|
@@ -94,12 +102,6 @@ grpc_error_handle grpc_error_set_int(grpc_error_handle src,
|
|
|
94
102
|
/// intptr_t for `p`, even if the value of `p` is not used.
|
|
95
103
|
bool grpc_error_get_int(grpc_error_handle error,
|
|
96
104
|
grpc_core::StatusIntProperty which, intptr_t* p);
|
|
97
|
-
grpc_error_handle grpc_error_set_str(grpc_error_handle src,
|
|
98
|
-
grpc_core::StatusStrProperty which,
|
|
99
|
-
absl::string_view str);
|
|
100
|
-
/// Returns false if the specified string is not set.
|
|
101
|
-
bool grpc_error_get_str(grpc_error_handle error,
|
|
102
|
-
grpc_core::StatusStrProperty which, std::string* str);
|
|
103
105
|
|
|
104
106
|
/// Add a child error: an error that is believed to have contributed to this
|
|
105
107
|
/// error occurring. Allows root causing high level errors from lower level
|
|
@@ -46,7 +46,6 @@ grpc_error_handle grpc_error_create_from_cferror(const char* file, int line,
|
|
|
46
46
|
absl::StrFormat("%s (error domain:%s, code:%ld, description:%s)",
|
|
47
47
|
custom_desc, buf_domain, code, buf_desc);
|
|
48
48
|
CFRelease(desc);
|
|
49
|
-
return
|
|
50
|
-
grpc_core::DebugLocation(file, line), {});
|
|
49
|
+
return absl::UnknownError(error_msg);
|
|
51
50
|
}
|
|
52
51
|
#endif // GRPC_CFSTREAM
|
|
@@ -334,9 +334,7 @@ static void fork_fd_list_remove_grpc_fd(grpc_fd* fd) {
|
|
|
334
334
|
|
|
335
335
|
static grpc_fd* fd_create(int fd, const char* name, bool track_err) {
|
|
336
336
|
grpc_fd* new_fd = nullptr;
|
|
337
|
-
if (grpc_core::IsEventEngineForAllOtherEndpointsEnabled()
|
|
338
|
-
!grpc_event_engine::experimental::
|
|
339
|
-
EventEngineExperimentDisabledForPython()) {
|
|
337
|
+
if (grpc_core::IsEventEngineForAllOtherEndpointsEnabled()) {
|
|
340
338
|
grpc_fd* new_fd = static_cast<grpc_fd*>(gpr_malloc(sizeof(grpc_fd)));
|
|
341
339
|
new_fd->fd = fd;
|
|
342
340
|
return new_fd;
|
|
@@ -418,9 +416,7 @@ static void fd_shutdown(grpc_fd* fd, grpc_error_handle why) {
|
|
|
418
416
|
|
|
419
417
|
static void fd_orphan(grpc_fd* fd, grpc_closure* on_done, int* release_fd,
|
|
420
418
|
const char* reason) {
|
|
421
|
-
if (grpc_core::IsEventEngineForAllOtherEndpointsEnabled()
|
|
422
|
-
!grpc_event_engine::experimental::
|
|
423
|
-
EventEngineExperimentDisabledForPython()) {
|
|
419
|
+
if (grpc_core::IsEventEngineForAllOtherEndpointsEnabled()) {
|
|
424
420
|
GRPC_CHECK_NE(release_fd, nullptr);
|
|
425
421
|
GRPC_CHECK_EQ(on_done, nullptr);
|
|
426
422
|
*release_fd = fd->fd;
|
|
@@ -672,7 +668,7 @@ static int poll_deadline_to_millis_timeout(grpc_core::Timestamp millis) {
|
|
|
672
668
|
// - This function then processes up-to MAX_EPOLL_EVENTS_PER_ITERATION and
|
|
673
669
|
// updates the g_epoll_set.cursor
|
|
674
670
|
|
|
675
|
-
// NOTE ON
|
|
671
|
+
// NOTE ON SYNCHRONIZATION: Similar to do_epoll_wait(), this function is only
|
|
676
672
|
// called by g_active_poller thread. So there is no need for synchronization
|
|
677
673
|
// when accessing fields in g_epoll_set
|
|
678
674
|
static grpc_error_handle process_epoll_events(grpc_pollset* /*pollset*/) {
|
|
@@ -379,9 +379,7 @@ static void unref_by(grpc_fd* fd, int n) {
|
|
|
379
379
|
}
|
|
380
380
|
|
|
381
381
|
static grpc_fd* fd_create(int fd, const char* name, bool track_err) {
|
|
382
|
-
if (grpc_core::IsEventEngineForAllOtherEndpointsEnabled()
|
|
383
|
-
!grpc_event_engine::experimental::
|
|
384
|
-
EventEngineExperimentDisabledForPython()) {
|
|
382
|
+
if (grpc_core::IsEventEngineForAllOtherEndpointsEnabled()) {
|
|
385
383
|
GRPC_TRACE_LOG(event_engine, ERROR)
|
|
386
384
|
<< "Creating a wrapped EventEngine grpc_fd with fd:" << fd;
|
|
387
385
|
grpc_fd* new_fd = static_cast<grpc_fd*>(gpr_malloc(sizeof(grpc_fd)));
|
|
@@ -480,9 +478,7 @@ static int fd_wrapped_fd(grpc_fd* fd) {
|
|
|
480
478
|
|
|
481
479
|
static void fd_orphan(grpc_fd* fd, grpc_closure* on_done, int* release_fd,
|
|
482
480
|
const char* reason) {
|
|
483
|
-
if (grpc_core::IsEventEngineForAllOtherEndpointsEnabled()
|
|
484
|
-
!grpc_event_engine::experimental::
|
|
485
|
-
EventEngineExperimentDisabledForPython()) {
|
|
481
|
+
if (grpc_core::IsEventEngineForAllOtherEndpointsEnabled()) {
|
|
486
482
|
GRPC_CHECK_NE(release_fd, nullptr);
|
|
487
483
|
GRPC_CHECK_EQ(on_done, nullptr);
|
|
488
484
|
*release_fd = fd->fd;
|
|
@@ -212,7 +212,7 @@ class EventEngineEndpointWrapper {
|
|
|
212
212
|
kShutdownBit + 1) {
|
|
213
213
|
auto* supports_fd =
|
|
214
214
|
QueryExtension<EndpointSupportsFdExtension>(endpoint_.get());
|
|
215
|
-
if (supports_fd != nullptr && fd_
|
|
215
|
+
if (supports_fd != nullptr && fd_ >= 0 && on_release_fd_) {
|
|
216
216
|
supports_fd->Shutdown(std::move(on_release_fd_));
|
|
217
217
|
}
|
|
218
218
|
OnShutdownInternal();
|
|
@@ -241,7 +241,7 @@ class EventEngineEndpointWrapper {
|
|
|
241
241
|
Ref();
|
|
242
242
|
if (shutdown_ref_.fetch_sub(1, std::memory_order_acq_rel) ==
|
|
243
243
|
kShutdownBit + 1) {
|
|
244
|
-
if (supports_fd != nullptr && fd_
|
|
244
|
+
if (supports_fd != nullptr && fd_ >= 0 && on_release_fd_) {
|
|
245
245
|
supports_fd->Shutdown(std::move(on_release_fd_));
|
|
246
246
|
}
|
|
247
247
|
OnShutdownInternal();
|
|
@@ -971,13 +971,14 @@ static bool tcp_do_read(grpc_tcp* tcp, grpc_error_handle* error)
|
|
|
971
971
|
}
|
|
972
972
|
|
|
973
973
|
if (read_bytes <= 0) {
|
|
974
|
+
int saved_errno = errno;
|
|
974
975
|
// 0 read size ==> end of stream
|
|
975
976
|
grpc_slice_buffer_reset_and_unref(tcp->incoming_buffer);
|
|
976
977
|
if (read_bytes == 0) {
|
|
977
978
|
*error = tcp_annotate_error(absl::InternalError("Socket closed"));
|
|
978
979
|
} else {
|
|
979
980
|
*error = tcp_annotate_error(absl::InternalError(
|
|
980
|
-
absl::StrCat("recvmsg:", grpc_core::StrError(
|
|
981
|
+
absl::StrCat("recvmsg:", grpc_core::StrError(saved_errno))));
|
|
981
982
|
}
|
|
982
983
|
return true;
|
|
983
984
|
}
|
|
@@ -1925,9 +1926,7 @@ static const grpc_endpoint_vtable vtable = {tcp_read,
|
|
|
1925
1926
|
grpc_endpoint* grpc_tcp_create(
|
|
1926
1927
|
grpc_fd* fd, const grpc_event_engine::experimental::EndpointConfig& config,
|
|
1927
1928
|
absl::string_view peer_string) {
|
|
1928
|
-
if (grpc_core::IsEventEngineForAllOtherEndpointsEnabled()
|
|
1929
|
-
!grpc_event_engine::experimental::
|
|
1930
|
-
EventEngineExperimentDisabledForPython()) {
|
|
1929
|
+
if (grpc_core::IsEventEngineForAllOtherEndpointsEnabled()) {
|
|
1931
1930
|
// Create an EventEngine endpoint when creating the transport.
|
|
1932
1931
|
auto* engine =
|
|
1933
1932
|
reinterpret_cast<grpc_event_engine::experimental::EventEngine*>(
|
|
@@ -1955,9 +1954,7 @@ grpc_endpoint* grpc_tcp_create(grpc_fd* em_fd,
|
|
|
1955
1954
|
GRPC_CHECK(!grpc_event_engine::experimental::UsePollsetAlternative())
|
|
1956
1955
|
<< "This function must not be called when the pollset_alternative "
|
|
1957
1956
|
"experiment is enabled. This is a bug.";
|
|
1958
|
-
GRPC_CHECK(
|
|
1959
|
-
!grpc_core::IsEventEngineForAllOtherEndpointsEnabled() ||
|
|
1960
|
-
grpc_event_engine::experimental::EventEngineExperimentDisabledForPython())
|
|
1957
|
+
GRPC_CHECK(!grpc_core::IsEventEngineForAllOtherEndpointsEnabled())
|
|
1961
1958
|
<< "The event_engine_for_all_other_endpoints experiment should prevent "
|
|
1962
1959
|
"this method from being called. This is a bug.";
|
|
1963
1960
|
grpc_tcp* tcp = new grpc_tcp(options);
|
|
@@ -332,7 +332,7 @@ static void deactivated_all_ports(grpc_tcp_server* s) {
|
|
|
332
332
|
grpc_tcp_listener* sp;
|
|
333
333
|
for (sp = s->head; sp; sp = sp->next) {
|
|
334
334
|
// Do not unlink if there is a pre-allocated FD
|
|
335
|
-
if (grpc_tcp_server_pre_allocated_fd(s)
|
|
335
|
+
if (grpc_tcp_server_pre_allocated_fd(s) < 0) {
|
|
336
336
|
grpc_unlink_if_unix_domain_socket(&sp->addr);
|
|
337
337
|
}
|
|
338
338
|
GRPC_CLOSURE_INIT(&sp->destroyed_closure, destroyed_port, s,
|
|
@@ -643,7 +643,7 @@ static grpc_error_handle tcp_server_add_port(grpc_tcp_server* s,
|
|
|
643
643
|
if (!listen_fd.ok()) {
|
|
644
644
|
return;
|
|
645
645
|
}
|
|
646
|
-
|
|
646
|
+
GRPC_DCHECK_GE(*listen_fd, 0);
|
|
647
647
|
s->listen_fd_to_index_map.insert_or_assign(
|
|
648
648
|
*listen_fd, std::tuple(s->n_bind_ports, fd_index++));
|
|
649
649
|
});
|
|
@@ -698,7 +698,7 @@ static grpc_error_handle tcp_server_add_port(grpc_tcp_server* s,
|
|
|
698
698
|
|
|
699
699
|
/* Do not unlink if there are pre-allocated FDs, or it will stop
|
|
700
700
|
working after the first client connects */
|
|
701
|
-
if (grpc_tcp_server_pre_allocated_fd(s)
|
|
701
|
+
if (grpc_tcp_server_pre_allocated_fd(s) < 0) {
|
|
702
702
|
grpc_unlink_if_unix_domain_socket(addr);
|
|
703
703
|
}
|
|
704
704
|
|
|
@@ -161,7 +161,7 @@ grpc_error_handle grpc_tcp_server_add_addr(grpc_tcp_server* s,
|
|
|
161
161
|
fd = grpc_tcp_server_pre_allocated_fd(s);
|
|
162
162
|
|
|
163
163
|
// Check if FD has been pre-allocated
|
|
164
|
-
if (fd
|
|
164
|
+
if (fd >= 0) {
|
|
165
165
|
int family = grpc_sockaddr_get_family(addr);
|
|
166
166
|
// Set dsmode value
|
|
167
167
|
if (family == AF_INET6) {
|
|
@@ -204,20 +204,20 @@ PromiseFactoryImpl(Token, F& f, A&& arg) {
|
|
|
204
204
|
// Given a callable() -> Promise<T>, promote it to a
|
|
205
205
|
// PromiseFactory(A) -> Promise<T> by dropping the first argument.
|
|
206
206
|
template <typename Token, typename A, typename F>
|
|
207
|
-
GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
207
|
+
GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION inline absl::enable_if_t<
|
|
208
|
+
IsVoidCallable<ResultOf<F()>>::value,
|
|
209
|
+
PromiseLike<decltype(std::declval<F>()())>>
|
|
210
|
+
PromiseFactoryImpl(Token, F&& f, A&&) {
|
|
211
211
|
return PromiseLike<decltype(std::declval<F>()())>(std::in_place,
|
|
212
212
|
std::forward<F>(f));
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
// Given a callable() -> Promise<T>, name it a PromiseFactory and use it.
|
|
216
216
|
template <typename Token, typename F>
|
|
217
|
-
GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
217
|
+
GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION inline absl::enable_if_t<
|
|
218
|
+
IsVoidCallable<ResultOf<F()>>::value,
|
|
219
|
+
PromiseLike<decltype(std::declval<F>()())>>
|
|
220
|
+
PromiseFactoryImpl(Token, F&& f) {
|
|
221
221
|
return PromiseLike<decltype(std::declval<F>()())>(std::in_place,
|
|
222
222
|
std::forward<F>(f));
|
|
223
223
|
}
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
namespace grpc_core {
|
|
39
39
|
|
|
40
40
|
// Tracks a list of maps of T -> optional<T> via promises.
|
|
41
|
-
// When Run, runs each transformation in order, and resolves to the
|
|
41
|
+
// When Run, runs each transformation in order, and resolves to the ultimate
|
|
42
42
|
// result.
|
|
43
43
|
// If a map resolves to nullopt, the chain is terminated and the result is
|
|
44
44
|
// nullopt.
|
|
@@ -49,8 +49,8 @@ namespace promise_detail {
|
|
|
49
49
|
// indicate only success/failure. In the case of returning Status, the
|
|
50
50
|
// next functor in the chain takes no arguments.
|
|
51
51
|
// 2. StatusFlag and ValueOrStatus can be return types if rich error
|
|
52
|
-
// information is not
|
|
53
|
-
// takes no arguments.
|
|
52
|
+
// information is not necessary. In this case the next functor in the
|
|
53
|
+
// chain takes no arguments.
|
|
54
54
|
//
|
|
55
55
|
// Return :
|
|
56
56
|
// Polling the TrySeq Promise combinator returns Poll<StatusOr<T>> where T is
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// Copyright 2026 gRPC authors.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
#include "src/core/lib/resource_quota/telemetry.h"
|
|
16
|
+
|
|
17
|
+
#include <grpc/support/port_platform.h> // IWYU pragma: keep
|
|
18
|
+
|
|
19
|
+
#include "src/core/telemetry/instrument.h"
|
|
20
|
+
|
|
21
|
+
namespace grpc_core {
|
|
22
|
+
|
|
23
|
+
// Telemetry domain static handle definitions and registrations (Dynamic on
|
|
24
|
+
// Load)
|
|
25
|
+
ResourceQuotaDomain::CounterHandle ResourceQuotaDomain::kCallsDropped =
|
|
26
|
+
ResourceQuotaDomain::RegisterCounter(
|
|
27
|
+
"grpc.resource_quota.calls_dropped",
|
|
28
|
+
"EXPERIMENTAL. Number of calls dropped due to resource quota exceeded",
|
|
29
|
+
"calls");
|
|
30
|
+
ResourceQuotaDomain::CounterHandle ResourceQuotaDomain::kCallsRejected =
|
|
31
|
+
ResourceQuotaDomain::RegisterCounter(
|
|
32
|
+
"grpc.resource_quota.calls_rejected",
|
|
33
|
+
"EXPERIMENTAL. Number of calls rejected due to resource quota "
|
|
34
|
+
"exceeded",
|
|
35
|
+
"calls");
|
|
36
|
+
ResourceQuotaDomain::CounterHandle ResourceQuotaDomain::kConnectionsDropped =
|
|
37
|
+
ResourceQuotaDomain::RegisterCounter(
|
|
38
|
+
"grpc.resource_quota.connections_dropped",
|
|
39
|
+
"EXPERIMENTAL. Number of connections dropped due to resource quota "
|
|
40
|
+
"exceeded",
|
|
41
|
+
"connections");
|
|
42
|
+
ResourceQuotaDomain::DoubleGaugeHandle
|
|
43
|
+
ResourceQuotaDomain::kInstantaneousMemoryPressure =
|
|
44
|
+
ResourceQuotaDomain::RegisterDoubleGauge(
|
|
45
|
+
"grpc.resource_quota.instantaneous_memory_pressure",
|
|
46
|
+
"The current instantaneously measured memory pressure.", "ratio");
|
|
47
|
+
ResourceQuotaDomain::DoubleGaugeHandle ResourceQuotaDomain::
|
|
48
|
+
kMemoryPressureControlValue = ResourceQuotaDomain::RegisterDoubleGauge(
|
|
49
|
+
"grpc.resource_quota.memory_pressure_control_value",
|
|
50
|
+
"A control value that can be used to scale buffer sizes up or down to "
|
|
51
|
+
"adjust memory pressure to our target set point.",
|
|
52
|
+
"ratio");
|
|
53
|
+
|
|
54
|
+
} // namespace grpc_core
|
|
@@ -25,29 +25,11 @@ class ResourceQuotaDomain final : public InstrumentDomain<ResourceQuotaDomain> {
|
|
|
25
25
|
using Backend = HighContentionBackend;
|
|
26
26
|
static constexpr absl::string_view kName = "resource_quota";
|
|
27
27
|
|
|
28
|
-
static
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
static inline const auto kCallsRejected = RegisterCounter(
|
|
34
|
-
"grpc.resource_quota.calls_rejected",
|
|
35
|
-
"EXPERIMENTAL. Number of calls rejected due to resource quota "
|
|
36
|
-
"exceeded",
|
|
37
|
-
"calls");
|
|
38
|
-
static inline const auto kConnectionsDropped = RegisterCounter(
|
|
39
|
-
"grpc.resource_quota.connections_dropped",
|
|
40
|
-
"EXPERIMENTAL. Number of connections dropped due to resource quota "
|
|
41
|
-
"exceeded",
|
|
42
|
-
"connections");
|
|
43
|
-
static inline const auto kInstantaneousMemoryPressure = RegisterDoubleGauge(
|
|
44
|
-
"grpc.resource_quota.instantaneous_memory_pressure",
|
|
45
|
-
"The current instantaneously measured memory pressure.", "ratio");
|
|
46
|
-
static inline const auto kMemoryPressureControlValue = RegisterDoubleGauge(
|
|
47
|
-
"grpc.resource_quota.memory_pressure_control_value",
|
|
48
|
-
"A control value that can be used to scale buffer sizes up or down to "
|
|
49
|
-
"adjust memory pressure to our target set point.",
|
|
50
|
-
"ratio");
|
|
28
|
+
static CounterHandle kCallsDropped;
|
|
29
|
+
static CounterHandle kCallsRejected;
|
|
30
|
+
static CounterHandle kConnectionsDropped;
|
|
31
|
+
static DoubleGaugeHandle kInstantaneousMemoryPressure;
|
|
32
|
+
static DoubleGaugeHandle kMemoryPressureControlValue;
|
|
51
33
|
};
|
|
52
34
|
|
|
53
35
|
} // namespace grpc_core
|
|
@@ -62,7 +62,7 @@ bool AuditLoggerRegistry::FactoryExists(absl::string_view name) {
|
|
|
62
62
|
registry->logger_factories_map_.end();
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
absl::StatusOr<std::
|
|
65
|
+
absl::StatusOr<std::shared_ptr<const AuditLoggerFactory::Config>>
|
|
66
66
|
AuditLoggerRegistry::ParseConfig(absl::string_view name, const Json& json) {
|
|
67
67
|
MutexLock lock(mu);
|
|
68
68
|
auto it = registry->logger_factories_map_.find(name);
|
|
@@ -74,7 +74,7 @@ AuditLoggerRegistry::ParseConfig(absl::string_view name, const Json& json) {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
std::unique_ptr<AuditLogger> AuditLoggerRegistry::CreateAuditLogger(
|
|
77
|
-
std::
|
|
77
|
+
std::shared_ptr<const AuditLoggerFactory::Config> config) {
|
|
78
78
|
MutexLock lock(mu);
|
|
79
79
|
auto it = registry->logger_factories_map_.find(config->name());
|
|
80
80
|
GRPC_CHECK(it != registry->logger_factories_map_.end());
|
|
@@ -36,17 +36,17 @@ namespace experimental {
|
|
|
36
36
|
|
|
37
37
|
class AuditLoggerRegistry {
|
|
38
38
|
public:
|
|
39
|
-
static void RegisterFactory(std::unique_ptr<AuditLoggerFactory>);
|
|
39
|
+
static void RegisterFactory(std::unique_ptr<AuditLoggerFactory> factory);
|
|
40
40
|
|
|
41
41
|
static bool FactoryExists(absl::string_view name);
|
|
42
42
|
|
|
43
|
-
static absl::StatusOr<std::
|
|
43
|
+
static absl::StatusOr<std::shared_ptr<const AuditLoggerFactory::Config>>
|
|
44
44
|
ParseConfig(absl::string_view name, const Json& json);
|
|
45
45
|
|
|
46
46
|
// This assume the given config is parsed and validated already.
|
|
47
47
|
// Therefore, it should always succeed in creating a logger.
|
|
48
48
|
static std::unique_ptr<AuditLogger> CreateAuditLogger(
|
|
49
|
-
std::
|
|
49
|
+
std::shared_ptr<const AuditLoggerFactory::Config> config);
|
|
50
50
|
|
|
51
51
|
// Factories are registered during initialization. They should never be
|
|
52
52
|
// unregistered since they will be looked up at any time till the program
|
|
@@ -44,20 +44,18 @@ bool ShouldLog(const Decision& decision,
|
|
|
44
44
|
|
|
45
45
|
} // namespace
|
|
46
46
|
|
|
47
|
-
GrpcAuthorizationEngine::GrpcAuthorizationEngine(Rbac
|
|
48
|
-
: name_(
|
|
49
|
-
action_(
|
|
50
|
-
audit_condition_(
|
|
51
|
-
for (auto&
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
std::
|
|
56
|
-
policies_.push_back(std::move(policy));
|
|
47
|
+
GrpcAuthorizationEngine::GrpcAuthorizationEngine(const Rbac& rbac)
|
|
48
|
+
: name_(rbac.name),
|
|
49
|
+
action_(rbac.action),
|
|
50
|
+
audit_condition_(rbac.audit_condition) {
|
|
51
|
+
for (auto& [name, policy] : rbac.policies) {
|
|
52
|
+
auto& engine_policy = policies_.emplace_back();
|
|
53
|
+
engine_policy.name = name;
|
|
54
|
+
engine_policy.matcher =
|
|
55
|
+
std::make_unique<PolicyAuthorizationMatcher>(policy);
|
|
57
56
|
}
|
|
58
|
-
for (auto& logger_config :
|
|
59
|
-
auto logger =
|
|
60
|
-
AuditLoggerRegistry::CreateAuditLogger(std::move(logger_config));
|
|
57
|
+
for (const auto& logger_config : rbac.logger_configs) {
|
|
58
|
+
auto logger = AuditLoggerRegistry::CreateAuditLogger(logger_config);
|
|
61
59
|
GRPC_CHECK(logger != nullptr);
|
|
62
60
|
audit_loggers_.push_back(std::move(logger));
|
|
63
61
|
}
|
|
@@ -44,7 +44,7 @@ class GrpcAuthorizationEngine : public AuthorizationEngine {
|
|
|
44
44
|
explicit GrpcAuthorizationEngine(Rbac::Action action)
|
|
45
45
|
: action_(action), audit_condition_(Rbac::AuditCondition::kNone) {}
|
|
46
46
|
// Builds GrpcAuthorizationEngine with allow/deny RBAC policy.
|
|
47
|
-
explicit GrpcAuthorizationEngine(Rbac
|
|
47
|
+
explicit GrpcAuthorizationEngine(const Rbac& rbac);
|
|
48
48
|
|
|
49
49
|
GrpcAuthorizationEngine(GrpcAuthorizationEngine&& other) noexcept;
|
|
50
50
|
GrpcAuthorizationEngine& operator=(GrpcAuthorizationEngine&& other) noexcept;
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
namespace grpc_core {
|
|
31
31
|
|
|
32
32
|
std::unique_ptr<AuthorizationMatcher> AuthorizationMatcher::Create(
|
|
33
|
-
Rbac::Permission permission) {
|
|
33
|
+
const Rbac::Permission& permission) {
|
|
34
34
|
switch (permission.type) {
|
|
35
35
|
case Rbac::Permission::RuleType::kAnd: {
|
|
36
36
|
std::vector<std::unique_ptr<AuthorizationMatcher>> matchers;
|
|
37
37
|
matchers.reserve(permission.permissions.size());
|
|
38
38
|
for (const auto& rule : permission.permissions) {
|
|
39
|
-
matchers.push_back(AuthorizationMatcher::Create(
|
|
39
|
+
matchers.push_back(AuthorizationMatcher::Create(*rule));
|
|
40
40
|
}
|
|
41
41
|
return std::make_unique<AndAuthorizationMatcher>(std::move(matchers));
|
|
42
42
|
}
|
|
@@ -44,43 +44,43 @@ std::unique_ptr<AuthorizationMatcher> AuthorizationMatcher::Create(
|
|
|
44
44
|
std::vector<std::unique_ptr<AuthorizationMatcher>> matchers;
|
|
45
45
|
matchers.reserve(permission.permissions.size());
|
|
46
46
|
for (const auto& rule : permission.permissions) {
|
|
47
|
-
matchers.push_back(AuthorizationMatcher::Create(
|
|
47
|
+
matchers.push_back(AuthorizationMatcher::Create(*rule));
|
|
48
48
|
}
|
|
49
49
|
return std::make_unique<OrAuthorizationMatcher>(std::move(matchers));
|
|
50
50
|
}
|
|
51
51
|
case Rbac::Permission::RuleType::kNot:
|
|
52
52
|
return std::make_unique<NotAuthorizationMatcher>(
|
|
53
|
-
AuthorizationMatcher::Create(
|
|
53
|
+
AuthorizationMatcher::Create(*permission.permissions[0]));
|
|
54
54
|
case Rbac::Permission::RuleType::kAny:
|
|
55
55
|
return std::make_unique<AlwaysAuthorizationMatcher>();
|
|
56
56
|
case Rbac::Permission::RuleType::kHeader:
|
|
57
57
|
return std::make_unique<HeaderAuthorizationMatcher>(
|
|
58
|
-
|
|
58
|
+
permission.header_matcher);
|
|
59
59
|
case Rbac::Permission::RuleType::kPath:
|
|
60
60
|
return std::make_unique<PathAuthorizationMatcher>(
|
|
61
|
-
|
|
61
|
+
permission.string_matcher);
|
|
62
62
|
case Rbac::Permission::RuleType::kDestIp:
|
|
63
63
|
return std::make_unique<IpAuthorizationMatcher>(
|
|
64
|
-
IpAuthorizationMatcher::Type::kDestIp,
|
|
64
|
+
IpAuthorizationMatcher::Type::kDestIp, permission.ip);
|
|
65
65
|
case Rbac::Permission::RuleType::kDestPort:
|
|
66
66
|
return std::make_unique<PortAuthorizationMatcher>(permission.port);
|
|
67
67
|
case Rbac::Permission::RuleType::kMetadata:
|
|
68
68
|
return std::make_unique<MetadataAuthorizationMatcher>(permission.invert);
|
|
69
69
|
case Rbac::Permission::RuleType::kReqServerName:
|
|
70
70
|
return std::make_unique<ReqServerNameAuthorizationMatcher>(
|
|
71
|
-
|
|
71
|
+
permission.string_matcher);
|
|
72
72
|
}
|
|
73
73
|
return nullptr;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
std::unique_ptr<AuthorizationMatcher> AuthorizationMatcher::Create(
|
|
77
|
-
Rbac::Principal principal) {
|
|
77
|
+
const Rbac::Principal& principal) {
|
|
78
78
|
switch (principal.type) {
|
|
79
79
|
case Rbac::Principal::RuleType::kAnd: {
|
|
80
80
|
std::vector<std::unique_ptr<AuthorizationMatcher>> matchers;
|
|
81
81
|
matchers.reserve(principal.principals.size());
|
|
82
82
|
for (const auto& id : principal.principals) {
|
|
83
|
-
matchers.push_back(AuthorizationMatcher::Create(
|
|
83
|
+
matchers.push_back(AuthorizationMatcher::Create(*id));
|
|
84
84
|
}
|
|
85
85
|
return std::make_unique<AndAuthorizationMatcher>(std::move(matchers));
|
|
86
86
|
}
|
|
@@ -88,34 +88,33 @@ std::unique_ptr<AuthorizationMatcher> AuthorizationMatcher::Create(
|
|
|
88
88
|
std::vector<std::unique_ptr<AuthorizationMatcher>> matchers;
|
|
89
89
|
matchers.reserve(principal.principals.size());
|
|
90
90
|
for (const auto& id : principal.principals) {
|
|
91
|
-
matchers.push_back(AuthorizationMatcher::Create(
|
|
91
|
+
matchers.push_back(AuthorizationMatcher::Create(*id));
|
|
92
92
|
}
|
|
93
93
|
return std::make_unique<OrAuthorizationMatcher>(std::move(matchers));
|
|
94
94
|
}
|
|
95
95
|
case Rbac::Principal::RuleType::kNot:
|
|
96
96
|
return std::make_unique<NotAuthorizationMatcher>(
|
|
97
|
-
AuthorizationMatcher::Create(
|
|
97
|
+
AuthorizationMatcher::Create(*principal.principals[0]));
|
|
98
98
|
case Rbac::Principal::RuleType::kAny:
|
|
99
99
|
return std::make_unique<AlwaysAuthorizationMatcher>();
|
|
100
100
|
case Rbac::Principal::RuleType::kPrincipalName:
|
|
101
101
|
return std::make_unique<AuthenticatedAuthorizationMatcher>(
|
|
102
|
-
|
|
102
|
+
principal.string_matcher);
|
|
103
103
|
case Rbac::Principal::RuleType::kSourceIp:
|
|
104
104
|
return std::make_unique<IpAuthorizationMatcher>(
|
|
105
|
-
IpAuthorizationMatcher::Type::kSourceIp,
|
|
105
|
+
IpAuthorizationMatcher::Type::kSourceIp, principal.ip);
|
|
106
106
|
case Rbac::Principal::RuleType::kDirectRemoteIp:
|
|
107
107
|
return std::make_unique<IpAuthorizationMatcher>(
|
|
108
|
-
IpAuthorizationMatcher::Type::kDirectRemoteIp,
|
|
109
|
-
std::move(principal.ip));
|
|
108
|
+
IpAuthorizationMatcher::Type::kDirectRemoteIp, principal.ip);
|
|
110
109
|
case Rbac::Principal::RuleType::kRemoteIp:
|
|
111
110
|
return std::make_unique<IpAuthorizationMatcher>(
|
|
112
|
-
IpAuthorizationMatcher::Type::kRemoteIp,
|
|
111
|
+
IpAuthorizationMatcher::Type::kRemoteIp, principal.ip);
|
|
113
112
|
case Rbac::Principal::RuleType::kHeader:
|
|
114
113
|
return std::make_unique<HeaderAuthorizationMatcher>(
|
|
115
|
-
|
|
114
|
+
principal.header_matcher);
|
|
116
115
|
case Rbac::Principal::RuleType::kPath:
|
|
117
116
|
return std::make_unique<PathAuthorizationMatcher>(
|
|
118
|
-
|
|
117
|
+
principal.string_matcher.value());
|
|
119
118
|
case Rbac::Principal::RuleType::kMetadata:
|
|
120
119
|
return std::make_unique<MetadataAuthorizationMatcher>(principal.invert);
|
|
121
120
|
}
|
|
@@ -150,7 +149,8 @@ bool HeaderAuthorizationMatcher::Matches(const EvaluateArgs& args) const {
|
|
|
150
149
|
args.GetHeaderValue(matcher_.name(), &concatenated_value));
|
|
151
150
|
}
|
|
152
151
|
|
|
153
|
-
IpAuthorizationMatcher::IpAuthorizationMatcher(Type type,
|
|
152
|
+
IpAuthorizationMatcher::IpAuthorizationMatcher(Type type,
|
|
153
|
+
const Rbac::CidrRange& range)
|
|
154
154
|
: type_(type), prefix_len_(range.prefix_len) {
|
|
155
155
|
auto address =
|
|
156
156
|
StringToSockaddr(range.address_prefix, 0); // Port does not matter here.
|
|
@@ -42,12 +42,12 @@ class AuthorizationMatcher {
|
|
|
42
42
|
// Creates an instance of a matcher based off the rules defined in Permission
|
|
43
43
|
// config.
|
|
44
44
|
static std::unique_ptr<AuthorizationMatcher> Create(
|
|
45
|
-
Rbac::Permission permission);
|
|
45
|
+
const Rbac::Permission& permission);
|
|
46
46
|
|
|
47
47
|
// Creates an instance of a matcher based off the rules defined in Principal
|
|
48
48
|
// config.
|
|
49
49
|
static std::unique_ptr<AuthorizationMatcher> Create(
|
|
50
|
-
Rbac::Principal principal);
|
|
50
|
+
const Rbac::Principal& principal);
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
class AlwaysAuthorizationMatcher : public AuthorizationMatcher {
|
|
@@ -113,8 +113,8 @@ class MetadataAuthorizationMatcher : public AuthorizationMatcher {
|
|
|
113
113
|
// Perform a match against HTTP headers.
|
|
114
114
|
class HeaderAuthorizationMatcher : public AuthorizationMatcher {
|
|
115
115
|
public:
|
|
116
|
-
explicit HeaderAuthorizationMatcher(HeaderMatcher matcher)
|
|
117
|
-
: matcher_(
|
|
116
|
+
explicit HeaderAuthorizationMatcher(const HeaderMatcher& matcher)
|
|
117
|
+
: matcher_(matcher) {}
|
|
118
118
|
|
|
119
119
|
bool Matches(const EvaluateArgs& args) const override;
|
|
120
120
|
|
|
@@ -132,7 +132,7 @@ class IpAuthorizationMatcher : public AuthorizationMatcher {
|
|
|
132
132
|
kRemoteIp,
|
|
133
133
|
};
|
|
134
134
|
|
|
135
|
-
IpAuthorizationMatcher(Type type, Rbac::CidrRange range);
|
|
135
|
+
IpAuthorizationMatcher(Type type, const Rbac::CidrRange& range);
|
|
136
136
|
|
|
137
137
|
bool Matches(const EvaluateArgs& args) const override;
|
|
138
138
|
|
|
@@ -158,8 +158,9 @@ class PortAuthorizationMatcher : public AuthorizationMatcher {
|
|
|
158
158
|
// or DNS SAN in that order, otherwise uses subject field.
|
|
159
159
|
class AuthenticatedAuthorizationMatcher : public AuthorizationMatcher {
|
|
160
160
|
public:
|
|
161
|
-
explicit AuthenticatedAuthorizationMatcher(
|
|
162
|
-
|
|
161
|
+
explicit AuthenticatedAuthorizationMatcher(
|
|
162
|
+
const std::optional<StringMatcher>& auth)
|
|
163
|
+
: matcher_(auth) {}
|
|
163
164
|
|
|
164
165
|
bool Matches(const EvaluateArgs& args) const override;
|
|
165
166
|
|
|
@@ -172,8 +173,8 @@ class AuthenticatedAuthorizationMatcher : public AuthorizationMatcher {
|
|
|
172
173
|
class ReqServerNameAuthorizationMatcher : public AuthorizationMatcher {
|
|
173
174
|
public:
|
|
174
175
|
explicit ReqServerNameAuthorizationMatcher(
|
|
175
|
-
StringMatcher requested_server_name)
|
|
176
|
-
: matcher_(
|
|
176
|
+
const StringMatcher& requested_server_name)
|
|
177
|
+
: matcher_(requested_server_name) {}
|
|
177
178
|
|
|
178
179
|
bool Matches(const EvaluateArgs&) const override;
|
|
179
180
|
|
|
@@ -184,8 +185,8 @@ class ReqServerNameAuthorizationMatcher : public AuthorizationMatcher {
|
|
|
184
185
|
// Perform a match against the path header of HTTP request.
|
|
185
186
|
class PathAuthorizationMatcher : public AuthorizationMatcher {
|
|
186
187
|
public:
|
|
187
|
-
explicit PathAuthorizationMatcher(StringMatcher path)
|
|
188
|
-
: matcher_(
|
|
188
|
+
explicit PathAuthorizationMatcher(const StringMatcher& path)
|
|
189
|
+
: matcher_(path) {}
|
|
189
190
|
|
|
190
191
|
bool Matches(const EvaluateArgs& args) const override;
|
|
191
192
|
|
|
@@ -198,11 +199,9 @@ class PathAuthorizationMatcher : public AuthorizationMatcher {
|
|
|
198
199
|
// of its permissions and a match in one of its principals.
|
|
199
200
|
class PolicyAuthorizationMatcher : public AuthorizationMatcher {
|
|
200
201
|
public:
|
|
201
|
-
explicit PolicyAuthorizationMatcher(Rbac::Policy policy)
|
|
202
|
-
: permissions_(
|
|
203
|
-
|
|
204
|
-
principals_(
|
|
205
|
-
AuthorizationMatcher::Create(std::move(policy.principals))) {}
|
|
202
|
+
explicit PolicyAuthorizationMatcher(const Rbac::Policy& policy)
|
|
203
|
+
: permissions_(AuthorizationMatcher::Create(policy.permissions)),
|
|
204
|
+
principals_(AuthorizationMatcher::Create(policy.principals)) {}
|
|
206
205
|
|
|
207
206
|
bool Matches(const EvaluateArgs& args) const override;
|
|
208
207
|
|
|
@@ -183,7 +183,7 @@ struct Rbac {
|
|
|
183
183
|
std::map<std::string, Policy> policies;
|
|
184
184
|
|
|
185
185
|
AuditCondition audit_condition;
|
|
186
|
-
std::vector<std::
|
|
186
|
+
std::vector<std::shared_ptr<const experimental::AuditLoggerFactory::Config>>
|
|
187
187
|
logger_configs;
|
|
188
188
|
};
|
|
189
189
|
|
|
@@ -57,13 +57,13 @@ std::string StdoutAuditLoggerFactory::Config::ToString() const { return "{}"; }
|
|
|
57
57
|
|
|
58
58
|
absl::string_view StdoutAuditLoggerFactory::name() const { return kName; }
|
|
59
59
|
|
|
60
|
-
absl::StatusOr<std::
|
|
60
|
+
absl::StatusOr<std::shared_ptr<const AuditLoggerFactory::Config>>
|
|
61
61
|
StdoutAuditLoggerFactory::ParseAuditLoggerConfig(const Json&) {
|
|
62
|
-
return std::
|
|
62
|
+
return std::make_shared<StdoutAuditLoggerFactory::Config>();
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
std::unique_ptr<AuditLogger> StdoutAuditLoggerFactory::CreateAuditLogger(
|
|
66
|
-
std::
|
|
66
|
+
std::shared_ptr<const AuditLoggerFactory::Config> config) {
|
|
67
67
|
// Sanity check.
|
|
68
68
|
GRPC_CHECK(config != nullptr);
|
|
69
69
|
GRPC_CHECK_EQ(config->name(), name());
|