grpc 1.62.3 → 1.63.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Makefile +415 -1962
- data/include/grpc/byte_buffer.h +1 -2
- data/include/grpc/census.h +1 -2
- data/include/grpc/compression.h +1 -2
- data/include/grpc/event_engine/endpoint_config.h +2 -2
- data/include/grpc/event_engine/event_engine.h +4 -2
- data/include/grpc/event_engine/extensible.h +2 -2
- data/include/grpc/event_engine/internal/memory_allocator_impl.h +1 -2
- data/include/grpc/event_engine/memory_allocator.h +1 -2
- data/include/grpc/event_engine/memory_request.h +2 -2
- data/include/grpc/event_engine/slice.h +1 -2
- data/include/grpc/event_engine/slice_buffer.h +1 -2
- data/include/grpc/grpc.h +1 -8
- data/include/grpc/grpc_audit_logging.h +1 -2
- data/include/grpc/grpc_crl_provider.h +2 -2
- data/include/grpc/grpc_cronet.h +1 -2
- data/include/grpc/grpc_posix.h +1 -2
- data/include/grpc/grpc_security.h +1 -2
- data/include/grpc/impl/call.h +1 -2
- data/include/grpc/impl/channel_arg_names.h +4 -0
- data/include/grpc/impl/grpc_types.h +1 -2
- data/include/grpc/impl/slice_type.h +2 -2
- data/include/grpc/module.modulemap +1 -0
- data/include/grpc/slice.h +1 -2
- data/include/grpc/slice_buffer.h +1 -2
- data/include/grpc/support/alloc.h +2 -2
- data/include/grpc/support/json.h +2 -2
- data/include/grpc/support/log.h +2 -2
- data/include/grpc/support/metrics.h +51 -0
- data/include/grpc/support/string_util.h +0 -1
- data/include/grpc/support/sync.h +0 -1
- data/include/grpc/support/sync_abseil.h +0 -1
- data/include/grpc/support/sync_custom.h +0 -1
- data/include/grpc/support/sync_generic.h +1 -2
- data/include/grpc/support/sync_posix.h +1 -2
- data/include/grpc/support/time.h +2 -2
- data/src/core/client_channel/client_channel_channelz.h +1 -1
- data/src/core/client_channel/client_channel_filter.cc +48 -38
- data/src/core/client_channel/client_channel_filter.h +6 -14
- data/src/core/client_channel/client_channel_internal.h +1 -1
- data/src/core/client_channel/client_channel_service_config.h +4 -3
- data/src/core/client_channel/config_selector.h +1 -1
- data/src/core/client_channel/dynamic_filters.h +1 -1
- data/src/core/client_channel/http_proxy_mapper.cc +3 -4
- data/src/core/client_channel/http_proxy_mapper.h +1 -1
- data/src/core/client_channel/retry_filter.h +1 -1
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +1 -1
- data/src/core/client_channel/retry_filter_legacy_call_data.h +9 -9
- data/src/core/client_channel/retry_service_config.h +3 -3
- data/src/core/client_channel/retry_throttle.h +3 -2
- data/src/core/client_channel/subchannel.cc +2 -2
- data/src/core/client_channel/subchannel.h +7 -7
- data/src/core/client_channel/subchannel_pool_interface.h +1 -1
- data/src/core/client_channel/subchannel_stream_client.cc +1 -5
- data/src/core/client_channel/subchannel_stream_client.h +2 -2
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +3 -49
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +0 -12
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +4 -10
- data/src/core/ext/filters/http/http_filters_plugin.cc +15 -35
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +8 -7
- data/src/core/ext/filters/http/message_compress/compression_filter.h +2 -1
- data/src/core/ext/filters/http/server/http_server_filter.cc +1 -1
- data/src/core/ext/filters/message_size/message_size_filter.cc +15 -10
- data/src/core/ext/filters/rbac/rbac_filter.cc +4 -11
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +1 -0
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +4 -9
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +38 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +27 -75
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +23 -4
- data/src/core/ext/transport/chttp2/transport/context_list_entry.h +13 -10
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +28 -85
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +0 -4
- data/src/core/ext/transport/chttp2/transport/internal.h +4 -2
- data/src/core/ext/transport/chttp2/transport/parsing.cc +5 -10
- data/src/core/ext/transport/chttp2/transport/writing.cc +34 -31
- data/src/core/ext/transport/inproc/inproc_transport.cc +6 -4
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +9 -8
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +243 -230
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +42 -48
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +289 -265
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +62 -70
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +238 -226
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +42 -50
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +937 -882
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +182 -208
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +77 -76
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +86 -84
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +13 -13
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +49 -42
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +13 -13
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +28 -24
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +28 -24
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +357 -318
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +86 -86
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +23 -20
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +5 -7
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +40 -32
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +24 -20
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +517 -473
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +105 -125
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +1207 -1108
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +261 -289
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +163 -152
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +29 -43
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +1265 -1137
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +276 -346
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +32 -28
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +7 -9
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +212 -188
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +53 -69
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +564 -508
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +123 -131
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +340 -309
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +69 -83
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +25 -22
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +5 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +786 -688
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +171 -189
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +367 -343
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +72 -80
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +19 -16
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +23 -20
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +5 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +77 -76
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +539 -471
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +125 -141
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +672 -632
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +137 -137
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +44 -43
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +35 -30
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +713 -637
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +166 -208
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +65 -61
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +10 -12
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +65 -61
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +11 -13
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +91 -83
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +17 -17
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +102 -93
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +22 -22
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +25 -22
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +5 -11
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +162 -145
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +32 -40
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +314 -287
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +70 -74
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +330 -309
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +66 -66
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +16 -14
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +3 -7
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +516 -478
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +110 -120
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +495 -468
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +89 -101
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +88 -78
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +19 -37
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +41 -36
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +8 -26
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +46 -40
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +13 -13
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +307 -279
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +60 -64
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +382 -358
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +70 -70
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +540 -490
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +122 -136
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +339 -327
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +48 -70
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +3407 -3145
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +700 -752
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +100 -91
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +20 -20
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +472 -430
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +102 -116
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +28 -24
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +23 -20
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +5 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +42 -36
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +9 -13
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +58 -55
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +9 -13
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +146 -136
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +30 -30
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +69 -65
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +15 -15
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +16 -14
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +3 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +67 -58
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +14 -24
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +64 -56
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +14 -20
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +58 -50
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +986 -832
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +269 -281
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +35 -35
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +102 -88
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +25 -25
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +224 -204
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +46 -62
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +66 -58
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +14 -24
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +160 -153
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +28 -30
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +51 -44
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +12 -12
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1349 -1230
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +293 -309
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +16 -14
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +3 -7
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +61 -54
- 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 +13 -23
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +124 -108
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +29 -37
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +14 -12
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +66 -58
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +20 -20
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +16 -14
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +3 -7
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +518 -493
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +82 -108
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +92 -80
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +23 -29
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +497 -457
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +110 -124
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +58 -55
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +9 -11
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +206 -185
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +48 -64
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +7 -6
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +766 -710
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +140 -150
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +102 -98
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +17 -17
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +310 -288
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +67 -67
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +30 -26
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +77 -71
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +13 -13
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +26 -22
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +70 -60
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +15 -15
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +77 -71
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +14 -14
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +44 -43
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +28 -24
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +19 -16
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +65 -56
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +15 -19
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +14 -12
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +97 -89
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +18 -18
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +63 -59
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +10 -10
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +134 -121
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +29 -29
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +135 -121
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +26 -26
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +141 -122
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +37 -37
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +49 -42
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +11 -11
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +14 -12
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +35 -30
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +63 -54
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +15 -15
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +58 -50
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +14 -14
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +28 -24
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +32 -28
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +7 -9
- data/src/core/ext/upb-gen/google/api/annotations.upb.h +10 -8
- data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +581 -524
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +118 -146
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +616 -544
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +136 -152
- data/src/core/ext/upb-gen/google/api/http.upb.h +176 -162
- data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +34 -34
- data/src/core/ext/upb-gen/google/api/httpbody.upb.h +49 -47
- data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/google/protobuf/any.upb.h +21 -18
- data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +5 -5
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +2456 -2358
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +367 -486
- data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +21 -18
- data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +5 -5
- data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +7 -6
- data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +134 -116
- data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +27 -29
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +21 -18
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +5 -5
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +126 -108
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +27 -27
- data/src/core/ext/upb-gen/google/rpc/status.upb.h +49 -47
- data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +107 -92
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +27 -27
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +77 -61
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +21 -21
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +577 -518
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +121 -127
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +46 -40
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +10 -16
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +28 -24
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +265 -238
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +57 -63
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +96 -82
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +19 -19
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +496 -466
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +81 -85
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +99 -82
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +31 -26
- data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +10 -8
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +31 -26
- data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +24 -20
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/validate/validate.upb.h +2620 -2458
- data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +363 -507
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +99 -82
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +31 -26
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +10 -8
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +93 -78
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +17 -17
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +24 -20
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +14 -12
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +23 -20
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +5 -7
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +58 -50
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +15 -15
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +33 -23
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +23 -20
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +5 -7
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +32 -28
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +103 -93
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +21 -21
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +37 -32
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +9 -13
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +127 -93
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +34 -34
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +44 -43
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +23 -20
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +79 -78
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +9 -11
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +7 -6
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +86 -84
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +13 -13
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +324 -285
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +74 -82
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +237 -234
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +30 -36
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +33 -28
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +97 -89
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +18 -18
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +53 -46
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +12 -18
- data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +63 -54
- data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +15 -15
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +23 -20
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +5 -7
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +385 -384
- data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +2 -5
- data/src/core/ext/xds/certificate_provider_store.h +3 -2
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
- data/src/core/ext/xds/xds_api.h +1 -1
- data/src/core/ext/xds/xds_audit_logger_registry.cc +2 -1
- data/src/core/ext/xds/xds_audit_logger_registry.h +1 -1
- data/src/core/ext/xds/xds_bootstrap.h +2 -4
- data/src/core/ext/xds/xds_bootstrap_grpc.cc +38 -6
- data/src/core/ext/xds/xds_bootstrap_grpc.h +22 -7
- data/src/core/ext/xds/xds_certificate_provider.cc +2 -2
- data/src/core/ext/xds/xds_certificate_provider.h +1 -1
- data/src/core/ext/xds/xds_channel_stack_modifier.h +2 -1
- data/src/core/ext/xds/xds_client.cc +283 -103
- data/src/core/ext/xds/xds_client.h +41 -8
- data/src/core/ext/xds/xds_client_grpc.cc +184 -55
- data/src/core/ext/xds/xds_client_grpc.h +22 -8
- data/src/core/ext/xds/xds_client_stats.cc +2 -2
- data/src/core/ext/xds/xds_client_stats.h +14 -7
- data/src/core/ext/xds/xds_cluster.cc +9 -9
- data/src/core/ext/xds/xds_cluster.h +5 -2
- data/src/core/ext/xds/xds_cluster_specifier_plugin.h +2 -2
- data/src/core/ext/xds/xds_endpoint.cc +3 -2
- data/src/core/ext/xds/xds_endpoint.h +2 -2
- data/src/core/ext/xds/xds_health_status.h +2 -2
- data/src/core/ext/xds/xds_http_fault_filter.h +1 -1
- data/src/core/ext/xds/xds_http_filters.h +2 -2
- data/src/core/ext/xds/xds_http_rbac_filter.h +1 -1
- data/src/core/ext/xds/xds_http_stateful_session_filter.h +1 -1
- data/src/core/ext/xds/xds_lb_policy_registry.cc +5 -5
- data/src/core/ext/xds/xds_lb_policy_registry.h +1 -1
- data/src/core/ext/xds/xds_listener.h +1 -1
- data/src/core/ext/xds/xds_metrics.h +39 -0
- data/src/core/ext/xds/xds_route_config.h +1 -1
- data/src/core/ext/xds/xds_routing.h +1 -1
- data/src/core/ext/xds/xds_server_config_fetcher.cc +20 -19
- data/src/core/ext/xds/xds_transport_grpc.cc +17 -32
- data/src/core/ext/xds/xds_transport_grpc.h +6 -6
- data/src/core/lib/address_utils/parse_address.cc +8 -1
- data/src/core/lib/address_utils/sockaddr_utils.cc +8 -1
- data/src/core/lib/channel/call_finalization.h +1 -1
- data/src/core/lib/channel/call_tracer.cc +3 -4
- data/src/core/lib/channel/call_tracer.h +14 -12
- data/src/core/lib/channel/channel_stack.cc +9 -0
- data/src/core/lib/channel/channel_stack.h +5 -0
- data/src/core/lib/channel/channel_stack_builder_impl.cc +140 -0
- data/src/core/lib/channel/channelz.h +9 -6
- data/src/core/lib/channel/channelz_registry.h +1 -1
- data/src/core/lib/channel/connected_channel.cc +5 -8
- data/src/core/lib/channel/metrics.cc +396 -0
- data/src/core/lib/channel/metrics.h +406 -0
- data/src/core/lib/channel/promise_based_filter.h +63 -7
- data/src/core/lib/channel/server_call_tracer_filter.cc +2 -0
- data/src/core/lib/{surface/builtins.h → channel/server_call_tracer_filter.h} +7 -5
- data/src/core/lib/channel/tcp_tracer.h +4 -0
- data/src/core/lib/compression/compression_internal.cc +33 -0
- data/src/core/lib/compression/compression_internal.h +3 -0
- data/src/core/lib/config/config_vars.cc +6 -4
- data/src/core/lib/config/config_vars.h +4 -0
- data/src/core/lib/debug/stats_data.cc +269 -26
- data/src/core/lib/debug/stats_data.h +176 -0
- data/src/core/lib/event_engine/default_event_engine.h +0 -6
- data/src/core/lib/event_engine/event_engine_context.h +31 -0
- data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +65 -0
- data/src/core/lib/event_engine/posix.h +8 -0
- 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 +1 -0
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +7 -0
- data/src/core/lib/event_engine/tcp_socket_utils.cc +8 -1
- data/src/core/lib/event_engine/tcp_socket_utils.h +2 -2
- data/src/core/lib/event_engine/windows/win_socket.cc +4 -0
- data/src/core/lib/event_engine/windows/win_socket.h +3 -0
- data/src/core/lib/event_engine/windows/windows_engine.cc +41 -8
- data/src/core/lib/event_engine/windows/windows_listener.cc +54 -6
- data/src/core/lib/event_engine/windows/windows_listener.h +14 -0
- data/src/core/lib/experiments/config.cc +63 -45
- data/src/core/lib/experiments/experiments.cc +19 -238
- data/src/core/lib/experiments/experiments.h +4 -119
- data/src/core/lib/gpr/android/log.cc +1 -1
- data/src/core/lib/gpr/linux/log.cc +1 -1
- data/src/core/lib/gpr/log.cc +26 -0
- data/src/core/lib/gpr/posix/log.cc +1 -1
- data/src/core/lib/gpr/posix/time.cc +0 -60
- data/src/core/lib/gpr/windows/log.cc +1 -1
- data/src/core/lib/gprpp/down_cast.h +4 -4
- data/src/core/lib/gprpp/dual_ref_counted.h +17 -9
- data/src/core/lib/gprpp/load_file.cc +3 -1
- data/src/core/lib/gprpp/orphanable.h +5 -2
- data/src/core/lib/gprpp/ref_counted.h +5 -2
- data/src/core/lib/gprpp/ref_counted_ptr.h +2 -1
- data/src/core/lib/gprpp/time.h +6 -0
- data/src/core/lib/gprpp/uuid_v4.cc +37 -0
- data/src/core/lib/gprpp/uuid_v4.h +36 -0
- data/src/core/lib/iomgr/port.h +3 -0
- data/src/core/lib/iomgr/tcp_client_windows.cc +24 -5
- data/src/core/lib/iomgr/tcp_posix.cc +47 -0
- data/src/core/lib/iomgr/tcp_server_posix.cc +101 -87
- data/src/core/lib/iomgr/tcp_server_windows.cc +60 -9
- data/src/core/lib/iomgr/unix_sockets_posix.cc +13 -0
- data/src/core/lib/promise/activity.h +1 -0
- data/src/core/lib/promise/context.h +2 -2
- data/src/core/lib/promise/party.cc +33 -3
- data/src/core/lib/promise/party.h +12 -14
- data/src/core/lib/promise/sleep.cc +1 -1
- data/src/core/lib/promise/status_flag.h +8 -0
- data/src/core/lib/resource_quota/arena.h +3 -0
- data/src/core/lib/resource_quota/connection_quota.cc +71 -0
- data/src/core/lib/resource_quota/connection_quota.h +61 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +6 -5
- data/src/core/lib/security/authorization/evaluate_args.h +3 -3
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +4 -7
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -2
- data/src/core/lib/security/credentials/jwt/json_token.cc +8 -4
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +11 -16
- data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +17 -10
- data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +7 -3
- data/src/core/lib/security/security_connector/load_system_roots.h +3 -0
- data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +3 -2
- data/src/core/lib/security/security_connector/load_system_roots_windows.cc +87 -0
- data/src/core/lib/security/transport/auth_filters.h +0 -25
- data/src/core/lib/security/transport/security_handshaker.cc +18 -9
- data/src/core/lib/security/transport/security_handshaker.h +4 -2
- data/src/core/lib/slice/slice.cc +31 -5
- data/src/core/lib/slice/slice_buffer.cc +49 -11
- data/src/core/lib/slice/slice_buffer.h +14 -1
- data/src/core/lib/slice/slice_internal.h +7 -0
- data/src/core/lib/surface/call.cc +50 -55
- data/src/core/lib/surface/call.h +3 -3
- data/src/core/lib/surface/call_trace.h +0 -6
- data/src/core/lib/surface/channel.cc +104 -315
- data/src/core/lib/surface/channel.h +88 -107
- data/src/core/lib/surface/channel_create.cc +109 -0
- data/src/core/lib/surface/{builtins.cc → channel_create.h} +20 -15
- data/src/core/lib/surface/channel_init.cc +7 -6
- data/src/core/lib/surface/channel_init.h +18 -2
- data/src/core/lib/surface/init.cc +9 -14
- data/src/core/lib/surface/lame_client.cc +3 -28
- data/src/core/lib/surface/lame_client.h +7 -2
- data/src/core/lib/surface/legacy_channel.cc +414 -0
- data/src/core/lib/surface/legacy_channel.h +124 -0
- data/src/core/lib/surface/server.cc +20 -35
- data/src/core/lib/surface/server.h +10 -6
- data/src/core/lib/surface/server_interface.h +43 -0
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/batch_builder.cc +7 -16
- data/src/core/lib/transport/batch_builder.h +4 -6
- data/src/core/lib/transport/call_filters.cc +119 -19
- data/src/core/lib/transport/call_filters.h +339 -40
- data/src/core/lib/transport/call_spine.h +8 -3
- data/src/core/lib/transport/endpoint_info_handshaker.cc +80 -0
- data/src/core/lib/transport/endpoint_info_handshaker.h +37 -0
- data/src/core/lib/transport/handshaker_factory.h +1 -2
- data/src/core/lib/transport/metadata.cc +1 -1
- data/src/core/lib/transport/metadata_batch.cc +66 -5
- data/src/core/lib/transport/metadata_batch.h +12 -16
- data/src/core/lib/transport/metadata_info.cc +55 -0
- data/src/core/lib/transport/metadata_info.h +85 -0
- data/src/core/lib/transport/transport_op_string.cc +0 -8
- data/src/core/load_balancing/address_filtering.cc +1 -1
- data/src/core/load_balancing/address_filtering.h +1 -1
- data/src/core/{client_channel/backend_metric.cc → load_balancing/backend_metric_parser.cc} +1 -1
- data/src/core/{client_channel/backend_metric.h → load_balancing/backend_metric_parser.h} +3 -3
- data/src/core/load_balancing/child_policy_handler.cc +1 -1
- data/src/core/load_balancing/delegating_helper.h +8 -0
- data/src/core/load_balancing/endpoint_list.cc +1 -1
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +3 -1
- data/src/core/load_balancing/grpclb/grpclb.cc +39 -44
- data/src/core/load_balancing/grpclb/grpclb_client_stats.h +1 -1
- data/src/core/load_balancing/health_check_client.cc +6 -6
- data/src/core/load_balancing/health_check_client_internal.h +4 -5
- data/src/core/load_balancing/lb_policy.h +13 -4
- data/src/core/load_balancing/lb_policy_registry.h +2 -2
- data/src/core/load_balancing/oob_backend_metric.cc +6 -6
- data/src/core/load_balancing/oob_backend_metric.h +1 -1
- data/src/core/load_balancing/oob_backend_metric_internal.h +6 -6
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +29 -29
- data/src/core/load_balancing/pick_first/pick_first.cc +70 -148
- data/src/core/load_balancing/priority/priority.cc +8 -7
- data/src/core/load_balancing/ring_hash/ring_hash.cc +8 -8
- data/src/core/load_balancing/ring_hash/ring_hash.h +1 -1
- data/src/core/load_balancing/rls/rls.cc +202 -79
- data/src/core/load_balancing/rls/rls.h +26 -0
- data/src/core/load_balancing/round_robin/round_robin.cc +7 -462
- data/src/core/load_balancing/subchannel_interface.h +3 -2
- data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +1 -1
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +169 -964
- data/src/core/load_balancing/weighted_target/weighted_target.cc +13 -10
- data/src/core/load_balancing/weighted_target/weighted_target.h +28 -0
- data/src/core/load_balancing/xds/cds.cc +8 -8
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +101 -57
- data/src/core/load_balancing/xds/xds_cluster_manager.cc +6 -6
- data/src/core/load_balancing/xds/xds_override_host.cc +15 -15
- data/src/core/load_balancing/xds/xds_override_host.h +1 -1
- data/src/core/load_balancing/xds/xds_wrr_locality.cc +9 -8
- data/src/core/plugin_registry/grpc_plugin_registry.cc +20 -3
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +0 -1
- data/src/core/resolver/binder/binder_resolver.cc +9 -2
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +8 -7
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +3 -3
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +1 -1
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +2 -2
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +3 -1
- data/src/core/resolver/dns/native/dns_resolver.cc +3 -3
- data/src/core/resolver/endpoint_addresses.h +4 -4
- data/src/core/resolver/fake/fake_resolver.cc +2 -2
- data/src/core/resolver/fake/fake_resolver.h +1 -1
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +9 -4
- data/src/core/resolver/resolver_registry.h +2 -2
- data/src/core/resolver/sockaddr/sockaddr_resolver.cc +6 -6
- data/src/core/resolver/xds/xds_dependency_manager.cc +14 -9
- data/src/core/resolver/xds/xds_dependency_manager.h +5 -5
- data/src/core/resolver/xds/xds_resolver.cc +17 -16
- data/src/core/resolver/xds/xds_resolver_attributes.h +1 -1
- data/src/core/{client_channel → service_config}/service_config_channel_arg_filter.cc +1 -1
- data/src/core/service_config/service_config_parser.h +1 -1
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +6 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +1 -0
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +1 -1
- data/src/core/tsi/ssl_transport_security.cc +198 -70
- data/src/core/tsi/ssl_transport_security_utils.cc +127 -0
- data/src/core/tsi/ssl_transport_security_utils.h +27 -0
- data/src/ruby/ext/grpc/extconf.rb +0 -3
- data/src/ruby/ext/grpc/rb_grpc.c +1 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +0 -2
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +0 -3
- data/src/ruby/lib/grpc/generic/active_call.rb +8 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/generic/rpc_server_spec.rb +25 -0
- data/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc +320 -0
- data/third_party/abseil-cpp/absl/debugging/internal/examine_stack.h +64 -0
- data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +93 -0
- data/third_party/abseil-cpp/absl/log/globals.cc +178 -0
- data/third_party/abseil-cpp/absl/log/globals.h +218 -0
- data/third_party/abseil-cpp/absl/log/internal/append_truncated.h +47 -0
- data/third_party/abseil-cpp/absl/log/internal/conditions.cc +83 -0
- data/third_party/abseil-cpp/absl/log/internal/conditions.h +239 -0
- data/third_party/abseil-cpp/absl/log/internal/config.h +45 -0
- data/third_party/abseil-cpp/absl/log/internal/fnmatch.cc +73 -0
- data/third_party/abseil-cpp/absl/log/internal/fnmatch.h +35 -0
- data/third_party/abseil-cpp/absl/log/internal/globals.cc +145 -0
- data/third_party/abseil-cpp/absl/log/internal/globals.h +101 -0
- data/third_party/abseil-cpp/absl/log/internal/log_format.cc +205 -0
- data/third_party/abseil-cpp/absl/log/internal/log_format.h +78 -0
- data/third_party/abseil-cpp/absl/log/internal/log_impl.h +282 -0
- data/third_party/abseil-cpp/absl/log/internal/log_message.cc +633 -0
- data/third_party/abseil-cpp/absl/log/internal/log_message.h +375 -0
- data/third_party/abseil-cpp/absl/log/internal/log_sink_set.cc +296 -0
- data/third_party/abseil-cpp/absl/log/internal/log_sink_set.h +54 -0
- data/third_party/abseil-cpp/absl/log/internal/nullguard.cc +35 -0
- data/third_party/abseil-cpp/absl/log/internal/nullguard.h +88 -0
- data/third_party/abseil-cpp/absl/log/internal/nullstream.h +136 -0
- data/third_party/abseil-cpp/absl/log/internal/proto.cc +220 -0
- data/third_party/abseil-cpp/absl/log/internal/proto.h +288 -0
- data/third_party/abseil-cpp/absl/log/internal/strip.h +72 -0
- data/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +340 -0
- data/third_party/abseil-cpp/absl/log/internal/vlog_config.h +163 -0
- data/third_party/abseil-cpp/absl/log/internal/voidify.h +44 -0
- data/third_party/abseil-cpp/absl/log/log.h +361 -0
- data/third_party/abseil-cpp/absl/log/log_entry.cc +41 -0
- data/third_party/abseil-cpp/absl/log/log_entry.h +221 -0
- data/third_party/abseil-cpp/absl/log/log_sink.cc +23 -0
- data/third_party/abseil-cpp/absl/log/log_sink.h +64 -0
- data/third_party/abseil-cpp/absl/log/log_sink_registry.h +61 -0
- data/third_party/abseil-cpp/absl/log/vlog_is_on.h +72 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +1 -7
- data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +50 -39
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c +15 -28
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/des/des.c +45 -32
- data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +24 -0
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +12 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.c +40 -61
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +24 -7
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +36 -59
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +13 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +10 -10
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +3 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/pki/certificate.h +83 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pki/signature_verify_cache.h +41 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +6 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +19 -10
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +14 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +16 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +196 -141
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +8 -1
- data/third_party/upb/upb/base/descriptor_constants.h +29 -2
- data/third_party/upb/upb/{wire/internal/swap.h → base/internal/endian.h} +12 -11
- data/third_party/upb/upb/base/status.h +1 -1
- data/third_party/upb/upb/base/status.hpp +5 -1
- data/third_party/upb/upb/base/string_view.h +7 -5
- data/third_party/upb/upb/base/upcast.h +29 -0
- data/third_party/upb/upb/generated_code_support.h +2 -1
- data/third_party/upb/upb/json/decode.c +103 -53
- data/third_party/upb/upb/json/decode.h +3 -26
- data/third_party/upb/upb/json/encode.c +3 -26
- data/third_party/upb/upb/json/encode.h +3 -26
- data/third_party/upb/upb/mem/arena.c +233 -106
- data/third_party/upb/upb/mem/arena.h +14 -66
- data/third_party/upb/upb/mem/arena.hpp +8 -4
- data/third_party/upb/upb/mem/internal/arena.h +76 -58
- data/third_party/upb/upb/message/accessors.c +19 -46
- data/third_party/upb/upb/message/accessors.h +208 -123
- data/third_party/upb/upb/message/array.c +55 -83
- data/third_party/upb/upb/message/array.h +18 -30
- data/third_party/upb/upb/message/compat.c +39 -0
- data/third_party/upb/upb/message/compat.h +41 -0
- data/third_party/upb/upb/message/copy.c +322 -0
- data/third_party/upb/upb/message/copy.h +56 -0
- data/third_party/upb/upb/message/internal/accessors.h +178 -178
- data/third_party/upb/upb/message/internal/array.h +80 -81
- data/third_party/upb/upb/message/internal/extension.c +63 -0
- data/third_party/upb/upb/message/internal/extension.h +12 -12
- data/third_party/upb/upb/message/internal/map.h +28 -41
- data/third_party/upb/upb/message/internal/map_entry.h +14 -39
- data/third_party/upb/upb/message/internal/map_sorter.h +18 -37
- data/third_party/upb/upb/message/internal/message.c +59 -0
- data/third_party/upb/upb/message/internal/message.h +26 -42
- data/third_party/upb/upb/message/internal/tagged_ptr.h +56 -0
- data/third_party/upb/upb/message/internal/types.h +7 -12
- data/third_party/upb/upb/message/map.c +3 -26
- data/third_party/upb/upb/message/map.h +5 -33
- data/third_party/upb/upb/message/map_gencode_util.h +3 -26
- data/third_party/upb/upb/message/map_sorter.c +22 -34
- data/third_party/upb/upb/message/message.c +28 -104
- data/third_party/upb/upb/message/message.h +4 -8
- data/third_party/upb/upb/message/tagged_ptr.h +14 -31
- data/third_party/upb/upb/message/value.h +3 -5
- data/third_party/upb/upb/mini_descriptor/build_enum.c +20 -11
- data/third_party/upb/upb/mini_descriptor/decode.c +127 -107
- data/third_party/upb/upb/mini_descriptor/decode.h +3 -8
- data/third_party/upb/upb/mini_descriptor/link.c +34 -22
- data/third_party/upb/upb/mini_descriptor/link.h +1 -1
- data/third_party/upb/upb/mini_table/enum.h +4 -6
- data/third_party/upb/upb/mini_table/extension.h +37 -0
- data/third_party/upb/upb/mini_table/extension_registry.c +9 -2
- data/third_party/upb/upb/mini_table/field.h +46 -60
- data/third_party/upb/upb/mini_table/file.h +44 -0
- data/third_party/upb/upb/mini_table/internal/enum.h +19 -20
- data/third_party/upb/upb/mini_table/internal/extension.h +34 -3
- data/third_party/upb/upb/mini_table/internal/field.h +136 -27
- data/third_party/upb/upb/mini_table/internal/file.h +47 -10
- data/third_party/upb/upb/mini_table/internal/message.c +17 -9
- data/third_party/upb/upb/mini_table/internal/message.h +94 -23
- data/third_party/upb/upb/mini_table/internal/size_log2.h +77 -0
- data/third_party/upb/upb/mini_table/internal/sub.h +39 -4
- data/third_party/upb/upb/mini_table/message.c +18 -19
- data/third_party/upb/upb/mini_table/message.h +29 -20
- data/third_party/upb/upb/mini_table/sub.h +40 -1
- data/third_party/upb/upb/port/def.inc +18 -0
- data/third_party/upb/upb/port/undef.inc +3 -0
- data/third_party/upb/upb/reflection/def.hpp +8 -4
- data/third_party/upb/upb/reflection/def_pool.c +81 -2
- data/third_party/upb/upb/reflection/def_pool.h +8 -0
- data/third_party/upb/upb/reflection/enum_def.c +42 -19
- data/third_party/upb/upb/reflection/enum_def.h +1 -0
- data/third_party/upb/upb/reflection/enum_value_def.c +43 -14
- data/third_party/upb/upb/reflection/enum_value_def.h +2 -0
- data/third_party/upb/upb/reflection/extension_range.c +13 -5
- data/third_party/upb/upb/reflection/extension_range.h +2 -0
- data/third_party/upb/upb/reflection/field_def.c +177 -130
- data/third_party/upb/upb/reflection/field_def.h +10 -1
- data/third_party/upb/upb/reflection/file_def.c +98 -9
- data/third_party/upb/upb/reflection/file_def.h +3 -0
- data/third_party/upb/upb/reflection/internal/def_builder.c +85 -7
- data/third_party/upb/upb/reflection/internal/def_builder.h +23 -0
- data/third_party/upb/upb/reflection/internal/enum_def.h +5 -4
- data/third_party/upb/upb/reflection/internal/enum_reserved_range.h +1 -1
- data/third_party/upb/upb/reflection/internal/enum_value_def.h +2 -1
- data/third_party/upb/upb/reflection/internal/extension_range.h +2 -2
- data/third_party/upb/upb/reflection/internal/field_def.h +11 -10
- data/third_party/upb/upb/reflection/internal/message_def.h +6 -3
- data/third_party/upb/upb/reflection/internal/method_def.h +5 -3
- data/third_party/upb/upb/reflection/internal/oneof_def.h +5 -3
- data/third_party/upb/upb/reflection/internal/service_def.h +5 -3
- data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +20 -0
- data/third_party/upb/upb/reflection/message.c +27 -12
- data/third_party/upb/upb/reflection/message.h +5 -5
- data/third_party/upb/upb/reflection/message_def.c +56 -27
- data/third_party/upb/upb/reflection/message_def.h +2 -0
- data/third_party/upb/upb/reflection/method_def.c +20 -9
- data/third_party/upb/upb/reflection/method_def.h +2 -0
- data/third_party/upb/upb/reflection/oneof_def.c +20 -11
- data/third_party/upb/upb/reflection/oneof_def.h +3 -1
- data/third_party/upb/upb/reflection/service_def.c +25 -13
- data/third_party/upb/upb/reflection/service_def.h +2 -0
- data/third_party/upb/upb/text/encode.c +126 -36
- data/third_party/upb/upb/wire/decode.c +214 -196
- data/third_party/upb/upb/wire/decode.h +10 -0
- data/third_party/upb/upb/wire/encode.c +105 -91
- data/third_party/upb/upb/wire/encode.h +4 -3
- data/third_party/upb/upb/wire/{decode_fast.c → internal/decode_fast.c} +53 -48
- data/third_party/upb/upb/wire/{decode_fast.h → internal/decode_fast.h} +6 -5
- data/third_party/upb/upb/wire/internal/{decode.h → decoder.h} +15 -31
- data/third_party/upb/upb/wire/internal/reader.h +61 -0
- data/third_party/upb/upb/wire/reader.c +9 -6
- data/third_party/upb/upb/wire/reader.h +18 -47
- data/third_party/utf8_range/utf8_range.c +467 -0
- data/third_party/utf8_range/utf8_range.h +9 -8
- metadata +83 -30
- data/src/core/client_channel/channel_connectivity.cc +0 -265
- data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +0 -318
- data/src/core/ext/filters/channel_idle/channel_idle_filter.h +0 -150
- data/src/core/ext/filters/http/message_compress/legacy_compression_filter.cc +0 -325
- data/src/core/ext/filters/http/message_compress/legacy_compression_filter.h +0 -139
- data/src/core/lib/gpr/wrap_memcpy.cc +0 -43
- data/src/core/lib/security/transport/legacy_server_auth_filter.cc +0 -244
- data/src/core/lib/slice/b64.cc +0 -239
- data/src/core/lib/slice/b64.h +0 -52
- data/src/core/lib/surface/call_trace.cc +0 -163
- data/src/core/lib/surface/channel_ping.cc +0 -69
- data/src/core/lib/transport/call_factory.cc +0 -41
- data/src/core/lib/transport/call_factory.h +0 -56
- data/src/core/load_balancing/subchannel_list.h +0 -455
- data/third_party/upb/upb/message/types.h +0 -15
- data/third_party/utf8_range/naive.c +0 -92
- data/third_party/utf8_range/range2-neon.c +0 -157
- data/third_party/utf8_range/range2-sse.c +0 -170
@@ -14,10 +14,10 @@
|
|
14
14
|
#include <string.h>
|
15
15
|
|
16
16
|
#include "upb/base/descriptor_constants.h"
|
17
|
+
#include "upb/base/internal/endian.h"
|
17
18
|
#include "upb/base/string_view.h"
|
18
19
|
#include "upb/hash/common.h"
|
19
20
|
#include "upb/mem/arena.h"
|
20
|
-
#include "upb/mem/internal/arena.h"
|
21
21
|
#include "upb/message/array.h"
|
22
22
|
#include "upb/message/internal/accessors.h"
|
23
23
|
#include "upb/message/internal/array.h"
|
@@ -25,6 +25,7 @@
|
|
25
25
|
#include "upb/message/internal/map.h"
|
26
26
|
#include "upb/message/internal/map_entry.h"
|
27
27
|
#include "upb/message/internal/message.h"
|
28
|
+
#include "upb/message/internal/tagged_ptr.h"
|
28
29
|
#include "upb/message/map.h"
|
29
30
|
#include "upb/message/message.h"
|
30
31
|
#include "upb/message/tagged_ptr.h"
|
@@ -32,17 +33,16 @@
|
|
32
33
|
#include "upb/mini_table/extension.h"
|
33
34
|
#include "upb/mini_table/extension_registry.h"
|
34
35
|
#include "upb/mini_table/field.h"
|
35
|
-
#include "upb/mini_table/internal/enum.h"
|
36
36
|
#include "upb/mini_table/internal/field.h"
|
37
37
|
#include "upb/mini_table/internal/message.h"
|
38
|
+
#include "upb/mini_table/internal/size_log2.h"
|
38
39
|
#include "upb/mini_table/message.h"
|
39
40
|
#include "upb/mini_table/sub.h"
|
40
41
|
#include "upb/port/atomic.h"
|
41
42
|
#include "upb/wire/encode.h"
|
42
43
|
#include "upb/wire/eps_copy_input_stream.h"
|
43
44
|
#include "upb/wire/internal/constants.h"
|
44
|
-
#include "upb/wire/internal/
|
45
|
-
#include "upb/wire/internal/swap.h"
|
45
|
+
#include "upb/wire/internal/decoder.h"
|
46
46
|
#include "upb/wire/reader.h"
|
47
47
|
|
48
48
|
// Must be last.
|
@@ -87,6 +87,27 @@ typedef union {
|
|
87
87
|
uint32_t size;
|
88
88
|
} wireval;
|
89
89
|
|
90
|
+
// Ideally these two functions should take the owning MiniTable pointer as a
|
91
|
+
// first argument, then we could just put them in mini_table/message.h as nice
|
92
|
+
// clean getters. But we don't have that so instead we gotta write these
|
93
|
+
// Frankenfunctions that take an array of subtables.
|
94
|
+
// TODO: Move these to mini_table/ anyway since there are other places
|
95
|
+
// that could use them.
|
96
|
+
|
97
|
+
// Returns the MiniTable corresponding to a given MiniTableField
|
98
|
+
// from an array of MiniTableSubs.
|
99
|
+
static const upb_MiniTable* _upb_MiniTableSubs_MessageByField(
|
100
|
+
const upb_MiniTableSub* subs, const upb_MiniTableField* field) {
|
101
|
+
return upb_MiniTableSub_Message(subs[field->UPB_PRIVATE(submsg_index)]);
|
102
|
+
}
|
103
|
+
|
104
|
+
// Returns the MiniTableEnum corresponding to a given MiniTableField
|
105
|
+
// from an array of MiniTableSub.
|
106
|
+
static const upb_MiniTableEnum* _upb_MiniTableSubs_EnumByField(
|
107
|
+
const upb_MiniTableSub* subs, const upb_MiniTableField* field) {
|
108
|
+
return upb_MiniTableSub_Enum(subs[field->UPB_PRIVATE(submsg_index)]);
|
109
|
+
}
|
110
|
+
|
90
111
|
static const char* _upb_Decoder_DecodeMessage(upb_Decoder* d, const char* ptr,
|
91
112
|
upb_Message* msg,
|
92
113
|
const upb_MiniTable* layout);
|
@@ -112,8 +133,10 @@ static void _upb_Decoder_VerifyUtf8(upb_Decoder* d, const char* buf, int len) {
|
|
112
133
|
}
|
113
134
|
|
114
135
|
static bool _upb_Decoder_Reserve(upb_Decoder* d, upb_Array* arr, size_t elem) {
|
115
|
-
bool need_realloc =
|
116
|
-
|
136
|
+
bool need_realloc =
|
137
|
+
arr->UPB_PRIVATE(capacity) - arr->UPB_PRIVATE(size) < elem;
|
138
|
+
if (need_realloc && !UPB_PRIVATE(_upb_Array_Realloc)(
|
139
|
+
arr, arr->UPB_PRIVATE(size) + elem, &d->arena)) {
|
117
140
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory);
|
118
141
|
}
|
119
142
|
return need_realloc;
|
@@ -189,7 +212,7 @@ static const char* upb_Decoder_DecodeSize(upb_Decoder* d, const char* ptr,
|
|
189
212
|
}
|
190
213
|
|
191
214
|
static void _upb_Decoder_MungeInt32(wireval* val) {
|
192
|
-
if (!
|
215
|
+
if (!upb_IsLittleEndian()) {
|
193
216
|
/* The next stage will memcpy(dst, &val, 4) */
|
194
217
|
val->uint32_val = val->uint64_val;
|
195
218
|
}
|
@@ -222,22 +245,23 @@ static upb_Message* _upb_Decoder_NewSubMessage(upb_Decoder* d,
|
|
222
245
|
const upb_MiniTableSub* subs,
|
223
246
|
const upb_MiniTableField* field,
|
224
247
|
upb_TaggedMessagePtr* target) {
|
225
|
-
const upb_MiniTable* subl = subs
|
248
|
+
const upb_MiniTable* subl = _upb_MiniTableSubs_MessageByField(subs, field);
|
226
249
|
UPB_ASSERT(subl);
|
227
250
|
upb_Message* msg = _upb_Message_New(subl, &d->arena);
|
228
251
|
if (!msg) _upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory);
|
229
252
|
|
230
|
-
// Extensions should not be unlinked.
|
253
|
+
// Extensions should not be unlinked. A message extension should not be
|
231
254
|
// registered until its sub-message type is available to be linked.
|
232
|
-
bool is_empty = subl
|
233
|
-
bool is_extension = field->mode & kUpb_LabelFlags_IsExtension;
|
255
|
+
bool is_empty = UPB_PRIVATE(_upb_MiniTable_IsEmpty)(subl);
|
256
|
+
bool is_extension = field->UPB_PRIVATE(mode) & kUpb_LabelFlags_IsExtension;
|
234
257
|
UPB_ASSERT(!(is_empty && is_extension));
|
235
258
|
|
236
259
|
if (is_empty && !(d->options & kUpb_DecodeOption_ExperimentalAllowUnlinked)) {
|
237
260
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_UnlinkedSubMessage);
|
238
261
|
}
|
239
262
|
|
240
|
-
upb_TaggedMessagePtr tagged =
|
263
|
+
upb_TaggedMessagePtr tagged =
|
264
|
+
UPB_PRIVATE(_upb_TaggedMessagePtr_Pack)(msg, is_empty);
|
241
265
|
memcpy(target, &tagged, sizeof(tagged));
|
242
266
|
return msg;
|
243
267
|
}
|
@@ -246,16 +270,18 @@ static upb_Message* _upb_Decoder_ReuseSubMessage(
|
|
246
270
|
upb_Decoder* d, const upb_MiniTableSub* subs,
|
247
271
|
const upb_MiniTableField* field, upb_TaggedMessagePtr* target) {
|
248
272
|
upb_TaggedMessagePtr tagged = *target;
|
249
|
-
const upb_MiniTable* subl = subs
|
273
|
+
const upb_MiniTable* subl = _upb_MiniTableSubs_MessageByField(subs, field);
|
250
274
|
UPB_ASSERT(subl);
|
251
|
-
if (!upb_TaggedMessagePtr_IsEmpty(tagged) ||
|
252
|
-
|
275
|
+
if (!upb_TaggedMessagePtr_IsEmpty(tagged) ||
|
276
|
+
UPB_PRIVATE(_upb_MiniTable_IsEmpty)(subl)) {
|
277
|
+
return UPB_PRIVATE(_upb_TaggedMessagePtr_GetMessage)(tagged);
|
253
278
|
}
|
254
279
|
|
255
280
|
// We found an empty message from a previous parse that was performed before
|
256
281
|
// this field was linked. But it is linked now, so we want to allocate a new
|
257
282
|
// message of the correct type and promote data into it before continuing.
|
258
|
-
upb_Message* existing =
|
283
|
+
upb_Message* existing =
|
284
|
+
UPB_PRIVATE(_upb_TaggedMessagePtr_GetEmptyMessage)(tagged);
|
259
285
|
upb_Message* promoted = _upb_Decoder_NewSubMessage(d, subs, field, target);
|
260
286
|
size_t size;
|
261
287
|
const char* unknown = upb_Message_GetUnknown(existing, &size);
|
@@ -297,7 +323,7 @@ static const char* _upb_Decoder_DecodeSubMessage(
|
|
297
323
|
upb_Decoder* d, const char* ptr, upb_Message* submsg,
|
298
324
|
const upb_MiniTableSub* subs, const upb_MiniTableField* field, int size) {
|
299
325
|
int saved_delta = upb_EpsCopyInputStream_PushLimit(&d->input, ptr, size);
|
300
|
-
const upb_MiniTable* subl = subs
|
326
|
+
const upb_MiniTable* subl = _upb_MiniTableSubs_MessageByField(subs, field);
|
301
327
|
UPB_ASSERT(subl);
|
302
328
|
ptr = _upb_Decoder_RecurseSubMessage(d, ptr, submsg, subl, DECODE_NOGROUP);
|
303
329
|
upb_EpsCopyInputStream_PopLimit(&d->input, ptr, saved_delta);
|
@@ -328,9 +354,10 @@ UPB_FORCEINLINE
|
|
328
354
|
static const char* _upb_Decoder_DecodeKnownGroup(
|
329
355
|
upb_Decoder* d, const char* ptr, upb_Message* submsg,
|
330
356
|
const upb_MiniTableSub* subs, const upb_MiniTableField* field) {
|
331
|
-
const upb_MiniTable* subl = subs
|
357
|
+
const upb_MiniTable* subl = _upb_MiniTableSubs_MessageByField(subs, field);
|
332
358
|
UPB_ASSERT(subl);
|
333
|
-
return _upb_Decoder_DecodeGroup(d, ptr, submsg, subl,
|
359
|
+
return _upb_Decoder_DecodeGroup(d, ptr, submsg, subl,
|
360
|
+
field->UPB_PRIVATE(number));
|
334
361
|
}
|
335
362
|
|
336
363
|
static char* upb_Decoder_EncodeVarint32(uint32_t val, char* ptr) {
|
@@ -350,39 +377,30 @@ static void _upb_Decoder_AddUnknownVarints(upb_Decoder* d, upb_Message* msg,
|
|
350
377
|
end = upb_Decoder_EncodeVarint32(val1, end);
|
351
378
|
end = upb_Decoder_EncodeVarint32(val2, end);
|
352
379
|
|
353
|
-
if (!_upb_Message_AddUnknown(msg, buf, end - buf, &d->arena)) {
|
380
|
+
if (!UPB_PRIVATE(_upb_Message_AddUnknown)(msg, buf, end - buf, &d->arena)) {
|
354
381
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory);
|
355
382
|
}
|
356
383
|
}
|
357
384
|
|
358
|
-
UPB_NOINLINE
|
359
|
-
static bool _upb_Decoder_CheckEnumSlow(upb_Decoder* d, const char* ptr,
|
360
|
-
upb_Message* msg,
|
361
|
-
const upb_MiniTableEnum* e,
|
362
|
-
const upb_MiniTableField* field,
|
363
|
-
uint32_t v) {
|
364
|
-
if (_upb_MiniTable_CheckEnumValueSlow(e, v)) return true;
|
365
|
-
|
366
|
-
// Unrecognized enum goes into unknown fields.
|
367
|
-
// For packed fields the tag could be arbitrarily far in the past, so we
|
368
|
-
// just re-encode the tag and value here.
|
369
|
-
uint32_t tag = ((uint32_t)field->number << 3) | kUpb_WireType_Varint;
|
370
|
-
upb_Message* unknown_msg =
|
371
|
-
field->mode & kUpb_LabelFlags_IsExtension ? d->unknown_msg : msg;
|
372
|
-
_upb_Decoder_AddUnknownVarints(d, unknown_msg, tag, v);
|
373
|
-
return false;
|
374
|
-
}
|
375
|
-
|
376
385
|
UPB_FORCEINLINE
|
377
386
|
static bool _upb_Decoder_CheckEnum(upb_Decoder* d, const char* ptr,
|
378
387
|
upb_Message* msg, const upb_MiniTableEnum* e,
|
379
388
|
const upb_MiniTableField* field,
|
380
389
|
wireval* val) {
|
381
|
-
uint32_t v = val->uint32_val;
|
390
|
+
const uint32_t v = val->uint32_val;
|
382
391
|
|
383
|
-
|
384
|
-
|
385
|
-
|
392
|
+
if (UPB_LIKELY(upb_MiniTableEnum_CheckValue(e, v))) return true;
|
393
|
+
|
394
|
+
// Unrecognized enum goes into unknown fields.
|
395
|
+
// For packed fields the tag could be arbitrarily far in the past,
|
396
|
+
// so we just re-encode the tag and value here.
|
397
|
+
const uint32_t tag =
|
398
|
+
((uint32_t)field->UPB_PRIVATE(number) << 3) | kUpb_WireType_Varint;
|
399
|
+
upb_Message* unknown_msg =
|
400
|
+
field->UPB_PRIVATE(mode) & kUpb_LabelFlags_IsExtension ? d->unknown_msg
|
401
|
+
: msg;
|
402
|
+
_upb_Decoder_AddUnknownVarints(d, unknown_msg, tag, v);
|
403
|
+
return false;
|
386
404
|
}
|
387
405
|
|
388
406
|
UPB_NOINLINE
|
@@ -392,10 +410,11 @@ static const char* _upb_Decoder_DecodeEnumArray(upb_Decoder* d, const char* ptr,
|
|
392
410
|
const upb_MiniTableSub* subs,
|
393
411
|
const upb_MiniTableField* field,
|
394
412
|
wireval* val) {
|
395
|
-
const upb_MiniTableEnum* e = subs
|
413
|
+
const upb_MiniTableEnum* e = _upb_MiniTableSubs_EnumByField(subs, field);
|
396
414
|
if (!_upb_Decoder_CheckEnum(d, ptr, msg, e, field, val)) return ptr;
|
397
|
-
void* mem = UPB_PTR_AT(
|
398
|
-
|
415
|
+
void* mem = UPB_PTR_AT(upb_Array_MutableDataPtr(arr),
|
416
|
+
arr->UPB_PRIVATE(size) * 4, void);
|
417
|
+
arr->UPB_PRIVATE(size)++;
|
399
418
|
memcpy(mem, val, 4);
|
400
419
|
return ptr;
|
401
420
|
}
|
@@ -411,11 +430,12 @@ static const char* _upb_Decoder_DecodeFixedPacked(
|
|
411
430
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_Malformed);
|
412
431
|
}
|
413
432
|
_upb_Decoder_Reserve(d, arr, count);
|
414
|
-
void* mem = UPB_PTR_AT(
|
415
|
-
|
433
|
+
void* mem = UPB_PTR_AT(upb_Array_MutableDataPtr(arr),
|
434
|
+
arr->UPB_PRIVATE(size) << lg2, void);
|
435
|
+
arr->UPB_PRIVATE(size) += count;
|
416
436
|
// Note: if/when the decoder supports multi-buffer input, we will need to
|
417
437
|
// handle buffer seams here.
|
418
|
-
if (
|
438
|
+
if (upb_IsLittleEndian()) {
|
419
439
|
ptr = upb_EpsCopyInputStream_Copy(&d->input, ptr, mem, val->size);
|
420
440
|
} else {
|
421
441
|
int delta = upb_EpsCopyInputStream_PushLimit(&d->input, ptr, val->size);
|
@@ -442,15 +462,17 @@ static const char* _upb_Decoder_DecodeVarintPacked(
|
|
442
462
|
const upb_MiniTableField* field, int lg2) {
|
443
463
|
int scale = 1 << lg2;
|
444
464
|
int saved_limit = upb_EpsCopyInputStream_PushLimit(&d->input, ptr, val->size);
|
445
|
-
char* out = UPB_PTR_AT(
|
465
|
+
char* out = UPB_PTR_AT(upb_Array_MutableDataPtr(arr),
|
466
|
+
arr->UPB_PRIVATE(size) << lg2, void);
|
446
467
|
while (!_upb_Decoder_IsDone(d, &ptr)) {
|
447
468
|
wireval elem;
|
448
469
|
ptr = _upb_Decoder_DecodeVarint(d, ptr, &elem.uint64_val);
|
449
470
|
_upb_Decoder_Munge(field->UPB_PRIVATE(descriptortype), &elem);
|
450
471
|
if (_upb_Decoder_Reserve(d, arr, 1)) {
|
451
|
-
out = UPB_PTR_AT(
|
472
|
+
out = UPB_PTR_AT(upb_Array_MutableDataPtr(arr),
|
473
|
+
arr->UPB_PRIVATE(size) << lg2, void);
|
452
474
|
}
|
453
|
-
arr->size++;
|
475
|
+
arr->UPB_PRIVATE(size)++;
|
454
476
|
memcpy(out, &elem, scale);
|
455
477
|
out += scale;
|
456
478
|
}
|
@@ -463,9 +485,10 @@ static const char* _upb_Decoder_DecodeEnumPacked(
|
|
463
485
|
upb_Decoder* d, const char* ptr, upb_Message* msg, upb_Array* arr,
|
464
486
|
const upb_MiniTableSub* subs, const upb_MiniTableField* field,
|
465
487
|
wireval* val) {
|
466
|
-
const upb_MiniTableEnum* e = subs
|
488
|
+
const upb_MiniTableEnum* e = _upb_MiniTableSubs_EnumByField(subs, field);
|
467
489
|
int saved_limit = upb_EpsCopyInputStream_PushLimit(&d->input, ptr, val->size);
|
468
|
-
char* out = UPB_PTR_AT(
|
490
|
+
char* out = UPB_PTR_AT(upb_Array_MutableDataPtr(arr),
|
491
|
+
arr->UPB_PRIVATE(size) * 4, void);
|
469
492
|
while (!_upb_Decoder_IsDone(d, &ptr)) {
|
470
493
|
wireval elem;
|
471
494
|
ptr = _upb_Decoder_DecodeVarint(d, ptr, &elem.uint64_val);
|
@@ -474,9 +497,10 @@ static const char* _upb_Decoder_DecodeEnumPacked(
|
|
474
497
|
continue;
|
475
498
|
}
|
476
499
|
if (_upb_Decoder_Reserve(d, arr, 1)) {
|
477
|
-
out = UPB_PTR_AT(
|
500
|
+
out = UPB_PTR_AT(upb_Array_MutableDataPtr(arr),
|
501
|
+
arr->UPB_PRIVATE(size) * 4, void);
|
478
502
|
}
|
479
|
-
arr->size++;
|
503
|
+
arr->UPB_PRIVATE(size)++;
|
480
504
|
memcpy(out, &elem, 4);
|
481
505
|
out += 4;
|
482
506
|
}
|
@@ -484,33 +508,11 @@ static const char* _upb_Decoder_DecodeEnumPacked(
|
|
484
508
|
return ptr;
|
485
509
|
}
|
486
510
|
|
487
|
-
upb_Array* _upb_Decoder_CreateArray(upb_Decoder* d,
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
[kUpb_FieldType_Double] = 3,
|
493
|
-
[kUpb_FieldType_Float] = 2,
|
494
|
-
[kUpb_FieldType_Int64] = 3,
|
495
|
-
[kUpb_FieldType_UInt64] = 3,
|
496
|
-
[kUpb_FieldType_Int32] = 2,
|
497
|
-
[kUpb_FieldType_Fixed64] = 3,
|
498
|
-
[kUpb_FieldType_Fixed32] = 2,
|
499
|
-
[kUpb_FieldType_Bool] = 0,
|
500
|
-
[kUpb_FieldType_String] = UPB_SIZE(3, 4),
|
501
|
-
[kUpb_FieldType_Group] = UPB_SIZE(2, 3),
|
502
|
-
[kUpb_FieldType_Message] = UPB_SIZE(2, 3),
|
503
|
-
[kUpb_FieldType_Bytes] = UPB_SIZE(3, 4),
|
504
|
-
[kUpb_FieldType_UInt32] = 2,
|
505
|
-
[kUpb_FieldType_Enum] = 2,
|
506
|
-
[kUpb_FieldType_SFixed32] = 2,
|
507
|
-
[kUpb_FieldType_SFixed64] = 3,
|
508
|
-
[kUpb_FieldType_SInt32] = 2,
|
509
|
-
[kUpb_FieldType_SInt64] = 3,
|
510
|
-
};
|
511
|
-
|
512
|
-
size_t lg2 = kElemSizeLg2[field->UPB_PRIVATE(descriptortype)];
|
513
|
-
upb_Array* ret = _upb_Array_New(&d->arena, 4, lg2);
|
511
|
+
static upb_Array* _upb_Decoder_CreateArray(upb_Decoder* d,
|
512
|
+
const upb_MiniTableField* field) {
|
513
|
+
const upb_FieldType field_type = field->UPB_PRIVATE(descriptortype);
|
514
|
+
const size_t lg2 = UPB_PRIVATE(_upb_FieldType_SizeLg2)(field_type);
|
515
|
+
upb_Array* ret = UPB_PRIVATE(_upb_Array_New)(&d->arena, 4, lg2);
|
514
516
|
if (!ret) _upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory);
|
515
517
|
return ret;
|
516
518
|
}
|
@@ -520,7 +522,7 @@ static const char* _upb_Decoder_DecodeToArray(upb_Decoder* d, const char* ptr,
|
|
520
522
|
const upb_MiniTableSub* subs,
|
521
523
|
const upb_MiniTableField* field,
|
522
524
|
wireval* val, int op) {
|
523
|
-
upb_Array** arrp = UPB_PTR_AT(msg, field->offset, void);
|
525
|
+
upb_Array** arrp = UPB_PTR_AT(msg, field->UPB_PRIVATE(offset), void);
|
524
526
|
upb_Array* arr = *arrp;
|
525
527
|
void* mem;
|
526
528
|
|
@@ -536,8 +538,9 @@ static const char* _upb_Decoder_DecodeToArray(upb_Decoder* d, const char* ptr,
|
|
536
538
|
case kUpb_DecodeOp_Scalar4Byte:
|
537
539
|
case kUpb_DecodeOp_Scalar8Byte:
|
538
540
|
/* Append scalar value. */
|
539
|
-
mem = UPB_PTR_AT(
|
540
|
-
|
541
|
+
mem = UPB_PTR_AT(upb_Array_MutableDataPtr(arr),
|
542
|
+
arr->UPB_PRIVATE(size) << op, void);
|
543
|
+
arr->UPB_PRIVATE(size)++;
|
541
544
|
memcpy(mem, val, 1 << op);
|
542
545
|
return ptr;
|
543
546
|
case kUpb_DecodeOp_String:
|
@@ -545,16 +548,18 @@ static const char* _upb_Decoder_DecodeToArray(upb_Decoder* d, const char* ptr,
|
|
545
548
|
/* Fallthrough. */
|
546
549
|
case kUpb_DecodeOp_Bytes: {
|
547
550
|
/* Append bytes. */
|
548
|
-
upb_StringView* str = (upb_StringView*)
|
549
|
-
|
551
|
+
upb_StringView* str = (upb_StringView*)upb_Array_MutableDataPtr(arr) +
|
552
|
+
arr->UPB_PRIVATE(size);
|
553
|
+
arr->UPB_PRIVATE(size)++;
|
550
554
|
return _upb_Decoder_ReadString(d, ptr, val->size, str);
|
551
555
|
}
|
552
556
|
case kUpb_DecodeOp_SubMessage: {
|
553
557
|
/* Append submessage / group. */
|
554
558
|
upb_TaggedMessagePtr* target = UPB_PTR_AT(
|
555
|
-
|
559
|
+
upb_Array_MutableDataPtr(arr), arr->UPB_PRIVATE(size) * sizeof(void*),
|
560
|
+
upb_TaggedMessagePtr);
|
556
561
|
upb_Message* submsg = _upb_Decoder_NewSubMessage(d, subs, field, target);
|
557
|
-
arr->size++;
|
562
|
+
arr->UPB_PRIVATE(size)++;
|
558
563
|
if (UPB_UNLIKELY(field->UPB_PRIVATE(descriptortype) ==
|
559
564
|
kUpb_FieldType_Group)) {
|
560
565
|
return _upb_Decoder_DecodeKnownGroup(d, ptr, submsg, subs, field);
|
@@ -581,10 +586,11 @@ static const char* _upb_Decoder_DecodeToArray(upb_Decoder* d, const char* ptr,
|
|
581
586
|
}
|
582
587
|
}
|
583
588
|
|
584
|
-
upb_Map* _upb_Decoder_CreateMap(upb_Decoder* d,
|
585
|
-
|
589
|
+
static upb_Map* _upb_Decoder_CreateMap(upb_Decoder* d,
|
590
|
+
const upb_MiniTable* entry) {
|
591
|
+
// Maps descriptor type -> upb map size
|
586
592
|
static const uint8_t kSizeInMap[] = {
|
587
|
-
[0] = -1, // invalid descriptor type
|
593
|
+
[0] = -1, // invalid descriptor type
|
588
594
|
[kUpb_FieldType_Double] = 8,
|
589
595
|
[kUpb_FieldType_Float] = 4,
|
590
596
|
[kUpb_FieldType_Int64] = 8,
|
@@ -605,12 +611,12 @@ upb_Map* _upb_Decoder_CreateMap(upb_Decoder* d, const upb_MiniTable* entry) {
|
|
605
611
|
[kUpb_FieldType_SInt64] = 8,
|
606
612
|
};
|
607
613
|
|
608
|
-
const upb_MiniTableField* key_field = &entry->fields[0];
|
609
|
-
const upb_MiniTableField* val_field = &entry->fields[1];
|
614
|
+
const upb_MiniTableField* key_field = &entry->UPB_PRIVATE(fields)[0];
|
615
|
+
const upb_MiniTableField* val_field = &entry->UPB_PRIVATE(fields)[1];
|
610
616
|
char key_size = kSizeInMap[key_field->UPB_PRIVATE(descriptortype)];
|
611
617
|
char val_size = kSizeInMap[val_field->UPB_PRIVATE(descriptortype)];
|
612
|
-
UPB_ASSERT(key_field->offset == offsetof(
|
613
|
-
UPB_ASSERT(val_field->offset == offsetof(
|
618
|
+
UPB_ASSERT(key_field->UPB_PRIVATE(offset) == offsetof(upb_MapEntry, k));
|
619
|
+
UPB_ASSERT(val_field->UPB_PRIVATE(offset) == offsetof(upb_MapEntry, v));
|
614
620
|
upb_Map* ret = _upb_Map_New(&d->arena, key_size, val_size);
|
615
621
|
if (!ret) _upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory);
|
616
622
|
return ret;
|
@@ -621,16 +627,16 @@ static const char* _upb_Decoder_DecodeToMap(upb_Decoder* d, const char* ptr,
|
|
621
627
|
const upb_MiniTableSub* subs,
|
622
628
|
const upb_MiniTableField* field,
|
623
629
|
wireval* val) {
|
624
|
-
upb_Map** map_p = UPB_PTR_AT(msg, field->offset, upb_Map*);
|
630
|
+
upb_Map** map_p = UPB_PTR_AT(msg, field->UPB_PRIVATE(offset), upb_Map*);
|
625
631
|
upb_Map* map = *map_p;
|
626
632
|
upb_MapEntry ent;
|
627
633
|
UPB_ASSERT(upb_MiniTableField_Type(field) == kUpb_FieldType_Message);
|
628
|
-
const upb_MiniTable* entry = subs
|
634
|
+
const upb_MiniTable* entry = _upb_MiniTableSubs_MessageByField(subs, field);
|
629
635
|
|
630
636
|
UPB_ASSERT(entry);
|
631
|
-
UPB_ASSERT(entry->field_count == 2);
|
632
|
-
UPB_ASSERT(
|
633
|
-
UPB_ASSERT(
|
637
|
+
UPB_ASSERT(entry->UPB_PRIVATE(field_count) == 2);
|
638
|
+
UPB_ASSERT(upb_MiniTableField_IsScalar(&entry->UPB_PRIVATE(fields)[0]));
|
639
|
+
UPB_ASSERT(upb_MiniTableField_IsScalar(&entry->UPB_PRIVATE(fields)[1]));
|
634
640
|
|
635
641
|
if (!map) {
|
636
642
|
map = _upb_Decoder_CreateMap(d, entry);
|
@@ -640,35 +646,38 @@ static const char* _upb_Decoder_DecodeToMap(upb_Decoder* d, const char* ptr,
|
|
640
646
|
// Parse map entry.
|
641
647
|
memset(&ent, 0, sizeof(ent));
|
642
648
|
|
643
|
-
if (entry->fields[1].UPB_PRIVATE(descriptortype) ==
|
644
|
-
|
649
|
+
if (entry->UPB_PRIVATE(fields)[1].UPB_PRIVATE(descriptortype) ==
|
650
|
+
kUpb_FieldType_Message ||
|
651
|
+
entry->UPB_PRIVATE(fields)[1].UPB_PRIVATE(descriptortype) ==
|
652
|
+
kUpb_FieldType_Group) {
|
645
653
|
// Create proactively to handle the case where it doesn't appear.
|
646
654
|
upb_TaggedMessagePtr msg;
|
647
|
-
_upb_Decoder_NewSubMessage(d, entry->subs,
|
648
|
-
|
655
|
+
_upb_Decoder_NewSubMessage(d, entry->UPB_PRIVATE(subs),
|
656
|
+
&entry->UPB_PRIVATE(fields)[1], &msg);
|
657
|
+
ent.v.val = upb_value_uintptr(msg);
|
649
658
|
}
|
650
659
|
|
651
|
-
ptr =
|
652
|
-
|
660
|
+
ptr = _upb_Decoder_DecodeSubMessage(d, ptr, &ent.message, subs, field,
|
661
|
+
val->size);
|
653
662
|
// check if ent had any unknown fields
|
654
663
|
size_t size;
|
655
|
-
upb_Message_GetUnknown(&ent.
|
664
|
+
upb_Message_GetUnknown(&ent.message, &size);
|
656
665
|
if (size != 0) {
|
657
666
|
char* buf;
|
658
667
|
size_t size;
|
659
|
-
uint32_t tag =
|
668
|
+
uint32_t tag =
|
669
|
+
((uint32_t)field->UPB_PRIVATE(number) << 3) | kUpb_WireType_Delimited;
|
660
670
|
upb_EncodeStatus status =
|
661
|
-
upb_Encode(&ent.
|
671
|
+
upb_Encode(&ent.message, entry, 0, &d->arena, &buf, &size);
|
662
672
|
if (status != kUpb_EncodeStatus_Ok) {
|
663
673
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory);
|
664
674
|
}
|
665
675
|
_upb_Decoder_AddUnknownVarints(d, msg, tag, size);
|
666
|
-
if (!_upb_Message_AddUnknown(msg, buf, size, &d->arena)) {
|
676
|
+
if (!UPB_PRIVATE(_upb_Message_AddUnknown)(msg, buf, size, &d->arena)) {
|
667
677
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory);
|
668
678
|
}
|
669
679
|
} else {
|
670
|
-
if (_upb_Map_Insert(map, &ent.
|
671
|
-
map->val_size,
|
680
|
+
if (_upb_Map_Insert(map, &ent.k, map->key_size, &ent.v, map->val_size,
|
672
681
|
&d->arena) == kUpb_MapInsertStatus_OutOfMemory) {
|
673
682
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory);
|
674
683
|
}
|
@@ -680,29 +689,30 @@ static const char* _upb_Decoder_DecodeToSubMessage(
|
|
680
689
|
upb_Decoder* d, const char* ptr, upb_Message* msg,
|
681
690
|
const upb_MiniTableSub* subs, const upb_MiniTableField* field, wireval* val,
|
682
691
|
int op) {
|
683
|
-
void* mem = UPB_PTR_AT(msg, field->offset, void);
|
692
|
+
void* mem = UPB_PTR_AT(msg, field->UPB_PRIVATE(offset), void);
|
684
693
|
int type = field->UPB_PRIVATE(descriptortype);
|
685
694
|
|
686
695
|
if (UPB_UNLIKELY(op == kUpb_DecodeOp_Enum) &&
|
687
696
|
!_upb_Decoder_CheckEnum(d, ptr, msg,
|
688
|
-
subs
|
697
|
+
_upb_MiniTableSubs_EnumByField(subs, field),
|
689
698
|
field, val)) {
|
690
699
|
return ptr;
|
691
700
|
}
|
692
701
|
|
693
|
-
|
694
|
-
if (field
|
695
|
-
|
696
|
-
} else if (field
|
697
|
-
|
698
|
-
uint32_t* oneof_case =
|
699
|
-
if (op == kUpb_DecodeOp_SubMessage &&
|
702
|
+
// Set presence if necessary.
|
703
|
+
if (UPB_PRIVATE(_upb_MiniTableField_HasHasbit)(field)) {
|
704
|
+
UPB_PRIVATE(_upb_Message_SetHasbit)(msg, field);
|
705
|
+
} else if (UPB_PRIVATE(_upb_MiniTableField_IsInOneof)(field)) {
|
706
|
+
// Oneof case
|
707
|
+
uint32_t* oneof_case = UPB_PRIVATE(_upb_Message_OneofCasePtr)(msg, field);
|
708
|
+
if (op == kUpb_DecodeOp_SubMessage &&
|
709
|
+
*oneof_case != field->UPB_PRIVATE(number)) {
|
700
710
|
memset(mem, 0, sizeof(void*));
|
701
711
|
}
|
702
|
-
*oneof_case = field->number;
|
712
|
+
*oneof_case = field->UPB_PRIVATE(number);
|
703
713
|
}
|
704
714
|
|
705
|
-
|
715
|
+
// Store into message.
|
706
716
|
switch (op) {
|
707
717
|
case kUpb_DecodeOp_SubMessage: {
|
708
718
|
upb_TaggedMessagePtr* submsgp = mem;
|
@@ -745,16 +755,11 @@ static const char* _upb_Decoder_DecodeToSubMessage(
|
|
745
755
|
UPB_NOINLINE
|
746
756
|
const char* _upb_Decoder_CheckRequired(upb_Decoder* d, const char* ptr,
|
747
757
|
const upb_Message* msg,
|
748
|
-
const upb_MiniTable*
|
749
|
-
UPB_ASSERT(
|
750
|
-
if (
|
751
|
-
|
752
|
-
|
753
|
-
uint64_t msg_head;
|
754
|
-
memcpy(&msg_head, msg, 8);
|
755
|
-
msg_head = _upb_BigEndian_Swap64(msg_head);
|
756
|
-
if (upb_MiniTable_requiredmask(l) & ~msg_head) {
|
757
|
-
d->missing_required = true;
|
758
|
+
const upb_MiniTable* m) {
|
759
|
+
UPB_ASSERT(m->UPB_PRIVATE(required_count));
|
760
|
+
if (UPB_UNLIKELY(d->options & kUpb_DecodeOption_CheckRequired)) {
|
761
|
+
d->missing_required =
|
762
|
+
!UPB_PRIVATE(_upb_Message_IsInitializedShallow)(msg, m);
|
758
763
|
}
|
759
764
|
return ptr;
|
760
765
|
}
|
@@ -762,11 +767,11 @@ const char* _upb_Decoder_CheckRequired(upb_Decoder* d, const char* ptr,
|
|
762
767
|
UPB_FORCEINLINE
|
763
768
|
static bool _upb_Decoder_TryFastDispatch(upb_Decoder* d, const char** ptr,
|
764
769
|
upb_Message* msg,
|
765
|
-
const upb_MiniTable*
|
770
|
+
const upb_MiniTable* m) {
|
766
771
|
#if UPB_FASTTABLE
|
767
|
-
if (
|
772
|
+
if (m && m->UPB_PRIVATE(table_mask) != (unsigned char)-1) {
|
768
773
|
uint16_t tag = _upb_FastDecoder_LoadTag(*ptr);
|
769
|
-
intptr_t table = decode_totable(
|
774
|
+
intptr_t table = decode_totable(m);
|
770
775
|
*ptr = _upb_FastDecoder_TagDispatch(d, *ptr, msg, table, 0, tag);
|
771
776
|
return true;
|
772
777
|
}
|
@@ -809,15 +814,17 @@ enum {
|
|
809
814
|
static void upb_Decoder_AddKnownMessageSetItem(
|
810
815
|
upb_Decoder* d, upb_Message* msg, const upb_MiniTableExtension* item_mt,
|
811
816
|
const char* data, uint32_t size) {
|
812
|
-
|
813
|
-
_upb_Message_GetOrCreateExtension(msg, item_mt, &d->arena);
|
817
|
+
upb_Extension* ext =
|
818
|
+
UPB_PRIVATE(_upb_Message_GetOrCreateExtension)(msg, item_mt, &d->arena);
|
814
819
|
if (UPB_UNLIKELY(!ext)) {
|
815
820
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory);
|
816
821
|
}
|
817
822
|
upb_Message* submsg = _upb_Decoder_NewSubMessage(
|
818
|
-
d, &ext->ext->sub, &ext->ext->field,
|
819
|
-
|
820
|
-
|
823
|
+
d, &ext->ext->UPB_PRIVATE(sub), &ext->ext->UPB_PRIVATE(field),
|
824
|
+
(upb_TaggedMessagePtr*)&ext->data);
|
825
|
+
upb_DecodeStatus status = upb_Decode(
|
826
|
+
data, size, submsg, upb_MiniTableExtension_GetSubMessage(item_mt),
|
827
|
+
d->extreg, d->options, &d->arena);
|
821
828
|
if (status != kUpb_DecodeStatus_Ok) _upb_Decoder_ErrorJmp(d, status);
|
822
829
|
}
|
823
830
|
|
@@ -838,9 +845,11 @@ static void upb_Decoder_AddUnknownMessageSetItem(upb_Decoder* d,
|
|
838
845
|
ptr = upb_Decoder_EncodeVarint32(kEndItemTag, ptr);
|
839
846
|
char* end = ptr;
|
840
847
|
|
841
|
-
if (!_upb_Message_AddUnknown(msg, buf, split - buf, &d->arena) ||
|
842
|
-
!_upb_Message_AddUnknown(msg, message_data, message_size,
|
843
|
-
|
848
|
+
if (!UPB_PRIVATE(_upb_Message_AddUnknown)(msg, buf, split - buf, &d->arena) ||
|
849
|
+
!UPB_PRIVATE(_upb_Message_AddUnknown)(msg, message_data, message_size,
|
850
|
+
&d->arena) ||
|
851
|
+
!UPB_PRIVATE(_upb_Message_AddUnknown)(msg, split, end - split,
|
852
|
+
&d->arena)) {
|
844
853
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory);
|
845
854
|
}
|
846
855
|
}
|
@@ -920,34 +929,34 @@ static const upb_MiniTableField* _upb_Decoder_FindField(upb_Decoder* d,
|
|
920
929
|
if (t == NULL) return &none;
|
921
930
|
|
922
931
|
size_t idx = ((size_t)field_number) - 1; // 0 wraps to SIZE_MAX
|
923
|
-
if (idx < t->dense_below) {
|
924
|
-
|
932
|
+
if (idx < t->UPB_PRIVATE(dense_below)) {
|
933
|
+
// Fastest case: index into dense fields.
|
925
934
|
goto found;
|
926
935
|
}
|
927
936
|
|
928
|
-
if (t->dense_below < t->field_count) {
|
929
|
-
|
930
|
-
|
937
|
+
if (t->UPB_PRIVATE(dense_below) < t->UPB_PRIVATE(field_count)) {
|
938
|
+
// Linear search non-dense fields. Resume scanning from last_field_index
|
939
|
+
// since fields are usually in order.
|
931
940
|
size_t last = *last_field_index;
|
932
|
-
for (idx = last; idx < t->field_count; idx++) {
|
933
|
-
if (t->fields[idx].number == field_number) {
|
941
|
+
for (idx = last; idx < t->UPB_PRIVATE(field_count); idx++) {
|
942
|
+
if (t->UPB_PRIVATE(fields)[idx].UPB_PRIVATE(number) == field_number) {
|
934
943
|
goto found;
|
935
944
|
}
|
936
945
|
}
|
937
946
|
|
938
|
-
for (idx = t->dense_below; idx < last; idx++) {
|
939
|
-
if (t->fields[idx].number == field_number) {
|
947
|
+
for (idx = t->UPB_PRIVATE(dense_below); idx < last; idx++) {
|
948
|
+
if (t->UPB_PRIVATE(fields)[idx].UPB_PRIVATE(number) == field_number) {
|
940
949
|
goto found;
|
941
950
|
}
|
942
951
|
}
|
943
952
|
}
|
944
953
|
|
945
954
|
if (d->extreg) {
|
946
|
-
switch (t->ext) {
|
955
|
+
switch (t->UPB_PRIVATE(ext)) {
|
947
956
|
case kUpb_ExtMode_Extendable: {
|
948
957
|
const upb_MiniTableExtension* ext =
|
949
958
|
upb_ExtensionRegistry_Lookup(d->extreg, t, field_number);
|
950
|
-
if (ext) return &ext->field;
|
959
|
+
if (ext) return &ext->UPB_PRIVATE(field);
|
951
960
|
break;
|
952
961
|
}
|
953
962
|
case kUpb_ExtMode_IsMessageSet:
|
@@ -960,15 +969,15 @@ static const upb_MiniTableField* _upb_Decoder_FindField(upb_Decoder* d,
|
|
960
969
|
}
|
961
970
|
}
|
962
971
|
|
963
|
-
return &none;
|
972
|
+
return &none; // Unknown field.
|
964
973
|
|
965
974
|
found:
|
966
|
-
UPB_ASSERT(t->fields[idx].number == field_number);
|
975
|
+
UPB_ASSERT(t->UPB_PRIVATE(fields)[idx].UPB_PRIVATE(number) == field_number);
|
967
976
|
*last_field_index = idx;
|
968
|
-
return &t->fields[idx];
|
977
|
+
return &t->UPB_PRIVATE(fields)[idx];
|
969
978
|
}
|
970
979
|
|
971
|
-
int _upb_Decoder_GetVarintOp(const upb_MiniTableField* field) {
|
980
|
+
static int _upb_Decoder_GetVarintOp(const upb_MiniTableField* field) {
|
972
981
|
static const int8_t kVarintOps[] = {
|
973
982
|
[kUpb_FakeFieldType_FieldNotFound] = kUpb_DecodeOp_UnknownField,
|
974
983
|
[kUpb_FieldType_Double] = kUpb_DecodeOp_UnknownField,
|
@@ -1000,10 +1009,11 @@ static void _upb_Decoder_CheckUnlinked(upb_Decoder* d, const upb_MiniTable* mt,
|
|
1000
1009
|
const upb_MiniTableField* field,
|
1001
1010
|
int* op) {
|
1002
1011
|
// If sub-message is not linked, treat as unknown.
|
1003
|
-
if (field->mode & kUpb_LabelFlags_IsExtension) return;
|
1004
|
-
const
|
1012
|
+
if (field->UPB_PRIVATE(mode) & kUpb_LabelFlags_IsExtension) return;
|
1013
|
+
const upb_MiniTable* mt_sub =
|
1014
|
+
_upb_MiniTableSubs_MessageByField(mt->UPB_PRIVATE(subs), field);
|
1005
1015
|
if ((d->options & kUpb_DecodeOption_ExperimentalAllowUnlinked) ||
|
1006
|
-
|
1016
|
+
!UPB_PRIVATE(_upb_MiniTable_IsEmpty)(mt_sub)) {
|
1007
1017
|
return;
|
1008
1018
|
}
|
1009
1019
|
#ifndef NDEBUG
|
@@ -1014,7 +1024,7 @@ static void _upb_Decoder_CheckUnlinked(upb_Decoder* d, const upb_MiniTable* mt,
|
|
1014
1024
|
do {
|
1015
1025
|
UPB_ASSERT(upb_MiniTableField_CType(oneof) == kUpb_CType_Message);
|
1016
1026
|
const upb_MiniTableSub* oneof_sub =
|
1017
|
-
&mt->subs[oneof->UPB_PRIVATE(submsg_index)];
|
1027
|
+
&mt->UPB_PRIVATE(subs)[oneof->UPB_PRIVATE(submsg_index)];
|
1018
1028
|
UPB_ASSERT(!oneof_sub);
|
1019
1029
|
} while (upb_MiniTable_NextOneofField(mt, &oneof));
|
1020
1030
|
}
|
@@ -1022,12 +1032,21 @@ static void _upb_Decoder_CheckUnlinked(upb_Decoder* d, const upb_MiniTable* mt,
|
|
1022
1032
|
*op = kUpb_DecodeOp_UnknownField;
|
1023
1033
|
}
|
1024
1034
|
|
1025
|
-
|
1026
|
-
|
1035
|
+
UPB_FORCEINLINE
|
1036
|
+
static void _upb_Decoder_MaybeVerifyUtf8(upb_Decoder* d,
|
1037
|
+
const upb_MiniTableField* field,
|
1038
|
+
int* op) {
|
1039
|
+
if ((field->UPB_ONLYBITS(mode) & kUpb_LabelFlags_IsAlternate) &&
|
1040
|
+
UPB_UNLIKELY(d->options & kUpb_DecodeOption_AlwaysValidateUtf8))
|
1041
|
+
*op = kUpb_DecodeOp_String;
|
1042
|
+
}
|
1043
|
+
|
1044
|
+
static int _upb_Decoder_GetDelimitedOp(upb_Decoder* d, const upb_MiniTable* mt,
|
1045
|
+
const upb_MiniTableField* field) {
|
1027
1046
|
enum { kRepeatedBase = 19 };
|
1028
1047
|
|
1029
1048
|
static const int8_t kDelimitedOps[] = {
|
1030
|
-
|
1049
|
+
// For non-repeated field type.
|
1031
1050
|
[kUpb_FakeFieldType_FieldNotFound] =
|
1032
1051
|
kUpb_DecodeOp_UnknownField, // Field not found.
|
1033
1052
|
[kUpb_FieldType_Double] = kUpb_DecodeOp_UnknownField,
|
@@ -1049,7 +1068,7 @@ int _upb_Decoder_GetDelimitedOp(upb_Decoder* d, const upb_MiniTable* mt,
|
|
1049
1068
|
[kUpb_FieldType_SInt32] = kUpb_DecodeOp_UnknownField,
|
1050
1069
|
[kUpb_FieldType_SInt64] = kUpb_DecodeOp_UnknownField,
|
1051
1070
|
[kUpb_FakeFieldType_MessageSetItem] = kUpb_DecodeOp_UnknownField,
|
1052
|
-
// For repeated field type.
|
1071
|
+
// For repeated field type.
|
1053
1072
|
[kRepeatedBase + kUpb_FieldType_Double] = OP_FIXPCK_LG2(3),
|
1054
1073
|
[kRepeatedBase + kUpb_FieldType_Float] = OP_FIXPCK_LG2(2),
|
1055
1074
|
[kRepeatedBase + kUpb_FieldType_Int64] = OP_VARPCK_LG2(3),
|
@@ -1073,11 +1092,13 @@ int _upb_Decoder_GetDelimitedOp(upb_Decoder* d, const upb_MiniTable* mt,
|
|
1073
1092
|
};
|
1074
1093
|
|
1075
1094
|
int ndx = field->UPB_PRIVATE(descriptortype);
|
1076
|
-
if (
|
1095
|
+
if (upb_MiniTableField_IsArray(field)) ndx += kRepeatedBase;
|
1077
1096
|
int op = kDelimitedOps[ndx];
|
1078
1097
|
|
1079
1098
|
if (op == kUpb_DecodeOp_SubMessage) {
|
1080
1099
|
_upb_Decoder_CheckUnlinked(d, mt, field, &op);
|
1100
|
+
} else if (op == kUpb_DecodeOp_Bytes) {
|
1101
|
+
_upb_Decoder_MaybeVerifyUtf8(d, field, &op);
|
1081
1102
|
}
|
1082
1103
|
|
1083
1104
|
return op;
|
@@ -1120,7 +1141,7 @@ static const char* _upb_Decoder_DecodeWireValue(upb_Decoder* d, const char* ptr,
|
|
1120
1141
|
*op = _upb_Decoder_GetDelimitedOp(d, mt, field);
|
1121
1142
|
return ptr;
|
1122
1143
|
case kUpb_WireType_StartGroup:
|
1123
|
-
val->uint32_val = field->number;
|
1144
|
+
val->uint32_val = field->UPB_PRIVATE(number);
|
1124
1145
|
if (field->UPB_PRIVATE(descriptortype) == kUpb_FieldType_Group) {
|
1125
1146
|
*op = kUpb_DecodeOp_SubMessage;
|
1126
1147
|
_upb_Decoder_CheckUnlinked(d, mt, field, op);
|
@@ -1142,20 +1163,20 @@ static const char* _upb_Decoder_DecodeKnownField(
|
|
1142
1163
|
upb_Decoder* d, const char* ptr, upb_Message* msg,
|
1143
1164
|
const upb_MiniTable* layout, const upb_MiniTableField* field, int op,
|
1144
1165
|
wireval* val) {
|
1145
|
-
const upb_MiniTableSub* subs = layout->subs;
|
1146
|
-
uint8_t mode = field->mode;
|
1166
|
+
const upb_MiniTableSub* subs = layout->UPB_PRIVATE(subs);
|
1167
|
+
uint8_t mode = field->UPB_PRIVATE(mode);
|
1147
1168
|
|
1148
1169
|
if (UPB_UNLIKELY(mode & kUpb_LabelFlags_IsExtension)) {
|
1149
1170
|
const upb_MiniTableExtension* ext_layout =
|
1150
1171
|
(const upb_MiniTableExtension*)field;
|
1151
|
-
|
1152
|
-
|
1172
|
+
upb_Extension* ext = UPB_PRIVATE(_upb_Message_GetOrCreateExtension)(
|
1173
|
+
msg, ext_layout, &d->arena);
|
1153
1174
|
if (UPB_UNLIKELY(!ext)) {
|
1154
1175
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory);
|
1155
1176
|
}
|
1156
1177
|
d->unknown_msg = msg;
|
1157
|
-
msg = &ext->data;
|
1158
|
-
subs = &ext->ext->sub;
|
1178
|
+
msg = (upb_Message*)&ext->data;
|
1179
|
+
subs = &ext->ext->UPB_PRIVATE(sub);
|
1159
1180
|
}
|
1160
1181
|
|
1161
1182
|
switch (mode & kUpb_FieldMode_Mask) {
|
@@ -1224,7 +1245,8 @@ static const char* _upb_Decoder_DecodeUnknownField(upb_Decoder* d,
|
|
1224
1245
|
start = d->unknown;
|
1225
1246
|
d->unknown = NULL;
|
1226
1247
|
}
|
1227
|
-
if (!_upb_Message_AddUnknown(msg, start, ptr - start,
|
1248
|
+
if (!UPB_PRIVATE(_upb_Message_AddUnknown)(msg, start, ptr - start,
|
1249
|
+
&d->arena)) {
|
1228
1250
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory);
|
1229
1251
|
}
|
1230
1252
|
} else if (wire_type == kUpb_WireType_StartGroup) {
|
@@ -1296,7 +1318,7 @@ static const char* _upb_Decoder_DecodeMessage(upb_Decoder* d, const char* ptr,
|
|
1296
1318
|
}
|
1297
1319
|
}
|
1298
1320
|
|
1299
|
-
return UPB_UNLIKELY(layout && layout->required_count)
|
1321
|
+
return UPB_UNLIKELY(layout && layout->UPB_PRIVATE(required_count))
|
1300
1322
|
? _upb_Decoder_CheckRequired(d, ptr, msg, layout)
|
1301
1323
|
: ptr;
|
1302
1324
|
}
|
@@ -1311,10 +1333,11 @@ const char* _upb_FastDecoder_DecodeGeneric(struct upb_Decoder* d,
|
|
1311
1333
|
}
|
1312
1334
|
|
1313
1335
|
static upb_DecodeStatus _upb_Decoder_DecodeTop(struct upb_Decoder* d,
|
1314
|
-
const char* buf,
|
1315
|
-
|
1316
|
-
|
1317
|
-
|
1336
|
+
const char* buf,
|
1337
|
+
upb_Message* msg,
|
1338
|
+
const upb_MiniTable* m) {
|
1339
|
+
if (!_upb_Decoder_TryFastDispatch(d, &buf, msg, m)) {
|
1340
|
+
_upb_Decoder_DecodeMessage(d, buf, msg, m);
|
1318
1341
|
}
|
1319
1342
|
if (d->end_group != DECODE_NOGROUP) return kUpb_DecodeStatus_Malformed;
|
1320
1343
|
if (d->missing_required) return kUpb_DecodeStatus_MissingRequired;
|
@@ -1330,24 +1353,22 @@ const char* _upb_Decoder_IsDoneFallback(upb_EpsCopyInputStream* e,
|
|
1330
1353
|
|
1331
1354
|
static upb_DecodeStatus upb_Decoder_Decode(upb_Decoder* const decoder,
|
1332
1355
|
const char* const buf,
|
1333
|
-
|
1334
|
-
const upb_MiniTable* const
|
1356
|
+
upb_Message* const msg,
|
1357
|
+
const upb_MiniTable* const m,
|
1335
1358
|
upb_Arena* const arena) {
|
1336
1359
|
if (UPB_SETJMP(decoder->err) == 0) {
|
1337
|
-
decoder->status = _upb_Decoder_DecodeTop(decoder, buf, msg,
|
1360
|
+
decoder->status = _upb_Decoder_DecodeTop(decoder, buf, msg, m);
|
1338
1361
|
} else {
|
1339
1362
|
UPB_ASSERT(decoder->status != kUpb_DecodeStatus_Ok);
|
1340
1363
|
}
|
1341
1364
|
|
1342
|
-
|
1343
|
-
|
1344
|
-
arena->head = decoder->arena.head;
|
1345
|
-
upb_Atomic_Store(&arena->blocks, blocks, memory_order_relaxed);
|
1365
|
+
UPB_PRIVATE(_upb_Arena_SwapOut)(arena, &decoder->arena);
|
1366
|
+
|
1346
1367
|
return decoder->status;
|
1347
1368
|
}
|
1348
1369
|
|
1349
|
-
upb_DecodeStatus upb_Decode(const char* buf, size_t size,
|
1350
|
-
const upb_MiniTable*
|
1370
|
+
upb_DecodeStatus upb_Decode(const char* buf, size_t size, upb_Message* msg,
|
1371
|
+
const upb_MiniTable* m,
|
1351
1372
|
const upb_ExtensionRegistry* extreg, int options,
|
1352
1373
|
upb_Arena* arena) {
|
1353
1374
|
upb_Decoder decoder;
|
@@ -1369,12 +1390,9 @@ upb_DecodeStatus upb_Decode(const char* buf, size_t size, void* msg,
|
|
1369
1390
|
// done. The temporary arena only needs to be able to handle allocation,
|
1370
1391
|
// not fuse or free, so it does not need many of the members to be initialized
|
1371
1392
|
// (particularly parent_or_count).
|
1372
|
-
|
1373
|
-
decoder.arena.head = arena->head;
|
1374
|
-
decoder.arena.block_alloc = arena->block_alloc;
|
1375
|
-
upb_Atomic_Init(&decoder.arena.blocks, blocks);
|
1393
|
+
UPB_PRIVATE(_upb_Arena_SwapIn)(&decoder.arena, arena);
|
1376
1394
|
|
1377
|
-
return upb_Decoder_Decode(&decoder, buf, msg,
|
1395
|
+
return upb_Decoder_Decode(&decoder, buf, msg, m, arena);
|
1378
1396
|
}
|
1379
1397
|
|
1380
1398
|
#undef OP_FIXPCK_LG2
|