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
@@ -31,16 +31,18 @@
31
31
  * Implementation is heavily inspired by Lua's ltable.c.
32
32
  */
33
33
 
34
- #include "upb/internal/table.h"
35
-
36
34
  #include <string.h>
37
35
 
38
- /* Must be last. */
39
- #include "upb/port_def.inc"
36
+ #include "upb/base/log2.h"
37
+ #include "upb/hash/int_table.h"
38
+ #include "upb/hash/str_table.h"
39
+
40
+ // Must be last.
41
+ #include "upb/port/def.inc"
40
42
 
41
- #define UPB_MAXARRSIZE 16 /* 64k. */
43
+ #define UPB_MAXARRSIZE 16 // 2**16 = 64k.
42
44
 
43
- /* From Chromium. */
45
+ // From Chromium.
44
46
  #define ARRAY_SIZE(x) \
45
47
  ((sizeof(x) / sizeof(0 [x])) / ((size_t)(!(sizeof(x) % sizeof(0 [x])))))
46
48
 
@@ -63,7 +65,7 @@ static int log2ceil(uint64_t v) {
63
65
  int ret = 0;
64
66
  bool pow2 = is_pow2(v);
65
67
  while (v >>= 1) ret++;
66
- ret = pow2 ? ret : ret + 1; /* Ceiling. */
68
+ ret = pow2 ? ret : ret + 1; // Ceiling.
67
69
  return UPB_MIN(UPB_MAXARRSIZE, ret);
68
70
  }
69
71
 
