grpc 1.54.3 → 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 (962) 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 +19 -21
  7. data/src/core/ext/filters/client_channel/client_channel.h +20 -18
  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/posix_engine.h +0 -1
  711. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +0 -29
  712. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +0 -3
  713. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +6 -1
  714. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +3 -0
  715. data/src/core/lib/event_engine/shim.cc +2 -0
  716. data/src/core/lib/event_engine/trace.cc +1 -0
  717. data/src/core/lib/event_engine/trace.h +6 -0
  718. data/src/core/lib/experiments/experiments.cc +3 -0
  719. data/src/core/lib/experiments/experiments.h +4 -1
  720. data/src/core/lib/gpr/posix/time.cc +5 -0
  721. data/src/core/lib/gprpp/status_helper.cc +2 -2
  722. data/src/core/lib/gprpp/validation_errors.cc +8 -3
  723. data/src/core/lib/gprpp/validation_errors.h +16 -9
  724. data/src/core/lib/iomgr/buffer_list.h +0 -1
  725. data/src/core/lib/iomgr/socket_utils_posix.cc +3 -0
  726. data/src/core/lib/iomgr/socket_utils_posix.h +3 -0
  727. data/src/core/lib/iomgr/tcp_client_posix.cc +4 -0
  728. data/src/core/lib/iomgr/tcp_server_posix.cc +14 -39
  729. data/src/core/lib/iomgr/tcp_server_utils_posix.h +0 -12
  730. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +0 -21
  731. data/src/core/lib/iomgr/timer_generic.cc +17 -16
  732. data/src/core/lib/json/json.h +61 -113
  733. data/src/core/lib/json/json_object_loader.cc +20 -20
  734. data/src/core/lib/json/json_object_loader.h +8 -3
  735. data/src/core/lib/json/json_reader.cc +58 -38
  736. data/src/core/lib/json/json_reader.h +34 -0
  737. data/src/core/lib/json/json_util.cc +6 -6
  738. data/src/core/lib/json/json_util.h +5 -4
  739. data/src/core/lib/json/json_writer.cc +19 -19
  740. data/src/core/lib/json/json_writer.h +33 -0
  741. data/src/core/lib/load_balancing/lb_policy_registry.cc +7 -7
  742. data/src/core/lib/promise/pipe.h +7 -0
  743. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +35 -37
  744. data/src/core/lib/security/credentials/external/external_account_credentials.cc +60 -62
  745. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +22 -21
  746. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +28 -27
  747. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +4 -2
  748. data/src/core/lib/security/credentials/jwt/json_token.cc +6 -4
  749. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +8 -5
  750. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +39 -38
  751. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +17 -16
  752. data/src/core/lib/security/util/json_util.cc +5 -5
  753. data/src/core/lib/service_config/service_config_impl.cc +11 -5
  754. data/src/core/lib/slice/slice.h +2 -0
  755. data/src/core/lib/surface/call.cc +71 -26
  756. data/src/core/lib/surface/call.h +1 -5
  757. data/src/core/lib/surface/completion_queue.cc +2 -1
  758. data/src/core/lib/surface/server.cc +47 -19
  759. data/src/core/lib/surface/version.cc +2 -2
  760. data/src/core/lib/transport/batch_builder.h +9 -1
  761. data/src/core/lib/transport/metadata_batch.h +2 -59
  762. data/src/core/lib/transport/metadata_compression_traits.h +67 -0
  763. data/src/core/lib/transport/simple_slice_based_metadata.h +48 -0
  764. data/src/core/lib/transport/transport.h +3 -0
  765. data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -4
  766. data/src/ruby/lib/grpc/version.rb +1 -1
  767. data/third_party/abseil-cpp/absl/base/config.h +1 -1
  768. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +33 -47
  769. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +7 -4
  770. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +32 -2
  771. data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +11 -12
  772. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +826 -0
  773. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +10 -12
  774. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +8 -10
  775. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +2 -1
  776. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +2 -1
  777. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +18 -14
  778. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +17 -21
  779. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +7 -3
  780. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +3 -4
  781. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +1 -72
  782. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +4 -2
  783. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +4 -3
  784. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +7 -3
  785. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +4 -2
  786. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +1 -1
  787. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -8
  788. data/third_party/boringssl-with-bazel/src/include/openssl/kyber.h +128 -0
  789. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +8 -1
  790. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +1 -1
  791. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +8 -12
  792. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +1 -10
  793. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +9 -2
  794. data/third_party/boringssl-with-bazel/src/ssl/internal.h +17 -17
  795. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +8 -4
  796. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +2 -2
  797. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +72 -5
  798. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +19 -21
  799. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +2 -1
  800. data/third_party/upb/upb/{table_internal.h → alloc.h} +6 -6
  801. data/third_party/upb/upb/arena.h +4 -193
  802. data/third_party/upb/upb/array.h +4 -51
  803. data/third_party/upb/upb/base/descriptor_constants.h +104 -0
  804. data/third_party/upb/upb/base/log2.h +57 -0
  805. data/third_party/upb/upb/{status.c → base/status.c} +2 -7
  806. data/third_party/upb/upb/base/status.h +66 -0
  807. data/third_party/upb/upb/base/string_view.h +75 -0
  808. data/third_party/upb/upb/{array.c → collections/array.c} +67 -36
  809. data/third_party/upb/upb/collections/array.h +85 -0
  810. data/third_party/upb/upb/collections/array_internal.h +135 -0
  811. data/third_party/upb/upb/{map.c → collections/map.c} +53 -26
  812. data/third_party/upb/upb/collections/map.h +135 -0
  813. data/third_party/upb/upb/collections/map_gencode_util.h +78 -0
  814. data/third_party/upb/upb/collections/map_internal.h +170 -0
  815. data/third_party/upb/upb/collections/map_sorter.c +166 -0
  816. data/third_party/upb/upb/collections/map_sorter_internal.h +109 -0
  817. data/third_party/upb/upb/{message_value.h → collections/message_value.h} +12 -13
  818. data/third_party/upb/upb/decode.h +3 -62
  819. data/third_party/upb/upb/def.h +4 -384
  820. data/third_party/upb/upb/def.hpp +3 -411
  821. data/third_party/upb/upb/encode.h +3 -48
  822. data/third_party/upb/upb/extension_registry.h +3 -52
  823. data/third_party/upb/upb/{table.c → hash/common.c} +52 -110
  824. data/third_party/upb/upb/hash/common.h +199 -0
  825. data/third_party/upb/upb/hash/int_table.h +102 -0
  826. data/third_party/upb/upb/hash/str_table.h +161 -0
  827. data/third_party/upb/upb/{json_decode.c → json/decode.c} +63 -98
  828. data/third_party/upb/upb/json/decode.h +52 -0
  829. data/third_party/upb/upb/{json_encode.c → json/encode.c} +69 -45
  830. data/third_party/upb/upb/json/encode.h +70 -0
  831. data/third_party/upb/upb/json_decode.h +4 -15
  832. data/third_party/upb/upb/json_encode.h +4 -33
  833. data/third_party/upb/upb/lex/atoi.c +68 -0
  834. data/third_party/upb/upb/lex/atoi.h +53 -0
  835. data/third_party/upb/upb/{upb.c → lex/round_trip.c} +2 -11
  836. data/third_party/upb/upb/{internal/upb.h → lex/round_trip.h} +17 -30
  837. data/third_party/upb/upb/lex/strtod.c +97 -0
  838. data/third_party/upb/upb/lex/strtod.h +46 -0
  839. data/third_party/upb/upb/lex/unicode.c +57 -0
  840. data/third_party/upb/upb/lex/unicode.h +77 -0
  841. data/third_party/upb/upb/map.h +4 -85
  842. data/third_party/upb/upb/mem/alloc.c +47 -0
  843. data/third_party/upb/upb/mem/alloc.h +98 -0
  844. data/third_party/upb/upb/mem/arena.c +367 -0
  845. data/third_party/upb/upb/mem/arena.h +160 -0
  846. data/third_party/upb/upb/mem/arena_internal.h +114 -0
  847. data/third_party/upb/upb/message/accessors.c +68 -0
  848. data/third_party/upb/upb/message/accessors.h +379 -0
  849. data/third_party/upb/upb/message/accessors_internal.h +325 -0
  850. data/third_party/upb/upb/message/extension_internal.h +83 -0
  851. data/third_party/upb/upb/message/internal.h +135 -0
  852. data/third_party/upb/upb/message/message.c +180 -0
  853. data/third_party/upb/upb/message/message.h +69 -0
  854. data/third_party/upb/upb/mini_table/common.c +128 -0
  855. data/third_party/upb/upb/mini_table/common.h +170 -0
  856. data/third_party/upb/upb/mini_table/common_internal.h +111 -0
  857. data/third_party/upb/upb/{mini_table.c → mini_table/decode.c} +513 -533
  858. data/third_party/upb/upb/mini_table/decode.h +179 -0
  859. data/third_party/upb/upb/mini_table/encode.c +300 -0
  860. data/third_party/upb/upb/mini_table/encode_internal.h +111 -0
  861. data/third_party/upb/upb/{mini_table.hpp → mini_table/encode_internal.hpp} +32 -8
  862. data/third_party/upb/upb/mini_table/enum_internal.h +88 -0
  863. data/third_party/upb/upb/mini_table/extension_internal.h +47 -0
  864. data/third_party/upb/upb/{extension_registry.c → mini_table/extension_registry.c} +27 -24
  865. data/third_party/upb/upb/mini_table/extension_registry.h +104 -0
  866. data/third_party/upb/upb/mini_table/field_internal.h +192 -0
  867. data/third_party/upb/upb/mini_table/file_internal.h +47 -0
  868. data/third_party/upb/upb/mini_table/message_internal.h +136 -0
  869. data/third_party/upb/upb/mini_table/sub_internal.h +38 -0
  870. data/third_party/upb/upb/mini_table/types.h +40 -0
  871. data/third_party/upb/upb/mini_table.h +4 -157
  872. data/third_party/upb/upb/msg.h +3 -38
  873. data/third_party/upb/upb/port/atomic.h +101 -0
  874. data/third_party/upb/upb/{port_def.inc → port/def.inc} +94 -27
  875. data/third_party/upb/upb/{port_undef.inc → port/undef.inc} +13 -3
  876. data/third_party/upb/upb/{internal → port}/vsnprintf_compat.h +5 -7
  877. data/third_party/upb/upb/reflection/common.h +67 -0
  878. data/third_party/upb/upb/reflection/def.h +42 -0
  879. data/third_party/upb/upb/reflection/def.hpp +610 -0
  880. data/third_party/upb/upb/reflection/def_builder.c +357 -0
  881. data/third_party/upb/upb/reflection/def_builder_internal.h +157 -0
  882. data/third_party/upb/upb/reflection/def_pool.c +462 -0
  883. data/third_party/upb/upb/reflection/def_pool.h +108 -0
  884. data/third_party/upb/upb/reflection/def_pool_internal.h +77 -0
  885. data/third_party/upb/upb/reflection/def_type.c +50 -0
  886. data/third_party/upb/upb/reflection/def_type.h +81 -0
  887. data/third_party/upb/upb/reflection/desc_state.c +53 -0
  888. data/third_party/upb/upb/reflection/desc_state_internal.h +64 -0
  889. data/third_party/upb/upb/reflection/enum_def.c +310 -0
  890. data/third_party/upb/upb/reflection/enum_def.h +80 -0
  891. data/third_party/upb/upb/reflection/enum_def_internal.h +56 -0
  892. data/third_party/upb/upb/reflection/enum_reserved_range.c +84 -0
  893. data/third_party/upb/upb/reflection/enum_reserved_range.h +51 -0
  894. data/third_party/upb/upb/reflection/enum_reserved_range_internal.h +55 -0
  895. data/third_party/upb/upb/reflection/enum_value_def.c +144 -0
  896. data/third_party/upb/upb/reflection/enum_value_def.h +57 -0
  897. data/third_party/upb/upb/reflection/enum_value_def_internal.h +57 -0
  898. data/third_party/upb/upb/reflection/extension_range.c +93 -0
  899. data/third_party/upb/upb/reflection/extension_range.h +55 -0
  900. data/third_party/upb/upb/reflection/extension_range_internal.h +54 -0
  901. data/third_party/upb/upb/reflection/field_def.c +930 -0
  902. data/third_party/upb/upb/reflection/field_def.h +91 -0
  903. data/third_party/upb/upb/reflection/field_def_internal.h +76 -0
  904. data/third_party/upb/upb/reflection/file_def.c +370 -0
  905. data/third_party/upb/upb/reflection/file_def.h +77 -0
  906. data/third_party/upb/upb/reflection/file_def_internal.h +57 -0
  907. data/third_party/upb/upb/reflection/message.c +233 -0
  908. data/third_party/upb/upb/reflection/message.h +102 -0
  909. data/third_party/upb/upb/reflection/message.hpp +37 -0
  910. data/third_party/upb/upb/reflection/message_def.c +718 -0
  911. data/third_party/upb/upb/reflection/message_def.h +174 -0
  912. data/third_party/upb/upb/reflection/message_def_internal.h +63 -0
  913. data/third_party/upb/upb/reflection/message_reserved_range.c +81 -0
  914. data/third_party/upb/upb/reflection/message_reserved_range.h +51 -0
  915. data/third_party/upb/upb/reflection/message_reserved_range_internal.h +55 -0
  916. data/third_party/upb/upb/reflection/method_def.c +124 -0
  917. data/third_party/upb/upb/reflection/method_def.h +59 -0
  918. data/third_party/upb/upb/reflection/method_def_internal.h +53 -0
  919. data/third_party/upb/upb/reflection/oneof_def.c +226 -0
  920. data/third_party/upb/upb/reflection/oneof_def.h +66 -0
  921. data/third_party/upb/upb/reflection/oneof_def_internal.h +57 -0
  922. data/third_party/upb/upb/reflection/service_def.c +128 -0
  923. data/third_party/upb/upb/reflection/service_def.h +60 -0
  924. data/third_party/upb/upb/reflection/service_def_internal.h +53 -0
  925. data/third_party/upb/upb/reflection.h +4 -78
  926. data/third_party/upb/upb/reflection.hpp +3 -7
  927. data/third_party/upb/upb/status.h +4 -34
  928. data/third_party/upb/upb/{collections.h → string_view.h} +7 -7
  929. data/third_party/upb/upb/{text_encode.c → text/encode.c} +74 -70
  930. data/third_party/upb/upb/text/encode.h +69 -0
  931. data/third_party/upb/upb/text_encode.h +4 -32
  932. data/third_party/upb/upb/upb.h +6 -151
  933. data/third_party/upb/upb/upb.hpp +10 -18
  934. data/third_party/upb/upb/wire/common.h +44 -0
  935. data/third_party/upb/upb/wire/common_internal.h +50 -0
  936. data/third_party/upb/upb/wire/decode.c +1343 -0
  937. data/third_party/upb/upb/wire/decode.h +108 -0
  938. data/third_party/upb/upb/{decode_fast.c → wire/decode_fast.c} +184 -225
  939. data/third_party/upb/upb/{decode_fast.h → wire/decode_fast.h} +21 -7
  940. data/third_party/upb/upb/{internal/decode.h → wire/decode_internal.h} +44 -92
  941. data/third_party/upb/upb/{encode.c → wire/encode.c} +114 -95
  942. data/third_party/upb/upb/wire/encode.h +92 -0
  943. data/third_party/upb/upb/wire/eps_copy_input_stream.c +39 -0
  944. data/third_party/upb/upb/wire/eps_copy_input_stream.h +425 -0
  945. data/third_party/upb/upb/wire/reader.c +67 -0
  946. data/third_party/upb/upb/wire/reader.h +227 -0
  947. data/third_party/upb/upb/wire/swap_internal.h +63 -0
  948. data/third_party/upb/upb/wire/types.h +41 -0
  949. data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-neon.c +1 -1
  950. data/third_party/{upb/third_party/utf8_range → utf8_range}/utf8_range.h +12 -0
  951. metadata +155 -40
  952. data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
  953. data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
  954. data/third_party/upb/upb/arena.c +0 -277
  955. data/third_party/upb/upb/decode.c +0 -1221
  956. data/third_party/upb/upb/def.c +0 -3269
  957. data/third_party/upb/upb/internal/table.h +0 -385
  958. data/third_party/upb/upb/msg.c +0 -368
  959. data/third_party/upb/upb/msg_internal.h +0 -837
  960. data/third_party/upb/upb/reflection.c +0 -323
  961. /data/third_party/{upb/third_party/utf8_range → utf8_range}/naive.c +0 -0
  962. /data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-sse.c +0 -0
