grpc 1.44.0.pre2 → 1.46.3

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 (1167) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +311 -191
  3. data/include/grpc/event_engine/event_engine.h +2 -2
  4. data/include/grpc/grpc.h +40 -14
  5. data/include/grpc/grpc_posix.h +20 -19
  6. data/include/grpc/grpc_security.h +26 -50
  7. data/include/grpc/impl/codegen/grpc_types.h +18 -21
  8. data/include/grpc/impl/codegen/port_platform.h +2 -2
  9. data/include/grpc/impl/codegen/slice.h +4 -1
  10. data/include/grpc/slice.h +0 -11
  11. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +309 -0
  12. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +122 -0
  13. data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.cc +1 -1
  14. data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.h +5 -5
  15. data/src/core/ext/filters/client_channel/backend_metric.cc +3 -3
  16. data/src/core/ext/filters/client_channel/backup_poller.cc +12 -8
  17. data/src/core/ext/filters/client_channel/channel_connectivity.cc +5 -5
  18. data/src/core/ext/filters/client_channel/client_channel.cc +242 -153
  19. data/src/core/ext/filters/client_channel/client_channel.h +32 -29
  20. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +5 -11
  21. data/src/core/ext/filters/client_channel/connector.h +1 -1
  22. data/src/core/ext/filters/client_channel/dynamic_filters.cc +1 -2
  23. data/src/core/ext/filters/client_channel/dynamic_filters.h +1 -1
  24. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +2 -22
  25. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +3 -15
  26. data/src/core/ext/filters/client_channel/health/health_check_client.cc +124 -582
  27. data/src/core/ext/filters/client_channel/health/health_check_client.h +24 -160
  28. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +9 -12
  29. data/src/core/ext/filters/client_channel/http_proxy.cc +88 -110
  30. data/src/core/ext/filters/client_channel/http_proxy.h +17 -0
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +1 -0
  32. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +68 -47
  33. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +15 -15
  34. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +4 -4
  35. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +7 -3
  36. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +193 -148
  37. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +2 -6
  38. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +120 -92
  39. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +88 -59
  40. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +60 -52
  41. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +51 -24
  42. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +16 -8
  43. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +245 -293
  44. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +7 -13
  45. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +126 -278
  46. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +18 -19
  47. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +62 -234
  48. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +8 -7
  49. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +82 -57
  50. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +201 -0
  51. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +106 -0
  52. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +35 -34
  53. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +135 -89
  54. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +7 -10
  55. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +11 -5
  56. data/src/core/ext/filters/client_channel/retry_filter.cc +236 -127
  57. data/src/core/ext/filters/client_channel/retry_service_config.cc +15 -17
  58. data/src/core/ext/filters/client_channel/retry_service_config.h +17 -11
  59. data/src/core/ext/filters/client_channel/retry_throttle.cc +9 -23
  60. data/src/core/ext/filters/client_channel/retry_throttle.h +11 -5
  61. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +7 -6
  62. data/src/core/ext/filters/client_channel/subchannel.cc +38 -41
  63. data/src/core/ext/filters/client_channel/subchannel.h +5 -4
  64. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +544 -0
  65. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +214 -0
  66. data/src/core/ext/filters/deadline/deadline_filter.cc +15 -14
  67. data/src/core/ext/filters/deadline/deadline_filter.h +3 -2
  68. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +133 -367
  69. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +24 -1
  70. data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
  71. data/src/core/ext/filters/fault_injection/service_config_parser.h +9 -3
  72. data/src/core/ext/filters/http/client/http_client_filter.cc +79 -455
  73. data/src/core/ext/filters/http/client/http_client_filter.h +21 -4
  74. data/src/core/ext/filters/http/client_authority_filter.cc +31 -79
  75. data/src/core/ext/filters/http/client_authority_filter.h +24 -5
  76. data/src/core/ext/filters/http/http_filters_plugin.cc +20 -18
  77. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +1 -0
  78. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +10 -2
  79. data/src/core/ext/filters/http/server/http_server_filter.cc +3 -116
  80. data/src/core/ext/filters/message_size/message_size_filter.cc +26 -34
  81. data/src/core/ext/filters/message_size/message_size_filter.h +9 -2
  82. data/src/core/ext/filters/rbac/rbac_filter.cc +13 -8
  83. data/src/core/ext/filters/rbac/rbac_filter.h +2 -0
  84. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +6 -5
  85. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +6 -1
  86. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +2 -8
  87. data/src/core/ext/filters/server_config_selector/server_config_selector.h +2 -2
  88. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +73 -200
  89. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +235 -0
  90. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +153 -10
  91. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +233 -59
  92. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -2
  93. data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -2
  94. data/src/core/ext/transport/chttp2/transport/flow_control.h +3 -3
  95. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -4
  96. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +5 -0
  97. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -0
  98. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +3 -8
  99. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -1
  100. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +15 -51
  101. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +2 -2
  102. data/src/core/ext/transport/chttp2/transport/internal.h +10 -8
  103. data/src/core/ext/transport/chttp2/transport/parsing.cc +11 -3
  104. data/src/core/ext/transport/chttp2/transport/writing.cc +34 -20
  105. data/src/core/ext/transport/inproc/inproc_transport.cc +16 -12
  106. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +117 -0
  107. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +482 -0
  108. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -0
  109. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +553 -0
  110. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +182 -176
  111. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1248 -685
  112. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +56 -0
  113. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +151 -0
  114. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +62 -0
  115. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -0
  116. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +46 -0
  117. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +124 -0
  118. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +43 -0
  119. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +102 -0
  120. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +43 -0
  121. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +97 -0
  122. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +106 -0
  123. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +605 -0
  124. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +48 -0
  125. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +103 -0
  126. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +14 -12
  127. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +49 -16
  128. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +13 -11
  129. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +49 -23
  130. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +98 -96
  131. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +669 -386
  132. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +185 -173
  133. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1269 -664
  134. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +34 -26
  135. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +200 -91
  136. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +252 -238
  137. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1670 -827
  138. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +10 -8
  139. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +42 -24
  140. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +49 -27
  141. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +272 -99
  142. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +299 -0
  143. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +1381 -0
  144. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +54 -50
  145. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +354 -190
  146. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +11 -8
  147. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +45 -25
  148. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +157 -154
  149. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1068 -582
  150. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +87 -42
  151. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +525 -167
  152. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +9 -7
  153. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +38 -24
  154. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +11 -29
  155. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +41 -101
  156. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +58 -0
  157. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +151 -0
  158. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +108 -104
  159. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +768 -410
  160. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +115 -84
  161. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +736 -349
  162. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +11 -9
  163. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +57 -31
  164. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +162 -108
  165. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +992 -397
  166. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +8 -6
  167. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +28 -17
  168. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +15 -13
  169. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +83 -49
  170. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +13 -11
  171. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +75 -34
  172. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +15 -13
  173. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +93 -49
  174. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +11 -9
  175. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +46 -26
  176. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +34 -32
  177. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +194 -109
  178. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +51 -48
  179. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +349 -190
  180. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +49 -47
  181. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +357 -188
  182. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +9 -7
  183. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +34 -21
  184. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +72 -61
  185. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +504 -260
  186. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +77 -69
  187. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +560 -301
  188. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +19 -15
  189. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +104 -49
  190. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +12 -10
  191. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +66 -41
  192. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +53 -0
  193. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +136 -0
  194. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +58 -55
  195. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +413 -235
  196. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +62 -60
  197. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +406 -237
  198. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +82 -76
  199. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +562 -294
  200. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +37 -31
  201. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +271 -142
  202. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +503 -475
  203. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +3642 -1901
  204. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +25 -19
  205. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +148 -72
  206. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +222 -0
  207. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +1052 -0
  208. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +44 -0
  209. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +88 -0
  210. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +49 -0
  211. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +103 -0
  212. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +15 -13
  213. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +77 -46
  214. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +52 -0
  215. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +134 -0
  216. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +63 -0
  217. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +250 -0
  218. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +47 -0
  219. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +94 -0
  220. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +69 -0
  221. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +213 -0
  222. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +32 -0
  223. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +42 -0
  224. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +71 -0
  225. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +218 -0
  226. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +54 -0
  227. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +146 -0
  228. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +8 -6
  229. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +34 -24
  230. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +29 -27
  231. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +188 -113
  232. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +36 -34
  233. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +260 -132
  234. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +17 -14
  235. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +86 -49
  236. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +16 -14
  237. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +86 -43
  238. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +229 -198
  239. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1553 -734
  240. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +3 -1
  241. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -1
  242. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +87 -58
  243. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +554 -235
  244. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +26 -24
  245. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +156 -87
  246. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +98 -71
  247. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +622 -263
  248. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +62 -0
  249. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +160 -0
  250. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +6 -4
  251. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +22 -16
  252. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +67 -65
  253. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +474 -256
  254. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +18 -16
  255. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +107 -62
  256. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +51 -49
  257. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +347 -186
  258. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +48 -0
  259. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +112 -0
  260. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +20 -18
  261. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +124 -82
  262. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +74 -0
  263. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +214 -0
  264. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +16 -14
  265. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +99 -57
  266. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +10 -8
  267. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +50 -31
  268. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +10 -8
  269. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +48 -27
  270. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +9 -7
  271. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +38 -24
  272. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +21 -19
  273. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +117 -69
  274. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +19 -17
  275. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +123 -65
  276. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +14 -12
  277. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +85 -53
  278. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +23 -21
  279. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +150 -83
  280. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +32 -30
  281. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +230 -146
  282. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +36 -34
  283. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +235 -131
  284. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +66 -0
  285. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +201 -0
  286. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +3 -1
  287. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +2 -1
  288. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +42 -0
  289. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +139 -0
  290. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +13 -11
  291. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +62 -36
  292. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +19 -17
  293. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +98 -52
  294. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +26 -0
  295. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +41 -0
  296. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +10 -8
  297. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +40 -19
  298. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +51 -0
  299. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +127 -0
  300. data/src/core/ext/upb-generated/google/api/annotations.upb.c +8 -6
  301. data/src/core/ext/upb-generated/google/api/annotations.upb.h +22 -6
  302. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +109 -103
  303. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +720 -382
  304. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +120 -112
  305. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +795 -402
  306. data/src/core/ext/upb-generated/google/api/http.upb.c +29 -27
  307. data/src/core/ext/upb-generated/google/api/http.upb.h +216 -115
  308. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +46 -0
  309. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +111 -0
  310. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +9 -7
  311. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +38 -22
  312. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +291 -237
  313. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +2076 -1030
  314. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +9 -7
  315. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +36 -20
  316. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +6 -4
  317. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +22 -16
  318. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +31 -29
  319. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +177 -93
  320. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +9 -7
  321. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +36 -20
  322. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +40 -38
  323. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +240 -149
  324. data/src/core/ext/upb-generated/google/rpc/status.upb.c +11 -9
  325. data/src/core/ext/upb-generated/google/rpc/status.upb.h +52 -30
  326. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +84 -0
  327. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +319 -0
  328. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +21 -19
  329. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +103 -48
  330. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +102 -96
  331. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +685 -359
  332. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +16 -13
  333. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +76 -41
  334. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +12 -10
  335. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +56 -35
  336. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +57 -55
  337. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +383 -219
  338. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +22 -20
  339. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +115 -63
  340. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
  341. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +764 -0
  342. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +36 -34
  343. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +189 -78
  344. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +14 -12
  345. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +53 -22
  346. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +7 -5
  347. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +15 -6
  348. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +14 -12
  349. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +55 -24
  350. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +13 -11
  351. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +49 -23
  352. data/src/core/ext/upb-generated/validate/validate.upb.c +339 -312
  353. data/src/core/ext/upb-generated/validate/validate.upb.h +2726 -1180
  354. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +110 -0
  355. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +278 -0
  356. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +55 -0
  357. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +108 -0
  358. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +38 -0
  359. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +46 -0
  360. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +34 -32
  361. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +171 -80
  362. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +53 -0
  363. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +99 -0
  364. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +8 -6
  365. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +30 -19
  366. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +18 -16
  367. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +98 -55
  368. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +14 -12
  369. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +53 -30
  370. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +46 -0
  371. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +103 -0
  372. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +12 -10
  373. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +55 -30
  374. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +20 -18
  375. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +130 -70
  376. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +12 -10
  377. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +58 -30
  378. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +23 -21
  379. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +101 -46
  380. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +207 -0
  381. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +878 -0
  382. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +52 -0
  383. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +143 -0
  384. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +65 -0
  385. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +218 -0
  386. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +10 -8
  387. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +42 -24
  388. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +84 -0
  389. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +55 -0
  390. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +127 -0
  391. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +50 -0
  392. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +14 -12
  393. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +67 -67
  394. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +43 -0
  395. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +40 -0
  396. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +53 -0
  397. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +40 -0
  398. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +49 -0
  399. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +35 -0
  400. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +46 -0
  401. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +35 -0
  402. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +46 -0
  403. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
  404. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +142 -0
  405. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +40 -0
  406. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +51 -0
  407. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +35 -0
  408. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +8 -6
  409. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +1 -1
  410. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +8 -6
  411. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +4 -4
  412. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +20 -17
  413. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +46 -46
  414. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +248 -240
  415. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +55 -55
  416. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +58 -51
  417. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +10 -10
  418. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +385 -371
  419. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +76 -76
  420. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +14 -11
  421. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +4 -4
  422. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +23 -16
  423. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +4 -4
  424. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +206 -0
  425. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
  426. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +15 -13
  427. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +22 -22
  428. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +15 -12
  429. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +4 -4
  430. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +85 -80
  431. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +73 -73
  432. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +138 -101
  433. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +26 -16
  434. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +14 -12
  435. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +4 -4
  436. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +22 -34
  437. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +4 -9
  438. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +53 -0
  439. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
  440. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +21 -18
  441. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +43 -43
  442. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +177 -166
  443. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +30 -25
  444. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +14 -12
  445. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +4 -4
  446. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +250 -221
  447. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +53 -43
  448. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +12 -9
  449. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +4 -4
  450. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +14 -11
  451. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +7 -7
  452. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +14 -11
  453. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +4 -4
  454. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +18 -15
  455. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +4 -4
  456. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +13 -11
  457. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +4 -4
  458. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +18 -15
  459. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +13 -13
  460. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +19 -16
  461. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +19 -19
  462. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +18 -15
  463. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +16 -16
  464. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +14 -11
  465. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +4 -4
  466. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +52 -45
  467. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +19 -19
  468. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +153 -147
  469. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +22 -22
  470. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +19 -16
  471. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +4 -4
  472. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +15 -12
  473. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +7 -7
  474. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +69 -0
  475. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
  476. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +17 -14
  477. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +25 -25
  478. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +17 -14
  479. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +28 -28
  480. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +23 -21
  481. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +25 -25
  482. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +36 -27
  483. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +10 -10
  484. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +826 -803
  485. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +160 -160
  486. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +52 -37
  487. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +10 -10
  488. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +188 -0
  489. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +85 -0
  490. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +54 -0
  491. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
  492. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +57 -0
  493. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
  494. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +15 -12
  495. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +7 -7
  496. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +72 -0
  497. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
  498. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +99 -0
  499. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
  500. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +52 -0
  501. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +35 -0
  502. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +71 -0
  503. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
  504. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +57 -0
  505. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +30 -0
  506. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +75 -0
  507. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +40 -0
  508. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +77 -0
  509. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
  510. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +15 -11
  511. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +4 -4
  512. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +17 -14
  513. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +16 -16
  514. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +18 -15
  515. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +10 -10
  516. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +14 -11
  517. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +7 -7
  518. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +17 -13
  519. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +4 -4
  520. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +197 -172
  521. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +63 -58
  522. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +15 -11
  523. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +1 -1
  524. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +169 -140
  525. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +24 -19
  526. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +19 -16
  527. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +10 -10
  528. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +217 -199
  529. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +24 -19
  530. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +58 -0
  531. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
  532. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +14 -11
  533. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +4 -4
  534. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +17 -14
  535. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +22 -22
  536. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +16 -13
  537. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +7 -7
  538. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +20 -17
  539. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +16 -16
  540. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +46 -0
  541. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +35 -0
  542. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +13 -10
  543. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +13 -13
  544. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +52 -0
  545. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +50 -0
  546. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +15 -12
  547. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +7 -7
  548. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +15 -12
  549. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +4 -4
  550. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +15 -12
  551. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +4 -4
  552. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +15 -12
  553. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +4 -4
  554. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +15 -12
  555. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +10 -10
  556. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +15 -12
  557. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +7 -7
  558. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +14 -12
  559. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +7 -7
  560. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +16 -13
  561. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +10 -10
  562. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +13 -10
  563. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +22 -22
  564. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +14 -11
  565. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +16 -16
  566. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +53 -0
  567. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +45 -0
  568. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +10 -8
  569. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +1 -1
  570. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +94 -0
  571. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +35 -0
  572. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +12 -10
  573. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +7 -7
  574. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +11 -8
  575. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +10 -10
  576. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +38 -0
  577. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
  578. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +11 -9
  579. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +4 -4
  580. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +57 -0
  581. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +35 -0
  582. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +5 -5
  583. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +1 -1
  584. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +6 -6
  585. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +40 -40
  586. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +6 -6
  587. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +43 -43
  588. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +3 -3
  589. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +10 -10
  590. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +39 -0
  591. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +35 -0
  592. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +3 -3
  593. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +4 -4
  594. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +3 -3
  595. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +82 -82
  596. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +3 -3
  597. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +4 -4
  598. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +3 -3
  599. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +4 -4
  600. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +3 -3
  601. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +13 -13
  602. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +3 -3
  603. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +4 -4
  604. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +3 -3
  605. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +28 -28
  606. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +4 -4
  607. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +4 -4
  608. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +67 -0
  609. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
  610. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
  611. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
  612. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +4 -4
  613. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +10 -10
  614. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +5 -5
  615. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +4 -4
  616. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +4 -4
  617. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +1 -1
  618. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +4 -4
  619. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +4 -4
  620. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +4 -4
  621. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +4 -4
  622. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +6 -6
  623. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +70 -70
  624. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +63 -0
  625. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +45 -0
  626. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +47 -0
  627. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +35 -0
  628. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +35 -0
  629. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +30 -0
  630. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +4 -4
  631. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +13 -13
  632. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +40 -0
  633. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +35 -0
  634. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +5 -5
  635. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +4 -4
  636. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +7 -7
  637. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +7 -7
  638. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +4 -4
  639. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +7 -7
  640. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +41 -0
  641. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +35 -0
  642. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +6 -6
  643. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +4 -4
  644. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +6 -6
  645. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +7 -7
  646. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +6 -6
  647. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +4 -4
  648. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +126 -0
  649. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
  650. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +40 -0
  651. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +40 -0
  652. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +52 -0
  653. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +40 -0
  654. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +5 -5
  655. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +4 -4
  656. data/src/core/ext/xds/certificate_provider_store.cc +8 -0
  657. data/src/core/ext/xds/certificate_provider_store.h +9 -0
  658. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +4 -4
  659. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
  660. data/src/core/ext/xds/upb_utils.h +8 -6
  661. data/src/core/ext/xds/xds_api.cc +72 -35
  662. data/src/core/ext/xds/xds_api.h +4 -4
  663. data/src/core/ext/xds/xds_bootstrap.cc +37 -5
  664. data/src/core/ext/xds/xds_bootstrap.h +13 -0
  665. data/src/core/ext/xds/xds_certificate_provider.cc +2 -0
  666. data/src/core/ext/xds/xds_certificate_provider.h +8 -0
  667. data/src/core/ext/xds/xds_channel_stack_modifier.cc +14 -17
  668. data/src/core/ext/xds/xds_channel_stack_modifier.h +4 -3
  669. data/src/core/ext/xds/xds_client.cc +220 -193
  670. data/src/core/ext/xds/xds_client.h +35 -19
  671. data/src/core/ext/xds/xds_client_stats.cc +15 -15
  672. data/src/core/ext/xds/xds_client_stats.h +5 -4
  673. data/src/core/ext/xds/xds_cluster.cc +18 -16
  674. data/src/core/ext/xds/xds_cluster.h +3 -6
  675. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +142 -0
  676. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +79 -0
  677. data/src/core/ext/xds/xds_common_types.cc +10 -10
  678. data/src/core/ext/xds/xds_common_types.h +8 -23
  679. data/src/core/ext/xds/xds_endpoint.cc +14 -7
  680. data/src/core/ext/xds/xds_endpoint.h +1 -1
  681. data/src/core/ext/xds/xds_http_fault_filter.cc +7 -7
  682. data/src/core/ext/xds/xds_http_fault_filter.h +3 -3
  683. data/src/core/ext/xds/xds_http_filters.cc +6 -5
  684. data/src/core/ext/xds/xds_http_filters.h +4 -4
  685. data/src/core/ext/xds/xds_http_rbac_filter.cc +5 -5
  686. data/src/core/ext/xds/xds_http_rbac_filter.h +3 -3
  687. data/src/core/ext/xds/xds_listener.cc +15 -12
  688. data/src/core/ext/xds/xds_listener.h +1 -1
  689. data/src/core/ext/xds/xds_resource_type.h +1 -1
  690. data/src/core/ext/xds/xds_route_config.cc +175 -46
  691. data/src/core/ext/xds/xds_route_config.h +14 -11
  692. data/src/core/ext/xds/xds_routing.cc +1 -1
  693. data/src/core/ext/xds/xds_server_config_fetcher.cc +20 -24
  694. data/src/core/lib/avl/avl.h +68 -5
  695. data/src/core/lib/backoff/backoff.cc +7 -10
  696. data/src/core/lib/backoff/backoff.h +8 -8
  697. data/src/core/lib/channel/call_finalization.h +86 -0
  698. data/src/core/lib/channel/call_tracer.h +4 -1
  699. data/src/core/lib/channel/channel_args.cc +161 -22
  700. data/src/core/lib/channel/channel_args.h +210 -7
  701. data/src/core/lib/channel/channel_args_preconditioning.cc +3 -8
  702. data/src/core/lib/channel/channel_args_preconditioning.h +1 -2
  703. data/src/core/lib/channel/channel_stack.cc +2 -3
  704. data/src/core/lib/channel/channel_stack.h +38 -5
  705. data/src/core/lib/channel/channel_stack_builder.cc +23 -266
  706. data/src/core/lib/channel/channel_stack_builder.h +118 -146
  707. data/src/core/lib/channel/channel_stack_builder_impl.cc +102 -0
  708. data/src/core/lib/channel/channel_stack_builder_impl.h +48 -0
  709. data/src/core/lib/channel/channel_trace.cc +3 -6
  710. data/src/core/lib/channel/connected_channel.cc +9 -4
  711. data/src/core/lib/channel/connected_channel.h +2 -1
  712. data/src/core/lib/channel/context.h +11 -0
  713. data/src/core/lib/channel/handshaker.cc +1 -1
  714. data/src/core/lib/channel/handshaker.h +1 -1
  715. data/src/core/lib/channel/promise_based_filter.cc +1002 -0
  716. data/src/core/lib/channel/promise_based_filter.h +437 -0
  717. data/src/core/lib/compression/compression.cc +1 -1
  718. data/src/core/lib/compression/compression_internal.cc +2 -8
  719. data/src/core/lib/config/core_configuration.cc +8 -2
  720. data/src/core/lib/config/core_configuration.h +39 -0
  721. data/src/core/lib/debug/stats_data.cc +2 -6
  722. data/src/core/lib/debug/stats_data.h +18 -21
  723. data/src/core/{ext/filters/max_age/max_age_filter.h → lib/event_engine/default_event_engine_factory.cc} +11 -10
  724. data/src/core/lib/event_engine/event_engine.cc +23 -8
  725. data/src/core/lib/event_engine/event_engine_factory.h +3 -0
  726. data/src/core/lib/event_engine/memory_allocator.cc +9 -13
  727. data/src/core/lib/event_engine/{event_engine_factory.cc → resolved_address.cc} +10 -20
  728. data/src/core/lib/gpr/sync_posix.cc +1 -0
  729. data/src/core/lib/gpr/time.cc +2 -1
  730. data/src/core/lib/gpr/tls.h +1 -0
  731. data/src/core/lib/gpr/useful.h +14 -0
  732. data/src/core/lib/gprpp/bitset.h +12 -0
  733. data/src/core/lib/gprpp/capture.h +76 -0
  734. data/src/core/lib/gprpp/cpp_impl_of.h +4 -0
  735. data/src/core/lib/gprpp/debug_location.h +2 -0
  736. data/src/core/lib/gprpp/match.h +73 -0
  737. data/src/core/lib/gprpp/overload.h +59 -0
  738. data/src/core/lib/gprpp/ref_counted.h +2 -0
  739. data/src/core/lib/gprpp/single_set_ptr.h +87 -0
  740. data/src/core/lib/gprpp/status_helper.cc +30 -14
  741. data/src/core/lib/gprpp/status_helper.h +4 -4
  742. data/src/core/lib/gprpp/time.cc +198 -0
  743. data/src/core/lib/gprpp/time.h +292 -0
  744. data/src/core/lib/http/format_request.cc +28 -25
  745. data/src/core/lib/http/format_request.h +7 -6
  746. data/src/core/lib/http/httpcli.cc +306 -229
  747. data/src/core/lib/http/httpcli.h +182 -77
  748. data/src/core/lib/http/httpcli_security_connector.cc +64 -75
  749. data/src/core/lib/http/httpcli_ssl_credentials.h +37 -0
  750. data/src/core/lib/http/parser.cc +80 -9
  751. data/src/core/lib/http/parser.h +15 -2
  752. data/src/core/lib/iomgr/buffer_list.h +5 -5
  753. data/src/core/lib/iomgr/error.cc +13 -12
  754. data/src/core/lib/iomgr/error.h +0 -5
  755. data/src/core/lib/iomgr/ev_apple.cc +6 -5
  756. data/src/core/lib/iomgr/ev_epoll1_linux.cc +8 -7
  757. data/src/core/lib/iomgr/ev_poll_posix.cc +7 -7
  758. data/src/core/lib/iomgr/ev_posix.cc +9 -10
  759. data/src/core/lib/iomgr/ev_posix.h +1 -1
  760. data/src/core/lib/iomgr/event_engine/pollset.cc +2 -3
  761. data/src/core/lib/iomgr/event_engine/resolver.cc +1 -1
  762. data/src/core/lib/iomgr/event_engine/tcp.cc +4 -3
  763. data/src/core/lib/iomgr/event_engine/timer.cc +3 -4
  764. data/src/core/lib/iomgr/exec_ctx.cc +3 -88
  765. data/src/core/lib/iomgr/exec_ctx.h +7 -23
  766. data/src/core/lib/iomgr/fork_posix.cc +1 -1
  767. data/src/core/lib/iomgr/iocp_windows.cc +9 -9
  768. data/src/core/lib/iomgr/iocp_windows.h +1 -1
  769. data/src/core/lib/iomgr/polling_entity.h +6 -0
  770. data/src/core/lib/iomgr/pollset.cc +1 -1
  771. data/src/core/lib/iomgr/pollset.h +4 -4
  772. data/src/core/lib/iomgr/pollset_windows.cc +2 -2
  773. data/src/core/lib/iomgr/port.h +4 -9
  774. data/src/core/lib/iomgr/resolve_address_posix.cc +1 -1
  775. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +62 -0
  776. data/src/core/lib/iomgr/socket_utils_common_posix.cc +0 -17
  777. data/src/core/lib/iomgr/tcp_client.cc +1 -1
  778. data/src/core/lib/iomgr/tcp_client.h +3 -2
  779. data/src/core/lib/iomgr/tcp_client_cfstream.cc +1 -1
  780. data/src/core/lib/iomgr/tcp_client_posix.cc +4 -4
  781. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  782. data/src/core/lib/iomgr/tcp_client_windows.cc +1 -1
  783. data/src/core/lib/iomgr/tcp_posix.cc +95 -36
  784. data/src/core/lib/iomgr/tcp_server_posix.cc +26 -17
  785. data/src/core/lib/iomgr/tcp_windows.cc +17 -10
  786. data/src/core/lib/iomgr/timer.cc +2 -2
  787. data/src/core/lib/iomgr/timer.h +11 -6
  788. data/src/core/lib/iomgr/timer_generic.cc +96 -77
  789. data/src/core/lib/iomgr/timer_manager.cc +15 -14
  790. data/src/core/lib/iomgr/work_serializer.cc +15 -10
  791. data/src/core/lib/json/json_util.cc +4 -4
  792. data/src/core/lib/json/json_util.h +5 -5
  793. data/src/core/lib/promise/activity.cc +14 -8
  794. data/src/core/lib/promise/activity.h +143 -131
  795. data/src/core/lib/promise/arena_promise.h +188 -0
  796. data/src/core/lib/promise/call_push_pull.h +144 -0
  797. data/src/core/lib/promise/detail/basic_seq.h +92 -3
  798. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  799. data/src/core/lib/promise/detail/status.h +2 -1
  800. data/src/core/lib/promise/intra_activity_waiter.h +49 -0
  801. data/src/core/lib/promise/latch.h +104 -0
  802. data/src/core/lib/promise/loop.h +34 -8
  803. data/src/core/lib/promise/poll.h +6 -0
  804. data/src/core/lib/promise/promise.h +95 -0
  805. data/src/core/lib/promise/seq.h +19 -1
  806. data/src/core/lib/promise/sleep.cc +74 -0
  807. data/src/core/lib/promise/sleep.h +66 -0
  808. data/src/core/lib/promise/try_seq.h +157 -0
  809. data/src/core/lib/resolver/resolver_factory.h +22 -26
  810. data/src/core/lib/resolver/resolver_registry.cc +98 -137
  811. data/src/core/lib/resolver/resolver_registry.h +59 -33
  812. data/src/core/lib/resource_quota/api.cc +5 -30
  813. data/src/core/lib/resource_quota/api.h +1 -1
  814. data/src/core/lib/resource_quota/memory_quota.cc +118 -94
  815. data/src/core/lib/resource_quota/memory_quota.h +100 -64
  816. data/src/core/lib/resource_quota/resource_quota.h +8 -0
  817. data/src/core/lib/security/authorization/authorization_policy_provider.h +7 -0
  818. data/src/core/lib/security/authorization/evaluate_args.cc +1 -11
  819. data/src/core/lib/security/authorization/evaluate_args.h +0 -1
  820. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +106 -0
  821. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +50 -0
  822. data/src/core/lib/security/authorization/matchers.cc +5 -5
  823. data/src/core/lib/security/authorization/matchers.h +2 -2
  824. data/src/core/lib/security/authorization/rbac_policy.cc +3 -3
  825. data/src/core/lib/security/authorization/rbac_policy.h +3 -2
  826. data/src/core/lib/security/context/security_context.h +8 -1
  827. data/src/core/lib/security/credentials/alts/alts_credentials.cc +6 -5
  828. data/src/core/lib/security/credentials/alts/alts_credentials.h +10 -0
  829. data/src/core/lib/security/credentials/call_creds_util.cc +87 -0
  830. data/src/core/lib/security/credentials/call_creds_util.h +42 -0
  831. data/src/core/lib/security/credentials/channel_creds_registry.h +97 -0
  832. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +70 -0
  833. data/src/core/lib/security/credentials/composite/composite_credentials.cc +24 -83
  834. data/src/core/lib/security/credentials/composite/composite_credentials.h +23 -11
  835. data/src/core/lib/security/credentials/credentials.cc +2 -3
  836. data/src/core/lib/security/credentials/credentials.h +70 -66
  837. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +46 -27
  838. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -0
  839. data/src/core/lib/security/credentials/external/external_account_credentials.cc +49 -29
  840. data/src/core/lib/security/credentials/external/external_account_credentials.h +4 -3
  841. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -1
  842. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +33 -12
  843. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -0
  844. data/src/core/lib/security/credentials/fake/fake_credentials.cc +23 -28
  845. data/src/core/lib/security/credentials/fake/fake_credentials.h +16 -16
  846. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +19 -9
  847. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +9 -3
  848. data/src/core/lib/security/credentials/iam/iam_credentials.cc +15 -19
  849. data/src/core/lib/security/credentials/iam/iam_credentials.h +14 -9
  850. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +25 -26
  851. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +57 -0
  852. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +23 -23
  853. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +13 -9
  854. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -30
  855. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
  856. data/src/core/lib/security/credentials/local/local_credentials.cc +6 -6
  857. data/src/core/lib/security/credentials/local/local_credentials.h +10 -0
  858. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +128 -128
  859. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +57 -28
  860. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +96 -151
  861. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +56 -28
  862. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +6 -4
  863. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +14 -3
  864. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +49 -0
  865. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +8 -0
  866. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +42 -3
  867. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +19 -0
  868. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +66 -86
  869. data/src/core/lib/security/credentials/tls/tls_credentials.cc +9 -6
  870. data/src/core/lib/security/credentials/tls/tls_credentials.h +6 -0
  871. data/src/core/lib/security/credentials/xds/xds_credentials.cc +48 -50
  872. data/src/core/lib/security/credentials/xds/xds_credentials.h +36 -5
  873. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +8 -14
  874. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +1 -1
  875. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +4 -12
  876. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -2
  877. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +6 -16
  878. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +4 -9
  879. data/src/core/lib/security/security_connector/local/local_security_connector.cc +10 -18
  880. data/src/core/lib/security/security_connector/security_connector.cc +3 -11
  881. data/src/core/lib/security/security_connector/security_connector.h +20 -20
  882. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +10 -13
  883. data/src/core/lib/security/security_connector/ssl_utils.cc +15 -7
  884. data/src/core/lib/security/security_connector/ssl_utils.h +8 -3
  885. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +27 -16
  886. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +6 -6
  887. data/src/core/lib/security/transport/auth_filters.h +31 -5
  888. data/src/core/lib/security/transport/client_auth_filter.cc +90 -373
  889. data/src/core/lib/security/transport/secure_endpoint.cc +198 -129
  890. data/src/core/lib/security/transport/secure_endpoint.h +1 -1
  891. data/src/core/lib/security/transport/security_handshaker.cc +20 -10
  892. data/src/core/lib/security/transport/server_auth_filter.cc +1 -0
  893. data/src/core/lib/service_config/service_config.h +6 -51
  894. data/src/core/lib/service_config/{service_config.cc → service_config_impl.cc} +19 -16
  895. data/src/core/lib/service_config/service_config_impl.h +125 -0
  896. data/src/core/lib/service_config/service_config_parser.cc +30 -26
  897. data/src/core/lib/service_config/service_config_parser.h +36 -27
  898. data/src/core/lib/slice/slice.cc +76 -181
  899. data/src/core/lib/slice/slice.h +28 -15
  900. data/src/core/lib/slice/slice_internal.h +12 -30
  901. data/src/core/lib/slice/slice_refcount.cc +18 -0
  902. data/src/core/lib/slice/slice_refcount.h +2 -72
  903. data/src/core/lib/slice/slice_refcount_base.h +16 -120
  904. data/src/core/lib/surface/builtins.cc +6 -6
  905. data/src/core/lib/surface/call.cc +1026 -899
  906. data/src/core/lib/surface/call.h +1 -15
  907. data/src/core/lib/surface/channel.cc +28 -32
  908. data/src/core/lib/surface/channel.h +6 -7
  909. data/src/core/lib/surface/channel_init.cc +2 -3
  910. data/src/core/lib/surface/channel_init.h +3 -7
  911. data/src/core/lib/surface/completion_queue.cc +10 -9
  912. data/src/core/lib/surface/init.cc +78 -7
  913. data/src/core/lib/surface/init.h +0 -2
  914. data/src/core/lib/surface/lame_client.cc +2 -1
  915. data/src/core/lib/surface/server.cc +14 -36
  916. data/src/core/lib/surface/server.h +4 -5
  917. data/src/core/lib/surface/version.cc +2 -2
  918. data/src/core/lib/transport/bdp_estimator.cc +9 -10
  919. data/src/core/lib/transport/bdp_estimator.h +2 -2
  920. data/src/core/lib/transport/byte_stream.cc +2 -0
  921. data/src/core/lib/transport/error_utils.cc +5 -3
  922. data/src/core/lib/transport/error_utils.h +2 -15
  923. data/src/core/lib/transport/metadata_batch.h +286 -104
  924. data/src/core/lib/transport/parsed_metadata.h +33 -17
  925. data/src/core/lib/transport/status_conversion.cc +2 -2
  926. data/src/core/lib/transport/status_conversion.h +1 -1
  927. data/src/core/lib/transport/timeout_encoding.cc +32 -29
  928. data/src/core/lib/transport/timeout_encoding.h +3 -3
  929. data/src/core/lib/transport/transport.cc +3 -1
  930. data/src/core/lib/transport/transport.h +102 -2
  931. data/src/core/lib/transport/transport_impl.h +14 -0
  932. data/src/core/lib/transport/transport_op_string.cc +5 -14
  933. data/src/core/lib/uri/uri_parser.cc +4 -0
  934. data/src/core/lib/uri/uri_parser.h +1 -0
  935. data/src/core/plugin_registry/grpc_plugin_registry.cc +21 -92
  936. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +85 -0
  937. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +26 -21
  938. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +9 -1
  939. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +21 -13
  940. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -2
  941. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -1
  942. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
  943. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +2 -2
  944. data/src/core/tsi/local_transport_security.cc +3 -11
  945. data/src/core/tsi/local_transport_security.h +1 -4
  946. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +141 -0
  947. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +81 -0
  948. data/src/core/tsi/ssl_transport_security.cc +127 -39
  949. data/src/core/tsi/ssl_transport_security.h +28 -2
  950. data/src/core/tsi/transport_security_interface.h +2 -0
  951. data/src/ruby/ext/grpc/extconf.rb +1 -1
  952. data/src/ruby/ext/grpc/rb_channel.c +5 -2
  953. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +18 -24
  954. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +27 -36
  955. data/src/ruby/ext/grpc/rb_server.c +7 -4
  956. data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
  957. data/src/ruby/lib/grpc/grpc.rb +1 -1
  958. data/src/ruby/lib/grpc/version.rb +1 -1
  959. data/src/ruby/pb/generate_proto_ruby.sh +1 -0
  960. data/src/ruby/pb/test/client.rb +769 -0
  961. data/src/ruby/pb/test/server.rb +252 -0
  962. data/src/ruby/pb/test/xds_client.rb +415 -0
  963. data/third_party/cares/cares/{ares.h → include/ares.h} +73 -1
  964. data/third_party/cares/cares/{ares_dns.h → include/ares_dns.h} +9 -0
  965. data/third_party/cares/cares/{ares_rules.h → include/ares_rules.h} +0 -0
  966. data/third_party/cares/cares/{ares_version.h → include/ares_version.h} +3 -3
  967. data/third_party/cares/cares/{ares__close_sockets.c → src/lib/ares__close_sockets.c} +2 -2
  968. data/third_party/cares/cares/{ares__get_hostent.c → src/lib/ares__get_hostent.c} +1 -2
  969. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +260 -0
  970. data/third_party/cares/cares/{ares__read_line.c → src/lib/ares__read_line.c} +0 -0
  971. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +264 -0
  972. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +499 -0
  973. data/third_party/cares/cares/{ares__timeval.c → src/lib/ares__timeval.c} +0 -0
  974. data/third_party/cares/cares/src/lib/ares_android.c +444 -0
  975. data/third_party/cares/cares/src/lib/ares_android.h +27 -0
  976. data/third_party/cares/cares/{ares_cancel.c → src/lib/ares_cancel.c} +0 -0
  977. data/third_party/cares/cares/{ares_create_query.c → src/lib/ares_create_query.c} +8 -17
  978. data/third_party/cares/cares/{ares_data.c → src/lib/ares_data.c} +18 -0
  979. data/third_party/cares/cares/{ares_data.h → src/lib/ares_data.h} +2 -0
  980. data/third_party/cares/cares/{ares_destroy.c → src/lib/ares_destroy.c} +0 -0
  981. data/third_party/cares/cares/{ares_expand_name.c → src/lib/ares_expand_name.c} +114 -23
  982. data/third_party/cares/cares/{ares_expand_string.c → src/lib/ares_expand_string.c} +2 -5
  983. data/third_party/cares/cares/{ares_fds.c → src/lib/ares_fds.c} +0 -0
  984. data/third_party/cares/cares/{ares_free_hostent.c → src/lib/ares_free_hostent.c} +6 -4
  985. data/third_party/cares/cares/{ares_free_string.c → src/lib/ares_free_string.c} +0 -0
  986. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +59 -0
  987. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +772 -0
  988. data/third_party/cares/cares/{ares_getenv.c → src/lib/ares_getenv.c} +0 -2
  989. data/third_party/cares/cares/{ares_getenv.h → src/lib/ares_getenv.h} +0 -0
  990. data/third_party/cares/cares/{ares_gethostbyaddr.c → src/lib/ares_gethostbyaddr.c} +2 -9
  991. data/third_party/cares/cares/{ares_gethostbyname.c → src/lib/ares_gethostbyname.c} +25 -20
  992. data/third_party/cares/cares/{ares_getnameinfo.c → src/lib/ares_getnameinfo.c} +4 -10
  993. data/third_party/cares/cares/{ares_getsock.c → src/lib/ares_getsock.c} +0 -0
  994. data/third_party/cares/cares/{ares_inet_net_pton.h → src/lib/ares_inet_net_pton.h} +0 -0
  995. data/third_party/cares/cares/{ares_init.c → src/lib/ares_init.c} +79 -40
  996. data/third_party/cares/cares/{ares_iphlpapi.h → src/lib/ares_iphlpapi.h} +0 -0
  997. data/third_party/cares/cares/{ares_ipv6.h → src/lib/ares_ipv6.h} +7 -0
  998. data/third_party/cares/cares/{ares_library_init.c → src/lib/ares_library_init.c} +7 -2
  999. data/third_party/cares/cares/{ares_library_init.h → src/lib/ares_library_init.h} +1 -1
  1000. data/third_party/cares/cares/{ares_llist.c → src/lib/ares_llist.c} +0 -0
  1001. data/third_party/cares/cares/{ares_llist.h → src/lib/ares_llist.h} +0 -0
  1002. data/third_party/cares/cares/{ares_mkquery.c → src/lib/ares_mkquery.c} +0 -0
  1003. data/third_party/cares/cares/src/lib/ares_nameser.h +482 -0
  1004. data/third_party/cares/cares/{ares_nowarn.c → src/lib/ares_nowarn.c} +0 -0
  1005. data/third_party/cares/cares/{ares_nowarn.h → src/lib/ares_nowarn.h} +0 -0
  1006. data/third_party/cares/cares/{ares_options.c → src/lib/ares_options.c} +0 -0
  1007. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +209 -0
  1008. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +212 -0
  1009. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +199 -0
  1010. data/third_party/cares/cares/{ares_parse_mx_reply.c → src/lib/ares_parse_mx_reply.c} +2 -8
  1011. data/third_party/cares/cares/{ares_parse_naptr_reply.c → src/lib/ares_parse_naptr_reply.c} +2 -13
  1012. data/third_party/cares/cares/{ares_parse_ns_reply.c → src/lib/ares_parse_ns_reply.c} +5 -11
  1013. data/third_party/cares/cares/{ares_parse_ptr_reply.c → src/lib/ares_parse_ptr_reply.c} +53 -46
  1014. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +179 -0
  1015. data/third_party/cares/cares/{ares_parse_srv_reply.c → src/lib/ares_parse_srv_reply.c} +2 -13
  1016. data/third_party/cares/cares/{ares_parse_txt_reply.c → src/lib/ares_parse_txt_reply.c} +3 -9
  1017. data/third_party/cares/cares/{ares_platform.c → src/lib/ares_platform.c} +0 -0
  1018. data/third_party/cares/cares/{ares_platform.h → src/lib/ares_platform.h} +0 -0
  1019. data/third_party/cares/cares/{ares_private.h → src/lib/ares_private.h} +52 -11
  1020. data/third_party/cares/cares/{ares_process.c → src/lib/ares_process.c} +127 -52
  1021. data/third_party/cares/cares/{ares_query.c → src/lib/ares_query.c} +3 -9
  1022. data/third_party/cares/cares/{ares_search.c → src/lib/ares_search.c} +5 -7
  1023. data/third_party/cares/cares/{ares_send.c → src/lib/ares_send.c} +2 -8
  1024. data/third_party/cares/cares/{ares_setup.h → src/lib/ares_setup.h} +4 -1
  1025. data/third_party/cares/cares/{ares_strcasecmp.c → src/lib/ares_strcasecmp.c} +0 -0
  1026. data/third_party/cares/cares/{ares_strcasecmp.h → src/lib/ares_strcasecmp.h} +0 -0
  1027. data/third_party/cares/cares/{ares_strdup.c → src/lib/ares_strdup.c} +0 -0
  1028. data/third_party/cares/cares/{ares_strdup.h → src/lib/ares_strdup.h} +0 -0
  1029. data/third_party/cares/cares/{ares_strerror.c → src/lib/ares_strerror.c} +0 -0
  1030. data/third_party/cares/cares/{ares_strsplit.c → src/lib/ares_strsplit.c} +4 -0
  1031. data/third_party/cares/cares/{ares_strsplit.h → src/lib/ares_strsplit.h} +0 -0
  1032. data/third_party/cares/cares/{ares_timeout.c → src/lib/ares_timeout.c} +0 -0
  1033. data/third_party/cares/cares/{ares_version.c → src/lib/ares_version.c} +0 -0
  1034. data/third_party/cares/cares/{ares_writev.c → src/lib/ares_writev.c} +0 -0
  1035. data/third_party/cares/cares/src/lib/ares_writev.h +36 -0
  1036. data/third_party/cares/cares/{bitncmp.c → src/lib/bitncmp.c} +0 -0
  1037. data/third_party/cares/cares/{bitncmp.h → src/lib/bitncmp.h} +0 -0
  1038. data/third_party/cares/cares/src/lib/config-dos.h +115 -0
  1039. data/third_party/cares/cares/{config-win32.h → src/lib/config-win32.h} +0 -0
  1040. data/third_party/cares/cares/{inet_net_pton.c → src/lib/inet_net_pton.c} +2 -8
  1041. data/third_party/cares/cares/{inet_ntop.c → src/lib/inet_ntop.c} +2 -8
  1042. data/third_party/cares/cares/{setup_once.h → src/lib/setup_once.h} +0 -0
  1043. data/third_party/cares/cares/{windows_port.c → src/lib/windows_port.c} +0 -0
  1044. data/third_party/upb/third_party/utf8_range/naive.c +92 -0
  1045. data/third_party/upb/third_party/utf8_range/range2-neon.c +157 -0
  1046. data/third_party/upb/third_party/utf8_range/range2-sse.c +170 -0
  1047. data/third_party/upb/third_party/utf8_range/utf8_range.h +9 -0
  1048. data/third_party/upb/upb/decode.c +542 -319
  1049. data/third_party/upb/upb/decode.h +43 -17
  1050. data/third_party/upb/upb/decode_fast.c +303 -301
  1051. data/third_party/upb/upb/decode_fast.h +18 -18
  1052. data/third_party/upb/upb/decode_internal.h +73 -56
  1053. data/third_party/upb/upb/def.c +1926 -1078
  1054. data/third_party/upb/upb/def.h +329 -288
  1055. data/third_party/upb/upb/def.hpp +129 -172
  1056. data/third_party/upb/upb/encode.c +208 -175
  1057. data/third_party/upb/upb/encode.h +15 -17
  1058. data/third_party/upb/upb/json_encode.c +776 -0
  1059. data/third_party/upb/upb/json_encode.h +62 -0
  1060. data/third_party/upb/upb/msg.c +142 -124
  1061. data/third_party/upb/upb/msg.h +39 -33
  1062. data/third_party/upb/upb/msg_internal.h +342 -280
  1063. data/third_party/upb/upb/port_def.inc +8 -0
  1064. data/third_party/upb/upb/port_undef.inc +1 -0
  1065. data/third_party/upb/upb/reflection.c +239 -199
  1066. data/third_party/upb/upb/reflection.h +87 -67
  1067. data/third_party/upb/upb/reflection.hpp +6 -6
  1068. data/third_party/upb/upb/table.c +231 -147
  1069. data/third_party/upb/upb/table_internal.h +129 -95
  1070. data/third_party/upb/upb/text_encode.c +113 -90
  1071. data/third_party/upb/upb/text_encode.h +10 -10
  1072. data/third_party/upb/upb/upb.c +111 -72
  1073. data/third_party/upb/upb/upb.h +157 -151
  1074. data/third_party/upb/upb/upb.hpp +31 -28
  1075. data/third_party/upb/upb/upb_internal.h +21 -11
  1076. data/third_party/zlib/crc32.c +966 -292
  1077. data/third_party/zlib/crc32.h +9441 -436
  1078. data/third_party/zlib/deflate.c +78 -30
  1079. data/third_party/zlib/deflate.h +12 -15
  1080. data/third_party/zlib/gzguts.h +3 -2
  1081. data/third_party/zlib/gzlib.c +5 -3
  1082. data/third_party/zlib/gzread.c +5 -7
  1083. data/third_party/zlib/gzwrite.c +25 -13
  1084. data/third_party/zlib/infback.c +2 -1
  1085. data/third_party/zlib/inffast.c +14 -14
  1086. data/third_party/zlib/inflate.c +39 -8
  1087. data/third_party/zlib/inflate.h +3 -2
  1088. data/third_party/zlib/inftrees.c +3 -3
  1089. data/third_party/zlib/trees.c +27 -48
  1090. data/third_party/zlib/zlib.h +123 -100
  1091. data/third_party/zlib/zutil.c +2 -2
  1092. data/third_party/zlib/zutil.h +12 -9
  1093. metadata +337 -185
  1094. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +0 -44
  1095. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +0 -83
  1096. data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -264
  1097. data/src/core/ext/filters/max_age/max_age_filter.cc +0 -560
  1098. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +0 -122
  1099. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +0 -92
  1100. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +0 -192
  1101. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -52
  1102. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +0 -79
  1103. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +0 -125
  1104. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -36
  1105. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +0 -38
  1106. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +0 -64
  1107. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -38
  1108. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +0 -64
  1109. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -38
  1110. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +0 -64
  1111. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -38
  1112. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +0 -64
  1113. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +0 -38
  1114. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +0 -64
  1115. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.c +0 -102
  1116. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.h +0 -306
  1117. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.c +0 -56
  1118. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.h +0 -135
  1119. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.c +0 -115
  1120. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.h +0 -371
  1121. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +0 -67
  1122. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +0 -35
  1123. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +0 -68
  1124. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +0 -35
  1125. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +0 -67
  1126. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +0 -35
  1127. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +0 -75
  1128. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +0 -35
  1129. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +0 -69
  1130. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +0 -35
  1131. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.c +0 -58
  1132. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.h +0 -55
  1133. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.c +0 -44
  1134. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.h +0 -40
  1135. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.c +0 -75
  1136. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.h +0 -55
  1137. data/src/core/ext/xds/xds_channel_creds.cc +0 -108
  1138. data/src/core/ext/xds/xds_channel_creds.h +0 -50
  1139. data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -1654
  1140. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
  1141. data/src/core/lib/iomgr/iomgr_custom.cc +0 -82
  1142. data/src/core/lib/iomgr/iomgr_custom.h +0 -49
  1143. data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
  1144. data/src/core/lib/iomgr/is_epollexclusive_available.h +0 -36
  1145. data/src/core/lib/iomgr/pollset_custom.cc +0 -105
  1146. data/src/core/lib/iomgr/pollset_custom.h +0 -37
  1147. data/src/core/lib/iomgr/pollset_set_custom.cc +0 -47
  1148. data/src/core/lib/iomgr/pollset_set_custom.h +0 -26
  1149. data/src/core/lib/iomgr/resolve_address_custom.cc +0 -191
  1150. data/src/core/lib/iomgr/resolve_address_custom.h +0 -126
  1151. data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
  1152. data/src/core/lib/iomgr/tcp_client_custom.cc +0 -146
  1153. data/src/core/lib/iomgr/tcp_custom.cc +0 -350
  1154. data/src/core/lib/iomgr/tcp_custom.h +0 -85
  1155. data/src/core/lib/iomgr/tcp_server_custom.cc +0 -457
  1156. data/src/core/lib/iomgr/timer_custom.cc +0 -96
  1157. data/src/core/lib/iomgr/timer_custom.h +0 -43
  1158. data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +0 -173
  1159. data/src/core/lib/security/authorization/sdk_server_authz_filter.h +0 -67
  1160. data/src/core/lib/slice/slice_intern.cc +0 -269
  1161. data/src/core/lib/slice/slice_utils.h +0 -200
  1162. data/src/core/lib/surface/init_secure.cc +0 -103
  1163. data/third_party/cares/cares/ares_getopt.c +0 -122
  1164. data/third_party/cares/cares/ares_getopt.h +0 -53
  1165. data/third_party/cares/cares/ares_parse_a_reply.c +0 -264
  1166. data/third_party/cares/cares/ares_parse_aaaa_reply.c +0 -264
  1167. data/third_party/cares/cares/ares_parse_soa_reply.c +0 -133
