grpc 1.81.0 → 1.82.0.pre1
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 +261 -90
- data/src/core/lib/experiments/experiments.h +136 -35
- 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_client_grpc.cc +14 -1
- data/src/core/xds/grpc/xds_client_grpc.h +1 -0
- 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
|
@@ -11,8 +11,7 @@
|
|
|
11
11
|
#include <stdint.h>
|
|
12
12
|
#include <string.h>
|
|
13
13
|
|
|
14
|
-
#include "upb/hash/
|
|
15
|
-
#include "upb/hash/str_table.h"
|
|
14
|
+
#include "upb/hash/ext_table.h"
|
|
16
15
|
#include "upb/mem/arena.h"
|
|
17
16
|
#include "upb/mini_table/extension.h"
|
|
18
17
|
#include "upb/mini_table/message.h"
|
|
@@ -20,28 +19,25 @@
|
|
|
20
19
|
// Must be last.
|
|
21
20
|
#include "upb/port/def.inc"
|
|
22
21
|
|
|
23
|
-
#define EXTREG_KEY_SIZE (sizeof(upb_MiniTable*) + sizeof(uint32_t))
|
|
24
|
-
|
|
25
22
|
struct upb_ExtensionRegistry {
|
|
23
|
+
upb_exttable exts;
|
|
26
24
|
upb_Arena* arena;
|
|
27
|
-
upb_strtable exts; // Key is upb_MiniTable* concatenated with fieldnum.
|
|
28
25
|
};
|
|
29
26
|
|
|
30
|
-
static void extreg_key(char* buf, const upb_MiniTable* l, uint32_t fieldnum) {
|
|
31
|
-
memcpy(buf, &l, sizeof(l));
|
|
32
|
-
memcpy(buf + sizeof(l), &fieldnum, sizeof(fieldnum));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
27
|
upb_ExtensionRegistry* upb_ExtensionRegistry_New(upb_Arena* arena) {
|
|
36
28
|
upb_ExtensionRegistry* r = upb_Arena_Malloc(arena, sizeof(*r));
|
|
37
29
|
if (!r) return NULL;
|
|
38
30
|
r->arena = arena;
|
|
39
|
-
if (!
|
|
31
|
+
if (!upb_exttable_init(&r->exts, 8, arena)) return NULL;
|
|
40
32
|
return r;
|
|
41
33
|
}
|
|
42
34
|
|
|
43
35
|
UPB_API upb_ExtensionRegistryStatus upb_ExtensionRegistry_Add(
|
|
44
36
|
upb_ExtensionRegistry* r, const upb_MiniTableExtension* e) {
|
|
37
|
+
UPB_STATIC_ASSERT(
|
|
38
|
+
offsetof(upb_MiniTableExtension,
|
|
39
|
+
UPB_PRIVATE(field).UPB_PRIVATE(number)) == 0,
|
|
40
|
+
"Extension must be first-member-of-struct convertable with uint32_t");
|
|
45
41
|
uint32_t fieldnum = upb_MiniTableExtension_Number(e);
|
|
46
42
|
const upb_MiniTable* extendee = upb_MiniTableExtension_Extendee(e);
|
|
47
43
|
|
|
@@ -51,15 +47,11 @@ UPB_API upb_ExtensionRegistryStatus upb_ExtensionRegistry_Add(
|
|
|
51
47
|
return kUpb_ExtensionRegistryStatus_InvalidExtension;
|
|
52
48
|
}
|
|
53
49
|
|
|
54
|
-
|
|
55
|
-
extreg_key(buf, extendee, fieldnum);
|
|
56
|
-
|
|
57
|
-
if (upb_strtable_lookup2(&r->exts, buf, EXTREG_KEY_SIZE, NULL)) {
|
|
50
|
+
if (upb_exttable_lookup(&r->exts, extendee, fieldnum) != NULL) {
|
|
58
51
|
return kUpb_ExtensionRegistryStatus_DuplicateEntry;
|
|
59
52
|
}
|
|
60
53
|
|
|
61
|
-
if (!
|
|
62
|
-
upb_value_constptr(e), r->arena)) {
|
|
54
|
+
if (!upb_exttable_insert(&r->exts, extendee, (const uint32_t*)e, r->arena)) {
|
|
63
55
|
return kUpb_ExtensionRegistryStatus_OutOfMemory;
|
|
64
56
|
}
|
|
65
57
|
return kUpb_ExtensionRegistryStatus_Ok;
|
|
@@ -80,43 +72,19 @@ failure:
|
|
|
80
72
|
// Back out the entries previously added.
|
|
81
73
|
for (end = e, e = start; e < end; e++) {
|
|
82
74
|
const upb_MiniTableExtension* ext = *e;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
upb_MiniTableExtension_Number(ext));
|
|
86
|
-
upb_strtable_remove2(&r->exts, buf, EXTREG_KEY_SIZE, NULL);
|
|
75
|
+
upb_exttable_remove(&r->exts, upb_MiniTableExtension_Extendee(ext),
|
|
76
|
+
upb_MiniTableExtension_Number(ext));
|
|
87
77
|
}
|
|
88
78
|
UPB_ASSERT(status != kUpb_ExtensionRegistryStatus_Ok);
|
|
89
79
|
return status;
|
|
90
80
|
}
|
|
91
81
|
|
|
92
|
-
#ifdef UPB_LINKARR_DECLARE
|
|
93
|
-
|
|
94
|
-
UPB_LINKARR_DECLARE(upb_AllExts, const upb_MiniTableExtension);
|
|
95
|
-
|
|
96
|
-
bool upb_ExtensionRegistry_AddAllLinkedExtensions(upb_ExtensionRegistry* r) {
|
|
97
|
-
const upb_MiniTableExtension* start = UPB_LINKARR_START(upb_AllExts);
|
|
98
|
-
const upb_MiniTableExtension* stop = UPB_LINKARR_STOP(upb_AllExts);
|
|
99
|
-
for (const upb_MiniTableExtension* p = start; p < stop; p++) {
|
|
100
|
-
// Windows can introduce zero padding, so we have to skip zeroes.
|
|
101
|
-
if (upb_MiniTableExtension_Number(p) != 0) {
|
|
102
|
-
if (upb_ExtensionRegistry_Add(r, p) != kUpb_ExtensionRegistryStatus_Ok) {
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return true;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
#endif // UPB_LINKARR_DECLARE
|
|
111
|
-
|
|
112
82
|
const upb_MiniTableExtension* upb_ExtensionRegistry_Lookup(
|
|
113
83
|
const upb_ExtensionRegistry* r, const upb_MiniTable* t, uint32_t num) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return NULL;
|
|
121
|
-
}
|
|
84
|
+
const uint32_t* v = upb_exttable_lookup(&r->exts, t, num);
|
|
85
|
+
return (const upb_MiniTableExtension*)v;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
size_t upb_ExtensionRegistry_Size(const upb_ExtensionRegistry* r) {
|
|
89
|
+
return upb_exttable_size(&r->exts);
|
|
122
90
|
}
|
|
@@ -58,12 +58,14 @@ extern "C" {
|
|
|
58
58
|
|
|
59
59
|
typedef struct upb_ExtensionRegistry upb_ExtensionRegistry;
|
|
60
60
|
|
|
61
|
+
// LINT.IfChange
|
|
61
62
|
typedef enum {
|
|
62
63
|
kUpb_ExtensionRegistryStatus_Ok = 0,
|
|
63
64
|
kUpb_ExtensionRegistryStatus_DuplicateEntry = 1,
|
|
64
65
|
kUpb_ExtensionRegistryStatus_OutOfMemory = 2,
|
|
65
66
|
kUpb_ExtensionRegistryStatus_InvalidExtension = 3,
|
|
66
67
|
} upb_ExtensionRegistryStatus;
|
|
68
|
+
// LINT.ThenChange(//depot/google3/third_party/upb/rust/sys/mini_table/extension_registry.rs)
|
|
67
69
|
|
|
68
70
|
// Creates a upb_ExtensionRegistry in the given arena.
|
|
69
71
|
// The arena must outlive any use of the extreg.
|
|
@@ -79,28 +81,14 @@ UPB_API upb_ExtensionRegistryStatus upb_ExtensionRegistry_Add(
|
|
|
79
81
|
upb_ExtensionRegistryStatus upb_ExtensionRegistry_AddArray(
|
|
80
82
|
upb_ExtensionRegistry* r, const upb_MiniTableExtension** e, size_t count);
|
|
81
83
|
|
|
82
|
-
#ifdef UPB_LINKARR_DECLARE
|
|
83
|
-
|
|
84
|
-
// Adds all extensions linked into the binary into the registry. The set of
|
|
85
|
-
// linked extensions is assembled by the linker using linker arrays. This
|
|
86
|
-
// will likely not work properly if the extensions are split across multiple
|
|
87
|
-
// shared libraries.
|
|
88
|
-
//
|
|
89
|
-
// Returns true if all extensions were added successfully, false on out of
|
|
90
|
-
// memory or if any extensions were already present.
|
|
91
|
-
//
|
|
92
|
-
// This API is currently not available on MSVC (though it *is* available on
|
|
93
|
-
// Windows using clang-cl).
|
|
94
|
-
UPB_API bool upb_ExtensionRegistry_AddAllLinkedExtensions(
|
|
95
|
-
upb_ExtensionRegistry* r);
|
|
96
|
-
|
|
97
|
-
#endif // UPB_LINKARR_DECLARE
|
|
98
|
-
|
|
99
84
|
// Looks up the extension (if any) defined for message type |t| and field
|
|
100
85
|
// number |num|. Returns the extension if found, otherwise NULL.
|
|
101
86
|
UPB_API const upb_MiniTableExtension* upb_ExtensionRegistry_Lookup(
|
|
102
87
|
const upb_ExtensionRegistry* r, const upb_MiniTable* t, uint32_t num);
|
|
103
88
|
|
|
89
|
+
// Returns the number of extensions in the registry. For testing/debugging only.
|
|
90
|
+
UPB_API size_t upb_ExtensionRegistry_Size(const upb_ExtensionRegistry* r);
|
|
91
|
+
|
|
104
92
|
#ifdef __cplusplus
|
|
105
93
|
} /* extern "C" */
|
|
106
94
|
#endif
|
|
@@ -0,0 +1,180 @@
|
|
|
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
|
+
#include "upb/mini_table/generated_registry.h"
|
|
9
|
+
|
|
10
|
+
#include <stddef.h>
|
|
11
|
+
#include <stdint.h>
|
|
12
|
+
|
|
13
|
+
#include "upb/mem/alloc.h"
|
|
14
|
+
#include "upb/mem/arena.h"
|
|
15
|
+
#include "upb/mini_table/extension.h"
|
|
16
|
+
#include "upb/mini_table/extension_registry.h"
|
|
17
|
+
#include "upb/mini_table/internal/generated_registry.h" // IWYU pragma: keep
|
|
18
|
+
#include "upb/port/atomic.h"
|
|
19
|
+
|
|
20
|
+
// Must be last.
|
|
21
|
+
#include "upb/port/def.inc"
|
|
22
|
+
|
|
23
|
+
#if UPB_TSAN
|
|
24
|
+
#include <sched.h>
|
|
25
|
+
#endif // UPB_TSAN
|
|
26
|
+
|
|
27
|
+
const UPB_PRIVATE(upb_GeneratedExtensionListEntry) *
|
|
28
|
+
UPB_PRIVATE(upb_generated_extension_list) = NULL;
|
|
29
|
+
|
|
30
|
+
typedef struct upb_GeneratedRegistry {
|
|
31
|
+
UPB_ATOMIC(upb_GeneratedRegistryRef*) ref;
|
|
32
|
+
UPB_ATOMIC(int32_t) ref_count;
|
|
33
|
+
} upb_GeneratedRegistry;
|
|
34
|
+
|
|
35
|
+
static upb_GeneratedRegistry* _upb_generated_registry(void) {
|
|
36
|
+
static upb_GeneratedRegistry r = {NULL, 0};
|
|
37
|
+
return &r;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static bool _upb_GeneratedRegistry_AddAllLinkedExtensions(
|
|
41
|
+
upb_ExtensionRegistry* r) {
|
|
42
|
+
const UPB_PRIVATE(upb_GeneratedExtensionListEntry)* entry =
|
|
43
|
+
UPB_PRIVATE(upb_generated_extension_list);
|
|
44
|
+
while (entry != NULL) {
|
|
45
|
+
const upb_MiniTableExtension** current = entry->start;
|
|
46
|
+
for (current = entry->start; current != entry->stop; ++current) {
|
|
47
|
+
const upb_MiniTableExtension* ext = *current;
|
|
48
|
+
// Sentinels and padding introduced by the linker can result in zeroed
|
|
49
|
+
// entries, so simply skip them.
|
|
50
|
+
if (*current == NULL) {
|
|
51
|
+
// MSVC introduces padding that might not be sized exactly the same as
|
|
52
|
+
// the linker array element, but it should be properly aligned, so just
|
|
53
|
+
// skipping empty elements should be safe. (If the size and align of
|
|
54
|
+
// the array elements was different, we'd have to do something more
|
|
55
|
+
// complicated).
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (upb_ExtensionRegistry_Add(r, ext) !=
|
|
60
|
+
kUpb_ExtensionRegistryStatus_Ok) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
entry = entry->next;
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Constructs a new GeneratedRegistryRef, adding all linked extensions to the
|
|
70
|
+
// registry or returning NULL on failure.
|
|
71
|
+
static upb_GeneratedRegistryRef* _upb_GeneratedRegistry_New(void) {
|
|
72
|
+
upb_Arena* arena = NULL;
|
|
73
|
+
upb_ExtensionRegistry* extreg = NULL;
|
|
74
|
+
upb_GeneratedRegistryRef* ref = upb_gmalloc(sizeof(upb_GeneratedRegistryRef));
|
|
75
|
+
if (ref == NULL) goto err;
|
|
76
|
+
arena = upb_Arena_New();
|
|
77
|
+
if (arena == NULL) goto err;
|
|
78
|
+
extreg = upb_ExtensionRegistry_New(arena);
|
|
79
|
+
if (extreg == NULL) goto err;
|
|
80
|
+
|
|
81
|
+
ref->UPB_PRIVATE(arena) = arena;
|
|
82
|
+
ref->UPB_PRIVATE(registry) = extreg;
|
|
83
|
+
|
|
84
|
+
if (!_upb_GeneratedRegistry_AddAllLinkedExtensions(extreg)) goto err;
|
|
85
|
+
|
|
86
|
+
return ref;
|
|
87
|
+
|
|
88
|
+
err:
|
|
89
|
+
if (arena != NULL) upb_Arena_Free(arena);
|
|
90
|
+
if (ref != NULL) upb_gfree(ref);
|
|
91
|
+
return NULL;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const upb_GeneratedRegistryRef* upb_GeneratedRegistry_Load(void) {
|
|
95
|
+
upb_GeneratedRegistry* registry = _upb_generated_registry();
|
|
96
|
+
|
|
97
|
+
// Loop until we successfully acquire a reference. This loop should only
|
|
98
|
+
// kick in under extremely high contention, and it should be guaranteed to
|
|
99
|
+
// succeed.
|
|
100
|
+
while (true) {
|
|
101
|
+
int32_t count = upb_Atomic_Load(®istry->ref_count, memory_order_acquire);
|
|
102
|
+
|
|
103
|
+
// Try to increment the refcount, but only if it's not zero.
|
|
104
|
+
while (count > 0) {
|
|
105
|
+
if (upb_Atomic_CompareExchangeStrong(®istry->ref_count, &count,
|
|
106
|
+
count + 1, memory_order_acquire,
|
|
107
|
+
memory_order_relaxed)) {
|
|
108
|
+
// Successfully incremented. We can now safely load and return the
|
|
109
|
+
// pointer.
|
|
110
|
+
const upb_GeneratedRegistryRef* ref =
|
|
111
|
+
upb_Atomic_Load(®istry->ref, memory_order_acquire);
|
|
112
|
+
UPB_ASSERT(ref != NULL);
|
|
113
|
+
return ref;
|
|
114
|
+
}
|
|
115
|
+
// CAS failed, `count` was updated. Loop will retry.
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// If we're here, the count was 0. Time for the slow path.
|
|
119
|
+
// Double-check that the pointer is NULL before trying to create.
|
|
120
|
+
upb_GeneratedRegistryRef* ref =
|
|
121
|
+
upb_Atomic_Load(®istry->ref, memory_order_acquire);
|
|
122
|
+
if (ref == NULL) {
|
|
123
|
+
// Pointer is NULL, try to create and publish a new registry.
|
|
124
|
+
upb_GeneratedRegistryRef* new_ref = _upb_GeneratedRegistry_New();
|
|
125
|
+
if (new_ref == NULL) return NULL; // OOM
|
|
126
|
+
|
|
127
|
+
// Try to CAS the pointer from NULL to our new_ref.
|
|
128
|
+
if (upb_Atomic_CompareExchangeStrong(®istry->ref, &ref, new_ref,
|
|
129
|
+
memory_order_release,
|
|
130
|
+
memory_order_acquire)) {
|
|
131
|
+
// We won the race. Set the ref count to 1.
|
|
132
|
+
upb_Atomic_Store(®istry->ref_count, 1, memory_order_release);
|
|
133
|
+
return new_ref;
|
|
134
|
+
} else {
|
|
135
|
+
// We lost the race. `ref` now holds the pointer from the winning
|
|
136
|
+
// thread. Clean up our unused one and loop to try again to get a
|
|
137
|
+
// reference.
|
|
138
|
+
upb_Arena_Free(new_ref->UPB_PRIVATE(arena));
|
|
139
|
+
upb_gfree(new_ref);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// If we are here, either we lost the CAS race, or the pointer was already
|
|
143
|
+
// non-NULL. In either case, we loop to the top and try to increment the
|
|
144
|
+
// refcount of the existing object.
|
|
145
|
+
|
|
146
|
+
#if UPB_TSAN
|
|
147
|
+
// Yield to give other threads a chance to increment the refcount. This is
|
|
148
|
+
// especially an issue for TSAN builds, which are prone to locking up from
|
|
149
|
+
// the thread with the upb_Atomic_Store call above getting starved.
|
|
150
|
+
sched_yield();
|
|
151
|
+
#endif // UPB_TSAN
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
void upb_GeneratedRegistry_Release(const upb_GeneratedRegistryRef* r) {
|
|
156
|
+
if (r == NULL) return;
|
|
157
|
+
|
|
158
|
+
upb_GeneratedRegistry* registry = _upb_generated_registry();
|
|
159
|
+
|
|
160
|
+
int ref_count = upb_Atomic_Sub(®istry->ref_count, 1, memory_order_acq_rel);
|
|
161
|
+
UPB_ASSERT(registry->ref_count >= 0);
|
|
162
|
+
|
|
163
|
+
// A ref_count of 1 means that we decremented the refcount to 0.
|
|
164
|
+
if (ref_count == 1) {
|
|
165
|
+
upb_GeneratedRegistryRef* ref =
|
|
166
|
+
upb_Atomic_Exchange(®istry->ref, NULL, memory_order_acq_rel);
|
|
167
|
+
if (ref != NULL) {
|
|
168
|
+
// This is the last reference and we won any potential race to store NULL,
|
|
169
|
+
// so we need to clean up.
|
|
170
|
+
upb_Arena_Free(ref->UPB_PRIVATE(arena));
|
|
171
|
+
upb_gfree(ref);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
const upb_ExtensionRegistry* upb_GeneratedRegistry_Get(
|
|
177
|
+
const upb_GeneratedRegistryRef* r) {
|
|
178
|
+
if (r == NULL) return NULL;
|
|
179
|
+
return r->UPB_PRIVATE(registry);
|
|
180
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
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_MINI_TABLE_GENERATED_REGISTRY_H_
|
|
9
|
+
#define UPB_MINI_TABLE_GENERATED_REGISTRY_H_
|
|
10
|
+
|
|
11
|
+
#include "upb/mini_table/extension_registry.h"
|
|
12
|
+
#include "upb/mini_table/internal/generated_registry.h"
|
|
13
|
+
|
|
14
|
+
// Must be last.
|
|
15
|
+
#include "upb/port/def.inc"
|
|
16
|
+
|
|
17
|
+
#ifdef __cplusplus
|
|
18
|
+
extern "C" {
|
|
19
|
+
#endif
|
|
20
|
+
|
|
21
|
+
/* Generated registry: a global singleton that gathers all extensions linked
|
|
22
|
+
* into the binary.
|
|
23
|
+
*
|
|
24
|
+
* This singleton is thread-safe and lock-free, implemented using atomics. The
|
|
25
|
+
* registry is lazily initialized the first time it is loaded. When all
|
|
26
|
+
* references are released, the registry will be destroyed. New loads
|
|
27
|
+
* afterwards will simply reload the same registry as needed.
|
|
28
|
+
*
|
|
29
|
+
* The extension minitables are registered in gencode using linker arrays. Each
|
|
30
|
+
* .proto file produces a weak, hidden, constructor function that adds all
|
|
31
|
+
* visible extensions from the array into the registry. In each binary, only
|
|
32
|
+
* one copy of the constructor will actually be preserved by the linker, and
|
|
33
|
+
* that copy will add all of the extensions for the entire binary. All of these
|
|
34
|
+
* are added to a global linked list of minitables pre-main, which are then used
|
|
35
|
+
* to construct this singleton as needed.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
typedef struct upb_GeneratedRegistryRef upb_GeneratedRegistryRef;
|
|
39
|
+
|
|
40
|
+
// Loads the generated registry, returning a reference to it. The reference
|
|
41
|
+
// must be held for the lifetime of any ExtensionRegistry obtained from it.
|
|
42
|
+
//
|
|
43
|
+
// Returns NULL on failure.
|
|
44
|
+
UPB_API const upb_GeneratedRegistryRef* upb_GeneratedRegistry_Load(void);
|
|
45
|
+
|
|
46
|
+
// Releases a reference to the generated registry. This may destroy the
|
|
47
|
+
// registry if there are no other references to it.
|
|
48
|
+
//
|
|
49
|
+
// NULL is a valid argument and is simply ignored for easier error handling in
|
|
50
|
+
// callers.
|
|
51
|
+
UPB_API void upb_GeneratedRegistry_Release(const upb_GeneratedRegistryRef* r);
|
|
52
|
+
|
|
53
|
+
// Returns the extension registry contained by a reference to the generated
|
|
54
|
+
// registry.
|
|
55
|
+
//
|
|
56
|
+
// The reference must be held for the lifetime of the registry.
|
|
57
|
+
UPB_API const upb_ExtensionRegistry* upb_GeneratedRegistry_Get(
|
|
58
|
+
const upb_GeneratedRegistryRef* r);
|
|
59
|
+
|
|
60
|
+
#ifdef __cplusplus
|
|
61
|
+
} /* extern "C" */
|
|
62
|
+
#endif
|
|
63
|
+
|
|
64
|
+
#include "upb/port/undef.inc"
|
|
65
|
+
|
|
66
|
+
#endif // UPB_MINI_TABLE_GENERATED_REGISTRY_H_
|
|
@@ -22,8 +22,8 @@ struct upb_MiniTableExtension {
|
|
|
22
22
|
// Do not move this field. We need to be able to alias pointers.
|
|
23
23
|
struct upb_MiniTableField UPB_PRIVATE(field);
|
|
24
24
|
|
|
25
|
-
const struct upb_MiniTable* UPB_PRIVATE(extendee);
|
|
26
25
|
union upb_MiniTableSub UPB_PRIVATE(sub); // NULL unless submsg or proto2 enum
|
|
26
|
+
const struct upb_MiniTable* UPB_PRIVATE(extendee);
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
#ifdef __cplusplus
|
|
@@ -64,7 +64,9 @@ upb_MiniTableExtension_GetSubEnum(const struct upb_MiniTableExtension* e) {
|
|
|
64
64
|
UPB_API_INLINE bool upb_MiniTableExtension_SetSubMessage(
|
|
65
65
|
struct upb_MiniTableExtension* e, const struct upb_MiniTable* m) {
|
|
66
66
|
if (e->UPB_PRIVATE(field).UPB_PRIVATE(descriptortype) !=
|
|
67
|
-
|
|
67
|
+
kUpb_FieldType_Message &&
|
|
68
|
+
e->UPB_PRIVATE(field).UPB_PRIVATE(descriptortype) !=
|
|
69
|
+
kUpb_FieldType_Group) {
|
|
68
70
|
return false;
|
|
69
71
|
}
|
|
70
72
|
e->UPB_PRIVATE(sub).UPB_PRIVATE(submsg) = m;
|
|
@@ -81,7 +83,7 @@ UPB_API_INLINE bool upb_MiniTableExtension_SetSubEnum(
|
|
|
81
83
|
return true;
|
|
82
84
|
}
|
|
83
85
|
|
|
84
|
-
UPB_API_INLINE const upb_MiniTableField* upb_MiniTableExtension_ToField(
|
|
86
|
+
UPB_API_INLINE const struct upb_MiniTableField* upb_MiniTableExtension_ToField(
|
|
85
87
|
const struct upb_MiniTableExtension* e) {
|
|
86
88
|
return &e->UPB_PRIVATE(field);
|
|
87
89
|
}
|
|
@@ -23,9 +23,10 @@ struct upb_MiniTableField {
|
|
|
23
23
|
uint16_t UPB_ONLYBITS(offset);
|
|
24
24
|
int16_t presence; // If >0, hasbit_index. If <0, ~oneof_index
|
|
25
25
|
|
|
26
|
-
//
|
|
26
|
+
// Offset from this upb_MiniTableField to the upb_MiniTableSubInternal
|
|
27
|
+
// for this field, in uint32_t units (so bytes/4).
|
|
27
28
|
// Will be set to `kUpb_NoSub` if `descriptortype` != MESSAGE/GROUP/ENUM
|
|
28
|
-
uint16_t UPB_PRIVATE(
|
|
29
|
+
uint16_t UPB_PRIVATE(submsg_ofs);
|
|
29
30
|
|
|
30
31
|
uint8_t UPB_PRIVATE(descriptortype);
|
|
31
32
|
|
|
@@ -34,6 +35,7 @@ struct upb_MiniTableField {
|
|
|
34
35
|
};
|
|
35
36
|
|
|
36
37
|
#define kUpb_NoSub ((uint16_t)-1)
|
|
38
|
+
#define kUpb_SubmsgOffsetBytes 4
|
|
37
39
|
|
|
38
40
|
typedef enum {
|
|
39
41
|
kUpb_FieldMode_Map = 0,
|
|
@@ -138,14 +140,14 @@ UPB_INLINE bool UPB_PRIVATE(_upb_MiniTableField_HasHasbit)(
|
|
|
138
140
|
UPB_INLINE char UPB_PRIVATE(_upb_MiniTableField_HasbitMask)(
|
|
139
141
|
const struct upb_MiniTableField* f) {
|
|
140
142
|
UPB_ASSERT(UPB_PRIVATE(_upb_MiniTableField_HasHasbit)(f));
|
|
141
|
-
const uint16_t index = f->presence;
|
|
143
|
+
const uint16_t index = (uint16_t)f->presence;
|
|
142
144
|
return (char)(1 << (index % 8));
|
|
143
145
|
}
|
|
144
146
|
|
|
145
147
|
UPB_INLINE uint16_t UPB_PRIVATE(_upb_MiniTableField_HasbitOffset)(
|
|
146
148
|
const struct upb_MiniTableField* f) {
|
|
147
149
|
UPB_ASSERT(UPB_PRIVATE(_upb_MiniTableField_HasHasbit)(f));
|
|
148
|
-
const uint16_t index = f->presence;
|
|
150
|
+
const uint16_t index = (uint16_t)f->presence;
|
|
149
151
|
return index / 8;
|
|
150
152
|
}
|
|
151
153
|
|
|
@@ -187,7 +189,7 @@ UPB_PRIVATE(_upb_MiniTableField_Offset)(const struct upb_MiniTableField* f) {
|
|
|
187
189
|
UPB_INLINE size_t UPB_PRIVATE(_upb_MiniTableField_OneofOffset)(
|
|
188
190
|
const struct upb_MiniTableField* f) {
|
|
189
191
|
UPB_ASSERT(upb_MiniTableField_IsInOneof(f));
|
|
190
|
-
return ~(ptrdiff_t)f->presence;
|
|
192
|
+
return (size_t)(~(ptrdiff_t)f->presence);
|
|
191
193
|
}
|
|
192
194
|
|
|
193
195
|
UPB_INLINE void UPB_PRIVATE(_upb_MiniTableField_CheckIsArray)(
|
|
@@ -0,0 +1,37 @@
|
|
|
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_MINI_TABLE_INTERNAL_GENERATED_EXTENSION_REGISTRY_H_
|
|
9
|
+
#define UPB_MINI_TABLE_INTERNAL_GENERATED_EXTENSION_REGISTRY_H_
|
|
10
|
+
|
|
11
|
+
#include "upb/mini_table/internal/extension.h"
|
|
12
|
+
|
|
13
|
+
// Must be last.
|
|
14
|
+
#include "upb/port/def.inc"
|
|
15
|
+
|
|
16
|
+
#ifdef __cplusplus
|
|
17
|
+
extern "C" {
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
typedef struct UPB_PRIVATE(upb_GeneratedExtensionListEntry) {
|
|
21
|
+
const struct upb_MiniTableExtension** start;
|
|
22
|
+
const struct upb_MiniTableExtension** stop;
|
|
23
|
+
const struct UPB_PRIVATE(upb_GeneratedExtensionListEntry) * next;
|
|
24
|
+
} UPB_PRIVATE(upb_GeneratedExtensionListEntry);
|
|
25
|
+
|
|
26
|
+
struct upb_GeneratedRegistryRef {
|
|
27
|
+
struct upb_Arena* UPB_PRIVATE(arena);
|
|
28
|
+
const struct upb_ExtensionRegistry* UPB_PRIVATE(registry);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
#ifdef __cplusplus
|
|
32
|
+
} /* extern "C" */
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
#include "upb/port/undef.inc"
|
|
36
|
+
|
|
37
|
+
#endif /* UPB_MINI_TABLE_INTERNAL_GENERATED_EXTENSION_REGISTRY_H_ */
|
|
@@ -14,29 +14,11 @@
|
|
|
14
14
|
// Must be last.
|
|
15
15
|
#include "upb/port/def.inc"
|
|
16
16
|
|
|
17
|
-
// A MiniTable for an empty message, used for unlinked sub-messages that are
|
|
18
|
-
// built via MiniDescriptors. Messages that use this MiniTable may possibly
|
|
19
|
-
// be linked later, in which case this MiniTable will be replaced with a real
|
|
20
|
-
// one. This pattern is known as "dynamic tree shaking", and it introduces
|
|
21
|
-
// complication because sub-messages may either be the "empty" type or the
|
|
22
|
-
// "real" type. A tagged bit indicates the difference.
|
|
23
|
-
const struct upb_MiniTable UPB_PRIVATE(_kUpb_MiniTable_Empty) = {
|
|
24
|
-
.UPB_PRIVATE(subs) = NULL,
|
|
25
|
-
.UPB_PRIVATE(fields) = NULL,
|
|
26
|
-
.UPB_PRIVATE(size) = sizeof(struct upb_Message),
|
|
27
|
-
.UPB_PRIVATE(field_count) = 0,
|
|
28
|
-
.UPB_PRIVATE(ext) = kUpb_ExtMode_NonExtendable,
|
|
29
|
-
.UPB_PRIVATE(dense_below) = 0,
|
|
30
|
-
.UPB_PRIVATE(table_mask) = -1,
|
|
31
|
-
.UPB_PRIVATE(required_count) = 0,
|
|
32
|
-
};
|
|
33
|
-
|
|
34
17
|
// A MiniTable for a statically tree shaken message. Messages that use this
|
|
35
18
|
// MiniTable are guaranteed to remain unlinked; unlike the empty message, this
|
|
36
19
|
// MiniTable is never replaced, which greatly simplifies everything, because the
|
|
37
20
|
// type of a sub-message is always known, without consulting a tagged bit.
|
|
38
21
|
const struct upb_MiniTable UPB_PRIVATE(_kUpb_MiniTable_StaticallyTreeShaken) = {
|
|
39
|
-
.UPB_PRIVATE(subs) = NULL,
|
|
40
22
|
.UPB_PRIVATE(fields) = NULL,
|
|
41
23
|
.UPB_PRIVATE(size) = sizeof(struct upb_Message),
|
|
42
24
|
.UPB_PRIVATE(field_count) = 0,
|
|
@@ -52,7 +52,6 @@ enum {
|
|
|
52
52
|
|
|
53
53
|
// LINT.IfChange(minitable_struct_definition)
|
|
54
54
|
struct upb_MiniTable {
|
|
55
|
-
const upb_MiniTableSubInternal* UPB_PRIVATE(subs);
|
|
56
55
|
const struct upb_MiniTableField* UPB_ONLYBITS(fields);
|
|
57
56
|
|
|
58
57
|
// Must be aligned to kUpb_Message_Align. Doesn't include internal members
|
|
@@ -100,12 +99,6 @@ UPB_INLINE const struct upb_MiniTable* UPB_PRIVATE(
|
|
|
100
99
|
return mt;
|
|
101
100
|
}
|
|
102
101
|
|
|
103
|
-
UPB_INLINE const struct upb_MiniTable* UPB_PRIVATE(_upb_MiniTable_Empty)(void) {
|
|
104
|
-
extern const struct upb_MiniTable UPB_PRIVATE(_kUpb_MiniTable_Empty);
|
|
105
|
-
|
|
106
|
-
return &UPB_PRIVATE(_kUpb_MiniTable_Empty);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
102
|
UPB_API_INLINE int upb_MiniTable_FieldCount(const struct upb_MiniTable* m) {
|
|
110
103
|
return m->UPB_ONLYBITS(field_count);
|
|
111
104
|
}
|
|
@@ -117,7 +110,7 @@ UPB_API_INLINE bool upb_MiniTable_IsMessageSet(const struct upb_MiniTable* m) {
|
|
|
117
110
|
UPB_API_INLINE
|
|
118
111
|
const struct upb_MiniTableField* upb_MiniTable_FindFieldByNumber(
|
|
119
112
|
const struct upb_MiniTable* m, uint32_t number) {
|
|
120
|
-
const
|
|
113
|
+
const uint32_t i = number - 1; // 0 wraps to UINT32_MAX
|
|
121
114
|
|
|
122
115
|
// Ideal case: index into dense fields
|
|
123
116
|
if (i < m->UPB_PRIVATE(dense_below)) {
|
|
@@ -135,7 +128,7 @@ const struct upb_MiniTableField* upb_MiniTable_FindFieldByNumber(
|
|
|
135
128
|
uint32_t lo = m->UPB_PRIVATE(dense_below);
|
|
136
129
|
const struct upb_MiniTableField* base = m->UPB_ONLYBITS(fields);
|
|
137
130
|
while (hi >= (int32_t)lo) {
|
|
138
|
-
uint32_t mid = (hi + lo) / 2;
|
|
131
|
+
uint32_t mid = ((uint32_t)hi + lo) / 2;
|
|
139
132
|
uint32_t num = base[mid].UPB_ONLYBITS(number);
|
|
140
133
|
// These comparison operations allow, on ARM machines, to fuse all these
|
|
141
134
|
// branches into one comparison followed by two CSELs to set the lo/hi
|
|
@@ -143,7 +136,7 @@ const struct upb_MiniTableField* upb_MiniTable_FindFieldByNumber(
|
|
|
143
136
|
// search branches are generally unpredictable (50/50 in each direction),
|
|
144
137
|
// this is a good deal. We use signed for the high, as this decrement may
|
|
145
138
|
// underflow if mid is 0.
|
|
146
|
-
int32_t hi_mid = mid - 1;
|
|
139
|
+
int32_t hi_mid = (int32_t)mid - 1;
|
|
147
140
|
uint32_t lo_mid = mid + 1;
|
|
148
141
|
if (num == number) {
|
|
149
142
|
return &base[mid];
|
|
@@ -158,58 +151,48 @@ const struct upb_MiniTableField* upb_MiniTable_FindFieldByNumber(
|
|
|
158
151
|
return NULL;
|
|
159
152
|
}
|
|
160
153
|
|
|
161
|
-
UPB_INLINE bool UPB_PRIVATE(_upb_MiniTable_IsEmpty)(
|
|
162
|
-
const struct upb_MiniTable* m) {
|
|
163
|
-
extern const struct upb_MiniTable UPB_PRIVATE(_kUpb_MiniTable_Empty);
|
|
164
|
-
|
|
165
|
-
return m == &UPB_PRIVATE(_kUpb_MiniTable_Empty);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
154
|
UPB_API_INLINE const struct upb_MiniTableField* upb_MiniTable_GetFieldByIndex(
|
|
169
155
|
const struct upb_MiniTable* m, uint32_t i) {
|
|
156
|
+
UPB_ASSERT(i < m->UPB_ONLYBITS(field_count));
|
|
170
157
|
return &m->UPB_ONLYBITS(fields)[i];
|
|
171
158
|
}
|
|
172
159
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
160
|
+
UPB_API_INLINE const struct upb_MiniTable* upb_MiniTable_GetSubMessageTable(
|
|
161
|
+
const struct upb_MiniTableField* f) {
|
|
162
|
+
UPB_ASSERT(upb_MiniTableField_CType(f) == kUpb_CType_Message);
|
|
163
|
+
upb_MiniTableSubInternal* sub =
|
|
164
|
+
UPB_PTR_AT(f, f->UPB_PRIVATE(submsg_ofs) * kUpb_SubmsgOffsetBytes,
|
|
165
|
+
upb_MiniTableSubInternal);
|
|
166
|
+
return sub->UPB_PRIVATE(submsg);
|
|
177
167
|
}
|
|
178
168
|
|
|
179
169
|
UPB_API_INLINE const struct upb_MiniTable* upb_MiniTable_SubMessage(
|
|
180
|
-
const struct
|
|
170
|
+
const struct upb_MiniTableField* f) {
|
|
181
171
|
if (upb_MiniTableField_CType(f) != kUpb_CType_Message) {
|
|
182
172
|
return NULL;
|
|
183
173
|
}
|
|
184
|
-
return
|
|
185
|
-
m, f->UPB_PRIVATE(submsg_index));
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
UPB_API_INLINE const struct upb_MiniTable* upb_MiniTable_GetSubMessageTable(
|
|
189
|
-
const struct upb_MiniTable* m, const struct upb_MiniTableField* f) {
|
|
190
|
-
UPB_ASSUME(upb_MiniTableField_CType(f) == kUpb_CType_Message);
|
|
191
|
-
const struct upb_MiniTable* ret = upb_MiniTable_SubMessage(m, f);
|
|
192
|
-
UPB_ASSUME(ret);
|
|
193
|
-
return UPB_PRIVATE(_upb_MiniTable_IsEmpty)(ret) ? NULL : ret;
|
|
174
|
+
return upb_MiniTable_GetSubMessageTable(f);
|
|
194
175
|
}
|
|
195
176
|
|
|
196
177
|
UPB_API_INLINE bool upb_MiniTable_FieldIsLinked(
|
|
197
|
-
const struct
|
|
198
|
-
return upb_MiniTable_GetSubMessageTable(
|
|
178
|
+
const struct upb_MiniTableField* f) {
|
|
179
|
+
return upb_MiniTable_GetSubMessageTable(f) != NULL;
|
|
199
180
|
}
|
|
200
181
|
|
|
201
182
|
UPB_API_INLINE const struct upb_MiniTable* upb_MiniTable_MapEntrySubMessage(
|
|
202
|
-
const struct
|
|
203
|
-
UPB_ASSERT(upb_MiniTable_FieldIsLinked(
|
|
204
|
-
UPB_ASSERT(upb_MiniTableField_IsMap(f));
|
|
205
|
-
return
|
|
183
|
+
const struct upb_MiniTableField* f) {
|
|
184
|
+
UPB_ASSERT(upb_MiniTable_FieldIsLinked(f)); // Map entries must be linked.
|
|
185
|
+
UPB_ASSERT(upb_MiniTableField_IsMap(f)); // Function precondition.
|
|
186
|
+
return upb_MiniTable_GetSubMessageTable(f);
|
|
206
187
|
}
|
|
207
188
|
|
|
208
189
|
UPB_API_INLINE const struct upb_MiniTableEnum* upb_MiniTable_GetSubEnumTable(
|
|
209
|
-
const struct
|
|
190
|
+
const struct upb_MiniTableField* f) {
|
|
210
191
|
UPB_ASSERT(upb_MiniTableField_CType(f) == kUpb_CType_Enum);
|
|
211
|
-
|
|
212
|
-
|
|
192
|
+
upb_MiniTableSubInternal* sub =
|
|
193
|
+
UPB_PTR_AT(f, f->UPB_PRIVATE(submsg_ofs) * kUpb_SubmsgOffsetBytes,
|
|
194
|
+
upb_MiniTableSubInternal);
|
|
195
|
+
return sub->UPB_PRIVATE(subenum);
|
|
213
196
|
}
|
|
214
197
|
|
|
215
198
|
UPB_API_INLINE const struct upb_MiniTableField* upb_MiniTable_MapKey(
|