grpc 1.81.1 → 1.82.0.pre2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +12 -9
- data/include/grpc/grpc.h +6 -7
- data/include/grpc/impl/channel_arg_names.h +3 -1
- data/src/core/call/call_filters.h +2 -2
- data/src/core/call/client_call.cc +1 -1
- data/src/core/call/interception_chain.h +6 -9
- data/src/core/call/metadata.h +1 -1
- data/src/core/call/metadata_batch.cc +1 -1
- data/src/core/call/metadata_batch.h +17 -1
- data/src/core/call/parsed_metadata.h +7 -2
- data/src/core/call/server_call.cc +4 -2
- data/src/core/call/server_call.h +9 -2
- data/src/core/call/status_util.cc +0 -4
- data/src/core/call/status_util.h +0 -3
- data/src/core/channelz/channel_trace.cc +3 -1
- data/src/core/client_channel/backup_poller.cc +1 -1
- data/src/core/client_channel/client_channel.cc +6 -14
- data/src/core/client_channel/client_channel.h +2 -2
- data/src/core/client_channel/client_channel_filter.cc +8 -17
- data/src/core/client_channel/client_channel_filter.h +2 -2
- data/src/core/client_channel/client_channel_plugin.cc +1 -1
- data/src/core/client_channel/config_selector.h +2 -7
- data/src/core/client_channel/dynamic_filters.cc +4 -7
- data/src/core/client_channel/dynamic_filters.h +1 -3
- data/src/core/client_channel/retry_filter.cc +2 -25
- data/src/core/client_channel/retry_filter.h +3 -7
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +1 -1
- data/src/core/client_channel/retry_filter_legacy_call_data.h +2 -2
- data/src/core/client_channel/retry_interceptor.cc +7 -35
- data/src/core/client_channel/retry_interceptor.h +11 -14
- data/src/core/client_channel/retry_service_config.cc +0 -2
- data/src/core/client_channel/retry_service_config.h +0 -2
- data/src/core/client_channel/retry_throttle.cc +19 -7
- data/src/core/client_channel/retry_throttle.h +24 -7
- data/src/core/client_channel/subchannel.cc +1 -1
- data/src/core/credentials/call/external/external_account_credentials.cc +125 -12
- data/src/core/credentials/call/external/external_account_credentials.h +6 -1
- data/src/core/credentials/call/jwt/jwt_credentials.cc +11 -1
- data/src/core/credentials/call/jwt/jwt_credentials.h +3 -0
- data/src/core/credentials/call/oauth2/oauth2_credentials.cc +64 -11
- data/src/core/credentials/call/oauth2/oauth2_credentials.h +0 -1
- data/src/core/credentials/call/regional_access_boundary_fetcher.cc +411 -0
- data/src/core/credentials/call/regional_access_boundary_fetcher.h +158 -0
- data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +1 -1
- data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.h +7 -1
- data/src/core/credentials/transport/insecure/insecure_security_connector.h +1 -1
- data/src/core/credentials/transport/local/local_security_connector.cc +1 -1
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +6 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +28 -66
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +0 -8
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +24 -58
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +24 -19
- data/src/core/ext/filters/message_size/message_size_filter.cc +1 -81
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -50
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +13 -56
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +0 -14
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -1
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +175 -51
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +10 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +73 -6
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/flow_control.h +11 -0
- data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +2 -4
- data/src/core/ext/transport/chttp2/transport/frame.cc +63 -13
- data/src/core/ext/transport/chttp2/transport/frame.h +45 -10
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -1
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +11 -3
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -1
- data/src/core/ext/transport/chttp2/transport/header_assembler.h +54 -22
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +53 -5
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +22 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +20 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +33 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -1
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +118 -157
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +6 -13
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.cc +2187 -0
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.h +748 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +19 -4
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +0 -2
- data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +50 -17
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +13 -15
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +16 -48
- data/src/core/ext/transport/chttp2/transport/internal.h +14 -0
- data/src/core/ext/transport/chttp2/transport/message_assembler.h +1 -2
- data/src/core/ext/transport/chttp2/transport/parsing.cc +82 -24
- data/src/core/ext/transport/chttp2/transport/read_context.h +452 -0
- data/src/core/ext/transport/chttp2/transport/security_frame.h +12 -3
- data/src/core/ext/transport/chttp2/transport/stream.h +25 -26
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +6 -4
- data/src/core/ext/transport/chttp2/transport/write_cycle.h +9 -1
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +16 -2
- data/src/core/ext/upb-gen/cel/expr/checked.upb.h +621 -432
- data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.c +264 -166
- data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.h +0 -13
- data/src/core/ext/upb-gen/cel/expr/syntax.upb.h +708 -497
- data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.c +294 -176
- data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.h +0 -15
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +262 -181
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +84 -58
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +254 -190
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +107 -53
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +271 -190
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +88 -64
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +1035 -730
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +384 -260
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +0 -19
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +87 -56
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +26 -16
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +105 -71
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +30 -22
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +31 -29
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +19 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +25 -23
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +25 -23
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +201 -165
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +79 -31
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +29 -26
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +46 -29
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +37 -19
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +4 -4
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +34 -27
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +34 -13
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +617 -452
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +221 -163
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +0 -16
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +1339 -970
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +484 -324
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +0 -23
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +181 -135
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +59 -43
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +1353 -1028
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +535 -361
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +0 -25
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +37 -33
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +19 -13
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +234 -196
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +77 -57
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +695 -502
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +246 -186
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +0 -15
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb.h +140 -116
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.c +53 -43
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +363 -269
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +131 -89
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +35 -31
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +1073 -769
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +515 -293
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +0 -30
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb.h +25 -23
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +375 -267
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +142 -86
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +0 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +32 -27
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +29 -26
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +87 -56
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +26 -16
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +634 -468
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +255 -161
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +0 -14
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +672 -474
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +228 -130
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +0 -9
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +56 -40
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +34 -29
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +811 -635
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +347 -221
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +0 -16
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +174 -118
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +62 -38
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +78 -57
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +28 -18
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +37 -33
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +22 -14
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +159 -119
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +47 -35
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +101 -76
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +41 -23
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +35 -31
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +189 -127
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +79 -49
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +378 -283
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +156 -98
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +354 -255
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +125 -69
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +0 -6
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +611 -451
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +159 -119
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +0 -11
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +468 -321
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +157 -99
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +0 -6
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +146 -119
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +55 -35
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +61 -51
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +43 -39
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +25 -13
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +341 -247
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +130 -84
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +452 -313
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +144 -100
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +0 -10
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +666 -493
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +251 -181
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +0 -12
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +327 -197
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +92 -48
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +3583 -2532
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +1340 -816
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +0 -60
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +111 -82
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +48 -28
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +548 -410
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +214 -148
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +0 -12
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +59 -50
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +30 -20
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +29 -26
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +60 -49
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +28 -20
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +50 -36
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +82 -63
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +27 -19
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +70 -58
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +32 -22
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +2 -5
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +73 -62
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +39 -25
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +49 -45
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +33 -13
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +771 -588
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +383 -185
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +0 -16
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +66 -47
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +31 -17
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb.h +69 -58
- data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.c +27 -23
- data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +151 -119
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +45 -39
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb.h +19 -17
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.c +1 -3
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb.h +144 -109
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.c +46 -38
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +184 -139
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +65 -35
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +129 -106
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +69 -41
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +83 -71
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +40 -26
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +148 -101
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +45 -27
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +62 -51
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +35 -21
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1362 -1024
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +508 -336
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +0 -22
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb.h +21 -19
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.c +13 -7
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb.h +35 -31
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +94 -74
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +35 -23
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +231 -179
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +88 -66
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +0 -6
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +21 -19
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +13 -7
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +63 -56
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +31 -19
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -5
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +538 -364
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +157 -95
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -110
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +69 -49
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +517 -389
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +182 -116
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +0 -7
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +84 -62
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +30 -22
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +340 -256
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +92 -82
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +19 -17
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +1 -3
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +857 -566
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +288 -182
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +0 -15
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +105 -72
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +36 -22
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +312 -226
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +132 -78
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +82 -61
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +35 -19
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +123 -89
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +25 -25
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +48 -33
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +42 -36
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +19 -13
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +101 -79
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +61 -31
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +83 -60
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +37 -19
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +56 -40
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +34 -29
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +32 -27
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +88 -71
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +48 -30
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +37 -30
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +95 -71
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +36 -22
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +79 -56
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +26 -18
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +164 -124
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +54 -40
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +200 -147
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +47 -41
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +0 -7
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +160 -130
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +89 -47
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +78 -62
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +26 -20
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +2 -5
- data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +21 -19
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +13 -7
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +43 -36
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +22 -12
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +67 -55
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +36 -18
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +62 -51
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +33 -19
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +2 -5
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +25 -23
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +37 -33
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +19 -13
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/api/annotations.upb.h +15 -13
- data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +22 -7
- data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +1 -1
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +619 -430
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +260 -168
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +0 -13
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +734 -518
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +312 -182
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +0 -16
- data/src/core/ext/upb-gen/google/api/http.upb.h +146 -105
- data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +65 -29
- data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/google/api/httpbody.upb.h +52 -37
- data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/any.upb.h +23 -21
- data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +2236 -1514
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +824 -406
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +0 -34
- data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +23 -21
- data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +19 -17
- data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +1 -3
- data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +149 -100
- data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +59 -43
- data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +23 -21
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +181 -139
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +99 -53
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +0 -9
- data/src/core/ext/upb-gen/google/rpc/status.upb.h +52 -37
- data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb.h +1553 -1157
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +712 -410
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.h +0 -39
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +189 -125
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +59 -35
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +454 -343
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +204 -130
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +0 -11
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +369 -243
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +109 -79
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +0 -7
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb.h +256 -175
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +122 -68
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +71 -51
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +39 -19
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +583 -407
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +259 -145
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +0 -12
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +114 -84
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +52 -30
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +41 -34
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +25 -13
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +309 -230
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +123 -79
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +0 -9
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +98 -63
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +51 -23
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +505 -312
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +159 -87
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +0 -9
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +128 -91
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +82 -41
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +5 -8
- data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +36 -29
- data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +36 -13
- data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +13 -11
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +22 -7
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +1 -1
- data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +36 -29
- data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +36 -13
- data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +34 -27
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +34 -13
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/validate/validate.upb.h +1682 -1130
- data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +587 -247
- data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +4 -27
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +128 -91
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +82 -41
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +5 -8
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +36 -29
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +36 -13
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +13 -11
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +22 -7
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +1 -1
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +122 -90
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +82 -39
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +3 -7
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +34 -27
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +34 -13
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +21 -19
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +13 -7
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +29 -26
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +70 -58
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +32 -22
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +53 -34
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +26 -16
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +29 -26
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +37 -33
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +22 -14
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +102 -76
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +43 -23
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +33 -30
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +136 -83
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +41 -33
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +46 -32
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +20 -12
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +29 -26
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +20 -12
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +93 -61
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +28 -20
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +19 -17
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +1 -3
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +105 -71
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +32 -22
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +430 -314
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +153 -123
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +0 -10
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +307 -199
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +74 -62
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +0 -6
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +52 -42
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +19 -13
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +95 -71
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +36 -22
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +92 -77
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +42 -28
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +67 -55
- data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +36 -18
- data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +29 -26
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +0 -1
- data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +885 -855
- data/src/core/filter/composite/composite_filter.cc +10 -3
- data/src/core/filter/composite/composite_filter.h +11 -1
- data/src/core/filter/filter_args.h +4 -22
- data/src/core/handshaker/handshaker.cc +10 -2
- data/src/core/handshaker/security/secure_endpoint.cc +73 -5
- data/src/core/lib/channel/channel_args.h +12 -6
- data/src/core/lib/channel/channel_stack.cc +1 -2
- data/src/core/lib/channel/channel_stack.h +1 -7
- data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
- data/src/core/lib/channel/channel_stack_builder_impl.h +0 -7
- data/src/core/lib/channel/promise_based_filter.cc +13 -1
- data/src/core/lib/channel/promise_based_filter.h +4 -5
- data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +0 -13
- data/src/core/lib/event_engine/extensions/receive_coalescing_extension.h +48 -0
- data/src/core/lib/event_engine/posix.h +2 -0
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +2 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +11 -8
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +7 -6
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +2 -1
- data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +10 -10
- data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +1 -1
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +1 -1
- data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +5 -4
- data/src/core/lib/experiments/experiments.cc +258 -87
- data/src/core/lib/experiments/experiments.h +130 -32
- data/src/core/lib/iomgr/buffer_list.h +1 -1
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +1 -1
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +2 -2
- data/src/core/lib/iomgr/tcp_posix.cc +2 -1
- data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -1
- data/src/core/lib/promise/detail/promise_factory.h +8 -8
- data/src/core/lib/promise/interceptor_list.h +1 -1
- data/src/core/lib/promise/try_seq.h +2 -2
- data/src/core/lib/resource_quota/telemetry.cc +54 -0
- data/src/core/lib/resource_quota/telemetry.h +5 -23
- data/src/core/lib/surface/call.cc +6 -1
- data/src/core/lib/surface/call.h +9 -0
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/promise_endpoint.h +7 -5
- data/src/core/lib/transport/transport.h +31 -4
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +146 -74
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.h +88 -0
- data/src/core/mitigation_engine/mitigation_engine.h +81 -0
- data/src/core/plugin_registry/grpc_plugin_registry.cc +0 -2
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +0 -5
- data/src/core/resolver/xds/xds_resolver.cc +23 -133
- data/src/core/server/server.cc +40 -18
- data/src/core/server/server.h +25 -14
- data/src/core/server/server_config_selector_filter.cc +122 -0
- data/src/core/server/server_config_selector_filter.h +1 -0
- data/src/core/server/xds_server_config_fetcher.cc +6 -0
- data/src/core/server/xds_server_config_fetcher_legacy.cc +1333 -0
- data/src/core/telemetry/histogram.h +10 -89
- data/src/core/telemetry/instrument.h +42 -28
- data/src/core/transport/message_size_service_config.cc +123 -0
- data/src/core/transport/message_size_service_config.h +85 -0
- data/src/core/transport/session_endpoint.cc +29 -4
- data/src/core/transport/session_endpoint.h +4 -0
- data/src/core/tsi/alts/crypt/gsec.h +4 -2
- data/src/core/tsi/ssl_transport_security.cc +6 -4
- data/src/core/util/http_client/parser.cc +1 -1
- data/src/core/util/lru_cache.h +2 -0
- data/src/core/util/ref_counted_string.h +1 -1
- data/src/core/util/tchar.cc +13 -7
- data/src/core/util/trie_lookup.h +1 -1
- data/src/core/xds/grpc/blackboard.cc +58 -0
- data/src/core/{filter → xds/grpc}/blackboard.h +30 -11
- data/src/core/xds/grpc/xds_common_types.cc +40 -0
- data/src/core/xds/grpc/xds_common_types.h +13 -0
- data/src/core/xds/grpc/xds_common_types_parser.cc +37 -34
- data/src/core/xds/grpc/xds_endpoint_parser.cc +1 -1
- data/src/core/xds/grpc/xds_http_composite_filter.cc +34 -18
- data/src/core/xds/grpc/xds_http_composite_filter.h +6 -3
- data/src/core/xds/grpc/xds_http_fault_filter.cc +0 -149
- data/src/core/xds/grpc/xds_http_fault_filter.h +19 -8
- data/src/core/xds/grpc/xds_http_filter.cc +2 -1
- data/src/core/xds/grpc/xds_http_filter.h +6 -16
- data/src/core/xds/grpc/xds_http_filter_registry.cc +0 -2
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +25 -119
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +27 -15
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +0 -149
- data/src/core/xds/grpc/xds_http_stateful_session_filter.h +19 -8
- data/src/core/xds/grpc/xds_lb_policy_registry.cc +18 -0
- data/src/core/xds/grpc/xds_listener_parser.cc +13 -9
- data/src/core/xds/grpc/xds_route_config.h +1 -1
- data/src/core/xds/grpc/xds_route_config_parser.cc +3 -5
- data/src/core/xds/grpc/xds_routing.cc +5 -11
- data/src/core/xds/grpc/xds_routing.h +2 -3
- data/src/core/xds/xds_client/lrs_client.cc +2 -2
- data/src/ruby/ext/grpc/rb_byte_buffer.c +1 -0
- data/src/ruby/ext/grpc/rb_call.c +3 -0
- data/src/ruby/ext/grpc/rb_call_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_channel.c +1 -0
- data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
- data/src/ruby/ext/grpc/rb_channel_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_completion_queue.c +1 -0
- data/src/ruby/ext/grpc/rb_compression_options.c +1 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -4
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -6
- data/src/ruby/ext/grpc/rb_server.c +1 -0
- data/src/ruby/ext/grpc/rb_server_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +1 -0
- data/src/ruby/lib/grpc/core/call_credentials.rb +86 -0
- data/src/ruby/lib/grpc/core/channel_credentials.rb +69 -0
- data/src/ruby/lib/grpc/core/credentials_helper.rb +126 -0
- data/src/ruby/lib/grpc/generic/client_stub.rb +86 -73
- data/src/ruby/lib/grpc/generic/interceptors.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/lib/grpc.rb +25 -0
- data/src/ruby/spec/call_credentials_spec.rb +52 -2
- data/src/ruby/spec/credentials_helper_spec.rb +80 -0
- data/src/ruby/spec/generic/client_stub_spec.rb +27 -4
- data/src/ruby/spec/generic/server_interceptors_spec.rb +17 -3
- data/third_party/upb/upb/base/error_handler.h +79 -0
- data/third_party/upb/upb/base/internal/log2.h +29 -5
- data/third_party/upb/upb/generated_code_support.h +1 -0
- data/third_party/upb/upb/hash/common.c +129 -14
- data/third_party/upb/upb/hash/common.h +1 -1
- data/third_party/upb/upb/hash/ext_table.h +65 -0
- data/third_party/upb/upb/lex/strtod.c +14 -5
- data/third_party/upb/upb/mem/arena.c +113 -95
- data/third_party/upb/upb/mem/internal/arena.h +13 -8
- data/third_party/upb/upb/message/accessors.c +2 -3
- data/third_party/upb/upb/message/accessors.h +32 -12
- data/third_party/upb/upb/message/array.c +51 -2
- data/third_party/upb/upb/message/array.h +10 -0
- data/third_party/upb/upb/message/copy.c +18 -34
- data/third_party/upb/upb/message/internal/accessors.h +15 -49
- data/third_party/upb/upb/message/internal/array.h +1 -1
- data/third_party/upb/upb/message/internal/map.h +1 -1
- data/third_party/upb/upb/message/internal/message.c +8 -1
- data/third_party/upb/upb/message/internal/message.h +40 -10
- data/third_party/upb/upb/message/message.c +3 -2
- data/third_party/upb/upb/message/value.h +0 -6
- data/third_party/upb/upb/mini_descriptor/decode.c +78 -59
- data/third_party/upb/upb/mini_descriptor/link.c +8 -6
- data/third_party/upb/upb/mini_table/extension_registry.c +17 -49
- data/third_party/upb/upb/mini_table/extension_registry.h +5 -17
- data/third_party/upb/upb/mini_table/generated_registry.c +180 -0
- data/third_party/upb/upb/mini_table/generated_registry.h +66 -0
- data/third_party/upb/upb/mini_table/internal/extension.h +5 -3
- data/third_party/upb/upb/mini_table/internal/field.h +7 -5
- data/third_party/upb/upb/mini_table/internal/generated_registry.h +37 -0
- data/third_party/upb/upb/mini_table/internal/message.c +0 -18
- data/third_party/upb/upb/mini_table/internal/message.h +24 -41
- data/third_party/upb/upb/mini_table/internal/size_log2.h +2 -1
- data/third_party/upb/upb/mini_table/internal/sub.h +2 -5
- data/third_party/upb/upb/mini_table/message.h +34 -13
- data/third_party/upb/upb/port/atomic.h +180 -74
- data/third_party/upb/upb/port/def.inc +194 -29
- data/third_party/upb/upb/port/sanitizers.h +15 -0
- data/third_party/upb/upb/port/undef.inc +6 -2
- data/third_party/upb/upb/reflection/common.h +0 -6
- data/third_party/upb/upb/reflection/def.hpp +8 -12
- data/third_party/upb/upb/reflection/def_pool.c +85 -33
- data/third_party/upb/upb/reflection/def_pool.h +38 -8
- data/third_party/upb/upb/reflection/def_type.h +3 -0
- data/third_party/upb/upb/reflection/enum_def.c +45 -33
- data/third_party/upb/upb/reflection/enum_def.h +8 -4
- data/third_party/upb/upb/reflection/enum_reserved_range.c +7 -3
- data/third_party/upb/upb/reflection/enum_value_def.c +14 -29
- data/third_party/upb/upb/reflection/enum_value_def.h +5 -4
- data/third_party/upb/upb/reflection/extension_range.c +15 -14
- data/third_party/upb/upb/reflection/extension_range.h +7 -4
- data/third_party/upb/upb/reflection/field_def.c +114 -96
- data/third_party/upb/upb/reflection/field_def.h +3 -3
- data/third_party/upb/upb/reflection/file_def.c +71 -65
- data/third_party/upb/upb/reflection/file_def.h +4 -5
- data/third_party/upb/upb/reflection/internal/def_builder.c +22 -14
- data/third_party/upb/upb/reflection/internal/def_builder.h +44 -38
- data/third_party/upb/upb/reflection/internal/def_pool.h +5 -1
- data/third_party/upb/upb/reflection/internal/enum_def.h +6 -4
- data/third_party/upb/upb/reflection/internal/enum_reserved_range.h +3 -2
- data/third_party/upb/upb/reflection/internal/enum_value_def.h +7 -4
- data/third_party/upb/upb/reflection/internal/extension_range.h +4 -3
- data/third_party/upb/upb/reflection/internal/field_def.h +15 -12
- data/third_party/upb/upb/reflection/internal/file_def.h +8 -1
- data/third_party/upb/upb/reflection/internal/message_def.h +10 -7
- data/third_party/upb/upb/reflection/internal/message_reserved_range.h +3 -1
- data/third_party/upb/upb/reflection/internal/method_def.h +6 -6
- data/third_party/upb/upb/reflection/internal/oneof_def.h +6 -6
- data/third_party/upb/upb/reflection/internal/service_def.h +9 -6
- data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
- data/third_party/upb/upb/reflection/message_def.c +46 -53
- data/third_party/upb/upb/reflection/message_def.h +6 -7
- data/third_party/upb/upb/reflection/message_reserved_range.c +7 -6
- data/third_party/upb/upb/reflection/method_def.c +22 -20
- data/third_party/upb/upb/reflection/method_def.h +4 -4
- data/third_party/upb/upb/reflection/oneof_def.c +17 -15
- data/third_party/upb/upb/reflection/oneof_def.h +6 -3
- data/third_party/upb/upb/reflection/service_def.c +50 -23
- data/third_party/upb/upb/reflection/service_def.h +7 -4
- data/third_party/upb/upb/text/internal/encode.c +7 -10
- data/third_party/upb/upb/wire/decode.c +269 -430
- data/third_party/upb/upb/wire/decode.h +6 -45
- data/third_party/upb/upb/wire/decode_fast/combinations.h +7 -3
- data/third_party/upb/upb/wire/decode_fast/select.c +7 -2
- data/third_party/upb/upb/wire/encode.c +144 -106
- data/third_party/upb/upb/wire/encode.h +6 -2
- data/third_party/upb/upb/wire/eps_copy_input_stream.c +36 -7
- data/third_party/upb/upb/wire/eps_copy_input_stream.h +94 -380
- data/third_party/upb/upb/wire/internal/decoder.c +1 -14
- data/third_party/upb/upb/wire/internal/decoder.h +84 -24
- data/third_party/upb/upb/wire/internal/eps_copy_input_stream.h +339 -0
- data/third_party/upb/upb/wire/internal/reader.h +29 -12
- data/third_party/upb/upb/wire/reader.c +35 -22
- data/third_party/upb/upb/wire/reader.h +11 -18
- data/third_party/utf8_range/utf8_range.c +1 -1
- data/third_party/utf8_range/utf8_range.h +2 -1
- metadata +27 -13
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +0 -117
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +0 -109
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +0 -80
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +0 -86
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +0 -83
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +0 -91
- data/src/core/ext/transport/chttp2/transport/incoming_metadata_tracker.h +0 -217
- data/src/core/filter/blackboard.cc +0 -33
- data/third_party/upb/upb/message/internal/tagged_ptr.h +0 -56
- data/third_party/upb/upb/message/tagged_ptr.h +0 -48
|
@@ -102,10 +102,17 @@ CompositeFilter::CompositeFilter(const ChannelArgs& args,
|
|
|
102
102
|
if (action.type() != ExecuteFilterAction::Type()) return;
|
|
103
103
|
const auto& execute_filter_action =
|
|
104
104
|
DownCast<const ExecuteFilterAction&>(action);
|
|
105
|
-
|
|
105
|
+
auto it = config_->merged_config_map.find(&action);
|
|
106
|
+
GRPC_CHECK(it != config_->merged_config_map.end());
|
|
107
|
+
auto& merged_configs = it->second;
|
|
108
|
+
GRPC_CHECK_EQ(merged_configs.size(),
|
|
109
|
+
execute_filter_action.filter_chain().size());
|
|
110
|
+
InterceptionChainBuilder builder(args);
|
|
106
111
|
InterceptionChainBuilderWrapper builder_wrapper(builder);
|
|
107
|
-
for (
|
|
108
|
-
|
|
112
|
+
for (size_t i = 0; i < merged_configs.size(); ++i) {
|
|
113
|
+
const auto* filter_impl =
|
|
114
|
+
execute_filter_action.filter_chain()[i].filter_impl;
|
|
115
|
+
const auto& filter_config = merged_configs[i];
|
|
109
116
|
// TODO(roth): Currently, this code assumes that it is always
|
|
110
117
|
// running on the client side, so we'll need to remove this
|
|
111
118
|
// assumption in order to make this filter work on the server
|
|
@@ -116,7 +116,17 @@ class CompositeFilter final : public V3InterceptorToV2Bridge<CompositeFilter> {
|
|
|
116
116
|
return matcher->ToString();
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
std::
|
|
119
|
+
std::shared_ptr<const XdsMatcher> matcher;
|
|
120
|
+
|
|
121
|
+
// For each action, contains the list of merged filter configs to
|
|
122
|
+
// use. This is basically the same as the filter configs in the
|
|
123
|
+
// matcher actions, except that the configs may include fields set
|
|
124
|
+
// from the blackboard.
|
|
125
|
+
// Note: This is not actually part of the identity of the config
|
|
126
|
+
// (i.e., does not matter for Equals()).
|
|
127
|
+
absl::flat_hash_map<const XdsMatcher::Action*,
|
|
128
|
+
std::vector<RefCountedPtr<const FilterConfig>>>
|
|
129
|
+
merged_config_map;
|
|
120
130
|
};
|
|
121
131
|
|
|
122
132
|
static const grpc_channel_filter kFilterVtable;
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
|
|
18
18
|
#include <memory>
|
|
19
19
|
|
|
20
|
-
#include "src/core/filter/blackboard.h"
|
|
21
20
|
#include "src/core/lib/channel/channel_fwd.h"
|
|
22
21
|
#include "src/core/util/match.h"
|
|
23
22
|
#include "src/core/util/ref_counted.h"
|
|
@@ -58,12 +57,10 @@ class FilterArgs {
|
|
|
58
57
|
grpc_channel_element* channel_element,
|
|
59
58
|
size_t (*channel_stack_filter_instance_number)(
|
|
60
59
|
grpc_channel_stack*, grpc_channel_element*),
|
|
61
|
-
RefCountedPtr<const FilterConfig> config = nullptr
|
|
62
|
-
const Blackboard* blackboard = nullptr)
|
|
60
|
+
RefCountedPtr<const FilterConfig> config = nullptr)
|
|
63
61
|
: impl_(ChannelStackBased{channel_stack, channel_element,
|
|
64
62
|
channel_stack_filter_instance_number}),
|
|
65
|
-
config_(std::move(config))
|
|
66
|
-
blackboard_(blackboard) {}
|
|
63
|
+
config_(std::move(config)) {}
|
|
67
64
|
// While we're moving to call-v3 we need to have access to
|
|
68
65
|
// grpc_channel_stack & friends here. That means that we can't rely on this
|
|
69
66
|
// type signature from interception_chain.h, which means that we need a way
|
|
@@ -71,11 +68,8 @@ class FilterArgs {
|
|
|
71
68
|
// TODO(ctiller): remove this once we're fully on call-v3
|
|
72
69
|
// NOLINTNEXTLINE(google-explicit-constructor)
|
|
73
70
|
FilterArgs(size_t instance_id,
|
|
74
|
-
RefCountedPtr<const FilterConfig> config = nullptr
|
|
75
|
-
|
|
76
|
-
: impl_(V3Based{instance_id}),
|
|
77
|
-
config_(std::move(config)),
|
|
78
|
-
blackboard_(blackboard) {}
|
|
71
|
+
RefCountedPtr<const FilterConfig> config = nullptr)
|
|
72
|
+
: impl_(V3Based{instance_id}), config_(std::move(config)) {}
|
|
79
73
|
|
|
80
74
|
ABSL_DEPRECATED("Direct access to channel stack is deprecated")
|
|
81
75
|
grpc_channel_stack* channel_stack() const {
|
|
@@ -103,17 +97,6 @@ class FilterArgs {
|
|
|
103
97
|
|
|
104
98
|
RefCountedPtr<const FilterConfig> config() const { return config_; }
|
|
105
99
|
|
|
106
|
-
// Gets the filter state associated with a particular type and key.
|
|
107
|
-
template <typename T>
|
|
108
|
-
RefCountedPtr<T> GetState(const std::string& key) const {
|
|
109
|
-
if (blackboard_ == nullptr) return nullptr;
|
|
110
|
-
return blackboard_->Get<T>(key);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// Do not use unless you know what you're doing -- prefer to use
|
|
114
|
-
// GetState() instead!
|
|
115
|
-
const Blackboard* blackboard() const { return blackboard_; }
|
|
116
|
-
|
|
117
100
|
private:
|
|
118
101
|
friend class ChannelFilter;
|
|
119
102
|
|
|
@@ -132,7 +115,6 @@ class FilterArgs {
|
|
|
132
115
|
Impl impl_;
|
|
133
116
|
|
|
134
117
|
const RefCountedPtr<const FilterConfig> config_;
|
|
135
|
-
const Blackboard* blackboard_ = nullptr;
|
|
136
118
|
};
|
|
137
119
|
|
|
138
120
|
} // namespace grpc_core
|
|
@@ -139,9 +139,14 @@ void HandshakeManager::Shutdown(absl::Status error) {
|
|
|
139
139
|
is_shutdown_ = true;
|
|
140
140
|
// Shutdown the handshaker that's currently in progress, if any.
|
|
141
141
|
if (index_ > 0) {
|
|
142
|
+
auto& handshaker = *handshakers_[index_ - 1];
|
|
142
143
|
GRPC_CHANNELZ_LOG(args_.trace_node)
|
|
143
|
-
<< "Shutting down handshaker
|
|
144
|
-
|
|
144
|
+
<< "Shutting down handshaker " << handshaker.name() << " at index "
|
|
145
|
+
<< (index_ - 1);
|
|
146
|
+
if (IsVerboseChannelzConnectionLoggingEnabled()) {
|
|
147
|
+
args_.trace_node.Commit();
|
|
148
|
+
}
|
|
149
|
+
handshaker.Shutdown(std::move(error));
|
|
145
150
|
}
|
|
146
151
|
}
|
|
147
152
|
}
|
|
@@ -187,6 +192,9 @@ void HandshakeManager::CallNextHandshakerLocked(absl::Status error) {
|
|
|
187
192
|
auto handshaker = handshakers_[index_];
|
|
188
193
|
GRPC_CHANNELZ_LOG(args_.trace_node)
|
|
189
194
|
<< " calling handshaker " << handshaker->name() << " at index " << index_;
|
|
195
|
+
if (IsVerboseChannelzConnectionLoggingEnabled()) {
|
|
196
|
+
args_.trace_node.Commit();
|
|
197
|
+
}
|
|
190
198
|
++index_;
|
|
191
199
|
handshaker->DoHandshake(&args_, [self = Ref()](absl::Status error) mutable {
|
|
192
200
|
MutexLock lock(&self->mu_);
|
|
@@ -39,6 +39,8 @@
|
|
|
39
39
|
#include <vector>
|
|
40
40
|
|
|
41
41
|
#include "src/core/lib/debug/trace.h"
|
|
42
|
+
#include "src/core/lib/event_engine/extensions/receive_coalescing_extension.h"
|
|
43
|
+
#include "src/core/lib/event_engine/query_extensions.h"
|
|
42
44
|
#include "src/core/lib/experiments/experiments.h"
|
|
43
45
|
#include "src/core/lib/iomgr/closure.h"
|
|
44
46
|
#include "src/core/lib/iomgr/endpoint.h"
|
|
@@ -575,6 +577,17 @@ class FrameProtector : public RefCounted<FrameProtector> {
|
|
|
575
577
|
}
|
|
576
578
|
}
|
|
577
579
|
|
|
580
|
+
// Resets the read staging buffer.
|
|
581
|
+
// Per the contract of EnableRpcReceiveCoalescing(), this is only
|
|
582
|
+
// called when there are no outstanding Read() operations on the endpoint.
|
|
583
|
+
// Therefore, any valid plaintext has already been fully delivered, and
|
|
584
|
+
// read_staging_buffer_ contains only unused, leftover memory capacity.
|
|
585
|
+
void ResetReadStagingBuffer() {
|
|
586
|
+
MutexLock lock(&read_mu_);
|
|
587
|
+
CSliceUnref(read_staging_buffer_);
|
|
588
|
+
read_staging_buffer_ = grpc_empty_slice();
|
|
589
|
+
}
|
|
590
|
+
|
|
578
591
|
private:
|
|
579
592
|
struct tsi_frame_protector* const protector_;
|
|
580
593
|
struct tsi_zero_copy_grpc_protector* const zero_copy_protector_;
|
|
@@ -821,7 +834,8 @@ static const grpc_endpoint_vtable vtable = {endpoint_read,
|
|
|
821
834
|
namespace grpc_event_engine::experimental {
|
|
822
835
|
namespace {
|
|
823
836
|
|
|
824
|
-
class SecureEndpoint final : public EventEngine::Endpoint
|
|
837
|
+
class SecureEndpoint final : public EventEngine::Endpoint,
|
|
838
|
+
public ReceiveCoalescingExtension {
|
|
825
839
|
public:
|
|
826
840
|
SecureEndpoint(
|
|
827
841
|
std::unique_ptr<grpc_event_engine::experimental::EventEngine::Endpoint>
|
|
@@ -855,9 +869,24 @@ class SecureEndpoint final : public EventEngine::Endpoint {
|
|
|
855
869
|
}
|
|
856
870
|
|
|
857
871
|
void* QueryExtension(absl::string_view id) override {
|
|
872
|
+
if (id == ReceiveCoalescingExtension::EndpointExtensionName()) {
|
|
873
|
+
return static_cast<ReceiveCoalescingExtension*>(this);
|
|
874
|
+
}
|
|
858
875
|
return impl_->QueryExtension(id);
|
|
859
876
|
}
|
|
860
877
|
|
|
878
|
+
void EnableRpcReceiveCoalescing() override {
|
|
879
|
+
impl_->EnableRpcReceiveCoalescing();
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
void DisableRpcReceiveCoalescing() override {
|
|
883
|
+
impl_->DisableRpcReceiveCoalescing();
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
void EnforceRxMemoryAlignment() override {
|
|
887
|
+
impl_->EnforceRxMemoryAlignment();
|
|
888
|
+
}
|
|
889
|
+
|
|
861
890
|
std::shared_ptr<TelemetryInfo> GetTelemetryInfo() const override {
|
|
862
891
|
return std::make_shared<Impl::TelemetryInfo>(impl_->GetTelemetryInfo());
|
|
863
892
|
}
|
|
@@ -940,11 +969,20 @@ class SecureEndpoint final : public EventEngine::Endpoint {
|
|
|
940
969
|
// TODO(aananthv): Evaluate if we need to add a channel_arg to enable this
|
|
941
970
|
// selectively.
|
|
942
971
|
if (grpc_core::IsSecureEndpointReadCoalescingEnabled()) {
|
|
972
|
+
{
|
|
973
|
+
// This mutex should not have any contention since we can only have
|
|
974
|
+
// one outstanding Read() at a time.
|
|
975
|
+
grpc_core::MutexLock lock(&read_settings_mu_);
|
|
976
|
+
if (rpc_receive_coalescing_enabled_) {
|
|
977
|
+
// TODO(aananthv): Make required_read_bytes_ a separate field in
|
|
978
|
+
// ReadArgs to avoid confusion between min_progress_size and
|
|
979
|
+
// read_hint_bytes, especially if we enable coalescing by default.
|
|
980
|
+
required_read_bytes_ = std::max<int64_t>(0, args.read_hint_bytes());
|
|
981
|
+
} else {
|
|
982
|
+
required_read_bytes_ = 0;
|
|
983
|
+
}
|
|
984
|
+
}
|
|
943
985
|
read_buffer_ = buffer;
|
|
944
|
-
// TODO(aananthv): Make required_read_bytes_ a separate field in
|
|
945
|
-
// ReadArgs to avoid confusion between min_progress_size and
|
|
946
|
-
// read_hint_bytes, especially if we enable coalescing by default.
|
|
947
|
-
required_read_bytes_ = std::max<int64_t>(0, args.read_hint_bytes());
|
|
948
986
|
read_args_ = args;
|
|
949
987
|
frame_protector_.BeginRead(buffer->c_slice_buffer(),
|
|
950
988
|
required_read_bytes_);
|
|
@@ -1052,6 +1090,33 @@ class SecureEndpoint final : public EventEngine::Endpoint {
|
|
|
1052
1090
|
return wrapped_ep_->GetLocalAddress();
|
|
1053
1091
|
}
|
|
1054
1092
|
|
|
1093
|
+
void EnableRpcReceiveCoalescing() {
|
|
1094
|
+
{
|
|
1095
|
+
grpc_core::MutexLock lock(&read_settings_mu_);
|
|
1096
|
+
rpc_receive_coalescing_enabled_ = true;
|
|
1097
|
+
}
|
|
1098
|
+
frame_protector_.ResetReadStagingBuffer();
|
|
1099
|
+
// We do not need to enable this in the underlying endpoint since we only
|
|
1100
|
+
// benefit from coalescing the user-facing buffer.
|
|
1101
|
+
// TODO(aananthv): Should we disable it explicitly?
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
void DisableRpcReceiveCoalescing() {
|
|
1105
|
+
{
|
|
1106
|
+
grpc_core::MutexLock lock(&read_settings_mu_);
|
|
1107
|
+
rpc_receive_coalescing_enabled_ = false;
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
void EnforceRxMemoryAlignment() {
|
|
1112
|
+
auto* ext = grpc_event_engine::experimental::QueryExtension<
|
|
1113
|
+
grpc_event_engine::experimental::ReceiveCoalescingExtension>(
|
|
1114
|
+
wrapped_ep_.get());
|
|
1115
|
+
if (ext != nullptr) {
|
|
1116
|
+
ext->EnforceRxMemoryAlignment();
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1055
1120
|
void* QueryExtension(absl::string_view id) {
|
|
1056
1121
|
return wrapped_ep_->QueryExtension(id);
|
|
1057
1122
|
}
|
|
@@ -1306,6 +1371,9 @@ class SecureEndpoint final : public EventEngine::Endpoint {
|
|
|
1306
1371
|
const size_t large_read_threshold_;
|
|
1307
1372
|
const size_t large_write_threshold_;
|
|
1308
1373
|
const size_t max_buffered_writes_;
|
|
1374
|
+
grpc_core::Mutex read_settings_mu_;
|
|
1375
|
+
bool rpc_receive_coalescing_enabled_ ABSL_GUARDED_BY(read_settings_mu_) =
|
|
1376
|
+
false;
|
|
1309
1377
|
};
|
|
1310
1378
|
|
|
1311
1379
|
grpc_core::RefCountedPtr<Impl> impl_;
|
|
@@ -55,6 +55,8 @@
|
|
|
55
55
|
|
|
56
56
|
namespace grpc_core {
|
|
57
57
|
|
|
58
|
+
class Arena;
|
|
59
|
+
|
|
58
60
|
// Define a traits object for vtable lookup - allows us to integrate with
|
|
59
61
|
// existing code easily (just define the trait!) and allows some magic in
|
|
60
62
|
// ChannelArgs to automatically derive a vtable from a T*.
|
|
@@ -88,8 +90,7 @@ struct IsRawPointerTagged {
|
|
|
88
90
|
static constexpr bool kValue = false;
|
|
89
91
|
};
|
|
90
92
|
template <typename T>
|
|
91
|
-
struct IsRawPointerTagged<T,
|
|
92
|
-
absl::void_t<typename T::RawPointerChannelArgTag>> {
|
|
93
|
+
struct IsRawPointerTagged<T, std::void_t<typename T::RawPointerChannelArgTag>> {
|
|
93
94
|
static constexpr bool kValue = true;
|
|
94
95
|
};
|
|
95
96
|
|
|
@@ -114,8 +115,8 @@ template <typename T, typename = void>
|
|
|
114
115
|
struct has_channel_args_compare : std::false_type {};
|
|
115
116
|
template <typename T>
|
|
116
117
|
struct has_channel_args_compare<
|
|
117
|
-
T,
|
|
118
|
-
|
|
118
|
+
T, std::void_t<decltype(T::ChannelArgsCompare(std::declval<const T*>(),
|
|
119
|
+
std::declval<const T*>()))>>
|
|
119
120
|
: std::true_type {};
|
|
120
121
|
} // namespace channel_args_detail
|
|
121
122
|
|
|
@@ -193,7 +194,7 @@ struct ChannelArgTypeTraits<
|
|
|
193
194
|
// ownership*.
|
|
194
195
|
template <typename T>
|
|
195
196
|
struct ChannelArgTypeTraits<T,
|
|
196
|
-
|
|
197
|
+
std::void_t<typename T::RawPointerChannelArgTag>> {
|
|
197
198
|
static void* TakeUnownedPointer(T* p) { return p; }
|
|
198
199
|
static const grpc_arg_pointer_vtable* VTable() {
|
|
199
200
|
static const grpc_arg_pointer_vtable tbl = {
|
|
@@ -216,7 +217,7 @@ struct ChannelArgPointerShouldBeConst {
|
|
|
216
217
|
|
|
217
218
|
template <typename T>
|
|
218
219
|
struct ChannelArgPointerShouldBeConst<
|
|
219
|
-
T,
|
|
220
|
+
T, std::void_t<decltype(T::ChannelArgUseConstPtr())>> {
|
|
220
221
|
static constexpr bool kValue = T::ChannelArgUseConstPtr();
|
|
221
222
|
};
|
|
222
223
|
|
|
@@ -299,6 +300,11 @@ template <typename T>
|
|
|
299
300
|
struct ChannelArgNameTraits<std::shared_ptr<T>> {
|
|
300
301
|
static absl::string_view ChannelArgName() { return T::ChannelArgName(); }
|
|
301
302
|
};
|
|
303
|
+
template <>
|
|
304
|
+
struct ChannelArgTypeTraits<Arena> {
|
|
305
|
+
static const grpc_arg_pointer_vtable* VTable();
|
|
306
|
+
static void* TakeUnownedPointer(Arena* p) { return p; }
|
|
307
|
+
};
|
|
302
308
|
// Specialization for the EventEngine
|
|
303
309
|
template <>
|
|
304
310
|
struct ChannelArgNameTraits<grpc_event_engine::experimental::EventEngine> {
|
|
@@ -115,7 +115,7 @@ grpc_error_handle grpc_channel_stack_init(
|
|
|
115
115
|
int initial_refs, grpc_iomgr_cb_func destroy, void* destroy_arg,
|
|
116
116
|
std::vector<grpc_core::FilterAndConfig> filters,
|
|
117
117
|
const grpc_core::ChannelArgs& channel_args, const char* name,
|
|
118
|
-
grpc_channel_stack* stack
|
|
118
|
+
grpc_channel_stack* stack) {
|
|
119
119
|
if (GRPC_TRACE_FLAG_ENABLED(channel_stack)) {
|
|
120
120
|
LOG(INFO) << "CHANNEL_STACK: init " << name;
|
|
121
121
|
for (const auto& [filter, _] : filters) {
|
|
@@ -144,7 +144,6 @@ grpc_error_handle grpc_channel_stack_init(
|
|
|
144
144
|
sizeof(grpc_channel_element));
|
|
145
145
|
|
|
146
146
|
// init per-filter data
|
|
147
|
-
args.blackboard = blackboard;
|
|
148
147
|
grpc_error_handle first_error;
|
|
149
148
|
for (i = 0; i < filters.size(); ++i) {
|
|
150
149
|
args.channel_stack = stack;
|
|
@@ -68,17 +68,12 @@
|
|
|
68
68
|
#include "src/core/util/time_precise.h"
|
|
69
69
|
#include "src/core/util/unique_type_name.h"
|
|
70
70
|
|
|
71
|
-
namespace grpc_core {
|
|
72
|
-
class Blackboard;
|
|
73
|
-
} // namespace grpc_core
|
|
74
|
-
|
|
75
71
|
struct grpc_channel_element_args {
|
|
76
72
|
grpc_channel_stack* channel_stack;
|
|
77
73
|
grpc_core::ChannelArgs channel_args;
|
|
78
74
|
int is_first;
|
|
79
75
|
int is_last;
|
|
80
76
|
grpc_core::RefCountedPtr<const grpc_core::FilterConfig> config;
|
|
81
|
-
const grpc_core::Blackboard* blackboard;
|
|
82
77
|
};
|
|
83
78
|
struct grpc_call_element_args {
|
|
84
79
|
grpc_call_stack* call_stack;
|
|
@@ -276,8 +271,7 @@ grpc_error_handle grpc_channel_stack_init(
|
|
|
276
271
|
int initial_refs, grpc_iomgr_cb_func destroy, void* destroy_arg,
|
|
277
272
|
std::vector<grpc_core::FilterAndConfig> filters,
|
|
278
273
|
const grpc_core::ChannelArgs& args, const char* name,
|
|
279
|
-
grpc_channel_stack* stack
|
|
280
|
-
const grpc_core::Blackboard* blackboard = nullptr);
|
|
274
|
+
grpc_channel_stack* stack);
|
|
281
275
|
// Destroy a channel stack
|
|
282
276
|
void grpc_channel_stack_destroy(grpc_channel_stack* stack);
|
|
283
277
|
|
|
@@ -70,7 +70,7 @@ ChannelStackBuilderImpl::Build() {
|
|
|
70
70
|
grpc_channel_stack_destroy(stk);
|
|
71
71
|
gpr_free(stk);
|
|
72
72
|
},
|
|
73
|
-
channel_stack, stack, channel_args(), name(), channel_stack
|
|
73
|
+
channel_stack, stack, channel_args(), name(), channel_stack);
|
|
74
74
|
|
|
75
75
|
if (!error.ok()) {
|
|
76
76
|
grpc_channel_stack_destroy(channel_stack);
|
|
@@ -24,8 +24,6 @@
|
|
|
24
24
|
|
|
25
25
|
namespace grpc_core {
|
|
26
26
|
|
|
27
|
-
class Blackboard;
|
|
28
|
-
|
|
29
27
|
// Build a channel stack.
|
|
30
28
|
// Allows interested parties to add filters to the stack, and to query an
|
|
31
29
|
// in-progress build.
|
|
@@ -35,17 +33,12 @@ class ChannelStackBuilderImpl final : public ChannelStackBuilder {
|
|
|
35
33
|
public:
|
|
36
34
|
using ChannelStackBuilder::ChannelStackBuilder;
|
|
37
35
|
|
|
38
|
-
void SetBlackboard(const Blackboard* blackboard) { blackboard_ = blackboard; }
|
|
39
|
-
|
|
40
36
|
// Build the channel stack.
|
|
41
37
|
// After success, *result holds the new channel stack,
|
|
42
38
|
// prefix_bytes are allocated before the channel stack,
|
|
43
39
|
// initial_refs, destroy, destroy_arg are as per grpc_channel_stack_init
|
|
44
40
|
// On failure, *result is nullptr.
|
|
45
41
|
absl::StatusOr<RefCountedPtr<grpc_channel_stack>> Build() override;
|
|
46
|
-
|
|
47
|
-
private:
|
|
48
|
-
const Blackboard* blackboard_ = nullptr;
|
|
49
42
|
};
|
|
50
43
|
|
|
51
44
|
} // namespace grpc_core
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
#include "src/core/call/metadata.h"
|
|
27
27
|
#include "src/core/lib/channel/channel_stack.h"
|
|
28
28
|
#include "src/core/lib/debug/trace.h"
|
|
29
|
+
#include "src/core/lib/experiments/experiments.h"
|
|
29
30
|
#include "src/core/lib/iomgr/error.h"
|
|
30
31
|
#include "src/core/lib/promise/seq.h"
|
|
31
32
|
#include "src/core/lib/slice/slice.h"
|
|
@@ -495,6 +496,14 @@ void BaseCallData::SendMessage::Done(const ServerMetadata& metadata,
|
|
|
495
496
|
case State::kPushedToPipe:
|
|
496
497
|
push_.reset();
|
|
497
498
|
next_.reset();
|
|
499
|
+
// Ensure captured transport batches are released if the call terminates
|
|
500
|
+
// while a message is in-flight. This prevents deadlocks where the
|
|
501
|
+
// transport never receives the batch, leaving the RPC hanging for
|
|
502
|
+
// metadata.
|
|
503
|
+
if (IsV2NonOwningWakerImplementationEnabled()) {
|
|
504
|
+
GRPC_DCHECK(batch_.is_captured());
|
|
505
|
+
batch_.CancelWith(StatusFromMetadata(metadata), flusher);
|
|
506
|
+
}
|
|
498
507
|
state_ = State::kCancelledButNotYetPolled;
|
|
499
508
|
if (base_->is_current()) base_->ForceImmediateRepoll();
|
|
500
509
|
break;
|
|
@@ -1164,7 +1173,10 @@ class ClientCallData::PollContext {
|
|
|
1164
1173
|
std::exchange(
|
|
1165
1174
|
self_->recv_initial_metadata_->original_on_ready,
|
|
1166
1175
|
nullptr),
|
|
1167
|
-
|
|
1176
|
+
IsV2NonOwningWakerImplementationEnabled() &&
|
|
1177
|
+
!StatusFromMetadata(*md).ok()
|
|
1178
|
+
? StatusFromMetadata(*md)
|
|
1179
|
+
: absl::CancelledError(),
|
|
1168
1180
|
"wake_inside_combiner:recv_initial_metadata_ready");
|
|
1169
1181
|
}
|
|
1170
1182
|
}
|
|
@@ -38,7 +38,6 @@
|
|
|
38
38
|
#include "src/core/call/message.h"
|
|
39
39
|
#include "src/core/call/metadata.h"
|
|
40
40
|
#include "src/core/call/metadata_batch.h"
|
|
41
|
-
#include "src/core/filter/blackboard.h"
|
|
42
41
|
#include "src/core/filter/filter_args.h"
|
|
43
42
|
#include "src/core/lib/channel/channel_args.h"
|
|
44
43
|
#include "src/core/lib/channel/channel_fwd.h"
|
|
@@ -163,7 +162,7 @@ struct HasAsyncErrorInterceptor<Promise (T::*)(A...),
|
|
|
163
162
|
static constexpr bool value = true;
|
|
164
163
|
};
|
|
165
164
|
|
|
166
|
-
// For the list case we do two interceptors to avoid
|
|
165
|
+
// For the list case we do two interceptors to avoid ambiguities with the single
|
|
167
166
|
// argument forms above.
|
|
168
167
|
template <typename... Interceptors>
|
|
169
168
|
inline constexpr bool HasAnyAsyncErrorInterceptor(Interceptors...) {
|
|
@@ -1175,7 +1174,7 @@ MakeFilterCall(Derived* derived) {
|
|
|
1175
1174
|
// useful for cases where the exact metadata returned needs to be customized.
|
|
1176
1175
|
// It's also acceptable to return a promise that resolves to the
|
|
1177
1176
|
// relevant return type listed above.
|
|
1178
|
-
// Finally, OnFinalize can be added to
|
|
1177
|
+
// Finally, OnFinalize can be added to intercept call finalization.
|
|
1179
1178
|
// It must have one of the signatures:
|
|
1180
1179
|
// - static inline const NoInterceptor OnFinalize:
|
|
1181
1180
|
// the filter does not intercept call finalization.
|
|
@@ -1423,7 +1422,7 @@ class V3InterceptorToV2Bridge : public ChannelFilter, public Interceptor {
|
|
|
1423
1422
|
});
|
|
1424
1423
|
});
|
|
1425
1424
|
// In the v3 handler's activity, pull client initial metadata.
|
|
1426
|
-
// Use an inter-
|
|
1425
|
+
// Use an inter-activity latch to get it back to the v2
|
|
1427
1426
|
// activity.
|
|
1428
1427
|
handler.SpawnGuarded(
|
|
1429
1428
|
"pull_client_initial_metadata",
|
|
@@ -2268,7 +2267,7 @@ struct ChannelFilterWithFlagsMethods {
|
|
|
2268
2267
|
F::Create(args->channel_args,
|
|
2269
2268
|
ChannelFilter::Args(args->channel_stack, elem,
|
|
2270
2269
|
grpc_channel_stack_filter_instance_number,
|
|
2271
|
-
args->config
|
|
2270
|
+
args->config));
|
|
2272
2271
|
if (!status.ok()) {
|
|
2273
2272
|
new (elem->channel_data) F*(nullptr);
|
|
2274
2273
|
return absl_status_to_grpc_error(status.status());
|
|
@@ -42,19 +42,6 @@ class ChaoticGoodExtension {
|
|
|
42
42
|
/// one provided to it through the channel args. It is safe to call this
|
|
43
43
|
/// only when there are no outstanding Reads on the Endpoint.
|
|
44
44
|
virtual void UseMemoryQuota(grpc_core::MemoryQuotaRefPtr mem_quota) = 0;
|
|
45
|
-
|
|
46
|
-
/// Forces the endpoint to receive rpcs in one contiguous block of memory.
|
|
47
|
-
/// It is safe to call this only when there are no outstanding Reads on
|
|
48
|
-
/// the Endpoint.
|
|
49
|
-
virtual void EnableRpcReceiveCoalescing() = 0;
|
|
50
|
-
|
|
51
|
-
/// Disables rpc receive coalescing until it is explicitly enabled again.
|
|
52
|
-
/// It is safe to call this only when there are no outstanding Reads on
|
|
53
|
-
/// the Endpoint.
|
|
54
|
-
virtual void DisableRpcReceiveCoalescing() = 0;
|
|
55
|
-
/// If invoked, the endpoint tries to preserve proper order and alignment of
|
|
56
|
-
/// any memory that maybe shared across reads.
|
|
57
|
-
virtual void EnforceRxMemoryAlignment() = 0;
|
|
58
45
|
};
|
|
59
46
|
|
|
60
47
|
} // namespace grpc_event_engine::experimental
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// Copyright 2026 The gRPC Authors
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
#ifndef GRPC_SRC_CORE_LIB_EVENT_ENGINE_EXTENSIONS_RECEIVE_COALESCING_EXTENSION_H
|
|
16
|
+
#define GRPC_SRC_CORE_LIB_EVENT_ENGINE_EXTENSIONS_RECEIVE_COALESCING_EXTENSION_H
|
|
17
|
+
|
|
18
|
+
#include "absl/strings/string_view.h"
|
|
19
|
+
|
|
20
|
+
namespace grpc_event_engine::experimental {
|
|
21
|
+
|
|
22
|
+
/// An Endpoint extension class that will be supported by EventEngine endpoints
|
|
23
|
+
/// which need to work with receive coalescing.
|
|
24
|
+
class ReceiveCoalescingExtension {
|
|
25
|
+
public:
|
|
26
|
+
virtual ~ReceiveCoalescingExtension() = default;
|
|
27
|
+
static absl::string_view EndpointExtensionName() {
|
|
28
|
+
return "io.grpc.event_engine.extension.receive_coalescing_extension";
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/// Forces the endpoint to receive rpcs in one contiguous block of memory.
|
|
32
|
+
/// It is safe to call this only when there are no outstanding Reads on
|
|
33
|
+
/// the Endpoint.
|
|
34
|
+
virtual void EnableRpcReceiveCoalescing() = 0;
|
|
35
|
+
|
|
36
|
+
/// Disables rpc receive coalescing until it is explicitly enabled again.
|
|
37
|
+
/// It is safe to call this only when there are no outstanding Reads on
|
|
38
|
+
/// the Endpoint.
|
|
39
|
+
virtual void DisableRpcReceiveCoalescing() = 0;
|
|
40
|
+
|
|
41
|
+
/// If invoked, the endpoint tries to preserve proper order and alignment of
|
|
42
|
+
/// any memory that maybe shared across reads.
|
|
43
|
+
virtual void EnforceRxMemoryAlignment() = 0;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
} // namespace grpc_event_engine::experimental
|
|
47
|
+
|
|
48
|
+
#endif // GRPC_SRC_CORE_LIB_EVENT_ENGINE_EXTENSIONS_RECEIVE_COALESCING_EXTENSION_H
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
#include "src/core/lib/event_engine/extensions/can_track_errors.h"
|
|
24
24
|
#include "src/core/lib/event_engine/extensions/chaotic_good_extension.h"
|
|
25
|
+
#include "src/core/lib/event_engine/extensions/receive_coalescing_extension.h"
|
|
25
26
|
#include "src/core/lib/event_engine/extensions/supports_fd.h"
|
|
26
27
|
#include "src/core/lib/event_engine/query_extensions.h"
|
|
27
28
|
|
|
@@ -31,6 +32,7 @@ namespace grpc_event_engine::experimental {
|
|
|
31
32
|
/// may implement to support additional chaotic good related functionality.
|
|
32
33
|
class PosixEndpointWithChaoticGoodSupport
|
|
33
34
|
: public ExtendedType<EventEngine::Endpoint, ChaoticGoodExtension,
|
|
35
|
+
ReceiveCoalescingExtension,
|
|
34
36
|
EndpointSupportsFdExtension,
|
|
35
37
|
EndpointCanTrackErrorsExtension> {};
|
|
36
38
|
|
|
@@ -95,7 +95,8 @@ NativePosixDNSResolver::NativePosixDNSResolver(
|
|
|
95
95
|
void NativePosixDNSResolver::LookupHostname(
|
|
96
96
|
EventEngine::DNSResolver::LookupHostnameCallback on_resolved,
|
|
97
97
|
absl::string_view name, absl::string_view default_port) {
|
|
98
|
-
event_engine_->Run([name = std::string(name),
|
|
98
|
+
event_engine_->Run([name = std::string(name),
|
|
99
|
+
default_port = std::string(default_port),
|
|
99
100
|
on_resolved = std::move(on_resolved)]() mutable {
|
|
100
101
|
on_resolved(LookupHostnameBlocking(name, default_port));
|
|
101
102
|
});
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
#include <memory>
|
|
30
30
|
#include <optional>
|
|
31
31
|
#include <string>
|
|
32
|
+
#include <utility>
|
|
32
33
|
|
|
33
34
|
#include "src/core/lib/debug/trace.h"
|
|
34
35
|
#include "src/core/lib/event_engine/posix_engine/event_poller.h"
|
|
@@ -44,7 +45,6 @@
|
|
|
44
45
|
#include "src/core/util/load_file.h"
|
|
45
46
|
#include "src/core/util/ref_counted_ptr.h"
|
|
46
47
|
#include "src/core/util/status_helper.h"
|
|
47
|
-
#include "src/core/util/strerror.h"
|
|
48
48
|
#include "src/core/util/sync.h"
|
|
49
49
|
#include "absl/functional/any_invocable.h"
|
|
50
50
|
#include "absl/log/log.h"
|
|
@@ -136,10 +136,11 @@ uint64_t ParseUlimitMemLockFromFile(std::string file_name) {
|
|
|
136
136
|
return 0;
|
|
137
137
|
}
|
|
138
138
|
// Find position of next newline after prefix.
|
|
139
|
-
size_t end = file_contents.find(
|
|
139
|
+
size_t end = file_contents.find('\n', start);
|
|
140
140
|
// Extract substring between prefix and next newline.
|
|
141
|
+
size_t value_start = start + kHardMemlockPrefix.length() + 1;
|
|
141
142
|
auto memlock_value_string = file_contents.substr(
|
|
142
|
-
|
|
143
|
+
value_start, end == std::string::npos ? end : end - value_start);
|
|
143
144
|
rtrim(memlock_value_string);
|
|
144
145
|
if (memlock_value_string == "unlimited" ||
|
|
145
146
|
memlock_value_string == "infinity") {
|
|
@@ -370,8 +371,8 @@ bool PosixEndpointImpl::TcpDoRead(absl::Status& status) {
|
|
|
370
371
|
} else if (read_bytes == 0) {
|
|
371
372
|
status = TcpAnnotateError(absl::InternalError("Socket closed"));
|
|
372
373
|
} else {
|
|
373
|
-
status = TcpAnnotateError(
|
|
374
|
-
absl::StrCat("recvmsg:",
|
|
374
|
+
status = TcpAnnotateError(
|
|
375
|
+
absl::InternalError(absl::StrCat("recvmsg:", res.StrError())));
|
|
375
376
|
}
|
|
376
377
|
return true;
|
|
377
378
|
}
|
|
@@ -892,7 +893,7 @@ bool PosixEndpointImpl::WriteWithTimestamps(struct msghdr* msg,
|
|
|
892
893
|
traced_buffers_.AddNewEntry(
|
|
893
894
|
static_cast<uint32_t>(bytes_counter_ + sending_length),
|
|
894
895
|
&poller_->posix_interface(), handle_->WrappedFd(),
|
|
895
|
-
std::move(outgoing_buffer_write_event_sink_)
|
|
896
|
+
std::move(*outgoing_buffer_write_event_sink_));
|
|
896
897
|
outgoing_buffer_write_event_sink_.reset();
|
|
897
898
|
|
|
898
899
|
// If there was an error on sendmsg the logic in tcp_flush will handle it.
|
|
@@ -940,6 +941,7 @@ void PosixEndpointImpl::UnrefMaybePutZerocopySendRecord(
|
|
|
940
941
|
void PosixEndpointImpl::TcpShutdownTracedBufferList() {
|
|
941
942
|
if (outgoing_buffer_write_event_sink_.has_value()) {
|
|
942
943
|
traced_buffers_.Shutdown(std::move(outgoing_buffer_write_event_sink_));
|
|
944
|
+
outgoing_buffer_write_event_sink_.reset();
|
|
943
945
|
}
|
|
944
946
|
}
|
|
945
947
|
|
|
@@ -1134,6 +1136,7 @@ bool PosixEndpointImpl::TcpFlush(absl::Status& status) {
|
|
|
1134
1136
|
}
|
|
1135
1137
|
|
|
1136
1138
|
GRPC_CHECK_EQ(outgoing_byte_idx_, 0u);
|
|
1139
|
+
GRPC_CHECK_LE((static_cast<size_t>(*send_result)), sending_length);
|
|
1137
1140
|
bytes_counter_ += *send_result;
|
|
1138
1141
|
trailing = sending_length - static_cast<size_t>(*send_result);
|
|
1139
1142
|
while (trailing > 0) {
|
|
@@ -1270,7 +1273,7 @@ void PosixEndpointImpl::MaybeShutdown(
|
|
|
1270
1273
|
Unref();
|
|
1271
1274
|
}
|
|
1272
1275
|
|
|
1273
|
-
PosixEndpointImpl
|
|
1276
|
+
PosixEndpointImpl::~PosixEndpointImpl() {
|
|
1274
1277
|
FileDescriptor release_fd;
|
|
1275
1278
|
handle_->OrphanHandle(on_done_,
|
|
1276
1279
|
on_release_fd_ == nullptr ? nullptr : &release_fd, "");
|
|
@@ -1327,7 +1330,7 @@ PosixEndpointImpl::PosixEndpointImpl(EventHandle* handle,
|
|
|
1327
1330
|
<< "ulimit value is not set. Use ulimit -l <value> to set its "
|
|
1328
1331
|
<< "value.";
|
|
1329
1332
|
} else {
|
|
1330
|
-
if (posix_interface.SetSockOpt(fd, SOL_SOCKET, SO_ZEROCOPY, 1).ok()) {
|
|
1333
|
+
if (!posix_interface.SetSockOpt(fd, SOL_SOCKET, SO_ZEROCOPY, 1).ok()) {
|
|
1331
1334
|
zerocopy_enabled = false;
|
|
1332
1335
|
LOG(ERROR) << "Failed to set zerocopy options on the socket.";
|
|
1333
1336
|
}
|