grpc 1.54.0 → 1.55.0

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.

Files changed (970) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +66 -37
  3. data/include/grpc/impl/grpc_types.h +2 -0
  4. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +1 -1
  5. data/src/core/ext/filters/client_channel/backend_metric.cc +2 -1
  6. data/src/core/ext/filters/client_channel/client_channel.cc +13 -17
  7. data/src/core/ext/filters/client_channel/client_channel.h +20 -16
  8. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +1 -1
  9. data/src/core/ext/filters/client_channel/client_channel_internal.h +8 -40
  10. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +2 -2
  11. data/src/core/ext/filters/client_channel/config_selector.h +5 -17
  12. data/src/core/ext/filters/client_channel/health/health_check_client.cc +1 -1
  13. data/src/core/ext/filters/client_channel/http_proxy.cc +34 -1
  14. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +2 -2
  15. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +1 -1
  16. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
  17. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +5 -5
  18. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +3 -3
  19. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +45 -46
  20. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +2 -3
  21. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +3 -3
  22. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +3 -3
  23. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +4 -4
  24. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +3 -3
  25. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +9 -9
  26. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +4 -4
  27. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +5 -4
  28. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +19 -118
  29. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h +30 -0
  30. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc +60 -0
  31. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.h +27 -0
  32. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +524 -0
  33. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.h +35 -0
  34. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +97 -0
  35. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h +32 -0
  36. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +2 -13
  37. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.h +24 -0
  38. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +3 -2
  39. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +7 -34
  40. data/src/core/ext/filters/client_channel/retry_filter.cc +23 -55
  41. data/src/core/ext/filters/client_channel/retry_service_config.cc +8 -8
  42. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
  43. data/src/core/ext/filters/http/message_compress/compression_filter.cc +2 -2
  44. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +68 -69
  45. data/src/core/ext/gcp/metadata_query.cc +5 -10
  46. data/src/core/ext/gcp/metadata_query.h +10 -5
  47. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +12 -8
  48. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +5 -1
  49. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +78 -23
  50. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +21 -0
  51. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +70 -0
  52. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +1 -7
  53. data/src/core/ext/transport/chttp2/transport/frame_ping.h +0 -3
  54. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +118 -222
  55. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +296 -113
  56. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -0
  57. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +2 -0
  58. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +451 -277
  59. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +3 -1
  60. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +15 -12
  61. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +9 -1
  62. data/src/core/ext/transport/chttp2/transport/internal.h +3 -4
  63. data/src/core/ext/transport/chttp2/transport/writing.cc +14 -3
  64. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +87 -52
  65. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +414 -181
  66. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -60
  67. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +481 -224
  68. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +90 -55
  69. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +415 -188
  70. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +357 -210
  71. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1572 -729
  72. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +30 -17
  73. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +144 -47
  74. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +34 -21
  75. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -62
  76. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +27 -14
  77. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +78 -38
  78. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +20 -11
  79. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +48 -26
  80. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +20 -11
  81. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +48 -26
  82. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +109 -62
  83. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +566 -244
  84. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +21 -12
  85. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +45 -30
  86. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +22 -19
  87. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +82 -29
  88. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +23 -16
  89. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +45 -30
  90. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +230 -143
  91. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +733 -404
  92. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +417 -264
  93. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1839 -899
  94. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -41
  95. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +286 -148
  96. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +531 -334
  97. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2017 -1131
  98. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +21 -12
  99. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +45 -30
  100. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +89 -52
  101. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +347 -232
  102. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +264 -165
  103. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +888 -476
  104. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +139 -80
  105. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +527 -274
  106. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +22 -13
  107. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +50 -36
  108. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +380 -221
  109. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1168 -611
  110. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +166 -94
  111. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +666 -292
  112. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +18 -11
  113. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +37 -26
  114. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +21 -12
  115. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +45 -30
  116. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +30 -17
  117. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +144 -47
  118. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +274 -167
  119. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +789 -440
  120. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +228 -137
  121. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +1100 -501
  122. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +22 -13
  123. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +60 -37
  124. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +350 -211
  125. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1072 -646
  126. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +33 -18
  127. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +117 -51
  128. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +34 -19
  129. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +118 -56
  130. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +38 -21
  131. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +148 -64
  132. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +31 -18
  133. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +143 -65
  134. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +22 -13
  135. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +51 -37
  136. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +78 -43
  137. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +265 -127
  138. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +145 -88
  139. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +438 -241
  140. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +115 -62
  141. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +559 -227
  142. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +18 -11
  143. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +35 -26
  144. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +175 -118
  145. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +857 -442
  146. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +172 -95
  147. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +864 -374
  148. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +48 -27
  149. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +159 -110
  150. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +39 -18
  151. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +74 -56
  152. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +28 -15
  153. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +71 -45
  154. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +131 -74
  155. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +489 -249
  156. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +135 -80
  157. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +505 -245
  158. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +248 -139
  159. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +933 -433
  160. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +80 -49
  161. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +616 -201
  162. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +1283 -776
  163. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +5422 -2519
  164. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +49 -28
  165. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +164 -84
  166. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +228 -141
  167. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +738 -399
  168. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +20 -11
  169. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +48 -26
  170. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +21 -12
  171. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +45 -30
  172. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +32 -19
  173. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +70 -49
  174. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +27 -14
  175. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +110 -43
  176. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +46 -25
  177. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +259 -100
  178. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +21 -12
  179. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +45 -30
  180. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +18 -11
  181. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +35 -26
  182. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +42 -23
  183. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +108 -70
  184. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +7 -4
  185. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +21 -16
  186. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +43 -24
  187. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +110 -75
  188. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +30 -17
  189. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +95 -50
  190. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +16 -9
  191. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +73 -23
  192. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +60 -37
  193. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +150 -108
  194. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +74 -43
  195. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +357 -167
  196. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +44 -25
  197. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +114 -80
  198. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -20
  199. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +245 -82
  200. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +32 -19
  201. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +73 -51
  202. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +474 -296
  203. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2121 -1076
  204. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +18 -11
  205. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +35 -26
  206. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +34 -21
  207. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +112 -78
  208. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +72 -45
  209. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +193 -138
  210. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +34 -21
  211. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +119 -78
  212. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +18 -11
  213. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +35 -26
  214. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +7 -4
  215. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +15 -10
  216. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +184 -96
  217. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +907 -360
  218. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +56 -33
  219. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -101
  220. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +188 -111
  221. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +816 -419
  222. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +32 -19
  223. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +109 -53
  224. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +10 -7
  225. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +18 -14
  226. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +300 -177
  227. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1284 -522
  228. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +42 -23
  229. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +188 -75
  230. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +130 -83
  231. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +510 -238
  232. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +22 -13
  233. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +55 -34
  234. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +39 -26
  235. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +124 -68
  236. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +21 -12
  237. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +47 -30
  238. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +52 -29
  239. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +92 -62
  240. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +37 -20
  241. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +133 -63
  242. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +22 -13
  243. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +91 -40
  244. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +21 -12
  245. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +50 -32
  246. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +18 -11
  247. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +37 -26
  248. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +46 -27
  249. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +101 -70
  250. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +13 -10
  251. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +25 -22
  252. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +40 -23
  253. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +161 -75
  254. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +31 -18
  255. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +114 -56
  256. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +46 -29
  257. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +139 -91
  258. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +65 -42
  259. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +200 -121
  260. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +80 -45
  261. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +208 -131
  262. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +34 -21
  263. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +74 -53
  264. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +7 -4
  265. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +13 -8
  266. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +16 -9
  267. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +28 -18
  268. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +28 -15
  269. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +55 -34
  270. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +43 -22
  271. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +91 -53
  272. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +35 -20
  273. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +92 -57
  274. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +7 -4
  275. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +13 -8
  276. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +20 -11
  277. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +48 -26
  278. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +23 -14
  279. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +61 -41
  280. data/src/core/ext/upb-generated/google/api/annotations.upb.c +14 -11
  281. data/src/core/ext/upb-generated/google/api/annotations.upb.h +30 -20
  282. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +255 -154
  283. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +934 -450
  284. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +299 -180
  285. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +946 -483
  286. data/src/core/ext/upb-generated/google/api/http.upb.c +68 -35
  287. data/src/core/ext/upb-generated/google/api/http.upb.h +284 -120
  288. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +22 -13
  289. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +95 -37
  290. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +19 -10
  291. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +38 -22
  292. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +1018 -424
  293. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +3851 -1412
  294. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +19 -10
  295. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +38 -22
  296. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +10 -7
  297. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +18 -14
  298. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +62 -39
  299. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +207 -102
  300. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +19 -10
  301. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +38 -22
  302. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +90 -51
  303. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +157 -107
  304. data/src/core/ext/upb-generated/google/rpc/status.upb.c +22 -13
  305. data/src/core/ext/upb-generated/google/rpc/status.upb.h +95 -37
  306. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +59 -34
  307. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +154 -92
  308. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +43 -24
  309. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +118 -60
  310. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +250 -145
  311. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +919 -415
  312. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +34 -19
  313. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +76 -51
  314. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +25 -14
  315. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +45 -30
  316. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +144 -81
  317. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +405 -217
  318. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +51 -26
  319. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +153 -61
  320. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +173 -102
  321. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +855 -298
  322. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +68 -49
  323. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +155 -104
  324. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +26 -17
  325. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +55 -34
  326. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +12 -9
  327. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +31 -14
  328. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +26 -17
  329. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +55 -34
  330. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +23 -16
  331. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +45 -30
  332. data/src/core/ext/upb-generated/validate/validate.upb.c +845 -455
  333. data/src/core/ext/upb-generated/validate/validate.upb.h +4347 -1908
  334. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +68 -49
  335. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +155 -104
  336. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +26 -17
  337. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +55 -34
  338. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +12 -9
  339. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +31 -14
  340. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +65 -44
  341. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +137 -91
  342. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +23 -16
  343. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +45 -30
  344. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +16 -9
  345. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +28 -18
  346. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +21 -12
  347. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +45 -30
  348. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +37 -22
  349. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +96 -63
  350. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +26 -17
  351. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +52 -29
  352. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +21 -12
  353. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +45 -30
  354. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +23 -14
  355. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +62 -42
  356. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +44 -25
  357. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +169 -79
  358. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +27 -14
  359. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +65 -38
  360. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +69 -38
  361. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +167 -76
  362. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +21 -12
  363. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +89 -34
  364. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +18 -11
  365. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +35 -26
  366. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +32 -19
  367. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +150 -54
  368. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +10 -7
  369. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +18 -14
  370. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +34 -21
  371. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +161 -63
  372. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +162 -101
  373. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +501 -293
  374. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +85 -52
  375. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +430 -164
  376. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +24 -15
  377. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +53 -37
  378. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +40 -23
  379. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +161 -75
  380. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +37 -22
  381. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +92 -66
  382. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +43 -22
  383. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +91 -53
  384. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +21 -12
  385. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +45 -30
  386. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +1 -1
  387. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +6 -5
  388. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +1 -1
  389. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +6 -5
  390. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +1 -1
  391. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +6 -5
  392. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +1 -1
  393. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +6 -5
  394. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +1 -1
  395. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +6 -5
  396. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +1 -1
  397. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +6 -5
  398. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +1 -1
  399. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +6 -5
  400. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +1 -1
  401. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +6 -5
  402. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +1 -1
  403. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +6 -5
  404. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +1 -1
  405. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +6 -5
  406. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +1 -1
  407. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +6 -5
  408. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +1 -1
  409. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +6 -5
  410. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +1 -1
  411. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +6 -5
  412. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +1 -1
  413. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +6 -5
  414. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +252 -253
  415. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +6 -5
  416. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +1 -1
  417. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +6 -5
  418. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +1 -1
  419. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +6 -5
  420. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +1 -1
  421. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +6 -5
  422. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +1 -1
  423. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +6 -5
  424. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +1 -1
  425. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +6 -5
  426. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +1 -1
  427. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +6 -5
  428. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +1 -1
  429. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +6 -5
  430. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +1 -1
  431. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +6 -5
  432. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +13 -12
  433. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +11 -5
  434. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +1 -1
  435. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +6 -5
  436. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +1 -1
  437. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +6 -5
  438. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +1 -1
  439. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +6 -5
  440. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +1 -1
  441. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +6 -5
  442. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +1 -1
  443. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +6 -5
  444. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +1 -1
  445. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +6 -5
  446. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +44 -44
  447. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +6 -5
  448. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +1 -1
  449. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +6 -5
  450. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +1 -1
  451. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +6 -5
  452. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +1 -1
  453. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +6 -5
  454. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +1 -1
  455. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +6 -5
  456. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +1 -1
  457. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +6 -5
  458. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +1 -1
  459. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +6 -5
  460. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +1 -1
  461. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +6 -5
  462. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +1 -1
  463. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +6 -5
  464. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +1 -1
  465. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +6 -5
  466. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +1 -1
  467. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +6 -5
  468. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +1 -1
  469. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +6 -5
  470. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +1 -1
  471. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +6 -5
  472. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +1 -1
  473. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +6 -5
  474. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +1 -1
  475. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +6 -5
  476. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +1 -1
  477. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +6 -5
  478. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +1 -1
  479. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +6 -5
  480. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +134 -128
  481. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +11 -5
  482. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +1 -1
  483. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +6 -5
  484. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +1 -1
  485. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +6 -5
  486. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +1 -1
  487. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +6 -5
  488. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +1 -1
  489. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +6 -5
  490. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +1 -1
  491. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +6 -5
  492. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +1 -1
  493. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +6 -5
  494. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +1 -1
  495. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +6 -5
  496. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +1 -1
  497. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +6 -5
  498. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +1 -1
  499. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +6 -5
  500. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +1 -1
  501. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +6 -5
  502. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +1 -1
  503. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +6 -5
  504. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +1 -1
  505. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +6 -5
  506. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +1 -1
  507. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +6 -5
  508. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +1 -1
  509. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +6 -5
  510. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +1 -1
  511. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +6 -5
  512. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +1 -1
  513. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +6 -5
  514. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +1 -1
  515. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +6 -5
  516. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +1 -1
  517. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +6 -5
  518. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +1 -1
  519. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +6 -5
  520. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +1 -1
  521. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +6 -5
  522. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +1 -1
  523. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +6 -5
  524. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +379 -376
  525. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +6 -5
  526. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +1 -1
  527. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +6 -5
  528. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +1 -1
  529. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +6 -5
  530. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +138 -136
  531. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +6 -5
  532. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +1 -1
  533. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +6 -5
  534. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +1 -1
  535. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +6 -5
  536. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +1 -1
  537. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +6 -5
  538. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +1 -1
  539. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +6 -5
  540. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +1 -1
  541. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +6 -5
  542. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +1 -1
  543. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +6 -5
  544. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +12 -13
  545. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +6 -5
  546. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +1 -1
  547. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +6 -5
  548. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +1 -1
  549. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +6 -5
  550. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +1 -1
  551. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +6 -5
  552. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +1 -1
  553. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +6 -5
  554. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +1 -1
  555. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +6 -5
  556. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +1 -1
  557. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +6 -5
  558. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +1 -1
  559. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +6 -5
  560. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +1 -1
  561. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +6 -5
  562. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +1 -1
  563. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +6 -5
  564. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +1 -1
  565. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +6 -5
  566. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +1 -1
  567. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +6 -5
  568. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +1 -1
  569. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +6 -5
  570. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +1 -1
  571. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +6 -5
  572. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +1 -1
  573. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +6 -5
  574. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +1 -1
  575. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +6 -5
  576. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +1 -1
  577. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +6 -5
  578. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +1 -1
  579. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +6 -5
  580. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +1 -1
  581. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +6 -5
  582. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +1 -1
  583. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +6 -5
  584. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +1 -1
  585. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +6 -5
  586. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +1 -1
  587. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +6 -5
  588. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +1 -1
  589. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +6 -5
  590. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +1 -1
  591. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +6 -5
  592. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +1 -1
  593. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +6 -5
  594. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +1 -1
  595. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +6 -5
  596. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +1 -1
  597. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +6 -5
  598. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +1 -1
  599. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +6 -5
  600. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +1 -1
  601. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +6 -5
  602. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +1 -1
  603. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +6 -5
  604. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +1 -1
  605. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +6 -5
  606. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +329 -273
  607. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +11 -5
  608. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +1 -1
  609. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +6 -5
  610. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +1 -1
  611. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +6 -5
  612. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +1 -1
  613. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +6 -5
  614. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +1 -1
  615. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +6 -5
  616. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +1 -1
  617. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +6 -5
  618. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +1 -1
  619. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +6 -5
  620. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +1 -1
  621. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +6 -5
  622. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +1 -1
  623. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +6 -5
  624. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +1 -1
  625. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +6 -5
  626. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +1 -1
  627. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +6 -5
  628. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +1 -1
  629. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +6 -5
  630. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +1 -1
  631. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +6 -5
  632. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +1 -1
  633. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +6 -5
  634. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +1 -1
  635. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +6 -5
  636. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +1 -1
  637. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +6 -5
  638. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +1 -1
  639. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +6 -5
  640. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +1 -1
  641. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +6 -5
  642. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +1 -1
  643. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +6 -5
  644. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +1 -1
  645. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +6 -5
  646. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +1 -1
  647. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +6 -5
  648. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +1 -1
  649. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +6 -5
  650. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +1 -1
  651. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +6 -5
  652. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +1 -1
  653. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +6 -5
  654. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +1 -1
  655. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +6 -5
  656. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +1 -1
  657. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +6 -5
  658. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +1 -1
  659. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +6 -5
  660. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +1 -1
  661. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +6 -5
  662. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +1 -1
  663. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +6 -5
  664. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +1 -1
  665. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +6 -5
  666. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +1 -1
  667. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +6 -5
  668. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +1 -1
  669. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +6 -5
  670. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +1 -1
  671. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +6 -5
  672. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +1 -1
  673. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +6 -5
  674. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +1 -1
  675. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +6 -5
  676. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +1 -1
  677. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +6 -5
  678. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +1 -1
  679. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +6 -5
  680. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +1 -1
  681. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +6 -5
  682. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +1 -1
  683. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +6 -5
  684. data/src/core/ext/xds/certificate_provider_store.cc +4 -4
  685. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +7 -7
  686. data/src/core/ext/xds/upb_utils.h +1 -1
  687. data/src/core/ext/xds/xds_api.cc +34 -14
  688. data/src/core/ext/xds/xds_api.h +2 -2
  689. data/src/core/ext/xds/xds_bootstrap.cc +3 -3
  690. data/src/core/ext/xds/xds_bootstrap_grpc.cc +15 -15
  691. data/src/core/ext/xds/xds_client.cc +24 -3
  692. data/src/core/ext/xds/xds_client.h +1 -1
  693. data/src/core/ext/xds/xds_cluster.cc +26 -34
  694. data/src/core/ext/xds/xds_cluster.h +1 -2
  695. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +4 -3
  696. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +2 -2
  697. data/src/core/ext/xds/xds_common_types.cc +5 -4
  698. data/src/core/ext/xds/xds_endpoint.cc +5 -2
  699. data/src/core/ext/xds/xds_endpoint.h +1 -1
  700. data/src/core/ext/xds/xds_http_fault_filter.cc +2 -2
  701. data/src/core/ext/xds/xds_http_fault_filter.h +1 -1
  702. data/src/core/ext/xds/xds_http_filters.h +3 -2
  703. data/src/core/ext/xds/xds_http_rbac_filter.cc +6 -8
  704. data/src/core/ext/xds/xds_http_rbac_filter.h +1 -1
  705. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +2 -2
  706. data/src/core/ext/xds/xds_http_stateful_session_filter.h +1 -1
  707. data/src/core/ext/xds/xds_lb_policy_registry.cc +4 -22
  708. data/src/core/ext/xds/xds_listener.cc +10 -4
  709. data/src/core/ext/xds/xds_listener.h +1 -1
  710. data/src/core/ext/xds/xds_resource_type.h +2 -2
  711. data/src/core/ext/xds/xds_route_config.cc +8 -5
  712. data/src/core/ext/xds/xds_route_config.h +1 -1
  713. data/src/core/lib/channel/channelz.cc +5 -4
  714. data/src/core/lib/channel/channelz_registry.cc +7 -6
  715. data/src/core/lib/channel/connected_channel.cc +82 -27
  716. data/src/core/lib/channel/promise_based_filter.cc +2 -8
  717. data/src/core/lib/debug/trace.cc +16 -7
  718. data/src/core/lib/debug/trace.h +12 -4
  719. data/src/core/lib/event_engine/event_engine.cc +4 -4
  720. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +8 -26
  721. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +6 -1
  722. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +3 -0
  723. data/src/core/lib/event_engine/shim.cc +2 -0
  724. data/src/core/lib/event_engine/trace.cc +1 -0
  725. data/src/core/lib/event_engine/trace.h +6 -0
  726. data/src/core/lib/experiments/experiments.cc +3 -0
  727. data/src/core/lib/experiments/experiments.h +4 -1
  728. data/src/core/lib/gpr/posix/time.cc +5 -0
  729. data/src/core/lib/gprpp/status_helper.cc +2 -2
  730. data/src/core/lib/gprpp/validation_errors.cc +8 -3
  731. data/src/core/lib/gprpp/validation_errors.h +16 -9
  732. data/src/core/lib/iomgr/buffer_list.h +0 -1
  733. data/src/core/lib/iomgr/socket_utils_posix.cc +3 -0
  734. data/src/core/lib/iomgr/socket_utils_posix.h +3 -0
  735. data/src/core/lib/iomgr/tcp_client_posix.cc +4 -0
  736. data/src/core/lib/iomgr/timer_generic.cc +17 -16
  737. data/src/core/lib/json/json.h +61 -113
  738. data/src/core/lib/json/json_object_loader.cc +20 -20
  739. data/src/core/lib/json/json_object_loader.h +8 -3
  740. data/src/core/lib/json/json_reader.cc +58 -38
  741. data/src/core/lib/json/json_reader.h +34 -0
  742. data/src/core/lib/json/json_util.cc +6 -6
  743. data/src/core/lib/json/json_util.h +5 -4
  744. data/src/core/lib/json/json_writer.cc +19 -19
  745. data/src/core/lib/json/json_writer.h +33 -0
  746. data/src/core/lib/load_balancing/lb_policy_registry.cc +7 -7
  747. data/src/core/lib/promise/pipe.h +7 -0
  748. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +35 -37
  749. data/src/core/lib/security/credentials/external/external_account_credentials.cc +60 -62
  750. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +22 -21
  751. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +28 -27
  752. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +4 -2
  753. data/src/core/lib/security/credentials/jwt/json_token.cc +6 -4
  754. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +8 -5
  755. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +39 -38
  756. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +17 -16
  757. data/src/core/lib/security/util/json_util.cc +5 -5
  758. data/src/core/lib/service_config/service_config_impl.cc +11 -5
  759. data/src/core/lib/slice/slice.h +2 -0
  760. data/src/core/lib/surface/call.cc +71 -26
  761. data/src/core/lib/surface/call.h +1 -5
  762. data/src/core/lib/surface/completion_queue.cc +2 -1
  763. data/src/core/lib/surface/server.cc +47 -19
  764. data/src/core/lib/surface/validate_metadata.cc +43 -42
  765. data/src/core/lib/surface/validate_metadata.h +9 -0
  766. data/src/core/lib/surface/version.cc +2 -2
  767. data/src/core/lib/transport/batch_builder.h +9 -1
  768. data/src/core/lib/transport/metadata_batch.h +71 -20
  769. data/src/core/lib/transport/metadata_compression_traits.h +67 -0
  770. data/src/core/lib/transport/parsed_metadata.h +16 -6
  771. data/src/core/lib/transport/simple_slice_based_metadata.h +48 -0
  772. data/src/core/lib/transport/transport.h +3 -0
  773. data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -4
  774. data/src/ruby/lib/grpc/version.rb +1 -1
  775. data/third_party/abseil-cpp/absl/base/config.h +1 -1
  776. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +33 -47
  777. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +7 -4
  778. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +32 -2
  779. data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +11 -12
  780. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +826 -0
  781. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +10 -12
  782. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +8 -10
  783. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +2 -1
  784. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +2 -1
  785. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +18 -14
  786. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +17 -21
  787. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +7 -3
  788. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +3 -4
  789. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +1 -72
  790. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +4 -2
  791. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +4 -3
  792. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +7 -3
  793. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +4 -2
  794. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +1 -1
  795. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -8
  796. data/third_party/boringssl-with-bazel/src/include/openssl/kyber.h +128 -0
  797. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +8 -1
  798. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +1 -1
  799. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +8 -12
  800. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +1 -10
  801. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +9 -2
  802. data/third_party/boringssl-with-bazel/src/ssl/internal.h +17 -17
  803. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +8 -4
  804. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +2 -2
  805. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +72 -5
  806. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +19 -21
  807. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +2 -1
  808. data/third_party/upb/upb/{table_internal.h → alloc.h} +6 -6
  809. data/third_party/upb/upb/arena.h +4 -193
  810. data/third_party/upb/upb/array.h +4 -51
  811. data/third_party/upb/upb/base/descriptor_constants.h +104 -0
  812. data/third_party/upb/upb/base/log2.h +57 -0
  813. data/third_party/upb/upb/{status.c → base/status.c} +2 -7
  814. data/third_party/upb/upb/base/status.h +66 -0
  815. data/third_party/upb/upb/base/string_view.h +75 -0
  816. data/third_party/upb/upb/{array.c → collections/array.c} +67 -36
  817. data/third_party/upb/upb/collections/array.h +85 -0
  818. data/third_party/upb/upb/collections/array_internal.h +135 -0
  819. data/third_party/upb/upb/{map.c → collections/map.c} +53 -26
  820. data/third_party/upb/upb/collections/map.h +135 -0
  821. data/third_party/upb/upb/collections/map_gencode_util.h +78 -0
  822. data/third_party/upb/upb/collections/map_internal.h +170 -0
  823. data/third_party/upb/upb/collections/map_sorter.c +166 -0
  824. data/third_party/upb/upb/collections/map_sorter_internal.h +109 -0
  825. data/third_party/upb/upb/{message_value.h → collections/message_value.h} +12 -13
  826. data/third_party/upb/upb/decode.h +3 -62
  827. data/third_party/upb/upb/def.h +4 -384
  828. data/third_party/upb/upb/def.hpp +3 -411
  829. data/third_party/upb/upb/encode.h +3 -48
  830. data/third_party/upb/upb/extension_registry.h +3 -52
  831. data/third_party/upb/upb/{table.c → hash/common.c} +52 -110
  832. data/third_party/upb/upb/hash/common.h +199 -0
  833. data/third_party/upb/upb/hash/int_table.h +102 -0
  834. data/third_party/upb/upb/hash/str_table.h +161 -0
  835. data/third_party/upb/upb/{json_decode.c → json/decode.c} +63 -98
  836. data/third_party/upb/upb/json/decode.h +52 -0
  837. data/third_party/upb/upb/{json_encode.c → json/encode.c} +69 -45
  838. data/third_party/upb/upb/json/encode.h +70 -0
  839. data/third_party/upb/upb/json_decode.h +4 -15
  840. data/third_party/upb/upb/json_encode.h +4 -33
  841. data/third_party/upb/upb/lex/atoi.c +68 -0
  842. data/third_party/upb/upb/lex/atoi.h +53 -0
  843. data/third_party/upb/upb/{upb.c → lex/round_trip.c} +2 -11
  844. data/third_party/upb/upb/{internal/upb.h → lex/round_trip.h} +17 -30
  845. data/third_party/upb/upb/lex/strtod.c +97 -0
  846. data/third_party/upb/upb/lex/strtod.h +46 -0
  847. data/third_party/upb/upb/lex/unicode.c +57 -0
  848. data/third_party/upb/upb/lex/unicode.h +77 -0
  849. data/third_party/upb/upb/map.h +4 -85
  850. data/third_party/upb/upb/mem/alloc.c +47 -0
  851. data/third_party/upb/upb/mem/alloc.h +98 -0
  852. data/third_party/upb/upb/mem/arena.c +367 -0
  853. data/third_party/upb/upb/mem/arena.h +160 -0
  854. data/third_party/upb/upb/mem/arena_internal.h +114 -0
  855. data/third_party/upb/upb/message/accessors.c +68 -0
  856. data/third_party/upb/upb/message/accessors.h +379 -0
  857. data/third_party/upb/upb/message/accessors_internal.h +325 -0
  858. data/third_party/upb/upb/message/extension_internal.h +83 -0
  859. data/third_party/upb/upb/message/internal.h +135 -0
  860. data/third_party/upb/upb/message/message.c +180 -0
  861. data/third_party/upb/upb/message/message.h +69 -0
  862. data/third_party/upb/upb/mini_table/common.c +128 -0
  863. data/third_party/upb/upb/mini_table/common.h +170 -0
  864. data/third_party/upb/upb/mini_table/common_internal.h +111 -0
  865. data/third_party/upb/upb/{mini_table.c → mini_table/decode.c} +513 -533
  866. data/third_party/upb/upb/mini_table/decode.h +179 -0
  867. data/third_party/upb/upb/mini_table/encode.c +300 -0
  868. data/third_party/upb/upb/mini_table/encode_internal.h +111 -0
  869. data/third_party/upb/upb/{mini_table.hpp → mini_table/encode_internal.hpp} +32 -8
  870. data/third_party/upb/upb/mini_table/enum_internal.h +88 -0
  871. data/third_party/upb/upb/mini_table/extension_internal.h +47 -0
  872. data/third_party/upb/upb/{extension_registry.c → mini_table/extension_registry.c} +27 -24
  873. data/third_party/upb/upb/mini_table/extension_registry.h +104 -0
  874. data/third_party/upb/upb/mini_table/field_internal.h +192 -0
  875. data/third_party/upb/upb/mini_table/file_internal.h +47 -0
  876. data/third_party/upb/upb/mini_table/message_internal.h +136 -0
  877. data/third_party/upb/upb/mini_table/sub_internal.h +38 -0
  878. data/third_party/upb/upb/mini_table/types.h +40 -0
  879. data/third_party/upb/upb/mini_table.h +4 -157
  880. data/third_party/upb/upb/msg.h +3 -38
  881. data/third_party/upb/upb/port/atomic.h +101 -0
  882. data/third_party/upb/upb/{port_def.inc → port/def.inc} +94 -27
  883. data/third_party/upb/upb/{port_undef.inc → port/undef.inc} +13 -3
  884. data/third_party/upb/upb/{internal → port}/vsnprintf_compat.h +5 -7
  885. data/third_party/upb/upb/reflection/common.h +67 -0
  886. data/third_party/upb/upb/reflection/def.h +42 -0
  887. data/third_party/upb/upb/reflection/def.hpp +610 -0
  888. data/third_party/upb/upb/reflection/def_builder.c +357 -0
  889. data/third_party/upb/upb/reflection/def_builder_internal.h +157 -0
  890. data/third_party/upb/upb/reflection/def_pool.c +462 -0
  891. data/third_party/upb/upb/reflection/def_pool.h +108 -0
  892. data/third_party/upb/upb/reflection/def_pool_internal.h +77 -0
  893. data/third_party/upb/upb/reflection/def_type.c +50 -0
  894. data/third_party/upb/upb/reflection/def_type.h +81 -0
  895. data/third_party/upb/upb/reflection/desc_state.c +53 -0
  896. data/third_party/upb/upb/reflection/desc_state_internal.h +64 -0
  897. data/third_party/upb/upb/reflection/enum_def.c +310 -0
  898. data/third_party/upb/upb/reflection/enum_def.h +80 -0
  899. data/third_party/upb/upb/reflection/enum_def_internal.h +56 -0
  900. data/third_party/upb/upb/reflection/enum_reserved_range.c +84 -0
  901. data/third_party/upb/upb/reflection/enum_reserved_range.h +51 -0
  902. data/third_party/upb/upb/reflection/enum_reserved_range_internal.h +55 -0
  903. data/third_party/upb/upb/reflection/enum_value_def.c +144 -0
  904. data/third_party/upb/upb/reflection/enum_value_def.h +57 -0
  905. data/third_party/upb/upb/reflection/enum_value_def_internal.h +57 -0
  906. data/third_party/upb/upb/reflection/extension_range.c +93 -0
  907. data/third_party/upb/upb/reflection/extension_range.h +55 -0
  908. data/third_party/upb/upb/reflection/extension_range_internal.h +54 -0
  909. data/third_party/upb/upb/reflection/field_def.c +930 -0
  910. data/third_party/upb/upb/reflection/field_def.h +91 -0
  911. data/third_party/upb/upb/reflection/field_def_internal.h +76 -0
  912. data/third_party/upb/upb/reflection/file_def.c +370 -0
  913. data/third_party/upb/upb/reflection/file_def.h +77 -0
  914. data/third_party/upb/upb/reflection/file_def_internal.h +57 -0
  915. data/third_party/upb/upb/reflection/message.c +233 -0
  916. data/third_party/upb/upb/reflection/message.h +102 -0
  917. data/third_party/upb/upb/reflection/message.hpp +37 -0
  918. data/third_party/upb/upb/reflection/message_def.c +718 -0
  919. data/third_party/upb/upb/reflection/message_def.h +174 -0
  920. data/third_party/upb/upb/reflection/message_def_internal.h +63 -0
  921. data/third_party/upb/upb/reflection/message_reserved_range.c +81 -0
  922. data/third_party/upb/upb/reflection/message_reserved_range.h +51 -0
  923. data/third_party/upb/upb/reflection/message_reserved_range_internal.h +55 -0
  924. data/third_party/upb/upb/reflection/method_def.c +124 -0
  925. data/third_party/upb/upb/reflection/method_def.h +59 -0
  926. data/third_party/upb/upb/reflection/method_def_internal.h +53 -0
  927. data/third_party/upb/upb/reflection/oneof_def.c +226 -0
  928. data/third_party/upb/upb/reflection/oneof_def.h +66 -0
  929. data/third_party/upb/upb/reflection/oneof_def_internal.h +57 -0
  930. data/third_party/upb/upb/reflection/service_def.c +128 -0
  931. data/third_party/upb/upb/reflection/service_def.h +60 -0
  932. data/third_party/upb/upb/reflection/service_def_internal.h +53 -0
  933. data/third_party/upb/upb/reflection.h +4 -78
  934. data/third_party/upb/upb/reflection.hpp +3 -7
  935. data/third_party/upb/upb/status.h +4 -34
  936. data/third_party/upb/upb/{collections.h → string_view.h} +7 -7
  937. data/third_party/upb/upb/{text_encode.c → text/encode.c} +74 -70
  938. data/third_party/upb/upb/text/encode.h +69 -0
  939. data/third_party/upb/upb/text_encode.h +4 -32
  940. data/third_party/upb/upb/upb.h +6 -151
  941. data/third_party/upb/upb/upb.hpp +10 -18
  942. data/third_party/upb/upb/wire/common.h +44 -0
  943. data/third_party/upb/upb/wire/common_internal.h +50 -0
  944. data/third_party/upb/upb/wire/decode.c +1343 -0
  945. data/third_party/upb/upb/wire/decode.h +108 -0
  946. data/third_party/upb/upb/{decode_fast.c → wire/decode_fast.c} +184 -225
  947. data/third_party/upb/upb/{decode_fast.h → wire/decode_fast.h} +21 -7
  948. data/third_party/upb/upb/{internal/decode.h → wire/decode_internal.h} +44 -92
  949. data/third_party/upb/upb/{encode.c → wire/encode.c} +114 -95
  950. data/third_party/upb/upb/wire/encode.h +92 -0
  951. data/third_party/upb/upb/wire/eps_copy_input_stream.c +39 -0
  952. data/third_party/upb/upb/wire/eps_copy_input_stream.h +425 -0
  953. data/third_party/upb/upb/wire/reader.c +67 -0
  954. data/third_party/upb/upb/wire/reader.h +227 -0
  955. data/third_party/upb/upb/wire/swap_internal.h +63 -0
  956. data/third_party/upb/upb/wire/types.h +41 -0
  957. data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-neon.c +1 -1
  958. data/third_party/{upb/third_party/utf8_range → utf8_range}/utf8_range.h +12 -0
  959. metadata +155 -40
  960. data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
  961. data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
  962. data/third_party/upb/upb/arena.c +0 -277
  963. data/third_party/upb/upb/decode.c +0 -1221
  964. data/third_party/upb/upb/def.c +0 -3269
  965. data/third_party/upb/upb/internal/table.h +0 -385
  966. data/third_party/upb/upb/msg.c +0 -368
  967. data/third_party/upb/upb/msg_internal.h +0 -837
  968. data/third_party/upb/upb/reflection.c +0 -323
  969. /data/third_party/{upb/third_party/utf8_range → utf8_range}/naive.c +0 -0
  970. /data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-sse.c +0 -0