@@ -50,97 +50,123 @@
50
50
  extern "C" {
51
51
  #endif
52
52
 
53
- /** upb_msglayout *************************************************************/
53
+ /** upb_*Int* conversion routines ********************************************/
54
54
 
55
- /* upb_msglayout represents the memory layout of a given upb_msgdef. The
55
+ UPB_INLINE int32_t _upb_Int32_FromI(int v) { return (int32_t)v; }
56
+
57
+ UPB_INLINE int64_t _upb_Int64_FromLL(long long v) { return (int64_t)v; }
58
+
59
+ UPB_INLINE uint32_t _upb_UInt32_FromU(unsigned v) { return (uint32_t)v; }
60
+
61
+ UPB_INLINE uint64_t _upb_UInt64_FromULL(unsigned long long v) {
62
+ return (uint64_t)v;
63
+ }
64
+
65
+ /** upb_MiniTable *************************************************************/
66
+
67
+ /* upb_MiniTable represents the memory layout of a given upb_MessageDef. The
56
68
  * members are public so generated code can initialize them, but users MUST NOT
57
69
  * read or write any of its members. */
58
70
 
59
- /* These aren't real labels according to descriptor.proto, but in the table we
60
- * use these for map/packed fields instead of UPB_LABEL_REPEATED. */
61
- enum {
62
- _UPB_LABEL_MAP = 4,
63
- _UPB_LABEL_PACKED = 7 /* Low 3 bits are common with UPB_LABEL_REPEATED. */
64
- };
65
-
66
71
  typedef struct {
67
72
  uint32_t number;
68
73
  uint16_t offset;
69
- int16_t presence; /* If >0, hasbit_index. If <0, ~oneof_index. */
70
- uint16_t submsg_index; /* undefined if descriptortype != MESSAGE or GROUP. */
74
+ int16_t presence; // If >0, hasbit_index. If <0, ~oneof_index
75
+ uint16_t submsg_index; // kUpb_NoSub if descriptortype != MESSAGE/GROUP/ENUM
71
76
  uint8_t descriptortype;
72
- uint8_t mode; /* upb_fieldmode | upb_labelflags |
73
- (upb_rep << _UPB_REP_SHIFT) */
74
- } upb_msglayout_field;
77
+ uint8_t mode; /* upb_FieldMode | upb_LabelFlags |
78
+ (upb_FieldRep << kUpb_FieldRep_Shift) */
79
+ } upb_MiniTable_Field;
80
+
81
+ #define kUpb_NoSub ((uint16_t)-1)
75
82
 