@@ -78,7 +80,7 @@ char* upb_strdup2(const char* s, size_t len, upb_Arena* a) {
78
80
  n = len + 1;
79
81
  p = upb_Arena_Malloc(a, n);
80
82
  if (p) {
81
- memcpy(p, s, len);
83
+ if (len != 0) memcpy(p, s, len);
82
84
  p[len] = 0;
83
85
  }
84
86
  return p;
@@ -458,7 +460,7 @@ bool upb_strtable_init(upb_strtable* t, size_t expected_size, upb_Arena* a) {
458
460
  // denominator.
459
461
  size_t need_entries = (expected_size + 1) * 1204 / 1024;
460
462
  UPB_ASSERT(need_entries >= expected_size * 0.85);
461
- int size_lg2 = _upb_Log2Ceiling(need_entries);
463
+ int size_lg2 = upb_Log2Ceiling(need_entries);
462
464
  return init(&t->t, size_lg2, a);
463
465
  }
464
466
 
@@ -470,14 +472,13 @@ void upb_strtable_clear(upb_strtable* t) {
470
472
 
471
473
  bool upb_strtable_resize(upb_strtable* t, size_t size_lg2, upb_Arena* a) {
472
474
  upb_strtable new_table;
473
- upb_strtable_iter i;
474
-
475
475
  if (!init(&new_table.t, size_lg2, a)) return false;
476
- upb_strtable_begin(&i, t);
477
- for (; !upb_strtable_done(&i); upb_strtable_next(&i)) {
478
- upb_StringView key = upb_strtable_iter_key(&i);
479
- upb_strtable_insert(&new_table, key.data, key.size,
480
- upb_strtable_iter_value(&i), a);
476
+
477
+ intptr_t iter = UPB_STRTABLE_BEGIN;
478
+ upb_StringView key;
479
+ upb_value val;
480
+ while (upb_strtable_next2(t, &key, &val, &iter)) {
481
+ upb_strtable_insert(&new_table, key.data, key.size, val, a);
481
482
  }
482
483
  *t = new_table;
483
484
  return true;
@@ -596,12 +597,13 @@ static void check(upb_inttable* t) {
596
597
  UPB_UNUSED(t);
597
598
  #if defined(UPB_DEBUG_TABLE) && !defined(NDEBUG)
598
599
  {
599
- /* This check is very expensive (makes inserts/deletes O(N)). */
600
+ // This check is very expensive (makes inserts/deletes O(N)).
600
601
  size_t count = 0;
601
- upb_inttable_iter i;
602
- upb_inttable_begin(&i, t);
603
- for (; !upb_inttable_done(&i); upb_inttable_next(&i), count++) {
604
- UPB_ASSERT(upb_inttable_lookup(t, upb_inttable_iter_key(&i), NULL));
602
+ intptr_t iter = UPB_INTTABLE_BEGIN;
603
+ uintptr_t key;
604
+ upb_value val;
605
+ while (upb_inttable_next(t, &key, &val, &iter)) {
606
+ UPB_ASSERT(upb_inttable_lookup(t, key, NULL));
605
607
  }
606
608
  UPB_ASSERT(count == upb_inttable_count(t));
607
609
  }
@@ -714,22 +716,22 @@ void upb_inttable_compact(upb_inttable* t, upb_Arena* a) {
714
716
  /* The max key in each bucket. */
715
717
  uintptr_t max[UPB_MAXARRSIZE + 1] = {0};
716
718
 
717
- upb_inttable_iter i;
718
- size_t arr_count;
719
- int size_lg2;
720
- upb_inttable new_t;
721
-
722
- upb_inttable_begin(&i, t);
723
- for (; !upb_inttable_done(&i); upb_inttable_next(&i)) {
724
- uintptr_t key = upb_inttable_iter_key(&i);
725
- int bucket = log2ceil(key);
726
- max[bucket] = UPB_MAX(max[bucket], key);
727
- counts[bucket]++;
719
+ {
720
+ intptr_t iter = UPB_INTTABLE_BEGIN;
721
+ uintptr_t key;
722
+ upb_value val;
723
+ while (upb_inttable_next(t, &key, &val, &iter)) {
724
+ int bucket = log2ceil(key);
725
+ max[bucket] = UPB_MAX(max[bucket], key);
726
+ counts[bucket]++;
727
+ }
728
728
  }
729
729
 
730
730
  /* Find the largest power of two that satisfies the MIN_DENSITY
731
731
  * definition (while actually having some keys). */
732
- arr_count = upb_inttable_count(t);
732
+ size_t arr_count = upb_inttable_count(t);
733
+ int size_lg2;
734
+ upb_inttable new_t;
733
735
 
734
736
  for (size_lg2 = ARRAY_SIZE(counts) - 1; size_lg2 > 0; size_lg2--) {
735
737
  if (counts[size_lg2] == 0) {
@@ -752,56 +754,29 @@ void upb_inttable_compact(upb_inttable* t, upb_Arena* a) {
752
754
  int hashsize_lg2 = log2ceil(hash_size);
753
755
 
754
756
  upb_inttable_sizedinit(&new_t, arr_size, hashsize_lg2, a);
755
- upb_inttable_begin(&i, t);
756
- for (; !upb_inttable_done(&i); upb_inttable_next(&i)) {
757
- uintptr_t k = upb_inttable_iter_key(&i);
758
- upb_inttable_insert(&new_t, k, upb_inttable_iter_value(&i), a);
757
+
758
+ {
759
+ intptr_t iter = UPB_INTTABLE_BEGIN;
760
+ uintptr_t key;
761
+ upb_value val;
762
+ while (upb_inttable_next(t, &key, &val, &iter)) {
763
+ upb_inttable_insert(&new_t, key, val, a);
764
+ }
759
765
  }
766
+
760
767
  UPB_ASSERT(new_t.array_size == arr_size);
761
768
  UPB_ASSERT(new_t.t.size_lg2 == hashsize_lg2);
762
769
  }
763
770
  *t = new_t;
764
771
  }
765
772
 
766
- /* Iteration. */
767
-
768
- static const upb_tabent* int_tabent(const upb_inttable_iter* i) {
769
- UPB_ASSERT(!i->array_part);
770
- return &i->t->t.entries[i->index];
771
- }
772
-
773
- static upb_tabval int_arrent(const upb_inttable_iter* i) {
774
- UPB_ASSERT(i->array_part);
775
- return i->t->array[i->index];
776
- }
777
-
778
- void upb_inttable_begin(upb_inttable_iter* i, const upb_inttable* t) {
779
- i->t = t;
780
- i->index = -1;
781
- i->array_part = true;
782
- upb_inttable_next(i);
783
- }
773
+ // Iteration.
784
774
 
785
- void upb_inttable_next(upb_inttable_iter* iter) {
786
- const upb_inttable* t = iter->t;
787
- if (iter->array_part) {
788
- while (++iter->index < t->array_size) {
789
- if (upb_arrhas(int_arrent(iter))) {
790
- return;
791
- }
792
- }
793
- iter->array_part = false;
794
- iter->index = begin(&t->t);
795
- } else {
796
- iter->index = next(&t->t, iter->index);
797
- }
798
- }
799
-
800
- bool upb_inttable_next2(const upb_inttable* t, uintptr_t* key, upb_value* val,
801
- intptr_t* iter) {
775
+ bool upb_inttable_next(const upb_inttable* t, uintptr_t* key, upb_value* val,
776
+ intptr_t* iter) {
802
777
  intptr_t i = *iter;
803
- if (i < t->array_size) {
804
- while (++i < t->array_size) {
778
+ if ((size_t)(i + 1) <= t->array_size) {
779
+ while ((size_t)++i < t->array_size) {
805
780
  upb_tabval ent = t->array[i];
806
781
  if (upb_arrhas(ent)) {
807
782
  *key = i;
@@ -810,9 +785,10 @@ bool upb_inttable_next2(const upb_inttable* t, uintptr_t* key, upb_value* val,
810
785
  return true;
811
786
  }
812
787
  }
788
+ i--; // Back up to exactly one position before the start of the table.
813
789
  }
814
790
 
815
- size_t tab_idx = next(&t->t, i == -1 ? -1 : i - t->array_size);
791
+ size_t tab_idx = next(&t->t, i - t->array_size);
816
792
  if (tab_idx < upb_table_size(&t->t)) {
817
793
  upb_tabent* ent = &t->t.entries[tab_idx];
818
794
  *key = ent->key;
@@ -826,7 +802,7 @@ bool upb_inttable_next2(const upb_inttable* t, uintptr_t* key, upb_value* val,
826
802
 
827
803
  void upb_inttable_removeiter(upb_inttable* t, intptr_t* iter) {
828
804
  intptr_t i = *iter;
829
- if (i < t->array_size) {
805
+ if ((size_t)i < t->array_size) {
830
806
  t->array_count--;
831
807
  mutable_array(t)[i].val = -1;
832
808
  } else {
@@ -890,37 +866,3 @@ void upb_strtable_removeiter(upb_strtable* t, intptr_t* iter) {
890
866
  ent->key = 0;
891
867
  ent->next = NULL;
892
868
  }
893
-
894
- bool upb_inttable_done(const upb_inttable_iter* i) {
895
- if (!i->t) return true;
896
- if (i->array_part) {
897
- return i->index >= i->t->array_size || !upb_arrhas(int_arrent(i));
898
- } else {
899
- return i->index >= upb_table_size(&i->t->t) ||
900
- upb_tabent_isempty(int_tabent(i));
901
- }
902
- }
903
-
904
- uintptr_t upb_inttable_iter_key(const upb_inttable_iter* i) {
905
- UPB_ASSERT(!upb_inttable_done(i));
906
- return i->array_part ? i->index : int_tabent(i)->key;
907
- }
908
-
909
- upb_value upb_inttable_iter_value(const upb_inttable_iter* i) {
910
- UPB_ASSERT(!upb_inttable_done(i));
911
- return _upb_value_val(i->array_part ? i->t->array[i->index].val
912
- : int_tabent(i)->val.val);
913
- }
914
-
915
- void upb_inttable_iter_setdone(upb_inttable_iter* i) {
916
- i->t = NULL;
917
- i->index = SIZE_MAX;
918
- i->array_part = false;
919
- }
920
-
921
- bool upb_inttable_iter_isequal(const upb_inttable_iter* i1,
922
- const upb_inttable_iter* i2) {
923
- if (upb_inttable_done(i1) && upb_inttable_done(i2)) return true;
924
- return i1->t == i2->t && i1->index == i2->index &&
925
- i1->array_part == i2->array_part;
926
- }
@@ -0,0 +1,199 @@
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
+ /*
29
+ * upb_table
30
+ *
31
+ * This header is INTERNAL-ONLY! Its interfaces are not public or stable!
32
+ * This file defines very fast int->upb_value (inttable) and string->upb_value
33
+ * (strtable) hash tables.
34
+ *
35
+ * The table uses chained scatter with Brent's variation (inspired by the Lua
36
+ * implementation of hash tables). The hash function for strings is Austin
37
+ * Appleby's "MurmurHash."
38
+ *
39
+ * The inttable uses uintptr_t as its key, which guarantees it can be used to
40
+ * store pointers or integers of at least 32 bits (upb isn't really useful on
41
+ * systems where sizeof(void*) < 4).
42
+ *
43
+ * The table must be homogeneous (all values of the same type). In debug
44
+ * mode, we check this on insert and lookup.
45
+ */
46
+
47
+ #ifndef UPB_HASH_COMMON_H_
48
+ #define UPB_HASH_COMMON_H_
49
+
50
+ #include <string.h>
51
+
52
+ #include "upb/base/string_view.h"
53
+ #include "upb/mem/arena.h"
54
+
55
+ // Must be last.
56
+ #include "upb/port/def.inc"
57
+
58
+ #ifdef __cplusplus
59
+ extern "C" {
60
+ #endif
61
+
62
+ /* upb_value ******************************************************************/
63
+
64
+ typedef struct {
65
+ uint64_t val;
66
+ } upb_value;
67
+
68
+ /* Variant that works with a length-delimited rather than NULL-delimited string,
69
+ * as supported by strtable. */
70
+ char* upb_strdup2(const char* s, size_t len, upb_Arena* a);
71
+
72
+ UPB_INLINE void _upb_value_setval(upb_value* v, uint64_t val) { v->val = val; }
73
+
74
+ /* For each value ctype, define the following set of functions:
75
+ *
76
+ * // Get/set an int32 from a upb_value.
77
+ * int32_t upb_value_getint32(upb_value val);
78
+ * void upb_value_setint32(upb_value *val, int32_t cval);
79
+ *
80
+ * // Construct a new upb_value from an int32.
81
+ * upb_value upb_value_int32(int32_t val); */
82
+ #define FUNCS(name, membername, type_t, converter, proto_type) \
83
+ UPB_INLINE void upb_value_set##name(upb_value* val, type_t cval) { \
84
+ val->val = (converter)cval; \
85
+ } \
86
+ UPB_INLINE upb_value upb_value_##name(type_t val) { \
87
+ upb_value ret; \
88
+ upb_value_set##name(&ret, val); \
89
+ return ret; \
90
+ } \
91
+ UPB_INLINE type_t upb_value_get##name(upb_value val) { \
92
+ return (type_t)(converter)val.val; \
93
+ }
94
+
95
+ FUNCS(int32, int32, int32_t, int32_t, UPB_CTYPE_INT32)
96
+ FUNCS(int64, int64, int64_t, int64_t, UPB_CTYPE_INT64)
97
+ FUNCS(uint32, uint32, uint32_t, uint32_t, UPB_CTYPE_UINT32)
98
+ FUNCS(uint64, uint64, uint64_t, uint64_t, UPB_CTYPE_UINT64)
99
+ FUNCS(bool, _bool, bool, bool, UPB_CTYPE_BOOL)
100
+ FUNCS(cstr, cstr, char*, uintptr_t, UPB_CTYPE_CSTR)
101
+ FUNCS(ptr, ptr, void*, uintptr_t, UPB_CTYPE_PTR)
102
+ FUNCS(constptr, constptr, const void*, uintptr_t, UPB_CTYPE_CONSTPTR)
103
+
104
+ #undef FUNCS
105
+
106
+ UPB_INLINE void upb_value_setfloat(upb_value* val, float cval) {
107
+ memcpy(&val->val, &cval, sizeof(cval));
108
+ }
109
+
110
+ UPB_INLINE void upb_value_setdouble(upb_value* val, double cval) {
111
+ memcpy(&val->val, &cval, sizeof(cval));
112
+ }
113
+
114
+ UPB_INLINE upb_value upb_value_float(float cval) {
115
+ upb_value ret;
116
+ upb_value_setfloat(&ret, cval);
117
+ return ret;
118
+ }
119
+
120
+ UPB_INLINE upb_value upb_value_double(double cval) {
121
+ upb_value ret;
122
+ upb_value_setdouble(&ret, cval);
123
+ return ret;
124
+ }
125
+
126
+ #undef SET_TYPE
127
+
128
+ /* upb_tabkey *****************************************************************/
129
+
130
+ /* Either:
131
+ * 1. an actual integer key, or
132
+ * 2. a pointer to a string prefixed by its uint32_t length, owned by us.
133
+ *
134
+ * ...depending on whether this is a string table or an int table. We would
135
+ * make this a union of those two types, but C89 doesn't support statically
136
+ * initializing a non-first union member. */
137
+ typedef uintptr_t upb_tabkey;
138
+
139
+ UPB_INLINE char* upb_tabstr(upb_tabkey key, uint32_t* len) {
140
+ char* mem = (char*)key;
141
+ if (len) memcpy(len, mem, sizeof(*len));
142
+ return mem + sizeof(*len);
143
+ }
144
+
145
+ UPB_INLINE upb_StringView upb_tabstrview(upb_tabkey key) {
146
+ upb_StringView ret;
147
+ uint32_t len;
148
+ ret.data = upb_tabstr(key, &len);
149
+ ret.size = len;
150
+ return ret;
151
+ }
152
+
153
+ /* upb_tabval *****************************************************************/
154
+
155
+ typedef struct upb_tabval {
156
+ uint64_t val;
157
+ } upb_tabval;
158
+
159
+ #define UPB_TABVALUE_EMPTY_INIT \
160
+ { -1 }
161
+
162
+ /* upb_table ******************************************************************/
163
+
164
+ typedef struct _upb_tabent {
165
+ upb_tabkey key;
166
+ upb_tabval val;
167
+
168
+ /* Internal chaining. This is const so we can create static initializers for
169
+ * tables. We cast away const sometimes, but *only* when the containing
170
+ * upb_table is known to be non-const. This requires a bit of care, but
171
+ * the subtlety is confined to table.c. */
172
+ const struct _upb_tabent* next;
173
+ } upb_tabent;
174
+
175
+ typedef struct {
176
+ size_t count; /* Number of entries in the hash part. */
177
+ uint32_t mask; /* Mask to turn hash value -> bucket. */
178
+ uint32_t max_count; /* Max count before we hit our load limit. */
179
+ uint8_t size_lg2; /* Size of the hashtable part is 2^size_lg2 entries. */
180
+ upb_tabent* entries;
181
+ } upb_table;
182
+
183
+ UPB_INLINE size_t upb_table_size(const upb_table* t) {
184
+ return t->size_lg2 ? 1 << t->size_lg2 : 0;
185
+ }
186
+
187
+ // Internal-only functions, in .h file only out of necessity.
188
+
189
+ UPB_INLINE bool upb_tabent_isempty(const upb_tabent* e) { return e->key == 0; }
190
+
191
+ uint32_t _upb_Hash(const void* p, size_t n, uint64_t seed);
192
+
193
+ #ifdef __cplusplus
194
+ } /* extern "C" */
195
+ #endif
196
+
197
+ #include "upb/port/undef.inc"
198
+
199
+ #endif /* UPB_HASH_COMMON_H_ */
@@ -0,0 +1,102 @@
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_HASH_INT_TABLE_H_
29
+ #define UPB_HASH_INT_TABLE_H_
30
+
31
+ #include "upb/hash/common.h"
32
+
33
+ // Must be last.
34
+ #include "upb/port/def.inc"
35
+
36
+ typedef struct {
37
+ upb_table t; // For entries that don't fit in the array part.
38
+ const upb_tabval* array; // Array part of the table. See const note above.
39
+ size_t array_size; // Array part size.
40
+ size_t array_count; // Array part number of elements.
41
+ } upb_inttable;
42
+
43
+ #ifdef __cplusplus
44
+ extern "C" {
45
+ #endif
46
+
47
+ // Initialize a table. If memory allocation failed, false is returned and
48
+ // the table is uninitialized.
49
+ bool upb_inttable_init(upb_inttable* table, upb_Arena* a);
50
+
51
+ // Returns the number of values in the table.
52
+ size_t upb_inttable_count(const upb_inttable* t);
53
+
54
+ // Inserts the given key into the hashtable with the given value.
55
+ // The key must not already exist in the hash table.
56
+ // The value must not be UINTPTR_MAX.
57
+ //
58
+ // If a table resize was required but memory allocation failed, false is
59
+ // returned and the table is unchanged.
60
+ bool upb_inttable_insert(upb_inttable* t, uintptr_t key, upb_value val,
61
+ upb_Arena* a);
62
+
63
+ // Looks up key in this table, returning "true" if the key was found.
64
+ // If v is non-NULL, copies the value for this key into *v.
65
+ bool upb_inttable_lookup(const upb_inttable* t, uintptr_t key, upb_value* v);
66
+
67
+ // Removes an item from the table. Returns true if the remove was successful,
68
+ // and stores the removed item in *val if non-NULL.
69
+ bool upb_inttable_remove(upb_inttable* t, uintptr_t key, upb_value* val);
70
+
71
+ // Updates an existing entry in an inttable.
72
+ // If the entry does not exist, returns false and does nothing.
73
+ // Unlike insert/remove, this does not invalidate iterators.
74
+ bool upb_inttable_replace(upb_inttable* t, uintptr_t key, upb_value val);
75
+
76
+ // Optimizes the table for the current set of entries, for both memory use and
77
+ // lookup time. Client should call this after all entries have been inserted;
78
+ // inserting more entries is legal, but will likely require a table resize.
79
+ void upb_inttable_compact(upb_inttable* t, upb_Arena* a);
80
+
81
+ // Iteration over inttable:
82
+ //
83
+ // intptr_t iter = UPB_INTTABLE_BEGIN;
84
+ // uintptr_t key;
85
+ // upb_value val;
86
+ // while (upb_inttable_next(t, &key, &val, &iter)) {
87
+ // // ...
88
+ // }
89
+
90
+ #define UPB_INTTABLE_BEGIN -1
91
+
92
+ bool upb_inttable_next(const upb_inttable* t, uintptr_t* key, upb_value* val,
93
+ intptr_t* iter);
94
+ void upb_inttable_removeiter(upb_inttable* t, intptr_t* iter);
95
+
96
+ #ifdef __cplusplus
97
+ } /* extern "C" */
98
+ #endif
99
+
100
+ #include "upb/port/undef.inc"
101
+
102
+ #endif /* UPB_HASH_INT_TABLE_H_ */