@@ -35,12 +35,13 @@
35
35
  // field type (eg. oneof boolean field with a 1 byte tag) and then dispatch
36
36
  // to the specialized function as quickly as possible.
37
37
 
38
- #include "upb/decode_fast.h"
38
+ #include "upb/wire/decode_fast.h"
39
39
 
40
- #include "upb/internal/decode.h"
40
+ #include "upb/collections/array_internal.h"
41
+ #include "upb/wire/decode_internal.h"
41
42
 
42
- /* Must be last. */
43
- #include "upb/port_def.inc"
43
+ // Must be last.
44
+ #include "upb/port/def.inc"
44
45
 
45
46
  #if UPB_FASTTABLE
46
47
 
@@ -56,7 +57,7 @@
56
57
  /* Uncomment either of these for debugging purposes. */ \
57
58
  /* fprintf(stderr, m); */ \
58
59
  /*__builtin_trap(); */ \
59
- return fastdecode_generic(d, ptr, msg, table, hasbits, 0);
60
+ return _upb_FastDecoder_DecodeGeneric(d, ptr, msg, table, hasbits, 0);
60
61
 
61
62
  typedef enum {
62
63
  CARD_s = 0, /* Singular (optional, non-repeated) */
@@ -68,35 +69,32 @@ typedef enum {
68
69
  UPB_NOINLINE
69
70
  static const char* fastdecode_isdonefallback(UPB_PARSE_PARAMS) {
70
71
  int overrun = data;
71
- int status;
72
- ptr = decode_isdonefallback_inl(d, ptr, overrun, &status);
73
- if (ptr == NULL) {
74
- return fastdecode_err(d, status);
75
- }
76
- data = fastdecode_loadtag(ptr);
77
- UPB_MUSTTAIL return fastdecode_tagdispatch(UPB_PARSE_ARGS);
72
+ ptr = _upb_EpsCopyInputStream_IsDoneFallbackInline(
73
+ &d->input, ptr, overrun, _upb_Decoder_BufferFlipCallback);
74
+ data = _upb_FastDecoder_LoadTag(ptr);
75
+ UPB_MUSTTAIL return _upb_FastDecoder_TagDispatch(UPB_PARSE_ARGS);
78
76
  }
79
77
 
80
78
  UPB_FORCEINLINE
81
79
  static const char* fastdecode_dispatch(UPB_PARSE_PARAMS) {
82
- if (UPB_UNLIKELY(ptr >= d->limit_ptr)) {
83
- int overrun = ptr - d->end;
84
- if (UPB_LIKELY(overrun == d->limit)) {
85
- // Parse is finished.
80
+ int overrun;
81
+ switch (upb_EpsCopyInputStream_IsDoneStatus(&d->input, ptr, &overrun)) {
82
+ case kUpb_IsDoneStatus_Done:
86
83
  *(uint32_t*)msg |= hasbits; // Sync hasbits.
87
84
  const upb_MiniTable* l = decode_totablep(table);
88
85
  return UPB_UNLIKELY(l->required_count)
89
- ? decode_checkrequired(d, ptr, msg, l)
86
+ ? _upb_Decoder_CheckRequired(d, ptr, msg, l)
90
87
  : ptr;
91
- } else {
88
+ case kUpb_IsDoneStatus_NotDone:
89
+ break;
90
+ case kUpb_IsDoneStatus_NeedFallback:
92
91
  data = overrun;
93
92
  UPB_MUSTTAIL return fastdecode_isdonefallback(UPB_PARSE_ARGS);
94
- }
95
93
  }
96
94
 
97
95
  // Read two bytes of tag data (for a one-byte tag, the high byte is junk).
98
- data = fastdecode_loadtag(ptr);
99
- UPB_MUSTTAIL return fastdecode_tagdispatch(UPB_PARSE_ARGS);
96
+ data = _upb_FastDecoder_LoadTag(ptr);
97
+ UPB_MUSTTAIL return _upb_FastDecoder_TagDispatch(UPB_PARSE_ARGS);
100
98
  }
101
99
 
102
100
  UPB_FORCEINLINE
@@ -129,37 +127,17 @@ static const char* fastdecode_longsize(const char* ptr, int* size) {
129
127
  }
130
128
 
131
129
  UPB_FORCEINLINE
132
- static bool fastdecode_boundscheck(const char* ptr, size_t len,
133
- const char* end) {
134
- uintptr_t uptr = (uintptr_t)ptr;
135
- uintptr_t uend = (uintptr_t)end + 16;
136
- uintptr_t res = uptr + len;
137
- return res < uptr || res > uend;
138
- }
139
-
140
- UPB_FORCEINLINE
141
- static bool fastdecode_boundscheck2(const char* ptr, size_t len,
142
- const char* end) {
143
- // This is one extra branch compared to the more normal:
144
- // return (size_t)(end - ptr) < size;
145
- // However it is one less computation if we are just about to use "ptr + len":
146
- // https://godbolt.org/z/35YGPz
147
- // In microbenchmarks this shows an overall 4% improvement.
148
- uintptr_t uptr = (uintptr_t)ptr;
149
- uintptr_t uend = (uintptr_t)end;
150
- uintptr_t res = uptr + len;
151
- return res < uptr || res > uend;
152
- }
153
-
154
- typedef const char* fastdecode_delimfunc(upb_Decoder* d, const char* ptr,
155
- void* ctx);
156
-
157
- UPB_FORCEINLINE
158
- static const char* fastdecode_delimited(upb_Decoder* d, const char* ptr,
159
- fastdecode_delimfunc* func, void* ctx) {
130
+ static const char* fastdecode_delimited(
131
+ upb_Decoder* d, const char* ptr,
132
+ upb_EpsCopyInputStream_ParseDelimitedFunc* func, void* ctx) {
160
133
  ptr++;
134
+
135
+ // Sign-extend so varint greater than one byte becomes negative, causing
136
+ // fast delimited parse to fail.
161
137
  int len = (int8_t)ptr[-1];
162
- if (fastdecode_boundscheck2(ptr, len, d->limit_ptr)) {
138
+
139
+ if (!upb_EpsCopyInputStream_TryParseDelimitedFast(&d->input, &ptr, len, func,
140
+ ctx)) {
163
141
  // Slow case: Sub-message is >=128 bytes and/or exceeds the current buffer.
164
142
  // If it exceeds the buffer limit, limit/limit_ptr will change during
165
143
  // sub-message parsing, so we need to preserve delta, not limit.
@@ -171,25 +149,13 @@ static const char* fastdecode_delimited(upb_Decoder* d, const char* ptr,
171
149
  return NULL;
172
150
  }
173
151
  }
174
- if (ptr - d->end + (int)len > d->limit) {
152
+ if (!upb_EpsCopyInputStream_CheckSize(&d->input, ptr, len)) {
175
153
  // Corrupt wire format: invalid limit.
176
154
  return NULL;
177
155
  }
178
- int delta = decode_pushlimit(d, ptr, len);
179
- ptr = func(d, ptr, ctx);
180
- decode_poplimit(d, ptr, delta);
181
- } else {
182
- // Fast case: Sub-message is <128 bytes and fits in the current buffer.
183
- // This means we can preserve limit/limit_ptr verbatim.
184
- const char* saved_limit_ptr = d->limit_ptr;
185
- int saved_limit = d->limit;
186
- d->limit_ptr = ptr + len;
187
- d->limit = d->limit_ptr - d->end;
188
- UPB_ASSERT(d->limit_ptr == d->end + UPB_MIN(0, d->limit));
189
- ptr = func(d, ptr, ctx);
190
- d->limit_ptr = saved_limit_ptr;
191
- d->limit = saved_limit;
192
- UPB_ASSERT(d->limit_ptr == d->end + UPB_MIN(0, d->limit));
156
+ int delta = upb_EpsCopyInputStream_PushLimit(&d->input, ptr, len);
157
+ ptr = func(&d->input, ptr, ctx);
158
+ upb_EpsCopyInputStream_PopLimit(&d->input, ptr, delta);
193
159
  }
194
160
  return ptr;
195
161
  }
@@ -217,14 +183,14 @@ UPB_FORCEINLINE
217
183
  static void* fastdecode_resizearr(upb_Decoder* d, void* dst,
218
184
  fastdecode_arr* farr, int valbytes) {
219
185
  if (UPB_UNLIKELY(dst == farr->end)) {
220
- size_t old_size = farr->arr->size;
186
+ size_t old_size = farr->arr->capacity;
221
187
  size_t old_bytes = old_size * valbytes;
222
188
  size_t new_size = old_size * 2;
223
189
  size_t new_bytes = new_size * valbytes;
224
190
  char* old_ptr = _upb_array_ptr(farr->arr);
225
191
  char* new_ptr = upb_Arena_Realloc(&d->arena, old_ptr, old_bytes, new_bytes);
226
192
  uint8_t elem_size_lg2 = __builtin_ctz(valbytes);
227
- farr->arr->size = new_size;
193
+ farr->arr->capacity = new_size;
228
194
  farr->arr->data = _upb_array_tagptr(new_ptr, elem_size_lg2);
229
195
  dst = (void*)(new_ptr + (old_size * valbytes));
230
196
  farr->end = (void*)(new_ptr + (new_size * valbytes));
@@ -244,7 +210,7 @@ static bool fastdecode_tagmatch(uint32_t tag, uint64_t data, int tagbytes) {
244
210
  UPB_FORCEINLINE
245
211
  static void fastdecode_commitarr(void* dst, fastdecode_arr* farr,
246
212
  int valbytes) {
247
- farr->arr->len =
213
+ farr->arr->size =
248
214
  (size_t)((char*)dst - (char*)_upb_array_ptr(farr->arr)) / valbytes;
249
215
  }
250
216
 
@@ -257,8 +223,8 @@ static fastdecode_nextret fastdecode_nextrepeated(upb_Decoder* d, void* dst,
257
223
  fastdecode_nextret ret;
258
224
  dst = (char*)dst + valbytes;
259
225
 
260
- if (UPB_LIKELY(!decode_isdone(d, ptr))) {
261
- ret.tag = fastdecode_loadtag(*ptr);
226
+ if (UPB_LIKELY(!_upb_Decoder_IsDone(d, ptr))) {
227
+ ret.tag = _upb_FastDecoder_LoadTag(*ptr);
262
228
  if (fastdecode_tagmatch(ret.tag, data, tagbytes)) {
263
229
  ret.next = FD_NEXT_SAMEFIELD;
264
230
  } else {
@@ -313,9 +279,9 @@ static void* fastdecode_getfield(upb_Decoder* d, const char* ptr,
313
279
  farr->arr = *arr_p;
314
280
  }
315
281
  begin = _upb_array_ptr(farr->arr);
316
- farr->end = begin + (farr->arr->size * valbytes);
317
- *data = fastdecode_loadtag(ptr);
318
- return begin + (farr->arr->len * valbytes);
282
+ farr->end = begin + (farr->arr->capacity * valbytes);
283
+ *data = _upb_FastDecoder_LoadTag(ptr);
284
+ return begin + (farr->arr->size * valbytes);
319
285
  }
320
286
  default:
321
287
  UPB_UNREACHABLE();
@@ -401,7 +367,7 @@ done:
401
367
  \
402
368
  ptr += tagbytes; \
403
369
  ptr = fastdecode_varint64(ptr, &val); \
404
- if (ptr == NULL) return fastdecode_err(d, kUpb_DecodeStatus_Malformed); \
370
+ if (ptr == NULL) _upb_FastDecoder_ErrorJmp(d, kUpb_DecodeStatus_Malformed); \
405
371
  val = fastdecode_munge(val, valbytes, zigzag); \
406
372
  memcpy(dst, &val, valbytes); \
407
373
  \
@@ -414,7 +380,7 @@ done:
414
380
  goto again; \
415
381
  case FD_NEXT_OTHERFIELD: \
416
382
  data = ret.tag; \
417
- UPB_MUSTTAIL return fastdecode_tagdispatch(UPB_PARSE_ARGS); \
383
+ UPB_MUSTTAIL return _upb_FastDecoder_TagDispatch(UPB_PARSE_ARGS); \
418
384
  case FD_NEXT_ATLIMIT: \
419
385
  return ptr; \
420
386
  } \
@@ -430,13 +396,14 @@ typedef struct {
430
396
  } fastdecode_varintdata;
431
397
 
432
398
  UPB_FORCEINLINE
433
- static const char* fastdecode_topackedvarint(upb_Decoder* d, const char* ptr,
434
- void* ctx) {
399
+ static const char* fastdecode_topackedvarint(upb_EpsCopyInputStream* e,
400
+ const char* ptr, void* ctx) {
401
+ upb_Decoder* d = (upb_Decoder*)e;
435
402
  fastdecode_varintdata* data = ctx;
436
403
  void* dst = data->dst;
437
404
  uint64_t val;
438
405
 
439
- while (!decode_isdone(d, &ptr)) {
406
+ while (!_upb_Decoder_IsDone(d, &ptr)) {
440
407
  dst = fastdecode_resizearr(d, dst, &data->farr, data->valbytes);
441
408
  ptr = fastdecode_varint64(ptr, &val);
442
409
  if (ptr == NULL) return NULL;
@@ -465,7 +432,7 @@ static const char* fastdecode_topackedvarint(upb_Decoder* d, const char* ptr,
465
432
  ptr = fastdecode_delimited(d, ptr, &fastdecode_topackedvarint, &ctx); \
466
433
  \
467
434
  if (UPB_UNLIKELY(ptr == NULL)) { \
468
- return fastdecode_err(d, kUpb_DecodeStatus_Malformed); \
435
+ _upb_FastDecoder_ErrorJmp(d, kUpb_DecodeStatus_Malformed); \
469
436
  } \
470
437
  \
471
438
  UPB_MUSTTAIL return fastdecode_dispatch(d, ptr, msg, table, hasbits, 0);
@@ -560,7 +527,7 @@ TAGBYTES(p)
560
527
  goto again; \
561
528
  case FD_NEXT_OTHERFIELD: \
562
529
  data = ret.tag; \
563
- UPB_MUSTTAIL return fastdecode_tagdispatch(UPB_PARSE_ARGS); \
530
+ UPB_MUSTTAIL return _upb_FastDecoder_TagDispatch(UPB_PARSE_ARGS); \
564
531
  case FD_NEXT_ATLIMIT: \
565
532
  return ptr; \
566
533
  } \
@@ -579,9 +546,10 @@ TAGBYTES(p)
579
546
  ptr = fastdecode_longsize(ptr, &size); \
580
547
  } \
581
548
  \
582
- if (UPB_UNLIKELY(fastdecode_boundscheck(ptr, size, d->limit_ptr) || \
549
+ if (UPB_UNLIKELY(!upb_EpsCopyInputStream_CheckDataSizeAvailable( \
550
+ &d->input, ptr, size) || \
583
551
  (size % valbytes) != 0)) { \
584
- return fastdecode_err(d, kUpb_DecodeStatus_Malformed); \
552
+ _upb_FastDecoder_ErrorJmp(d, kUpb_DecodeStatus_Malformed); \
585
553
  } \
586
554
  \
587
555
  upb_Array** arr_p = fastdecode_fieldmem(msg, data); \
@@ -592,15 +560,15 @@ TAGBYTES(p)
592
560
  if (UPB_LIKELY(!arr)) { \
593
561
  *arr_p = arr = _upb_Array_New(&d->arena, elems, elem_size_lg2); \
594
562
  if (!arr) { \
595
- return fastdecode_err(d, kUpb_DecodeStatus_Malformed); \
563
+ _upb_FastDecoder_ErrorJmp(d, kUpb_DecodeStatus_Malformed); \
596
564
  } \
597
565
  } else { \
598
- _upb_Array_Resize(arr, elems, &d->arena); \
566
+ _upb_Array_ResizeUninitialized(arr, elems, &d->arena); \
599
567
  } \
600
568
  \
601
569
  char* dst = _upb_array_ptr(arr); \
602
570
  memcpy(dst, ptr, size); \
603
- arr->len = elems; \
571
+ arr->size = elems; \
604
572
  \
605
573
  ptr += size; \
606
574
  UPB_MUSTTAIL return fastdecode_dispatch(UPB_PARSE_ARGS);
@@ -658,8 +626,8 @@ static const char* fastdecode_verifyutf8(upb_Decoder* d, const char* ptr,
658
626
  upb_Message* msg, intptr_t table,
659
627
  uint64_t hasbits, uint64_t data) {
660
628
  upb_StringView* dst = (upb_StringView*)data;
661
- if (!decode_verifyutf8_inl(dst->data, dst->size)) {
662
- return fastdecode_err(d, kUpb_DecodeStatus_BadUtf8);
629
+ if (!_upb_Decoder_VerifyUtf8Inline(dst->data, dst->size)) {
630
+ _upb_FastDecoder_ErrorJmp(d, kUpb_DecodeStatus_BadUtf8);
663
631
  }
664
632
  UPB_MUSTTAIL return fastdecode_dispatch(UPB_PARSE_ARGS);
665
633
  }
@@ -671,25 +639,17 @@ static const char* fastdecode_verifyutf8(upb_Decoder* d, const char* ptr,
671
639
  ptr = fastdecode_longsize(ptr, &size); \
672
640
  } \
673
641
  \
674
- if (UPB_UNLIKELY(fastdecode_boundscheck(ptr, size, d->limit_ptr))) { \
642
+ if (UPB_UNLIKELY(!upb_EpsCopyInputStream_CheckSize(&d->input, ptr, size))) { \
675
643
  dst->size = 0; \
676
- return fastdecode_err(d, kUpb_DecodeStatus_Malformed); \
644
+ _upb_FastDecoder_ErrorJmp(d, kUpb_DecodeStatus_Malformed); \
677
645
  } \
678
646
  \
679
- if (d->options & kUpb_DecodeOption_AliasString) { \
680
- dst->data = ptr; \
681
- dst->size = size; \
682
- } else { \
683
- char* data = upb_Arena_Malloc(&d->arena, size); \
684
- if (!data) { \
685
- return fastdecode_err(d, kUpb_DecodeStatus_OutOfMemory); \
686
- } \
687
- memcpy(data, ptr, size); \
688
- dst->data = data; \
689
- dst->size = size; \
690
- } \
647
+ const char* s_ptr = ptr; \
648
+ ptr = upb_EpsCopyInputStream_ReadString(&d->input, &s_ptr, size, &d->arena); \
649
+ if (!ptr) _upb_FastDecoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory); \
650
+ dst->data = s_ptr; \
651
+ dst->size = size; \
691
652
  \
692
- ptr += size; \
693
653
  if (validate_utf8) { \
694
654
  data = (uint64_t)dst; \
695
655
  UPB_MUSTTAIL return fastdecode_verifyutf8(UPB_PARSE_ARGS); \
@@ -724,105 +684,17 @@ static void fastdecode_docopy(upb_Decoder* d, const char* ptr, uint32_t size,
724
684
  UPB_POISON_MEMORY_REGION(data + size, copy - size);
725
685
  }
726
686
 
727
- #define FASTDECODE_COPYSTRING(d, ptr, msg, table, hasbits, data, tagbytes, \
728
- card, validate_utf8) \
729
- upb_StringView* dst; \
730
- fastdecode_arr farr; \
731
- int64_t size; \
732
- size_t arena_has; \
733
- size_t common_has; \
734
- char* buf; \
735
- \
736
- UPB_ASSERT((d->options & kUpb_DecodeOption_AliasString) == 0); \
737
- UPB_ASSERT(fastdecode_checktag(data, tagbytes)); \
738
- \
739
- dst = fastdecode_getfield(d, ptr, msg, &data, &hasbits, &farr, \
740
- sizeof(upb_StringView), card); \
741
- \
742
- again: \
743
- if (card == CARD_r) { \
744
- dst = fastdecode_resizearr(d, dst, &farr, sizeof(upb_StringView)); \
745
- } \
746
- \
747
- size = (uint8_t)ptr[tagbytes]; \
748
- ptr += tagbytes + 1; \
749
- dst->size = size; \
750
- \
751
- buf = d->arena.head.ptr; \
752
- arena_has = _upb_ArenaHas(&d->arena); \
753
- common_has = UPB_MIN(arena_has, (d->end - ptr) + 16); \
754
- \
755
- if (UPB_LIKELY(size <= 15 - tagbytes)) { \
756
- if (arena_has < 16) goto longstr; \
757
- d->arena.head.ptr += 16; \
758
- memcpy(buf, ptr - tagbytes - 1, 16); \
759
- dst->data = buf + tagbytes + 1; \
760
- } else if (UPB_LIKELY(size <= 32)) { \
761
- if (UPB_UNLIKELY(common_has < 32)) goto longstr; \
762
- fastdecode_docopy(d, ptr, size, 32, buf, dst); \
763
- } else if (UPB_LIKELY(size <= 64)) { \
764
- if (UPB_UNLIKELY(common_has < 64)) goto longstr; \
765
- fastdecode_docopy(d, ptr, size, 64, buf, dst); \
766
- } else if (UPB_LIKELY(size < 128)) { \
767
- if (UPB_UNLIKELY(common_has < 128)) goto longstr; \
768
- fastdecode_docopy(d, ptr, size, 128, buf, dst); \
769
- } else { \
770
- goto longstr; \
771
- } \
772
- \
773
- ptr += size; \
774
- \
775
- if (card == CARD_r) { \
776
- if (validate_utf8 && !decode_verifyutf8_inl(dst->data, dst->size)) { \
777
- return fastdecode_err(d, kUpb_DecodeStatus_BadUtf8); \
778
- } \
779
- fastdecode_nextret ret = fastdecode_nextrepeated( \
780
- d, dst, &ptr, &farr, data, tagbytes, sizeof(upb_StringView)); \
781
- switch (ret.next) { \
782
- case FD_NEXT_SAMEFIELD: \
783
- dst = ret.dst; \
784
- goto again; \
785
- case FD_NEXT_OTHERFIELD: \
786
- data = ret.tag; \
787
- UPB_MUSTTAIL return fastdecode_tagdispatch(UPB_PARSE_ARGS); \
788
- case FD_NEXT_ATLIMIT: \
789
- return ptr; \
790
- } \
791
- } \
792
- \
793
- if (card != CARD_r && validate_utf8) { \
794
- data = (uint64_t)dst; \
795
- UPB_MUSTTAIL return fastdecode_verifyutf8(UPB_PARSE_ARGS); \
796
- } \
797
- \
798
- UPB_MUSTTAIL return fastdecode_dispatch(UPB_PARSE_ARGS); \
799
- \
800
- longstr: \
801
- if (card == CARD_r) { \
802
- fastdecode_commitarr(dst + 1, &farr, sizeof(upb_StringView)); \
803
- } \
804
- ptr--; \
805
- if (validate_utf8) { \
806
- UPB_MUSTTAIL return fastdecode_longstring_utf8(d, ptr, msg, table, \
807
- hasbits, (uint64_t)dst); \
808
- } else { \
809
- UPB_MUSTTAIL return fastdecode_longstring_noutf8(d, ptr, msg, table, \
810
- hasbits, (uint64_t)dst); \
811
- }
812
-
813
- #define FASTDECODE_STRING(d, ptr, msg, table, hasbits, data, tagbytes, card, \
814
- copyfunc, validate_utf8) \
687
+ #define FASTDECODE_COPYSTRING(d, ptr, msg, table, hasbits, data, tagbytes, \
688
+ card, validate_utf8) \
815
689
  upb_StringView* dst; \
816
690
  fastdecode_arr farr; \
817
691
  int64_t size; \
692
+ size_t arena_has; \
693
+ size_t common_has; \
694
+ char* buf; \
818
695
  \
819
- if (UPB_UNLIKELY(!fastdecode_checktag(data, tagbytes))) { \
820
- RETURN_GENERIC("string field tag mismatch\n"); \
821
- } \
822
- \
823
- if (UPB_UNLIKELY((d->options & kUpb_DecodeOption_AliasString) == 0)) { \
824
- UPB_MUSTTAIL return copyfunc(UPB_PARSE_ARGS); \
825
- } \
696
+ UPB_ASSERT(!upb_EpsCopyInputStream_AliasingAvailable(&d->input, ptr, 0)); \
697
+ UPB_ASSERT(fastdecode_checktag(data, tagbytes)); \
826
698
  \
827
699
  dst = fastdecode_getfield(d, ptr, msg, &data, &hasbits, &farr, \
828
700
  sizeof(upb_StringView), card); \
@@ -832,45 +704,49 @@ static void fastdecode_docopy(upb_Decoder* d, const char* ptr, uint32_t size,
832
704
  dst = fastdecode_resizearr(d, dst, &farr, sizeof(upb_StringView)); \
833
705
  } \
834
706
  \
835
- size = (int8_t)ptr[tagbytes]; \
707
+ size = (uint8_t)ptr[tagbytes]; \
836
708
  ptr += tagbytes + 1; \
837
- dst->data = ptr; \
838
709
  dst->size = size; \
839
710
  \
840
- if (UPB_UNLIKELY(fastdecode_boundscheck(ptr, size, d->end))) { \
841
- ptr--; \
842
- if (validate_utf8) { \
843
- return fastdecode_longstring_utf8(d, ptr, msg, table, hasbits, \
844
- (uint64_t)dst); \
845
- } else { \
846
- return fastdecode_longstring_noutf8(d, ptr, msg, table, hasbits, \
847
- (uint64_t)dst); \
848
- } \
711
+ buf = d->arena.head.ptr; \
712
+ arena_has = _upb_ArenaHas(&d->arena); \
713
+ common_has = UPB_MIN(arena_has, \
714
+ upb_EpsCopyInputStream_BytesAvailable(&d->input, ptr)); \
715
+ \
716
+ if (UPB_LIKELY(size <= 15 - tagbytes)) { \
717
+ if (arena_has < 16) goto longstr; \
718
+ d->arena.head.ptr += 16; \
719
+ memcpy(buf, ptr - tagbytes - 1, 16); \
720
+ dst->data = buf + tagbytes + 1; \
721
+ } else if (UPB_LIKELY(size <= 32)) { \
722
+ if (UPB_UNLIKELY(common_has < 32)) goto longstr; \
723
+ fastdecode_docopy(d, ptr, size, 32, buf, dst); \
724
+ } else if (UPB_LIKELY(size <= 64)) { \
725
+ if (UPB_UNLIKELY(common_has < 64)) goto longstr; \
726
+ fastdecode_docopy(d, ptr, size, 64, buf, dst); \
727
+ } else if (UPB_LIKELY(size < 128)) { \
728
+ if (UPB_UNLIKELY(common_has < 128)) goto longstr; \
729
+ fastdecode_docopy(d, ptr, size, 128, buf, dst); \
730
+ } else { \
731
+ goto longstr; \
849
732
  } \
850
733
  \
851
734
  ptr += size; \
852
735
  \
853
736
  if (card == CARD_r) { \
854
- if (validate_utf8 && !decode_verifyutf8_inl(dst->data, dst->size)) { \
855
- return fastdecode_err(d, kUpb_DecodeStatus_BadUtf8); \
737
+ if (validate_utf8 && \
738
+ !_upb_Decoder_VerifyUtf8Inline(dst->data, dst->size)) { \
739
+ _upb_FastDecoder_ErrorJmp(d, kUpb_DecodeStatus_BadUtf8); \
856
740
  } \
857
741
  fastdecode_nextret ret = fastdecode_nextrepeated( \
858
742
  d, dst, &ptr, &farr, data, tagbytes, sizeof(upb_StringView)); \
859
743
  switch (ret.next) { \
860
744
  case FD_NEXT_SAMEFIELD: \
861
745
  dst = ret.dst; \
862
- if (UPB_UNLIKELY((d->options & kUpb_DecodeOption_AliasString) == 0)) { \
863
- /* Buffer flipped and we can't alias any more. Bounce to */ \
864
- /* copyfunc(), but via dispatch since we need to reload table */ \
865
- /* data also. */ \
866
- fastdecode_commitarr(dst, &farr, sizeof(upb_StringView)); \
867
- data = ret.tag; \
868
- UPB_MUSTTAIL return fastdecode_tagdispatch(UPB_PARSE_ARGS); \
869
- } \
870
746
  goto again; \
871
747
  case FD_NEXT_OTHERFIELD: \
872
748
  data = ret.tag; \
873
- UPB_MUSTTAIL return fastdecode_tagdispatch(UPB_PARSE_ARGS); \
749
+ UPB_MUSTTAIL return _upb_FastDecoder_TagDispatch(UPB_PARSE_ARGS); \
874
750
  case FD_NEXT_ATLIMIT: \
875
751
  return ptr; \
876
752
  } \
@@ -881,6 +757,88 @@ static void fastdecode_docopy(upb_Decoder* d, const char* ptr, uint32_t size,
881
757
  UPB_MUSTTAIL return fastdecode_verifyutf8(UPB_PARSE_ARGS); \
882
758
  } \
883
759
  \
760
+ UPB_MUSTTAIL return fastdecode_dispatch(UPB_PARSE_ARGS); \
761
+ \
762
+ longstr: \
763
+ if (card == CARD_r) { \
764
+ fastdecode_commitarr(dst + 1, &farr, sizeof(upb_StringView)); \
765
+ } \
766
+ ptr--; \
767
+ if (validate_utf8) { \
768
+ UPB_MUSTTAIL return fastdecode_longstring_utf8(d, ptr, msg, table, \
769
+ hasbits, (uint64_t)dst); \
770
+ } else { \
771
+ UPB_MUSTTAIL return fastdecode_longstring_noutf8(d, ptr, msg, table, \
772
+ hasbits, (uint64_t)dst); \
773
+ }
774
+
775
+ #define FASTDECODE_STRING(d, ptr, msg, table, hasbits, data, tagbytes, card, \
776
+ copyfunc, validate_utf8) \
777
+ upb_StringView* dst; \
778
+ fastdecode_arr farr; \
779
+ int64_t size; \
780
+ \
781
+ if (UPB_UNLIKELY(!fastdecode_checktag(data, tagbytes))) { \
782
+ RETURN_GENERIC("string field tag mismatch\n"); \
783
+ } \
784
+ \
785
+ if (UPB_UNLIKELY( \
786
+ !upb_EpsCopyInputStream_AliasingAvailable(&d->input, ptr, 0))) { \
787
+ UPB_MUSTTAIL return copyfunc(UPB_PARSE_ARGS); \
788
+ } \
789
+ \
790
+ dst = fastdecode_getfield(d, ptr, msg, &data, &hasbits, &farr, \
791
+ sizeof(upb_StringView), card); \
792
+ \
793
+ again: \
794
+ if (card == CARD_r) { \
795
+ dst = fastdecode_resizearr(d, dst, &farr, sizeof(upb_StringView)); \
796
+ } \
797
+ \
798
+ size = (int8_t)ptr[tagbytes]; \
799
+ ptr += tagbytes + 1; \
800
+ \
801
+ if (UPB_UNLIKELY( \
802
+ !upb_EpsCopyInputStream_AliasingAvailable(&d->input, ptr, size))) { \
803
+ ptr--; \
804
+ if (validate_utf8) { \
805
+ return fastdecode_longstring_utf8(d, ptr, msg, table, hasbits, \
806
+ (uint64_t)dst); \
807
+ } else { \
808
+ return fastdecode_longstring_noutf8(d, ptr, msg, table, hasbits, \
809
+ (uint64_t)dst); \
810
+ } \
811
+ } \
812
+ \
813
+ dst->data = ptr; \
814
+ dst->size = size; \
815
+ ptr = upb_EpsCopyInputStream_ReadStringAliased(&d->input, &dst->data, \
816
+ dst->size); \
817
+ \
818
+ if (card == CARD_r) { \
819
+ if (validate_utf8 && \
820
+ !_upb_Decoder_VerifyUtf8Inline(dst->data, dst->size)) { \
821
+ _upb_FastDecoder_ErrorJmp(d, kUpb_DecodeStatus_BadUtf8); \
822
+ } \
823
+ fastdecode_nextret ret = fastdecode_nextrepeated( \
824
+ d, dst, &ptr, &farr, data, tagbytes, sizeof(upb_StringView)); \
825
+ switch (ret.next) { \
826
+ case FD_NEXT_SAMEFIELD: \
827
+ dst = ret.dst; \
828
+ goto again; \
829
+ case FD_NEXT_OTHERFIELD: \
830
+ data = ret.tag; \
831
+ UPB_MUSTTAIL return _upb_FastDecoder_TagDispatch(UPB_PARSE_ARGS); \
832
+ case FD_NEXT_ATLIMIT: \
833
+ return ptr; \
834
+ } \
835
+ } \
836
+ \
837
+ if (card != CARD_r && validate_utf8) { \
838
+ data = (uint64_t)dst; \
839
+ UPB_MUSTTAIL return fastdecode_verifyutf8(UPB_PARSE_ARGS); \
840
+ } \
841
+ \
884
842
  UPB_MUSTTAIL return fastdecode_dispatch(UPB_PARSE_ARGS);
885
843
 
886
844
  /* Generate all combinations:
@@ -949,8 +907,9 @@ typedef struct {
949
907
  } fastdecode_submsgdata;
950
908
 
951
909
  UPB_FORCEINLINE
952
- static const char* fastdecode_tosubmsg(upb_Decoder* d, const char* ptr,
953
- void* ctx) {
910
+ static const char* fastdecode_tosubmsg(upb_EpsCopyInputStream* e,
911
+ const char* ptr, void* ctx) {
912
+ upb_Decoder* d = (upb_Decoder*)e;
954
913
  fastdecode_submsgdata* submsg = ctx;
955
914
  ptr = fastdecode_dispatch(d, ptr, submsg->msg, submsg->table, 0, 0);
956
915
  UPB_ASSUME(ptr != NULL);
@@ -965,7 +924,7 @@ static const char* fastdecode_tosubmsg(upb_Decoder* d, const char* ptr,
965
924
  } \
966
925
  \
967
926
  if (--d->depth == 0) { \
968
- return fastdecode_err(d, kUpb_DecodeStatus_MaxDepthExceeded); \
927
+ _upb_FastDecoder_ErrorJmp(d, kUpb_DecodeStatus_MaxDepthExceeded); \
969
928
  } \
970
929
  \
971
930
  upb_Message** dst; \
@@ -1002,7 +961,7 @@ static const char* fastdecode_tosubmsg(upb_Decoder* d, const char* ptr,
1002
961
  ptr = fastdecode_delimited(d, ptr, fastdecode_tosubmsg, &submsg); \
1003
962
  \
1004
963
  if (UPB_UNLIKELY(ptr == NULL || d->end_group != DECODE_NOGROUP)) { \
1005
- return fastdecode_err(d, kUpb_DecodeStatus_Malformed); \
964
+ _upb_FastDecoder_ErrorJmp(d, kUpb_DecodeStatus_Malformed); \
1006
965
  } \
1007
966
  \
1008
967
  if (card == CARD_r) { \
@@ -1015,7 +974,7 @@ static const char* fastdecode_tosubmsg(upb_Decoder* d, const char* ptr,
1015
974
  case FD_NEXT_OTHERFIELD: \
1016
975
  d->depth++; \
1017
976
  data = ret.tag; \
1018
- UPB_MUSTTAIL return fastdecode_tagdispatch(UPB_PARSE_ARGS); \
977
+ UPB_MUSTTAIL return _upb_FastDecoder_TagDispatch(UPB_PARSE_ARGS); \
1019
978
  case FD_NEXT_ATLIMIT: \
1020
979
  d->depth++; \
1021
980
  return ptr; \