76
83
  typedef enum {
77
- _UPB_MODE_MAP = 0,
78
- _UPB_MODE_ARRAY = 1,
79
- _UPB_MODE_SCALAR = 2,
84
+ kUpb_FieldMode_Map = 0,
85
+ kUpb_FieldMode_Array = 1,
86
+ kUpb_FieldMode_Scalar = 2,
87
+ } upb_FieldMode;
80
88
 
81
- _UPB_MODE_MASK = 3, /* Mask to isolate the mode from upb_rep. */
82
- } upb_fieldmode;
89
+ // Mask to isolate the upb_FieldMode from field.mode.
90
+ #define kUpb_FieldMode_Mask 3
83
91
 
84
92
  /* Extra flags on the mode field. */
85
- enum upb_labelflags {
86
- _UPB_MODE_IS_PACKED = 4,
87
- _UPB_MODE_IS_EXTENSION = 8,
88
- };
93
+ typedef enum {
94
+ kUpb_LabelFlags_IsPacked = 4,
95
+ kUpb_LabelFlags_IsExtension = 8,
96
+ } upb_LabelFlags;
89
97
 
90
- /* Representation in the message. Derivable from descriptortype and mode, but
91
- * fast access helps the serializer. */
92
- enum upb_rep {
93
- _UPB_REP_1BYTE = 0,
94
- _UPB_REP_4BYTE = 1,
95
- _UPB_REP_8BYTE = 2,
96
- _UPB_REP_STRVIEW = 3,
97
-
98
- #if UINTPTR_MAX == 0xffffffff
99
- _UPB_REP_PTR = _UPB_REP_4BYTE,
100
- #else
101
- _UPB_REP_PTR = _UPB_REP_8BYTE,
102
- #endif
98
+ // Note: we sort by this number when calculating layout order.
99
+ typedef enum {
100
+ kUpb_FieldRep_1Byte = 0,
101
+ kUpb_FieldRep_4Byte = 1,
102
+ kUpb_FieldRep_StringView = 2,
103
+ kUpb_FieldRep_Pointer = 3,
104
+ kUpb_FieldRep_8Byte = 4,
103
105
 
104
- _UPB_REP_SHIFT = 6, /* Bit offset of the rep in upb_msglayout_field.mode */
105
- };
106
+ kUpb_FieldRep_Shift = 5, // Bit offset of the rep in upb_MiniTable_Field.mode
107
+ kUpb_FieldRep_Max = kUpb_FieldRep_8Byte,
108
+ } upb_FieldRep;
106
109
 
