grpc 1.54.2 → 1.55.0

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

Potentially problematic release.


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

Files changed (956) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +66 -37
  3. data/include/grpc/impl/grpc_types.h +2 -0
  4. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +1 -1
  5. data/src/core/ext/filters/client_channel/backend_metric.cc +2 -1
  6. data/src/core/ext/filters/client_channel/client_channel.cc +13 -17
  7. data/src/core/ext/filters/client_channel/client_channel.h +20 -16
  8. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +1 -1
  9. data/src/core/ext/filters/client_channel/client_channel_internal.h +8 -40
  10. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +2 -2
  11. data/src/core/ext/filters/client_channel/config_selector.h +5 -17
  12. data/src/core/ext/filters/client_channel/health/health_check_client.cc +1 -1
  13. data/src/core/ext/filters/client_channel/http_proxy.cc +34 -1
  14. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +2 -2
  15. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +1 -1
  16. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
  17. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +5 -5
  18. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +3 -3
  19. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +44 -45
  20. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +2 -3
  21. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +3 -3
  22. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +3 -3
  23. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +4 -4
  24. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +3 -3
  25. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +9 -9
  26. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +4 -4
  27. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +5 -4
  28. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +19 -118
  29. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h +30 -0
  30. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc +60 -0
  31. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.h +27 -0
  32. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +524 -0
  33. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.h +35 -0
  34. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +97 -0
  35. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h +32 -0
  36. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +2 -13
  37. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.h +24 -0
  38. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +3 -2
  39. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +7 -34
  40. data/src/core/ext/filters/client_channel/retry_filter.cc +23 -55
  41. data/src/core/ext/filters/client_channel/retry_service_config.cc +8 -8
  42. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
  43. data/src/core/ext/filters/http/message_compress/compression_filter.cc +2 -2
  44. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +68 -69
  45. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +78 -23
  46. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +21 -0
  47. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +70 -0
  48. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +1 -7
  49. data/src/core/ext/transport/chttp2/transport/frame_ping.h +0 -3
  50. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -0
  51. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +1 -0
  52. data/src/core/ext/transport/chttp2/transport/internal.h +3 -4
  53. data/src/core/ext/transport/chttp2/transport/writing.cc +14 -3
  54. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +87 -52
  55. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +414 -181
  56. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -60
  57. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +481 -224
  58. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +90 -55
  59. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +415 -188
  60. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +357 -210
  61. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1572 -729
  62. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +30 -17
  63. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +144 -47
  64. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +34 -21
  65. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -62
  66. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +27 -14
  67. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +78 -38
  68. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +20 -11
  69. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +48 -26
  70. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +20 -11
  71. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +48 -26
  72. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +109 -62
  73. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +566 -244
  74. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +21 -12
  75. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +45 -30
  76. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +22 -19
  77. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +82 -29
  78. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +23 -16
  79. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +45 -30
  80. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +230 -143
  81. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +733 -404
  82. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +417 -264
  83. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1839 -899
  84. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -41
  85. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +286 -148
  86. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +531 -334
  87. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2017 -1131
  88. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +21 -12
  89. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +45 -30
  90. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +89 -52
  91. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +347 -232
  92. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +264 -165
  93. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +888 -476
  94. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +139 -80
  95. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +527 -274
  96. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +22 -13
  97. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +50 -36
  98. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +380 -221
  99. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1168 -611
  100. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +166 -94
  101. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +666 -292
  102. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +18 -11
  103. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +37 -26
  104. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +21 -12
  105. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +45 -30
  106. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +30 -17
  107. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +144 -47
  108. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +274 -167
  109. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +789 -440
  110. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +228 -137
  111. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +1100 -501
  112. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +22 -13
  113. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +60 -37
  114. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +350 -211
  115. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1072 -646
  116. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +33 -18
  117. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +117 -51
  118. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +34 -19
  119. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +118 -56
  120. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +38 -21
  121. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +148 -64
  122. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +31 -18
  123. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +143 -65
  124. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +22 -13
  125. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +51 -37
  126. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +78 -43
  127. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +265 -127
  128. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +145 -88
  129. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +438 -241
  130. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +115 -62
  131. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +559 -227
  132. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +18 -11
  133. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +35 -26
  134. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +175 -118
  135. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +857 -442
  136. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +172 -95
  137. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +864 -374
  138. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +48 -27
  139. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +159 -110
  140. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +39 -18
  141. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +74 -56
  142. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +28 -15
  143. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +71 -45
  144. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +131 -74
  145. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +489 -249
  146. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +135 -80
  147. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +505 -245
  148. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +248 -139
  149. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +933 -433
  150. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +80 -49
  151. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +616 -201
  152. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +1283 -776
  153. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +5422 -2519
  154. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +49 -28
  155. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +164 -84
  156. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +228 -141
  157. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +738 -399
  158. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +20 -11
  159. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +48 -26
  160. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +21 -12
  161. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +45 -30
  162. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +32 -19
  163. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +70 -49
  164. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +27 -14
  165. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +110 -43
  166. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +46 -25
  167. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +259 -100
  168. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +21 -12
  169. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +45 -30
  170. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +18 -11
  171. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +35 -26
  172. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +42 -23
  173. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +108 -70
  174. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +7 -4
  175. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +21 -16
  176. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +43 -24
  177. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +110 -75
  178. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +30 -17
  179. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +95 -50
  180. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +16 -9
  181. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +73 -23
  182. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +60 -37
  183. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +150 -108
  184. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +74 -43
  185. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +357 -167
  186. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +44 -25
  187. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +114 -80
  188. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -20
  189. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +245 -82
  190. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +32 -19
  191. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +73 -51
  192. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +474 -296
  193. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2121 -1076
  194. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +18 -11
  195. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +35 -26
  196. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +34 -21
  197. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +112 -78
  198. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +72 -45
  199. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +193 -138
  200. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +34 -21
  201. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +119 -78
  202. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +18 -11
  203. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +35 -26
  204. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +7 -4
  205. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +15 -10
  206. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +184 -96
  207. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +907 -360
  208. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +56 -33
  209. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -101
  210. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +188 -111
  211. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +816 -419
  212. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +32 -19
  213. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +109 -53
  214. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +10 -7
  215. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +18 -14
  216. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +300 -177
  217. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1284 -522
  218. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +42 -23
  219. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +188 -75
  220. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +130 -83
  221. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +510 -238
  222. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +22 -13
  223. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +55 -34
  224. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +39 -26
  225. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +124 -68
  226. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +21 -12
  227. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +47 -30
  228. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +52 -29
  229. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +92 -62
  230. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +37 -20
  231. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +133 -63
  232. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +22 -13
  233. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +91 -40
  234. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +21 -12
  235. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +50 -32
  236. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +18 -11
  237. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +37 -26
  238. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +46 -27
  239. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +101 -70
  240. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +13 -10
  241. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +25 -22
  242. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +40 -23
  243. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +161 -75
  244. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +31 -18
  245. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +114 -56
  246. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +46 -29
  247. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +139 -91
  248. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +65 -42
  249. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +200 -121
  250. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +80 -45
  251. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +208 -131
  252. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +34 -21
  253. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +74 -53
  254. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +7 -4
  255. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +13 -8
  256. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +16 -9
  257. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +28 -18
  258. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +28 -15
  259. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +55 -34
  260. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +43 -22
  261. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +91 -53
  262. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +35 -20
  263. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +92 -57
  264. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +7 -4
  265. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +13 -8
  266. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +20 -11
  267. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +48 -26
  268. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +23 -14
  269. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +61 -41
  270. data/src/core/ext/upb-generated/google/api/annotations.upb.c +14 -11
  271. data/src/core/ext/upb-generated/google/api/annotations.upb.h +30 -20
  272. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +255 -154
  273. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +934 -450
  274. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +299 -180
  275. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +946 -483
  276. data/src/core/ext/upb-generated/google/api/http.upb.c +68 -35
  277. data/src/core/ext/upb-generated/google/api/http.upb.h +284 -120
  278. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +22 -13
  279. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +95 -37
  280. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +19 -10
  281. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +38 -22
  282. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +1018 -424
  283. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +3851 -1412
  284. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +19 -10
  285. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +38 -22
  286. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +10 -7
  287. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +18 -14
  288. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +62 -39
  289. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +207 -102
  290. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +19 -10
  291. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +38 -22
  292. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +90 -51
  293. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +157 -107
  294. data/src/core/ext/upb-generated/google/rpc/status.upb.c +22 -13
  295. data/src/core/ext/upb-generated/google/rpc/status.upb.h +95 -37
  296. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +59 -34
  297. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +154 -92
  298. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +43 -24
  299. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +118 -60
  300. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +250 -145
  301. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +919 -415
  302. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +34 -19
  303. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +76 -51
  304. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +25 -14
  305. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +45 -30
  306. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +144 -81
  307. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +405 -217
  308. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +51 -26
  309. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +153 -61
  310. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +173 -102
  311. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +855 -298
  312. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +68 -49
  313. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +155 -104
  314. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +26 -17
  315. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +55 -34
  316. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +12 -9
  317. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +31 -14
  318. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +26 -17
  319. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +55 -34
  320. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +23 -16
  321. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +45 -30
  322. data/src/core/ext/upb-generated/validate/validate.upb.c +845 -455
  323. data/src/core/ext/upb-generated/validate/validate.upb.h +4347 -1908
  324. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +68 -49
  325. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +155 -104
  326. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +26 -17
  327. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +55 -34
  328. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +12 -9
  329. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +31 -14
  330. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +65 -44
  331. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +137 -91
  332. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +23 -16
  333. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +45 -30
  334. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +16 -9
  335. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +28 -18
  336. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +21 -12
  337. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +45 -30
  338. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +37 -22
  339. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +96 -63
  340. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +26 -17
  341. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +52 -29
  342. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +21 -12
  343. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +45 -30
  344. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +23 -14
  345. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +62 -42
  346. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +44 -25
  347. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +169 -79
  348. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +27 -14
  349. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +65 -38
  350. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +69 -38
  351. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +167 -76
  352. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +21 -12
  353. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +89 -34
  354. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +18 -11
  355. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +35 -26
  356. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +32 -19
  357. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +150 -54
  358. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +10 -7
  359. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +18 -14
  360. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +34 -21
  361. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +161 -63
  362. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +162 -101
  363. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +501 -293
  364. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +85 -52
  365. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +430 -164
  366. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +24 -15
  367. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +53 -37
  368. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +40 -23
  369. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +161 -75
  370. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +37 -22
  371. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +92 -66
  372. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +43 -22
  373. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +91 -53
  374. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +21 -12
  375. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +45 -30
  376. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +1 -1
  377. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +6 -5
  378. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +1 -1
  379. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +6 -5
  380. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +1 -1
  381. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +6 -5
  382. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +1 -1
  383. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +6 -5
  384. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +1 -1
  385. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +6 -5
  386. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +1 -1
  387. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +6 -5
  388. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +1 -1
  389. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +6 -5
  390. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +1 -1
  391. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +6 -5
  392. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +1 -1
  393. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +6 -5
  394. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +1 -1
  395. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +6 -5
  396. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +1 -1
  397. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +6 -5
  398. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +1 -1
  399. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +6 -5
  400. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +1 -1
  401. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +6 -5
  402. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +1 -1
  403. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +6 -5
  404. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +252 -253
  405. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +6 -5
  406. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +1 -1
  407. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +6 -5
  408. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +1 -1
  409. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +6 -5
  410. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +1 -1
  411. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +6 -5
  412. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +1 -1
  413. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +6 -5
  414. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +1 -1
  415. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +6 -5
  416. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +1 -1
  417. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +6 -5
  418. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +1 -1
  419. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +6 -5
  420. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +1 -1
  421. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +6 -5
  422. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +13 -12
  423. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +11 -5
  424. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +1 -1
  425. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +6 -5
  426. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +1 -1
  427. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +6 -5
  428. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +1 -1
  429. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +6 -5
  430. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +1 -1
  431. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +6 -5
  432. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +1 -1
  433. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +6 -5
  434. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +1 -1
  435. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +6 -5
  436. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +44 -44
  437. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +6 -5
  438. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +1 -1
  439. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +6 -5
  440. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +1 -1
  441. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +6 -5
  442. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +1 -1
  443. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +6 -5
  444. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +1 -1
  445. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +6 -5
  446. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +1 -1
  447. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +6 -5
  448. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +1 -1
  449. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +6 -5
  450. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +1 -1
  451. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +6 -5
  452. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +1 -1
  453. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +6 -5
  454. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +1 -1
  455. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +6 -5
  456. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +1 -1
  457. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +6 -5
  458. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +1 -1
  459. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +6 -5
  460. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +1 -1
  461. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +6 -5
  462. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +1 -1
  463. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +6 -5
  464. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +1 -1
  465. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +6 -5
  466. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +1 -1
  467. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +6 -5
  468. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +1 -1
  469. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +6 -5
  470. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +134 -128
  471. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +11 -5
  472. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +1 -1
  473. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +6 -5
  474. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +1 -1
  475. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +6 -5
  476. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +1 -1
  477. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +6 -5
  478. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +1 -1
  479. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +6 -5
  480. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +1 -1
  481. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +6 -5
  482. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +1 -1
  483. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +6 -5
  484. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +1 -1
  485. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +6 -5
  486. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +1 -1
  487. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +6 -5
  488. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +1 -1
  489. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +6 -5
  490. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +1 -1
  491. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +6 -5
  492. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +1 -1
  493. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +6 -5
  494. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +1 -1
  495. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +6 -5
  496. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +1 -1
  497. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +6 -5
  498. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +1 -1
  499. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +6 -5
  500. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +1 -1
  501. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +6 -5
  502. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +1 -1
  503. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +6 -5
  504. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +1 -1
  505. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +6 -5
  506. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +1 -1
  507. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +6 -5
  508. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +1 -1
  509. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +6 -5
  510. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +1 -1
  511. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +6 -5
  512. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +1 -1
  513. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +6 -5
  514. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +379 -376
  515. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +6 -5
  516. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +1 -1
  517. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +6 -5
  518. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +1 -1
  519. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +6 -5
  520. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +138 -136
  521. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +6 -5
  522. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +1 -1
  523. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +6 -5
  524. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +1 -1
  525. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +6 -5
  526. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +1 -1
  527. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +6 -5
  528. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +1 -1
  529. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +6 -5
  530. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +1 -1
  531. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +6 -5
  532. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +1 -1
  533. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +6 -5
  534. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +12 -13
  535. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +6 -5
  536. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +1 -1
  537. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +6 -5
  538. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +1 -1
  539. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +6 -5
  540. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +1 -1
  541. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +6 -5
  542. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +1 -1
  543. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +6 -5
  544. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +1 -1
  545. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +6 -5
  546. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +1 -1
  547. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +6 -5
  548. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +1 -1
  549. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +6 -5
  550. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +1 -1
  551. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +6 -5
  552. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +1 -1
  553. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +6 -5
  554. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +1 -1
  555. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +6 -5
  556. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +1 -1
  557. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +6 -5
  558. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +1 -1
  559. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +6 -5
  560. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +1 -1
  561. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +6 -5
  562. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +1 -1
  563. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +6 -5
  564. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +1 -1
  565. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +6 -5
  566. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +1 -1
  567. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +6 -5
  568. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +1 -1
  569. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +6 -5
  570. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +1 -1
  571. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +6 -5
  572. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +1 -1
  573. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +6 -5
  574. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +1 -1
  575. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +6 -5
  576. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +1 -1
  577. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +6 -5
  578. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +1 -1
  579. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +6 -5
  580. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +1 -1
  581. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +6 -5
  582. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +1 -1
  583. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +6 -5
  584. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +1 -1
  585. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +6 -5
  586. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +1 -1
  587. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +6 -5
  588. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +1 -1
  589. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +6 -5
  590. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +1 -1
  591. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +6 -5
  592. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +1 -1
  593. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +6 -5
  594. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +1 -1
  595. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +6 -5
  596. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +329 -273
  597. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +11 -5
  598. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +1 -1
  599. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +6 -5
  600. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +1 -1
  601. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +6 -5
  602. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +1 -1
  603. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +6 -5
  604. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +1 -1
  605. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +6 -5
  606. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +1 -1
  607. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +6 -5
  608. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +1 -1
  609. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +6 -5
  610. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +1 -1
  611. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +6 -5
  612. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +1 -1
  613. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +6 -5
  614. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +1 -1
  615. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +6 -5
  616. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +1 -1
  617. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +6 -5
  618. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +1 -1
  619. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +6 -5
  620. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +1 -1
  621. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +6 -5
  622. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +1 -1
  623. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +6 -5
  624. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +1 -1
  625. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +6 -5
  626. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +1 -1
  627. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +6 -5
  628. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +1 -1
  629. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +6 -5
  630. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +1 -1
  631. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +6 -5
  632. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +1 -1
  633. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +6 -5
  634. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +1 -1
  635. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +6 -5
  636. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +1 -1
  637. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +6 -5
  638. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +1 -1
  639. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +6 -5
  640. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +1 -1
  641. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +6 -5
  642. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +1 -1
  643. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +6 -5
  644. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +1 -1
  645. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +6 -5
  646. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +1 -1
  647. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +6 -5
  648. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +1 -1
  649. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +6 -5
  650. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +1 -1
  651. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +6 -5
  652. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +1 -1
  653. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +6 -5
  654. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +1 -1
  655. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +6 -5
  656. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +1 -1
  657. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +6 -5
  658. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +1 -1
  659. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +6 -5
  660. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +1 -1
  661. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +6 -5
  662. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +1 -1
  663. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +6 -5
  664. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +1 -1
  665. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +6 -5
  666. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +1 -1
  667. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +6 -5
  668. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +1 -1
  669. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +6 -5
  670. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +1 -1
  671. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +6 -5
  672. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +1 -1
  673. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +6 -5
  674. data/src/core/ext/xds/certificate_provider_store.cc +4 -4
  675. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +7 -7
  676. data/src/core/ext/xds/upb_utils.h +1 -1
  677. data/src/core/ext/xds/xds_api.cc +34 -14
  678. data/src/core/ext/xds/xds_api.h +2 -2
  679. data/src/core/ext/xds/xds_bootstrap.cc +3 -3
  680. data/src/core/ext/xds/xds_bootstrap_grpc.cc +15 -15
  681. data/src/core/ext/xds/xds_client.cc +24 -3
  682. data/src/core/ext/xds/xds_client.h +1 -1
  683. data/src/core/ext/xds/xds_cluster.cc +26 -34
  684. data/src/core/ext/xds/xds_cluster.h +1 -2
  685. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +4 -3
  686. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +2 -2
  687. data/src/core/ext/xds/xds_common_types.cc +5 -4
  688. data/src/core/ext/xds/xds_endpoint.cc +5 -2
  689. data/src/core/ext/xds/xds_endpoint.h +1 -1
  690. data/src/core/ext/xds/xds_http_fault_filter.cc +2 -2
  691. data/src/core/ext/xds/xds_http_fault_filter.h +1 -1
  692. data/src/core/ext/xds/xds_http_filters.h +3 -2
  693. data/src/core/ext/xds/xds_http_rbac_filter.cc +6 -8
  694. data/src/core/ext/xds/xds_http_rbac_filter.h +1 -1
  695. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +2 -2
  696. data/src/core/ext/xds/xds_http_stateful_session_filter.h +1 -1
  697. data/src/core/ext/xds/xds_lb_policy_registry.cc +4 -22
  698. data/src/core/ext/xds/xds_listener.cc +10 -4
  699. data/src/core/ext/xds/xds_listener.h +1 -1
  700. data/src/core/ext/xds/xds_resource_type.h +2 -2
  701. data/src/core/ext/xds/xds_route_config.cc +8 -5
  702. data/src/core/ext/xds/xds_route_config.h +1 -1
  703. data/src/core/lib/channel/channelz.cc +5 -4
  704. data/src/core/lib/channel/channelz_registry.cc +7 -6
  705. data/src/core/lib/channel/connected_channel.cc +82 -27
  706. data/src/core/lib/channel/promise_based_filter.cc +2 -8
  707. data/src/core/lib/debug/trace.cc +16 -7
  708. data/src/core/lib/debug/trace.h +12 -4
  709. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +8 -26
  710. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +6 -1
  711. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +3 -0
  712. data/src/core/lib/event_engine/shim.cc +2 -0
  713. data/src/core/lib/event_engine/trace.cc +1 -0
  714. data/src/core/lib/event_engine/trace.h +6 -0
  715. data/src/core/lib/experiments/experiments.cc +3 -0
  716. data/src/core/lib/experiments/experiments.h +4 -1
  717. data/src/core/lib/gpr/posix/time.cc +5 -0
  718. data/src/core/lib/gprpp/status_helper.cc +2 -2
  719. data/src/core/lib/gprpp/validation_errors.cc +8 -3
  720. data/src/core/lib/gprpp/validation_errors.h +16 -9
  721. data/src/core/lib/iomgr/buffer_list.h +0 -1
  722. data/src/core/lib/iomgr/socket_utils_posix.cc +3 -0
  723. data/src/core/lib/iomgr/socket_utils_posix.h +3 -0
  724. data/src/core/lib/iomgr/tcp_client_posix.cc +4 -0
  725. data/src/core/lib/iomgr/timer_generic.cc +17 -16
  726. data/src/core/lib/json/json.h +61 -113
  727. data/src/core/lib/json/json_object_loader.cc +20 -20
  728. data/src/core/lib/json/json_object_loader.h +8 -3
  729. data/src/core/lib/json/json_reader.cc +58 -38
  730. data/src/core/lib/json/json_reader.h +34 -0
  731. data/src/core/lib/json/json_util.cc +6 -6
  732. data/src/core/lib/json/json_util.h +5 -4
  733. data/src/core/lib/json/json_writer.cc +19 -19
  734. data/src/core/lib/json/json_writer.h +33 -0
  735. data/src/core/lib/load_balancing/lb_policy_registry.cc +7 -7
  736. data/src/core/lib/promise/pipe.h +7 -0
  737. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +35 -37
  738. data/src/core/lib/security/credentials/external/external_account_credentials.cc +60 -62
  739. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +22 -21
  740. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +28 -27
  741. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +4 -2
  742. data/src/core/lib/security/credentials/jwt/json_token.cc +6 -4
  743. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +8 -5
  744. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +39 -38
  745. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +17 -16
  746. data/src/core/lib/security/util/json_util.cc +5 -5
  747. data/src/core/lib/service_config/service_config_impl.cc +11 -5
  748. data/src/core/lib/slice/slice.h +2 -0
  749. data/src/core/lib/surface/call.cc +71 -26
  750. data/src/core/lib/surface/call.h +1 -5
  751. data/src/core/lib/surface/completion_queue.cc +2 -1
  752. data/src/core/lib/surface/server.cc +47 -19
  753. data/src/core/lib/surface/version.cc +2 -2
  754. data/src/core/lib/transport/batch_builder.h +9 -1
  755. data/src/core/lib/transport/metadata_batch.h +2 -59
  756. data/src/core/lib/transport/metadata_compression_traits.h +67 -0
  757. data/src/core/lib/transport/simple_slice_based_metadata.h +48 -0
  758. data/src/core/lib/transport/transport.h +3 -0
  759. data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -4
  760. data/src/ruby/lib/grpc/version.rb +1 -1
  761. data/third_party/abseil-cpp/absl/base/config.h +1 -1
  762. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +33 -47
  763. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +7 -4
  764. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +32 -2
  765. data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +11 -12
  766. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +826 -0
  767. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +10 -12
  768. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +8 -10
  769. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +2 -1
  770. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +2 -1
  771. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +18 -14
  772. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +17 -21
  773. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +7 -3
  774. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +3 -4
  775. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +1 -72
  776. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +4 -2
  777. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +4 -3
  778. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +7 -3
  779. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +4 -2
  780. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +1 -1
  781. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -8
  782. data/third_party/boringssl-with-bazel/src/include/openssl/kyber.h +128 -0
  783. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +8 -1
  784. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +1 -1
  785. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +8 -12
  786. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +1 -10
  787. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +9 -2
  788. data/third_party/boringssl-with-bazel/src/ssl/internal.h +17 -17
  789. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +8 -4
  790. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +2 -2
  791. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +72 -5
  792. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +19 -21
  793. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +2 -1
  794. data/third_party/upb/upb/{table_internal.h → alloc.h} +6 -6
  795. data/third_party/upb/upb/arena.h +4 -193
  796. data/third_party/upb/upb/array.h +4 -51
  797. data/third_party/upb/upb/base/descriptor_constants.h +104 -0
  798. data/third_party/upb/upb/base/log2.h +57 -0
  799. data/third_party/upb/upb/{status.c → base/status.c} +2 -7
  800. data/third_party/upb/upb/base/status.h +66 -0
  801. data/third_party/upb/upb/base/string_view.h +75 -0
  802. data/third_party/upb/upb/{array.c → collections/array.c} +67 -36
  803. data/third_party/upb/upb/collections/array.h +85 -0
  804. data/third_party/upb/upb/collections/array_internal.h +135 -0
  805. data/third_party/upb/upb/{map.c → collections/map.c} +53 -26
  806. data/third_party/upb/upb/collections/map.h +135 -0
  807. data/third_party/upb/upb/collections/map_gencode_util.h +78 -0
  808. data/third_party/upb/upb/collections/map_internal.h +170 -0
  809. data/third_party/upb/upb/collections/map_sorter.c +166 -0
  810. data/third_party/upb/upb/collections/map_sorter_internal.h +109 -0
  811. data/third_party/upb/upb/{message_value.h → collections/message_value.h} +12 -13
  812. data/third_party/upb/upb/decode.h +3 -62
  813. data/third_party/upb/upb/def.h +4 -384
  814. data/third_party/upb/upb/def.hpp +3 -411
  815. data/third_party/upb/upb/encode.h +3 -48
  816. data/third_party/upb/upb/extension_registry.h +3 -52
  817. data/third_party/upb/upb/{table.c → hash/common.c} +52 -110
  818. data/third_party/upb/upb/hash/common.h +199 -0
  819. data/third_party/upb/upb/hash/int_table.h +102 -0
  820. data/third_party/upb/upb/hash/str_table.h +161 -0
  821. data/third_party/upb/upb/{json_decode.c → json/decode.c} +63 -98
  822. data/third_party/upb/upb/json/decode.h +52 -0
  823. data/third_party/upb/upb/{json_encode.c → json/encode.c} +69 -45
  824. data/third_party/upb/upb/json/encode.h +70 -0
  825. data/third_party/upb/upb/json_decode.h +4 -15
  826. data/third_party/upb/upb/json_encode.h +4 -33
  827. data/third_party/upb/upb/lex/atoi.c +68 -0
  828. data/third_party/upb/upb/lex/atoi.h +53 -0
  829. data/third_party/upb/upb/{upb.c → lex/round_trip.c} +2 -11
  830. data/third_party/upb/upb/{internal/upb.h → lex/round_trip.h} +17 -30
  831. data/third_party/upb/upb/lex/strtod.c +97 -0
  832. data/third_party/upb/upb/lex/strtod.h +46 -0
  833. data/third_party/upb/upb/lex/unicode.c +57 -0
  834. data/third_party/upb/upb/lex/unicode.h +77 -0
  835. data/third_party/upb/upb/map.h +4 -85
  836. data/third_party/upb/upb/mem/alloc.c +47 -0
  837. data/third_party/upb/upb/mem/alloc.h +98 -0
  838. data/third_party/upb/upb/mem/arena.c +367 -0
  839. data/third_party/upb/upb/mem/arena.h +160 -0
  840. data/third_party/upb/upb/mem/arena_internal.h +114 -0
  841. data/third_party/upb/upb/message/accessors.c +68 -0
  842. data/third_party/upb/upb/message/accessors.h +379 -0
  843. data/third_party/upb/upb/message/accessors_internal.h +325 -0
  844. data/third_party/upb/upb/message/extension_internal.h +83 -0
  845. data/third_party/upb/upb/message/internal.h +135 -0
  846. data/third_party/upb/upb/message/message.c +180 -0
  847. data/third_party/upb/upb/message/message.h +69 -0
  848. data/third_party/upb/upb/mini_table/common.c +128 -0
  849. data/third_party/upb/upb/mini_table/common.h +170 -0
  850. data/third_party/upb/upb/mini_table/common_internal.h +111 -0
  851. data/third_party/upb/upb/{mini_table.c → mini_table/decode.c} +513 -533
  852. data/third_party/upb/upb/mini_table/decode.h +179 -0
  853. data/third_party/upb/upb/mini_table/encode.c +300 -0
  854. data/third_party/upb/upb/mini_table/encode_internal.h +111 -0
  855. data/third_party/upb/upb/{mini_table.hpp → mini_table/encode_internal.hpp} +32 -8
  856. data/third_party/upb/upb/mini_table/enum_internal.h +88 -0
  857. data/third_party/upb/upb/mini_table/extension_internal.h +47 -0
  858. data/third_party/upb/upb/{extension_registry.c → mini_table/extension_registry.c} +27 -24
  859. data/third_party/upb/upb/mini_table/extension_registry.h +104 -0
  860. data/third_party/upb/upb/mini_table/field_internal.h +192 -0
  861. data/third_party/upb/upb/mini_table/file_internal.h +47 -0
  862. data/third_party/upb/upb/mini_table/message_internal.h +136 -0
  863. data/third_party/upb/upb/mini_table/sub_internal.h +38 -0
  864. data/third_party/upb/upb/mini_table/types.h +40 -0
  865. data/third_party/upb/upb/mini_table.h +4 -157
  866. data/third_party/upb/upb/msg.h +3 -38
  867. data/third_party/upb/upb/port/atomic.h +101 -0
  868. data/third_party/upb/upb/{port_def.inc → port/def.inc} +94 -27
  869. data/third_party/upb/upb/{port_undef.inc → port/undef.inc} +13 -3
  870. data/third_party/upb/upb/{internal → port}/vsnprintf_compat.h +5 -7
  871. data/third_party/upb/upb/reflection/common.h +67 -0
  872. data/third_party/upb/upb/reflection/def.h +42 -0
  873. data/third_party/upb/upb/reflection/def.hpp +610 -0
  874. data/third_party/upb/upb/reflection/def_builder.c +357 -0
  875. data/third_party/upb/upb/reflection/def_builder_internal.h +157 -0
  876. data/third_party/upb/upb/reflection/def_pool.c +462 -0
  877. data/third_party/upb/upb/reflection/def_pool.h +108 -0
  878. data/third_party/upb/upb/reflection/def_pool_internal.h +77 -0
  879. data/third_party/upb/upb/reflection/def_type.c +50 -0
  880. data/third_party/upb/upb/reflection/def_type.h +81 -0
  881. data/third_party/upb/upb/reflection/desc_state.c +53 -0
  882. data/third_party/upb/upb/reflection/desc_state_internal.h +64 -0
  883. data/third_party/upb/upb/reflection/enum_def.c +310 -0
  884. data/third_party/upb/upb/reflection/enum_def.h +80 -0
  885. data/third_party/upb/upb/reflection/enum_def_internal.h +56 -0
  886. data/third_party/upb/upb/reflection/enum_reserved_range.c +84 -0
  887. data/third_party/upb/upb/reflection/enum_reserved_range.h +51 -0
  888. data/third_party/upb/upb/reflection/enum_reserved_range_internal.h +55 -0
  889. data/third_party/upb/upb/reflection/enum_value_def.c +144 -0
  890. data/third_party/upb/upb/reflection/enum_value_def.h +57 -0
  891. data/third_party/upb/upb/reflection/enum_value_def_internal.h +57 -0
  892. data/third_party/upb/upb/reflection/extension_range.c +93 -0
  893. data/third_party/upb/upb/reflection/extension_range.h +55 -0
  894. data/third_party/upb/upb/reflection/extension_range_internal.h +54 -0
  895. data/third_party/upb/upb/reflection/field_def.c +930 -0
  896. data/third_party/upb/upb/reflection/field_def.h +91 -0
  897. data/third_party/upb/upb/reflection/field_def_internal.h +76 -0
  898. data/third_party/upb/upb/reflection/file_def.c +370 -0
  899. data/third_party/upb/upb/reflection/file_def.h +77 -0
  900. data/third_party/upb/upb/reflection/file_def_internal.h +57 -0
  901. data/third_party/upb/upb/reflection/message.c +233 -0
  902. data/third_party/upb/upb/reflection/message.h +102 -0
  903. data/third_party/upb/upb/reflection/message.hpp +37 -0
  904. data/third_party/upb/upb/reflection/message_def.c +718 -0
  905. data/third_party/upb/upb/reflection/message_def.h +174 -0
  906. data/third_party/upb/upb/reflection/message_def_internal.h +63 -0
  907. data/third_party/upb/upb/reflection/message_reserved_range.c +81 -0
  908. data/third_party/upb/upb/reflection/message_reserved_range.h +51 -0
  909. data/third_party/upb/upb/reflection/message_reserved_range_internal.h +55 -0
  910. data/third_party/upb/upb/reflection/method_def.c +124 -0
  911. data/third_party/upb/upb/reflection/method_def.h +59 -0
  912. data/third_party/upb/upb/reflection/method_def_internal.h +53 -0
  913. data/third_party/upb/upb/reflection/oneof_def.c +226 -0
  914. data/third_party/upb/upb/reflection/oneof_def.h +66 -0
  915. data/third_party/upb/upb/reflection/oneof_def_internal.h +57 -0
  916. data/third_party/upb/upb/reflection/service_def.c +128 -0
  917. data/third_party/upb/upb/reflection/service_def.h +60 -0
  918. data/third_party/upb/upb/reflection/service_def_internal.h +53 -0
  919. data/third_party/upb/upb/reflection.h +4 -78
  920. data/third_party/upb/upb/reflection.hpp +3 -7
  921. data/third_party/upb/upb/status.h +4 -34
  922. data/third_party/upb/upb/{collections.h → string_view.h} +7 -7
  923. data/third_party/upb/upb/{text_encode.c → text/encode.c} +74 -70
  924. data/third_party/upb/upb/text/encode.h +69 -0
  925. data/third_party/upb/upb/text_encode.h +4 -32
  926. data/third_party/upb/upb/upb.h +6 -151
  927. data/third_party/upb/upb/upb.hpp +10 -18
  928. data/third_party/upb/upb/wire/common.h +44 -0
  929. data/third_party/upb/upb/wire/common_internal.h +50 -0
  930. data/third_party/upb/upb/wire/decode.c +1343 -0
  931. data/third_party/upb/upb/wire/decode.h +108 -0
  932. data/third_party/upb/upb/{decode_fast.c → wire/decode_fast.c} +184 -225
  933. data/third_party/upb/upb/{decode_fast.h → wire/decode_fast.h} +21 -7
  934. data/third_party/upb/upb/{internal/decode.h → wire/decode_internal.h} +44 -92
  935. data/third_party/upb/upb/{encode.c → wire/encode.c} +114 -95
  936. data/third_party/upb/upb/wire/encode.h +92 -0
  937. data/third_party/upb/upb/wire/eps_copy_input_stream.c +39 -0
  938. data/third_party/upb/upb/wire/eps_copy_input_stream.h +425 -0
  939. data/third_party/upb/upb/wire/reader.c +67 -0
  940. data/third_party/upb/upb/wire/reader.h +227 -0
  941. data/third_party/upb/upb/wire/swap_internal.h +63 -0
  942. data/third_party/upb/upb/wire/types.h +41 -0
  943. data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-neon.c +1 -1
  944. data/third_party/{upb/third_party/utf8_range → utf8_range}/utf8_range.h +12 -0
  945. metadata +155 -40
  946. data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
  947. data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
  948. data/third_party/upb/upb/arena.c +0 -277
  949. data/third_party/upb/upb/decode.c +0 -1221
  950. data/third_party/upb/upb/def.c +0 -3269
  951. data/third_party/upb/upb/internal/table.h +0 -385
  952. data/third_party/upb/upb/msg.c +0 -368
  953. data/third_party/upb/upb/msg_internal.h +0 -837
  954. data/third_party/upb/upb/reflection.c +0 -323
  955. /data/third_party/{upb/third_party/utf8_range → utf8_range}/naive.c +0 -0
  956. /data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-sse.c +0 -0
