grpc 1.42.0 → 1.43.1

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 (739) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +85 -34
  3. data/include/grpc/event_engine/event_engine.h +37 -13
  4. data/include/grpc/event_engine/internal/memory_allocator_impl.h +1 -31
  5. data/include/grpc/event_engine/memory_allocator.h +27 -11
  6. data/include/grpc/event_engine/memory_request.h +57 -0
  7. data/include/grpc/grpc_security.h +276 -145
  8. data/include/grpc/grpc_security_constants.h +1 -14
  9. data/include/grpc/impl/codegen/port_platform.h +7 -3
  10. data/src/core/ext/filters/client_channel/backend_metric.cc +6 -7
  11. data/src/core/ext/filters/client_channel/backend_metric.h +3 -2
  12. data/src/core/ext/filters/client_channel/client_channel.cc +81 -40
  13. data/src/core/ext/filters/client_channel/client_channel.h +5 -4
  14. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -2
  15. data/src/core/ext/filters/client_channel/dynamic_filters.cc +4 -4
  16. data/src/core/ext/filters/client_channel/health/health_check_client.h +1 -1
  17. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +12 -14
  18. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +1 -2
  19. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +1 -2
  20. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -2
  21. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +2 -3
  22. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +27 -80
  23. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +82 -34
  24. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +47 -91
  25. data/src/core/ext/filters/client_channel/lb_policy.h +75 -59
  26. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +3 -3
  27. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +2 -2
  28. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +8 -12
  29. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +3 -3
  30. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +6 -12
  31. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +222 -294
  32. data/src/core/ext/filters/client_channel/resolver_registry.cc +6 -7
  33. data/src/core/ext/filters/client_channel/resolver_registry.h +1 -2
  34. data/src/core/ext/filters/client_channel/subchannel.cc +4 -4
  35. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +1 -1
  36. data/src/core/ext/filters/http/client/http_client_filter.cc +14 -30
  37. data/src/core/ext/filters/http/http_filters_plugin.cc +3 -5
  38. data/src/core/ext/filters/http/server/http_server_filter.cc +11 -28
  39. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +67 -0
  40. data/src/core/ext/filters/server_config_selector/server_config_selector.h +70 -0
  41. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +265 -0
  42. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.h +32 -0
  43. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +4 -20
  44. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -2
  45. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +8 -5
  46. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +11 -14
  47. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +6 -3
  48. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +54 -79
  49. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +2 -3
  50. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +9 -13
  51. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +6 -6
  52. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +53 -62
  53. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -2
  54. data/src/core/ext/transport/chttp2/transport/context_list.cc +2 -3
  55. data/src/core/ext/transport/chttp2/transport/context_list.h +2 -3
  56. data/src/core/ext/transport/chttp2/transport/flow_control.cc +8 -8
  57. data/src/core/ext/transport/chttp2/transport/flow_control.h +2 -2
  58. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +83 -19
  59. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +33 -1
  60. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +66 -92
  61. data/src/core/ext/transport/chttp2/transport/internal.h +8 -4
  62. data/src/core/ext/transport/inproc/inproc_transport.cc +16 -7
  63. data/src/core/ext/transport/inproc/inproc_transport.h +1 -1
  64. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +197 -165
  65. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +2 -0
  66. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +41 -0
  67. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +18 -0
  68. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +26 -2
  69. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -0
  70. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +107 -82
  71. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +2 -0
  72. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +188 -160
  73. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +2 -0
  74. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +35 -22
  75. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +2 -0
  76. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +253 -218
  77. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2 -0
  78. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +16 -5
  79. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +2 -0
  80. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +36 -25
  81. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +2 -0
  82. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +56 -39
  83. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +2 -0
  84. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +16 -5
  85. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +2 -0
  86. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +162 -128
  87. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +2 -0
  88. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +51 -36
  89. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +2 -0
  90. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +15 -4
  91. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +2 -0
  92. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +25 -13
  93. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +2 -0
  94. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +114 -90
  95. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +2 -0
  96. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +89 -71
  97. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +2 -0
  98. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +17 -6
  99. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +2 -0
  100. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +117 -93
  101. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +2 -0
  102. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +13 -2
  103. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +2 -0
  104. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +21 -9
  105. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +2 -0
  106. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +18 -7
  107. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +2 -0
  108. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +22 -11
  109. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +2 -0
  110. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +17 -6
  111. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +2 -0
  112. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +41 -27
  113. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +2 -0
  114. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +59 -43
  115. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +2 -0
  116. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +58 -43
  117. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +2 -0
  118. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +15 -4
  119. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +2 -0
  120. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +73 -57
  121. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +2 -0
  122. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +81 -64
  123. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +2 -0
  124. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +25 -14
  125. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +2 -0
  126. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +19 -7
  127. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +2 -0
  128. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +63 -45
  129. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +2 -0
  130. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +66 -47
  131. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +2 -0
  132. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +93 -75
  133. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +2 -0
  134. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +41 -28
  135. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +2 -0
  136. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +503 -440
  137. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2 -0
  138. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +26 -13
  139. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +2 -0
  140. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +21 -9
  141. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +2 -0
  142. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +13 -2
  143. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +2 -0
  144. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +35 -20
  145. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +2 -0
  146. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +44 -31
  147. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +2 -0
  148. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +22 -11
  149. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +2 -0
  150. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +210 -181
  151. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2 -0
  152. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +7 -0
  153. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +5 -3
  154. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +64 -48
  155. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +2 -0
  156. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +33 -20
  157. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +2 -0
  158. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +81 -65
  159. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +2 -0
  160. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +12 -1
  161. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +2 -0
  162. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +12 -1
  163. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +2 -0
  164. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +75 -58
  165. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +2 -0
  166. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +12 -1
  167. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +2 -0
  168. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +12 -1
  169. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +2 -0
  170. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +25 -13
  171. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +2 -0
  172. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +12 -1
  173. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +2 -0
  174. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +12 -1
  175. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +2 -0
  176. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +61 -46
  177. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +2 -0
  178. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +26 -12
  179. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +2 -0
  180. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +22 -10
  181. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +2 -0
  182. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +17 -6
  183. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +2 -0
  184. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +16 -5
  185. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +2 -0
  186. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +15 -4
  187. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +2 -0
  188. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +27 -14
  189. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +2 -0
  190. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +25 -13
  191. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +2 -0
  192. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +20 -8
  193. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +2 -0
  194. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +30 -17
  195. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +2 -0
  196. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +38 -21
  197. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +2 -0
  198. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +41 -26
  199. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +2 -0
  200. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +7 -0
  201. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +2 -0
  202. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +17 -5
  203. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +2 -0
  204. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +22 -9
  205. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +2 -0
  206. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +15 -4
  207. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +2 -0
  208. data/src/core/ext/upb-generated/google/api/annotations.upb.c +20 -0
  209. data/src/core/ext/upb-generated/google/api/annotations.upb.h +7 -0
  210. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +116 -93
  211. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +2 -0
  212. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.c +102 -0
  213. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.h +306 -0
  214. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.c +56 -0
  215. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.h +135 -0
  216. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +122 -98
  217. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +2 -0
  218. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.c +115 -0
  219. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.h +371 -0
  220. data/src/core/ext/upb-generated/google/api/http.upb.c +35 -22
  221. data/src/core/ext/upb-generated/google/api/http.upb.h +2 -0
  222. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +14 -3
  223. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +2 -0
  224. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +247 -210
  225. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +2 -0
  226. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +14 -3
  227. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +2 -0
  228. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +12 -1
  229. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +2 -0
  230. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +37 -23
  231. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +2 -0
  232. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +14 -3
  233. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +2 -0
  234. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +37 -18
  235. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +2 -0
  236. data/src/core/ext/upb-generated/google/rpc/status.upb.c +17 -6
  237. data/src/core/ext/upb-generated/google/rpc/status.upb.h +2 -0
  238. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +26 -14
  239. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +2 -0
  240. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +105 -83
  241. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +2 -0
  242. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +20 -8
  243. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +2 -0
  244. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +16 -4
  245. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +2 -0
  246. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +65 -47
  247. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +34 -36
  248. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +26 -13
  249. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +2 -0
  250. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +67 -7
  251. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +27 -0
  252. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +27 -3
  253. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -0
  254. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +19 -0
  255. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +7 -0
  256. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +27 -3
  257. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +7 -0
  258. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +26 -2
  259. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -0
  260. data/src/core/ext/upb-generated/validate/validate.upb.c +320 -251
  261. data/src/core/ext/upb-generated/validate/validate.upb.h +20 -0
  262. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +54 -9
  263. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +17 -0
  264. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +13 -2
  265. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +2 -0
  266. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +24 -12
  267. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +2 -0
  268. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +19 -7
  269. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +2 -0
  270. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +18 -7
  271. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +2 -0
  272. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +27 -15
  273. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +2 -0
  274. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +18 -7
  275. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +2 -0
  276. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +28 -15
  277. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +2 -0
  278. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +16 -5
  279. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +2 -0
  280. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +2 -49
  281. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +2 -2
  282. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +2 -7
  283. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +2 -35
  284. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +2 -41
  285. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +2 -11
  286. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +2 -55
  287. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +2 -7
  288. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +2 -7
  289. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +2 -19
  290. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +2 -7
  291. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +2 -53
  292. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +2 -15
  293. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +2 -7
  294. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +2 -9
  295. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +2 -33
  296. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +2 -21
  297. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +2 -7
  298. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +2 -33
  299. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +2 -7
  300. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +2 -9
  301. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +2 -7
  302. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +2 -7
  303. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +2 -7
  304. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +2 -13
  305. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +2 -17
  306. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +2 -15
  307. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +2 -7
  308. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +2 -17
  309. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +2 -19
  310. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +2 -7
  311. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +2 -9
  312. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +2 -21
  313. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +2 -23
  314. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +2 -11
  315. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +2 -111
  316. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +2 -11
  317. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +2 -9
  318. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +2 -7
  319. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +2 -15
  320. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +2 -11
  321. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +2 -7
  322. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +2 -43
  323. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +2 -2
  324. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +2 -17
  325. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +2 -11
  326. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +2 -17
  327. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +2 -7
  328. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +2 -7
  329. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +2 -19
  330. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +2 -7
  331. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +2 -7
  332. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +2 -9
  333. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +2 -7
  334. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +2 -7
  335. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +2 -15
  336. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +2 -13
  337. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +2 -9
  338. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +2 -7
  339. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +2 -7
  340. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +2 -7
  341. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +2 -11
  342. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +2 -9
  343. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +2 -9
  344. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +2 -11
  345. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +2 -19
  346. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +2 -15
  347. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +2 -2
  348. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +2 -9
  349. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +2 -11
  350. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +2 -7
  351. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +2 -2
  352. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +2 -11
  353. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +2 -7
  354. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +2 -59
  355. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +2 -7
  356. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +2 -7
  357. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +2 -13
  358. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +2 -7
  359. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +2 -23
  360. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +2 -7
  361. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +2 -11
  362. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +2 -7
  363. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +2 -2
  364. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +2 -7
  365. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +2 -7
  366. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +2 -51
  367. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +2 -13
  368. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +2 -7
  369. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +2 -9
  370. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +2 -9
  371. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +2 -7
  372. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +2 -9
  373. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +2 -7
  374. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +2 -7
  375. data/src/core/ext/xds/certificate_provider_registry.cc +1 -1
  376. data/src/core/ext/xds/certificate_provider_store.h +1 -1
  377. data/src/core/ext/xds/xds_api.cc +409 -304
  378. data/src/core/ext/xds/xds_api.h +3 -1
  379. data/src/core/ext/xds/xds_bootstrap.cc +6 -3
  380. data/src/core/ext/xds/xds_certificate_provider.h +1 -2
  381. data/src/core/ext/xds/xds_channel_stack_modifier.cc +3 -4
  382. data/src/core/ext/xds/xds_client.cc +395 -291
  383. data/src/core/ext/xds/xds_client.h +47 -38
  384. data/src/core/ext/xds/xds_routing.cc +247 -0
  385. data/src/core/ext/xds/xds_routing.h +98 -0
  386. data/src/core/ext/xds/xds_server_config_fetcher.cc +975 -261
  387. data/src/core/lib/avl/avl.h +389 -88
  388. data/src/core/lib/backoff/backoff.cc +2 -2
  389. data/src/core/lib/channel/channel_args.cc +17 -17
  390. data/src/core/lib/channel/channel_args.h +11 -10
  391. data/src/core/lib/channel/channel_args_preconditioning.cc +47 -0
  392. data/src/core/lib/channel/channel_args_preconditioning.h +62 -0
  393. data/src/core/lib/channel/channel_stack_builder.cc +0 -2
  394. data/src/core/lib/channel/channel_trace.cc +6 -6
  395. data/src/core/lib/channel/channelz.cc +1 -1
  396. data/src/core/lib/compression/compression_args.cc +7 -5
  397. data/src/core/lib/compression/compression_args.h +6 -4
  398. data/src/core/lib/config/core_configuration.cc +3 -1
  399. data/src/core/lib/config/core_configuration.h +11 -0
  400. data/src/core/lib/debug/trace.h +2 -2
  401. data/src/core/lib/event_engine/{endpoint_config.cc → channel_args_endpoint_config.cc} +2 -1
  402. data/src/core/lib/event_engine/{endpoint_config_internal.h → channel_args_endpoint_config.h} +3 -3
  403. data/src/core/lib/event_engine/event_engine.cc +0 -13
  404. data/src/core/lib/event_engine/event_engine_factory.cc +49 -0
  405. data/src/core/lib/event_engine/event_engine_factory.h +33 -0
  406. data/src/core/lib/event_engine/memory_allocator.cc +70 -0
  407. data/src/core/lib/gpr/tls.h +6 -0
  408. data/src/core/lib/gprpp/cpp_impl_of.h +45 -0
  409. data/src/core/lib/gprpp/global_config_env.cc +7 -7
  410. data/src/core/lib/gprpp/global_config_env.h +2 -2
  411. data/src/core/lib/gprpp/manual_constructor.h +2 -3
  412. data/src/core/lib/gprpp/orphanable.h +1 -1
  413. data/src/core/lib/gprpp/ref_counted.h +1 -1
  414. data/src/core/lib/gprpp/ref_counted_ptr.h +2 -4
  415. data/src/core/lib/gprpp/status_helper.h +1 -1
  416. data/src/core/lib/gprpp/table.h +13 -1
  417. data/src/core/lib/http/httpcli.cc +30 -26
  418. data/src/core/lib/http/httpcli.h +14 -12
  419. data/src/core/lib/iomgr/buffer_list.cc +9 -9
  420. data/src/core/lib/iomgr/buffer_list.h +13 -13
  421. data/src/core/lib/iomgr/call_combiner.cc +2 -3
  422. data/src/core/lib/iomgr/endpoint.h +0 -1
  423. data/src/core/lib/iomgr/endpoint_cfstream.cc +7 -24
  424. data/src/core/lib/iomgr/endpoint_cfstream.h +4 -4
  425. data/src/core/lib/iomgr/endpoint_pair_posix.cc +9 -11
  426. data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -14
  427. data/src/core/lib/iomgr/event_engine/endpoint.cc +2 -3
  428. data/src/core/lib/iomgr/event_engine/iomgr.cc +5 -25
  429. data/src/core/lib/iomgr/event_engine/resolver.cc +3 -2
  430. data/src/core/lib/iomgr/event_engine/tcp.cc +7 -5
  431. data/src/core/lib/iomgr/event_engine/timer.cc +4 -3
  432. data/src/core/lib/iomgr/exec_ctx.h +11 -11
  433. data/src/core/lib/iomgr/executor.cc +12 -15
  434. data/src/core/lib/iomgr/executor.h +1 -1
  435. data/src/core/lib/iomgr/tcp_client.cc +2 -4
  436. data/src/core/lib/iomgr/tcp_client.h +1 -3
  437. data/src/core/lib/iomgr/tcp_client_cfstream.cc +1 -9
  438. data/src/core/lib/iomgr/tcp_client_custom.cc +4 -10
  439. data/src/core/lib/iomgr/tcp_client_posix.cc +7 -23
  440. data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
  441. data/src/core/lib/iomgr/tcp_client_windows.cc +1 -10
  442. data/src/core/lib/iomgr/tcp_custom.cc +9 -36
  443. data/src/core/lib/iomgr/tcp_custom.h +0 -1
  444. data/src/core/lib/iomgr/tcp_posix.cc +28 -33
  445. data/src/core/lib/iomgr/tcp_posix.h +1 -3
  446. data/src/core/lib/iomgr/tcp_server.cc +4 -6
  447. data/src/core/lib/iomgr/tcp_server.h +6 -8
  448. data/src/core/lib/iomgr/tcp_server_custom.cc +5 -15
  449. data/src/core/lib/iomgr/tcp_server_posix.cc +18 -22
  450. data/src/core/lib/iomgr/tcp_server_utils_posix.h +19 -18
  451. data/src/core/lib/iomgr/tcp_server_windows.cc +5 -12
  452. data/src/core/lib/iomgr/tcp_windows.cc +2 -7
  453. data/src/core/lib/iomgr/tcp_windows.h +1 -2
  454. data/src/core/lib/iomgr/unix_sockets_posix.cc +1 -1
  455. data/src/core/lib/iomgr/unix_sockets_posix.h +1 -1
  456. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +1 -1
  457. data/src/core/lib/iomgr/work_serializer.cc +115 -44
  458. data/src/core/lib/iomgr/work_serializer.h +16 -4
  459. data/src/core/lib/json/json_reader.cc +83 -35
  460. data/src/core/lib/json/json_util.cc +1 -1
  461. data/src/core/lib/promise/activity.cc +115 -0
  462. data/src/core/lib/promise/activity.h +499 -0
  463. data/src/core/lib/promise/context.h +86 -0
  464. data/src/core/lib/promise/detail/basic_seq.h +407 -0
  465. data/src/core/lib/promise/detail/promise_factory.h +189 -0
  466. data/src/core/lib/promise/detail/promise_like.h +85 -0
  467. data/src/core/lib/promise/detail/status.h +44 -0
  468. data/src/core/lib/promise/detail/switch.h +1455 -0
  469. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +48 -0
  470. data/src/core/lib/promise/loop.h +108 -0
  471. data/src/core/lib/promise/map.h +88 -0
  472. data/src/core/lib/promise/poll.h +60 -0
  473. data/src/core/lib/promise/race.h +84 -0
  474. data/src/core/lib/promise/seq.h +71 -0
  475. data/src/core/lib/resource_quota/api.cc +108 -0
  476. data/src/core/lib/resource_quota/api.h +41 -0
  477. data/src/core/lib/resource_quota/memory_quota.cc +454 -0
  478. data/src/core/lib/resource_quota/memory_quota.h +421 -0
  479. data/src/core/lib/resource_quota/resource_quota.cc +33 -0
  480. data/src/core/lib/resource_quota/resource_quota.h +58 -0
  481. data/src/core/lib/resource_quota/thread_quota.cc +43 -0
  482. data/src/core/lib/resource_quota/thread_quota.h +57 -0
  483. data/src/core/lib/resource_quota/trace.cc +19 -0
  484. data/src/core/lib/resource_quota/trace.h +24 -0
  485. data/src/core/lib/security/authorization/evaluate_args.cc +13 -19
  486. data/src/core/lib/security/authorization/evaluate_args.h +2 -1
  487. data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +3 -1
  488. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +11 -12
  489. data/src/core/lib/security/credentials/external/external_account_credentials.cc +9 -10
  490. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +3 -4
  491. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +4 -6
  492. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +1 -1
  493. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +4 -6
  494. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +18 -22
  495. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +11 -12
  496. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +7 -8
  497. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +201 -0
  498. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +106 -0
  499. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +11 -90
  500. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +19 -82
  501. data/src/core/lib/security/credentials/tls/tls_credentials.cc +21 -10
  502. data/src/core/lib/security/credentials/xds/xds_credentials.cc +28 -33
  503. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +3 -3
  504. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +2 -2
  505. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +3 -4
  506. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
  507. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +7 -7
  508. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -2
  509. data/src/core/lib/security/security_connector/local/local_security_connector.cc +4 -1
  510. data/src/core/lib/security/security_connector/ssl_utils.cc +10 -2
  511. data/src/core/lib/security/security_connector/ssl_utils.h +1 -1
  512. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +344 -195
  513. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +64 -41
  514. data/src/core/lib/security/transport/security_handshaker.cc +2 -2
  515. data/src/core/lib/slice/percent_encoding.cc +30 -86
  516. data/src/core/lib/slice/percent_encoding.h +5 -11
  517. data/src/core/lib/slice/slice.cc +7 -7
  518. data/src/core/lib/slice/slice.h +341 -0
  519. data/src/core/lib/slice/slice_buffer.cc +4 -0
  520. data/src/core/lib/slice/slice_intern.cc +1 -1
  521. data/src/core/lib/slice/slice_refcount.h +5 -1
  522. data/src/core/lib/slice/slice_refcount_base.h +19 -11
  523. data/src/core/lib/slice/static_slice.cc +331 -483
  524. data/src/core/lib/slice/static_slice.h +101 -132
  525. data/src/core/lib/surface/builtins.cc +1 -1
  526. data/src/core/lib/surface/call.cc +85 -59
  527. data/src/core/lib/surface/channel.cc +4 -29
  528. data/src/core/lib/surface/channel.h +2 -12
  529. data/src/core/lib/surface/completion_queue.cc +2 -2
  530. data/src/core/lib/surface/init.cc +0 -1
  531. data/src/core/lib/surface/lame_client.cc +24 -17
  532. data/src/core/lib/surface/server.cc +22 -22
  533. data/src/core/lib/surface/server.h +8 -9
  534. data/src/core/lib/surface/validate_metadata.cc +2 -2
  535. data/src/core/lib/surface/version.cc +2 -2
  536. data/src/core/lib/transport/bdp_estimator.cc +1 -1
  537. data/src/core/lib/transport/byte_stream.cc +4 -0
  538. data/src/core/lib/transport/metadata.h +4 -4
  539. data/src/core/lib/transport/metadata_batch.cc +5 -0
  540. data/src/core/lib/transport/metadata_batch.h +174 -99
  541. data/src/core/lib/transport/parsed_metadata.cc +35 -0
  542. data/src/core/lib/transport/parsed_metadata.h +180 -61
  543. data/src/core/lib/transport/pid_controller.cc +4 -4
  544. data/src/core/lib/transport/static_metadata.cc +529 -614
  545. data/src/core/lib/transport/static_metadata.h +0 -18
  546. data/src/core/lib/transport/transport.cc +4 -26
  547. data/src/core/lib/transport/transport.h +0 -1
  548. data/src/core/lib/transport/transport_op_string.cc +1 -1
  549. data/src/core/lib/uri/uri_parser.cc +19 -19
  550. data/src/core/lib/uri/uri_parser.h +2 -0
  551. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -2
  552. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
  553. data/src/core/tsi/local_transport_security.cc +15 -15
  554. data/src/core/tsi/ssl_transport_security.cc +30 -1
  555. data/src/core/tsi/ssl_transport_security.h +1 -0
  556. data/src/ruby/ext/grpc/extconf.rb +1 -1
  557. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -10
  558. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +9 -15
  559. data/src/ruby/lib/grpc/version.rb +1 -1
  560. data/third_party/abseil-cpp/absl/algorithm/container.h +101 -91
  561. data/third_party/abseil-cpp/absl/base/attributes.h +64 -31
  562. data/third_party/abseil-cpp/absl/base/config.h +67 -37
  563. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +1 -26
  564. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -1
  565. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +2 -0
  566. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +69 -0
  567. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +4 -4
  568. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +16 -0
  569. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +4 -4
  570. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  571. data/third_party/abseil-cpp/absl/container/fixed_array.h +0 -5
  572. data/third_party/abseil-cpp/absl/container/inlined_vector.h +105 -97
  573. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +17 -15
  574. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +18 -102
  575. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +37 -78
  576. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +388 -423
  577. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +3 -2
  578. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -8
  579. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +251 -120
  580. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +11 -1
  581. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +12 -11
  582. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +6 -2
  583. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +12 -5
  584. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +110 -0
  585. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +234 -0
  586. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +25 -7
  587. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +8 -2
  588. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +21 -3
  589. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +2 -0
  590. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +2 -0
  591. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +14 -0
  592. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +72 -0
  593. data/third_party/abseil-cpp/absl/functional/function_ref.h +4 -1
  594. data/third_party/abseil-cpp/absl/hash/hash.h +22 -0
  595. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +15 -16
  596. data/third_party/abseil-cpp/absl/hash/internal/hash.h +88 -37
  597. data/third_party/abseil-cpp/absl/hash/internal/{wyhash.cc → low_level_hash.cc} +23 -11
  598. data/third_party/abseil-cpp/absl/hash/internal/{wyhash.h → low_level_hash.h} +14 -12
  599. data/third_party/abseil-cpp/absl/memory/memory.h +1 -1
  600. data/third_party/abseil-cpp/absl/meta/type_traits.h +32 -2
  601. data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -10
  602. data/third_party/abseil-cpp/absl/numeric/int128.h +146 -73
  603. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +19 -25
  604. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +73 -70
  605. data/third_party/abseil-cpp/absl/{base → profiling}/internal/exponential_biased.cc +4 -4
  606. data/third_party/abseil-cpp/absl/{base → profiling}/internal/exponential_biased.h +6 -6
  607. data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +230 -0
  608. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +5 -5
  609. data/third_party/abseil-cpp/absl/status/status.cc +9 -17
  610. data/third_party/abseil-cpp/absl/status/status.h +19 -15
  611. data/third_party/abseil-cpp/absl/status/statusor.cc +34 -2
  612. data/third_party/abseil-cpp/absl/status/statusor.h +31 -21
  613. data/third_party/abseil-cpp/absl/strings/charconv.cc +3 -3
  614. data/third_party/abseil-cpp/absl/strings/charconv.h +3 -2
  615. data/third_party/abseil-cpp/absl/strings/cord.cc +453 -359
  616. data/third_party/abseil-cpp/absl/strings/cord.h +197 -70
  617. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +1 -1
  618. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +6 -0
  619. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +140 -63
  620. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1128 -0
  621. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +939 -0
  622. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +185 -0
  623. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +265 -0
  624. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +68 -0
  625. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +211 -0
  626. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +129 -0
  627. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +50 -0
  628. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +7 -7
  629. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +55 -181
  630. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +42 -24
  631. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +4 -0
  632. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +96 -0
  633. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +85 -0
  634. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +139 -0
  635. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +131 -0
  636. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +445 -0
  637. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +298 -0
  638. data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +87 -0
  639. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
  640. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +121 -0
  641. data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +48 -2
  642. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +8 -0
  643. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +3 -4
  644. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +1 -1
  645. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +6 -6
  646. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +36 -18
  647. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +62 -73
  648. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +24 -16
  649. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +35 -35
  650. data/third_party/abseil-cpp/absl/strings/numbers.cc +1 -1
  651. data/third_party/abseil-cpp/absl/strings/numbers.h +34 -0
  652. data/third_party/abseil-cpp/absl/strings/str_cat.cc +4 -4
  653. data/third_party/abseil-cpp/absl/strings/str_format.h +1 -2
  654. data/third_party/abseil-cpp/absl/strings/string_view.cc +16 -21
  655. data/third_party/abseil-cpp/absl/strings/string_view.h +120 -39
  656. data/third_party/abseil-cpp/absl/strings/substitute.cc +2 -1
  657. data/third_party/abseil-cpp/absl/strings/substitute.h +99 -74
  658. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +25 -15
  659. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +5 -3
  660. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -1
  661. data/third_party/abseil-cpp/absl/synchronization/mutex.h +3 -3
  662. data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -3
  663. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +93 -20
  664. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
  665. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +2 -1
  666. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +83 -21
  667. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +49 -0
  668. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +1 -1
  669. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +2 -3
  670. data/third_party/abseil-cpp/absl/time/time.h +67 -36
  671. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +1 -1
  672. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +2 -2
  673. data/third_party/abseil-cpp/absl/types/span.h +3 -3
  674. data/third_party/boringssl-with-bazel/err_data.c +681 -677
  675. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +19 -11
  676. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +41 -30
  677. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +1 -1
  678. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +59 -47
  679. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +24 -28
  680. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +5 -0
  681. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +28 -0
  682. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +48 -272
  683. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +8 -6
  684. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +3 -1
  685. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +2 -2
  686. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +7 -7
  687. data/third_party/boringssl-with-bazel/src/crypto/mem.c +18 -0
  688. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +5 -1
  689. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +59 -23
  690. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +2 -18
  691. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +8 -2
  692. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +216 -11
  693. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +1 -1
  694. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +1 -1
  695. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +1 -1
  696. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +1 -1
  697. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +1 -1
  698. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +1 -1
  699. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +1 -0
  700. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +0 -1
  701. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +21 -4
  702. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +971 -253
  703. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +3 -3
  704. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +0 -1
  705. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -12
  706. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +17 -41
  707. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +12 -27
  708. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +8 -10
  709. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +29 -55
  710. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +3 -9
  711. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +7 -1
  712. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +24 -28
  713. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +6 -9
  714. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +12 -43
  715. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +4 -3
  716. data/third_party/boringssl-with-bazel/src/ssl/internal.h +3 -3
  717. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +4 -0
  718. data/third_party/upb/upb/decode.c +309 -178
  719. data/third_party/upb/upb/decode_fast.c +1 -1
  720. data/third_party/upb/upb/decode_internal.h +1 -0
  721. data/third_party/upb/upb/def.c +330 -85
  722. data/third_party/upb/upb/def.h +45 -14
  723. data/third_party/upb/upb/def.hpp +17 -4
  724. data/third_party/upb/upb/encode.c +100 -40
  725. data/third_party/upb/upb/msg.c +22 -9
  726. data/third_party/upb/upb/msg_internal.h +90 -8
  727. data/third_party/upb/upb/reflection.c +98 -58
  728. data/third_party/upb/upb/reflection.h +6 -2
  729. data/third_party/upb/upb/text_encode.c +3 -3
  730. data/third_party/upb/upb/upb.c +8 -0
  731. metadata +116 -56
  732. data/src/core/lib/avl/avl.cc +0 -306
  733. data/src/core/lib/gprpp/match.h +0 -73
  734. data/src/core/lib/gprpp/overload.h +0 -59
  735. data/src/core/lib/iomgr/event_engine/iomgr.h +0 -42
  736. data/src/core/lib/iomgr/resource_quota.cc +0 -1106
  737. data/src/core/lib/iomgr/resource_quota.h +0 -226
  738. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +0 -93
  739. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h +0 -217
