grpc 1.54.2 → 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 (956) 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 +44 -45
  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/transport/chttp2/transport/chttp2_transport.cc +78 -23
  46. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +21 -0
  47. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +70 -0
  48. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +1 -7
  49. data/src/core/ext/transport/chttp2/transport/frame_ping.h +0 -3
  50. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -0
  51. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +1 -0
  52. data/src/core/ext/transport/chttp2/transport/internal.h +3 -4
  53. data/src/core/ext/transport/chttp2/transport/writing.cc +14 -3
  54. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +87 -52
  55. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +414 -181
  56. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -60
  57. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +481 -224
  58. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +90 -55
  59. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +415 -188
  60. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +357 -210
  61. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1572 -729
  62. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +30 -17
  63. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +144 -47
  64. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +34 -21
  65. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -62
  66. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +27 -14
  67. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +78 -38
  68. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +20 -11
  69. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +48 -26
  70. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +20 -11
  71. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +48 -26
  72. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +109 -62
  73. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +566 -244
  74. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +21 -12
  75. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +45 -30
  76. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +22 -19
  77. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +82 -29
  78. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +23 -16
  79. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +45 -30
  80. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +230 -143
  81. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +733 -404
  82. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +417 -264
  83. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1839 -899
  84. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -41
  85. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +286 -148
  86. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +531 -334
  87. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2017 -1131
  88. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +21 -12
  89. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +45 -30
  90. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +89 -52
  91. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +347 -232
  92. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +264 -165
  93. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +888 -476
  94. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +139 -80
  95. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +527 -274
  96. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +22 -13
  97. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +50 -36
  98. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +380 -221
  99. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1168 -611
  100. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +166 -94
  101. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +666 -292
  102. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +18 -11
  103. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +37 -26
  104. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +21 -12
  105. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +45 -30
  106. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +30 -17
  107. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +144 -47
  108. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +274 -167
  109. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +789 -440
  110. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +228 -137
  111. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +1100 -501
  112. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +22 -13
  113. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +60 -37
  114. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +350 -211
  115. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1072 -646
  116. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +33 -18
  117. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +117 -51
  118. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +34 -19
  119. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +118 -56
  120. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +38 -21
  121. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +148 -64
  122. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +31 -18
  123. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +143 -65
  124. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +22 -13
  125. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +51 -37
  126. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +78 -43
  127. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +265 -127
  128. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +145 -88
  129. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +438 -241
  130. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +115 -62
  131. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +559 -227
  132. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +18 -11
  133. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +35 -26
  134. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +175 -118
  135. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +857 -442
  136. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +172 -95
  137. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +864 -374
  138. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +48 -27
  139. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +159 -110
  140. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +39 -18
  141. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +74 -56
  142. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +28 -15
  143. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +71 -45
  144. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +131 -74
  145. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +489 -249
  146. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +135 -80
  147. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +505 -245
  148. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +248 -139
  149. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +933 -433
  150. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +80 -49
  151. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +616 -201
  152. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +1283 -776
  153. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +5422 -2519
  154. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +49 -28
  155. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +164 -84
  156. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +228 -141
  157. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +738 -399
  158. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +20 -11
  159. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +48 -26
  160. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +21 -12
  161. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +45 -30
  162. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +32 -19
  163. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +70 -49
  164. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +27 -14
  165. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +110 -43
  166. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +46 -25
  167. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +259 -100
  168. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +21 -12
  169. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +45 -30
  170. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +18 -11
  171. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +35 -26
  172. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +42 -23
  173. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +108 -70
  174. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +7 -4
  175. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +21 -16
  176. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +43 -24
  177. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +110 -75
  178. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +30 -17
  179. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +95 -50
  180. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +16 -9
  181. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +73 -23
  182. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +60 -37
  183. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +150 -108
  184. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +74 -43
  185. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +357 -167
  186. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +44 -25
  187. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +114 -80
  188. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -20
  189. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +245 -82
  190. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +32 -19
  191. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +73 -51
  192. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +474 -296
  193. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2121 -1076
  194. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +18 -11
  195. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +35 -26
  196. 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
  197. 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
  198. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +72 -45
  199. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +193 -138
  200. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +34 -21
  201. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +119 -78
  202. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +18 -11
  203. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +35 -26
  204. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +7 -4
  205. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +15 -10
  206. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +184 -96
  207. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +907 -360
  208. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +56 -33
  209. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -101
  210. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +188 -111
  211. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +816 -419
  212. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +32 -19
  213. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +109 -53
  214. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +10 -7
  215. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +18 -14
  216. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +300 -177
  217. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1284 -522
  218. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +42 -23
  219. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +188 -75
  220. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +130 -83
  221. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +510 -238
  222. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +22 -13
  223. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +55 -34
  224. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +39 -26
  225. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +124 -68
  226. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +21 -12
  227. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +47 -30
  228. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +52 -29
  229. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +92 -62
  230. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +37 -20
  231. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +133 -63
  232. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +22 -13
  233. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +91 -40
  234. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +21 -12
  235. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +50 -32
  236. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +18 -11
  237. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +37 -26
  238. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +46 -27
  239. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +101 -70
  240. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +13 -10
  241. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +25 -22
  242. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +40 -23
  243. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +161 -75
  244. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +31 -18
  245. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +114 -56
  246. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +46 -29
  247. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +139 -91
  248. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +65 -42
  249. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +200 -121
  250. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +80 -45
  251. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +208 -131
  252. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +34 -21
  253. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +74 -53
  254. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +7 -4
  255. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +13 -8
  256. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +16 -9
  257. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +28 -18
  258. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +28 -15
  259. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +55 -34
  260. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +43 -22
  261. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +91 -53
  262. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +35 -20
  263. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +92 -57
  264. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +7 -4
  265. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +13 -8
  266. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +20 -11
  267. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +48 -26
  268. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +23 -14
  269. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +61 -41
  270. data/src/core/ext/upb-generated/google/api/annotations.upb.c +14 -11
  271. data/src/core/ext/upb-generated/google/api/annotations.upb.h +30 -20
  272. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +255 -154
  273. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +934 -450
  274. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +299 -180
  275. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +946 -483
  276. data/src/core/ext/upb-generated/google/api/http.upb.c +68 -35
  277. data/src/core/ext/upb-generated/google/api/http.upb.h +284 -120
  278. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +22 -13
  279. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +95 -37
  280. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +19 -10
  281. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +38 -22
  282. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +1018 -424
  283. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +3851 -1412
  284. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +19 -10
  285. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +38 -22
  286. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +10 -7
  287. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +18 -14
  288. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +62 -39
  289. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +207 -102
  290. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +19 -10
  291. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +38 -22
  292. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +90 -51
  293. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +157 -107
  294. data/src/core/ext/upb-generated/google/rpc/status.upb.c +22 -13
  295. data/src/core/ext/upb-generated/google/rpc/status.upb.h +95 -37
  296. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +59 -34
  297. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +154 -92
  298. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +43 -24
  299. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +118 -60
  300. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +250 -145
  301. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +919 -415
  302. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +34 -19
  303. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +76 -51
  304. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +25 -14
  305. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +45 -30
  306. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +144 -81
  307. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +405 -217
  308. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +51 -26
  309. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +153 -61
  310. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +173 -102
  311. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +855 -298
  312. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +68 -49
  313. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +155 -104
  314. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +26 -17
  315. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +55 -34
  316. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +12 -9
  317. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +31 -14
  318. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +26 -17
  319. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +55 -34
  320. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +23 -16
  321. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +45 -30
  322. data/src/core/ext/upb-generated/validate/validate.upb.c +845 -455
  323. data/src/core/ext/upb-generated/validate/validate.upb.h +4347 -1908
  324. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +68 -49
  325. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +155 -104
  326. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +26 -17
  327. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +55 -34
  328. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +12 -9
  329. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +31 -14
  330. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +65 -44
  331. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +137 -91
  332. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +23 -16
  333. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +45 -30
  334. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +16 -9
  335. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +28 -18
  336. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +21 -12
  337. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +45 -30
  338. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +37 -22
  339. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +96 -63
  340. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +26 -17
  341. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +52 -29
  342. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +21 -12
  343. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +45 -30
  344. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +23 -14
  345. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +62 -42
  346. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +44 -25
  347. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +169 -79
  348. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +27 -14
  349. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +65 -38
  350. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +69 -38
  351. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +167 -76
  352. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +21 -12
  353. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +89 -34
  354. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +18 -11
  355. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +35 -26
  356. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +32 -19
  357. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +150 -54
  358. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +10 -7
  359. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +18 -14
  360. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +34 -21
  361. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +161 -63
  362. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +162 -101
  363. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +501 -293
  364. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +85 -52
  365. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +430 -164
  366. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +24 -15
  367. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +53 -37
  368. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +40 -23
  369. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +161 -75
  370. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +37 -22
  371. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +92 -66
  372. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +43 -22
  373. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +91 -53
  374. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +21 -12
  375. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +45 -30
  376. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +1 -1
  377. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +6 -5
  378. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +1 -1
  379. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +6 -5
  380. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +1 -1
  381. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +6 -5
  382. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +1 -1
  383. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +6 -5
  384. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +1 -1
  385. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +6 -5
  386. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +1 -1
  387. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +6 -5
  388. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +1 -1
  389. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +6 -5
  390. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +1 -1
  391. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +6 -5
  392. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +1 -1
  393. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +6 -5
  394. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +1 -1
  395. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +6 -5
  396. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +1 -1
  397. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +6 -5
  398. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +1 -1
  399. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +6 -5
  400. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +1 -1
  401. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +6 -5
  402. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +1 -1
  403. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +6 -5
  404. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +252 -253
  405. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +6 -5
  406. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +1 -1
  407. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +6 -5
  408. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +1 -1
  409. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +6 -5
  410. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +1 -1
  411. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +6 -5
  412. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +1 -1
  413. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +6 -5
  414. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +1 -1
  415. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +6 -5
  416. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +1 -1
  417. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +6 -5
  418. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +1 -1
  419. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +6 -5
  420. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +1 -1
  421. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +6 -5
  422. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +13 -12
  423. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +11 -5
  424. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +1 -1
  425. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +6 -5
  426. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +1 -1
  427. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +6 -5
  428. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +1 -1
  429. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +6 -5
  430. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +1 -1
  431. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +6 -5
  432. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +1 -1
  433. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +6 -5
  434. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +1 -1
  435. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +6 -5
  436. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +44 -44
  437. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +6 -5
  438. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +1 -1
  439. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +6 -5
  440. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +1 -1
  441. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +6 -5
  442. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +1 -1
  443. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +6 -5
  444. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +1 -1
  445. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +6 -5
  446. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +1 -1
  447. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +6 -5
  448. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +1 -1
  449. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +6 -5
  450. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +1 -1
  451. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +6 -5
  452. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +1 -1
  453. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +6 -5
  454. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +1 -1
  455. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +6 -5
  456. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +1 -1
  457. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +6 -5
  458. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +1 -1
  459. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +6 -5
  460. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +1 -1
  461. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +6 -5
  462. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +1 -1
  463. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +6 -5
  464. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +1 -1
  465. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +6 -5
  466. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +1 -1
  467. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +6 -5
  468. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +1 -1
  469. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +6 -5
  470. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +134 -128
  471. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +11 -5
  472. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +1 -1
  473. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +6 -5
  474. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +1 -1
  475. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +6 -5
  476. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +1 -1
  477. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +6 -5
  478. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +1 -1
  479. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +6 -5
  480. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +1 -1
  481. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +6 -5
  482. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +1 -1
  483. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +6 -5
  484. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +1 -1
  485. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +6 -5
  486. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +1 -1
  487. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +6 -5
  488. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +1 -1
  489. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +6 -5
  490. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +1 -1
  491. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +6 -5
  492. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +1 -1
  493. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +6 -5
  494. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +1 -1
  495. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +6 -5
  496. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +1 -1
  497. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +6 -5
  498. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +1 -1
  499. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +6 -5
  500. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +1 -1
  501. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +6 -5
  502. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +1 -1
  503. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +6 -5
  504. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +1 -1
  505. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +6 -5
  506. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +1 -1
  507. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +6 -5
  508. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +1 -1
  509. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +6 -5
  510. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +1 -1
  511. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +6 -5
  512. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +1 -1
  513. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +6 -5
  514. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +379 -376
  515. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +6 -5
  516. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +1 -1
  517. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +6 -5
  518. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +1 -1
  519. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +6 -5
  520. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +138 -136
  521. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +6 -5
  522. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +1 -1
  523. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +6 -5
  524. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +1 -1
  525. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +6 -5
  526. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +1 -1
  527. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +6 -5
  528. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +1 -1
  529. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +6 -5
  530. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +1 -1
  531. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +6 -5
  532. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +1 -1
  533. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +6 -5
  534. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +12 -13
  535. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +6 -5
  536. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +1 -1
  537. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +6 -5
  538. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +1 -1
  539. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +6 -5
  540. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +1 -1
  541. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +6 -5
  542. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +1 -1
  543. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +6 -5
  544. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +1 -1
  545. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +6 -5
  546. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +1 -1
  547. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +6 -5
  548. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +1 -1
  549. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +6 -5
  550. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +1 -1
  551. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +6 -5
  552. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +1 -1
  553. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +6 -5
  554. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +1 -1
  555. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +6 -5
  556. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +1 -1
  557. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +6 -5
  558. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +1 -1
  559. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +6 -5
  560. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +1 -1
  561. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +6 -5
  562. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +1 -1
  563. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +6 -5
  564. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +1 -1
  565. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +6 -5
  566. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +1 -1
  567. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +6 -5
  568. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +1 -1
  569. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +6 -5
  570. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +1 -1
  571. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +6 -5
  572. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +1 -1
  573. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +6 -5
  574. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +1 -1
  575. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +6 -5
  576. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +1 -1
  577. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +6 -5
  578. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +1 -1
  579. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +6 -5
  580. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +1 -1
  581. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +6 -5
  582. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +1 -1
  583. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +6 -5
  584. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +1 -1
  585. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +6 -5
  586. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +1 -1
  587. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +6 -5
  588. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +1 -1
  589. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +6 -5
  590. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +1 -1
  591. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +6 -5
  592. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +1 -1
  593. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +6 -5
  594. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +1 -1
  595. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +6 -5
  596. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +329 -273
  597. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +11 -5
  598. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +1 -1
  599. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +6 -5
  600. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +1 -1
  601. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +6 -5
  602. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +1 -1
  603. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +6 -5
  604. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +1 -1
  605. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +6 -5
  606. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +1 -1
  607. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +6 -5
  608. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +1 -1
  609. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +6 -5
  610. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +1 -1
  611. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +6 -5
  612. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +1 -1
  613. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +6 -5
  614. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +1 -1
  615. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +6 -5
  616. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +1 -1
  617. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +6 -5
  618. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +1 -1
  619. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +6 -5
  620. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +1 -1
  621. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +6 -5
  622. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +1 -1
  623. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +6 -5
  624. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +1 -1
  625. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +6 -5
  626. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +1 -1
  627. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +6 -5
  628. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +1 -1
  629. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +6 -5
  630. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +1 -1
  631. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +6 -5
  632. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +1 -1
  633. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +6 -5
  634. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +1 -1
  635. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +6 -5
  636. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +1 -1
  637. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +6 -5
  638. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +1 -1
  639. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +6 -5
  640. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +1 -1
  641. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +6 -5
  642. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +1 -1
  643. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +6 -5
  644. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +1 -1
  645. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +6 -5
  646. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +1 -1
  647. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +6 -5
  648. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +1 -1
  649. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +6 -5
  650. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +1 -1
  651. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +6 -5
  652. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +1 -1
  653. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +6 -5
  654. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +1 -1
  655. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +6 -5
  656. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +1 -1
  657. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +6 -5
  658. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +1 -1
  659. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +6 -5
  660. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +1 -1
  661. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +6 -5
  662. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +1 -1
  663. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +6 -5
  664. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +1 -1
  665. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +6 -5
  666. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +1 -1
  667. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +6 -5
  668. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +1 -1
  669. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +6 -5
  670. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +1 -1
  671. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +6 -5
  672. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +1 -1
  673. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +6 -5
  674. data/src/core/ext/xds/certificate_provider_store.cc +4 -4
  675. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +7 -7
  676. data/src/core/ext/xds/upb_utils.h +1 -1
  677. data/src/core/ext/xds/xds_api.cc +34 -14
  678. data/src/core/ext/xds/xds_api.h +2 -2
  679. data/src/core/ext/xds/xds_bootstrap.cc +3 -3
  680. data/src/core/ext/xds/xds_bootstrap_grpc.cc +15 -15
  681. data/src/core/ext/xds/xds_client.cc +24 -3
  682. data/src/core/ext/xds/xds_client.h +1 -1
  683. data/src/core/ext/xds/xds_cluster.cc +26 -34
  684. data/src/core/ext/xds/xds_cluster.h +1 -2
  685. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +4 -3
  686. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +2 -2
  687. data/src/core/ext/xds/xds_common_types.cc +5 -4
  688. data/src/core/ext/xds/xds_endpoint.cc +5 -2
  689. data/src/core/ext/xds/xds_endpoint.h +1 -1
  690. data/src/core/ext/xds/xds_http_fault_filter.cc +2 -2
  691. data/src/core/ext/xds/xds_http_fault_filter.h +1 -1
  692. data/src/core/ext/xds/xds_http_filters.h +3 -2
  693. data/src/core/ext/xds/xds_http_rbac_filter.cc +6 -8
  694. data/src/core/ext/xds/xds_http_rbac_filter.h +1 -1
  695. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +2 -2
  696. data/src/core/ext/xds/xds_http_stateful_session_filter.h +1 -1
  697. data/src/core/ext/xds/xds_lb_policy_registry.cc +4 -22
  698. data/src/core/ext/xds/xds_listener.cc +10 -4
  699. data/src/core/ext/xds/xds_listener.h +1 -1
  700. data/src/core/ext/xds/xds_resource_type.h +2 -2
  701. data/src/core/ext/xds/xds_route_config.cc +8 -5
  702. data/src/core/ext/xds/xds_route_config.h +1 -1
  703. data/src/core/lib/channel/channelz.cc +5 -4
  704. data/src/core/lib/channel/channelz_registry.cc +7 -6
  705. data/src/core/lib/channel/connected_channel.cc +82 -27
  706. data/src/core/lib/channel/promise_based_filter.cc +2 -8
  707. data/src/core/lib/debug/trace.cc +16 -7
  708. data/src/core/lib/debug/trace.h +12 -4
  709. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +8 -26
  710. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +6 -1
  711. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +3 -0
  712. data/src/core/lib/event_engine/shim.cc +2 -0
  713. data/src/core/lib/event_engine/trace.cc +1 -0
  714. data/src/core/lib/event_engine/trace.h +6 -0
  715. data/src/core/lib/experiments/experiments.cc +3 -0
  716. data/src/core/lib/experiments/experiments.h +4 -1
  717. data/src/core/lib/gpr/posix/time.cc +5 -0
  718. data/src/core/lib/gprpp/status_helper.cc +2 -2
  719. data/src/core/lib/gprpp/validation_errors.cc +8 -3
  720. data/src/core/lib/gprpp/validation_errors.h +16 -9
  721. data/src/core/lib/iomgr/buffer_list.h +0 -1
  722. data/src/core/lib/iomgr/socket_utils_posix.cc +3 -0
  723. data/src/core/lib/iomgr/socket_utils_posix.h +3 -0
  724. data/src/core/lib/iomgr/tcp_client_posix.cc +4 -0
  725. data/src/core/lib/iomgr/timer_generic.cc +17 -16
  726. data/src/core/lib/json/json.h +61 -113
  727. data/src/core/lib/json/json_object_loader.cc +20 -20
  728. data/src/core/lib/json/json_object_loader.h +8 -3
  729. data/src/core/lib/json/json_reader.cc +58 -38
  730. data/src/core/lib/json/json_reader.h +34 -0
  731. data/src/core/lib/json/json_util.cc +6 -6
  732. data/src/core/lib/json/json_util.h +5 -4
  733. data/src/core/lib/json/json_writer.cc +19 -19
  734. data/src/core/lib/json/json_writer.h +33 -0
  735. data/src/core/lib/load_balancing/lb_policy_registry.cc +7 -7
  736. data/src/core/lib/promise/pipe.h +7 -0
  737. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +35 -37
  738. data/src/core/lib/security/credentials/external/external_account_credentials.cc +60 -62
  739. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +22 -21
  740. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +28 -27
  741. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +4 -2
  742. data/src/core/lib/security/credentials/jwt/json_token.cc +6 -4
  743. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +8 -5
  744. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +39 -38
  745. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +17 -16
  746. data/src/core/lib/security/util/json_util.cc +5 -5
  747. data/src/core/lib/service_config/service_config_impl.cc +11 -5
  748. data/src/core/lib/slice/slice.h +2 -0
  749. data/src/core/lib/surface/call.cc +71 -26
  750. data/src/core/lib/surface/call.h +1 -5
  751. data/src/core/lib/surface/completion_queue.cc +2 -1
  752. data/src/core/lib/surface/server.cc +47 -19
  753. data/src/core/lib/surface/version.cc +2 -2
  754. data/src/core/lib/transport/batch_builder.h +9 -1
  755. data/src/core/lib/transport/metadata_batch.h +2 -59
  756. data/src/core/lib/transport/metadata_compression_traits.h +67 -0
  757. data/src/core/lib/transport/simple_slice_based_metadata.h +48 -0
  758. data/src/core/lib/transport/transport.h +3 -0
  759. data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -4
  760. data/src/ruby/lib/grpc/version.rb +1 -1
  761. data/third_party/abseil-cpp/absl/base/config.h +1 -1
  762. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +33 -47
  763. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +7 -4
  764. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +32 -2
  765. data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +11 -12
  766. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +826 -0
  767. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +10 -12
  768. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +8 -10
  769. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +2 -1
  770. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +2 -1
  771. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +18 -14
  772. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +17 -21
  773. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +7 -3
  774. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +3 -4
  775. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +1 -72
  776. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +4 -2
  777. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +4 -3
  778. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +7 -3
  779. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +4 -2
  780. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +1 -1
  781. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -8
  782. data/third_party/boringssl-with-bazel/src/include/openssl/kyber.h +128 -0
  783. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +8 -1
  784. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +1 -1
  785. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +8 -12
  786. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +1 -10
  787. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +9 -2
  788. data/third_party/boringssl-with-bazel/src/ssl/internal.h +17 -17
  789. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +8 -4
  790. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +2 -2
  791. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +72 -5
  792. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +19 -21
  793. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +2 -1
  794. data/third_party/upb/upb/{table_internal.h → alloc.h} +6 -6
  795. data/third_party/upb/upb/arena.h +4 -193
  796. data/third_party/upb/upb/array.h +4 -51
  797. data/third_party/upb/upb/base/descriptor_constants.h +104 -0
  798. data/third_party/upb/upb/base/log2.h +57 -0
  799. data/third_party/upb/upb/{status.c → base/status.c} +2 -7
  800. data/third_party/upb/upb/base/status.h +66 -0
  801. data/third_party/upb/upb/base/string_view.h +75 -0
  802. data/third_party/upb/upb/{array.c → collections/array.c} +67 -36
  803. data/third_party/upb/upb/collections/array.h +85 -0
  804. data/third_party/upb/upb/collections/array_internal.h +135 -0
  805. data/third_party/upb/upb/{map.c → collections/map.c} +53 -26
  806. data/third_party/upb/upb/collections/map.h +135 -0
  807. data/third_party/upb/upb/collections/map_gencode_util.h +78 -0
  808. data/third_party/upb/upb/collections/map_internal.h +170 -0
  809. data/third_party/upb/upb/collections/map_sorter.c +166 -0
  810. data/third_party/upb/upb/collections/map_sorter_internal.h +109 -0
  811. data/third_party/upb/upb/{message_value.h → collections/message_value.h} +12 -13
  812. data/third_party/upb/upb/decode.h +3 -62
  813. data/third_party/upb/upb/def.h +4 -384
  814. data/third_party/upb/upb/def.hpp +3 -411
  815. data/third_party/upb/upb/encode.h +3 -48
  816. data/third_party/upb/upb/extension_registry.h +3 -52
  817. data/third_party/upb/upb/{table.c → hash/common.c} +52 -110
  818. data/third_party/upb/upb/hash/common.h +199 -0
  819. data/third_party/upb/upb/hash/int_table.h +102 -0
  820. data/third_party/upb/upb/hash/str_table.h +161 -0
  821. data/third_party/upb/upb/{json_decode.c → json/decode.c} +63 -98
  822. data/third_party/upb/upb/json/decode.h +52 -0
  823. data/third_party/upb/upb/{json_encode.c → json/encode.c} +69 -45
  824. data/third_party/upb/upb/json/encode.h +70 -0
  825. data/third_party/upb/upb/json_decode.h +4 -15
  826. data/third_party/upb/upb/json_encode.h +4 -33
  827. data/third_party/upb/upb/lex/atoi.c +68 -0
  828. data/third_party/upb/upb/lex/atoi.h +53 -0
  829. data/third_party/upb/upb/{upb.c → lex/round_trip.c} +2 -11
  830. data/third_party/upb/upb/{internal/upb.h → lex/round_trip.h} +17 -30
  831. data/third_party/upb/upb/lex/strtod.c +97 -0
  832. data/third_party/upb/upb/lex/strtod.h +46 -0
  833. data/third_party/upb/upb/lex/unicode.c +57 -0
  834. data/third_party/upb/upb/lex/unicode.h +77 -0
  835. data/third_party/upb/upb/map.h +4 -85
  836. data/third_party/upb/upb/mem/alloc.c +47 -0
  837. data/third_party/upb/upb/mem/alloc.h +98 -0
  838. data/third_party/upb/upb/mem/arena.c +367 -0
  839. data/third_party/upb/upb/mem/arena.h +160 -0
  840. data/third_party/upb/upb/mem/arena_internal.h +114 -0
  841. data/third_party/upb/upb/message/accessors.c +68 -0
  842. data/third_party/upb/upb/message/accessors.h +379 -0
  843. data/third_party/upb/upb/message/accessors_internal.h +325 -0
  844. data/third_party/upb/upb/message/extension_internal.h +83 -0
  845. data/third_party/upb/upb/message/internal.h +135 -0
  846. data/third_party/upb/upb/message/message.c +180 -0
  847. data/third_party/upb/upb/message/message.h +69 -0
  848. data/third_party/upb/upb/mini_table/common.c +128 -0
  849. data/third_party/upb/upb/mini_table/common.h +170 -0
  850. data/third_party/upb/upb/mini_table/common_internal.h +111 -0
  851. data/third_party/upb/upb/{mini_table.c → mini_table/decode.c} +513 -533
  852. data/third_party/upb/upb/mini_table/decode.h +179 -0
  853. data/third_party/upb/upb/mini_table/encode.c +300 -0
  854. data/third_party/upb/upb/mini_table/encode_internal.h +111 -0
  855. data/third_party/upb/upb/{mini_table.hpp → mini_table/encode_internal.hpp} +32 -8
  856. data/third_party/upb/upb/mini_table/enum_internal.h +88 -0
  857. data/third_party/upb/upb/mini_table/extension_internal.h +47 -0
  858. data/third_party/upb/upb/{extension_registry.c → mini_table/extension_registry.c} +27 -24
  859. data/third_party/upb/upb/mini_table/extension_registry.h +104 -0
  860. data/third_party/upb/upb/mini_table/field_internal.h +192 -0
  861. data/third_party/upb/upb/mini_table/file_internal.h +47 -0
  862. data/third_party/upb/upb/mini_table/message_internal.h +136 -0
  863. data/third_party/upb/upb/mini_table/sub_internal.h +38 -0
  864. data/third_party/upb/upb/mini_table/types.h +40 -0
  865. data/third_party/upb/upb/mini_table.h +4 -157
  866. data/third_party/upb/upb/msg.h +3 -38
  867. data/third_party/upb/upb/port/atomic.h +101 -0
  868. data/third_party/upb/upb/{port_def.inc → port/def.inc} +94 -27
  869. data/third_party/upb/upb/{port_undef.inc → port/undef.inc} +13 -3
  870. data/third_party/upb/upb/{internal → port}/vsnprintf_compat.h +5 -7
  871. data/third_party/upb/upb/reflection/common.h +67 -0
  872. data/third_party/upb/upb/reflection/def.h +42 -0
  873. data/third_party/upb/upb/reflection/def.hpp +610 -0
  874. data/third_party/upb/upb/reflection/def_builder.c +357 -0
  875. data/third_party/upb/upb/reflection/def_builder_internal.h +157 -0
  876. data/third_party/upb/upb/reflection/def_pool.c +462 -0
  877. data/third_party/upb/upb/reflection/def_pool.h +108 -0
  878. data/third_party/upb/upb/reflection/def_pool_internal.h +77 -0
  879. data/third_party/upb/upb/reflection/def_type.c +50 -0
  880. data/third_party/upb/upb/reflection/def_type.h +81 -0
  881. data/third_party/upb/upb/reflection/desc_state.c +53 -0
  882. data/third_party/upb/upb/reflection/desc_state_internal.h +64 -0
  883. data/third_party/upb/upb/reflection/enum_def.c +310 -0
  884. data/third_party/upb/upb/reflection/enum_def.h +80 -0
  885. data/third_party/upb/upb/reflection/enum_def_internal.h +56 -0
  886. data/third_party/upb/upb/reflection/enum_reserved_range.c +84 -0
  887. data/third_party/upb/upb/reflection/enum_reserved_range.h +51 -0
  888. data/third_party/upb/upb/reflection/enum_reserved_range_internal.h +55 -0
  889. data/third_party/upb/upb/reflection/enum_value_def.c +144 -0
  890. data/third_party/upb/upb/reflection/enum_value_def.h +57 -0
  891. data/third_party/upb/upb/reflection/enum_value_def_internal.h +57 -0
  892. data/third_party/upb/upb/reflection/extension_range.c +93 -0
  893. data/third_party/upb/upb/reflection/extension_range.h +55 -0
  894. data/third_party/upb/upb/reflection/extension_range_internal.h +54 -0
  895. data/third_party/upb/upb/reflection/field_def.c +930 -0
  896. data/third_party/upb/upb/reflection/field_def.h +91 -0
  897. data/third_party/upb/upb/reflection/field_def_internal.h +76 -0
  898. data/third_party/upb/upb/reflection/file_def.c +370 -0
  899. data/third_party/upb/upb/reflection/file_def.h +77 -0
  900. data/third_party/upb/upb/reflection/file_def_internal.h +57 -0
  901. data/third_party/upb/upb/reflection/message.c +233 -0
  902. data/third_party/upb/upb/reflection/message.h +102 -0
  903. data/third_party/upb/upb/reflection/message.hpp +37 -0
  904. data/third_party/upb/upb/reflection/message_def.c +718 -0
  905. data/third_party/upb/upb/reflection/message_def.h +174 -0
  906. data/third_party/upb/upb/reflection/message_def_internal.h +63 -0
  907. data/third_party/upb/upb/reflection/message_reserved_range.c +81 -0
  908. data/third_party/upb/upb/reflection/message_reserved_range.h +51 -0
  909. data/third_party/upb/upb/reflection/message_reserved_range_internal.h +55 -0
  910. data/third_party/upb/upb/reflection/method_def.c +124 -0
  911. data/third_party/upb/upb/reflection/method_def.h +59 -0
  912. data/third_party/upb/upb/reflection/method_def_internal.h +53 -0
  913. data/third_party/upb/upb/reflection/oneof_def.c +226 -0
  914. data/third_party/upb/upb/reflection/oneof_def.h +66 -0
  915. data/third_party/upb/upb/reflection/oneof_def_internal.h +57 -0
  916. data/third_party/upb/upb/reflection/service_def.c +128 -0
  917. data/third_party/upb/upb/reflection/service_def.h +60 -0
  918. data/third_party/upb/upb/reflection/service_def_internal.h +53 -0
  919. data/third_party/upb/upb/reflection.h +4 -78
  920. data/third_party/upb/upb/reflection.hpp +3 -7
  921. data/third_party/upb/upb/status.h +4 -34
  922. data/third_party/upb/upb/{collections.h → string_view.h} +7 -7
  923. data/third_party/upb/upb/{text_encode.c → text/encode.c} +74 -70
  924. data/third_party/upb/upb/text/encode.h +69 -0
  925. data/third_party/upb/upb/text_encode.h +4 -32
  926. data/third_party/upb/upb/upb.h +6 -151
  927. data/third_party/upb/upb/upb.hpp +10 -18
  928. data/third_party/upb/upb/wire/common.h +44 -0
  929. data/third_party/upb/upb/wire/common_internal.h +50 -0
  930. data/third_party/upb/upb/wire/decode.c +1343 -0
  931. data/third_party/upb/upb/wire/decode.h +108 -0
  932. data/third_party/upb/upb/{decode_fast.c → wire/decode_fast.c} +184 -225
  933. data/third_party/upb/upb/{decode_fast.h → wire/decode_fast.h} +21 -7
  934. data/third_party/upb/upb/{internal/decode.h → wire/decode_internal.h} +44 -92
  935. data/third_party/upb/upb/{encode.c → wire/encode.c} +114 -95
  936. data/third_party/upb/upb/wire/encode.h +92 -0
  937. data/third_party/upb/upb/wire/eps_copy_input_stream.c +39 -0
  938. data/third_party/upb/upb/wire/eps_copy_input_stream.h +425 -0
  939. data/third_party/upb/upb/wire/reader.c +67 -0
  940. data/third_party/upb/upb/wire/reader.h +227 -0
  941. data/third_party/upb/upb/wire/swap_internal.h +63 -0
  942. data/third_party/upb/upb/wire/types.h +41 -0
  943. data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-neon.c +1 -1
  944. data/third_party/{upb/third_party/utf8_range → utf8_range}/utf8_range.h +12 -0
  945. metadata +155 -40
  946. data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
  947. data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
  948. data/third_party/upb/upb/arena.c +0 -277
  949. data/third_party/upb/upb/decode.c +0 -1221
  950. data/third_party/upb/upb/def.c +0 -3269
  951. data/third_party/upb/upb/internal/table.h +0 -385
  952. data/third_party/upb/upb/msg.c +0 -368
  953. data/third_party/upb/upb/msg_internal.h +0 -837
  954. data/third_party/upb/upb/reflection.c +0 -323
  955. /data/third_party/{upb/third_party/utf8_range → utf8_range}/naive.c +0 -0
  956. /data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-sse.c +0 -0