@@ -25,24 +25,23 @@
25
25
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
26
  */
27
27
 
28
- #include "upb/json_encode.h"
28
+ #include "upb/json/encode.h"
29
29
 
30
30
  #include <ctype.h>
31
31
  #include <float.h>
32
32
  #include <inttypes.h>
33
33
  #include <math.h>
34
- #include <setjmp.h>
35
34
  #include <stdarg.h>
36
- #include <stdio.h>
37
35
  #include <string.h>
38
36
 
39
- #include "upb/decode.h"
40
- #include "upb/internal/upb.h"
41
- #include "upb/internal/vsnprintf_compat.h"
42
- #include "upb/reflection.h"
37
+ #include "upb/collections/map.h"
38
+ #include "upb/lex/round_trip.h"
39
+ #include "upb/port/vsnprintf_compat.h"
40
+ #include "upb/reflection/message.h"
41
+ #include "upb/wire/decode.h"
43
42
 
44
- /* Must be last. */
45
- #include "upb/port_def.inc"
43
+ // Must be last.
44
+ #include "upb/port/def.inc"
46
45
 
47
46
  typedef struct {
48
47
  char *buf, *ptr, *end;
@@ -144,8 +143,8 @@ static void jsonenc_timestamp(jsonenc* e, const upb_Message* msg,
144
143
  const upb_MessageDef* m) {
145
144
  const upb_FieldDef* seconds_f = upb_MessageDef_FindFieldByNumber(m, 1);
146
145
  const upb_FieldDef* nanos_f = upb_MessageDef_FindFieldByNumber(m, 2);
147
- int64_t seconds = upb_Message_Get(msg, seconds_f).int64_val;
148
- int32_t nanos = upb_Message_Get(msg, nanos_f).int32_val;
146
+ int64_t seconds = upb_Message_GetFieldByDef(msg, seconds_f).int64_val;
147
+ int32_t nanos = upb_Message_GetFieldByDef(msg, nanos_f).int32_val;
149
148
  int L, N, I, J, K, hour, min, sec;
150
149
 
151
150
  if (seconds < -62135596800) {
@@ -187,19 +186,29 @@ static void jsonenc_duration(jsonenc* e, const upb_Message* msg,
187
186
  const upb_MessageDef* m) {
188
187
  const upb_FieldDef* seconds_f = upb_MessageDef_FindFieldByNumber(m, 1);
189
188
  const upb_FieldDef* nanos_f = upb_MessageDef_FindFieldByNumber(m, 2);
190
- int64_t seconds = upb_Message_Get(msg, seconds_f).int64_val;
191
- int32_t nanos = upb_Message_Get(msg, nanos_f).int32_val;
189
+ int64_t seconds = upb_Message_GetFieldByDef(msg, seconds_f).int64_val;
190
+ int32_t nanos = upb_Message_GetFieldByDef(msg, nanos_f).int32_val;
191
+ bool negative = false;
192
192
 
193
193
  if (seconds > 315576000000 || seconds < -315576000000 ||
194
- (seconds < 0) != (nanos < 0)) {
194
+ (seconds != 0 && nanos != 0 && (seconds < 0) != (nanos < 0))) {
195
195
  jsonenc_err(e, "bad duration");
196
196
  }
197
197
 
198
+ if (seconds < 0) {
199
+ negative = true;
200
+ seconds = -seconds;
201
+ }
198
202
  if (nanos < 0) {
203
+ negative = true;
199
204
  nanos = -nanos;
200
205
  }
201
206
 
202
- jsonenc_printf(e, "\"%" PRId64, seconds);
207
+ jsonenc_putstr(e, "\"");
208
+ if (negative) {
209
+ jsonenc_putstr(e, "-");
210
+ }
211
+ jsonenc_printf(e, "%" PRId64, seconds);
203
212
  jsonenc_nanos(e, nanos);
204
213
  jsonenc_putstr(e, "s\"");
205
214
  }
@@ -339,7 +348,7 @@ static void upb_JsonEncode_Float(jsonenc* e, float val) {
339
348
  static void jsonenc_wrapper(jsonenc* e, const upb_Message* msg,
340
349
  const upb_MessageDef* m) {
341
350
  const upb_FieldDef* val_f = upb_MessageDef_FindFieldByNumber(m, 1);
342
- upb_MessageValue val = upb_Message_Get(msg, val_f);
351
+ upb_MessageValue val = upb_Message_GetFieldByDef(msg, val_f);
343
352
  jsonenc_scalar(e, val, val_f);
344
353
  }
345
354
 
@@ -384,12 +393,12 @@ static void jsonenc_any(jsonenc* e, const upb_Message* msg,
384
393
  const upb_MessageDef* m) {
385
394
  const upb_FieldDef* type_url_f = upb_MessageDef_FindFieldByNumber(m, 1);
386
395
  const upb_FieldDef* value_f = upb_MessageDef_FindFieldByNumber(m, 2);
387
- upb_StringView type_url = upb_Message_Get(msg, type_url_f).str_val;
388
- upb_StringView value = upb_Message_Get(msg, value_f).str_val;
396
+ upb_StringView type_url = upb_Message_GetFieldByDef(msg, type_url_f).str_val;
397
+ upb_StringView value = upb_Message_GetFieldByDef(msg, value_f).str_val;
389
398
  const upb_MessageDef* any_m = jsonenc_getanymsg(e, type_url);
390
399
  const upb_MiniTable* any_layout = upb_MessageDef_MiniTable(any_m);
391
400
  upb_Arena* arena = jsonenc_arena(e);
392
- upb_Message* any = upb_Message_New(any_m, arena);
401
+ upb_Message* any = upb_Message_New(any_layout, arena);
393
402
 
394
403
  if (upb_Decode(value.data, value.size, any, any_layout, NULL, 0, arena) !=
395
404
  kUpb_DecodeStatus_Ok) {
@@ -443,7 +452,7 @@ static void jsonenc_fieldpath(jsonenc* e, upb_StringView path) {
443
452
  static void jsonenc_fieldmask(jsonenc* e, const upb_Message* msg,
444
453
  const upb_MessageDef* m) {
445
454
  const upb_FieldDef* paths_f = upb_MessageDef_FindFieldByNumber(m, 1);
446
- const upb_Array* paths = upb_Message_Get(msg, paths_f).array_val;
455
+ const upb_Array* paths = upb_Message_GetFieldByDef(msg, paths_f).array_val;
447
456
  bool first = true;
448
457
  size_t i, n = 0;
449
458
 
@@ -461,20 +470,20 @@ static void jsonenc_fieldmask(jsonenc* e, const upb_Message* msg,
461
470
 
462
471
  static void jsonenc_struct(jsonenc* e, const upb_Message* msg,
463
472
  const upb_MessageDef* m) {
464
- const upb_FieldDef* fields_f = upb_MessageDef_FindFieldByNumber(m, 1);
465
- const upb_Map* fields = upb_Message_Get(msg, fields_f).map_val;
466
- const upb_MessageDef* entry_m = upb_FieldDef_MessageSubDef(fields_f);
467
- const upb_FieldDef* value_f = upb_MessageDef_FindFieldByNumber(entry_m, 2);
468
- size_t iter = kUpb_Map_Begin;
469
- bool first = true;
470
-
471
473
  jsonenc_putstr(e, "{");
472
474
 
475
+ const upb_FieldDef* fields_f = upb_MessageDef_FindFieldByNumber(m, 1);
476
+ const upb_Map* fields = upb_Message_GetFieldByDef(msg, fields_f).map_val;
477
+
473
478
  if (fields) {
474
- while (upb_MapIterator_Next(fields, &iter)) {
475
- upb_MessageValue key = upb_MapIterator_Key(fields, iter);
476
- upb_MessageValue val = upb_MapIterator_Value(fields, iter);
479
+ const upb_MessageDef* entry_m = upb_FieldDef_MessageSubDef(fields_f);
480
+ const upb_FieldDef* value_f = upb_MessageDef_FindFieldByNumber(entry_m, 2);
477
481
 
482
+ size_t iter = kUpb_Map_Begin;
483
+ bool first = true;
484
+
485
+ upb_MessageValue key, val;
486
+ while (upb_Map_Next(fields, &key, &val, &iter)) {
478
487
  jsonenc_putsep(e, ",", &first);
479
488
  jsonenc_string(e, key.str_val);
480
489
  jsonenc_putstr(e, ":");
@@ -489,7 +498,7 @@ static void jsonenc_listvalue(jsonenc* e, const upb_Message* msg,
489
498
  const upb_MessageDef* m) {
490
499
  const upb_FieldDef* values_f = upb_MessageDef_FindFieldByNumber(m, 1);
491
500
  const upb_MessageDef* values_m = upb_FieldDef_MessageSubDef(values_f);
492
- const upb_Array* values = upb_Message_Get(msg, values_f).array_val;
501
+ const upb_Array* values = upb_Message_GetFieldByDef(msg, values_f).array_val;
493
502
  size_t i;
494
503
  bool first = true;
495
504
 
@@ -524,6 +533,12 @@ static void jsonenc_value(jsonenc* e, const upb_Message* msg,
524
533
  jsonenc_putstr(e, "null");
525
534
  break;
526
535
  case 2:
536
+ if (upb_JsonEncode_HandleSpecialDoubles(e, val.double_val)) {
537
+ jsonenc_err(
538
+ e,
539
+ "google.protobuf.Value cannot encode double values for "
540
+ "infinity or nan, because they would be parsed as a string");
541
+ }
527
542
  upb_JsonEncode_Double(e, val.double_val);
528
543
  break;
529
544
  case 3:
@@ -668,19 +683,21 @@ static void jsonenc_array(jsonenc* e, const upb_Array* arr,
668
683
  }
669
684
 
670
685
  static void jsonenc_map(jsonenc* e, const upb_Map* map, const upb_FieldDef* f) {
686
+ jsonenc_putstr(e, "{");
687
+
671
688
  const upb_MessageDef* entry = upb_FieldDef_MessageSubDef(f);
672
689
  const upb_FieldDef* key_f = upb_MessageDef_FindFieldByNumber(entry, 1);
673
690
  const upb_FieldDef* val_f = upb_MessageDef_FindFieldByNumber(entry, 2);
674
- size_t iter = kUpb_Map_Begin;
675
- bool first = true;
676
-
677
- jsonenc_putstr(e, "{");
678
691
 
679
692
  if (map) {
680
- while (upb_MapIterator_Next(map, &iter)) {
693
+ size_t iter = kUpb_Map_Begin;
694
+ bool first = true;
695
+
696
+ upb_MessageValue key, val;
697
+ while (upb_Map_Next(map, &key, &val, &iter)) {
681
698
  jsonenc_putsep(e, ",", &first);
682
- jsonenc_mapkey(e, upb_MapIterator_Key(map, iter), key_f);
683
- jsonenc_scalar(e, upb_MapIterator_Value(map, iter), val_f);
699
+ jsonenc_mapkey(e, key, key_f);
700
+ jsonenc_scalar(e, val, val_f);
684
701
  }
685
702
  }
686
703
 
@@ -727,8 +744,8 @@ static void jsonenc_msgfields(jsonenc* e, const upb_Message* msg,
727
744
  int n = upb_MessageDef_FieldCount(m);
728
745
  for (i = 0; i < n; i++) {
729
746
  f = upb_MessageDef_Field(m, i);
730
- if (!upb_FieldDef_HasPresence(f) || upb_Message_Has(msg, f)) {
731
- jsonenc_fieldval(e, f, upb_Message_Get(msg, f), &first);
747
+ if (!upb_FieldDef_HasPresence(f) || upb_Message_HasFieldByDef(msg, f)) {
748
+ jsonenc_fieldval(e, f, upb_Message_GetFieldByDef(msg, f), &first);
732
749
  }
733
750
  }
734
751
  } else {
@@ -758,6 +775,17 @@ static size_t jsonenc_nullz(jsonenc* e, size_t size) {
758
775
  return ret;
759
776
  }
760
777
 
778
+ static size_t upb_JsonEncoder_Encode(jsonenc* const e,
779
+ const upb_Message* const msg,
780
+ const upb_MessageDef* const m,
781
+ const size_t size) {
782
+ if (UPB_SETJMP(e->err) != 0) return -1;
783
+
784
+ jsonenc_msgfield(e, msg, m);
785
+ if (e->arena) upb_Arena_Free(e->arena);
786
+ return jsonenc_nullz(e, size);
787
+ }
788
+
761
789
  size_t upb_JsonEncode(const upb_Message* msg, const upb_MessageDef* m,
762
790
  const upb_DefPool* ext_pool, int options, char* buf,
763
791
  size_t size, upb_Status* status) {
@@ -772,9 +800,5 @@ size_t upb_JsonEncode(const upb_Message* msg, const upb_MessageDef* m,
772
800
  e.status = status;
773
801
  e.arena = NULL;
774
802
 
775
- if (setjmp(e.err)) return -1;
776
-
777
- jsonenc_msgfield(&e, msg, m);
778
- if (e.arena) upb_Arena_Free(e.arena);
779
- return jsonenc_nullz(&e, size);
803
+ return upb_JsonEncoder_Encode(&e, msg, m, size);
780
804
  }
@@ -0,0 +1,70 @@
1
+ /*
2
+ * Copyright (c) 2009-2021, Google LLC
3
+ * All rights reserved.
4
+ *
5
+ * Redistribution and use in source and binary forms, with or without
6
+ * modification, are permitted provided that the following conditions are met:
7
+ * * Redistributions of source code must retain the above copyright
8
+ * notice, this list of conditions and the following disclaimer.
9
+ * * Redistributions in binary form must reproduce the above copyright
10
+ * notice, this list of conditions and the following disclaimer in the
11
+ * documentation and/or other materials provided with the distribution.
12
+ * * Neither the name of Google LLC nor the
13
+ * names of its contributors may be used to endorse or promote products
14
+ * derived from this software without specific prior written permission.
15
+ *
16
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
+ * ARE DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY DIRECT,
20
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ */
27
+
28
+ #ifndef UPB_JSON_ENCODE_H_
29
+ #define UPB_JSON_ENCODE_H_
30
+
31
+ #include "upb/reflection/def.h"
32
+
33
+ // Must be last.
34
+ #include "upb/port/def.inc"
35
+
36
+ #ifdef __cplusplus
37
+ extern "C" {
38
+ #endif
39
+
40
+ enum {
41
+ /* When set, emits 0/default values. TODO(haberman): proto3 only? */
42
+ upb_JsonEncode_EmitDefaults = 1 << 0,
43
+
44
+ /* When set, use normal (snake_case) field names instead of JSON (camelCase)
45
+ names. */
46
+ upb_JsonEncode_UseProtoNames = 1 << 1,
47
+
48
+ /* When set, emits enums as their integer values instead of as their names. */
49
+ upb_JsonEncode_FormatEnumsAsIntegers = 1 << 2
50
+ };
51
+
52
+ /* Encodes the given |msg| to JSON format. The message's reflection is given in
53
+ * |m|. The symtab in |symtab| is used to find extensions (if NULL, extensions
54
+ * will not be printed).
55
+ *
56
+ * Output is placed in the given buffer, and always NULL-terminated. The output
57
+ * size (excluding NULL) is returned. This means that a return value >= |size|
58
+ * implies that the output was truncated. (These are the same semantics as
59
+ * snprintf()). */
60
+ size_t upb_JsonEncode(const upb_Message* msg, const upb_MessageDef* m,
61
+ const upb_DefPool* ext_pool, int options, char* buf,
62
+ size_t size, upb_Status* status);
63
+
64
+ #ifdef __cplusplus
65
+ } /* extern "C" */
66
+ #endif
67
+
68
+ #include "upb/port/undef.inc"
69
+
70
+ #endif /* UPB_JSONENCODE_H_ */
@@ -25,23 +25,12 @@
25
25
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
26
  */
27
27
 
28
+ // This header is deprecated, use upb/json/decode.h instead
29
+ // IWYU pragma: private, include "upb/json/decode.h"
30
+
28
31
  #ifndef UPB_JSONDECODE_H_
29
32
  #define UPB_JSONDECODE_H_
30
33
 
31
- #include "upb/def.h"
32
-
33
- #ifdef __cplusplus
34
- extern "C" {
35
- #endif
36
-
37
- enum { upb_JsonDecode_IgnoreUnknown = 1 };
38
-
39
- bool upb_JsonDecode(const char* buf, size_t size, upb_Message* msg,
40
- const upb_MessageDef* m, const upb_DefPool* symtab,
41
- int options, upb_Arena* arena, upb_Status* status);
42
-
43
- #ifdef __cplusplus
44
- } /* extern "C" */
45
- #endif
34
+ #include "upb/json/decode.h"
46
35
 
47
36
  #endif /* UPB_JSONDECODE_H_ */
@@ -25,41 +25,12 @@
25
25
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
26
  */
27
27
 
28
+ // This header is deprecated, use upb/json/encode.h instead
29
+ // IWYU pragma: private, include "upb/json/encode.h"
30
+
28
31
  #ifndef UPB_JSONENCODE_H_
29
32
  #define UPB_JSONENCODE_H_
30
33
 
31
- #include "upb/def.h"
32
-
33
- #ifdef __cplusplus
34
- extern "C" {
35
- #endif
36
-
37
- enum {
38
- /* When set, emits 0/default values. TODO(haberman): proto3 only? */
39
- upb_JsonEncode_EmitDefaults = 1 << 0,
40
-
41
- /* When set, use normal (snake_case) field names instead of JSON (camelCase)
42
- names. */
43
- upb_JsonEncode_UseProtoNames = 1 << 1,
44
-
45
- /* When set, emits enums as their integer values instead of as their names. */
46
- upb_JsonEncode_FormatEnumsAsIntegers = 1 << 2
47
- };
48
-
49
- /* Encodes the given |msg| to JSON format. The message's reflection is given in
50
- * |m|. The symtab in |symtab| is used to find extensions (if NULL, extensions
51
- * will not be printed).
52
- *
53
- * Output is placed in the given buffer, and always NULL-terminated. The output
54
- * size (excluding NULL) is returned. This means that a return value >= |size|
55
- * implies that the output was truncated. (These are the same semantics as
56
- * snprintf()). */
57
- size_t upb_JsonEncode(const upb_Message* msg, const upb_MessageDef* m,
58
- const upb_DefPool* ext_pool, int options, char* buf,
59
- size_t size, upb_Status* status);
60
-
61
- #ifdef __cplusplus
62
- } /* extern "C" */
63
- #endif
34
+ #include "upb/json/encode.h"
64
35
 
65
36
  #endif /* UPB_JSONENCODE_H_ */
@@ -0,0 +1,68 @@
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 "upb/lex/atoi.h"
29
+
30
+ // Must be last.
31
+ #include "upb/port/def.inc"
32
+
33
+ const char* upb_BufToUint64(const char* ptr, const char* end, uint64_t* val) {
34
+ uint64_t u64 = 0;
35
+ while (ptr < end) {
36
+ unsigned ch = *ptr - '0';
37
+ if (ch >= 10) break;
38
+ if (u64 > UINT64_MAX / 10 || u64 * 10 > UINT64_MAX - ch) {
39
+ return NULL; // integer overflow
40
+ }
41
+ u64 *= 10;
42
+ u64 += ch;
43
+ ptr++;
44
+ }
45
+
46
+ *val = u64;
47
+ return ptr;
48
+ }
49
+
50
+ const char* upb_BufToInt64(const char* ptr, const char* end, int64_t* val,
51
+ bool* is_neg) {
52
+ bool neg = false;
53
+ uint64_t u64;
54
+
55
+ if (ptr != end && *ptr == '-') {
56
+ ptr++;
57
+ neg = true;
58
+ }
59
+
60
+ ptr = upb_BufToUint64(ptr, end, &u64);
61
+ if (!ptr || u64 > (uint64_t)INT64_MAX + neg) {
62
+ return NULL; // integer overflow
63
+ }
64
+
65
+ *val = neg ? -u64 : u64;
66
+ if (is_neg) *is_neg = neg;
67
+ return ptr;
68
+ }
@@ -0,0 +1,53 @@
1
+ /*
2
+ * Copyright (c) 2009-2021, Google LLC
3
+ * All rights reserved.
4
+ *
5
+ * Redistribution and use in source and binary forms, with or without
6
+ * modification, are permitted provided that the following conditions are met:
7
+ * * Redistributions of source code must retain the above copyright
8
+ * notice, this list of conditions and the following disclaimer.
9
+ * * Redistributions in binary form must reproduce the above copyright
10
+ * notice, this list of conditions and the following disclaimer in the
11
+ * documentation and/or other materials provided with the distribution.
12
+ * * Neither the name of Google LLC nor the
13
+ * names of its contributors may be used to endorse or promote products
14
+ * derived from this software without specific prior written permission.
15
+ *
16
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
+ * ARE DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY DIRECT,
20
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ */
27
+
28
+ #ifndef UPB_LEX_ATOI_H_
29
+ #define UPB_LEX_ATOI_H_
30
+
31
+ // Must be last.
32
+ #include "upb/port/def.inc"
33
+
34
+ #ifdef __cplusplus
35
+ extern "C" {
36
+ #endif
37
+
38
+ // We use these hand-written routines instead of strto[u]l() because the "long
39
+ // long" variants aren't in c89. Also our version allows setting a ptr limit.
40
+ // Return the new position of the pointer after parsing the int, or NULL on
41
+ // integer overflow.
42
+
43
+ const char* upb_BufToUint64(const char* ptr, const char* end, uint64_t* val);
44
+ const char* upb_BufToInt64(const char* ptr, const char* end, int64_t* val,
45
+ bool* is_neg);
46
+
47
+ #ifdef __cplusplus
48
+ } /* extern "C" */
49
+ #endif
50
+
51
+ #include "upb/port/undef.inc"
52
+
53
+ #endif /* UPB_LEX_ATOI_H_ */
@@ -25,22 +25,13 @@
25
25
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
26
  */
27
27
 
28
- #include "upb/internal/upb.h"
28
+ #include "upb/lex/round_trip.h"
29
29
 
30
- #include <errno.h>
31
30
  #include <float.h>
32
- #include <stdarg.h>
33
- #include <stddef.h>
34
- #include <stdint.h>
35
- #include <stdio.h>
36
31
  #include <stdlib.h>
37
- #include <string.h>
38
-
39
- #include "upb/arena.h"
40
- #include "upb/status.h"
41
32
 
42
33
  // Must be last.
43
- #include "upb/port_def.inc"
34
+ #include "upb/port/def.inc"
44
35
 
45
36
  /* Miscellaneous utilities ****************************************************/
46
37
 
@@ -25,44 +25,31 @@
25
25
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
26
  */
27
27
 
28
- #ifndef UPB_INTERNAL_UPB_H_
29
- #define UPB_INTERNAL_UPB_H_
28
+ #ifndef UPB_LEX_ROUND_TRIP_H_
29
+ #define UPB_LEX_ROUND_TRIP_H_
30
30
 
31
- #include "upb/upb.h"
32
-
33
- struct mem_block;
34
- typedef struct mem_block mem_block;
35
-
36
- struct upb_Arena {
37
- _upb_ArenaHead head;
38
- /* Stores cleanup metadata for this arena.
39
- * - a pointer to the current cleanup counter.
40
- * - a boolean indicating if there is an unowned initial block. */
41
- uintptr_t cleanup_metadata;
42
-
43
- /* Allocator to allocate arena blocks. We are responsible for freeing these
44
- * when we are destroyed. */
45
- upb_alloc* block_alloc;
46
- uint32_t last_size;
47
-
48
- /* When multiple arenas are fused together, each arena points to a parent
49
- * arena (root points to itself). The root tracks how many live arenas
50
- * reference it. */
51
- uint32_t refcount; /* Only used when a->parent == a */
52
- struct upb_Arena* parent;
53
-
54
- /* Linked list of blocks to free/cleanup. */
55
- mem_block *freelist, *freelist_tail;
56
- };
31
+ // Must be last.
32
+ #include "upb/port/def.inc"
57
33
 
58
34
  // Encodes a float or double that is round-trippable, but as short as possible.
59
35
  // These routines are not fully optimal (not guaranteed to be shortest), but are
60
36
  // short-ish and match the implementation that has been used in protobuf since
61
37
  // the beginning.
62
- //
38
+
63
39
  // The given buffer size must be at least kUpb_RoundTripBufferSize.
64
40
  enum { kUpb_RoundTripBufferSize = 32 };
41
+
42
+ #ifdef __cplusplus
43
+ extern "C" {
44
+ #endif
45
+
65
46
  void _upb_EncodeRoundTripDouble(double val, char* buf, size_t size);
66
47
  void _upb_EncodeRoundTripFloat(float val, char* buf, size_t size);
67
48
 
68
- #endif /* UPB_INTERNAL_UPB_H_ */
49
+ #ifdef __cplusplus
50
+ } /* extern "C" */
51
+ #endif
52
+
53
+ #include "upb/port/undef.inc"
54
+
55
+ #endif /* UPB_LEX_ROUND_TRIP_H_ */
@@ -0,0 +1,97 @@
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
+ #include "upb/lex/strtod.h"
29
+
30
+ #include <stdlib.h>
31
+ #include <string.h>
32
+
33
+ // Must be last.
34
+ #include "upb/port/def.inc"
35
+
36
+ // Determine the locale-specific radix character by calling sprintf() to print
37
+ // the number 1.5, then stripping off the digits. As far as I can tell, this
38
+ // is the only portable, thread-safe way to get the C library to divulge the
39
+ // locale's radix character. No, localeconv() is NOT thread-safe.
40
+
41
+ static int GetLocaleRadix(char *data, size_t capacity) {
42
+ char temp[16];
43
+ const int size = snprintf(temp, sizeof(temp), "%.1f", 1.5);
44
+ UPB_ASSERT(temp[0] == '1');
45
+ UPB_ASSERT(temp[size - 1] == '5');
46
+ UPB_ASSERT(size < capacity);
47
+ temp[size - 1] = '\0';
48
+ strcpy(data, temp + 1);
49
+ return size - 2;
50
+ }
51
+
52
+ // Populates a string identical to *input except that the character pointed to
53
+ // by pos (which should be '.') is replaced with the locale-specific radix.
54
+
55
+ static void LocalizeRadix(const char *input, const char *pos, char *output) {
56
+ const int len1 = pos - input;
57
+
58
+ char radix[8];
59
+ const int len2 = GetLocaleRadix(radix, sizeof(radix));
60
+
61
+ memcpy(output, input, len1);
62
+ memcpy(output + len1, radix, len2);
63
+ strcpy(output + len1 + len2, input + len1 + 1);
64
+ }
65
+
66
+ double _upb_NoLocaleStrtod(const char *str, char **endptr) {
67
+ // We cannot simply set the locale to "C" temporarily with setlocale()
68
+ // as this is not thread-safe. Instead, we try to parse in the current
69
+ // locale first. If parsing stops at a '.' character, then this is a
70
+ // pretty good hint that we're actually in some other locale in which
71
+ // '.' is not the radix character.
72
+
73
+ char *temp_endptr;
74
+ double result = strtod(str, &temp_endptr);
75
+ if (endptr != NULL) *endptr = temp_endptr;
76
+ if (*temp_endptr != '.') return result;
77
+
78
+ // Parsing halted on a '.'. Perhaps we're in a different locale? Let's
79
+ // try to replace the '.' with a locale-specific radix character and
80
+ // try again.
81
+
82
+ char localized[80];
83
+ LocalizeRadix(str, temp_endptr, localized);
84
+ char *localized_endptr;
85
+ result = strtod(localized, &localized_endptr);
86
+ if ((localized_endptr - &localized[0]) > (temp_endptr - str)) {
87
+ // This attempt got further, so replacing the decimal must have helped.
88
+ // Update endptr to point at the right location.
89
+ if (endptr != NULL) {
90
+ // size_diff is non-zero if the localized radix has multiple bytes.
91
+ int size_diff = strlen(localized) - strlen(str);
92
+ *endptr = (char *)str + (localized_endptr - &localized[0] - size_diff);
93
+ }
94
+ }
95
+
96
+ return result;
97
+ }