@@ -0,0 +1,179 @@
1
+ /*
2
+ * Copyright (c) 2009-2022, 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_MINI_TABLE_DECODE_H_
29
+ #define UPB_MINI_TABLE_DECODE_H_
30
+
31
+ #include "upb/base/status.h"
32
+ #include "upb/mem/arena.h"
33
+ #include "upb/mini_table/common.h"
34
+
35
+ // Must be last.
36
+ #include "upb/port/def.inc"
37
+
38
+ typedef enum {
39
+ kUpb_MiniTablePlatform_32Bit,
40
+ kUpb_MiniTablePlatform_64Bit,
41
+ kUpb_MiniTablePlatform_Native =
42
+ UPB_SIZE(kUpb_MiniTablePlatform_32Bit, kUpb_MiniTablePlatform_64Bit),
43
+ } upb_MiniTablePlatform;
44
+
45
+ #ifdef __cplusplus
46
+ extern "C" {
47
+ #endif
48
+
49
+ // Builds a mini table from the data encoded in the buffer [data, len]. If any
50
+ // errors occur, returns NULL and sets a status message. In the success case,
51
+ // the caller must call upb_MiniTable_SetSub*() for all message or proto2 enum
52
+ // fields to link the table to the appropriate sub-tables.
53
+ upb_MiniTable* _upb_MiniTable_Build(const char* data, size_t len,
54
+ upb_MiniTablePlatform platform,
55
+ upb_Arena* arena, upb_Status* status);
56
+
57
+ UPB_API_INLINE upb_MiniTable* upb_MiniTable_Build(const char* data, size_t len,
58
+ upb_Arena* arena,
59
+ upb_Status* status) {
60
+ return _upb_MiniTable_Build(data, len, kUpb_MiniTablePlatform_Native, arena,
61
+ status);
62
+ }
63
+
64
+ // Links a sub-message field to a MiniTable for that sub-message. If a
65
+ // sub-message field is not linked, it will be treated as an unknown field
66
+ // during parsing, and setting the field will not be allowed. It is possible
67
+ // to link the message field later, at which point it will no longer be treated
68
+ // as unknown. However there is no synchronization for this operation, which
69
+ // means parallel mutation requires external synchronization.
70
+ // Returns success/failure.
71
+ UPB_API bool upb_MiniTable_SetSubMessage(upb_MiniTable* table,
72
+ upb_MiniTableField* field,
73
+ const upb_MiniTable* sub);
74
+
75
+ // Links an enum field to a MiniTable for that enum.
76
+ // All enum fields must be linked prior to parsing.
77
+ // Returns success/failure.
78
+ UPB_API bool upb_MiniTable_SetSubEnum(upb_MiniTable* table,
79
+ upb_MiniTableField* field,
80
+ const upb_MiniTableEnum* sub);
81
+
82
+ // Initializes a MiniTableExtension buffer that has already been allocated.
83
+ // This is needed by upb_FileDef and upb_MessageDef, which allocate all of the
84
+ // extensions together in a single contiguous array.
85
+ const char* _upb_MiniTableExtension_Init(const char* data, size_t len,
86
+ upb_MiniTableExtension* ext,
87
+ const upb_MiniTable* extendee,
88
+ upb_MiniTableSub sub,
89
+ upb_MiniTablePlatform platform,
90
+ upb_Status* status);
91
+
92
+ UPB_API_INLINE const char* upb_MiniTableExtension_Init(
93
+ const char* data, size_t len, upb_MiniTableExtension* ext,
94
+ const upb_MiniTable* extendee, upb_MiniTableSub sub, upb_Status* status) {
95
+ return _upb_MiniTableExtension_Init(data, len, ext, extendee, sub,
96
+ kUpb_MiniTablePlatform_Native, status);
97
+ }
98
+
99
+ UPB_API upb_MiniTableExtension* _upb_MiniTableExtension_Build(
100
+ const char* data, size_t len, const upb_MiniTable* extendee,
101
+ upb_MiniTableSub sub, upb_MiniTablePlatform platform, upb_Arena* arena,
102
+ upb_Status* status);
103
+
104
+ UPB_API_INLINE upb_MiniTableExtension* upb_MiniTableExtension_Build(
105
+ const char* data, size_t len, const upb_MiniTable* extendee,
106
+ upb_Arena* arena, upb_Status* status) {
107
+ upb_MiniTableSub sub;
108
+ sub.submsg = NULL;
109
+ return _upb_MiniTableExtension_Build(
110
+ data, len, extendee, sub, kUpb_MiniTablePlatform_Native, arena, status);
111
+ }
112
+
113
+ UPB_API_INLINE upb_MiniTableExtension* upb_MiniTableExtension_BuildMessage(
114
+ const char* data, size_t len, const upb_MiniTable* extendee,
115
+ upb_MiniTable* submsg, upb_Arena* arena, upb_Status* status) {
116
+ upb_MiniTableSub sub;
117
+ sub.submsg = submsg;
118
+ return _upb_MiniTableExtension_Build(
119
+ data, len, extendee, sub, kUpb_MiniTablePlatform_Native, arena, status);
120
+ }
121
+
122
+ UPB_API_INLINE upb_MiniTableExtension* upb_MiniTableExtension_BuildEnum(
123
+ const char* data, size_t len, const upb_MiniTable* extendee,
124
+ upb_MiniTableEnum* subenum, upb_Arena* arena, upb_Status* status) {
125
+ upb_MiniTableSub sub;
126
+ sub.subenum = subenum;
127
+ return _upb_MiniTableExtension_Build(
128
+ data, len, extendee, sub, kUpb_MiniTablePlatform_Native, arena, status);
129
+ }
130
+
131
+ UPB_API upb_MiniTableEnum* upb_MiniTableEnum_Build(const char* data, size_t len,
132
+ upb_Arena* arena,
133
+ upb_Status* status);
134
+
135
+ // Like upb_MiniTable_Build(), but the user provides a buffer of layout data so
136
+ // it can be reused from call to call, avoiding repeated realloc()/free().
137
+ //
138
+ // The caller owns `*buf` both before and after the call, and must free() it
139
+ // when it is no longer in use. The function will realloc() `*buf` as
140
+ // necessary, updating `*size` accordingly.
141
+ upb_MiniTable* upb_MiniTable_BuildWithBuf(const char* data, size_t len,
142
+ upb_MiniTablePlatform platform,
143
+ upb_Arena* arena, void** buf,
144
+ size_t* buf_size, upb_Status* status);
145
+
146
+ // Returns a list of fields that require linking at runtime, to connect the
147
+ // MiniTable to its sub-messages and sub-enums. The list of fields will be
148
+ // written to the `subs` array, which must have been allocated by the caller
149
+ // and must be large enough to hold a list of all fields in the message.
150
+ //
151
+ // The order of the fields returned by this function is significant: it matches
152
+ // the order expected by upb_MiniTable_Link() below.
153
+ //
154
+ // The return value packs the sub-message count and sub-enum count into a single
155
+ // integer like so:
156
+ // return (msg_count << 16) | enum_count;
157
+ UPB_API uint32_t upb_MiniTable_GetSubList(const upb_MiniTable* mt,
158
+ const upb_MiniTableField** subs);
159
+
160
+ // Links a message to its sub-messages and sub-enums. The caller must pass
161
+ // arrays of sub-tables and sub-enums, in the same length and order as is
162
+ // returned by upb_MiniTable_GetSubList() above. However, individual elements
163
+ // of the sub_tables may be NULL if those sub-messages were tree shaken.
164
+ //
165
+ // Returns false if either array is too short, or if any of the tables fails
166
+ // to link.
167
+ UPB_API bool upb_MiniTable_Link(upb_MiniTable* mt,
168
+ const upb_MiniTable** sub_tables,
169
+ size_t sub_table_count,
170
+ const upb_MiniTableEnum** sub_enums,
171
+ size_t sub_enum_count);
172
+
173
+ #ifdef __cplusplus
174
+ } /* extern "C" */
175
+ #endif
176
+
177
+ #include "upb/port/undef.inc"
178
+
179
+ #endif /* UPB_MINI_TABLE_DECODE_H_ */
@@ -0,0 +1,300 @@
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
+ #include <inttypes.h>
29
+
30
+ #include "upb/base/log2.h"
31
+ #include "upb/mem/arena.h"
32
+ #include "upb/mini_table/common.h"
33
+ #include "upb/mini_table/common_internal.h"
34
+ #include "upb/mini_table/encode_internal.h"
35
+
36
+ // Must be last.
37
+ #include "upb/port/def.inc"
38
+
39
+ typedef struct {
40
+ uint64_t present_values_mask;
41
+ uint32_t last_written_value;
42
+ } upb_MtDataEncoderInternal_EnumState;
43
+
44
+ typedef struct {
45
+ uint64_t msg_modifiers;
46
+ uint32_t last_field_num;
47
+ enum {
48
+ kUpb_OneofState_NotStarted,
49
+ kUpb_OneofState_StartedOneof,
50
+ kUpb_OneofState_EmittedOneofField,
51
+ } oneof_state;
52
+ } upb_MtDataEncoderInternal_MsgState;
53
+
54
+ typedef struct {
55
+ char* buf_start; // Only for checking kUpb_MtDataEncoder_MinSize.
56
+ union {
57
+ upb_MtDataEncoderInternal_EnumState enum_state;
58
+ upb_MtDataEncoderInternal_MsgState msg_state;
59
+ } state;
60
+ } upb_MtDataEncoderInternal;
61
+
62
+ static upb_MtDataEncoderInternal* upb_MtDataEncoder_GetInternal(
63
+ upb_MtDataEncoder* e, char* buf_start) {
64
+ UPB_ASSERT(sizeof(upb_MtDataEncoderInternal) <= sizeof(e->internal));
65
+ upb_MtDataEncoderInternal* ret = (upb_MtDataEncoderInternal*)e->internal;
66
+ ret->buf_start = buf_start;
67
+ return ret;
68
+ }
69
+
70
+ static char* upb_MtDataEncoder_PutRaw(upb_MtDataEncoder* e, char* ptr,
71
+ char ch) {
72
+ upb_MtDataEncoderInternal* in = (upb_MtDataEncoderInternal*)e->internal;
73
+ UPB_ASSERT(ptr - in->buf_start < kUpb_MtDataEncoder_MinSize);
74
+ if (ptr == e->end) return NULL;
75
+ *ptr++ = ch;
76
+ return ptr;
77
+ }
78
+
79
+ static char* upb_MtDataEncoder_Put(upb_MtDataEncoder* e, char* ptr, char ch) {
80
+ return upb_MtDataEncoder_PutRaw(e, ptr, _upb_ToBase92(ch));
81
+ }
82
+
83
+ static char* upb_MtDataEncoder_PutBase92Varint(upb_MtDataEncoder* e, char* ptr,
84
+ uint32_t val, int min, int max) {
85
+ int shift = upb_Log2Ceiling(_upb_FromBase92(max) - _upb_FromBase92(min) + 1);
86
+ UPB_ASSERT(shift <= 6);
87
+ uint32_t mask = (1 << shift) - 1;
88
+ do {
89
+ uint32_t bits = val & mask;
90
+ ptr = upb_MtDataEncoder_Put(e, ptr, bits + _upb_FromBase92(min));
91
+ if (!ptr) return NULL;
92
+ val >>= shift;
93
+ } while (val);
94
+ return ptr;
95
+ }
96
+
97
+ char* upb_MtDataEncoder_PutModifier(upb_MtDataEncoder* e, char* ptr,
98
+ uint64_t mod) {
99
+ if (mod) {
100
+ ptr = upb_MtDataEncoder_PutBase92Varint(e, ptr, mod,
101
+ kUpb_EncodedValue_MinModifier,
102
+ kUpb_EncodedValue_MaxModifier);
103
+ }
104
+ return ptr;
105
+ }
106
+
107
+ char* upb_MtDataEncoder_EncodeExtension(upb_MtDataEncoder* e, char* ptr,
108
+ upb_FieldType type, uint32_t field_num,
109
+ uint64_t field_mod) {
110
+ upb_MtDataEncoderInternal* in = upb_MtDataEncoder_GetInternal(e, ptr);
111
+ in->state.msg_state.msg_modifiers = 0;
112
+ in->state.msg_state.last_field_num = 0;
113
+ in->state.msg_state.oneof_state = kUpb_OneofState_NotStarted;
114
+
115
+ ptr = upb_MtDataEncoder_PutRaw(e, ptr, kUpb_EncodedVersion_ExtensionV1);
116
+ if (!ptr) return NULL;
117
+
118
+ return upb_MtDataEncoder_PutField(e, ptr, type, field_num, field_mod);
119
+ }
120
+
121
+ char* upb_MtDataEncoder_EncodeMap(upb_MtDataEncoder* e, char* ptr,
122
+ upb_FieldType key_type,
123
+ upb_FieldType value_type, uint64_t key_mod,
124
+ uint64_t value_mod) {
125
+ upb_MtDataEncoderInternal* in = upb_MtDataEncoder_GetInternal(e, ptr);
126
+ in->state.msg_state.msg_modifiers = 0;
127
+ in->state.msg_state.last_field_num = 0;
128
+ in->state.msg_state.oneof_state = kUpb_OneofState_NotStarted;
129
+
130
+ ptr = upb_MtDataEncoder_PutRaw(e, ptr, kUpb_EncodedVersion_MapV1);
131
+ if (!ptr) return NULL;
132
+
133
+ ptr = upb_MtDataEncoder_PutField(e, ptr, key_type, 1, key_mod);
134
+ if (!ptr) return NULL;
135
+
136
+ return upb_MtDataEncoder_PutField(e, ptr, value_type, 2, value_mod);
137
+ }
138
+
139
+ char* upb_MtDataEncoder_EncodeMessageSet(upb_MtDataEncoder* e, char* ptr) {
140
+ (void)upb_MtDataEncoder_GetInternal(e, ptr);
141
+ return upb_MtDataEncoder_PutRaw(e, ptr, kUpb_EncodedVersion_MessageSetV1);
142
+ }
143
+
144
+ char* upb_MtDataEncoder_StartMessage(upb_MtDataEncoder* e, char* ptr,
145
+ uint64_t msg_mod) {
146
+ upb_MtDataEncoderInternal* in = upb_MtDataEncoder_GetInternal(e, ptr);
147
+ in->state.msg_state.msg_modifiers = msg_mod;
148
+ in->state.msg_state.last_field_num = 0;
149
+ in->state.msg_state.oneof_state = kUpb_OneofState_NotStarted;
150
+
151
+ ptr = upb_MtDataEncoder_PutRaw(e, ptr, kUpb_EncodedVersion_MessageV1);
152
+ if (!ptr) return NULL;
153
+
154
+ return upb_MtDataEncoder_PutModifier(e, ptr, msg_mod);
155
+ }
156
+
157
+ char* upb_MtDataEncoder_PutField(upb_MtDataEncoder* e, char* ptr,
158
+ upb_FieldType type, uint32_t field_num,
159
+ uint64_t field_mod) {
160
+ static const char kUpb_TypeToEncoded[] = {
161
+ [kUpb_FieldType_Double] = kUpb_EncodedType_Double,
162
+ [kUpb_FieldType_Float] = kUpb_EncodedType_Float,
163
+ [kUpb_FieldType_Int64] = kUpb_EncodedType_Int64,
164
+ [kUpb_FieldType_UInt64] = kUpb_EncodedType_UInt64,
165
+ [kUpb_FieldType_Int32] = kUpb_EncodedType_Int32,
166
+ [kUpb_FieldType_Fixed64] = kUpb_EncodedType_Fixed64,
167
+ [kUpb_FieldType_Fixed32] = kUpb_EncodedType_Fixed32,
168
+ [kUpb_FieldType_Bool] = kUpb_EncodedType_Bool,
169
+ [kUpb_FieldType_String] = kUpb_EncodedType_String,
170
+ [kUpb_FieldType_Group] = kUpb_EncodedType_Group,
171
+ [kUpb_FieldType_Message] = kUpb_EncodedType_Message,
172
+ [kUpb_FieldType_Bytes] = kUpb_EncodedType_Bytes,
173
+ [kUpb_FieldType_UInt32] = kUpb_EncodedType_UInt32,
174
+ [kUpb_FieldType_Enum] = kUpb_EncodedType_OpenEnum,
175
+ [kUpb_FieldType_SFixed32] = kUpb_EncodedType_SFixed32,
176
+ [kUpb_FieldType_SFixed64] = kUpb_EncodedType_SFixed64,
177
+ [kUpb_FieldType_SInt32] = kUpb_EncodedType_SInt32,
178
+ [kUpb_FieldType_SInt64] = kUpb_EncodedType_SInt64,
179
+ };
180
+
181
+ upb_MtDataEncoderInternal* in = upb_MtDataEncoder_GetInternal(e, ptr);
182
+ if (field_num <= in->state.msg_state.last_field_num) return NULL;
183
+ if (in->state.msg_state.last_field_num + 1 != field_num) {
184
+ // Put skip.
185
+ UPB_ASSERT(field_num > in->state.msg_state.last_field_num);
186
+ uint32_t skip = field_num - in->state.msg_state.last_field_num;
187
+ ptr = upb_MtDataEncoder_PutBase92Varint(
188
+ e, ptr, skip, kUpb_EncodedValue_MinSkip, kUpb_EncodedValue_MaxSkip);
189
+ if (!ptr) return NULL;
190
+ }
191
+ in->state.msg_state.last_field_num = field_num;
192
+
193
+ uint32_t encoded_modifiers = 0;
194
+
195
+ // Put field type.
196
+ int encoded_type = kUpb_TypeToEncoded[type];
197
+ if (field_mod & kUpb_FieldModifier_IsClosedEnum) {
198
+ UPB_ASSERT(type == kUpb_FieldType_Enum);
199
+ encoded_type = kUpb_EncodedType_ClosedEnum;
200
+ }
201
+ if (field_mod & kUpb_FieldModifier_IsRepeated) {
202
+ // Repeated fields shift the type number up (unlike other modifiers which
203
+ // are bit flags).
204
+ encoded_type += kUpb_EncodedType_RepeatedBase;
205
+
206
+ if (upb_FieldType_IsPackable(type)) {
207
+ bool field_is_packed = field_mod & kUpb_FieldModifier_IsPacked;
208
+ bool default_is_packed = in->state.msg_state.msg_modifiers &
209
+ kUpb_MessageModifier_DefaultIsPacked;
210
+ if (field_is_packed != default_is_packed) {
211
+ encoded_modifiers |= kUpb_EncodedFieldModifier_FlipPacked;
212
+ }
213
+ }
214
+ }
215
+ ptr = upb_MtDataEncoder_Put(e, ptr, encoded_type);
216
+ if (!ptr) return NULL;
217
+
218
+ if (field_mod & kUpb_FieldModifier_IsProto3Singular) {
219
+ encoded_modifiers |= kUpb_EncodedFieldModifier_IsProto3Singular;
220
+ }
221
+ if (field_mod & kUpb_FieldModifier_IsRequired) {
222
+ encoded_modifiers |= kUpb_EncodedFieldModifier_IsRequired;
223
+ }
224
+ return upb_MtDataEncoder_PutModifier(e, ptr, encoded_modifiers);
225
+ }
226
+
227
+ char* upb_MtDataEncoder_StartOneof(upb_MtDataEncoder* e, char* ptr) {
228
+ upb_MtDataEncoderInternal* in = upb_MtDataEncoder_GetInternal(e, ptr);
229
+ if (in->state.msg_state.oneof_state == kUpb_OneofState_NotStarted) {
230
+ ptr = upb_MtDataEncoder_Put(e, ptr, _upb_FromBase92(kUpb_EncodedValue_End));
231
+ } else {
232
+ ptr = upb_MtDataEncoder_Put(
233
+ e, ptr, _upb_FromBase92(kUpb_EncodedValue_OneofSeparator));
234
+ }
235
+ in->state.msg_state.oneof_state = kUpb_OneofState_StartedOneof;
236
+ return ptr;
237
+ }
238
+
239
+ char* upb_MtDataEncoder_PutOneofField(upb_MtDataEncoder* e, char* ptr,
240
+ uint32_t field_num) {
241
+ upb_MtDataEncoderInternal* in = upb_MtDataEncoder_GetInternal(e, ptr);
242
+ if (in->state.msg_state.oneof_state == kUpb_OneofState_EmittedOneofField) {
243
+ ptr = upb_MtDataEncoder_Put(
244
+ e, ptr, _upb_FromBase92(kUpb_EncodedValue_FieldSeparator));
245
+ if (!ptr) return NULL;
246
+ }
247
+ ptr = upb_MtDataEncoder_PutBase92Varint(e, ptr, field_num, _upb_ToBase92(0),
248
+ _upb_ToBase92(63));
249
+ in->state.msg_state.oneof_state = kUpb_OneofState_EmittedOneofField;
250
+ return ptr;
251
+ }
252
+
253
+ char* upb_MtDataEncoder_StartEnum(upb_MtDataEncoder* e, char* ptr) {
254
+ upb_MtDataEncoderInternal* in = upb_MtDataEncoder_GetInternal(e, ptr);
255
+ in->state.enum_state.present_values_mask = 0;
256
+ in->state.enum_state.last_written_value = 0;
257
+
258
+ return upb_MtDataEncoder_PutRaw(e, ptr, kUpb_EncodedVersion_EnumV1);
259
+ }
260
+
261
+ static char* upb_MtDataEncoder_FlushDenseEnumMask(upb_MtDataEncoder* e,
262
+ char* ptr) {
263
+ upb_MtDataEncoderInternal* in = (upb_MtDataEncoderInternal*)e->internal;
264
+ ptr = upb_MtDataEncoder_Put(e, ptr, in->state.enum_state.present_values_mask);
265
+ in->state.enum_state.present_values_mask = 0;
266
+ in->state.enum_state.last_written_value += 5;
267
+ return ptr;
268
+ }
269
+
270
+ char* upb_MtDataEncoder_PutEnumValue(upb_MtDataEncoder* e, char* ptr,
271
+ uint32_t val) {
272
+ // TODO(b/229641772): optimize this encoding.
273
+ upb_MtDataEncoderInternal* in = upb_MtDataEncoder_GetInternal(e, ptr);
274
+ UPB_ASSERT(val >= in->state.enum_state.last_written_value);
275
+ uint32_t delta = val - in->state.enum_state.last_written_value;
276
+ if (delta >= 5 && in->state.enum_state.present_values_mask) {
277
+ ptr = upb_MtDataEncoder_FlushDenseEnumMask(e, ptr);
278
+ if (!ptr) {
279
+ return NULL;
280
+ }
281
+ delta -= 5;
282
+ }
283
+
284
+ if (delta >= 5) {
285
+ ptr = upb_MtDataEncoder_PutBase92Varint(
286
+ e, ptr, delta, kUpb_EncodedValue_MinSkip, kUpb_EncodedValue_MaxSkip);
287
+ in->state.enum_state.last_written_value += delta;
288
+ delta = 0;
289
+ }
290
+
291
+ UPB_ASSERT((in->state.enum_state.present_values_mask >> delta) == 0);
292
+ in->state.enum_state.present_values_mask |= 1ULL << delta;
293
+ return ptr;
294
+ }
295
+
296
+ char* upb_MtDataEncoder_EndEnum(upb_MtDataEncoder* e, char* ptr) {
297
+ upb_MtDataEncoderInternal* in = upb_MtDataEncoder_GetInternal(e, ptr);
298
+ if (!in->state.enum_state.present_values_mask) return ptr;
299
+ return upb_MtDataEncoder_FlushDenseEnumMask(e, ptr);
300
+ }
@@ -0,0 +1,111 @@
1
+ /*
2
+ * Copyright (c) 2009-2022, 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_MINI_TABLE_ENCODE_INTERNAL_H_
29
+ #define UPB_MINI_TABLE_ENCODE_INTERNAL_H_
30
+
31
+ #include "upb/base/descriptor_constants.h"
32
+ #include "upb/mini_table/common.h"
33
+
34
+ // Must be last.
35
+ #include "upb/port/def.inc"
36
+
37
+ // If the input buffer has at least this many bytes available, the encoder call
38
+ // is guaranteed to succeed (as long as field number order is maintained).
39
+ #define kUpb_MtDataEncoder_MinSize 16
40
+
41
+ typedef struct {
42
+ char* end; // Limit of the buffer passed as a parameter.
43
+ // Aliased to internal-only members in .cc.
44
+ char internal[32];
45
+ } upb_MtDataEncoder;
46
+
47
+ #ifdef __cplusplus
48
+ extern "C" {
49
+ #endif
50
+
51
+ // Encodes field/oneof information for a given message. The sequence of calls
52
+ // should look like:
53
+ //
54
+ // upb_MtDataEncoder e;
55
+ // char buf[256];
56
+ // char* ptr = buf;
57
+ // e.end = ptr + sizeof(buf);
58
+ // unit64_t msg_mod = ...; // bitwise & of kUpb_MessageModifiers or zero
59
+ // ptr = upb_MtDataEncoder_StartMessage(&e, ptr, msg_mod);
60
+ // // Fields *must* be in field number order.
61
+ // ptr = upb_MtDataEncoder_PutField(&e, ptr, ...);
62
+ // ptr = upb_MtDataEncoder_PutField(&e, ptr, ...);
63
+ // ptr = upb_MtDataEncoder_PutField(&e, ptr, ...);
64
+ //
65
+ // // If oneofs are present. Oneofs must be encoded after regular fields.
66
+ // ptr = upb_MiniTable_StartOneof(&e, ptr)
67
+ // ptr = upb_MiniTable_PutOneofField(&e, ptr, ...);
68
+ // ptr = upb_MiniTable_PutOneofField(&e, ptr, ...);
69
+ //
70
+ // ptr = upb_MiniTable_StartOneof(&e, ptr);
71
+ // ptr = upb_MiniTable_PutOneofField(&e, ptr, ...);
72
+ // ptr = upb_MiniTable_PutOneofField(&e, ptr, ...);
73
+ //
74
+ // Oneofs must be encoded after all regular fields.
75
+ char* upb_MtDataEncoder_StartMessage(upb_MtDataEncoder* e, char* ptr,
76
+ uint64_t msg_mod);
77
+ char* upb_MtDataEncoder_PutField(upb_MtDataEncoder* e, char* ptr,
78
+ upb_FieldType type, uint32_t field_num,
79
+ uint64_t field_mod);
80
+ char* upb_MtDataEncoder_StartOneof(upb_MtDataEncoder* e, char* ptr);
81
+ char* upb_MtDataEncoder_PutOneofField(upb_MtDataEncoder* e, char* ptr,
82
+ uint32_t field_num);
83
+
84
+ // Encodes the set of values for a given enum. The values must be given in
85
+ // order (after casting to uint32_t), and repeats are not allowed.
86
+ char* upb_MtDataEncoder_StartEnum(upb_MtDataEncoder* e, char* ptr);
87
+ char* upb_MtDataEncoder_PutEnumValue(upb_MtDataEncoder* e, char* ptr,
88
+ uint32_t val);
89
+ char* upb_MtDataEncoder_EndEnum(upb_MtDataEncoder* e, char* ptr);
90
+
91
+ // Encodes an entire mini descriptor for an extension.
92
+ char* upb_MtDataEncoder_EncodeExtension(upb_MtDataEncoder* e, char* ptr,
93
+ upb_FieldType type, uint32_t field_num,
94
+ uint64_t field_mod);
95
+
96
+ // Encodes an entire mini descriptor for a map.
97
+ char* upb_MtDataEncoder_EncodeMap(upb_MtDataEncoder* e, char* ptr,
98
+ upb_FieldType key_type,
99
+ upb_FieldType value_type, uint64_t key_mod,
100
+ uint64_t value_mod);
101
+
102
+ // Encodes an entire mini descriptor for a message set.
103
+ char* upb_MtDataEncoder_EncodeMessageSet(upb_MtDataEncoder* e, char* ptr);
104
+
105
+ #ifdef __cplusplus
106
+ } /* extern "C" */
107
+ #endif
108
+
109
+ #include "upb/port/undef.inc"
110
+
111
+ #endif /* UPB_MINI_TABLE_ENCODE_INTERNAL_H_ */
@@ -25,14 +25,13 @@
25
25
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
26
  */