@@ -25,40 +25,38 @@
25
25
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
26
  */
27
27
 
28
- #include "upb/array.h"
29
-
30
28
  #include <string.h>
31
29
 
32
- #include "upb/internal/table.h"
33
- #include "upb/msg.h"
34
- #include "upb/port_def.inc"
35
-
36
- static const char _upb_CTypeo_sizelg2[12] = {
37
- 0,
38
- 0, /* kUpb_CType_Bool */
39
- 2, /* kUpb_CType_Float */
40
- 2, /* kUpb_CType_Int32 */
41
- 2, /* kUpb_CType_UInt32 */
42
- 2, /* kUpb_CType_Enum */
43
- UPB_SIZE(2, 3), /* kUpb_CType_Message */
44
- 3, /* kUpb_CType_Double */
45
- 3, /* kUpb_CType_Int64 */
46
- 3, /* kUpb_CType_UInt64 */
47
- UPB_SIZE(3, 4), /* kUpb_CType_String */
48
- UPB_SIZE(3, 4), /* kUpb_CType_Bytes */
30
+ #include "upb/collections/array_internal.h"
31
+
32
+ // Must be last.
33
+ #include "upb/port/def.inc"
34
+
35
+ const char _upb_Array_CTypeSizeLg2Table[] = {
36
+ [kUpb_CType_Bool] = 0,
37
+ [kUpb_CType_Float] = 2,
38
+ [kUpb_CType_Int32] = 2,
39
+ [kUpb_CType_UInt32] = 2,
40
+ [kUpb_CType_Enum] = 2,
41
+ [kUpb_CType_Message] = UPB_SIZE(2, 3),
42
+ [kUpb_CType_Double] = 3,
43
+ [kUpb_CType_Int64] = 3,
44
+ [kUpb_CType_UInt64] = 3,
45
+ [kUpb_CType_String] = UPB_SIZE(3, 4),
46
+ [kUpb_CType_Bytes] = UPB_SIZE(3, 4),
49
47
  };
50
48
 
51
49
  upb_Array* upb_Array_New(upb_Arena* a, upb_CType type) {
52
- return _upb_Array_New(a, 4, _upb_CTypeo_sizelg2[type]);
50
+ return _upb_Array_New(a, 4, _upb_Array_CTypeSizeLg2(type));
53
51
  }
54
52
 
55
- size_t upb_Array_Size(const upb_Array* arr) { return arr->len; }
53
+ size_t upb_Array_Size(const upb_Array* arr) { return arr->size; }
56
54
 
57
55
  upb_MessageValue upb_Array_Get(const upb_Array* arr, size_t i) {
58
56
  upb_MessageValue ret;
59
57
  const char* data = _upb_array_constptr(arr);
60
58
  int lg2 = arr->data & 7;
61
- UPB_ASSERT(i < arr->len);
59
+ UPB_ASSERT(i < arr->size);
62
60
  memcpy(&ret, data + (i << lg2), 1 << lg2);
63
61
  return ret;
64
62
  }
@@ -66,31 +64,33 @@ upb_MessageValue upb_Array_Get(const upb_Array* arr, size_t i) {
66
64
  void upb_Array_Set(upb_Array* arr, size_t i, upb_MessageValue val) {
67
65
  char* data = _upb_array_ptr(arr);
68
66
  int lg2 = arr->data & 7;
69
- UPB_ASSERT(i < arr->len);
67
+ UPB_ASSERT(i < arr->size);
70
68
  memcpy(data + (i << lg2), &val, 1 << lg2);
71
69
  }
72
70
 
73
71
  bool upb_Array_Append(upb_Array* arr, upb_MessageValue val, upb_Arena* arena) {
74
- if (!upb_Array_Resize(arr, arr->len + 1, arena)) {
72
+ UPB_ASSERT(arena);
73
+ if (!upb_Array_Resize(arr, arr->size + 1, arena)) {
75
74
  return false;
76
75
  }
77
- upb_Array_Set(arr, arr->len - 1, val);
76
+ upb_Array_Set(arr, arr->size - 1, val);
78
77
  return true;
79
78
  }
80
79
 
81
80
  void upb_Array_Move(upb_Array* arr, size_t dst_idx, size_t src_idx,
82
81
  size_t count) {
82
+ const int lg2 = arr->data & 7;
83
83
  char* data = _upb_array_ptr(arr);
84
- int lg2 = arr->data & 7;
85
84
  memmove(&data[dst_idx << lg2], &data[src_idx << lg2], count << lg2);
86
85
  }
87
86
 
88
87
  bool upb_Array_Insert(upb_Array* arr, size_t i, size_t count,
89
88
  upb_Arena* arena) {
90
- UPB_ASSERT(i <= arr->len);
91
- UPB_ASSERT(count + arr->len >= count);
92
- size_t oldsize = arr->len;
93
- if (!upb_Array_Resize(arr, arr->len + count, arena)) {
89
+ UPB_ASSERT(arena);
90
+ UPB_ASSERT(i <= arr->size);
91
+ UPB_ASSERT(count + arr->size >= count);
92
+ const size_t oldsize = arr->size;
93
+ if (!upb_Array_Resize(arr, arr->size + count, arena)) {
94
94
  return false;
95
95
  }
96
96
  upb_Array_Move(arr, i + count, i, oldsize - i);
@@ -98,17 +98,48 @@ bool upb_Array_Insert(upb_Array* arr, size_t i, size_t count,
98
98
  }
99
99
 
100
100
  /*
101
- * i end arr->len
101
+ * i end arr->size
102
102
  * |------------|XXXXXXXX|--------|
103
103
  */
104
104
  void upb_Array_Delete(upb_Array* arr, size_t i, size_t count) {
105
- size_t end = i + count;
105
+ const size_t end = i + count;
106
106
  UPB_ASSERT(i <= end);
107
- UPB_ASSERT(end <= arr->len);
108
- upb_Array_Move(arr, i, end, arr->len - end);
109
- arr->len -= count;
107
+ UPB_ASSERT(end <= arr->size);
108
+ upb_Array_Move(arr, i, end, arr->size - end);
109
+ arr->size -= count;
110
110
  }
111
111
 
112
112
  bool upb_Array_Resize(upb_Array* arr, size_t size, upb_Arena* arena) {
113
- return _upb_Array_Resize(arr, size, arena);
113
+ const size_t oldsize = arr->size;
114
+ if (UPB_UNLIKELY(!_upb_Array_ResizeUninitialized(arr, size, arena))) {
115
+ return false;
116
+ }
117
+ const size_t newsize = arr->size;
118
+ if (newsize > oldsize) {
119
+ const int lg2 = arr->data & 7;
120
+ char* data = _upb_array_ptr(arr);
121
+ memset(data + (oldsize << lg2), 0, (newsize - oldsize) << lg2);
122
+ }
123
+ return true;
124
+ }
125
+
126
+ // EVERYTHING BELOW THIS LINE IS INTERNAL - DO NOT USE /////////////////////////
127
+
128
+ bool _upb_array_realloc(upb_Array* arr, size_t min_capacity, upb_Arena* arena) {
129
+ size_t new_capacity = UPB_MAX(arr->capacity, 4);
130
+ int elem_size_lg2 = arr->data & 7;
131
+ size_t old_bytes = arr->capacity << elem_size_lg2;
132
+ size_t new_bytes;
133
+ void* ptr = _upb_array_ptr(arr);
134
+
135
+ // Log2 ceiling of size.
136
+ while (new_capacity < min_capacity) new_capacity *= 2;
137
+
138
+ new_bytes = new_capacity << elem_size_lg2;
139
+ ptr = upb_Arena_Realloc(arena, ptr, old_bytes, new_bytes);
140
+ if (!ptr) return false;
141
+
142
+ arr->data = _upb_tag_arrptr(ptr, elem_size_lg2);
143
+ arr->capacity = new_capacity;
144
+ return true;
114
145
  }
@@ -0,0 +1,85 @@
1
+ /*
2
+ * Copyright (c) 2009-2021, Google LLC
3
+ * All rights reserved.
4
+ *
5
+ * Redistribution and use in source and binary forms, with or without
6
+ * modification, are permitted provided that the following conditions are met:
7
+ * * Redistributions of source code must retain the above copyright
8
+ * notice, this list of conditions and the following disclaimer.
9
+ * * Redistributions in binary form must reproduce the above copyright
10
+ * notice, this list of conditions and the following disclaimer in the
11
+ * documentation and/or other materials provided with the distribution.
12
+ * * Neither the name of Google LLC nor the
13
+ * names of its contributors may be used to endorse or promote products
14
+ * derived from this software without specific prior written permission.
15
+ *
16
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
+ * ARE DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY DIRECT,
20
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ */
27
+
28
+ #ifndef UPB_COLLECTIONS_ARRAY_H_
29
+ #define UPB_COLLECTIONS_ARRAY_H_
30
+
31
+ #include "upb/base/descriptor_constants.h"
32
+ #include "upb/collections/message_value.h"
33
+ #include "upb/mem/arena.h"
34
+
35
+ // Must be last.
36
+ #include "upb/port/def.inc"
37
+
38
+ #ifdef __cplusplus
39
+ extern "C" {
40
+ #endif
41
+
42
+ // Creates a new array on the given arena that holds elements of this type.
43
+ UPB_API upb_Array* upb_Array_New(upb_Arena* a, upb_CType type);
44
+
45
+ // Returns the number of elements in the array.
46
+ UPB_API size_t upb_Array_Size(const upb_Array* arr);
47
+
48
+ // Returns the given element, which must be within the array's current size.
49
+ UPB_API upb_MessageValue upb_Array_Get(const upb_Array* arr, size_t i);
50
+
51
+ // Sets the given element, which must be within the array's current size.
52
+ UPB_API void upb_Array_Set(upb_Array* arr, size_t i, upb_MessageValue val);
53
+
54
+ // Appends an element to the array. Returns false on allocation failure.
55
+ UPB_API bool upb_Array_Append(upb_Array* array, upb_MessageValue val,
56
+ upb_Arena* arena);
57
+
58
+ // Moves elements within the array using memmove().
59
+ // Like memmove(), the source and destination elements may be overlapping.
60
+ UPB_API void upb_Array_Move(upb_Array* array, size_t dst_idx, size_t src_idx,
61
+ size_t count);
62
+
63
+ // Inserts one or more empty elements into the array.
64
+ // Existing elements are shifted right.
65
+ // The new elements have undefined state and must be set with `upb_Array_Set()`.
66
+ // REQUIRES: `i <= upb_Array_Size(arr)`
67
+ UPB_API bool upb_Array_Insert(upb_Array* array, size_t i, size_t count,
68
+ upb_Arena* arena);
69
+
70
+ // Deletes one or more elements from the array.
71
+ // Existing elements are shifted left.
72
+ // REQUIRES: `i + count <= upb_Array_Size(arr)`
73
+ UPB_API void upb_Array_Delete(upb_Array* array, size_t i, size_t count);
74
+
75
+ // Changes the size of a vector. New elements are initialized to NULL/0.
76
+ // Returns false on allocation failure.
77
+ UPB_API bool upb_Array_Resize(upb_Array* array, size_t size, upb_Arena* arena);
78
+
79
+ #ifdef __cplusplus
80
+ } /* extern "C" */
81
+ #endif
82
+
83
+ #include "upb/port/undef.inc"
84
+
85
+ #endif /* UPB_COLLECTIONS_ARRAY_H_ */
@@ -0,0 +1,135 @@
1
+ /*
2
+ * Copyright (c) 2009-2021, Google LLC
3
+ * All rights reserved.
4
+ *
5
+ * Redistribution and use in source and binary forms, with or without
6
+ * modification, are permitted provided that the following conditions are met:
7
+ * * Redistributions of source code must retain the above copyright
8
+ * notice, this list of conditions and the following disclaimer.
9
+ * * Redistributions in binary form must reproduce the above copyright
10
+ * notice, this list of conditions and the following disclaimer in the
11
+ * documentation and/or other materials provided with the distribution.
12
+ * * Neither the name of Google LLC nor the
13
+ * names of its contributors may be used to endorse or promote products
14
+ * derived from this software without specific prior written permission.
15
+ *
16
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
+ * ARE DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY DIRECT,
20
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ */
27
+
28
+ #ifndef UPB_INTERNAL_ARRAY_INTERNAL_H_
29
+ #define UPB_INTERNAL_ARRAY_INTERNAL_H_
30
+
31
+ #include <string.h>
32
+
33
+ #include "upb/collections/array.h"
34
+
35
+ // Must be last.
36
+ #include "upb/port/def.inc"
37
+
38
+ #ifdef __cplusplus
39
+ extern "C" {
40
+ #endif
41
+
42
+ // LINT.IfChange(struct_definition)
43
+ // Our internal representation for repeated fields.
44
+ struct upb_Array {
45
+ uintptr_t data; /* Tagged ptr: low 3 bits of ptr are lg2(elem size). */
46
+ size_t size; /* The number of elements in the array. */
47
+ size_t capacity; /* Allocated storage. Measured in elements. */
48
+ };
49
+ // LINT.ThenChange(GoogleInternalName1)
50
+
51
+ UPB_INLINE size_t _upb_Array_ElementSizeLg2(const upb_Array* arr) {
52
+ size_t ret = arr->data & 7;
53
+ UPB_ASSERT(ret <= 4);
54
+ return ret;
55
+ }
56
+
57
+ UPB_INLINE const void* _upb_array_constptr(const upb_Array* arr) {
58
+ _upb_Array_ElementSizeLg2(arr); // Check assertion.
59
+ return (void*)(arr->data & ~(uintptr_t)7);
60
+ }
61
+
62
+ UPB_INLINE uintptr_t _upb_array_tagptr(void* ptr, int elem_size_lg2) {
63
+ UPB_ASSERT(elem_size_lg2 <= 4);
64
+ return (uintptr_t)ptr | elem_size_lg2;
65
+ }
66
+
67
+ UPB_INLINE void* _upb_array_ptr(upb_Array* arr) {
68
+ return (void*)_upb_array_constptr(arr);
69
+ }
70
+
71
+ UPB_INLINE uintptr_t _upb_tag_arrptr(void* ptr, int elem_size_lg2) {
72
+ UPB_ASSERT(elem_size_lg2 <= 4);
73
+ UPB_ASSERT(((uintptr_t)ptr & 7) == 0);
74
+ return (uintptr_t)ptr | (unsigned)elem_size_lg2;
75
+ }
76
+
77
+ extern const char _upb_Array_CTypeSizeLg2Table[];
78
+
79
+ UPB_INLINE size_t _upb_Array_CTypeSizeLg2(upb_CType ctype) {
80
+ return _upb_Array_CTypeSizeLg2Table[ctype];
81
+ }
82
+
83
+ UPB_INLINE upb_Array* _upb_Array_New(upb_Arena* a, size_t init_capacity,
84
+ int elem_size_lg2) {
85
+ UPB_ASSERT(elem_size_lg2 <= 4);
86
+ const size_t arr_size = UPB_ALIGN_UP(sizeof(upb_Array), UPB_MALLOC_ALIGN);
87
+ const size_t bytes = arr_size + (init_capacity << elem_size_lg2);
88
+ upb_Array* arr = (upb_Array*)upb_Arena_Malloc(a, bytes);
89
+ if (!arr) return NULL;
90
+ arr->data = _upb_tag_arrptr(UPB_PTR_AT(arr, arr_size, void), elem_size_lg2);
91
+ arr->size = 0;
92
+ arr->capacity = init_capacity;
93
+ return arr;
94
+ }
95
+
96
+ // Resizes the capacity of the array to be at least min_size.
97
+ bool _upb_array_realloc(upb_Array* arr, size_t min_size, upb_Arena* arena);
98
+
99
+ UPB_INLINE bool _upb_array_reserve(upb_Array* arr, size_t size,
100
+ upb_Arena* arena) {
101
+ if (arr->capacity < size) return _upb_array_realloc(arr, size, arena);
102
+ return true;
103
+ }
104
+
105
+ // Resize without initializing new elements.
106
+ UPB_INLINE bool _upb_Array_ResizeUninitialized(upb_Array* arr, size_t size,
107
+ upb_Arena* arena) {
108
+ UPB_ASSERT(size <= arr->size || arena); // Allow NULL arena when shrinking.
109
+ if (!_upb_array_reserve(arr, size, arena)) return false;
110
+ arr->size = size;
111
+ return true;
112
+ }
113
+
114
+ // This function is intended for situations where elem_size is compile-time
115
+ // constant or a known expression of the form (1 << lg2), so that the expression
116
+ // i*elem_size does not result in an actual multiplication.
117
+ UPB_INLINE void _upb_Array_Set(upb_Array* arr, size_t i, const void* data,
118
+ size_t elem_size) {
119
+ UPB_ASSERT(i < arr->size);
120
+ UPB_ASSERT(elem_size == 1U << _upb_Array_ElementSizeLg2(arr));
121
+ char* arr_data = (char*)_upb_array_ptr(arr);
122
+ memcpy(arr_data + (i * elem_size), data, elem_size);
123
+ }
124
+
125
+ UPB_INLINE void _upb_array_detach(const void* msg, size_t ofs) {
126
+ *UPB_PTR_AT(msg, ofs, upb_Array*) = NULL;
127
+ }
128
+
129
+ #ifdef __cplusplus
130
+ } /* extern "C" */
131
+ #endif
132
+
133
+ #include "upb/port/undef.inc"
134
+
135
+ #endif /* UPB_INTERNAL_ARRAY_INTERNAL_H_ */
@@ -25,33 +25,34 @@
25
25
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
26
  */
27
27
 
28
- #include "upb/map.h"
28
+ #include "upb/collections/map.h"
29
29
 
30
30
  #include <string.h>
31
31
 
32
- #include "upb/internal/table.h"
33
- #include "upb/msg.h"
34
- #include "upb/port_def.inc"
35
-
36
- /* Strings/bytes are special-cased in maps. */
37
- static char _upb_CTypeo_mapsize[12] = {
38
- 0,
39
- 1, /* kUpb_CType_Bool */
40
- 4, /* kUpb_CType_Float */
41
- 4, /* kUpb_CType_Int32 */
42
- 4, /* kUpb_CType_UInt32 */
43
- 4, /* kUpb_CType_Enum */
44
- sizeof(void*), /* kUpb_CType_Message */
45
- 8, /* kUpb_CType_Double */
46
- 8, /* kUpb_CType_Int64 */
47
- 8, /* kUpb_CType_UInt64 */
48
- 0, /* kUpb_CType_String */
49
- 0, /* kUpb_CType_Bytes */
32
+ #include "upb/collections/map_internal.h"
33
+ #include "upb/mem/arena.h"
34
+
35
+ // Must be last.
36
+ #include "upb/port/def.inc"
37
+
38
+ // Strings/bytes are special-cased in maps.
39
+ char _upb_Map_CTypeSizeTable[12] = {
40
+ [kUpb_CType_Bool] = 1,
41
+ [kUpb_CType_Float] = 4,
42
+ [kUpb_CType_Int32] = 4,
43
+ [kUpb_CType_UInt32] = 4,
44
+ [kUpb_CType_Enum] = 4,
45
+ [kUpb_CType_Message] = sizeof(void*),
46
+ [kUpb_CType_Double] = 8,
47
+ [kUpb_CType_Int64] = 8,
48
+ [kUpb_CType_UInt64] = 8,
49
+ [kUpb_CType_String] = UPB_MAPTYPE_STRING,
50
+ [kUpb_CType_Bytes] = UPB_MAPTYPE_STRING,
50
51
  };
51
52
 
52
53
  upb_Map* upb_Map_New(upb_Arena* a, upb_CType key_type, upb_CType value_type) {
53
- return _upb_Map_New(a, _upb_CTypeo_mapsize[key_type],
54
- _upb_CTypeo_mapsize[value_type]);
54
+ return _upb_Map_New(a, _upb_Map_CTypeSize(key_type),
55
+ _upb_Map_CTypeSize(value_type));
55
56
  }
56
57
 
57
58
  size_t upb_Map_Size(const upb_Map* map) { return _upb_Map_Size(map); }
@@ -65,12 +66,28 @@ void upb_Map_Clear(upb_Map* map) { _upb_Map_Clear(map); }
65
66
 
66
67
  upb_MapInsertStatus upb_Map_Insert(upb_Map* map, upb_MessageValue key,
67
68
  upb_MessageValue val, upb_Arena* arena) {
69
+ UPB_ASSERT(arena);
68
70
  return (upb_MapInsertStatus)_upb_Map_Insert(map, &key, map->key_size, &val,
69
71
  map->val_size, arena);
70
72
  }
71
73
 
72
- bool upb_Map_Delete(upb_Map* map, upb_MessageValue key) {
73
- return _upb_Map_Delete(map, &key, map->key_size);
74
+ bool upb_Map_Delete(upb_Map* map, upb_MessageValue key, upb_MessageValue* val) {
75
+ upb_value v;
76
+ const bool ok = _upb_Map_Delete(map, &key, map->key_size, &v);
77
+ if (val) val->uint64_val = v.val;
78
+ return ok;
79
+ }
80
+
81
+ bool upb_Map_Next(const upb_Map* map, upb_MessageValue* key,
82
+ upb_MessageValue* val, size_t* iter) {
83
+ upb_StringView k;
84
+ upb_value v;
85
+ const bool ok = upb_strtable_next2(&map->table, &k, &v, (intptr_t*)iter);
86
+ if (ok) {
87
+ _upb_map_fromkey(k, key, map->key_size);
88
+ _upb_map_fromvalue(v, val, map->val_size);
89
+ }
90
+ return ok;
74
91
  }
75
92
 
76
93
  bool upb_MapIterator_Next(const upb_Map* map, size_t* iter) {
@@ -85,7 +102,7 @@ bool upb_MapIterator_Done(const upb_Map* map, size_t iter) {
85
102
  return upb_strtable_done(&i);
86
103
  }
87
104
 
88
- /* Returns the key and value for this entry of the map. */
105
+ // Returns the key and value for this entry of the map.
89
106
  upb_MessageValue upb_MapIterator_Key(const upb_Map* map, size_t iter) {
90
107
  upb_strtable_iter i;
91
108
  upb_MessageValue ret;
@@ -104,5 +121,15 @@ upb_MessageValue upb_MapIterator_Value(const upb_Map* map, size_t iter) {
104
121
  return ret;
105
122
  }
106
123
 
107
- /* void upb_MapIterator_SetValue(upb_Map *map, size_t iter, upb_MessageValue
108
- * value); */
124
+ // EVERYTHING BELOW THIS LINE IS INTERNAL - DO NOT USE /////////////////////////
125
+
126
+ upb_Map* _upb_Map_New(upb_Arena* a, size_t key_size, size_t value_size) {
127
+ upb_Map* map = upb_Arena_Malloc(a, sizeof(upb_Map));
128
+ if (!map) return NULL;
129
+
130
+ upb_strtable_init(&map->table, 4, a);
131
+ map->key_size = key_size;
132
+ map->val_size = value_size;
133
+
134
+ return map;
135
+ }
@@ -0,0 +1,135 @@
1
+ /*
2
+ * Copyright (c) 2009-2021, Google LLC
3
+ * All rights reserved.
4
+ *
5
+ * Redistribution and use in source and binary forms, with or without
6
+ * modification, are permitted provided that the following conditions are met:
7
+ * * Redistributions of source code must retain the above copyright
8
+ * notice, this list of conditions and the following disclaimer.
9
+ * * Redistributions in binary form must reproduce the above copyright
10
+ * notice, this list of conditions and the following disclaimer in the
11
+ * documentation and/or other materials provided with the distribution.
12
+ * * Neither the name of Google LLC nor the
13
+ * names of its contributors may be used to endorse or promote products
14
+ * derived from this software without specific prior written permission.
15
+ *
16
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
+ * ARE DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY DIRECT,
20
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ */
27
+
28
+ #ifndef UPB_COLLECTIONS_MAP_H_
29
+ #define UPB_COLLECTIONS_MAP_H_
30
+
31
+ #include "upb/base/descriptor_constants.h"
32
+ #include "upb/collections/message_value.h"
33
+ #include "upb/mem/arena.h"
34
+
35
+ // Must be last.
36
+ #include "upb/port/def.inc"
37
+
38
+ #ifdef __cplusplus
39
+ extern "C" {
40
+ #endif
41
+
42
+ // Creates a new map on the given arena with the given key/value size.
43
+ UPB_API upb_Map* upb_Map_New(upb_Arena* a, upb_CType key_type,
44
+ upb_CType value_type);
45
+
46
+ // Returns the number of entries in the map.
47
+ UPB_API size_t upb_Map_Size(const upb_Map* map);
48
+
49
+ // Stores a value for the given key into |*val| (or the zero value if the key is
50
+ // not present). Returns whether the key was present. The |val| pointer may be
51
+ // NULL, in which case the function tests whether the given key is present.
52
+ UPB_API bool upb_Map_Get(const upb_Map* map, upb_MessageValue key,
53
+ upb_MessageValue* val);
54
+
55
+ // Removes all entries in the map.
56
+ UPB_API void upb_Map_Clear(upb_Map* map);
57
+
58
+ typedef enum {
59
+ kUpb_MapInsertStatus_Inserted = 0,
60
+ kUpb_MapInsertStatus_Replaced = 1,
61
+ kUpb_MapInsertStatus_OutOfMemory = 2,
62
+ } upb_MapInsertStatus;
63
+
64
+ // Sets the given key to the given value, returning whether the key was inserted
65
+ // or replaced. If the key was inserted, then any existing iterators will be
66
+ // invalidated.
67
+ UPB_API upb_MapInsertStatus upb_Map_Insert(upb_Map* map, upb_MessageValue key,
68
+ upb_MessageValue val,
69
+ upb_Arena* arena);
70
+
71
+ // Sets the given key to the given value. Returns false if memory allocation
72
+ // failed. If the key is newly inserted, then any existing iterators will be
73
+ // invalidated.
74
+ UPB_API_INLINE bool upb_Map_Set(upb_Map* map, upb_MessageValue key,
75
+ upb_MessageValue val, upb_Arena* arena) {
76
+ return upb_Map_Insert(map, key, val, arena) !=
77
+ kUpb_MapInsertStatus_OutOfMemory;
78
+ }
79
+
80
+ // Deletes this key from the table. Returns true if the key was present.
81
+ // If present and |val| is non-NULL, stores the deleted value.
82
+ UPB_API bool upb_Map_Delete(upb_Map* map, upb_MessageValue key,
83
+ upb_MessageValue* val);
84
+
85
+ // (DEPRECATED and going away soon. Do not use.)
86
+ UPB_INLINE bool upb_Map_Delete2(upb_Map* map, upb_MessageValue key,
87
+ upb_MessageValue* val) {
88
+ return upb_Map_Delete(map, key, val);
89
+ }
90
+
91
+ // Map iteration:
92
+ //
93
+ // size_t iter = kUpb_Map_Begin;
94
+ // upb_MessageValue key, val;
95
+ // while (upb_Map_Next(map, &key, &val, &iter)) {
96
+ // ...
97
+ // }
98
+
99
+ #define kUpb_Map_Begin ((size_t)-1)
100
+
101
+ // Advances to the next entry. Returns false if no more entries are present.
102
+ // Otherwise returns true and populates both *key and *value.
103
+ UPB_API bool upb_Map_Next(const upb_Map* map, upb_MessageValue* key,
104
+ upb_MessageValue* val, size_t* iter);
105
+
106
+ // DEPRECATED iterator, slated for removal.
107
+
108
+ /* Map iteration:
109
+ *
110
+ * size_t iter = kUpb_Map_Begin;
111
+ * while (upb_MapIterator_Next(map, &iter)) {
112
+ * upb_MessageValue key = upb_MapIterator_Key(map, iter);
113
+ * upb_MessageValue val = upb_MapIterator_Value(map, iter);
114
+ * }
115
+ */
116
+
117
+ // Advances to the next entry. Returns false if no more entries are present.
118
+ bool upb_MapIterator_Next(const upb_Map* map, size_t* iter);
119
+
120
+ // Returns true if the iterator still points to a valid entry, or false if the
121
+ // iterator is past the last element. It is an error to call this function with
122
+ // kUpb_Map_Begin (you must call next() at least once first).
123
+ bool upb_MapIterator_Done(const upb_Map* map, size_t iter);
124
+
125
+ // Returns the key and value for this entry of the map.
126
+ upb_MessageValue upb_MapIterator_Key(const upb_Map* map, size_t iter);
127
+ upb_MessageValue upb_MapIterator_Value(const upb_Map* map, size_t iter);
128
+
129
+ #ifdef __cplusplus
130
+ } /* extern "C" */
131
+ #endif
132
+
133
+ #include "upb/port/undef.inc"
134
+
135
+ #endif /* UPB_COLLECTIONS_MAP_H_ */