107
- UPB_INLINE upb_fieldmode _upb_getmode(const upb_msglayout_field *field) {
108
- return (upb_fieldmode)(field->mode & 3);
110
+ UPB_INLINE upb_FieldMode upb_FieldMode_Get(const upb_MiniTable_Field* field) {
111
+ return (upb_FieldMode)(field->mode & 3);
109
112
  }
110
113
 
111
- UPB_INLINE bool _upb_repeated_or_map(const upb_msglayout_field *field) {
112
- /* This works because upb_fieldmode has no value 3. */
113
- return !(field->mode & _UPB_MODE_SCALAR);
114
+ UPB_INLINE bool upb_IsRepeatedOrMap(const upb_MiniTable_Field* field) {
115
+ /* This works because upb_FieldMode has no value 3. */
116
+ return !(field->mode & kUpb_FieldMode_Scalar);
114
117
  }
115
118
 
116
- UPB_INLINE bool _upb_issubmsg(const upb_msglayout_field *field) {
117
- return field->descriptortype == UPB_DTYPE_MESSAGE ||
118
- field->descriptortype == UPB_DTYPE_GROUP;
119
+ UPB_INLINE bool upb_IsSubMessage(const upb_MiniTable_Field* field) {
120
+ return field->descriptortype == kUpb_FieldType_Message ||
121
+ field->descriptortype == kUpb_FieldType_Group;
119
122
  }
120
123
 
121
- struct upb_decstate;
122
- struct upb_msglayout;
124
+ struct upb_Decoder;
125
+ struct upb_MiniTable;
123
126
 
124
- typedef const char *_upb_field_parser(struct upb_decstate *d, const char *ptr,
125
- upb_msg *msg, intptr_t table,
126
- uint64_t hasbits, uint64_t data);
127
+ typedef const char* _upb_FieldParser(struct upb_Decoder* d, const char* ptr,
128
+ upb_Message* msg, intptr_t table,
129
+ uint64_t hasbits, uint64_t data);
127
130
 
128
131
  typedef struct {
129
132
  uint64_t field_data;
130
- _upb_field_parser *field_parser;
131
- } _upb_fasttable_entry;
133
+ _upb_FieldParser* field_parser;
134
+ } _upb_FastTable_Entry;
135
+
136
+ typedef struct {
137
+ const int32_t* values; // List of values <0 or >63
138
+ uint64_t mask; // Bits are set for acceptable value 0 <= x < 64
139
+ int value_count;
140
+ } upb_MiniTable_Enum;
141
+
142
+ UPB_INLINE bool upb_MiniTable_Enum_CheckValue(const upb_MiniTable_Enum* e,
143
+ int32_t val) {
144
+ uint32_t uval = (uint32_t)val;
145
+ if (uval < 64) return e->mask & (1 << uval);
146
+ // OPT: binary search long lists?
147
+ int n = e->value_count;
148
+ for (int i = 0; i < n; i++) {
149
+ if (e->values[i] == val) return true;
150
+ }
151
+ return false;
152
+ }
132
153
 
133
154
  typedef union {
134
- const struct upb_msglayout *submsg;
135
- // TODO: const upb_enumlayout *subenum;
136
- } upb_msglayout_sub;
155
+ const struct upb_MiniTable* submsg;
156
+ const upb_MiniTable_Enum* subenum;
157
+ } upb_MiniTable_Sub;
137
158
 
138
159
  typedef enum {
139
- _UPB_MSGEXT_NONE = 0, // Non-extendable message.
140
- _UPB_MSGEXT_EXTENDABLE = 1, // Normal extendable message.
141
- _UPB_MSGEXT_MSGSET = 2, // MessageSet message.
142
- _UPB_MSGEXT_MSGSET_ITEM = 3, // MessageSet item (temporary only, see decode.c)
143
- } upb_msgext_mode;
160
+ kUpb_ExtMode_NonExtendable = 0, // Non-extendable message.
161
+ kUpb_ExtMode_Extendable = 1, // Normal extendable message.
162
+ kUpb_ExtMode_IsMessageSet = 2, // MessageSet message.
163
+ kUpb_ExtMode_IsMessageSet_ITEM =
164
+ 3, // MessageSet item (temporary only, see decode.c)
165
+
166
+ // During table building we steal a bit to indicate that the message is a map
167
+ // entry. *Only* used during table building!
168
+ kUpb_ExtMode_IsMapEntry = 4,
169
+ } upb_ExtMode;
144
170
 