@@ -0,0 +1,306 @@
1
+ /* This file was generated by upbc (the upb compiler) from the input
2
+ * file:
3
+ *
4
+ * google/api/expr/v1alpha1/eval.proto
5
+ *
6
+ * Do not edit -- your changes will be discarded when the file is
7
+ * regenerated. */
8
+
9
+ #ifndef GOOGLE_API_EXPR_V1ALPHA1_EVAL_PROTO_UPB_H_
10
+ #define GOOGLE_API_EXPR_V1ALPHA1_EVAL_PROTO_UPB_H_
11
+
12
+ #include "upb/msg_internal.h"
13
+ #include "upb/decode.h"
14
+ #include "upb/decode_fast.h"
15
+ #include "upb/encode.h"
16
+
17
+ #include "upb/port_def.inc"
18
+
19
+ #ifdef __cplusplus
20
+ extern "C" {
21
+ #endif
22
+
23
+ struct google_api_expr_v1alpha1_EvalState;
24
+ struct google_api_expr_v1alpha1_EvalState_Result;
25
+ struct google_api_expr_v1alpha1_ExprValue;
26
+ struct google_api_expr_v1alpha1_ErrorSet;
27
+ struct google_api_expr_v1alpha1_UnknownSet;
28
+ typedef struct google_api_expr_v1alpha1_EvalState google_api_expr_v1alpha1_EvalState;
29
+ typedef struct google_api_expr_v1alpha1_EvalState_Result google_api_expr_v1alpha1_EvalState_Result;
30
+ typedef struct google_api_expr_v1alpha1_ExprValue google_api_expr_v1alpha1_ExprValue;
31
+ typedef struct google_api_expr_v1alpha1_ErrorSet google_api_expr_v1alpha1_ErrorSet;
32
+ typedef struct google_api_expr_v1alpha1_UnknownSet google_api_expr_v1alpha1_UnknownSet;
33
+ extern const upb_msglayout google_api_expr_v1alpha1_EvalState_msginit;
34
+ extern const upb_msglayout google_api_expr_v1alpha1_EvalState_Result_msginit;
35
+ extern const upb_msglayout google_api_expr_v1alpha1_ExprValue_msginit;
36
+ extern const upb_msglayout google_api_expr_v1alpha1_ErrorSet_msginit;
37
+ extern const upb_msglayout google_api_expr_v1alpha1_UnknownSet_msginit;
38
+ struct google_api_expr_v1alpha1_Value;
39
+ struct google_rpc_Status;
40
+ extern const upb_msglayout google_api_expr_v1alpha1_Value_msginit;
41
+ extern const upb_msglayout google_rpc_Status_msginit;
42
+
43
+
44
+ /* google.api.expr.v1alpha1.EvalState */
45
+
46
+ UPB_INLINE google_api_expr_v1alpha1_EvalState *google_api_expr_v1alpha1_EvalState_new(upb_arena *arena) {
47
+ return (google_api_expr_v1alpha1_EvalState *)_upb_msg_new(&google_api_expr_v1alpha1_EvalState_msginit, arena);
48
+ }
49
+ UPB_INLINE google_api_expr_v1alpha1_EvalState *google_api_expr_v1alpha1_EvalState_parse(const char *buf, size_t size,
50
+ upb_arena *arena) {
51
+ google_api_expr_v1alpha1_EvalState *ret = google_api_expr_v1alpha1_EvalState_new(arena);
52
+ if (!ret) return NULL;
53
+ if (!upb_decode(buf, size, ret, &google_api_expr_v1alpha1_EvalState_msginit, arena)) return NULL;
54
+ return ret;
55
+ }
56
+ UPB_INLINE google_api_expr_v1alpha1_EvalState *google_api_expr_v1alpha1_EvalState_parse_ex(const char *buf, size_t size,
57
+ const upb_extreg *extreg, int options,
58
+ upb_arena *arena) {
59
+ google_api_expr_v1alpha1_EvalState *ret = google_api_expr_v1alpha1_EvalState_new(arena);
60
+ if (!ret) return NULL;
61
+ if (!_upb_decode(buf, size, ret, &google_api_expr_v1alpha1_EvalState_msginit, extreg, options, arena)) {
62
+ return NULL;
63
+ }
64
+ return ret;
65
+ }
66
+ UPB_INLINE char *google_api_expr_v1alpha1_EvalState_serialize(const google_api_expr_v1alpha1_EvalState *msg, upb_arena *arena, size_t *len) {
67
+ return upb_encode(msg, &google_api_expr_v1alpha1_EvalState_msginit, arena, len);
68
+ }
69
+
70
+ UPB_INLINE bool google_api_expr_v1alpha1_EvalState_has_values(const google_api_expr_v1alpha1_EvalState *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
71
+ UPB_INLINE const google_api_expr_v1alpha1_ExprValue* const* google_api_expr_v1alpha1_EvalState_values(const google_api_expr_v1alpha1_EvalState *msg, size_t *len) { return (const google_api_expr_v1alpha1_ExprValue* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); }
72
+ UPB_INLINE bool google_api_expr_v1alpha1_EvalState_has_results(const google_api_expr_v1alpha1_EvalState *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
73
+ UPB_INLINE const google_api_expr_v1alpha1_EvalState_Result* const* google_api_expr_v1alpha1_EvalState_results(const google_api_expr_v1alpha1_EvalState *msg, size_t *len) { return (const google_api_expr_v1alpha1_EvalState_Result* const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len); }
74
+
75
+ UPB_INLINE google_api_expr_v1alpha1_ExprValue** google_api_expr_v1alpha1_EvalState_mutable_values(google_api_expr_v1alpha1_EvalState *msg, size_t *len) {
76
+ return (google_api_expr_v1alpha1_ExprValue**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len);
77
+ }
78
+ UPB_INLINE google_api_expr_v1alpha1_ExprValue** google_api_expr_v1alpha1_EvalState_resize_values(google_api_expr_v1alpha1_EvalState *msg, size_t len, upb_arena *arena) {
79
+ return (google_api_expr_v1alpha1_ExprValue**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena);
80
+ }
81
+ UPB_INLINE struct google_api_expr_v1alpha1_ExprValue* google_api_expr_v1alpha1_EvalState_add_values(google_api_expr_v1alpha1_EvalState *msg, upb_arena *arena) {
82
+ struct google_api_expr_v1alpha1_ExprValue* sub = (struct google_api_expr_v1alpha1_ExprValue*)_upb_msg_new(&google_api_expr_v1alpha1_ExprValue_msginit, arena);
83
+ bool ok = _upb_array_append_accessor2(
84
+ msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena);
85
+ if (!ok) return NULL;
86
+ return sub;
87
+ }
88
+ UPB_INLINE google_api_expr_v1alpha1_EvalState_Result** google_api_expr_v1alpha1_EvalState_mutable_results(google_api_expr_v1alpha1_EvalState *msg, size_t *len) {
89
+ return (google_api_expr_v1alpha1_EvalState_Result**)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
90
+ }
91
+ UPB_INLINE google_api_expr_v1alpha1_EvalState_Result** google_api_expr_v1alpha1_EvalState_resize_results(google_api_expr_v1alpha1_EvalState *msg, size_t len, upb_arena *arena) {
92
+ return (google_api_expr_v1alpha1_EvalState_Result**)_upb_array_resize_accessor2(msg, UPB_SIZE(4, 8), len, UPB_SIZE(2, 3), arena);
93
+ }
94
+ UPB_INLINE struct google_api_expr_v1alpha1_EvalState_Result* google_api_expr_v1alpha1_EvalState_add_results(google_api_expr_v1alpha1_EvalState *msg, upb_arena *arena) {
95
+ struct google_api_expr_v1alpha1_EvalState_Result* sub = (struct google_api_expr_v1alpha1_EvalState_Result*)_upb_msg_new(&google_api_expr_v1alpha1_EvalState_Result_msginit, arena);
96
+ bool ok = _upb_array_append_accessor2(
97
+ msg, UPB_SIZE(4, 8), UPB_SIZE(2, 3), &sub, arena);
98
+ if (!ok) return NULL;
99
+ return sub;
100
+ }
101
+
102
+ /* google.api.expr.v1alpha1.EvalState.Result */
103
+
104
+ UPB_INLINE google_api_expr_v1alpha1_EvalState_Result *google_api_expr_v1alpha1_EvalState_Result_new(upb_arena *arena) {
105
+ return (google_api_expr_v1alpha1_EvalState_Result *)_upb_msg_new(&google_api_expr_v1alpha1_EvalState_Result_msginit, arena);
106
+ }
107
+ UPB_INLINE google_api_expr_v1alpha1_EvalState_Result *google_api_expr_v1alpha1_EvalState_Result_parse(const char *buf, size_t size,
108
+ upb_arena *arena) {
109
+ google_api_expr_v1alpha1_EvalState_Result *ret = google_api_expr_v1alpha1_EvalState_Result_new(arena);
110
+ if (!ret) return NULL;
111
+ if (!upb_decode(buf, size, ret, &google_api_expr_v1alpha1_EvalState_Result_msginit, arena)) return NULL;
112
+ return ret;
113
+ }
114
+ UPB_INLINE google_api_expr_v1alpha1_EvalState_Result *google_api_expr_v1alpha1_EvalState_Result_parse_ex(const char *buf, size_t size,
115
+ const upb_extreg *extreg, int options,
116
+ upb_arena *arena) {
117
+ google_api_expr_v1alpha1_EvalState_Result *ret = google_api_expr_v1alpha1_EvalState_Result_new(arena);
118
+ if (!ret) return NULL;
119
+ if (!_upb_decode(buf, size, ret, &google_api_expr_v1alpha1_EvalState_Result_msginit, extreg, options, arena)) {
120
+ return NULL;
121
+ }
122
+ return ret;
123
+ }
124
+ UPB_INLINE char *google_api_expr_v1alpha1_EvalState_Result_serialize(const google_api_expr_v1alpha1_EvalState_Result *msg, upb_arena *arena, size_t *len) {
125
+ return upb_encode(msg, &google_api_expr_v1alpha1_EvalState_Result_msginit, arena, len);
126
+ }
127
+
128
+ UPB_INLINE int64_t google_api_expr_v1alpha1_EvalState_Result_expr(const google_api_expr_v1alpha1_EvalState_Result *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int64_t); }
129
+ UPB_INLINE int64_t google_api_expr_v1alpha1_EvalState_Result_value(const google_api_expr_v1alpha1_EvalState_Result *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t); }
130
+
131
+ UPB_INLINE void google_api_expr_v1alpha1_EvalState_Result_set_expr(google_api_expr_v1alpha1_EvalState_Result *msg, int64_t value) {
132
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int64_t) = value;
133
+ }
134
+ UPB_INLINE void google_api_expr_v1alpha1_EvalState_Result_set_value(google_api_expr_v1alpha1_EvalState_Result *msg, int64_t value) {
135
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t) = value;
136
+ }
137
+
138
+ /* google.api.expr.v1alpha1.ExprValue */
139
+
140
+ UPB_INLINE google_api_expr_v1alpha1_ExprValue *google_api_expr_v1alpha1_ExprValue_new(upb_arena *arena) {
141
+ return (google_api_expr_v1alpha1_ExprValue *)_upb_msg_new(&google_api_expr_v1alpha1_ExprValue_msginit, arena);
142
+ }
143
+ UPB_INLINE google_api_expr_v1alpha1_ExprValue *google_api_expr_v1alpha1_ExprValue_parse(const char *buf, size_t size,
144
+ upb_arena *arena) {
145
+ google_api_expr_v1alpha1_ExprValue *ret = google_api_expr_v1alpha1_ExprValue_new(arena);
146
+ if (!ret) return NULL;
147
+ if (!upb_decode(buf, size, ret, &google_api_expr_v1alpha1_ExprValue_msginit, arena)) return NULL;
148
+ return ret;
149
+ }
150
+ UPB_INLINE google_api_expr_v1alpha1_ExprValue *google_api_expr_v1alpha1_ExprValue_parse_ex(const char *buf, size_t size,
151
+ const upb_extreg *extreg, int options,
152
+ upb_arena *arena) {
153
+ google_api_expr_v1alpha1_ExprValue *ret = google_api_expr_v1alpha1_ExprValue_new(arena);
154
+ if (!ret) return NULL;
155
+ if (!_upb_decode(buf, size, ret, &google_api_expr_v1alpha1_ExprValue_msginit, extreg, options, arena)) {
156
+ return NULL;
157
+ }
158
+ return ret;
159
+ }
160
+ UPB_INLINE char *google_api_expr_v1alpha1_ExprValue_serialize(const google_api_expr_v1alpha1_ExprValue *msg, upb_arena *arena, size_t *len) {
161
+ return upb_encode(msg, &google_api_expr_v1alpha1_ExprValue_msginit, arena, len);
162
+ }
163
+
164
+ typedef enum {
165
+ google_api_expr_v1alpha1_ExprValue_kind_value = 1,
166
+ google_api_expr_v1alpha1_ExprValue_kind_error = 2,
167
+ google_api_expr_v1alpha1_ExprValue_kind_unknown = 3,
168
+ google_api_expr_v1alpha1_ExprValue_kind_NOT_SET = 0
169
+ } google_api_expr_v1alpha1_ExprValue_kind_oneofcases;
170
+ UPB_INLINE google_api_expr_v1alpha1_ExprValue_kind_oneofcases google_api_expr_v1alpha1_ExprValue_kind_case(const google_api_expr_v1alpha1_ExprValue* msg) { return (google_api_expr_v1alpha1_ExprValue_kind_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(4, 8), int32_t); }
171
+
172
+ UPB_INLINE bool google_api_expr_v1alpha1_ExprValue_has_value(const google_api_expr_v1alpha1_ExprValue *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 1; }
173
+ UPB_INLINE const struct google_api_expr_v1alpha1_Value* google_api_expr_v1alpha1_ExprValue_value(const google_api_expr_v1alpha1_ExprValue *msg) { return UPB_READ_ONEOF(msg, const struct google_api_expr_v1alpha1_Value*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 1, NULL); }
174
+ UPB_INLINE bool google_api_expr_v1alpha1_ExprValue_has_error(const google_api_expr_v1alpha1_ExprValue *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 2; }
175
+ UPB_INLINE const google_api_expr_v1alpha1_ErrorSet* google_api_expr_v1alpha1_ExprValue_error(const google_api_expr_v1alpha1_ExprValue *msg) { return UPB_READ_ONEOF(msg, const google_api_expr_v1alpha1_ErrorSet*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 2, NULL); }
176
+ UPB_INLINE bool google_api_expr_v1alpha1_ExprValue_has_unknown(const google_api_expr_v1alpha1_ExprValue *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 3; }
177
+ UPB_INLINE const google_api_expr_v1alpha1_UnknownSet* google_api_expr_v1alpha1_ExprValue_unknown(const google_api_expr_v1alpha1_ExprValue *msg) { return UPB_READ_ONEOF(msg, const google_api_expr_v1alpha1_UnknownSet*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 3, NULL); }
178
+
179
+ UPB_INLINE void google_api_expr_v1alpha1_ExprValue_set_value(google_api_expr_v1alpha1_ExprValue *msg, struct google_api_expr_v1alpha1_Value* value) {
180
+ UPB_WRITE_ONEOF(msg, struct google_api_expr_v1alpha1_Value*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 1);
181
+ }
182
+ UPB_INLINE struct google_api_expr_v1alpha1_Value* google_api_expr_v1alpha1_ExprValue_mutable_value(google_api_expr_v1alpha1_ExprValue *msg, upb_arena *arena) {
183
+ struct google_api_expr_v1alpha1_Value* sub = (struct google_api_expr_v1alpha1_Value*)google_api_expr_v1alpha1_ExprValue_value(msg);
184
+ if (sub == NULL) {
185
+ sub = (struct google_api_expr_v1alpha1_Value*)_upb_msg_new(&google_api_expr_v1alpha1_Value_msginit, arena);
186
+ if (!sub) return NULL;
187
+ google_api_expr_v1alpha1_ExprValue_set_value(msg, sub);
188
+ }
189
+ return sub;
190
+ }
191
+ UPB_INLINE void google_api_expr_v1alpha1_ExprValue_set_error(google_api_expr_v1alpha1_ExprValue *msg, google_api_expr_v1alpha1_ErrorSet* value) {
192
+ UPB_WRITE_ONEOF(msg, google_api_expr_v1alpha1_ErrorSet*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 2);
193
+ }
194
+ UPB_INLINE struct google_api_expr_v1alpha1_ErrorSet* google_api_expr_v1alpha1_ExprValue_mutable_error(google_api_expr_v1alpha1_ExprValue *msg, upb_arena *arena) {
195
+ struct google_api_expr_v1alpha1_ErrorSet* sub = (struct google_api_expr_v1alpha1_ErrorSet*)google_api_expr_v1alpha1_ExprValue_error(msg);
196
+ if (sub == NULL) {
197
+ sub = (struct google_api_expr_v1alpha1_ErrorSet*)_upb_msg_new(&google_api_expr_v1alpha1_ErrorSet_msginit, arena);
198
+ if (!sub) return NULL;
199
+ google_api_expr_v1alpha1_ExprValue_set_error(msg, sub);
200
+ }
201
+ return sub;
202
+ }
203
+ UPB_INLINE void google_api_expr_v1alpha1_ExprValue_set_unknown(google_api_expr_v1alpha1_ExprValue *msg, google_api_expr_v1alpha1_UnknownSet* value) {
204
+ UPB_WRITE_ONEOF(msg, google_api_expr_v1alpha1_UnknownSet*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 3);
205
+ }
206
+ UPB_INLINE struct google_api_expr_v1alpha1_UnknownSet* google_api_expr_v1alpha1_ExprValue_mutable_unknown(google_api_expr_v1alpha1_ExprValue *msg, upb_arena *arena) {
207
+ struct google_api_expr_v1alpha1_UnknownSet* sub = (struct google_api_expr_v1alpha1_UnknownSet*)google_api_expr_v1alpha1_ExprValue_unknown(msg);
208
+ if (sub == NULL) {
209
+ sub = (struct google_api_expr_v1alpha1_UnknownSet*)_upb_msg_new(&google_api_expr_v1alpha1_UnknownSet_msginit, arena);
210
+ if (!sub) return NULL;
211
+ google_api_expr_v1alpha1_ExprValue_set_unknown(msg, sub);
212
+ }
213
+ return sub;
214
+ }
215
+
216
+ /* google.api.expr.v1alpha1.ErrorSet */
217
+
218
+ UPB_INLINE google_api_expr_v1alpha1_ErrorSet *google_api_expr_v1alpha1_ErrorSet_new(upb_arena *arena) {
219
+ return (google_api_expr_v1alpha1_ErrorSet *)_upb_msg_new(&google_api_expr_v1alpha1_ErrorSet_msginit, arena);
220
+ }
221
+ UPB_INLINE google_api_expr_v1alpha1_ErrorSet *google_api_expr_v1alpha1_ErrorSet_parse(const char *buf, size_t size,
222
+ upb_arena *arena) {
223
+ google_api_expr_v1alpha1_ErrorSet *ret = google_api_expr_v1alpha1_ErrorSet_new(arena);
224
+ if (!ret) return NULL;
225
+ if (!upb_decode(buf, size, ret, &google_api_expr_v1alpha1_ErrorSet_msginit, arena)) return NULL;
226
+ return ret;
227
+ }
228
+ UPB_INLINE google_api_expr_v1alpha1_ErrorSet *google_api_expr_v1alpha1_ErrorSet_parse_ex(const char *buf, size_t size,
229
+ const upb_extreg *extreg, int options,
230
+ upb_arena *arena) {
231
+ google_api_expr_v1alpha1_ErrorSet *ret = google_api_expr_v1alpha1_ErrorSet_new(arena);
232
+ if (!ret) return NULL;
233
+ if (!_upb_decode(buf, size, ret, &google_api_expr_v1alpha1_ErrorSet_msginit, extreg, options, arena)) {
234
+ return NULL;
235
+ }
236
+ return ret;
237
+ }
238
+ UPB_INLINE char *google_api_expr_v1alpha1_ErrorSet_serialize(const google_api_expr_v1alpha1_ErrorSet *msg, upb_arena *arena, size_t *len) {
239
+ return upb_encode(msg, &google_api_expr_v1alpha1_ErrorSet_msginit, arena, len);
240
+ }
241
+
242
+ UPB_INLINE bool google_api_expr_v1alpha1_ErrorSet_has_errors(const google_api_expr_v1alpha1_ErrorSet *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
243
+ UPB_INLINE const struct google_rpc_Status* const* google_api_expr_v1alpha1_ErrorSet_errors(const google_api_expr_v1alpha1_ErrorSet *msg, size_t *len) { return (const struct google_rpc_Status* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); }
244
+
245
+ UPB_INLINE struct google_rpc_Status** google_api_expr_v1alpha1_ErrorSet_mutable_errors(google_api_expr_v1alpha1_ErrorSet *msg, size_t *len) {
246
+ return (struct google_rpc_Status**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len);
247
+ }
248
+ UPB_INLINE struct google_rpc_Status** google_api_expr_v1alpha1_ErrorSet_resize_errors(google_api_expr_v1alpha1_ErrorSet *msg, size_t len, upb_arena *arena) {
249
+ return (struct google_rpc_Status**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena);
250
+ }
251
+ UPB_INLINE struct google_rpc_Status* google_api_expr_v1alpha1_ErrorSet_add_errors(google_api_expr_v1alpha1_ErrorSet *msg, upb_arena *arena) {
252
+ struct google_rpc_Status* sub = (struct google_rpc_Status*)_upb_msg_new(&google_rpc_Status_msginit, arena);
253
+ bool ok = _upb_array_append_accessor2(
254
+ msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena);
255
+ if (!ok) return NULL;
256
+ return sub;
257
+ }
258
+
259
+ /* google.api.expr.v1alpha1.UnknownSet */
260
+
261
+ UPB_INLINE google_api_expr_v1alpha1_UnknownSet *google_api_expr_v1alpha1_UnknownSet_new(upb_arena *arena) {
262
+ return (google_api_expr_v1alpha1_UnknownSet *)_upb_msg_new(&google_api_expr_v1alpha1_UnknownSet_msginit, arena);
263
+ }
264
+ UPB_INLINE google_api_expr_v1alpha1_UnknownSet *google_api_expr_v1alpha1_UnknownSet_parse(const char *buf, size_t size,
265
+ upb_arena *arena) {
266
+ google_api_expr_v1alpha1_UnknownSet *ret = google_api_expr_v1alpha1_UnknownSet_new(arena);
267
+ if (!ret) return NULL;
268
+ if (!upb_decode(buf, size, ret, &google_api_expr_v1alpha1_UnknownSet_msginit, arena)) return NULL;
269
+ return ret;
270
+ }
271
+ UPB_INLINE google_api_expr_v1alpha1_UnknownSet *google_api_expr_v1alpha1_UnknownSet_parse_ex(const char *buf, size_t size,
272
+ const upb_extreg *extreg, int options,
273
+ upb_arena *arena) {
274
+ google_api_expr_v1alpha1_UnknownSet *ret = google_api_expr_v1alpha1_UnknownSet_new(arena);
275
+ if (!ret) return NULL;
276
+ if (!_upb_decode(buf, size, ret, &google_api_expr_v1alpha1_UnknownSet_msginit, extreg, options, arena)) {
277
+ return NULL;
278
+ }
279
+ return ret;
280
+ }
281
+ UPB_INLINE char *google_api_expr_v1alpha1_UnknownSet_serialize(const google_api_expr_v1alpha1_UnknownSet *msg, upb_arena *arena, size_t *len) {
282
+ return upb_encode(msg, &google_api_expr_v1alpha1_UnknownSet_msginit, arena, len);
283
+ }
284
+
285
+ UPB_INLINE int64_t const* google_api_expr_v1alpha1_UnknownSet_exprs(const google_api_expr_v1alpha1_UnknownSet *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); }
286
+
287
+ UPB_INLINE int64_t* google_api_expr_v1alpha1_UnknownSet_mutable_exprs(google_api_expr_v1alpha1_UnknownSet *msg, size_t *len) {
288
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len);
289
+ }
290
+ UPB_INLINE int64_t* google_api_expr_v1alpha1_UnknownSet_resize_exprs(google_api_expr_v1alpha1_UnknownSet *msg, size_t len, upb_arena *arena) {
291
+ return (int64_t*)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, 3, arena);
292
+ }
293
+ UPB_INLINE bool google_api_expr_v1alpha1_UnknownSet_add_exprs(google_api_expr_v1alpha1_UnknownSet *msg, int64_t val, upb_arena *arena) {
294
+ return _upb_array_append_accessor2(msg, UPB_SIZE(0, 0), 3, &val,
295
+ arena);
296
+ }
297
+
298
+ extern const upb_msglayout_file google_api_expr_v1alpha1_eval_proto_upb_file_layout;
299
+
300
+ #ifdef __cplusplus
301
+ } /* extern "C" */
302
+ #endif
303
+
304
+ #include "upb/port_undef.inc"
305
+
306
+ #endif /* GOOGLE_API_EXPR_V1ALPHA1_EVAL_PROTO_UPB_H_ */
@@ -0,0 +1,56 @@
1
+ /* This file was generated by upbc (the upb compiler) from the input
2
+ * file:
3
+ *
4
+ * google/api/expr/v1alpha1/explain.proto
5
+ *
6
+ * Do not edit -- your changes will be discarded when the file is
7
+ * regenerated. */
8
+
9
+ #include <stddef.h>
10
+ #include "upb/msg_internal.h"
11
+ #include "google/api/expr/v1alpha1/explain.upb.h"
12
+ #include "google/api/expr/v1alpha1/value.upb.h"
13
+
14
+ #include "upb/port_def.inc"
15
+
16
+ static const upb_msglayout_sub google_api_expr_v1alpha1_Explain_submsgs[2] = {
17
+ {.submsg = &google_api_expr_v1alpha1_Explain_ExprStep_msginit},
18
+ {.submsg = &google_api_expr_v1alpha1_Value_msginit},
19
+ };
20
+
21
+ static const upb_msglayout_field google_api_expr_v1alpha1_Explain__fields[2] = {
22
+ {1, UPB_SIZE(0, 0), 0, 1, 11, _UPB_MODE_ARRAY | (_UPB_REP_PTR << _UPB_REP_SHIFT)},
23
+ {2, UPB_SIZE(4, 8), 0, 0, 11, _UPB_MODE_ARRAY | (_UPB_REP_PTR << _UPB_REP_SHIFT)},
24
+ };
25
+
26
+ const upb_msglayout google_api_expr_v1alpha1_Explain_msginit = {
27
+ &google_api_expr_v1alpha1_Explain_submsgs[0],
28
+ &google_api_expr_v1alpha1_Explain__fields[0],
29
+ UPB_SIZE(8, 16), 2, _UPB_MSGEXT_NONE, 2, 255,
30
+ };
31
+
32
+ static const upb_msglayout_field google_api_expr_v1alpha1_Explain_ExprStep__fields[2] = {
33
+ {1, UPB_SIZE(0, 0), 0, 0, 3, _UPB_MODE_SCALAR | (_UPB_REP_8BYTE << _UPB_REP_SHIFT)},
34
+ {2, UPB_SIZE(8, 8), 0, 0, 5, _UPB_MODE_SCALAR | (_UPB_REP_4BYTE << _UPB_REP_SHIFT)},
35
+ };
36
+
37
+ const upb_msglayout google_api_expr_v1alpha1_Explain_ExprStep_msginit = {
38
+ NULL,
39
+ &google_api_expr_v1alpha1_Explain_ExprStep__fields[0],
40
+ UPB_SIZE(16, 16), 2, _UPB_MSGEXT_NONE, 2, 255,
41
+ };
42
+
43
+ static const upb_msglayout *messages_layout[2] = {
44
+ &google_api_expr_v1alpha1_Explain_msginit,
45
+ &google_api_expr_v1alpha1_Explain_ExprStep_msginit,
46
+ };
47
+
48
+ const upb_msglayout_file google_api_expr_v1alpha1_explain_proto_upb_file_layout = {
49
+ messages_layout,
50
+ NULL,
51
+ 2,
52
+ 0,
53
+ };
54
+
55
+ #include "upb/port_undef.inc"
56
+
@@ -0,0 +1,135 @@
1
+ /* This file was generated by upbc (the upb compiler) from the input
2
+ * file:
3
+ *
4
+ * google/api/expr/v1alpha1/explain.proto
5
+ *
6
+ * Do not edit -- your changes will be discarded when the file is
7
+ * regenerated. */
8
+
9
+ #ifndef GOOGLE_API_EXPR_V1ALPHA1_EXPLAIN_PROTO_UPB_H_
10
+ #define GOOGLE_API_EXPR_V1ALPHA1_EXPLAIN_PROTO_UPB_H_
11
+
12
+ #include "upb/msg_internal.h"
13
+ #include "upb/decode.h"
14
+ #include "upb/decode_fast.h"
15
+ #include "upb/encode.h"
16
+
17
+ #include "upb/port_def.inc"
18
+
19
+ #ifdef __cplusplus
20
+ extern "C" {
21
+ #endif
22
+
23
+ struct google_api_expr_v1alpha1_Explain;
24
+ struct google_api_expr_v1alpha1_Explain_ExprStep;
25
+ typedef struct google_api_expr_v1alpha1_Explain google_api_expr_v1alpha1_Explain;
26
+ typedef struct google_api_expr_v1alpha1_Explain_ExprStep google_api_expr_v1alpha1_Explain_ExprStep;
27
+ extern const upb_msglayout google_api_expr_v1alpha1_Explain_msginit;
28
+ extern const upb_msglayout google_api_expr_v1alpha1_Explain_ExprStep_msginit;
29
+ struct google_api_expr_v1alpha1_Value;
30
+ extern const upb_msglayout google_api_expr_v1alpha1_Value_msginit;
31
+
32
+
33
+ /* google.api.expr.v1alpha1.Explain */
34
+
35
+ UPB_INLINE google_api_expr_v1alpha1_Explain *google_api_expr_v1alpha1_Explain_new(upb_arena *arena) {
36
+ return (google_api_expr_v1alpha1_Explain *)_upb_msg_new(&google_api_expr_v1alpha1_Explain_msginit, arena);
37
+ }
38
+ UPB_INLINE google_api_expr_v1alpha1_Explain *google_api_expr_v1alpha1_Explain_parse(const char *buf, size_t size,
39
+ upb_arena *arena) {
40
+ google_api_expr_v1alpha1_Explain *ret = google_api_expr_v1alpha1_Explain_new(arena);
41
+ if (!ret) return NULL;
42
+ if (!upb_decode(buf, size, ret, &google_api_expr_v1alpha1_Explain_msginit, arena)) return NULL;
43
+ return ret;
44
+ }
45
+ UPB_INLINE google_api_expr_v1alpha1_Explain *google_api_expr_v1alpha1_Explain_parse_ex(const char *buf, size_t size,
46
+ const upb_extreg *extreg, int options,
47
+ upb_arena *arena) {
48
+ google_api_expr_v1alpha1_Explain *ret = google_api_expr_v1alpha1_Explain_new(arena);
49
+ if (!ret) return NULL;
50
+ if (!_upb_decode(buf, size, ret, &google_api_expr_v1alpha1_Explain_msginit, extreg, options, arena)) {
51
+ return NULL;
52
+ }
53
+ return ret;
54
+ }
55
+ UPB_INLINE char *google_api_expr_v1alpha1_Explain_serialize(const google_api_expr_v1alpha1_Explain *msg, upb_arena *arena, size_t *len) {
56
+ return upb_encode(msg, &google_api_expr_v1alpha1_Explain_msginit, arena, len);
57
+ }
58
+
59
+ UPB_INLINE bool google_api_expr_v1alpha1_Explain_has_values(const google_api_expr_v1alpha1_Explain *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
60
+ UPB_INLINE const struct google_api_expr_v1alpha1_Value* const* google_api_expr_v1alpha1_Explain_values(const google_api_expr_v1alpha1_Explain *msg, size_t *len) { return (const struct google_api_expr_v1alpha1_Value* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); }
61
+ UPB_INLINE bool google_api_expr_v1alpha1_Explain_has_expr_steps(const google_api_expr_v1alpha1_Explain *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
62
+ UPB_INLINE const google_api_expr_v1alpha1_Explain_ExprStep* const* google_api_expr_v1alpha1_Explain_expr_steps(const google_api_expr_v1alpha1_Explain *msg, size_t *len) { return (const google_api_expr_v1alpha1_Explain_ExprStep* const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len); }
63
+
64
+ UPB_INLINE struct google_api_expr_v1alpha1_Value** google_api_expr_v1alpha1_Explain_mutable_values(google_api_expr_v1alpha1_Explain *msg, size_t *len) {
65
+ return (struct google_api_expr_v1alpha1_Value**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len);
66
+ }
67
+ UPB_INLINE struct google_api_expr_v1alpha1_Value** google_api_expr_v1alpha1_Explain_resize_values(google_api_expr_v1alpha1_Explain *msg, size_t len, upb_arena *arena) {
68
+ return (struct google_api_expr_v1alpha1_Value**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena);
69
+ }
70
+ UPB_INLINE struct google_api_expr_v1alpha1_Value* google_api_expr_v1alpha1_Explain_add_values(google_api_expr_v1alpha1_Explain *msg, upb_arena *arena) {
71
+ struct google_api_expr_v1alpha1_Value* sub = (struct google_api_expr_v1alpha1_Value*)_upb_msg_new(&google_api_expr_v1alpha1_Value_msginit, arena);
72
+ bool ok = _upb_array_append_accessor2(
73
+ msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena);
74
+ if (!ok) return NULL;
75
+ return sub;
76
+ }
77
+ UPB_INLINE google_api_expr_v1alpha1_Explain_ExprStep** google_api_expr_v1alpha1_Explain_mutable_expr_steps(google_api_expr_v1alpha1_Explain *msg, size_t *len) {
78
+ return (google_api_expr_v1alpha1_Explain_ExprStep**)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
79
+ }
80
+ UPB_INLINE google_api_expr_v1alpha1_Explain_ExprStep** google_api_expr_v1alpha1_Explain_resize_expr_steps(google_api_expr_v1alpha1_Explain *msg, size_t len, upb_arena *arena) {
81
+ return (google_api_expr_v1alpha1_Explain_ExprStep**)_upb_array_resize_accessor2(msg, UPB_SIZE(4, 8), len, UPB_SIZE(2, 3), arena);
82
+ }
83
+ UPB_INLINE struct google_api_expr_v1alpha1_Explain_ExprStep* google_api_expr_v1alpha1_Explain_add_expr_steps(google_api_expr_v1alpha1_Explain *msg, upb_arena *arena) {
84
+ struct google_api_expr_v1alpha1_Explain_ExprStep* sub = (struct google_api_expr_v1alpha1_Explain_ExprStep*)_upb_msg_new(&google_api_expr_v1alpha1_Explain_ExprStep_msginit, arena);
85
+ bool ok = _upb_array_append_accessor2(
86
+ msg, UPB_SIZE(4, 8), UPB_SIZE(2, 3), &sub, arena);
87
+ if (!ok) return NULL;
88
+ return sub;
89
+ }
90
+
91
+ /* google.api.expr.v1alpha1.Explain.ExprStep */
92
+
93
+ UPB_INLINE google_api_expr_v1alpha1_Explain_ExprStep *google_api_expr_v1alpha1_Explain_ExprStep_new(upb_arena *arena) {
94
+ return (google_api_expr_v1alpha1_Explain_ExprStep *)_upb_msg_new(&google_api_expr_v1alpha1_Explain_ExprStep_msginit, arena);
95
+ }
96
+ UPB_INLINE google_api_expr_v1alpha1_Explain_ExprStep *google_api_expr_v1alpha1_Explain_ExprStep_parse(const char *buf, size_t size,
97
+ upb_arena *arena) {
98
+ google_api_expr_v1alpha1_Explain_ExprStep *ret = google_api_expr_v1alpha1_Explain_ExprStep_new(arena);
99
+ if (!ret) return NULL;
100
+ if (!upb_decode(buf, size, ret, &google_api_expr_v1alpha1_Explain_ExprStep_msginit, arena)) return NULL;
101
+ return ret;
102
+ }
103
+ UPB_INLINE google_api_expr_v1alpha1_Explain_ExprStep *google_api_expr_v1alpha1_Explain_ExprStep_parse_ex(const char *buf, size_t size,
104
+ const upb_extreg *extreg, int options,
105
+ upb_arena *arena) {
106
+ google_api_expr_v1alpha1_Explain_ExprStep *ret = google_api_expr_v1alpha1_Explain_ExprStep_new(arena);
107
+ if (!ret) return NULL;
108
+ if (!_upb_decode(buf, size, ret, &google_api_expr_v1alpha1_Explain_ExprStep_msginit, extreg, options, arena)) {
109
+ return NULL;
110
+ }
111
+ return ret;
112
+ }
113
+ UPB_INLINE char *google_api_expr_v1alpha1_Explain_ExprStep_serialize(const google_api_expr_v1alpha1_Explain_ExprStep *msg, upb_arena *arena, size_t *len) {
114
+ return upb_encode(msg, &google_api_expr_v1alpha1_Explain_ExprStep_msginit, arena, len);
115
+ }
116
+
117
+ UPB_INLINE int64_t google_api_expr_v1alpha1_Explain_ExprStep_id(const google_api_expr_v1alpha1_Explain_ExprStep *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int64_t); }
118
+ UPB_INLINE int32_t google_api_expr_v1alpha1_Explain_ExprStep_value_index(const google_api_expr_v1alpha1_Explain_ExprStep *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t); }
119
+
120
+ UPB_INLINE void google_api_expr_v1alpha1_Explain_ExprStep_set_id(google_api_expr_v1alpha1_Explain_ExprStep *msg, int64_t value) {
121
+ *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int64_t) = value;
122
+ }
123
+ UPB_INLINE void google_api_expr_v1alpha1_Explain_ExprStep_set_value_index(google_api_expr_v1alpha1_Explain_ExprStep *msg, int32_t value) {
124
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t) = value;
125
+ }
126
+
127
+ extern const upb_msglayout_file google_api_expr_v1alpha1_explain_proto_upb_file_layout;
128
+
129
+ #ifdef __cplusplus
130
+ } /* extern "C" */
131
+ #endif
132
+
133
+ #include "upb/port_undef.inc"
134
+
135
+ #endif /* GOOGLE_API_EXPR_V1ALPHA1_EXPLAIN_PROTO_UPB_H_ */