grpc 1.54.0 → 1.55.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

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