145
171
  /* MessageSet wire format is:
146
172
  * message MessageSet {
@@ -156,57 +182,75 @@ typedef enum {
156
182
  _UPB_MSGSET_MESSAGE = 3,
157
183
  } upb_msgext_fieldnum;
158
184
 
159
- struct upb_msglayout {
160
- const upb_msglayout_sub *subs;
161
- const upb_msglayout_field *fields;
185
+ struct upb_MiniTable {
186
+ const upb_MiniTable_Sub* subs;
187
+ const upb_MiniTable_Field* fields;
162
188
  /* Must be aligned to sizeof(void*). Doesn't include internal members like
163
189
  * unknown fields, extension dict, pointer to msglayout, etc. */
164
190
  uint16_t size;
165
191
  uint16_t field_count;
166
- uint8_t ext; // upb_msgext_mode, declared as uint8_t so sizeof(ext) == 1
192
+ uint8_t ext; // upb_ExtMode, declared as uint8_t so sizeof(ext) == 1
167
193
  uint8_t dense_below;
168
194
  uint8_t table_mask;
169
- /* To constant-initialize the tables of variable length, we need a flexible
170
- * array member, and we need to compile in C99 mode. */
171
- _upb_fasttable_entry fasttable[];
195
+ uint8_t required_count; // Required fields have the lowest hasbits.
196
+ /* To statically initialize the tables of variable length, we need a flexible
197
+ * array member, and we need to compile in gnu99 mode (constant initialization
198
+ * of flexible array members is a GNU extension, not in C99 unfortunately. */
199
+ _upb_FastTable_Entry fasttable[];
172
200
  };
173
201
 
174
202
  typedef struct {
175
- upb_msglayout_field field;
176
- const upb_msglayout *extendee;
177
- upb_msglayout_sub sub; /* NULL unless submessage or proto2 enum */
178
- } upb_msglayout_ext;
203
+ upb_MiniTable_Field field;
204
+ const upb_MiniTable* extendee;
205
+ upb_MiniTable_Sub sub; /* NULL unless submessage or proto2 enum */
206
+ } upb_MiniTable_Extension;
179
207
 
180
208
  typedef struct {
181
- const upb_msglayout **msgs;
182
- const upb_msglayout_ext **exts;
209
+ const upb_MiniTable** msgs;
210
+ const upb_MiniTable_Enum** enums;
211
+ const upb_MiniTable_Extension** exts;
183
212
  int msg_count;
213
+ int enum_count;
184
214
  int ext_count;
185
- } upb_msglayout_file;
215
+ } upb_MiniTable_File;
186
216
 
187
- /** upb_extreg ****************************************************************/
217
+ // Computes a bitmask in which the |l->required_count| lowest bits are set,
218
+ // except that we skip the lowest bit (because upb never uses hasbit 0).
219
+ //
220
+ // Sample output:
221
+ // requiredmask(1) => 0b10 (0x2)
222
+ // requiredmask(5) => 0b111110 (0x3e)
223
+ UPB_INLINE uint64_t upb_MiniTable_requiredmask(const upb_MiniTable* l) {
224
+ int n = l->required_count;
225
+ assert(0 < n && n <= 63);
226
+ return ((1ULL << n) - 1) << 1;
227
+ }
228
+
229
+ /** upb_ExtensionRegistry *****************************************************/
188
230
 
189
231
  /* Adds the given extension info for message type |l| and field number |num|
190
232
  * into the registry. Returns false if this message type and field number were
191
233
  * already in the map, or if memory allocation fails. */
192
- bool _upb_extreg_add(upb_extreg *r, const upb_msglayout_ext **e, size_t count);
234
+ bool _upb_extreg_add(upb_ExtensionRegistry* r,
235
+ const upb_MiniTable_Extension** e, size_t count);
193
236
 
194
237
  /* Looks up the extension (if any) defined for message type |l| and field
195
238
  * number |num|. If an extension was found, copies the field info into |*ext|
196
239
  * and returns true. Otherwise returns false. */
197
- const upb_msglayout_ext *_upb_extreg_get(const upb_extreg *r,
198
- const upb_msglayout *l, uint32_t num);
240
+ const upb_MiniTable_Extension* _upb_extreg_get(const upb_ExtensionRegistry* r,
241
+ const upb_MiniTable* l,
242
+ uint32_t num);
199
243
 
200
- /** upb_msg *******************************************************************/
244
+ /** upb_Message ***************************************************************/
201
245
 
202
- /* Internal members of a upb_msg that track unknown fields and/or extensions.
203
- * We can change this without breaking binary compatibility. We put these
204
- * before the user's data. The user's upb_msg* points after the
205
- * upb_msg_internal. */
246
+ /* Internal members of a upb_Message that track unknown fields and/or
247
+ * extensions. We can change this without breaking binary compatibility. We put
248
+ * these before the user's data. The user's upb_Message* points after the
249
+ * upb_Message_Internal. */
206
250
 