27
27
 
28
- #ifndef UPB_MINI_TABLE_HPP_
29
- #define UPB_MINI_TABLE_HPP_
30
-
31
- #include <assert.h>
28
+ #ifndef UPB_MINI_TABLE_ENCODE_INTERNAL_HPP_
29
+ #define UPB_MINI_TABLE_ENCODE_INTERNAL_HPP_
32
30
 
33
31
  #include <string>
34
32
 
35
- #include "upb/mini_table.h"
33
+ #include "upb/base/log2.h"
34
+ #include "upb/mini_table/encode_internal.h"
36
35
 
37
36
  namespace upb {
38
37
 
@@ -65,7 +64,10 @@ class MtDataEncoder {
65
64
  });
66
65
  }
67
66
 
68
- void StartEnum() { upb_MtDataEncoder_StartEnum(&encoder_); }
67
+ bool StartEnum() {
68
+ return appender_(
69
+ [=](char* buf) { return upb_MtDataEncoder_StartEnum(&encoder_, buf); });
70
+ }
69
71
 
70
72
  bool PutEnumValue(uint32_t enum_value) {
71
73
  return appender_([=](char* buf) {
@@ -78,6 +80,28 @@ class MtDataEncoder {
78
80
  [=](char* buf) { return upb_MtDataEncoder_EndEnum(&encoder_, buf); });
79
81
  }
80
82
 
83
+ bool EncodeExtension(upb_FieldType type, uint32_t field_num,
84
+ uint64_t field_mod) {
85
+ return appender_([=](char* buf) {
86
+ return upb_MtDataEncoder_EncodeExtension(&encoder_, buf, type, field_num,
87
+ field_mod);
88
+ });
89
+ }
90
+
91
+ bool EncodeMap(upb_FieldType key_type, upb_FieldType val_type,
92
+ uint64_t key_mod, uint64_t val_mod) {
93
+ return appender_([=](char* buf) {
94
+ return upb_MtDataEncoder_EncodeMap(&encoder_, buf, key_type, val_type,
95
+ key_mod, val_mod);
96
+ });
97
+ }
98
+
99
+ bool EncodeMessageSet() {
100
+ return appender_([=](char* buf) {
101
+ return upb_MtDataEncoder_EncodeMessageSet(&encoder_, buf);
102
+ });
103
+ }
104
+
81
105
  const std::string& data() const { return appender_.data(); }
82
106
 
83
107
  private:
@@ -91,7 +115,7 @@ class MtDataEncoder {
91
115
  if (!end) return false;
92
116
  // C++ does not guarantee that string has doubling growth behavior, but
93
117
  // we need it to avoid O(n^2).
94
- str_.reserve(_upb_Log2CeilingSize(str_.size() + (end - buf_)));
118
+ str_.reserve(upb_Log2CeilingSize(str_.size() + (end - buf_)));
95
119
  str_.append(buf_, end - buf_);
96
120
  return true;
97
121
  }
@@ -109,4 +133,4 @@ class MtDataEncoder {
109
133
 
110
134
  } // namespace upb
111
135
 
112
- #endif /* UPB_MINI_TABLE_HPP_ */
136
+ #endif /* UPB_MINI_TABLE_ENCODE_INTERNAL_HPP_ */