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
|
@@ -18,9 +18,15 @@
|
|
|
18
18
|
#include <stdint.h>
|
|
19
19
|
#include <string.h>
|
|
20
20
|
|
|
21
|
+
#include "upb/base/descriptor_constants.h"
|
|
22
|
+
#include "upb/base/error_handler.h"
|
|
23
|
+
#include "upb/base/string_view.h"
|
|
21
24
|
#include "upb/mem/arena.h"
|
|
22
25
|
#include "upb/mem/internal/arena.h"
|
|
26
|
+
#include "upb/message/message.h"
|
|
23
27
|
#include "upb/mini_table/extension_registry.h"
|
|
28
|
+
#include "upb/mini_table/field.h"
|
|
29
|
+
#include "upb/mini_table/internal/field.h"
|
|
24
30
|
#include "upb/mini_table/internal/message.h"
|
|
25
31
|
#include "upb/mini_table/message.h"
|
|
26
32
|
#include "upb/wire/decode.h"
|
|
@@ -43,14 +49,12 @@ typedef struct upb_Decoder {
|
|
|
43
49
|
bool message_is_done;
|
|
44
50
|
union {
|
|
45
51
|
upb_Arena arena;
|
|
46
|
-
void* foo[UPB_ARENA_SIZE_HACK];
|
|
52
|
+
void* foo[UPB_ARENA_SIZE_HACK / sizeof(void*)];
|
|
47
53
|
};
|
|
48
|
-
|
|
49
|
-
jmp_buf err;
|
|
54
|
+
upb_ErrorHandler err;
|
|
50
55
|
|
|
51
56
|
#ifndef NDEBUG
|
|
52
|
-
|
|
53
|
-
const char* debug_valstart;
|
|
57
|
+
char* trace_buf;
|
|
54
58
|
char* trace_ptr;
|
|
55
59
|
char* trace_end;
|
|
56
60
|
#endif
|
|
@@ -61,17 +65,31 @@ UPB_INLINE const char* upb_Decoder_Init(upb_Decoder* d, const char* buf,
|
|
|
61
65
|
const upb_ExtensionRegistry* extreg,
|
|
62
66
|
int options, upb_Arena* arena,
|
|
63
67
|
char* trace_buf, size_t trace_size) {
|
|
64
|
-
|
|
65
|
-
|
|
68
|
+
upb_ErrorHandler_Init(&d->err);
|
|
69
|
+
upb_EpsCopyInputStream_InitWithErrorHandler(&d->input, &buf, size, &d->err);
|
|
70
|
+
|
|
71
|
+
UPB_STATIC_ASSERT((int)kUpb_DecodeStatus_Ok == (int)kUpb_ErrorCode_Ok,
|
|
72
|
+
"mismatched error codes");
|
|
73
|
+
UPB_STATIC_ASSERT(
|
|
74
|
+
(int)kUpb_DecodeStatus_OutOfMemory == (int)kUpb_ErrorCode_OutOfMemory,
|
|
75
|
+
"mismatched error codes");
|
|
76
|
+
UPB_STATIC_ASSERT(
|
|
77
|
+
(int)kUpb_DecodeStatus_Malformed == (int)kUpb_ErrorCode_Malformed,
|
|
78
|
+
"mismatched error codes");
|
|
79
|
+
|
|
80
|
+
if (options & kUpb_DecodeOption_AlwaysValidateUtf8) {
|
|
81
|
+
// Fasttable decoder does not support this option.
|
|
82
|
+
options |= kUpb_DecodeOption_DisableFastTable;
|
|
83
|
+
}
|
|
66
84
|
|
|
67
85
|
d->extreg = extreg;
|
|
68
86
|
d->depth = upb_DecodeOptions_GetEffectiveMaxDepth(options);
|
|
69
87
|
d->end_group = DECODE_NOGROUP;
|
|
70
88
|
d->options = (uint16_t)options;
|
|
71
89
|
d->missing_required = false;
|
|
72
|
-
d->status = kUpb_DecodeStatus_Ok;
|
|
73
90
|
d->message_is_done = false;
|
|
74
91
|
#ifndef NDEBUG
|
|
92
|
+
d->trace_buf = trace_buf;
|
|
75
93
|
d->trace_ptr = trace_buf;
|
|
76
94
|
d->trace_end = UPB_PTRADD(trace_buf, trace_size);
|
|
77
95
|
#endif
|
|
@@ -89,7 +107,33 @@ UPB_INLINE const char* upb_Decoder_Init(upb_Decoder* d, const char* buf,
|
|
|
89
107
|
UPB_INLINE upb_DecodeStatus upb_Decoder_Destroy(upb_Decoder* d,
|
|
90
108
|
upb_Arena* arena) {
|
|
91
109
|
UPB_PRIVATE(_upb_Arena_SwapOut)(arena, &d->arena);
|
|
92
|
-
return d->
|
|
110
|
+
return (upb_DecodeStatus)d->err.code;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
#ifndef NDEBUG
|
|
114
|
+
UPB_INLINE bool _upb_Decoder_TraceBufferFull(upb_Decoder* d) {
|
|
115
|
+
return d->trace_ptr == d->trace_end - 1;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
UPB_INLINE bool _upb_Decoder_TraceBufferAlmostFull(upb_Decoder* d) {
|
|
119
|
+
return d->trace_ptr == d->trace_end - 2;
|
|
120
|
+
}
|
|
121
|
+
#endif
|
|
122
|
+
|
|
123
|
+
UPB_INLINE char* _upb_Decoder_TraceNext(upb_Decoder* d) {
|
|
124
|
+
#ifndef NDEBUG
|
|
125
|
+
return _upb_Decoder_TraceBufferAlmostFull(d) ? NULL : d->trace_ptr + 1;
|
|
126
|
+
#else
|
|
127
|
+
return NULL;
|
|
128
|
+
#endif
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
UPB_INLINE char* _upb_Decoder_TracePtr(upb_Decoder* d) {
|
|
132
|
+
#ifndef NDEBUG
|
|
133
|
+
return d->trace_ptr;
|
|
134
|
+
#else
|
|
135
|
+
return NULL;
|
|
136
|
+
#endif
|
|
93
137
|
}
|
|
94
138
|
|
|
95
139
|
// Trace events are used to trace the progress of the decoder.
|
|
@@ -102,7 +146,7 @@ UPB_INLINE upb_DecodeStatus upb_Decoder_Destroy(upb_Decoder* d,
|
|
|
102
146
|
UPB_INLINE void _upb_Decoder_Trace(upb_Decoder* d, char event) {
|
|
103
147
|
#ifndef NDEBUG
|
|
104
148
|
if (d->trace_ptr == NULL) return;
|
|
105
|
-
if (d
|
|
149
|
+
if (_upb_Decoder_TraceBufferFull(d)) {
|
|
106
150
|
d->trace_ptr[-1] = 'X'; // Truncated.
|
|
107
151
|
return;
|
|
108
152
|
}
|
|
@@ -131,26 +175,42 @@ UPB_INLINE const upb_MiniTable* decode_totablep(intptr_t table) {
|
|
|
131
175
|
return (const upb_MiniTable*)(table >> 8);
|
|
132
176
|
}
|
|
133
177
|
|
|
134
|
-
const char* _upb_Decoder_IsDoneFallback(upb_EpsCopyInputStream* e,
|
|
135
|
-
const char* ptr, int overrun);
|
|
136
|
-
|
|
137
178
|
const char* _upb_Decoder_DecodeMessage(upb_Decoder* d, const char* ptr,
|
|
138
179
|
upb_Message* msg,
|
|
139
180
|
const upb_MiniTable* layout);
|
|
140
181
|
|
|
141
|
-
UPB_INLINE bool
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
182
|
+
UPB_INLINE bool _upb_Decoder_FieldRequiresUtf8Validation(
|
|
183
|
+
const upb_Decoder* d, const upb_MiniTableField* field) {
|
|
184
|
+
if (field->UPB_PRIVATE(descriptortype) == kUpb_FieldType_String) return true;
|
|
145
185
|
|
|
146
|
-
|
|
147
|
-
|
|
186
|
+
if (field->UPB_PRIVATE(descriptortype) == kUpb_FieldType_Bytes &&
|
|
187
|
+
(field->UPB_ONLYBITS(mode) & kUpb_LabelFlags_IsAlternate) &&
|
|
188
|
+
(d->options & kUpb_DecodeOption_AlwaysValidateUtf8)) {
|
|
189
|
+
return true;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
148
194
|
|
|
149
|
-
UPB_INLINE const char
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
195
|
+
UPB_INLINE bool _upb_Decoder_ReadString(upb_Decoder* d, const char** ptr,
|
|
196
|
+
size_t size, upb_StringView* sv,
|
|
197
|
+
bool validate_utf8) {
|
|
198
|
+
upb_StringView tmp;
|
|
199
|
+
*ptr =
|
|
200
|
+
upb_EpsCopyInputStream_ReadStringAlwaysAlias(&d->input, *ptr, size, &tmp);
|
|
201
|
+
if (*ptr == NULL) return false;
|
|
202
|
+
if (validate_utf8 && !utf8_range_IsValid(tmp.data, tmp.size)) {
|
|
203
|
+
upb_ErrorHandler_ThrowError(&d->err, kUpb_DecodeStatus_BadUtf8);
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
if ((d->options & kUpb_DecodeOption_AliasString) == 0) {
|
|
207
|
+
char* data = (char*)upb_Arena_Malloc(&d->arena, tmp.size);
|
|
208
|
+
if (!data) return false;
|
|
209
|
+
memcpy(data, tmp.data, tmp.size);
|
|
210
|
+
tmp.data = data;
|
|
211
|
+
}
|
|
212
|
+
*sv = tmp;
|
|
213
|
+
return true;
|
|
154
214
|
}
|
|
155
215
|
|
|
156
216
|
#include "upb/port/undef.inc"
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
// Protocol Buffers - Google's data interchange format
|
|
2
|
+
// Copyright 2025 Google LLC. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
// Use of this source code is governed by a BSD-style
|
|
5
|
+
// license that can be found in the LICENSE file or at
|
|
6
|
+
// https://developers.google.com/open-source/licenses/bsd
|
|
7
|
+
|
|
8
|
+
#ifndef UPB_WIRE_INTERNAL_EPS_COPY_INPUT_STREAM_H_
|
|
9
|
+
#define UPB_WIRE_INTERNAL_EPS_COPY_INPUT_STREAM_H_
|
|
10
|
+
|
|
11
|
+
#include <stddef.h>
|
|
12
|
+
#include <stdint.h>
|
|
13
|
+
#include <string.h>
|
|
14
|
+
|
|
15
|
+
#include "upb/base/error_handler.h"
|
|
16
|
+
#include "upb/base/string_view.h"
|
|
17
|
+
|
|
18
|
+
// Must be last.
|
|
19
|
+
#include "upb/port/def.inc"
|
|
20
|
+
|
|
21
|
+
#ifdef __cplusplus
|
|
22
|
+
extern "C" {
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
// The maximum number of bytes a single protobuf field can take up in the
|
|
26
|
+
// wire format. We only want to do one bounds check per field, so the input
|
|
27
|
+
// stream guarantees that after upb_EpsCopyInputStream_IsDone() is called,
|
|
28
|
+
// the decoder can read this many bytes without performing another bounds
|
|
29
|
+
// check. The stream will copy into a patch buffer as necessary to guarantee
|
|
30
|
+
// this invariant. Since tags can only be up to 5 bytes, and a max-length scalar
|
|
31
|
+
// field can be 10 bytes, only 15 is required; but sizing up to 16 permits more
|
|
32
|
+
// efficient fixed size copies.
|
|
33
|
+
#define kUpb_EpsCopyInputStream_SlopBytes 16
|
|
34
|
+
|
|
35
|
+
struct upb_EpsCopyInputStream {
|
|
36
|
+
const char* end; // Can read up to SlopBytes bytes beyond this.
|
|
37
|
+
const char* limit_ptr; // For bounds checks, = end + UPB_MIN(limit, 0)
|
|
38
|
+
uintptr_t input_delta; // Diff between the original input pointer and patch
|
|
39
|
+
const char* buffer_start; // Pointer to the original input buffer
|
|
40
|
+
const char* capture_start; // If non-NULL, the start of the captured region.
|
|
41
|
+
ptrdiff_t limit; // Submessage limit relative to end
|
|
42
|
+
upb_ErrorHandler* err; // Error handler to use when things go wrong.
|
|
43
|
+
bool error; // To distinguish between EOF and error.
|
|
44
|
+
#ifndef NDEBUG
|
|
45
|
+
int guaranteed_bytes;
|
|
46
|
+
#endif
|
|
47
|
+
// Allocate double the size of what's required; this permits a fixed-size copy
|
|
48
|
+
// from the input buffer, regardless of how many bytes actually remain in the
|
|
49
|
+
// input buffer.
|
|
50
|
+
char patch[kUpb_EpsCopyInputStream_SlopBytes * 2];
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
UPB_INLINE void UPB_PRIVATE(upb_EpsCopyInputStream_BoundsChecked)(
|
|
54
|
+
struct upb_EpsCopyInputStream* e);
|
|
55
|
+
|
|
56
|
+
UPB_INLINE bool upb_EpsCopyInputStream_IsError(
|
|
57
|
+
struct upb_EpsCopyInputStream* e) {
|
|
58
|
+
return e->error;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
UPB_INLINE void upb_EpsCopyInputStream_InitWithErrorHandler(
|
|
62
|
+
struct upb_EpsCopyInputStream* e, const char** ptr, size_t size,
|
|
63
|
+
upb_ErrorHandler* err) {
|
|
64
|
+
e->buffer_start = *ptr;
|
|
65
|
+
e->capture_start = NULL;
|
|
66
|
+
e->err = err;
|
|
67
|
+
if (size <= kUpb_EpsCopyInputStream_SlopBytes) {
|
|
68
|
+
memset(&e->patch, 0, 32);
|
|
69
|
+
if (size) memcpy(&e->patch, *ptr, size);
|
|
70
|
+
e->input_delta = (uintptr_t)*ptr - (uintptr_t)e->patch;
|
|
71
|
+
*ptr = e->patch;
|
|
72
|
+
e->end = *ptr + size;
|
|
73
|
+
e->limit = 0;
|
|
74
|
+
} else {
|
|
75
|
+
e->end = *ptr + size - kUpb_EpsCopyInputStream_SlopBytes;
|
|
76
|
+
e->limit = kUpb_EpsCopyInputStream_SlopBytes;
|
|
77
|
+
e->input_delta = 0;
|
|
78
|
+
}
|
|
79
|
+
e->limit_ptr = e->end;
|
|
80
|
+
e->error = false;
|
|
81
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_BoundsChecked)(e);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
UPB_INLINE void upb_EpsCopyInputStream_Init(struct upb_EpsCopyInputStream* e,
|
|
85
|
+
const char** ptr, size_t size) {
|
|
86
|
+
upb_EpsCopyInputStream_InitWithErrorHandler(e, ptr, size, NULL);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
UPB_ATTR_CONST
|
|
90
|
+
UPB_INLINE bool upb_EpsCopyInputStream_HasErrorHandler(
|
|
91
|
+
const struct upb_EpsCopyInputStream* e) {
|
|
92
|
+
return e && e->err != NULL;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Call this function to signal an error. If an error handler is set, it will be
|
|
96
|
+
// called and the function will never return. Otherwise, returns NULL to
|
|
97
|
+
// indicate an error.
|
|
98
|
+
const char* UPB_PRIVATE(upb_EpsCopyInputStream_ReturnError)(
|
|
99
|
+
struct upb_EpsCopyInputStream* e);
|
|
100
|
+
|
|
101
|
+
UPB_INLINE const char* UPB_PRIVATE(upb_EpsCopyInputStream_AssumeResult)(
|
|
102
|
+
struct upb_EpsCopyInputStream* e, const char* ptr) {
|
|
103
|
+
UPB_MAYBE_ASSUME(upb_EpsCopyInputStream_HasErrorHandler(e), ptr != NULL);
|
|
104
|
+
return ptr;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
108
|
+
|
|
109
|
+
// Debug checks that attempt to ensure that no code paths will overrun the slop
|
|
110
|
+
// bytes even in the worst case. Since we are frequently parsing varints, it's
|
|
111
|
+
// possible that the user is trying to parse too many varints before calling
|
|
112
|
+
// upb_EpsCopyInputStream_IsDone(), but this error case is not detected because
|
|
113
|
+
// the varints are short. These checks ensure that will not overrun the slop
|
|
114
|
+
// bytes, even if each varint is its maximum possible length.
|
|
115
|
+
|
|
116
|
+
UPB_INLINE void UPB_PRIVATE(upb_EpsCopyInputStream_BoundsChecked)(
|
|
117
|
+
struct upb_EpsCopyInputStream* e) {
|
|
118
|
+
#ifndef NDEBUG
|
|
119
|
+
e->guaranteed_bytes = kUpb_EpsCopyInputStream_SlopBytes;
|
|
120
|
+
#endif
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
UPB_INLINE void UPB_PRIVATE(upb_EpsCopyInputStream_BoundsHit)(
|
|
124
|
+
struct upb_EpsCopyInputStream* e) {
|
|
125
|
+
#ifndef NDEBUG
|
|
126
|
+
e->guaranteed_bytes = 0;
|
|
127
|
+
#endif
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Signals the maximum number that the operation about to be performed may
|
|
131
|
+
// consume.
|
|
132
|
+
UPB_INLINE void UPB_PRIVATE(upb_EpsCopyInputStream_ConsumeBytes)(
|
|
133
|
+
struct upb_EpsCopyInputStream* e, int n) {
|
|
134
|
+
#ifndef NDEBUG
|
|
135
|
+
if (e) {
|
|
136
|
+
UPB_ASSERT(e->guaranteed_bytes >= n);
|
|
137
|
+
e->guaranteed_bytes -= n;
|
|
138
|
+
}
|
|
139
|
+
#endif
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
143
|
+
|
|
144
|
+
typedef enum {
|
|
145
|
+
// The current stream position is at a limit.
|
|
146
|
+
kUpb_IsDoneStatus_Done,
|
|
147
|
+
|
|
148
|
+
// The current stream position is not at a limit.
|
|
149
|
+
kUpb_IsDoneStatus_NotDone,
|
|
150
|
+
|
|
151
|
+
// The current stream position is not at a limit, and the stream needs to
|
|
152
|
+
// be flipped to a new buffer before more data can be read.
|
|
153
|
+
kUpb_IsDoneStatus_NeedFallback,
|
|
154
|
+
} upb_IsDoneStatus;
|
|
155
|
+
|
|
156
|
+
// Returns the status of the current stream position. This is a low-level
|
|
157
|
+
// function, it is simpler to call upb_EpsCopyInputStream_IsDone() if possible.
|
|
158
|
+
UPB_INLINE upb_IsDoneStatus UPB_PRIVATE(upb_EpsCopyInputStream_IsDoneStatus)(
|
|
159
|
+
struct upb_EpsCopyInputStream* e, const char* ptr, int* overrun) {
|
|
160
|
+
*overrun = ptr - e->end;
|
|
161
|
+
if (UPB_LIKELY(ptr < e->limit_ptr)) {
|
|
162
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_BoundsChecked)(e);
|
|
163
|
+
return kUpb_IsDoneStatus_NotDone;
|
|
164
|
+
} else if (UPB_LIKELY(*overrun == e->limit)) {
|
|
165
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_BoundsHit)(e);
|
|
166
|
+
return kUpb_IsDoneStatus_Done;
|
|
167
|
+
} else {
|
|
168
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_BoundsHit)(e);
|
|
169
|
+
return kUpb_IsDoneStatus_NeedFallback;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
const char* UPB_PRIVATE(upb_EpsCopyInputStream_IsDoneFallback)(
|
|
174
|
+
struct upb_EpsCopyInputStream* e, const char* ptr, int overrun);
|
|
175
|
+
|
|
176
|
+
UPB_INLINE bool upb_EpsCopyInputStream_IsDone(struct upb_EpsCopyInputStream* e,
|
|
177
|
+
const char** ptr) {
|
|
178
|
+
int overrun;
|
|
179
|
+
switch (UPB_PRIVATE(upb_EpsCopyInputStream_IsDoneStatus)(e, *ptr, &overrun)) {
|
|
180
|
+
case kUpb_IsDoneStatus_Done:
|
|
181
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_BoundsHit)(e);
|
|
182
|
+
return true;
|
|
183
|
+
case kUpb_IsDoneStatus_NotDone:
|
|
184
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_BoundsChecked)(e);
|
|
185
|
+
return false;
|
|
186
|
+
case kUpb_IsDoneStatus_NeedFallback:
|
|
187
|
+
*ptr =
|
|
188
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_IsDoneFallback)(e, *ptr, overrun);
|
|
189
|
+
if (*ptr) {
|
|
190
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_BoundsChecked)(e);
|
|
191
|
+
} else {
|
|
192
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_BoundsHit)(e);
|
|
193
|
+
}
|
|
194
|
+
return *ptr == NULL;
|
|
195
|
+
}
|
|
196
|
+
UPB_UNREACHABLE();
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
UPB_INLINE bool upb_EpsCopyInputStream_CheckSize(
|
|
200
|
+
const struct upb_EpsCopyInputStream* e, const char* ptr, int size) {
|
|
201
|
+
UPB_ASSERT(size >= 0);
|
|
202
|
+
return size <= e->limit - (ptr - e->end);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// Returns a pointer into an input buffer that corresponds to the parsing
|
|
206
|
+
// pointer `ptr`. The returned pointer may be the same as `ptr`, but also may
|
|
207
|
+
// be different if we are currently parsing out of the patch buffer.
|
|
208
|
+
UPB_INLINE const char* UPB_PRIVATE(upb_EpsCopyInputStream_GetInputPtr)(
|
|
209
|
+
struct upb_EpsCopyInputStream* e, const char* ptr) {
|
|
210
|
+
// This somewhat silly looking add-and-subtract behavior provides provenance
|
|
211
|
+
// from the original input buffer's pointer. After optimization it produces
|
|
212
|
+
// the same assembly as just casting `(uintptr_t)ptr+input_delta`
|
|
213
|
+
// https://godbolt.org/z/zosG88oPn
|
|
214
|
+
size_t position =
|
|
215
|
+
(uintptr_t)ptr + e->input_delta - (uintptr_t)e->buffer_start;
|
|
216
|
+
return e->buffer_start + position;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
UPB_INLINE void upb_EpsCopyInputStream_StartCapture(
|
|
220
|
+
struct upb_EpsCopyInputStream* e, const char* ptr) {
|
|
221
|
+
UPB_ASSERT(e->capture_start == NULL);
|
|
222
|
+
e->capture_start = UPB_PRIVATE(upb_EpsCopyInputStream_GetInputPtr)(e, ptr);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
UPB_INLINE bool upb_EpsCopyInputStream_EndCapture(
|
|
226
|
+
struct upb_EpsCopyInputStream* e, const char* ptr, upb_StringView* sv) {
|
|
227
|
+
UPB_ASSERT(e->capture_start != NULL);
|
|
228
|
+
if (ptr - e->end > e->limit) {
|
|
229
|
+
return UPB_PRIVATE(upb_EpsCopyInputStream_ReturnError)(e);
|
|
230
|
+
}
|
|
231
|
+
const char* end = UPB_PRIVATE(upb_EpsCopyInputStream_GetInputPtr)(e, ptr);
|
|
232
|
+
sv->data = e->capture_start;
|
|
233
|
+
sv->size = end - sv->data;
|
|
234
|
+
e->capture_start = NULL;
|
|
235
|
+
return true;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
UPB_INLINE const char* upb_EpsCopyInputStream_ReadStringAlwaysAlias(
|
|
239
|
+
struct upb_EpsCopyInputStream* e, const char* ptr, size_t size,
|
|
240
|
+
upb_StringView* sv) {
|
|
241
|
+
UPB_ASSERT(size <= PTRDIFF_MAX);
|
|
242
|
+
// The `size` must be within the input buffer. If `ptr` is in the input
|
|
243
|
+
// buffer, then using the slop bytes is fine (because they are real bytes from
|
|
244
|
+
// the tail of the input buffer). If `ptr` is in the patch buffer, then slop
|
|
245
|
+
// bytes represent bytes that do not actually exist in the original input
|
|
246
|
+
// buffer, so we must fail if the size extends into the slop bytes.
|
|
247
|
+
const char* limit =
|
|
248
|
+
e->end + (e->input_delta == 0) * kUpb_EpsCopyInputStream_SlopBytes;
|
|
249
|
+
if ((ptrdiff_t)size > limit - ptr) {
|
|
250
|
+
// For the moment, we consider this an error. In a multi-buffer world,
|
|
251
|
+
// it could be that the requested string extends into the next buffer, which
|
|
252
|
+
// is not an error and should be recoverable.
|
|
253
|
+
return UPB_PRIVATE(upb_EpsCopyInputStream_ReturnError)(e);
|
|
254
|
+
}
|
|
255
|
+
const char* input = UPB_PRIVATE(upb_EpsCopyInputStream_GetInputPtr)(e, ptr);
|
|
256
|
+
*sv = upb_StringView_FromDataAndSize(input, size);
|
|
257
|
+
return ptr + size;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
UPB_INLINE const char* upb_EpsCopyInputStream_ReadStringEphemeral(
|
|
261
|
+
struct upb_EpsCopyInputStream* e, const char* ptr, size_t size,
|
|
262
|
+
upb_StringView* sv) {
|
|
263
|
+
UPB_ASSERT(size <= PTRDIFF_MAX);
|
|
264
|
+
// Size must be within the current buffer (including slop bytes).
|
|
265
|
+
const char* limit = e->end + kUpb_EpsCopyInputStream_SlopBytes;
|
|
266
|
+
if ((ptrdiff_t)size > limit - ptr) {
|
|
267
|
+
// For the moment, we consider this an error. In a multi-buffer world,
|
|
268
|
+
// it could be that the requested string extends into the next buffer, which
|
|
269
|
+
// is not an error and should be recoverable.
|
|
270
|
+
return UPB_PRIVATE(upb_EpsCopyInputStream_ReturnError)(e);
|
|
271
|
+
}
|
|
272
|
+
*sv = upb_StringView_FromDataAndSize(ptr, size);
|
|
273
|
+
return ptr + size;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
UPB_INLINE void UPB_PRIVATE(upb_EpsCopyInputStream_CheckLimit)(
|
|
277
|
+
struct upb_EpsCopyInputStream* e) {
|
|
278
|
+
UPB_ASSERT(e->limit_ptr == e->end + UPB_MIN(0, e->limit));
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
UPB_INLINE ptrdiff_t upb_EpsCopyInputStream_PushLimit(
|
|
282
|
+
struct upb_EpsCopyInputStream* e, const char* ptr, size_t size) {
|
|
283
|
+
UPB_ASSERT(size <= PTRDIFF_MAX);
|
|
284
|
+
ptrdiff_t limit = (ptrdiff_t)size + (ptr - e->end);
|
|
285
|
+
ptrdiff_t delta = e->limit - limit;
|
|
286
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_CheckLimit)(e);
|
|
287
|
+
e->limit = limit;
|
|
288
|
+
e->limit_ptr = e->end + UPB_MIN(0, limit);
|
|
289
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_CheckLimit)(e);
|
|
290
|
+
if (UPB_UNLIKELY(delta < 0)) {
|
|
291
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_ReturnError)(e);
|
|
292
|
+
}
|
|
293
|
+
return delta;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
// Pops the last limit that was pushed on this stream. This may only be called
|
|
297
|
+
// once IsDone() returns true. The user must pass the delta that was returned
|
|
298
|
+
// from PushLimit().
|
|
299
|
+
UPB_INLINE void upb_EpsCopyInputStream_PopLimit(
|
|
300
|
+
struct upb_EpsCopyInputStream* e, const char* ptr, ptrdiff_t saved_delta) {
|
|
301
|
+
UPB_ASSERT(ptr - e->end == e->limit);
|
|
302
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_CheckLimit)(e);
|
|
303
|
+
e->limit += saved_delta;
|
|
304
|
+
e->limit_ptr = e->end + UPB_MIN(0, e->limit);
|
|
305
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_CheckLimit)(e);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
typedef const char* upb_EpsCopyInputStream_ParseDelimitedFunc(
|
|
309
|
+
struct upb_EpsCopyInputStream* e, const char* ptr, int size, void* ctx);
|
|
310
|
+
|
|
311
|
+
UPB_FORCEINLINE bool upb_EpsCopyInputStream_TryParseDelimitedFast(
|
|
312
|
+
struct upb_EpsCopyInputStream* e, const char** ptr, size_t size,
|
|
313
|
+
upb_EpsCopyInputStream_ParseDelimitedFunc* func, void* ctx) {
|
|
314
|
+
UPB_ASSERT(size <= PTRDIFF_MAX);
|
|
315
|
+
if ((ptrdiff_t)size > e->limit_ptr - *ptr) {
|
|
316
|
+
return false;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// Fast case: Sub-message is <128 bytes and fits in the current buffer.
|
|
320
|
+
// This means we can preserve limit/limit_ptr verbatim.
|
|
321
|
+
const char* saved_limit_ptr = e->limit_ptr;
|
|
322
|
+
int saved_limit = e->limit;
|
|
323
|
+
e->limit_ptr = *ptr + size;
|
|
324
|
+
e->limit = e->limit_ptr - e->end;
|
|
325
|
+
UPB_ASSERT(e->limit_ptr == e->end + UPB_MIN(0, e->limit));
|
|
326
|
+
*ptr = func(e, *ptr, size, ctx);
|
|
327
|
+
e->limit_ptr = saved_limit_ptr;
|
|
328
|
+
e->limit = saved_limit;
|
|
329
|
+
UPB_ASSERT(e->limit_ptr == e->end + UPB_MIN(0, e->limit));
|
|
330
|
+
return true;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
#ifdef __cplusplus
|
|
334
|
+
} /* extern "C" */
|
|
335
|
+
#endif
|
|
336
|
+
|
|
337
|
+
#include "upb/port/undef.inc"
|
|
338
|
+
|
|
339
|
+
#endif // UPB_WIRE_INTERNAL_EPS_COPY_INPUT_STREAM_H_
|
|
@@ -29,11 +29,16 @@ extern "C" {
|
|
|
29
29
|
#endif
|
|
30
30
|
|
|
31
31
|
UPB_PRIVATE(_upb_WireReader_LongVarint)
|
|
32
|
-
UPB_PRIVATE(
|
|
32
|
+
UPB_PRIVATE(_upb_WireReader_ReadLongVarint)(const char* ptr, uint64_t val,
|
|
33
|
+
upb_EpsCopyInputStream* stream);
|
|
33
34
|
UPB_PRIVATE(_upb_WireReader_LongVarint)
|
|
34
|
-
UPB_PRIVATE(
|
|
35
|
+
UPB_PRIVATE(_upb_WireReader_ReadLongTag)(const char* ptr, uint64_t val,
|
|
36
|
+
upb_EpsCopyInputStream* stream);
|
|
37
|
+
UPB_PRIVATE(_upb_WireReader_LongVarint)
|
|
38
|
+
UPB_PRIVATE(_upb_WireReader_ReadLongSize)(const char* ptr, uint64_t val,
|
|
39
|
+
upb_EpsCopyInputStream* stream);
|
|
35
40
|
|
|
36
|
-
UPB_FORCEINLINE const char*
|
|
41
|
+
UPB_FORCEINLINE const char* upb_WireReader_ReadVarint(
|
|
37
42
|
const char* ptr, uint64_t* val, upb_EpsCopyInputStream* stream) {
|
|
38
43
|
UPB_PRIVATE(upb_EpsCopyInputStream_ConsumeBytes)(stream, 10);
|
|
39
44
|
uint8_t byte = *ptr;
|
|
@@ -41,14 +46,13 @@ UPB_FORCEINLINE const char* UPB_PRIVATE(_upb_WireReader_ReadVarint)(
|
|
|
41
46
|
*val = byte;
|
|
42
47
|
return ptr + 1;
|
|
43
48
|
}
|
|
44
|
-
UPB_PRIVATE(_upb_WireReader_LongVarint)
|
|
45
|
-
res = UPB_PRIVATE(
|
|
46
|
-
if (UPB_UNLIKELY(!res.ptr)) return NULL;
|
|
49
|
+
UPB_PRIVATE(_upb_WireReader_LongVarint) res;
|
|
50
|
+
res = UPB_PRIVATE(_upb_WireReader_ReadLongVarint)(ptr, byte, stream);
|
|
47
51
|
*val = res.val;
|
|
48
|
-
return res.ptr;
|
|
52
|
+
return UPB_PRIVATE(upb_EpsCopyInputStream_AssumeResult)(stream, res.ptr);
|
|
49
53
|
}
|
|
50
54
|
|
|
51
|
-
UPB_FORCEINLINE const char*
|
|
55
|
+
UPB_FORCEINLINE const char* upb_WireReader_ReadTag(
|
|
52
56
|
const char* ptr, uint32_t* val, upb_EpsCopyInputStream* stream) {
|
|
53
57
|
UPB_PRIVATE(upb_EpsCopyInputStream_ConsumeBytes)(stream, 5);
|
|
54
58
|
uint8_t byte = *ptr;
|
|
@@ -56,11 +60,24 @@ UPB_FORCEINLINE const char* UPB_PRIVATE(_upb_WireReader_ReadTag)(
|
|
|
56
60
|
*val = byte;
|
|
57
61
|
return ptr + 1;
|
|
58
62
|
}
|
|
59
|
-
UPB_PRIVATE(_upb_WireReader_LongVarint)
|
|
60
|
-
res = UPB_PRIVATE(
|
|
61
|
-
|
|
63
|
+
UPB_PRIVATE(_upb_WireReader_LongVarint) res;
|
|
64
|
+
res = UPB_PRIVATE(_upb_WireReader_ReadLongTag)(ptr, byte, stream);
|
|
65
|
+
*val = res.val;
|
|
66
|
+
return UPB_PRIVATE(upb_EpsCopyInputStream_AssumeResult)(stream, res.ptr);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
UPB_FORCEINLINE const char* upb_WireReader_ReadSize(
|
|
70
|
+
const char* ptr, int* val, upb_EpsCopyInputStream* stream) {
|
|
71
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_ConsumeBytes)(stream, 5);
|
|
72
|
+
uint8_t byte = *ptr;
|
|
73
|
+
if (UPB_LIKELY((byte & 0x80) == 0)) {
|
|
74
|
+
*val = byte;
|
|
75
|
+
return ptr + 1;
|
|
76
|
+
}
|
|
77
|
+
UPB_PRIVATE(_upb_WireReader_LongVarint) res;
|
|
78
|
+
res = UPB_PRIVATE(_upb_WireReader_ReadLongSize)(ptr, byte, stream);
|
|
62
79
|
*val = res.val;
|
|
63
|
-
return res.ptr;
|
|
80
|
+
return UPB_PRIVATE(upb_EpsCopyInputStream_AssumeResult)(stream, res.ptr);
|
|
64
81
|
}
|
|
65
82
|
|
|
66
83
|
UPB_API_INLINE uint32_t upb_WireReader_GetFieldNumber(uint32_t tag) {
|
|
@@ -17,51 +17,64 @@
|
|
|
17
17
|
#include "upb/port/def.inc"
|
|
18
18
|
|
|
19
19
|
UPB_NOINLINE UPB_PRIVATE(_upb_WireReader_LongVarint)
|
|
20
|
-
UPB_PRIVATE(
|
|
21
|
-
|
|
22
|
-
UPB_PRIVATE(_upb_WireReader_LongVarint) ret = {NULL, 0};
|
|
23
|
-
uint64_t byte;
|
|
20
|
+
UPB_PRIVATE(_upb_WireReader_ReadLongVarint)(
|
|
21
|
+
const char* ptr, uint64_t val, upb_EpsCopyInputStream* stream) {
|
|
24
22
|
for (int i = 1; i < 10; i++) {
|
|
25
|
-
byte = (uint8_t)ptr[i];
|
|
23
|
+
uint64_t byte = (uint8_t)ptr[i];
|
|
26
24
|
val += (byte - 1) << (i * 7);
|
|
27
25
|
if (!(byte & 0x80)) {
|
|
28
|
-
|
|
29
|
-
ret.val = val;
|
|
30
|
-
return ret;
|
|
26
|
+
return (UPB_PRIVATE(_upb_WireReader_LongVarint)){ptr + i + 1, val};
|
|
31
27
|
}
|
|
32
28
|
}
|
|
33
|
-
return
|
|
29
|
+
return (UPB_PRIVATE(_upb_WireReader_LongVarint)){
|
|
30
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_ReturnError)(stream), 0};
|
|
34
31
|
}
|
|
35
32
|
|
|
36
33
|
UPB_NOINLINE UPB_PRIVATE(_upb_WireReader_LongVarint)
|
|
37
|
-
UPB_PRIVATE(
|
|
38
|
-
|
|
39
|
-
UPB_PRIVATE(_upb_WireReader_LongVarint) ret = {NULL, 0};
|
|
40
|
-
uint64_t byte;
|
|
34
|
+
UPB_PRIVATE(_upb_WireReader_ReadLongTag)(const char* ptr, uint64_t val,
|
|
35
|
+
upb_EpsCopyInputStream* stream) {
|
|
41
36
|
for (int i = 1; i < 5; i++) {
|
|
42
|
-
byte = (uint8_t)ptr[i];
|
|
37
|
+
uint64_t byte = (uint8_t)ptr[i];
|
|
43
38
|
val += (byte - 1) << (i * 7);
|
|
44
39
|
if (!(byte & 0x80)) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return ret;
|
|
40
|
+
if (val > UINT32_MAX) break;
|
|
41
|
+
return (UPB_PRIVATE(_upb_WireReader_LongVarint)){ptr + i + 1, val};
|
|
48
42
|
}
|
|
49
43
|
}
|
|
50
|
-
return
|
|
44
|
+
return (UPB_PRIVATE(_upb_WireReader_LongVarint)){
|
|
45
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_ReturnError)(stream), 0};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
UPB_NOINLINE UPB_PRIVATE(_upb_WireReader_LongVarint)
|
|
49
|
+
UPB_PRIVATE(_upb_WireReader_ReadLongSize)(const char* ptr, uint64_t val,
|
|
50
|
+
upb_EpsCopyInputStream* stream) {
|
|
51
|
+
for (int i = 1; i < 5; i++) {
|
|
52
|
+
uint64_t byte = (uint8_t)ptr[i];
|
|
53
|
+
val += (byte - 1) << (i * 7);
|
|
54
|
+
if (!(byte & 0x80)) {
|
|
55
|
+
if (val > INT32_MAX) break;
|
|
56
|
+
return (UPB_PRIVATE(_upb_WireReader_LongVarint)){ptr + i + 1, val};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return (UPB_PRIVATE(_upb_WireReader_LongVarint)){
|
|
60
|
+
UPB_PRIVATE(upb_EpsCopyInputStream_ReturnError)(stream), 0};
|
|
51
61
|
}
|
|
52
62
|
|
|
53
63
|
const char* UPB_PRIVATE(_upb_WireReader_SkipGroup)(
|
|
54
64
|
const char* ptr, uint32_t tag, int depth_limit,
|
|
55
65
|
upb_EpsCopyInputStream* stream) {
|
|
56
|
-
if (--depth_limit
|
|
66
|
+
if (--depth_limit < 0) {
|
|
67
|
+
return UPB_PRIVATE(upb_EpsCopyInputStream_ReturnError)(stream);
|
|
68
|
+
}
|
|
57
69
|
uint32_t end_group_tag = (tag & ~7ULL) | kUpb_WireType_EndGroup;
|
|
58
70
|
while (!upb_EpsCopyInputStream_IsDone(stream, &ptr)) {
|
|
59
71
|
uint32_t tag;
|
|
60
72
|
ptr = upb_WireReader_ReadTag(ptr, &tag, stream);
|
|
61
|
-
if (!ptr)
|
|
73
|
+
if (!ptr) break;
|
|
62
74
|
if (tag == end_group_tag) return ptr;
|
|
63
75
|
ptr = _upb_WireReader_SkipValue(ptr, tag, depth_limit, stream);
|
|
64
|
-
if (!ptr)
|
|
76
|
+
if (!ptr) break;
|
|
65
77
|
}
|
|
66
|
-
|
|
78
|
+
// Encountered limit end before end group tag.
|
|
79
|
+
return UPB_PRIVATE(upb_EpsCopyInputStream_ReturnError)(stream);
|
|
67
80
|
}
|