207
251
  typedef struct {
208
252
  /* Total size of this structure, including the data that follows.
209
- * Must be aligned to 8, which is alignof(upb_msg_ext) */
253
+ * Must be aligned to 8, which is alignof(upb_Message_Extension) */
210
254
  uint32_t size;
211
255
 
212
256
  /* Offsets relative to the beginning of this structure.
@@ -216,162 +260,175 @@ typedef struct {
216
260
  * When the two meet, we're out of data and have to realloc.
217
261
  *
218
262
  * If we imagine that the final member of this struct is:
219
- * char data[size - overhead]; // overhead = sizeof(upb_msg_internaldata)
220
- *
263
+ * char data[size - overhead]; // overhead =
264
+ * sizeof(upb_Message_InternalData)
265
+ *
221
266
  * Then we have:
222
267
  * unknown data: data[0 .. (unknown_end - overhead)]
223
268
  * extensions data: data[(ext_begin - overhead) .. (size - overhead)] */
224
269
  uint32_t unknown_end;
225
270
  uint32_t ext_begin;
226
271
  /* Data follows, as if there were an array:
227
- * char data[size - sizeof(upb_msg_internaldata)]; */
228
- } upb_msg_internaldata;
272
+ * char data[size - sizeof(upb_Message_InternalData)]; */
273
+ } upb_Message_InternalData;
229
274
 
230
275
  typedef struct {
231
- upb_msg_internaldata *internal;
232
- } upb_msg_internal;
276
+ upb_Message_InternalData* internal;
277
+ /* Message data follows. */
278
+ } upb_Message_Internal;
233
279
 
234
- /* Maps upb_fieldtype_t -> memory size. */
235
- extern char _upb_fieldtype_to_size[12];
280
+ /* Maps upb_CType -> memory size. */
281
+ extern char _upb_CTypeo_size[12];
236
282
 
