grpc 1.44.0.pre2 → 1.46.3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +311 -191
- data/include/grpc/event_engine/event_engine.h +2 -2
- data/include/grpc/grpc.h +40 -14
- data/include/grpc/grpc_posix.h +20 -19
- data/include/grpc/grpc_security.h +26 -50
- data/include/grpc/impl/codegen/grpc_types.h +18 -21
- data/include/grpc/impl/codegen/port_platform.h +2 -2
- data/include/grpc/impl/codegen/slice.h +4 -1
- data/include/grpc/slice.h +0 -11
- data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +309 -0
- data/src/core/ext/filters/channel_idle/channel_idle_filter.h +122 -0
- data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.cc +1 -1
- data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.h +5 -5
- data/src/core/ext/filters/client_channel/backend_metric.cc +3 -3
- data/src/core/ext/filters/client_channel/backup_poller.cc +12 -8
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +5 -5
- data/src/core/ext/filters/client_channel/client_channel.cc +242 -153
- data/src/core/ext/filters/client_channel/client_channel.h +32 -29
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +5 -11
- data/src/core/ext/filters/client_channel/connector.h +1 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +1 -2
- data/src/core/ext/filters/client_channel/dynamic_filters.h +1 -1
- data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +2 -22
- data/src/core/ext/filters/client_channel/global_subchannel_pool.h +3 -15
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +124 -582
- data/src/core/ext/filters/client_channel/health/health_check_client.h +24 -160
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +9 -12
- data/src/core/ext/filters/client_channel/http_proxy.cc +88 -110
- data/src/core/ext/filters/client_channel/http_proxy.h +17 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +1 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +68 -47
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +15 -15
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +7 -3
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +193 -148
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +2 -6
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +120 -92
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +88 -59
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +60 -52
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +51 -24
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +16 -8
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +245 -293
- data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +7 -13
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +126 -278
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +18 -19
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +62 -234
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +8 -7
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +82 -57
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +201 -0
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +106 -0
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +35 -34
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +135 -89
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +7 -10
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +11 -5
- data/src/core/ext/filters/client_channel/retry_filter.cc +236 -127
- data/src/core/ext/filters/client_channel/retry_service_config.cc +15 -17
- data/src/core/ext/filters/client_channel/retry_service_config.h +17 -11
- data/src/core/ext/filters/client_channel/retry_throttle.cc +9 -23
- data/src/core/ext/filters/client_channel/retry_throttle.h +11 -5
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +7 -6
- data/src/core/ext/filters/client_channel/subchannel.cc +38 -41
- data/src/core/ext/filters/client_channel/subchannel.h +5 -4
- data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +544 -0
- data/src/core/ext/filters/client_channel/subchannel_stream_client.h +214 -0
- data/src/core/ext/filters/deadline/deadline_filter.cc +15 -14
- data/src/core/ext/filters/deadline/deadline_filter.h +3 -2
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +133 -367
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +24 -1
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
- data/src/core/ext/filters/fault_injection/service_config_parser.h +9 -3
- data/src/core/ext/filters/http/client/http_client_filter.cc +79 -455
- data/src/core/ext/filters/http/client/http_client_filter.h +21 -4
- data/src/core/ext/filters/http/client_authority_filter.cc +31 -79
- data/src/core/ext/filters/http/client_authority_filter.h +24 -5
- data/src/core/ext/filters/http/http_filters_plugin.cc +20 -18
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +1 -0
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +10 -2
- data/src/core/ext/filters/http/server/http_server_filter.cc +3 -116
- data/src/core/ext/filters/message_size/message_size_filter.cc +26 -34
- data/src/core/ext/filters/message_size/message_size_filter.h +9 -2
- data/src/core/ext/filters/rbac/rbac_filter.cc +13 -8
- data/src/core/ext/filters/rbac/rbac_filter.h +2 -0
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +6 -5
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +6 -1
- data/src/core/ext/filters/server_config_selector/server_config_selector.cc +2 -8
- data/src/core/ext/filters/server_config_selector/server_config_selector.h +2 -2
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +73 -200
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +235 -0
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +153 -10
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +233 -59
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.h +3 -3
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +5 -0
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +3 -8
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +15 -51
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +10 -8
- data/src/core/ext/transport/chttp2/transport/parsing.cc +11 -3
- data/src/core/ext/transport/chttp2/transport/writing.cc +34 -20
- data/src/core/ext/transport/inproc/inproc_transport.cc +16 -12
- data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +117 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +482 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +553 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +182 -176
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1248 -685
- data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +56 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +151 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +62 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +46 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +124 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +43 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +102 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +43 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +97 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +106 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +605 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +48 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +103 -0
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +14 -12
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +49 -16
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +13 -11
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +49 -23
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +98 -96
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +669 -386
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +185 -173
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1269 -664
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +34 -26
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +200 -91
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +252 -238
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1670 -827
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +10 -8
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +42 -24
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +49 -27
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +272 -99
- data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +299 -0
- data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +1381 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +54 -50
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +354 -190
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +11 -8
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +45 -25
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +157 -154
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1068 -582
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +87 -42
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +525 -167
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +9 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +38 -24
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +11 -29
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +41 -101
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +58 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +151 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +108 -104
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +768 -410
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +115 -84
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +736 -349
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +11 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +57 -31
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +162 -108
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +992 -397
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +8 -6
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +28 -17
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +15 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +83 -49
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +13 -11
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +75 -34
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +15 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +93 -49
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +11 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +46 -26
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +34 -32
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +194 -109
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +51 -48
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +349 -190
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +49 -47
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +357 -188
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +9 -7
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +34 -21
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +72 -61
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +504 -260
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +77 -69
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +560 -301
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +19 -15
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +104 -49
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +12 -10
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +66 -41
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +53 -0
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +136 -0
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +58 -55
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +413 -235
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +62 -60
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +406 -237
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +82 -76
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +562 -294
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +37 -31
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +271 -142
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +503 -475
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +3642 -1901
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +25 -19
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +148 -72
- data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +222 -0
- data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +1052 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +44 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +88 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +49 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +103 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +15 -13
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +77 -46
- data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +52 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +134 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +63 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +250 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +47 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +94 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +69 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +213 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +32 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +42 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +71 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +218 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +54 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +146 -0
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +8 -6
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +34 -24
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +29 -27
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +188 -113
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +36 -34
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +260 -132
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +17 -14
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +86 -49
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +16 -14
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +86 -43
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +229 -198
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1553 -734
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +3 -1
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -1
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +87 -58
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +554 -235
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +26 -24
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +156 -87
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +98 -71
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +622 -263
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +62 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +160 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +6 -4
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +22 -16
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +67 -65
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +474 -256
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +18 -16
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +107 -62
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +51 -49
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +347 -186
- data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +48 -0
- data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +112 -0
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +20 -18
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +124 -82
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +74 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +214 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +16 -14
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +99 -57
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +10 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +50 -31
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +10 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +48 -27
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +9 -7
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +38 -24
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +21 -19
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +117 -69
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +19 -17
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +123 -65
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +14 -12
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +85 -53
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +23 -21
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +150 -83
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +32 -30
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +230 -146
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +36 -34
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +235 -131
- data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +66 -0
- data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +201 -0
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +3 -1
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +2 -1
- data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +42 -0
- data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +139 -0
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +13 -11
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +62 -36
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +19 -17
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +98 -52
- data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +26 -0
- data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +41 -0
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +10 -8
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +40 -19
- data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +51 -0
- data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +127 -0
- data/src/core/ext/upb-generated/google/api/annotations.upb.c +8 -6
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +22 -6
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +109 -103
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +720 -382
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +120 -112
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +795 -402
- data/src/core/ext/upb-generated/google/api/http.upb.c +29 -27
- data/src/core/ext/upb-generated/google/api/http.upb.h +216 -115
- data/src/core/ext/upb-generated/google/api/httpbody.upb.c +46 -0
- data/src/core/ext/upb-generated/google/api/httpbody.upb.h +111 -0
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +9 -7
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +38 -22
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +291 -237
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +2076 -1030
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +9 -7
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +36 -20
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +6 -4
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +22 -16
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +31 -29
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +177 -93
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +9 -7
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +36 -20
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +40 -38
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +240 -149
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +11 -9
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +52 -30
- data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +84 -0
- data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +319 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +21 -19
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +103 -48
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +102 -96
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +685 -359
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +16 -13
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +76 -41
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +12 -10
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +56 -35
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +57 -55
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +383 -219
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +22 -20
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +115 -63
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +764 -0
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +36 -34
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +189 -78
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +14 -12
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +53 -22
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +7 -5
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +15 -6
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +14 -12
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +55 -24
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +13 -11
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +49 -23
- data/src/core/ext/upb-generated/validate/validate.upb.c +339 -312
- data/src/core/ext/upb-generated/validate/validate.upb.h +2726 -1180
- data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +110 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +278 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +55 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +108 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +38 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +46 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +34 -32
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +171 -80
- data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +53 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +99 -0
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +8 -6
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +30 -19
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +18 -16
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +98 -55
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +14 -12
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +53 -30
- data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +46 -0
- data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +103 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +12 -10
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +55 -30
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +20 -18
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +130 -70
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +12 -10
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +58 -30
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +23 -21
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +101 -46
- data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +207 -0
- data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +878 -0
- data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +52 -0
- data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +143 -0
- data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +65 -0
- data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +218 -0
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +10 -8
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +42 -24
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +84 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +127 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +14 -12
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +67 -67
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +43 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +53 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +49 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +46 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +46 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +142 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +51 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +8 -6
- data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +1 -1
- data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +8 -6
- data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +20 -17
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +46 -46
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +248 -240
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +55 -55
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +58 -51
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +10 -10
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +385 -371
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +76 -76
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +23 -16
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +206 -0
- data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +15 -13
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +22 -22
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +15 -12
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +85 -80
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +73 -73
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +138 -101
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +26 -16
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +14 -12
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +22 -34
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +4 -9
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +53 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +21 -18
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +43 -43
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +177 -166
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +30 -25
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +14 -12
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +250 -221
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +53 -43
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +12 -9
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +7 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +18 -15
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +13 -11
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +18 -15
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +13 -13
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +19 -16
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +19 -19
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +18 -15
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +16 -16
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +52 -45
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +19 -19
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +153 -147
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +22 -22
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +19 -16
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +15 -12
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +7 -7
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +69 -0
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +17 -14
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +25 -25
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +17 -14
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +28 -28
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +23 -21
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +25 -25
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +36 -27
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +10 -10
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +826 -803
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +160 -160
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +52 -37
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +10 -10
- data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +188 -0
- data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +85 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +54 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +57 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +15 -12
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +7 -7
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +72 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +99 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +52 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +71 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +57 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +75 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +77 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +15 -11
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +17 -14
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +16 -16
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +18 -15
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +10 -10
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +7 -7
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +17 -13
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +197 -172
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +63 -58
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +15 -11
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +1 -1
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +169 -140
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +24 -19
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +19 -16
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +10 -10
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +217 -199
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +24 -19
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +58 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +17 -14
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +22 -22
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +16 -13
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +7 -7
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +20 -17
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +16 -16
- data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +46 -0
- data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +13 -10
- data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +13 -13
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +52 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +15 -12
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +7 -7
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +15 -12
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +15 -12
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +15 -12
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +15 -12
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +10 -10
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +15 -12
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +7 -7
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +14 -12
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +7 -7
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +16 -13
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +10 -10
- data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +13 -10
- data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +22 -22
- data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +16 -16
- data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +53 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +10 -8
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +94 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +12 -10
- data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +7 -7
- data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +11 -8
- data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +10 -10
- data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +38 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +11 -9
- data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +57 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +1 -1
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +6 -6
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +40 -40
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +6 -6
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +43 -43
- data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +3 -3
- data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +10 -10
- data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +39 -0
- data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +3 -3
- data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +3 -3
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +82 -82
- data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +3 -3
- data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +3 -3
- data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +3 -3
- data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +13 -13
- data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +3 -3
- data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +3 -3
- data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +28 -28
- data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +4 -4
- data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +67 -0
- data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
- data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +4 -4
- data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +10 -10
- data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +4 -4
- data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +1 -1
- data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +4 -4
- data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +4 -4
- data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +6 -6
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +70 -70
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +63 -0
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +47 -0
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +35 -0
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +4 -4
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +13 -13
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +40 -0
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +7 -7
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +7 -7
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +4 -4
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +7 -7
- data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +41 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +6 -6
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +6 -6
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +7 -7
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +6 -6
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +4 -4
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +126 -0
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +40 -0
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +52 -0
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +4 -4
- data/src/core/ext/xds/certificate_provider_store.cc +8 -0
- data/src/core/ext/xds/certificate_provider_store.h +9 -0
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +4 -4
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
- data/src/core/ext/xds/upb_utils.h +8 -6
- data/src/core/ext/xds/xds_api.cc +72 -35
- data/src/core/ext/xds/xds_api.h +4 -4
- data/src/core/ext/xds/xds_bootstrap.cc +37 -5
- data/src/core/ext/xds/xds_bootstrap.h +13 -0
- data/src/core/ext/xds/xds_certificate_provider.cc +2 -0
- data/src/core/ext/xds/xds_certificate_provider.h +8 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +14 -17
- data/src/core/ext/xds/xds_channel_stack_modifier.h +4 -3
- data/src/core/ext/xds/xds_client.cc +220 -193
- data/src/core/ext/xds/xds_client.h +35 -19
- data/src/core/ext/xds/xds_client_stats.cc +15 -15
- data/src/core/ext/xds/xds_client_stats.h +5 -4
- data/src/core/ext/xds/xds_cluster.cc +18 -16
- data/src/core/ext/xds/xds_cluster.h +3 -6
- data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +142 -0
- data/src/core/ext/xds/xds_cluster_specifier_plugin.h +79 -0
- data/src/core/ext/xds/xds_common_types.cc +10 -10
- data/src/core/ext/xds/xds_common_types.h +8 -23
- data/src/core/ext/xds/xds_endpoint.cc +14 -7
- data/src/core/ext/xds/xds_endpoint.h +1 -1
- data/src/core/ext/xds/xds_http_fault_filter.cc +7 -7
- data/src/core/ext/xds/xds_http_fault_filter.h +3 -3
- data/src/core/ext/xds/xds_http_filters.cc +6 -5
- data/src/core/ext/xds/xds_http_filters.h +4 -4
- data/src/core/ext/xds/xds_http_rbac_filter.cc +5 -5
- data/src/core/ext/xds/xds_http_rbac_filter.h +3 -3
- data/src/core/ext/xds/xds_listener.cc +15 -12
- data/src/core/ext/xds/xds_listener.h +1 -1
- data/src/core/ext/xds/xds_resource_type.h +1 -1
- data/src/core/ext/xds/xds_route_config.cc +175 -46
- data/src/core/ext/xds/xds_route_config.h +14 -11
- data/src/core/ext/xds/xds_routing.cc +1 -1
- data/src/core/ext/xds/xds_server_config_fetcher.cc +20 -24
- data/src/core/lib/avl/avl.h +68 -5
- data/src/core/lib/backoff/backoff.cc +7 -10
- data/src/core/lib/backoff/backoff.h +8 -8
- data/src/core/lib/channel/call_finalization.h +86 -0
- data/src/core/lib/channel/call_tracer.h +4 -1
- data/src/core/lib/channel/channel_args.cc +161 -22
- data/src/core/lib/channel/channel_args.h +210 -7
- data/src/core/lib/channel/channel_args_preconditioning.cc +3 -8
- data/src/core/lib/channel/channel_args_preconditioning.h +1 -2
- data/src/core/lib/channel/channel_stack.cc +2 -3
- data/src/core/lib/channel/channel_stack.h +38 -5
- data/src/core/lib/channel/channel_stack_builder.cc +23 -266
- data/src/core/lib/channel/channel_stack_builder.h +118 -146
- data/src/core/lib/channel/channel_stack_builder_impl.cc +102 -0
- data/src/core/lib/channel/channel_stack_builder_impl.h +48 -0
- data/src/core/lib/channel/channel_trace.cc +3 -6
- data/src/core/lib/channel/connected_channel.cc +9 -4
- data/src/core/lib/channel/connected_channel.h +2 -1
- data/src/core/lib/channel/context.h +11 -0
- data/src/core/lib/channel/handshaker.cc +1 -1
- data/src/core/lib/channel/handshaker.h +1 -1
- data/src/core/lib/channel/promise_based_filter.cc +1002 -0
- data/src/core/lib/channel/promise_based_filter.h +437 -0
- data/src/core/lib/compression/compression.cc +1 -1
- data/src/core/lib/compression/compression_internal.cc +2 -8
- data/src/core/lib/config/core_configuration.cc +8 -2
- data/src/core/lib/config/core_configuration.h +39 -0
- data/src/core/lib/debug/stats_data.cc +2 -6
- data/src/core/lib/debug/stats_data.h +18 -21
- data/src/core/{ext/filters/max_age/max_age_filter.h → lib/event_engine/default_event_engine_factory.cc} +11 -10
- data/src/core/lib/event_engine/event_engine.cc +23 -8
- data/src/core/lib/event_engine/event_engine_factory.h +3 -0
- data/src/core/lib/event_engine/memory_allocator.cc +9 -13
- data/src/core/lib/event_engine/{event_engine_factory.cc → resolved_address.cc} +10 -20
- data/src/core/lib/gpr/sync_posix.cc +1 -0
- data/src/core/lib/gpr/time.cc +2 -1
- data/src/core/lib/gpr/tls.h +1 -0
- data/src/core/lib/gpr/useful.h +14 -0
- data/src/core/lib/gprpp/bitset.h +12 -0
- data/src/core/lib/gprpp/capture.h +76 -0
- data/src/core/lib/gprpp/cpp_impl_of.h +4 -0
- data/src/core/lib/gprpp/debug_location.h +2 -0
- data/src/core/lib/gprpp/match.h +73 -0
- data/src/core/lib/gprpp/overload.h +59 -0
- data/src/core/lib/gprpp/ref_counted.h +2 -0
- data/src/core/lib/gprpp/single_set_ptr.h +87 -0
- data/src/core/lib/gprpp/status_helper.cc +30 -14
- data/src/core/lib/gprpp/status_helper.h +4 -4
- data/src/core/lib/gprpp/time.cc +198 -0
- data/src/core/lib/gprpp/time.h +292 -0
- data/src/core/lib/http/format_request.cc +28 -25
- data/src/core/lib/http/format_request.h +7 -6
- data/src/core/lib/http/httpcli.cc +306 -229
- data/src/core/lib/http/httpcli.h +182 -77
- data/src/core/lib/http/httpcli_security_connector.cc +64 -75
- data/src/core/lib/http/httpcli_ssl_credentials.h +37 -0
- data/src/core/lib/http/parser.cc +80 -9
- data/src/core/lib/http/parser.h +15 -2
- data/src/core/lib/iomgr/buffer_list.h +5 -5
- data/src/core/lib/iomgr/error.cc +13 -12
- data/src/core/lib/iomgr/error.h +0 -5
- data/src/core/lib/iomgr/ev_apple.cc +6 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +8 -7
- data/src/core/lib/iomgr/ev_poll_posix.cc +7 -7
- data/src/core/lib/iomgr/ev_posix.cc +9 -10
- data/src/core/lib/iomgr/ev_posix.h +1 -1
- data/src/core/lib/iomgr/event_engine/pollset.cc +2 -3
- data/src/core/lib/iomgr/event_engine/resolver.cc +1 -1
- data/src/core/lib/iomgr/event_engine/tcp.cc +4 -3
- data/src/core/lib/iomgr/event_engine/timer.cc +3 -4
- data/src/core/lib/iomgr/exec_ctx.cc +3 -88
- data/src/core/lib/iomgr/exec_ctx.h +7 -23
- data/src/core/lib/iomgr/fork_posix.cc +1 -1
- data/src/core/lib/iomgr/iocp_windows.cc +9 -9
- data/src/core/lib/iomgr/iocp_windows.h +1 -1
- data/src/core/lib/iomgr/polling_entity.h +6 -0
- data/src/core/lib/iomgr/pollset.cc +1 -1
- data/src/core/lib/iomgr/pollset.h +4 -4
- data/src/core/lib/iomgr/pollset_windows.cc +2 -2
- data/src/core/lib/iomgr/port.h +4 -9
- data/src/core/lib/iomgr/resolve_address_posix.cc +1 -1
- data/src/core/lib/iomgr/sockaddr_utils_posix.cc +62 -0
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +0 -17
- data/src/core/lib/iomgr/tcp_client.cc +1 -1
- data/src/core/lib/iomgr/tcp_client.h +3 -2
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +1 -1
- data/src/core/lib/iomgr/tcp_client_posix.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
- data/src/core/lib/iomgr/tcp_client_windows.cc +1 -1
- data/src/core/lib/iomgr/tcp_posix.cc +95 -36
- data/src/core/lib/iomgr/tcp_server_posix.cc +26 -17
- data/src/core/lib/iomgr/tcp_windows.cc +17 -10
- data/src/core/lib/iomgr/timer.cc +2 -2
- data/src/core/lib/iomgr/timer.h +11 -6
- data/src/core/lib/iomgr/timer_generic.cc +96 -77
- data/src/core/lib/iomgr/timer_manager.cc +15 -14
- data/src/core/lib/iomgr/work_serializer.cc +15 -10
- data/src/core/lib/json/json_util.cc +4 -4
- data/src/core/lib/json/json_util.h +5 -5
- data/src/core/lib/promise/activity.cc +14 -8
- data/src/core/lib/promise/activity.h +143 -131
- data/src/core/lib/promise/arena_promise.h +188 -0
- data/src/core/lib/promise/call_push_pull.h +144 -0
- data/src/core/lib/promise/detail/basic_seq.h +92 -3
- data/src/core/lib/promise/detail/promise_factory.h +1 -1
- data/src/core/lib/promise/detail/status.h +2 -1
- data/src/core/lib/promise/intra_activity_waiter.h +49 -0
- data/src/core/lib/promise/latch.h +104 -0
- data/src/core/lib/promise/loop.h +34 -8
- data/src/core/lib/promise/poll.h +6 -0
- data/src/core/lib/promise/promise.h +95 -0
- data/src/core/lib/promise/seq.h +19 -1
- data/src/core/lib/promise/sleep.cc +74 -0
- data/src/core/lib/promise/sleep.h +66 -0
- data/src/core/lib/promise/try_seq.h +157 -0
- data/src/core/lib/resolver/resolver_factory.h +22 -26
- data/src/core/lib/resolver/resolver_registry.cc +98 -137
- data/src/core/lib/resolver/resolver_registry.h +59 -33
- data/src/core/lib/resource_quota/api.cc +5 -30
- data/src/core/lib/resource_quota/api.h +1 -1
- data/src/core/lib/resource_quota/memory_quota.cc +118 -94
- data/src/core/lib/resource_quota/memory_quota.h +100 -64
- data/src/core/lib/resource_quota/resource_quota.h +8 -0
- data/src/core/lib/security/authorization/authorization_policy_provider.h +7 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +1 -11
- data/src/core/lib/security/authorization/evaluate_args.h +0 -1
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +106 -0
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +50 -0
- data/src/core/lib/security/authorization/matchers.cc +5 -5
- data/src/core/lib/security/authorization/matchers.h +2 -2
- data/src/core/lib/security/authorization/rbac_policy.cc +3 -3
- data/src/core/lib/security/authorization/rbac_policy.h +3 -2
- data/src/core/lib/security/context/security_context.h +8 -1
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +6 -5
- data/src/core/lib/security/credentials/alts/alts_credentials.h +10 -0
- data/src/core/lib/security/credentials/call_creds_util.cc +87 -0
- data/src/core/lib/security/credentials/call_creds_util.h +42 -0
- data/src/core/lib/security/credentials/channel_creds_registry.h +97 -0
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +70 -0
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +24 -83
- data/src/core/lib/security/credentials/composite/composite_credentials.h +23 -11
- data/src/core/lib/security/credentials/credentials.cc +2 -3
- data/src/core/lib/security/credentials/credentials.h +70 -66
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +46 -27
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -0
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +49 -29
- data/src/core/lib/security/credentials/external/external_account_credentials.h +4 -3
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -1
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +33 -12
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -0
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +23 -28
- data/src/core/lib/security/credentials/fake/fake_credentials.h +16 -16
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +19 -9
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +9 -3
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +15 -19
- data/src/core/lib/security/credentials/iam/iam_credentials.h +14 -9
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +25 -26
- data/src/core/lib/security/credentials/insecure/insecure_credentials.h +57 -0
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +23 -23
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +13 -9
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -30
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
- data/src/core/lib/security/credentials/local/local_credentials.cc +6 -6
- data/src/core/lib/security/credentials/local/local_credentials.h +10 -0
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +128 -128
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +57 -28
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +96 -151
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +56 -28
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +6 -4
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +14 -3
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +49 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +8 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +42 -3
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +19 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +66 -86
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +9 -6
- data/src/core/lib/security/credentials/tls/tls_credentials.h +6 -0
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +48 -50
- data/src/core/lib/security/credentials/xds/xds_credentials.h +36 -5
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +8 -14
- data/src/core/lib/security/security_connector/alts/alts_security_connector.h +1 -1
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +4 -12
- data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +6 -16
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +4 -9
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +10 -18
- data/src/core/lib/security/security_connector/security_connector.cc +3 -11
- data/src/core/lib/security/security_connector/security_connector.h +20 -20
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +10 -13
- data/src/core/lib/security/security_connector/ssl_utils.cc +15 -7
- data/src/core/lib/security/security_connector/ssl_utils.h +8 -3
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +27 -16
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +6 -6
- data/src/core/lib/security/transport/auth_filters.h +31 -5
- data/src/core/lib/security/transport/client_auth_filter.cc +90 -373
- data/src/core/lib/security/transport/secure_endpoint.cc +198 -129
- data/src/core/lib/security/transport/secure_endpoint.h +1 -1
- data/src/core/lib/security/transport/security_handshaker.cc +20 -10
- data/src/core/lib/security/transport/server_auth_filter.cc +1 -0
- data/src/core/lib/service_config/service_config.h +6 -51
- data/src/core/lib/service_config/{service_config.cc → service_config_impl.cc} +19 -16
- data/src/core/lib/service_config/service_config_impl.h +125 -0
- data/src/core/lib/service_config/service_config_parser.cc +30 -26
- data/src/core/lib/service_config/service_config_parser.h +36 -27
- data/src/core/lib/slice/slice.cc +76 -181
- data/src/core/lib/slice/slice.h +28 -15
- data/src/core/lib/slice/slice_internal.h +12 -30
- data/src/core/lib/slice/slice_refcount.cc +18 -0
- data/src/core/lib/slice/slice_refcount.h +2 -72
- data/src/core/lib/slice/slice_refcount_base.h +16 -120
- data/src/core/lib/surface/builtins.cc +6 -6
- data/src/core/lib/surface/call.cc +1026 -899
- data/src/core/lib/surface/call.h +1 -15
- data/src/core/lib/surface/channel.cc +28 -32
- data/src/core/lib/surface/channel.h +6 -7
- data/src/core/lib/surface/channel_init.cc +2 -3
- data/src/core/lib/surface/channel_init.h +3 -7
- data/src/core/lib/surface/completion_queue.cc +10 -9
- data/src/core/lib/surface/init.cc +78 -7
- data/src/core/lib/surface/init.h +0 -2
- data/src/core/lib/surface/lame_client.cc +2 -1
- data/src/core/lib/surface/server.cc +14 -36
- data/src/core/lib/surface/server.h +4 -5
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +9 -10
- data/src/core/lib/transport/bdp_estimator.h +2 -2
- data/src/core/lib/transport/byte_stream.cc +2 -0
- data/src/core/lib/transport/error_utils.cc +5 -3
- data/src/core/lib/transport/error_utils.h +2 -15
- data/src/core/lib/transport/metadata_batch.h +286 -104
- data/src/core/lib/transport/parsed_metadata.h +33 -17
- data/src/core/lib/transport/status_conversion.cc +2 -2
- data/src/core/lib/transport/status_conversion.h +1 -1
- data/src/core/lib/transport/timeout_encoding.cc +32 -29
- data/src/core/lib/transport/timeout_encoding.h +3 -3
- data/src/core/lib/transport/transport.cc +3 -1
- data/src/core/lib/transport/transport.h +102 -2
- data/src/core/lib/transport/transport_impl.h +14 -0
- data/src/core/lib/transport/transport_op_string.cc +5 -14
- data/src/core/lib/uri/uri_parser.cc +4 -0
- data/src/core/lib/uri/uri_parser.h +1 -0
- data/src/core/plugin_registry/grpc_plugin_registry.cc +21 -92
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +85 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +26 -21
- data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +9 -1
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +21 -13
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -2
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
- data/src/core/tsi/alts/handshaker/transport_security_common_api.h +2 -2
- data/src/core/tsi/local_transport_security.cc +3 -11
- data/src/core/tsi/local_transport_security.h +1 -4
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +141 -0
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +81 -0
- data/src/core/tsi/ssl_transport_security.cc +127 -39
- data/src/core/tsi/ssl_transport_security.h +28 -2
- data/src/core/tsi/transport_security_interface.h +2 -0
- data/src/ruby/ext/grpc/extconf.rb +1 -1
- data/src/ruby/ext/grpc/rb_channel.c +5 -2
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +18 -24
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +27 -36
- data/src/ruby/ext/grpc/rb_server.c +7 -4
- data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
- data/src/ruby/lib/grpc/grpc.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/generate_proto_ruby.sh +1 -0
- data/src/ruby/pb/test/client.rb +769 -0
- data/src/ruby/pb/test/server.rb +252 -0
- data/src/ruby/pb/test/xds_client.rb +415 -0
- data/third_party/cares/cares/{ares.h → include/ares.h} +73 -1
- data/third_party/cares/cares/{ares_dns.h → include/ares_dns.h} +9 -0
- data/third_party/cares/cares/{ares_rules.h → include/ares_rules.h} +0 -0
- data/third_party/cares/cares/{ares_version.h → include/ares_version.h} +3 -3
- data/third_party/cares/cares/{ares__close_sockets.c → src/lib/ares__close_sockets.c} +2 -2
- data/third_party/cares/cares/{ares__get_hostent.c → src/lib/ares__get_hostent.c} +1 -2
- data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +260 -0
- data/third_party/cares/cares/{ares__read_line.c → src/lib/ares__read_line.c} +0 -0
- data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +264 -0
- data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +499 -0
- data/third_party/cares/cares/{ares__timeval.c → src/lib/ares__timeval.c} +0 -0
- data/third_party/cares/cares/src/lib/ares_android.c +444 -0
- data/third_party/cares/cares/src/lib/ares_android.h +27 -0
- data/third_party/cares/cares/{ares_cancel.c → src/lib/ares_cancel.c} +0 -0
- data/third_party/cares/cares/{ares_create_query.c → src/lib/ares_create_query.c} +8 -17
- data/third_party/cares/cares/{ares_data.c → src/lib/ares_data.c} +18 -0
- data/third_party/cares/cares/{ares_data.h → src/lib/ares_data.h} +2 -0
- data/third_party/cares/cares/{ares_destroy.c → src/lib/ares_destroy.c} +0 -0
- data/third_party/cares/cares/{ares_expand_name.c → src/lib/ares_expand_name.c} +114 -23
- data/third_party/cares/cares/{ares_expand_string.c → src/lib/ares_expand_string.c} +2 -5
- data/third_party/cares/cares/{ares_fds.c → src/lib/ares_fds.c} +0 -0
- data/third_party/cares/cares/{ares_free_hostent.c → src/lib/ares_free_hostent.c} +6 -4
- data/third_party/cares/cares/{ares_free_string.c → src/lib/ares_free_string.c} +0 -0
- data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +59 -0
- data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +772 -0
- data/third_party/cares/cares/{ares_getenv.c → src/lib/ares_getenv.c} +0 -2
- data/third_party/cares/cares/{ares_getenv.h → src/lib/ares_getenv.h} +0 -0
- data/third_party/cares/cares/{ares_gethostbyaddr.c → src/lib/ares_gethostbyaddr.c} +2 -9
- data/third_party/cares/cares/{ares_gethostbyname.c → src/lib/ares_gethostbyname.c} +25 -20
- data/third_party/cares/cares/{ares_getnameinfo.c → src/lib/ares_getnameinfo.c} +4 -10
- data/third_party/cares/cares/{ares_getsock.c → src/lib/ares_getsock.c} +0 -0
- data/third_party/cares/cares/{ares_inet_net_pton.h → src/lib/ares_inet_net_pton.h} +0 -0
- data/third_party/cares/cares/{ares_init.c → src/lib/ares_init.c} +79 -40
- data/third_party/cares/cares/{ares_iphlpapi.h → src/lib/ares_iphlpapi.h} +0 -0
- data/third_party/cares/cares/{ares_ipv6.h → src/lib/ares_ipv6.h} +7 -0
- data/third_party/cares/cares/{ares_library_init.c → src/lib/ares_library_init.c} +7 -2
- data/third_party/cares/cares/{ares_library_init.h → src/lib/ares_library_init.h} +1 -1
- data/third_party/cares/cares/{ares_llist.c → src/lib/ares_llist.c} +0 -0
- data/third_party/cares/cares/{ares_llist.h → src/lib/ares_llist.h} +0 -0
- data/third_party/cares/cares/{ares_mkquery.c → src/lib/ares_mkquery.c} +0 -0
- data/third_party/cares/cares/src/lib/ares_nameser.h +482 -0
- data/third_party/cares/cares/{ares_nowarn.c → src/lib/ares_nowarn.c} +0 -0
- data/third_party/cares/cares/{ares_nowarn.h → src/lib/ares_nowarn.h} +0 -0
- data/third_party/cares/cares/{ares_options.c → src/lib/ares_options.c} +0 -0
- data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +209 -0
- data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +212 -0
- data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +199 -0
- data/third_party/cares/cares/{ares_parse_mx_reply.c → src/lib/ares_parse_mx_reply.c} +2 -8
- data/third_party/cares/cares/{ares_parse_naptr_reply.c → src/lib/ares_parse_naptr_reply.c} +2 -13
- data/third_party/cares/cares/{ares_parse_ns_reply.c → src/lib/ares_parse_ns_reply.c} +5 -11
- data/third_party/cares/cares/{ares_parse_ptr_reply.c → src/lib/ares_parse_ptr_reply.c} +53 -46
- data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +179 -0
- data/third_party/cares/cares/{ares_parse_srv_reply.c → src/lib/ares_parse_srv_reply.c} +2 -13
- data/third_party/cares/cares/{ares_parse_txt_reply.c → src/lib/ares_parse_txt_reply.c} +3 -9
- data/third_party/cares/cares/{ares_platform.c → src/lib/ares_platform.c} +0 -0
- data/third_party/cares/cares/{ares_platform.h → src/lib/ares_platform.h} +0 -0
- data/third_party/cares/cares/{ares_private.h → src/lib/ares_private.h} +52 -11
- data/third_party/cares/cares/{ares_process.c → src/lib/ares_process.c} +127 -52
- data/third_party/cares/cares/{ares_query.c → src/lib/ares_query.c} +3 -9
- data/third_party/cares/cares/{ares_search.c → src/lib/ares_search.c} +5 -7
- data/third_party/cares/cares/{ares_send.c → src/lib/ares_send.c} +2 -8
- data/third_party/cares/cares/{ares_setup.h → src/lib/ares_setup.h} +4 -1
- data/third_party/cares/cares/{ares_strcasecmp.c → src/lib/ares_strcasecmp.c} +0 -0
- data/third_party/cares/cares/{ares_strcasecmp.h → src/lib/ares_strcasecmp.h} +0 -0
- data/third_party/cares/cares/{ares_strdup.c → src/lib/ares_strdup.c} +0 -0
- data/third_party/cares/cares/{ares_strdup.h → src/lib/ares_strdup.h} +0 -0
- data/third_party/cares/cares/{ares_strerror.c → src/lib/ares_strerror.c} +0 -0
- data/third_party/cares/cares/{ares_strsplit.c → src/lib/ares_strsplit.c} +4 -0
- data/third_party/cares/cares/{ares_strsplit.h → src/lib/ares_strsplit.h} +0 -0
- data/third_party/cares/cares/{ares_timeout.c → src/lib/ares_timeout.c} +0 -0
- data/third_party/cares/cares/{ares_version.c → src/lib/ares_version.c} +0 -0
- data/third_party/cares/cares/{ares_writev.c → src/lib/ares_writev.c} +0 -0
- data/third_party/cares/cares/src/lib/ares_writev.h +36 -0
- data/third_party/cares/cares/{bitncmp.c → src/lib/bitncmp.c} +0 -0
- data/third_party/cares/cares/{bitncmp.h → src/lib/bitncmp.h} +0 -0
- data/third_party/cares/cares/src/lib/config-dos.h +115 -0
- data/third_party/cares/cares/{config-win32.h → src/lib/config-win32.h} +0 -0
- data/third_party/cares/cares/{inet_net_pton.c → src/lib/inet_net_pton.c} +2 -8
- data/third_party/cares/cares/{inet_ntop.c → src/lib/inet_ntop.c} +2 -8
- data/third_party/cares/cares/{setup_once.h → src/lib/setup_once.h} +0 -0
- data/third_party/cares/cares/{windows_port.c → src/lib/windows_port.c} +0 -0
- data/third_party/upb/third_party/utf8_range/naive.c +92 -0
- data/third_party/upb/third_party/utf8_range/range2-neon.c +157 -0
- data/third_party/upb/third_party/utf8_range/range2-sse.c +170 -0
- data/third_party/upb/third_party/utf8_range/utf8_range.h +9 -0
- data/third_party/upb/upb/decode.c +542 -319
- data/third_party/upb/upb/decode.h +43 -17
- data/third_party/upb/upb/decode_fast.c +303 -301
- data/third_party/upb/upb/decode_fast.h +18 -18
- data/third_party/upb/upb/decode_internal.h +73 -56
- data/third_party/upb/upb/def.c +1926 -1078
- data/third_party/upb/upb/def.h +329 -288
- data/third_party/upb/upb/def.hpp +129 -172
- data/third_party/upb/upb/encode.c +208 -175
- data/third_party/upb/upb/encode.h +15 -17
- data/third_party/upb/upb/json_encode.c +776 -0
- data/third_party/upb/upb/json_encode.h +62 -0
- data/third_party/upb/upb/msg.c +142 -124
- data/third_party/upb/upb/msg.h +39 -33
- data/third_party/upb/upb/msg_internal.h +342 -280
- data/third_party/upb/upb/port_def.inc +8 -0
- data/third_party/upb/upb/port_undef.inc +1 -0
- data/third_party/upb/upb/reflection.c +239 -199
- data/third_party/upb/upb/reflection.h +87 -67
- data/third_party/upb/upb/reflection.hpp +6 -6
- data/third_party/upb/upb/table.c +231 -147
- data/third_party/upb/upb/table_internal.h +129 -95
- data/third_party/upb/upb/text_encode.c +113 -90
- data/third_party/upb/upb/text_encode.h +10 -10
- data/third_party/upb/upb/upb.c +111 -72
- data/third_party/upb/upb/upb.h +157 -151
- data/third_party/upb/upb/upb.hpp +31 -28
- data/third_party/upb/upb/upb_internal.h +21 -11
- data/third_party/zlib/crc32.c +966 -292
- data/third_party/zlib/crc32.h +9441 -436
- data/third_party/zlib/deflate.c +78 -30
- data/third_party/zlib/deflate.h +12 -15
- data/third_party/zlib/gzguts.h +3 -2
- data/third_party/zlib/gzlib.c +5 -3
- data/third_party/zlib/gzread.c +5 -7
- data/third_party/zlib/gzwrite.c +25 -13
- data/third_party/zlib/infback.c +2 -1
- data/third_party/zlib/inffast.c +14 -14
- data/third_party/zlib/inflate.c +39 -8
- data/third_party/zlib/inflate.h +3 -2
- data/third_party/zlib/inftrees.c +3 -3
- data/third_party/zlib/trees.c +27 -48
- data/third_party/zlib/zlib.h +123 -100
- data/third_party/zlib/zutil.c +2 -2
- data/third_party/zlib/zutil.h +12 -9
- metadata +337 -185
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +0 -44
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +0 -83
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -264
- data/src/core/ext/filters/max_age/max_age_filter.cc +0 -560
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +0 -122
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +0 -92
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +0 -192
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -52
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +0 -79
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +0 -125
- data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -36
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +0 -38
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +0 -64
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -38
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +0 -64
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -38
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +0 -64
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -38
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +0 -64
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +0 -38
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +0 -64
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.c +0 -102
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.h +0 -306
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.c +0 -56
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.h +0 -135
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.c +0 -115
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.h +0 -371
- data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +0 -67
- data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +0 -35
- data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +0 -68
- data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +0 -35
- data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +0 -67
- data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +0 -35
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +0 -75
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +0 -35
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +0 -69
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +0 -35
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.c +0 -58
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.h +0 -55
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.c +0 -44
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.h +0 -40
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.c +0 -75
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.h +0 -55
- data/src/core/ext/xds/xds_channel_creds.cc +0 -108
- data/src/core/ext/xds/xds_channel_creds.h +0 -50
- data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -1654
- data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
- data/src/core/lib/iomgr/iomgr_custom.cc +0 -82
- data/src/core/lib/iomgr/iomgr_custom.h +0 -49
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
- data/src/core/lib/iomgr/is_epollexclusive_available.h +0 -36
- data/src/core/lib/iomgr/pollset_custom.cc +0 -105
- data/src/core/lib/iomgr/pollset_custom.h +0 -37
- data/src/core/lib/iomgr/pollset_set_custom.cc +0 -47
- data/src/core/lib/iomgr/pollset_set_custom.h +0 -26
- data/src/core/lib/iomgr/resolve_address_custom.cc +0 -191
- data/src/core/lib/iomgr/resolve_address_custom.h +0 -126
- data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
- data/src/core/lib/iomgr/tcp_client_custom.cc +0 -146
- data/src/core/lib/iomgr/tcp_custom.cc +0 -350
- data/src/core/lib/iomgr/tcp_custom.h +0 -85
- data/src/core/lib/iomgr/tcp_server_custom.cc +0 -457
- data/src/core/lib/iomgr/timer_custom.cc +0 -96
- data/src/core/lib/iomgr/timer_custom.h +0 -43
- data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +0 -173
- data/src/core/lib/security/authorization/sdk_server_authz_filter.h +0 -67
- data/src/core/lib/slice/slice_intern.cc +0 -269
- data/src/core/lib/slice/slice_utils.h +0 -200
- data/src/core/lib/surface/init_secure.cc +0 -103
- data/third_party/cares/cares/ares_getopt.c +0 -122
- data/third_party/cares/cares/ares_getopt.h +0 -53
- data/third_party/cares/cares/ares_parse_a_reply.c +0 -264
- data/third_party/cares/cares/ares_parse_aaaa_reply.c +0 -264
- data/third_party/cares/cares/ares_parse_soa_reply.c +0 -133
@@ -50,97 +50,123 @@
|
|
50
50
|
extern "C" {
|
51
51
|
#endif
|
52
52
|
|
53
|
-
/**
|
53
|
+
/** upb_*Int* conversion routines ********************************************/
|
54
54
|
|
55
|
-
|
55
|
+
UPB_INLINE int32_t _upb_Int32_FromI(int v) { return (int32_t)v; }
|
56
|
+
|
57
|
+
UPB_INLINE int64_t _upb_Int64_FromLL(long long v) { return (int64_t)v; }
|
58
|
+
|
59
|
+
UPB_INLINE uint32_t _upb_UInt32_FromU(unsigned v) { return (uint32_t)v; }
|
60
|
+
|
61
|
+
UPB_INLINE uint64_t _upb_UInt64_FromULL(unsigned long long v) {
|
62
|
+
return (uint64_t)v;
|
63
|
+
}
|
64
|
+
|
65
|
+
/** upb_MiniTable *************************************************************/
|
66
|
+
|
67
|
+
/* upb_MiniTable represents the memory layout of a given upb_MessageDef. The
|
56
68
|
* members are public so generated code can initialize them, but users MUST NOT
|
57
69
|
* read or write any of its members. */
|
58
70
|
|
59
|
-
/* These aren't real labels according to descriptor.proto, but in the table we
|
60
|
-
* use these for map/packed fields instead of UPB_LABEL_REPEATED. */
|
61
|
-
enum {
|
62
|
-
_UPB_LABEL_MAP = 4,
|
63
|
-
_UPB_LABEL_PACKED = 7 /* Low 3 bits are common with UPB_LABEL_REPEATED. */
|
64
|
-
};
|
65
|
-
|
66
71
|
typedef struct {
|
67
72
|
uint32_t number;
|
68
73
|
uint16_t offset;
|
69
|
-
int16_t presence;
|
70
|
-
uint16_t submsg_index;
|
74
|
+
int16_t presence; // If >0, hasbit_index. If <0, ~oneof_index
|
75
|
+
uint16_t submsg_index; // kUpb_NoSub if descriptortype != MESSAGE/GROUP/ENUM
|
71
76
|
uint8_t descriptortype;
|
72
|
-
uint8_t mode; /*
|
73
|
-
(
|
74
|
-
}
|
77
|
+
uint8_t mode; /* upb_FieldMode | upb_LabelFlags |
|
78
|
+
(upb_FieldRep << kUpb_FieldRep_Shift) */
|
79
|
+
} upb_MiniTable_Field;
|
80
|
+
|
81
|
+
#define kUpb_NoSub ((uint16_t)-1)
|
75
82
|
|
76
83
|
typedef enum {
|
77
|
-
|
78
|
-
|
79
|
-
|
84
|
+
kUpb_FieldMode_Map = 0,
|
85
|
+
kUpb_FieldMode_Array = 1,
|
86
|
+
kUpb_FieldMode_Scalar = 2,
|
87
|
+
} upb_FieldMode;
|
80
88
|
|
81
|
-
|
82
|
-
|
89
|
+
// Mask to isolate the upb_FieldMode from field.mode.
|
90
|
+
#define kUpb_FieldMode_Mask 3
|
83
91
|
|
84
92
|
/* Extra flags on the mode field. */
|
85
|
-
enum
|
86
|
-
|
87
|
-
|
88
|
-
};
|
93
|
+
typedef enum {
|
94
|
+
kUpb_LabelFlags_IsPacked = 4,
|
95
|
+
kUpb_LabelFlags_IsExtension = 8,
|
96
|
+
} upb_LabelFlags;
|
89
97
|
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
#if UINTPTR_MAX == 0xffffffff
|
99
|
-
_UPB_REP_PTR = _UPB_REP_4BYTE,
|
100
|
-
#else
|
101
|
-
_UPB_REP_PTR = _UPB_REP_8BYTE,
|
102
|
-
#endif
|
98
|
+
// Note: we sort by this number when calculating layout order.
|
99
|
+
typedef enum {
|
100
|
+
kUpb_FieldRep_1Byte = 0,
|
101
|
+
kUpb_FieldRep_4Byte = 1,
|
102
|
+
kUpb_FieldRep_StringView = 2,
|
103
|
+
kUpb_FieldRep_Pointer = 3,
|
104
|
+
kUpb_FieldRep_8Byte = 4,
|
103
105
|
|
104
|
-
|
105
|
-
|
106
|
+
kUpb_FieldRep_Shift = 5, // Bit offset of the rep in upb_MiniTable_Field.mode
|
107
|
+
kUpb_FieldRep_Max = kUpb_FieldRep_8Byte,
|
108
|
+
} upb_FieldRep;
|
106
109
|
|
107
|
-
UPB_INLINE
|
108
|
-
return (
|
110
|
+
UPB_INLINE upb_FieldMode upb_FieldMode_Get(const upb_MiniTable_Field* field) {
|
111
|
+
return (upb_FieldMode)(field->mode & 3);
|
109
112
|
}
|
110
113
|
|
111
|
-
UPB_INLINE bool
|
112
|
-
/* This works because
|
113
|
-
return !(field->mode &
|
114
|
+
UPB_INLINE bool upb_IsRepeatedOrMap(const upb_MiniTable_Field* field) {
|
115
|
+
/* This works because upb_FieldMode has no value 3. */
|
116
|
+
return !(field->mode & kUpb_FieldMode_Scalar);
|
114
117
|
}
|
115
118
|
|
116
|
-
UPB_INLINE bool
|
117
|
-
return field->descriptortype ==
|
118
|
-
field->descriptortype ==
|
119
|
+
UPB_INLINE bool upb_IsSubMessage(const upb_MiniTable_Field* field) {
|
120
|
+
return field->descriptortype == kUpb_FieldType_Message ||
|
121
|
+
field->descriptortype == kUpb_FieldType_Group;
|
119
122
|
}
|
120
123
|
|
121
|
-
struct
|
122
|
-
struct
|
124
|
+
struct upb_Decoder;
|
125
|
+
struct upb_MiniTable;
|
123
126
|
|
124
|
-
typedef const char
|
125
|
-
|
126
|
-
|
127
|
+
typedef const char* _upb_FieldParser(struct upb_Decoder* d, const char* ptr,
|
128
|
+
upb_Message* msg, intptr_t table,
|
129
|
+
uint64_t hasbits, uint64_t data);
|
127
130
|
|
128
131
|
typedef struct {
|
129
132
|
uint64_t field_data;
|
130
|
-
|
131
|
-
}
|
133
|
+
_upb_FieldParser* field_parser;
|
134
|
+
} _upb_FastTable_Entry;
|
135
|
+
|
136
|
+
typedef struct {
|
137
|
+
const int32_t* values; // List of values <0 or >63
|
138
|
+
uint64_t mask; // Bits are set for acceptable value 0 <= x < 64
|
139
|
+
int value_count;
|
140
|
+
} upb_MiniTable_Enum;
|
141
|
+
|
142
|
+
UPB_INLINE bool upb_MiniTable_Enum_CheckValue(const upb_MiniTable_Enum* e,
|
143
|
+
int32_t val) {
|
144
|
+
uint32_t uval = (uint32_t)val;
|
145
|
+
if (uval < 64) return e->mask & (1 << uval);
|
146
|
+
// OPT: binary search long lists?
|
147
|
+
int n = e->value_count;
|
148
|
+
for (int i = 0; i < n; i++) {
|
149
|
+
if (e->values[i] == val) return true;
|
150
|
+
}
|
151
|
+
return false;
|
152
|
+
}
|
132
153
|
|
133
154
|
typedef union {
|
134
|
-
const struct
|
135
|
-
|
136
|
-
}
|
155
|
+
const struct upb_MiniTable* submsg;
|
156
|
+
const upb_MiniTable_Enum* subenum;
|
157
|
+
} upb_MiniTable_Sub;
|
137
158
|
|
138
159
|
typedef enum {
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
160
|
+
kUpb_ExtMode_NonExtendable = 0, // Non-extendable message.
|
161
|
+
kUpb_ExtMode_Extendable = 1, // Normal extendable message.
|
162
|
+
kUpb_ExtMode_IsMessageSet = 2, // MessageSet message.
|
163
|
+
kUpb_ExtMode_IsMessageSet_ITEM =
|
164
|
+
3, // MessageSet item (temporary only, see decode.c)
|
165
|
+
|
166
|
+
// During table building we steal a bit to indicate that the message is a map
|
167
|
+
// entry. *Only* used during table building!
|
168
|
+
kUpb_ExtMode_IsMapEntry = 4,
|
169
|
+
} upb_ExtMode;
|
144
170
|
|
145
171
|
/* MessageSet wire format is:
|
146
172
|
* message MessageSet {
|
@@ -156,57 +182,75 @@ typedef enum {
|
|
156
182
|
_UPB_MSGSET_MESSAGE = 3,
|
157
183
|
} upb_msgext_fieldnum;
|
158
184
|
|
159
|
-
struct
|
160
|
-
const
|
161
|
-
const
|
185
|
+
struct upb_MiniTable {
|
186
|
+
const upb_MiniTable_Sub* subs;
|
187
|
+
const upb_MiniTable_Field* fields;
|
162
188
|
/* Must be aligned to sizeof(void*). Doesn't include internal members like
|
163
189
|
* unknown fields, extension dict, pointer to msglayout, etc. */
|
164
190
|
uint16_t size;
|
165
191
|
uint16_t field_count;
|
166
|
-
uint8_t ext; //
|
192
|
+
uint8_t ext; // upb_ExtMode, declared as uint8_t so sizeof(ext) == 1
|
167
193
|
uint8_t dense_below;
|
168
194
|
uint8_t table_mask;
|
169
|
-
|
170
|
-
|
171
|
-
|
195
|
+
uint8_t required_count; // Required fields have the lowest hasbits.
|
196
|
+
/* To statically initialize the tables of variable length, we need a flexible
|
197
|
+
* array member, and we need to compile in gnu99 mode (constant initialization
|
198
|
+
* of flexible array members is a GNU extension, not in C99 unfortunately. */
|
199
|
+
_upb_FastTable_Entry fasttable[];
|
172
200
|
};
|
173
201
|
|
174
202
|
typedef struct {
|
175
|
-
|
176
|
-
const
|
177
|
-
|
178
|
-
}
|
203
|
+
upb_MiniTable_Field field;
|
204
|
+
const upb_MiniTable* extendee;
|
205
|
+
upb_MiniTable_Sub sub; /* NULL unless submessage or proto2 enum */
|
206
|
+
} upb_MiniTable_Extension;
|
179
207
|
|
180
208
|
typedef struct {
|
181
|
-
const
|
182
|
-
const
|
209
|
+
const upb_MiniTable** msgs;
|
210
|
+
const upb_MiniTable_Enum** enums;
|
211
|
+
const upb_MiniTable_Extension** exts;
|
183
212
|
int msg_count;
|
213
|
+
int enum_count;
|
184
214
|
int ext_count;
|
185
|
-
}
|
215
|
+
} upb_MiniTable_File;
|
186
216
|
|
187
|
-
|
217
|
+
// Computes a bitmask in which the |l->required_count| lowest bits are set,
|
218
|
+
// except that we skip the lowest bit (because upb never uses hasbit 0).
|
219
|
+
//
|
220
|
+
// Sample output:
|
221
|
+
// requiredmask(1) => 0b10 (0x2)
|
222
|
+
// requiredmask(5) => 0b111110 (0x3e)
|
223
|
+
UPB_INLINE uint64_t upb_MiniTable_requiredmask(const upb_MiniTable* l) {
|
224
|
+
int n = l->required_count;
|
225
|
+
assert(0 < n && n <= 63);
|
226
|
+
return ((1ULL << n) - 1) << 1;
|
227
|
+
}
|
228
|
+
|
229
|
+
/** upb_ExtensionRegistry *****************************************************/
|
188
230
|
|
189
231
|
/* Adds the given extension info for message type |l| and field number |num|
|
190
232
|
* into the registry. Returns false if this message type and field number were
|
191
233
|
* already in the map, or if memory allocation fails. */
|
192
|
-
bool _upb_extreg_add(
|
234
|
+
bool _upb_extreg_add(upb_ExtensionRegistry* r,
|
235
|
+
const upb_MiniTable_Extension** e, size_t count);
|
193
236
|
|
194
237
|
/* Looks up the extension (if any) defined for message type |l| and field
|
195
238
|
* number |num|. If an extension was found, copies the field info into |*ext|
|
196
239
|
* and returns true. Otherwise returns false. */
|
197
|
-
const
|
198
|
-
|
240
|
+
const upb_MiniTable_Extension* _upb_extreg_get(const upb_ExtensionRegistry* r,
|
241
|
+
const upb_MiniTable* l,
|
242
|
+
uint32_t num);
|
199
243
|
|
200
|
-
/**
|
244
|
+
/** upb_Message ***************************************************************/
|
201
245
|
|
202
|
-
/* Internal members of a
|
203
|
-
* We can change this without breaking binary compatibility. We put
|
204
|
-
* before the user's data. The user's
|
205
|
-
*
|
246
|
+
/* Internal members of a upb_Message that track unknown fields and/or
|
247
|
+
* extensions. We can change this without breaking binary compatibility. We put
|
248
|
+
* these before the user's data. The user's upb_Message* points after the
|
249
|
+
* upb_Message_Internal. */
|
206
250
|
|
207
251
|
typedef struct {
|
208
252
|
/* Total size of this structure, including the data that follows.
|
209
|
-
* Must be aligned to 8, which is alignof(
|
253
|
+
* Must be aligned to 8, which is alignof(upb_Message_Extension) */
|
210
254
|
uint32_t size;
|
211
255
|
|
212
256
|
/* Offsets relative to the beginning of this structure.
|
@@ -216,162 +260,175 @@ typedef struct {
|
|
216
260
|
* When the two meet, we're out of data and have to realloc.
|
217
261
|
*
|
218
262
|
* If we imagine that the final member of this struct is:
|
219
|
-
* char data[size - overhead]; // overhead =
|
220
|
-
*
|
263
|
+
* char data[size - overhead]; // overhead =
|
264
|
+
* sizeof(upb_Message_InternalData)
|
265
|
+
*
|
221
266
|
* Then we have:
|
222
267
|
* unknown data: data[0 .. (unknown_end - overhead)]
|
223
268
|
* extensions data: data[(ext_begin - overhead) .. (size - overhead)] */
|
224
269
|
uint32_t unknown_end;
|
225
270
|
uint32_t ext_begin;
|
226
271
|
/* Data follows, as if there were an array:
|
227
|
-
* char data[size - sizeof(
|
228
|
-
}
|
272
|
+
* char data[size - sizeof(upb_Message_InternalData)]; */
|
273
|
+
} upb_Message_InternalData;
|
229
274
|
|
230
275
|
typedef struct {
|
231
|
-
|
232
|
-
|
276
|
+
upb_Message_InternalData* internal;
|
277
|
+
/* Message data follows. */
|
278
|
+
} upb_Message_Internal;
|
233
279
|
|
234
|
-
/* Maps
|
235
|
-
extern char
|
280
|
+
/* Maps upb_CType -> memory size. */
|
281
|
+
extern char _upb_CTypeo_size[12];
|
236
282
|
|
237
|
-
UPB_INLINE size_t upb_msg_sizeof(const
|
238
|
-
return l->size + sizeof(
|
283
|
+
UPB_INLINE size_t upb_msg_sizeof(const upb_MiniTable* l) {
|
284
|
+
return l->size + sizeof(upb_Message_Internal);
|
239
285
|
}
|
240
286
|
|
241
|
-
UPB_INLINE
|
287
|
+
UPB_INLINE upb_Message* _upb_Message_New_inl(const upb_MiniTable* l,
|
288
|
+
upb_Arena* a) {
|
242
289
|
size_t size = upb_msg_sizeof(l);
|
243
|
-
void
|
244
|
-
|
290
|
+
void* mem = upb_Arena_Malloc(a, size);
|
291
|
+
upb_Message* msg;
|
245
292
|
if (UPB_UNLIKELY(!mem)) return NULL;
|
246
|
-
msg = UPB_PTR_AT(mem, sizeof(
|
293
|
+
msg = UPB_PTR_AT(mem, sizeof(upb_Message_Internal), upb_Message);
|
247
294
|
memset(mem, 0, size);
|
248
295
|
return msg;
|
249
296
|
}
|
250
297
|
|
251
298
|
/* Creates a new messages with the given layout on the given arena. */
|
252
|
-
|
299
|
+
upb_Message* _upb_Message_New(const upb_MiniTable* l, upb_Arena* a);
|
253
300
|
|
254
|
-
UPB_INLINE
|
255
|
-
ptrdiff_t size = sizeof(
|
256
|
-
return (
|
301
|
+
UPB_INLINE upb_Message_Internal* upb_Message_Getinternal(upb_Message* msg) {
|
302
|
+
ptrdiff_t size = sizeof(upb_Message_Internal);
|
303
|
+
return (upb_Message_Internal*)((char*)msg - size);
|
257
304
|
}
|
258
305
|
|
259
306
|
/* Clears the given message. */
|
260
|
-
void
|
307
|
+
void _upb_Message_Clear(upb_Message* msg, const upb_MiniTable* l);
|
261
308
|
|
262
309
|
/* Discards the unknown fields for this message only. */
|
263
|
-
void
|
310
|
+
void _upb_Message_DiscardUnknown_shallow(upb_Message* msg);
|
264
311
|
|
265
312
|
/* Adds unknown data (serialized protobuf data) to the given message. The data
|
266
313
|
* is copied into the message instance. */
|
267
|
-
bool
|
268
|
-
|
314
|
+
bool _upb_Message_AddUnknown(upb_Message* msg, const char* data, size_t len,
|
315
|
+
upb_Arena* arena);
|
269
316
|
|
270
|
-
/**
|
317
|
+
/** upb_Message_Extension *****************************************************/
|
271
318
|
|
272
319
|
/* The internal representation of an extension is self-describing: it contains
|
273
320
|
* enough information that we can serialize it to binary format without needing
|
274
|
-
* to look it up in a
|
321
|
+
* to look it up in a upb_ExtensionRegistry.
|
322
|
+
*
|
323
|
+
* This representation allocates 16 bytes to data on 64-bit platforms. This is
|
324
|
+
* rather wasteful for scalars (in the extreme case of bool, it wastes 15
|
325
|
+
* bytes). We accept this because we expect messages to be the most common
|
326
|
+
* extension type. */
|
275
327
|
typedef struct {
|
276
|
-
const
|
328
|
+
const upb_MiniTable_Extension* ext;
|
277
329
|
union {
|
278
|
-
|
279
|
-
void
|
280
|
-
double dbl;
|
330
|
+
upb_StringView str;
|
331
|
+
void* ptr;
|
281
332
|
char scalar_data[8];
|
282
333
|
} data;
|
283
|
-
}
|
334
|
+
} upb_Message_Extension;
|
284
335
|
|
285
|
-
/* Adds the given extension data to the given message.
|
286
|
-
*
|
287
|
-
|
288
|
-
|
336
|
+
/* Adds the given extension data to the given message. |ext| is copied into the
|
337
|
+
* message instance. This logically replaces any previously-added extension with
|
338
|
+
* this number */
|
339
|
+
upb_Message_Extension* _upb_Message_Getorcreateext(
|
340
|
+
upb_Message* msg, const upb_MiniTable_Extension* ext, upb_Arena* arena);
|
289
341
|
|
290
342
|
/* Returns an array of extensions for this message. Note: the array is
|
291
343
|
* ordered in reverse relative to the order of creation. */
|
292
|
-
const
|
344
|
+
const upb_Message_Extension* _upb_Message_Getexts(const upb_Message* msg,
|
345
|
+
size_t* count);
|
293
346
|
|
294
347
|
/* Returns an extension for the given field number, or NULL if no extension
|
295
348
|
* exists for this field number. */
|
296
|
-
const
|
297
|
-
|
349
|
+
const upb_Message_Extension* _upb_Message_Getext(
|
350
|
+
const upb_Message* msg, const upb_MiniTable_Extension* ext);
|
298
351
|
|
299
|
-
void
|
352
|
+
void _upb_Message_Clearext(upb_Message* msg,
|
353
|
+
const upb_MiniTable_Extension* ext);
|
354
|
+
|
355
|
+
void _upb_Message_Clearext(upb_Message* msg,
|
356
|
+
const upb_MiniTable_Extension* ext);
|
300
357
|
|
301
358
|
/** Hasbit access *************************************************************/
|
302
359
|
|
303
|
-
UPB_INLINE bool _upb_hasbit(const
|
360
|
+
UPB_INLINE bool _upb_hasbit(const upb_Message* msg, size_t idx) {
|
304
361
|
return (*UPB_PTR_AT(msg, idx / 8, const char) & (1 << (idx % 8))) != 0;
|
305
362
|
}
|
306
363
|
|
307
|
-
UPB_INLINE void _upb_sethas(const
|
364
|
+
UPB_INLINE void _upb_sethas(const upb_Message* msg, size_t idx) {
|
308
365
|
(*UPB_PTR_AT(msg, idx / 8, char)) |= (char)(1 << (idx % 8));
|
309
366
|
}
|
310
367
|
|
311
|
-
UPB_INLINE void _upb_clearhas(const
|
368
|
+
UPB_INLINE void _upb_clearhas(const upb_Message* msg, size_t idx) {
|
312
369
|
(*UPB_PTR_AT(msg, idx / 8, char)) &= (char)(~(1 << (idx % 8)));
|
313
370
|
}
|
314
371
|
|
315
|
-
UPB_INLINE size_t
|
372
|
+
UPB_INLINE size_t _upb_Message_Hasidx(const upb_MiniTable_Field* f) {
|
316
373
|
UPB_ASSERT(f->presence > 0);
|
317
374
|
return f->presence;
|
318
375
|
}
|
319
376
|
|
320
|
-
UPB_INLINE bool _upb_hasbit_field(const
|
321
|
-
const
|
322
|
-
return _upb_hasbit(msg,
|
377
|
+
UPB_INLINE bool _upb_hasbit_field(const upb_Message* msg,
|
378
|
+
const upb_MiniTable_Field* f) {
|
379
|
+
return _upb_hasbit(msg, _upb_Message_Hasidx(f));
|
323
380
|
}
|
324
381
|
|
325
|
-
UPB_INLINE void _upb_sethas_field(const
|
326
|
-
const
|
327
|
-
_upb_sethas(msg,
|
382
|
+
UPB_INLINE void _upb_sethas_field(const upb_Message* msg,
|
383
|
+
const upb_MiniTable_Field* f) {
|
384
|
+
_upb_sethas(msg, _upb_Message_Hasidx(f));
|
328
385
|
}
|
329
386
|
|
330
|
-
UPB_INLINE void _upb_clearhas_field(const
|
331
|
-
const
|
332
|
-
_upb_clearhas(msg,
|
387
|
+
UPB_INLINE void _upb_clearhas_field(const upb_Message* msg,
|
388
|
+
const upb_MiniTable_Field* f) {
|
389
|
+
_upb_clearhas(msg, _upb_Message_Hasidx(f));
|
333
390
|
}
|
334
391
|
|
335
392
|
/** Oneof case access *********************************************************/
|
336
393
|
|
337
|
-
UPB_INLINE uint32_t
|
394
|
+
UPB_INLINE uint32_t* _upb_oneofcase(upb_Message* msg, size_t case_ofs) {
|
338
395
|
return UPB_PTR_AT(msg, case_ofs, uint32_t);
|
339
396
|
}
|
340
397
|
|
341
|
-
UPB_INLINE uint32_t _upb_getoneofcase(const void
|
398
|
+
UPB_INLINE uint32_t _upb_getoneofcase(const void* msg, size_t case_ofs) {
|
342
399
|
return *UPB_PTR_AT(msg, case_ofs, uint32_t);
|
343
400
|
}
|
344
401
|
|
345
|
-
UPB_INLINE size_t _upb_oneofcase_ofs(const
|
402
|
+
UPB_INLINE size_t _upb_oneofcase_ofs(const upb_MiniTable_Field* f) {
|
346
403
|
UPB_ASSERT(f->presence < 0);
|
347
404
|
return ~(ptrdiff_t)f->presence;
|
348
405
|
}
|
349
406
|
|
350
|
-
UPB_INLINE uint32_t
|
351
|
-
const
|
407
|
+
UPB_INLINE uint32_t* _upb_oneofcase_field(upb_Message* msg,
|
408
|
+
const upb_MiniTable_Field* f) {
|
352
409
|
return _upb_oneofcase(msg, _upb_oneofcase_ofs(f));
|
353
410
|
}
|
354
411
|
|
355
|
-
UPB_INLINE uint32_t _upb_getoneofcase_field(const
|
356
|
-
const
|
412
|
+
UPB_INLINE uint32_t _upb_getoneofcase_field(const upb_Message* msg,
|
413
|
+
const upb_MiniTable_Field* f) {
|
357
414
|
return _upb_getoneofcase(msg, _upb_oneofcase_ofs(f));
|
358
415
|
}
|
359
416
|
|
360
|
-
UPB_INLINE bool _upb_has_submsg_nohasbit(const
|
361
|
-
return *UPB_PTR_AT(msg, ofs, const
|
417
|
+
UPB_INLINE bool _upb_has_submsg_nohasbit(const upb_Message* msg, size_t ofs) {
|
418
|
+
return *UPB_PTR_AT(msg, ofs, const upb_Message*) != NULL;
|
362
419
|
}
|
363
420
|
|
364
|
-
/**
|
421
|
+
/** upb_Array *****************************************************************/
|
365
422
|
|
366
423
|
/* Our internal representation for repeated fields. */
|
367
424
|
typedef struct {
|
368
|
-
uintptr_t data;
|
369
|
-
size_t len;
|
370
|
-
size_t size;
|
425
|
+
uintptr_t data; /* Tagged ptr: low 3 bits of ptr are lg2(elem size). */
|
426
|
+
size_t len; /* Measured in elements. */
|
427
|
+
size_t size; /* Measured in elements. */
|
371
428
|
uint64_t junk;
|
372
|
-
}
|
429
|
+
} upb_Array;
|
373
430
|
|
374
|
-
UPB_INLINE const void
|
431
|
+
UPB_INLINE const void* _upb_array_constptr(const upb_Array* arr) {
|
375
432
|
UPB_ASSERT((arr->data & 7) <= 4);
|
376
433
|
return (void*)(arr->data & ~(uintptr_t)7);
|
377
434
|
}
|
@@ -381,7 +438,7 @@ UPB_INLINE uintptr_t _upb_array_tagptr(void* ptr, int elem_size_lg2) {
|
|
381
438
|
return (uintptr_t)ptr | elem_size_lg2;
|
382
439
|
}
|
383
440
|
|
384
|
-
UPB_INLINE void
|
441
|
+
UPB_INLINE void* _upb_array_ptr(upb_Array* arr) {
|
385
442
|
return (void*)_upb_array_constptr(arr);
|
386
443
|
}
|
387
444
|
|
@@ -391,11 +448,11 @@ UPB_INLINE uintptr_t _upb_tag_arrptr(void* ptr, int elem_size_lg2) {
|
|
391
448
|
return (uintptr_t)ptr | (unsigned)elem_size_lg2;
|
392
449
|
}
|
393
450
|
|
394
|
-
UPB_INLINE
|
451
|
+
UPB_INLINE upb_Array* _upb_Array_New(upb_Arena* a, size_t init_size,
|
395
452
|
int elem_size_lg2) {
|
396
|
-
const size_t arr_size = UPB_ALIGN_UP(sizeof(
|
397
|
-
const size_t bytes = sizeof(
|
398
|
-
|
453
|
+
const size_t arr_size = UPB_ALIGN_UP(sizeof(upb_Array), 8);
|
454
|
+
const size_t bytes = sizeof(upb_Array) + (init_size << elem_size_lg2);
|
455
|
+
upb_Array* arr = (upb_Array*)upb_Arena_Malloc(a, bytes);
|
399
456
|
if (!arr) return NULL;
|
400
457
|
arr->data = _upb_tag_arrptr(UPB_PTR_AT(arr, arr_size, void), elem_size_lg2);
|
401
458
|
arr->len = 0;
|
@@ -404,30 +461,34 @@ UPB_INLINE upb_array *_upb_array_new(upb_arena *a, size_t init_size,
|
|
404
461
|
}
|
405
462
|
|
406
463
|
/* Resizes the capacity of the array to be at least min_size. */
|
407
|
-
bool _upb_array_realloc(
|
464
|
+
bool _upb_array_realloc(upb_Array* arr, size_t min_size, upb_Arena* arena);
|
408
465
|
|
409
466
|
/* Fallback functions for when the accessors require a resize. */
|
410
|
-
void
|
411
|
-
int elem_size_lg2,
|
412
|
-
bool
|
413
|
-
int elem_size_lg2,
|
467
|
+
void* _upb_Array_Resize_fallback(upb_Array** arr_ptr, size_t size,
|
468
|
+
int elem_size_lg2, upb_Arena* arena);
|
469
|
+
bool _upb_Array_Append_fallback(upb_Array** arr_ptr, const void* value,
|
470
|
+
int elem_size_lg2, upb_Arena* arena);
|
414
471
|
|
415
|
-
UPB_INLINE bool _upb_array_reserve(
|
416
|
-
|
472
|
+
UPB_INLINE bool _upb_array_reserve(upb_Array* arr, size_t size,
|
473
|
+
upb_Arena* arena) {
|
417
474
|
if (arr->size < size) return _upb_array_realloc(arr, size, arena);
|
418
475
|
return true;
|
419
476
|
}
|
420
477
|
|
421
|
-
UPB_INLINE bool
|
422
|
-
|
478
|
+
UPB_INLINE bool _upb_Array_Resize(upb_Array* arr, size_t size,
|
479
|
+
upb_Arena* arena) {
|
423
480
|
if (!_upb_array_reserve(arr, size, arena)) return false;
|
424
481
|
arr->len = size;
|
425
482
|
return true;
|
426
483
|
}
|
427
484
|
|
428
|
-
UPB_INLINE
|
429
|
-
|
430
|
-
|
485
|
+
UPB_INLINE void _upb_array_detach(const void* msg, size_t ofs) {
|
486
|
+
*UPB_PTR_AT(msg, ofs, upb_Array*) = NULL;
|
487
|
+
}
|
488
|
+
|
489
|
+
UPB_INLINE const void* _upb_array_accessor(const void* msg, size_t ofs,
|
490
|
+
size_t* size) {
|
491
|
+
const upb_Array* arr = *UPB_PTR_AT(msg, ofs, const upb_Array*);
|
431
492
|
if (arr) {
|
432
493
|
if (size) *size = arr->len;
|
433
494
|
return _upb_array_constptr(arr);
|
@@ -437,9 +498,9 @@ UPB_INLINE const void *_upb_array_accessor(const void *msg, size_t ofs,
|
|
437
498
|
}
|
438
499
|
}
|
439
500
|
|
440
|
-
UPB_INLINE void
|
441
|
-
size_t
|
442
|
-
|
501
|
+
UPB_INLINE void* _upb_array_mutable_accessor(void* msg, size_t ofs,
|
502
|
+
size_t* size) {
|
503
|
+
upb_Array* arr = *UPB_PTR_AT(msg, ofs, upb_Array*);
|
443
504
|
if (arr) {
|
444
505
|
if (size) *size = arr->len;
|
445
506
|
return _upb_array_ptr(arr);
|
@@ -449,28 +510,28 @@ UPB_INLINE void *_upb_array_mutable_accessor(void *msg, size_t ofs,
|
|
449
510
|
}
|
450
511
|
}
|
451
512
|
|
452
|
-
UPB_INLINE void
|
513
|
+
UPB_INLINE void* _upb_Array_Resize_accessor2(void* msg, size_t ofs, size_t size,
|
453
514
|
int elem_size_lg2,
|
454
|
-
|
455
|
-
|
456
|
-
|
515
|
+
upb_Arena* arena) {
|
516
|
+
upb_Array** arr_ptr = UPB_PTR_AT(msg, ofs, upb_Array*);
|
517
|
+
upb_Array* arr = *arr_ptr;
|
457
518
|
if (!arr || arr->size < size) {
|
458
|
-
return
|
519
|
+
return _upb_Array_Resize_fallback(arr_ptr, size, elem_size_lg2, arena);
|
459
520
|
}
|
460
521
|
arr->len = size;
|
461
522
|
return _upb_array_ptr(arr);
|
462
523
|
}
|
463
524
|
|
464
|
-
UPB_INLINE bool
|
525
|
+
UPB_INLINE bool _upb_Array_Append_accessor2(void* msg, size_t ofs,
|
465
526
|
int elem_size_lg2,
|
466
|
-
const void
|
467
|
-
|
468
|
-
|
527
|
+
const void* value,
|
528
|
+
upb_Arena* arena) {
|
529
|
+
upb_Array** arr_ptr = UPB_PTR_AT(msg, ofs, upb_Array*);
|
469
530
|
size_t elem_size = 1 << elem_size_lg2;
|
470
|
-
|
471
|
-
void
|
531
|
+
upb_Array* arr = *arr_ptr;
|
532
|
+
void* ptr;
|
472
533
|
if (!arr || arr->len == arr->size) {
|
473
|
-
return
|
534
|
+
return _upb_Array_Append_fallback(arr_ptr, value, elem_size_lg2, arena);
|
474
535
|
}
|
475
536
|
ptr = _upb_array_ptr(arr);
|
476
537
|
memcpy(UPB_PTR_AT(ptr, arr->len * elem_size, char), value, elem_size);
|
@@ -479,42 +540,41 @@ UPB_INLINE bool _upb_array_append_accessor2(void *msg, size_t ofs,
|
|
479
540
|
}
|
480
541
|
|
481
542
|
/* Used by old generated code, remove once all code has been regenerated. */
|
482
|
-
UPB_INLINE int _upb_sizelg2(
|
543
|
+
UPB_INLINE int _upb_sizelg2(upb_CType type) {
|
483
544
|
switch (type) {
|
484
|
-
case
|
545
|
+
case kUpb_CType_Bool:
|
485
546
|
return 0;
|
486
|
-
case
|
487
|
-
case
|
488
|
-
case
|
489
|
-
case
|
547
|
+
case kUpb_CType_Float:
|
548
|
+
case kUpb_CType_Int32:
|
549
|
+
case kUpb_CType_UInt32:
|
550
|
+
case kUpb_CType_Enum:
|
490
551
|
return 2;
|
491
|
-
case
|
552
|
+
case kUpb_CType_Message:
|
492
553
|
return UPB_SIZE(2, 3);
|
493
|
-
case
|
494
|
-
case
|
495
|
-
case
|
554
|
+
case kUpb_CType_Double:
|
555
|
+
case kUpb_CType_Int64:
|
556
|
+
case kUpb_CType_UInt64:
|
496
557
|
return 3;
|
497
|
-
case
|
498
|
-
case
|
558
|
+
case kUpb_CType_String:
|
559
|
+
case kUpb_CType_Bytes:
|
499
560
|
return UPB_SIZE(3, 4);
|
500
561
|
}
|
501
562
|
UPB_UNREACHABLE();
|
502
563
|
}
|
503
|
-
UPB_INLINE void
|
504
|
-
|
505
|
-
|
506
|
-
return _upb_array_resize_accessor2(msg, ofs, size, _upb_sizelg2(type), arena);
|
564
|
+
UPB_INLINE void* _upb_Array_Resize_accessor(void* msg, size_t ofs, size_t size,
|
565
|
+
upb_CType type, upb_Arena* arena) {
|
566
|
+
return _upb_Array_Resize_accessor2(msg, ofs, size, _upb_sizelg2(type), arena);
|
507
567
|
}
|
508
|
-
UPB_INLINE bool
|
509
|
-
|
510
|
-
|
511
|
-
|
568
|
+
UPB_INLINE bool _upb_Array_Append_accessor(void* msg, size_t ofs,
|
569
|
+
size_t elem_size, upb_CType type,
|
570
|
+
const void* value,
|
571
|
+
upb_Arena* arena) {
|
512
572
|
(void)elem_size;
|
513
|
-
return
|
573
|
+
return _upb_Array_Append_accessor2(msg, ofs, _upb_sizelg2(type), value,
|
514
574
|
arena);
|
515
575
|
}
|
516
576
|
|
517
|
-
/**
|
577
|
+
/** upb_Map *******************************************************************/
|
518
578
|
|
519
579
|
/* Right now we use strmaps for everything. We'll likely want to use
|
520
580
|
* integer-specific maps for integer-keyed maps.*/
|
@@ -525,25 +585,25 @@ typedef struct {
|
|
525
585
|
char val_size;
|
526
586
|
|
527
587
|
upb_strtable table;
|
528
|
-
}
|
588
|
+
} upb_Map;
|
529
589
|
|
530
590
|
/* Map entries aren't actually stored, they are only used during parsing. For
|
531
591
|
* parsing, it helps a lot if all map entry messages have the same layout.
|
532
592
|
* The compiler and def.c must ensure that all map entries have this layout. */
|
533
593
|
typedef struct {
|
534
|
-
|
594
|
+
upb_Message_Internal internal;
|
535
595
|
union {
|
536
|
-
|
537
|
-
upb_value val;
|
596
|
+
upb_StringView str; /* For str/bytes. */
|
597
|
+
upb_value val; /* For all other types. */
|
538
598
|
} k;
|
539
599
|
union {
|
540
|
-
|
541
|
-
upb_value val;
|
600
|
+
upb_StringView str; /* For str/bytes. */
|
601
|
+
upb_value val; /* For all other types. */
|
542
602
|
} v;
|
543
|
-
}
|
603
|
+
} upb_MapEntry;
|
544
604
|
|
545
605
|
/* Creates a new map on the given arena with this key/value type. */
|
546
|
-
|
606
|
+
upb_Map* _upb_Map_New(upb_Arena* a, size_t key_size, size_t value_size);
|
547
607
|
|
548
608
|
/* Converting between internal table representation and user values.
|
549
609
|
*
|
@@ -554,15 +614,15 @@ upb_map *_upb_map_new(upb_arena *a, size_t key_size, size_t value_size);
|
|
554
614
|
* from other types when stored in a map.
|
555
615
|
*/
|
556
616
|
|
557
|
-
UPB_INLINE
|
617
|
+
UPB_INLINE upb_StringView _upb_map_tokey(const void* key, size_t size) {
|
558
618
|
if (size == UPB_MAPTYPE_STRING) {
|
559
|
-
return *(
|
619
|
+
return *(upb_StringView*)key;
|
560
620
|
} else {
|
561
|
-
return
|
621
|
+
return upb_StringView_FromDataAndSize((const char*)key, size);
|
562
622
|
}
|
563
623
|
}
|
564
624
|
|
565
|
-
UPB_INLINE void _upb_map_fromkey(
|
625
|
+
UPB_INLINE void _upb_map_fromkey(upb_StringView key, void* out, size_t size) {
|
566
626
|
if (size == UPB_MAPTYPE_STRING) {
|
567
627
|
memcpy(out, &key, sizeof(key));
|
568
628
|
} else {
|
@@ -570,12 +630,12 @@ UPB_INLINE void _upb_map_fromkey(upb_strview key, void* out, size_t size) {
|
|
570
630
|
}
|
571
631
|
}
|
572
632
|
|
573
|
-
UPB_INLINE bool _upb_map_tovalue(const void
|
574
|
-
|
633
|
+
UPB_INLINE bool _upb_map_tovalue(const void* val, size_t size,
|
634
|
+
upb_value* msgval, upb_Arena* a) {
|
575
635
|
if (size == UPB_MAPTYPE_STRING) {
|
576
|
-
|
636
|
+
upb_StringView* strp = (upb_StringView*)upb_Arena_Malloc(a, sizeof(*strp));
|
577
637
|
if (!strp) return false;
|
578
|
-
*strp = *(
|
638
|
+
*strp = *(upb_StringView*)val;
|
579
639
|
*msgval = upb_value_ptr(strp);
|
580
640
|
} else {
|
581
641
|
memcpy(msgval, val, size);
|
@@ -585,8 +645,8 @@ UPB_INLINE bool _upb_map_tovalue(const void *val, size_t size, upb_value *msgval
|
|
585
645
|
|
586
646
|
UPB_INLINE void _upb_map_fromvalue(upb_value val, void* out, size_t size) {
|
587
647
|
if (size == UPB_MAPTYPE_STRING) {
|
588
|
-
const
|
589
|
-
memcpy(out, strp, sizeof(
|
648
|
+
const upb_StringView* strp = (const upb_StringView*)upb_value_getptr(val);
|
649
|
+
memcpy(out, strp, sizeof(upb_StringView));
|
590
650
|
} else {
|
591
651
|
memcpy(out, &val, size);
|
592
652
|
}
|
@@ -594,14 +654,14 @@ UPB_INLINE void _upb_map_fromvalue(upb_value val, void* out, size_t size) {
|
|
594
654
|
|
595
655
|
/* Map operations, shared by reflection and generated code. */
|
596
656
|
|
597
|
-
UPB_INLINE size_t
|
657
|
+
UPB_INLINE size_t _upb_Map_Size(const upb_Map* map) {
|
598
658
|
return map->table.t.count;
|
599
659
|
}
|
600
660
|
|
601
|
-
UPB_INLINE bool
|
602
|
-
size_t key_size, void
|
661
|
+
UPB_INLINE bool _upb_Map_Get(const upb_Map* map, const void* key,
|
662
|
+
size_t key_size, void* val, size_t val_size) {
|
603
663
|
upb_value tabval;
|
604
|
-
|
664
|
+
upb_StringView k = _upb_map_tokey(key, key_size);
|
605
665
|
bool ret = upb_strtable_lookup2(&map->table, k.data, k.size, &tabval);
|
606
666
|
if (ret && val) {
|
607
667
|
_upb_map_fromvalue(tabval, val, val_size);
|
@@ -609,7 +669,7 @@ UPB_INLINE bool _upb_map_get(const upb_map *map, const void *key,
|
|
609
669
|
return ret;
|
610
670
|
}
|
611
671
|
|
612
|
-
UPB_INLINE void* _upb_map_next(const
|
672
|
+
UPB_INLINE void* _upb_map_next(const upb_Map* map, size_t* iter) {
|
613
673
|
upb_strtable_iter it;
|
614
674
|
it.t = &map->table;
|
615
675
|
it.index = *iter;
|
@@ -619,108 +679,110 @@ UPB_INLINE void* _upb_map_next(const upb_map *map, size_t *iter) {
|
|
619
679
|
return (void*)str_tabent(&it);
|
620
680
|
}
|
621
681
|
|
622
|
-
UPB_INLINE bool
|
623
|
-
void
|
624
|
-
|
682
|
+
UPB_INLINE bool _upb_Map_Set(upb_Map* map, const void* key, size_t key_size,
|
683
|
+
void* val, size_t val_size, upb_Arena* a) {
|
684
|
+
upb_StringView strkey = _upb_map_tokey(key, key_size);
|
625
685
|
upb_value tabval = {0};
|
626
686
|
if (!_upb_map_tovalue(val, val_size, &tabval, a)) return false;
|
627
687
|
|
628
688
|
/* TODO(haberman): add overwrite operation to minimize number of lookups. */
|
629
|
-
|
689
|
+
upb_strtable_remove2(&map->table, strkey.data, strkey.size, NULL);
|
630
690
|
return upb_strtable_insert(&map->table, strkey.data, strkey.size, tabval, a);
|
631
691
|
}
|
632
692
|
|
633
|
-
UPB_INLINE bool
|
634
|
-
|
635
|
-
|
693
|
+
UPB_INLINE bool _upb_Map_Delete(upb_Map* map, const void* key,
|
694
|
+
size_t key_size) {
|
695
|
+
upb_StringView k = _upb_map_tokey(key, key_size);
|
696
|
+
return upb_strtable_remove2(&map->table, k.data, k.size, NULL);
|
636
697
|
}
|
637
698
|
|
638
|
-
UPB_INLINE void
|
699
|
+
UPB_INLINE void _upb_Map_Clear(upb_Map* map) {
|
639
700
|
upb_strtable_clear(&map->table);
|
640
701
|
}
|
641
702
|
|
642
703
|
/* Message map operations, these get the map from the message first. */
|
643
704
|
|
644
|
-
UPB_INLINE size_t _upb_msg_map_size(const
|
645
|
-
|
646
|
-
return map ?
|
705
|
+
UPB_INLINE size_t _upb_msg_map_size(const upb_Message* msg, size_t ofs) {
|
706
|
+
upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
|
707
|
+
return map ? _upb_Map_Size(map) : 0;
|
647
708
|
}
|
648
709
|
|
649
|
-
UPB_INLINE bool _upb_msg_map_get(const
|
650
|
-
const void
|
710
|
+
UPB_INLINE bool _upb_msg_map_get(const upb_Message* msg, size_t ofs,
|
711
|
+
const void* key, size_t key_size, void* val,
|
651
712
|
size_t val_size) {
|
652
|
-
|
713
|
+
upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
|
653
714
|
if (!map) return false;
|
654
|
-
return
|
715
|
+
return _upb_Map_Get(map, key, key_size, val, val_size);
|
655
716
|
}
|
656
717
|
|
657
|
-
UPB_INLINE void
|
658
|
-
size_t
|
659
|
-
|
718
|
+
UPB_INLINE void* _upb_msg_map_next(const upb_Message* msg, size_t ofs,
|
719
|
+
size_t* iter) {
|
720
|
+
upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
|
660
721
|
if (!map) return NULL;
|
661
722
|
return _upb_map_next(map, iter);
|
662
723
|
}
|
663
724
|
|
664
|
-
UPB_INLINE bool _upb_msg_map_set(
|
665
|
-
size_t key_size, void
|
666
|
-
|
667
|
-
|
725
|
+
UPB_INLINE bool _upb_msg_map_set(upb_Message* msg, size_t ofs, const void* key,
|
726
|
+
size_t key_size, void* val, size_t val_size,
|
727
|
+
upb_Arena* arena) {
|
728
|
+
upb_Map** map = UPB_PTR_AT(msg, ofs, upb_Map*);
|
668
729
|
if (!*map) {
|
669
|
-
*map =
|
730
|
+
*map = _upb_Map_New(arena, key_size, val_size);
|
670
731
|
}
|
671
|
-
return
|
732
|
+
return _upb_Map_Set(*map, key, key_size, val, val_size, arena);
|
672
733
|
}
|
673
734
|
|
674
|
-
UPB_INLINE bool _upb_msg_map_delete(
|
675
|
-
size_t key_size) {
|
676
|
-
|
735
|
+
UPB_INLINE bool _upb_msg_map_delete(upb_Message* msg, size_t ofs,
|
736
|
+
const void* key, size_t key_size) {
|
737
|
+
upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
|
677
738
|
if (!map) return false;
|
678
|
-
return
|
739
|
+
return _upb_Map_Delete(map, key, key_size);
|
679
740
|
}
|
680
741
|
|
681
|
-
UPB_INLINE void _upb_msg_map_clear(
|
682
|
-
|
742
|
+
UPB_INLINE void _upb_msg_map_clear(upb_Message* msg, size_t ofs) {
|
743
|
+
upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
|
683
744
|
if (!map) return;
|
684
|
-
|
745
|
+
_upb_Map_Clear(map);
|
685
746
|
}
|
686
747
|
|
687
748
|
/* Accessing map key/value from a pointer, used by generated code only. */
|
688
749
|
|
689
750
|
UPB_INLINE void _upb_msg_map_key(const void* msg, void* key, size_t size) {
|
690
|
-
const upb_tabent
|
751
|
+
const upb_tabent* ent = (const upb_tabent*)msg;
|
691
752
|
uint32_t u32len;
|
692
|
-
|
753
|
+
upb_StringView k;
|
693
754
|
k.data = upb_tabstr(ent->key, &u32len);
|
694
755
|
k.size = u32len;
|
695
756
|
_upb_map_fromkey(k, key, size);
|
696
757
|
}
|
697
758
|
|
698
759
|
UPB_INLINE void _upb_msg_map_value(const void* msg, void* val, size_t size) {
|
699
|
-
const upb_tabent
|
760
|
+
const upb_tabent* ent = (const upb_tabent*)msg;
|
700
761
|
upb_value v = {ent->val.val};
|
701
762
|
_upb_map_fromvalue(v, val, size);
|
702
763
|
}
|
703
764
|
|
704
|
-
UPB_INLINE void _upb_msg_map_set_value(void* msg, const void* val,
|
705
|
-
|
765
|
+
UPB_INLINE void _upb_msg_map_set_value(void* msg, const void* val,
|
766
|
+
size_t size) {
|
767
|
+
upb_tabent* ent = (upb_tabent*)msg;
|
706
768
|
/* This is like _upb_map_tovalue() except the entry already exists so we can
|
707
|
-
* reuse the allocated
|
769
|
+
* reuse the allocated upb_StringView for string fields. */
|
708
770
|
if (size == UPB_MAPTYPE_STRING) {
|
709
|
-
|
771
|
+
upb_StringView* strp = (upb_StringView*)(uintptr_t)ent->val.val;
|
710
772
|
memcpy(strp, val, sizeof(*strp));
|
711
773
|
} else {
|
712
774
|
memcpy(&ent->val.val, val, size);
|
713
775
|
}
|
714
776
|
}
|
715
777
|
|
716
|
-
/** _upb_mapsorter
|
778
|
+
/** _upb_mapsorter ************************************************************/
|
717
779
|
|
718
780
|
/* _upb_mapsorter sorts maps and provides ordered iteration over the entries.
|
719
|
-
* Since maps can be recursive (map values can be messages which contain other
|
720
|
-
* _upb_mapsorter can contain a stack of maps. */
|
781
|
+
* Since maps can be recursive (map values can be messages which contain other
|
782
|
+
* maps). _upb_mapsorter can contain a stack of maps. */
|
721
783
|
|
722
784
|
typedef struct {
|
723
|
-
upb_tabent const**entries;
|
785
|
+
upb_tabent const** entries;
|
724
786
|
int size;
|
725
787
|
int cap;
|
726
788
|
} _upb_mapsorter;
|
@@ -731,29 +793,29 @@ typedef struct {
|
|
731
793
|
int end;
|
732
794
|
} _upb_sortedmap;
|
733
795
|
|
734
|
-
UPB_INLINE void _upb_mapsorter_init(_upb_mapsorter
|
796
|
+
UPB_INLINE void _upb_mapsorter_init(_upb_mapsorter* s) {
|
735
797
|
s->entries = NULL;
|
736
798
|
s->size = 0;
|
737
799
|
s->cap = 0;
|
738
800
|
}
|
739
801
|
|
740
|
-
UPB_INLINE void _upb_mapsorter_destroy(_upb_mapsorter
|
802
|
+
UPB_INLINE void _upb_mapsorter_destroy(_upb_mapsorter* s) {
|
741
803
|
if (s->entries) free(s->entries);
|
742
804
|
}
|
743
805
|
|
744
|
-
bool _upb_mapsorter_pushmap(_upb_mapsorter
|
745
|
-
const
|
806
|
+
bool _upb_mapsorter_pushmap(_upb_mapsorter* s, upb_FieldType key_type,
|
807
|
+
const upb_Map* map, _upb_sortedmap* sorted);
|
746
808
|
|
747
|
-
UPB_INLINE void _upb_mapsorter_popmap(_upb_mapsorter
|
809
|
+
UPB_INLINE void _upb_mapsorter_popmap(_upb_mapsorter* s,
|
810
|
+
_upb_sortedmap* sorted) {
|
748
811
|
s->size = sorted->start;
|
749
812
|
}
|
750
813
|
|
751
|
-
UPB_INLINE bool _upb_sortedmap_next(_upb_mapsorter
|
752
|
-
_upb_sortedmap
|
753
|
-
upb_map_entry *ent) {
|
814
|
+
UPB_INLINE bool _upb_sortedmap_next(_upb_mapsorter* s, const upb_Map* map,
|
815
|
+
_upb_sortedmap* sorted, upb_MapEntry* ent) {
|
754
816
|
if (sorted->pos == sorted->end) return false;
|
755
|
-
const upb_tabent
|
756
|
-
|
817
|
+
const upb_tabent* tabent = s->entries[sorted->pos++];
|
818
|
+
upb_StringView key = upb_tabstrview(tabent->key);
|
757
819
|
_upb_map_fromkey(key, &ent->k, map->key_size);
|
758
820
|
upb_value val = {tabent->val.val};
|
759
821
|
_upb_map_fromvalue(val, &ent->v, map->val_size);
|
@@ -761,7 +823,7 @@ UPB_INLINE bool _upb_sortedmap_next(_upb_mapsorter *s, const upb_map *map,
|
|
761
823
|
}
|
762
824
|
|
763
825
|
#ifdef __cplusplus
|
764
|
-
}
|
826
|
+
} /* extern "C" */
|
765
827
|
#endif
|
766
828
|
|
767
829
|
#include "upb/port_undef.inc"
|