237
- UPB_INLINE size_t upb_msg_sizeof(const upb_msglayout *l) {
238
- return l->size + sizeof(upb_msg_internal);
283
+ UPB_INLINE size_t upb_msg_sizeof(const upb_MiniTable* l) {
284
+ return l->size + sizeof(upb_Message_Internal);
239
285
  }
240
286
 
241
- UPB_INLINE upb_msg *_upb_msg_new_inl(const upb_msglayout *l, upb_arena *a) {
287
+ UPB_INLINE upb_Message* _upb_Message_New_inl(const upb_MiniTable* l,
288
+ upb_Arena* a) {
242
289
  size_t size = upb_msg_sizeof(l);
243
- void *mem = upb_arena_malloc(a, size);
244
- upb_msg *msg;
290
+ void* mem = upb_Arena_Malloc(a, size);
291
+ upb_Message* msg;
245
292
  if (UPB_UNLIKELY(!mem)) return NULL;
246
- msg = UPB_PTR_AT(mem, sizeof(upb_msg_internal), upb_msg);
293
+ msg = UPB_PTR_AT(mem, sizeof(upb_Message_Internal), upb_Message);
247
294
  memset(mem, 0, size);
248
295
  return msg;
249
296
  }
250
297
 
251
298
  /* Creates a new messages with the given layout on the given arena. */
252
- upb_msg *_upb_msg_new(const upb_msglayout *l, upb_arena *a);
299
+ upb_Message* _upb_Message_New(const upb_MiniTable* l, upb_Arena* a);
253
300
 
254
- UPB_INLINE upb_msg_internal *upb_msg_getinternal(upb_msg *msg) {
255
- ptrdiff_t size = sizeof(upb_msg_internal);
256
- return (upb_msg_internal*)((char*)msg - size);
301
+ UPB_INLINE upb_Message_Internal* upb_Message_Getinternal(upb_Message* msg) {
302
+ ptrdiff_t size = sizeof(upb_Message_Internal);
303
+ return (upb_Message_Internal*)((char*)msg - size);
257
304
  }
258
305
 
259
306
  /* Clears the given message. */
260
- void _upb_msg_clear(upb_msg *msg, const upb_msglayout *l);
307
+ void _upb_Message_Clear(upb_Message* msg, const upb_MiniTable* l);
261
308
 
262
309
  /* Discards the unknown fields for this message only. */
263
- void _upb_msg_discardunknown_shallow(upb_msg *msg);
310
+ void _upb_Message_DiscardUnknown_shallow(upb_Message* msg);
264
311
 
265
312
  /* Adds unknown data (serialized protobuf data) to the given message. The data
266
313
  * is copied into the message instance. */
267
- bool _upb_msg_addunknown(upb_msg *msg, const char *data, size_t len,
268
- upb_arena *arena);
314
+ bool _upb_Message_AddUnknown(upb_Message* msg, const char* data, size_t len,
315
+ upb_Arena* arena);
269
316
 
270
- /** upb_msg_ext ***************************************************************/
317
+ /** upb_Message_Extension *****************************************************/
271
318
 
272
319
  /* The internal representation of an extension is self-describing: it contains
273
320
  * enough information that we can serialize it to binary format without needing
274
- * to look it up in a registry. */
321
+ * to look it up in a upb_ExtensionRegistry.
322
+ *
323
+ * This representation allocates 16 bytes to data on 64-bit platforms. This is
324
+ * rather wasteful for scalars (in the extreme case of bool, it wastes 15
325
+ * bytes). We accept this because we expect messages to be the most common
326
+ * extension type. */
275
327
  typedef struct {
276
- const upb_msglayout_ext *ext;
328
+ const upb_MiniTable_Extension* ext;
277
329
  union {
278
- upb_strview str;
279
- void *ptr;
280
- double dbl;
330
+ upb_StringView str;
331
+ void* ptr;
281
332
  char scalar_data[8];
282
333
  } data;
283
- } upb_msg_ext;
334
+ } upb_Message_Extension;
284
335
 
285
- /* Adds the given extension data to the given message. The returned extension will
286
- * have its "ext" member initialized according to |ext|. */
287
- upb_msg_ext *_upb_msg_getorcreateext(upb_msg *msg, const upb_msglayout_ext *ext,
288
- upb_arena *arena);
336
+ /* Adds the given extension data to the given message. |ext| is copied into the
337
+ * message instance. This logically replaces any previously-added extension with
338
+ * this number */
339
+ upb_Message_Extension* _upb_Message_Getorcreateext(
340
+ upb_Message* msg, const upb_MiniTable_Extension* ext, upb_Arena* arena);
289
341
 
290
342
  /* Returns an array of extensions for this message. Note: the array is
291
343
  * ordered in reverse relative to the order of creation. */
292
- const upb_msg_ext *_upb_msg_getexts(const upb_msg *msg, size_t *count);
344
+ const upb_Message_Extension* _upb_Message_Getexts(const upb_Message* msg,
345
+ size_t* count);
293
346
 
294
347
  /* Returns an extension for the given field number, or NULL if no extension
295
348
  * exists for this field number. */
296
- const upb_msg_ext *_upb_msg_getext(const upb_msg *msg,
297
- const upb_msglayout_ext *ext);
349
+ const upb_Message_Extension* _upb_Message_Getext(
350
+ const upb_Message* msg, const upb_MiniTable_Extension* ext);
298
351
 
299
- void _upb_msg_clearext(upb_msg *msg, const upb_msglayout_ext *ext);
352
+ void _upb_Message_Clearext(upb_Message* msg,
353
+ const upb_MiniTable_Extension* ext);
354
+
355
+ void _upb_Message_Clearext(upb_Message* msg,
356
+ const upb_MiniTable_Extension* ext);
300
357
 
301
358
  /** Hasbit access *************************************************************/
302
359
 
303
- UPB_INLINE bool _upb_hasbit(const upb_msg *msg, size_t idx) {
360
+ UPB_INLINE bool _upb_hasbit(const upb_Message* msg, size_t idx) {
304
361
  return (*UPB_PTR_AT(msg, idx / 8, const char) & (1 << (idx % 8))) != 0;
305
362
  }
306
363
 
307
- UPB_INLINE void _upb_sethas(const upb_msg *msg, size_t idx) {
364
+ UPB_INLINE void _upb_sethas(const upb_Message* msg, size_t idx) {
308
365
  (*UPB_PTR_AT(msg, idx / 8, char)) |= (char)(1 << (idx % 8));
309
366
  }
310
367
 
311
- UPB_INLINE void _upb_clearhas(const upb_msg *msg, size_t idx) {
368
+ UPB_INLINE void _upb_clearhas(const upb_Message* msg, size_t idx) {
312
369
  (*UPB_PTR_AT(msg, idx / 8, char)) &= (char)(~(1 << (idx % 8)));
313
370
  }
314
371
 
315
- UPB_INLINE size_t _upb_msg_hasidx(const upb_msglayout_field *f) {
372
+ UPB_INLINE size_t _upb_Message_Hasidx(const upb_MiniTable_Field* f) {
316
373
  UPB_ASSERT(f->presence > 0);
317
374
  return f->presence;
318
375
  }
319
376
 
320
- UPB_INLINE bool _upb_hasbit_field(const upb_msg *msg,
321
- const upb_msglayout_field *f) {
322
- return _upb_hasbit(msg, _upb_msg_hasidx(f));
377
+ UPB_INLINE bool _upb_hasbit_field(const upb_Message* msg,
378
+ const upb_MiniTable_Field* f) {
379
+ return _upb_hasbit(msg, _upb_Message_Hasidx(f));
323
380
  }
324
381
 
325
- UPB_INLINE void _upb_sethas_field(const upb_msg *msg,
326
- const upb_msglayout_field *f) {
327
- _upb_sethas(msg, _upb_msg_hasidx(f));
382
+ UPB_INLINE void _upb_sethas_field(const upb_Message* msg,
383
+ const upb_MiniTable_Field* f) {
384
+ _upb_sethas(msg, _upb_Message_Hasidx(f));
328
385
  }
329
386
 
330
- UPB_INLINE void _upb_clearhas_field(const upb_msg *msg,
331
- const upb_msglayout_field *f) {
332
- _upb_clearhas(msg, _upb_msg_hasidx(f));
387
+ UPB_INLINE void _upb_clearhas_field(const upb_Message* msg,
388
+ const upb_MiniTable_Field* f) {
389
+ _upb_clearhas(msg, _upb_Message_Hasidx(f));
333
390
  }
334
391
 
335
392
  /** Oneof case access *********************************************************/
336
393
 
337
- UPB_INLINE uint32_t *_upb_oneofcase(upb_msg *msg, size_t case_ofs) {
394
+ UPB_INLINE uint32_t* _upb_oneofcase(upb_Message* msg, size_t case_ofs) {
338
395
  return UPB_PTR_AT(msg, case_ofs, uint32_t);
339
396
  }
340
397
 
341
- UPB_INLINE uint32_t _upb_getoneofcase(const void *msg, size_t case_ofs) {
398
+ UPB_INLINE uint32_t _upb_getoneofcase(const void* msg, size_t case_ofs) {
342
399
  return *UPB_PTR_AT(msg, case_ofs, uint32_t);
343
400
  }
344
401
 
345
- UPB_INLINE size_t _upb_oneofcase_ofs(const upb_msglayout_field *f) {
402
+ UPB_INLINE size_t _upb_oneofcase_ofs(const upb_MiniTable_Field* f) {
346
403
  UPB_ASSERT(f->presence < 0);
347
404
  return ~(ptrdiff_t)f->presence;
348
405
  }
349
406
 
350
- UPB_INLINE uint32_t *_upb_oneofcase_field(upb_msg *msg,
351
- const upb_msglayout_field *f) {
407
+ UPB_INLINE uint32_t* _upb_oneofcase_field(upb_Message* msg,
408
+ const upb_MiniTable_Field* f) {
352
409
  return _upb_oneofcase(msg, _upb_oneofcase_ofs(f));
353
410
  }
354
411
 
355
- UPB_INLINE uint32_t _upb_getoneofcase_field(const upb_msg *msg,
356
- const upb_msglayout_field *f) {
412
+ UPB_INLINE uint32_t _upb_getoneofcase_field(const upb_Message* msg,
413
+ const upb_MiniTable_Field* f) {
357
414
  return _upb_getoneofcase(msg, _upb_oneofcase_ofs(f));
358
415
  }
359
416
 
360
- UPB_INLINE bool _upb_has_submsg_nohasbit(const upb_msg *msg, size_t ofs) {
361
- return *UPB_PTR_AT(msg, ofs, const upb_msg*) != NULL;
417
+ UPB_INLINE bool _upb_has_submsg_nohasbit(const upb_Message* msg, size_t ofs) {
418
+ return *UPB_PTR_AT(msg, ofs, const upb_Message*) != NULL;
362
419
  }
363
420
 
364
- /** upb_array *****************************************************************/
421
+ /** upb_Array *****************************************************************/
365
422
 
366
423
  /* Our internal representation for repeated fields. */
367
424
  typedef struct {
368
- uintptr_t data; /* Tagged ptr: low 3 bits of ptr are lg2(elem size). */
369
- size_t len; /* Measured in elements. */
370
- size_t size; /* Measured in elements. */
425
+ uintptr_t data; /* Tagged ptr: low 3 bits of ptr are lg2(elem size). */
426
+ size_t len; /* Measured in elements. */
427
+ size_t size; /* Measured in elements. */
371
428
  uint64_t junk;
372
- } upb_array;
429
+ } upb_Array;
373
430
 
374
- UPB_INLINE const void *_upb_array_constptr(const upb_array *arr) {
431
+ UPB_INLINE const void* _upb_array_constptr(const upb_Array* arr) {
375
432
  UPB_ASSERT((arr->data & 7) <= 4);
376
433
  return (void*)(arr->data & ~(uintptr_t)7);
377
434
  }
@@ -381,7 +438,7 @@ UPB_INLINE uintptr_t _upb_array_tagptr(void* ptr, int elem_size_lg2) {
381
438
  return (uintptr_t)ptr | elem_size_lg2;
382
439
  }
383
440
 
384
- UPB_INLINE void *_upb_array_ptr(upb_array *arr) {
441
+ UPB_INLINE void* _upb_array_ptr(upb_Array* arr) {
385
442
  return (void*)_upb_array_constptr(arr);
386
443
  }
387
444
 
@@ -391,11 +448,11 @@ UPB_INLINE uintptr_t _upb_tag_arrptr(void* ptr, int elem_size_lg2) {
391
448
  return (uintptr_t)ptr | (unsigned)elem_size_lg2;
392
449
  }
393
450
 
394
- UPB_INLINE upb_array *_upb_array_new(upb_arena *a, size_t init_size,
451
+ UPB_INLINE upb_Array* _upb_Array_New(upb_Arena* a, size_t init_size,
395
452
  int elem_size_lg2) {
396
- const size_t arr_size = UPB_ALIGN_UP(sizeof(upb_array), 8);
397
- const size_t bytes = sizeof(upb_array) + (init_size << elem_size_lg2);
398
- upb_array *arr = (upb_array*)upb_arena_malloc(a, bytes);
453
+ const size_t arr_size = UPB_ALIGN_UP(sizeof(upb_Array), 8);
454
+ const size_t bytes = sizeof(upb_Array) + (init_size << elem_size_lg2);
455
+ upb_Array* arr = (upb_Array*)upb_Arena_Malloc(a, bytes);
399
456
  if (!arr) return NULL;
400
457
  arr->data = _upb_tag_arrptr(UPB_PTR_AT(arr, arr_size, void), elem_size_lg2);
401
458
  arr->len = 0;
@@ -404,30 +461,34 @@ UPB_INLINE upb_array *_upb_array_new(upb_arena *a, size_t init_size,
404
461
  }
405
462
 
406
463
  /* Resizes the capacity of the array to be at least min_size. */
407
- bool _upb_array_realloc(upb_array *arr, size_t min_size, upb_arena *arena);
464
+ bool _upb_array_realloc(upb_Array* arr, size_t min_size, upb_Arena* arena);
408
465
 
409
466
  /* Fallback functions for when the accessors require a resize. */
410
- void *_upb_array_resize_fallback(upb_array **arr_ptr, size_t size,
411
- int elem_size_lg2, upb_arena *arena);
412
- bool _upb_array_append_fallback(upb_array **arr_ptr, const void *value,
413
- int elem_size_lg2, upb_arena *arena);
467
+ void* _upb_Array_Resize_fallback(upb_Array** arr_ptr, size_t size,
468
+ int elem_size_lg2, upb_Arena* arena);
469
+ bool _upb_Array_Append_fallback(upb_Array** arr_ptr, const void* value,
470
+ int elem_size_lg2, upb_Arena* arena);
414
471
 
415
- UPB_INLINE bool _upb_array_reserve(upb_array *arr, size_t size,
416
- upb_arena *arena) {
472
+ UPB_INLINE bool _upb_array_reserve(upb_Array* arr, size_t size,
473
+ upb_Arena* arena) {
417
474
  if (arr->size < size) return _upb_array_realloc(arr, size, arena);
418
475
  return true;
419
476
  }
420
477
 
421
- UPB_INLINE bool _upb_array_resize(upb_array *arr, size_t size,
422
- upb_arena *arena) {
478
+ UPB_INLINE bool _upb_Array_Resize(upb_Array* arr, size_t size,
479
+ upb_Arena* arena) {
423
480
  if (!_upb_array_reserve(arr, size, arena)) return false;
424
481
  arr->len = size;
425
482
  return true;
426
483
  }
427
484
 
428
- UPB_INLINE const void *_upb_array_accessor(const void *msg, size_t ofs,
429
- size_t *size) {
430
- const upb_array *arr = *UPB_PTR_AT(msg, ofs, const upb_array*);
485
+ UPB_INLINE void _upb_array_detach(const void* msg, size_t ofs) {
486
+ *UPB_PTR_AT(msg, ofs, upb_Array*) = NULL;
487
+ }
488
+
489
+ UPB_INLINE const void* _upb_array_accessor(const void* msg, size_t ofs,
490
+ size_t* size) {
491
+ const upb_Array* arr = *UPB_PTR_AT(msg, ofs, const upb_Array*);
431
492
  if (arr) {
432
493
  if (size) *size = arr->len;
433
494
  return _upb_array_constptr(arr);
@@ -437,9 +498,9 @@ UPB_INLINE const void *_upb_array_accessor(const void *msg, size_t ofs,
437
498
  }
438
499
  }
439
500
 
440
- UPB_INLINE void *_upb_array_mutable_accessor(void *msg, size_t ofs,
441
- size_t *size) {
442
- upb_array *arr = *UPB_PTR_AT(msg, ofs, upb_array*);
501
+ UPB_INLINE void* _upb_array_mutable_accessor(void* msg, size_t ofs,
502
+ size_t* size) {
503
+ upb_Array* arr = *UPB_PTR_AT(msg, ofs, upb_Array*);
443
504
  if (arr) {
444
505
  if (size) *size = arr->len;
445
506
  return _upb_array_ptr(arr);
@@ -449,28 +510,28 @@ UPB_INLINE void *_upb_array_mutable_accessor(void *msg, size_t ofs,
449
510
  }
450
511
  }
451
512
 
452
- UPB_INLINE void *_upb_array_resize_accessor2(void *msg, size_t ofs, size_t size,
513
+ UPB_INLINE void* _upb_Array_Resize_accessor2(void* msg, size_t ofs, size_t size,
453
514
  int elem_size_lg2,
454
- upb_arena *arena) {
455
- upb_array **arr_ptr = UPB_PTR_AT(msg, ofs, upb_array *);
456
- upb_array *arr = *arr_ptr;
515
+ upb_Arena* arena) {
516
+ upb_Array** arr_ptr = UPB_PTR_AT(msg, ofs, upb_Array*);
517
+ upb_Array* arr = *arr_ptr;
457
518
  if (!arr || arr->size < size) {
458
- return _upb_array_resize_fallback(arr_ptr, size, elem_size_lg2, arena);
519
+ return _upb_Array_Resize_fallback(arr_ptr, size, elem_size_lg2, arena);
459
520
  }
460
521
  arr->len = size;
461
522
  return _upb_array_ptr(arr);
462
523
  }
463
524
 
464
- UPB_INLINE bool _upb_array_append_accessor2(void *msg, size_t ofs,
525
+ UPB_INLINE bool _upb_Array_Append_accessor2(void* msg, size_t ofs,
465
526
  int elem_size_lg2,
466
- const void *value,
467
- upb_arena *arena) {
468
- upb_array **arr_ptr = UPB_PTR_AT(msg, ofs, upb_array *);
527
+ const void* value,
528
+ upb_Arena* arena) {
529
+ upb_Array** arr_ptr = UPB_PTR_AT(msg, ofs, upb_Array*);
469
530
  size_t elem_size = 1 << elem_size_lg2;
470
- upb_array *arr = *arr_ptr;
471
- void *ptr;
531
+ upb_Array* arr = *arr_ptr;
532
+ void* ptr;
472
533
  if (!arr || arr->len == arr->size) {
473
- return _upb_array_append_fallback(arr_ptr, value, elem_size_lg2, arena);
534
+ return _upb_Array_Append_fallback(arr_ptr, value, elem_size_lg2, arena);
474
535
  }
475
536
  ptr = _upb_array_ptr(arr);
476
537
  memcpy(UPB_PTR_AT(ptr, arr->len * elem_size, char), value, elem_size);
@@ -479,42 +540,41 @@ UPB_INLINE bool _upb_array_append_accessor2(void *msg, size_t ofs,
479
540
  }
480
541
 
481
542
  /* Used by old generated code, remove once all code has been regenerated. */
482
- UPB_INLINE int _upb_sizelg2(upb_fieldtype_t type) {
543
+ UPB_INLINE int _upb_sizelg2(upb_CType type) {
483
544
  switch (type) {
484
- case UPB_TYPE_BOOL:
545
+ case kUpb_CType_Bool:
485
546
  return 0;
486
- case UPB_TYPE_FLOAT:
487
- case UPB_TYPE_INT32:
488
- case UPB_TYPE_UINT32:
489
- case UPB_TYPE_ENUM:
547
+ case kUpb_CType_Float:
548
+ case kUpb_CType_Int32:
549
+ case kUpb_CType_UInt32:
550
+ case kUpb_CType_Enum:
490
551
  return 2;
491
- case UPB_TYPE_MESSAGE:
552
+ case kUpb_CType_Message:
492
553
  return UPB_SIZE(2, 3);
493
- case UPB_TYPE_DOUBLE:
494
- case UPB_TYPE_INT64:
495
- case UPB_TYPE_UINT64:
554
+ case kUpb_CType_Double:
555
+ case kUpb_CType_Int64:
556
+ case kUpb_CType_UInt64:
496
557
  return 3;
497
- case UPB_TYPE_STRING:
498
- case UPB_TYPE_BYTES:
558
+ case kUpb_CType_String:
559
+ case kUpb_CType_Bytes:
499
560
  return UPB_SIZE(3, 4);
500
561
  }
501
562
  UPB_UNREACHABLE();
502
563
  }
503
- UPB_INLINE void *_upb_array_resize_accessor(void *msg, size_t ofs, size_t size,
504
- upb_fieldtype_t type,
505
- upb_arena *arena) {
506
- return _upb_array_resize_accessor2(msg, ofs, size, _upb_sizelg2(type), arena);
564
+ UPB_INLINE void* _upb_Array_Resize_accessor(void* msg, size_t ofs, size_t size,
565
+ upb_CType type, upb_Arena* arena) {
566
+ return _upb_Array_Resize_accessor2(msg, ofs, size, _upb_sizelg2(type), arena);
507
567
  }
508
- UPB_INLINE bool _upb_array_append_accessor(void *msg, size_t ofs,
509
- size_t elem_size, upb_fieldtype_t type,
510
- const void *value,
511
- upb_arena *arena) {
568
+ UPB_INLINE bool _upb_Array_Append_accessor(void* msg, size_t ofs,
569
+ size_t elem_size, upb_CType type,
570
+ const void* value,
571
+ upb_Arena* arena) {
512
572
  (void)elem_size;
513
- return _upb_array_append_accessor2(msg, ofs, _upb_sizelg2(type), value,
573
+ return _upb_Array_Append_accessor2(msg, ofs, _upb_sizelg2(type), value,
514
574
  arena);
515
575
  }
516
576
 
517
- /** upb_map *******************************************************************/
577
+ /** upb_Map *******************************************************************/
518
578
 
519
579
  /* Right now we use strmaps for everything. We'll likely want to use
520
580
  * integer-specific maps for integer-keyed maps.*/
@@ -525,25 +585,25 @@ typedef struct {
525
585
  char val_size;
526
586
 
527
587
  upb_strtable table;
528
- } upb_map;
588
+ } upb_Map;
529
589
 
530
590
  /* Map entries aren't actually stored, they are only used during parsing. For
531
591
  * parsing, it helps a lot if all map entry messages have the same layout.
532
592
  * The compiler and def.c must ensure that all map entries have this layout. */
533
593
  typedef struct {
534
- upb_msg_internal internal;
594
+ upb_Message_Internal internal;
535
595
  union {
536
- upb_strview str; /* For str/bytes. */
537
- upb_value val; /* For all other types. */
596
+ upb_StringView str; /* For str/bytes. */
597
+ upb_value val; /* For all other types. */
538
598
  } k;
539
599
  union {
540
- upb_strview str; /* For str/bytes. */
541
- upb_value val; /* For all other types. */
600
+ upb_StringView str; /* For str/bytes. */
601
+ upb_value val; /* For all other types. */
542
602
  } v;
543
- } upb_map_entry;
603
+ } upb_MapEntry;
544
604
 
545
605
  /* Creates a new map on the given arena with this key/value type. */
546
- upb_map *_upb_map_new(upb_arena *a, size_t key_size, size_t value_size);
606
+ upb_Map* _upb_Map_New(upb_Arena* a, size_t key_size, size_t value_size);
547
607
 
548
608
  /* Converting between internal table representation and user values.
549
609
  *
@@ -554,15 +614,15 @@ upb_map *_upb_map_new(upb_arena *a, size_t key_size, size_t value_size);
554
614
  * from other types when stored in a map.
555
615
  */
556
616
 
557
- UPB_INLINE upb_strview _upb_map_tokey(const void *key, size_t size) {
617
+ UPB_INLINE upb_StringView _upb_map_tokey(const void* key, size_t size) {
558
618
  if (size == UPB_MAPTYPE_STRING) {
559
- return *(upb_strview*)key;
619
+ return *(upb_StringView*)key;
560
620
  } else {
561
- return upb_strview_make((const char*)key, size);
621
+ return upb_StringView_FromDataAndSize((const char*)key, size);
562
622
  }
563
623
  }
564
624
 
565
- UPB_INLINE void _upb_map_fromkey(upb_strview key, void* out, size_t size) {
625
+ UPB_INLINE void _upb_map_fromkey(upb_StringView key, void* out, size_t size) {
566
626
  if (size == UPB_MAPTYPE_STRING) {
567
627
  memcpy(out, &key, sizeof(key));
568
628
  } else {
@@ -570,12 +630,12 @@ UPB_INLINE void _upb_map_fromkey(upb_strview key, void* out, size_t size) {
570
630
  }
571
631
  }
572
632
 
573
- UPB_INLINE bool _upb_map_tovalue(const void *val, size_t size, upb_value *msgval,
574
- upb_arena *a) {
633
+ UPB_INLINE bool _upb_map_tovalue(const void* val, size_t size,
634
+ upb_value* msgval, upb_Arena* a) {
575
635
  if (size == UPB_MAPTYPE_STRING) {
576
- upb_strview *strp = (upb_strview*)upb_arena_malloc(a, sizeof(*strp));
636
+ upb_StringView* strp = (upb_StringView*)upb_Arena_Malloc(a, sizeof(*strp));
577
637
  if (!strp) return false;
578
- *strp = *(upb_strview*)val;
638
+ *strp = *(upb_StringView*)val;
579
639
  *msgval = upb_value_ptr(strp);
580
640
  } else {
581
641
  memcpy(msgval, val, size);
@@ -585,8 +645,8 @@ UPB_INLINE bool _upb_map_tovalue(const void *val, size_t size, upb_value *msgval
585
645
 
586
646
  UPB_INLINE void _upb_map_fromvalue(upb_value val, void* out, size_t size) {
587
647
  if (size == UPB_MAPTYPE_STRING) {
588
- const upb_strview *strp = (const upb_strview*)upb_value_getptr(val);
589
- memcpy(out, strp, sizeof(upb_strview));
648
+ const upb_StringView* strp = (const upb_StringView*)upb_value_getptr(val);
649
+ memcpy(out, strp, sizeof(upb_StringView));
590
650
  } else {
591
651
  memcpy(out, &val, size);
592
652
  }
@@ -594,14 +654,14 @@ UPB_INLINE void _upb_map_fromvalue(upb_value val, void* out, size_t size) {
594
654
 
595
655
  /* Map operations, shared by reflection and generated code. */
596
656
 
597
- UPB_INLINE size_t _upb_map_size(const upb_map *map) {
657
+ UPB_INLINE size_t _upb_Map_Size(const upb_Map* map) {
598
658
  return map->table.t.count;
599
659
  }
600
660
 
601
- UPB_INLINE bool _upb_map_get(const upb_map *map, const void *key,
602
- size_t key_size, void *val, size_t val_size) {
661
+ UPB_INLINE bool _upb_Map_Get(const upb_Map* map, const void* key,
662
+ size_t key_size, void* val, size_t val_size) {
603
663
  upb_value tabval;
604
- upb_strview k = _upb_map_tokey(key, key_size);
664
+ upb_StringView k = _upb_map_tokey(key, key_size);
605
665
  bool ret = upb_strtable_lookup2(&map->table, k.data, k.size, &tabval);
606
666
  if (ret && val) {
607
667
  _upb_map_fromvalue(tabval, val, val_size);
@@ -609,7 +669,7 @@ UPB_INLINE bool _upb_map_get(const upb_map *map, const void *key,
609
669
  return ret;
610
670
  }
611
671
 
612
- UPB_INLINE void* _upb_map_next(const upb_map *map, size_t *iter) {
672
+ UPB_INLINE void* _upb_map_next(const upb_Map* map, size_t* iter) {
613
673
  upb_strtable_iter it;
614
674
  it.t = &map->table;
615
675
  it.index = *iter;
@@ -619,108 +679,110 @@ UPB_INLINE void* _upb_map_next(const upb_map *map, size_t *iter) {
619
679
  return (void*)str_tabent(&it);
620
680
  }
621
681
 
622
- UPB_INLINE bool _upb_map_set(upb_map *map, const void *key, size_t key_size,
623
- void *val, size_t val_size, upb_arena *a) {
624
- upb_strview strkey = _upb_map_tokey(key, key_size);
682
+ UPB_INLINE bool _upb_Map_Set(upb_Map* map, const void* key, size_t key_size,
683
+ void* val, size_t val_size, upb_Arena* a) {
684
+ upb_StringView strkey = _upb_map_tokey(key, key_size);
625
685
  upb_value tabval = {0};
626
686
  if (!_upb_map_tovalue(val, val_size, &tabval, a)) return false;
627
687
 
628
688
  /* TODO(haberman): add overwrite operation to minimize number of lookups. */
629
- upb_strtable_remove(&map->table, strkey.data, strkey.size, NULL);
689
+ upb_strtable_remove2(&map->table, strkey.data, strkey.size, NULL);
630
690
  return upb_strtable_insert(&map->table, strkey.data, strkey.size, tabval, a);
631
691
  }
632
692
 
633
- UPB_INLINE bool _upb_map_delete(upb_map *map, const void *key, size_t key_size) {
634
- upb_strview k = _upb_map_tokey(key, key_size);
635
- return upb_strtable_remove(&map->table, k.data, k.size, NULL);
693
+ UPB_INLINE bool _upb_Map_Delete(upb_Map* map, const void* key,
694
+ size_t key_size) {
695
+ upb_StringView k = _upb_map_tokey(key, key_size);
696
+ return upb_strtable_remove2(&map->table, k.data, k.size, NULL);
636
697
  }
637
698
 
638
- UPB_INLINE void _upb_map_clear(upb_map *map) {
699
+ UPB_INLINE void _upb_Map_Clear(upb_Map* map) {
639
700
  upb_strtable_clear(&map->table);
640
701
  }
641
702
 
642
703
  /* Message map operations, these get the map from the message first. */
643
704
 
644
- UPB_INLINE size_t _upb_msg_map_size(const upb_msg *msg, size_t ofs) {
645
- upb_map *map = *UPB_PTR_AT(msg, ofs, upb_map *);
646
- return map ? _upb_map_size(map) : 0;
705
+ UPB_INLINE size_t _upb_msg_map_size(const upb_Message* msg, size_t ofs) {
706
+ upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
707
+ return map ? _upb_Map_Size(map) : 0;
647
708
  }
648
709
 
649
- UPB_INLINE bool _upb_msg_map_get(const upb_msg *msg, size_t ofs,
650
- const void *key, size_t key_size, void *val,
710
+ UPB_INLINE bool _upb_msg_map_get(const upb_Message* msg, size_t ofs,
711
+ const void* key, size_t key_size, void* val,
651
712
  size_t val_size) {
652
- upb_map *map = *UPB_PTR_AT(msg, ofs, upb_map *);
713
+ upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
653
714
  if (!map) return false;
654
- return _upb_map_get(map, key, key_size, val, val_size);
715
+ return _upb_Map_Get(map, key, key_size, val, val_size);
655
716
  }
656
717
 
657
- UPB_INLINE void *_upb_msg_map_next(const upb_msg *msg, size_t ofs,
658
- size_t *iter) {
659
- upb_map *map = *UPB_PTR_AT(msg, ofs, upb_map *);
718
+ UPB_INLINE void* _upb_msg_map_next(const upb_Message* msg, size_t ofs,
719
+ size_t* iter) {
720
+ upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
660
721
  if (!map) return NULL;
661
722
  return _upb_map_next(map, iter);
662
723
  }
663
724
 
664
- UPB_INLINE bool _upb_msg_map_set(upb_msg *msg, size_t ofs, const void *key,
665
- size_t key_size, void *val, size_t val_size,
666
- upb_arena *arena) {
667
- upb_map **map = UPB_PTR_AT(msg, ofs, upb_map *);
725
+ UPB_INLINE bool _upb_msg_map_set(upb_Message* msg, size_t ofs, const void* key,
726
+ size_t key_size, void* val, size_t val_size,
727
+ upb_Arena* arena) {
728
+ upb_Map** map = UPB_PTR_AT(msg, ofs, upb_Map*);
668
729
  if (!*map) {
669
- *map = _upb_map_new(arena, key_size, val_size);
730
+ *map = _upb_Map_New(arena, key_size, val_size);
670
731
  }
671
- return _upb_map_set(*map, key, key_size, val, val_size, arena);
732
+ return _upb_Map_Set(*map, key, key_size, val, val_size, arena);
672
733
  }
673
734
 
674
- UPB_INLINE bool _upb_msg_map_delete(upb_msg *msg, size_t ofs, const void *key,
675
- size_t key_size) {
676
- upb_map *map = *UPB_PTR_AT(msg, ofs, upb_map *);
735
+ UPB_INLINE bool _upb_msg_map_delete(upb_Message* msg, size_t ofs,
736
+ const void* key, size_t key_size) {
737
+ upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
677
738
  if (!map) return false;
678
- return _upb_map_delete(map, key, key_size);
739
+ return _upb_Map_Delete(map, key, key_size);
679
740
  }
680
741
 
681
- UPB_INLINE void _upb_msg_map_clear(upb_msg *msg, size_t ofs) {
682
- upb_map *map = *UPB_PTR_AT(msg, ofs, upb_map *);
742
+ UPB_INLINE void _upb_msg_map_clear(upb_Message* msg, size_t ofs) {
743
+ upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
683
744
  if (!map) return;
684
- _upb_map_clear(map);
745
+ _upb_Map_Clear(map);
685
746
  }
686
747
 
687
748
  /* Accessing map key/value from a pointer, used by generated code only. */
688
749
 
689
750
  UPB_INLINE void _upb_msg_map_key(const void* msg, void* key, size_t size) {
690
- const upb_tabent *ent = (const upb_tabent*)msg;
751
+ const upb_tabent* ent = (const upb_tabent*)msg;
691
752
  uint32_t u32len;
692
- upb_strview k;
753
+ upb_StringView k;
693
754
  k.data = upb_tabstr(ent->key, &u32len);
694
755
  k.size = u32len;
695
756
  _upb_map_fromkey(k, key, size);
696
757
  }
697
758
 
698
759
  UPB_INLINE void _upb_msg_map_value(const void* msg, void* val, size_t size) {
699
- const upb_tabent *ent = (const upb_tabent*)msg;
760
+ const upb_tabent* ent = (const upb_tabent*)msg;
700
761
  upb_value v = {ent->val.val};
701
762
  _upb_map_fromvalue(v, val, size);
702
763
  }
703
764
 
704
- UPB_INLINE void _upb_msg_map_set_value(void* msg, const void* val, size_t size) {
705
- upb_tabent *ent = (upb_tabent*)msg;
765
+ UPB_INLINE void _upb_msg_map_set_value(void* msg, const void* val,
766
+ size_t size) {
767
+ upb_tabent* ent = (upb_tabent*)msg;
706
768
  /* This is like _upb_map_tovalue() except the entry already exists so we can
707
- * reuse the allocated upb_strview for string fields. */
769
+ * reuse the allocated upb_StringView for string fields. */
708
770
  if (size == UPB_MAPTYPE_STRING) {
709
- upb_strview *strp = (upb_strview*)(uintptr_t)ent->val.val;
771
+ upb_StringView* strp = (upb_StringView*)(uintptr_t)ent->val.val;
710
772
  memcpy(strp, val, sizeof(*strp));
711
773
  } else {
712
774
  memcpy(&ent->val.val, val, size);
713
775
  }
714
776
  }
715
777
 
716
- /** _upb_mapsorter *************************************************************/
778
+ /** _upb_mapsorter ************************************************************/
717
779
 
718
780
  /* _upb_mapsorter sorts maps and provides ordered iteration over the entries.
719
- * Since maps can be recursive (map values can be messages which contain other maps).
720
- * _upb_mapsorter can contain a stack of maps. */
781
+ * Since maps can be recursive (map values can be messages which contain other
782
+ * maps). _upb_mapsorter can contain a stack of maps. */
721
783
 
722
784
  typedef struct {
723
- upb_tabent const**entries;
785
+ upb_tabent const** entries;
724
786
  int size;
725
787
  int cap;
726
788
  } _upb_mapsorter;
@@ -731,29 +793,29 @@ typedef struct {
731
793
  int end;
732
794
  } _upb_sortedmap;
733
795
 
734
- UPB_INLINE void _upb_mapsorter_init(_upb_mapsorter *s) {
796
+ UPB_INLINE void _upb_mapsorter_init(_upb_mapsorter* s) {
735
797
  s->entries = NULL;
736
798
  s->size = 0;
737
799
  s->cap = 0;
738
800
  }
739
801
 
740
- UPB_INLINE void _upb_mapsorter_destroy(_upb_mapsorter *s) {
802
+ UPB_INLINE void _upb_mapsorter_destroy(_upb_mapsorter* s) {
741
803
  if (s->entries) free(s->entries);
742
804
  }
743
805
 
744
- bool _upb_mapsorter_pushmap(_upb_mapsorter *s, upb_descriptortype_t key_type,
745
- const upb_map *map, _upb_sortedmap *sorted);
806
+ bool _upb_mapsorter_pushmap(_upb_mapsorter* s, upb_FieldType key_type,
807
+ const upb_Map* map, _upb_sortedmap* sorted);
746
808
 
747
- UPB_INLINE void _upb_mapsorter_popmap(_upb_mapsorter *s, _upb_sortedmap *sorted) {
809
+ UPB_INLINE void _upb_mapsorter_popmap(_upb_mapsorter* s,
810
+ _upb_sortedmap* sorted) {
748
811
  s->size = sorted->start;
749
812
  }
750
813
 
751
- UPB_INLINE bool _upb_sortedmap_next(_upb_mapsorter *s, const upb_map *map,
752
- _upb_sortedmap *sorted,
753
- upb_map_entry *ent) {
814
+ UPB_INLINE bool _upb_sortedmap_next(_upb_mapsorter* s, const upb_Map* map,
815
+ _upb_sortedmap* sorted, upb_MapEntry* ent) {
754
816
  if (sorted->pos == sorted->end) return false;
755
- const upb_tabent *tabent = s->entries[sorted->pos++];
756
- upb_strview key = upb_tabstrview(tabent->key);
817
+ const upb_tabent* tabent = s->entries[sorted->pos++];
818
+ upb_StringView key = upb_tabstrview(tabent->key);
757
819
  _upb_map_fromkey(key, &ent->k, map->key_size);
758
820
  upb_value val = {tabent->val.val};
759
821
  _upb_map_fromvalue(val, &ent->v, map->val_size);
@@ -761,7 +823,7 @@ UPB_INLINE bool _upb_sortedmap_next(_upb_mapsorter *s, const upb_map *map,
761
823
  }
762
824
 
763
825
  #ifdef __cplusplus
764
- } /* extern "C" */
826
+ } /* extern "C" */
765
827
  #endif
766
828
 
767
829
  #include "upb/port_undef.inc"