grpc 1.42.0 → 1.52.0

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

Potentially problematic release.


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

Files changed (2320) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +778 -456
  3. data/include/grpc/byte_buffer.h +76 -1
  4. data/include/grpc/byte_buffer_reader.h +19 -1
  5. data/include/grpc/compression.h +2 -2
  6. data/include/grpc/event_engine/endpoint_config.h +11 -5
  7. data/include/grpc/event_engine/event_engine.h +137 -45
  8. data/include/grpc/event_engine/internal/memory_allocator_impl.h +2 -32
  9. data/include/grpc/event_engine/internal/slice_cast.h +67 -0
  10. data/include/grpc/event_engine/memory_allocator.h +28 -27
  11. data/include/grpc/event_engine/memory_request.h +57 -0
  12. data/include/grpc/event_engine/port.h +1 -1
  13. data/include/grpc/event_engine/slice.h +306 -0
  14. data/include/grpc/event_engine/slice_buffer.h +147 -0
  15. data/include/grpc/fork.h +25 -1
  16. data/include/grpc/grpc.h +44 -28
  17. data/include/grpc/grpc_posix.h +21 -20
  18. data/include/grpc/grpc_security.h +323 -195
  19. data/include/grpc/grpc_security_constants.h +1 -14
  20. data/include/grpc/impl/codegen/atm.h +3 -71
  21. data/include/grpc/impl/codegen/atm_gcc_atomic.h +3 -67
  22. data/include/grpc/impl/codegen/atm_gcc_sync.h +3 -61
  23. data/include/grpc/impl/codegen/atm_windows.h +3 -108
  24. data/include/grpc/impl/codegen/byte_buffer.h +4 -78
  25. data/include/grpc/impl/codegen/byte_buffer_reader.h +4 -19
  26. data/include/grpc/impl/codegen/compression_types.h +5 -85
  27. data/include/grpc/impl/codegen/connectivity_state.h +5 -21
  28. data/include/grpc/impl/codegen/fork.h +4 -25
  29. data/include/grpc/impl/codegen/gpr_types.h +4 -35
  30. data/include/grpc/impl/codegen/grpc_types.h +5 -788
  31. data/include/grpc/impl/codegen/log.h +3 -86
  32. data/include/grpc/impl/codegen/port_platform.h +3 -695
  33. data/include/grpc/impl/codegen/propagation_bits.h +3 -28
  34. data/include/grpc/impl/codegen/slice.h +4 -104
  35. data/include/grpc/impl/codegen/status.h +4 -131
  36. data/include/grpc/impl/codegen/sync.h +3 -42
  37. data/include/grpc/impl/codegen/sync_abseil.h +3 -12
  38. data/include/grpc/impl/codegen/sync_custom.h +3 -14
  39. data/include/grpc/impl/codegen/sync_generic.h +3 -25
  40. data/include/grpc/impl/codegen/sync_posix.h +3 -28
  41. data/include/grpc/impl/codegen/sync_windows.h +3 -16
  42. data/include/grpc/impl/compression_types.h +109 -0
  43. data/include/grpc/impl/connectivity_state.h +47 -0
  44. data/include/grpc/impl/grpc_types.h +824 -0
  45. data/include/grpc/impl/propagation_bits.h +54 -0
  46. data/include/grpc/impl/slice_type.h +112 -0
  47. data/include/grpc/load_reporting.h +1 -1
  48. data/include/grpc/module.modulemap +5 -1
  49. data/include/grpc/slice.h +1 -12
  50. data/include/grpc/status.h +131 -1
  51. data/include/grpc/support/atm.h +70 -1
  52. data/include/grpc/support/atm_gcc_atomic.h +59 -1
  53. data/include/grpc/support/atm_gcc_sync.h +58 -1
  54. data/include/grpc/support/atm_windows.h +105 -1
  55. data/include/grpc/support/log.h +87 -1
  56. data/include/grpc/support/log_windows.h +1 -1
  57. data/include/grpc/support/port_platform.h +767 -1
  58. data/include/grpc/support/string_util.h +1 -1
  59. data/include/grpc/support/sync.h +35 -2
  60. data/include/grpc/support/sync_abseil.h +11 -1
  61. data/include/grpc/support/sync_custom.h +13 -1
  62. data/include/grpc/support/sync_generic.h +24 -1
  63. data/include/grpc/support/sync_posix.h +27 -1
  64. data/include/grpc/support/sync_windows.h +15 -1
  65. data/include/grpc/support/time.h +25 -2
  66. data/src/core/ext/filters/census/grpc_context.cc +19 -17
  67. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +315 -0
  68. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +142 -0
  69. data/src/core/ext/filters/channel_idle/idle_filter_state.cc +96 -0
  70. data/src/core/ext/filters/channel_idle/idle_filter_state.h +68 -0
  71. data/src/core/ext/filters/client_channel/backend_metric.cc +22 -16
  72. data/src/core/ext/filters/client_channel/backend_metric.h +19 -8
  73. data/src/core/ext/filters/client_channel/backup_poller.cc +44 -40
  74. data/src/core/ext/filters/client_channel/backup_poller.h +23 -25
  75. data/src/core/ext/filters/client_channel/channel_connectivity.cc +94 -49
  76. data/src/core/ext/filters/client_channel/client_channel.cc +708 -630
  77. data/src/core/ext/filters/client_channel/client_channel.h +106 -60
  78. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +19 -23
  79. data/src/core/ext/filters/client_channel/client_channel_channelz.h +30 -20
  80. data/src/core/ext/filters/client_channel/client_channel_factory.cc +19 -43
  81. data/src/core/ext/filters/client_channel/client_channel_factory.h +8 -8
  82. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +26 -58
  83. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +153 -0
  84. data/src/core/ext/filters/client_channel/client_channel_service_config.h +111 -0
  85. data/src/core/ext/filters/client_channel/config_selector.cc +1 -0
  86. data/src/core/ext/filters/client_channel/config_selector.h +31 -25
  87. data/src/core/ext/filters/client_channel/connector.h +13 -8
  88. data/src/core/ext/filters/client_channel/dynamic_filters.cc +44 -59
  89. data/src/core/ext/filters/client_channel/dynamic_filters.h +19 -10
  90. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +4 -22
  91. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +24 -33
  92. data/src/core/ext/filters/client_channel/health/health_check_client.cc +139 -583
  93. data/src/core/ext/filters/client_channel/health/health_check_client.h +26 -160
  94. data/src/core/ext/filters/client_channel/http_proxy.cc +130 -164
  95. data/src/core/ext/filters/client_channel/http_proxy.h +43 -19
  96. data/src/core/ext/filters/client_channel/lb_call_state_internal.h +39 -0
  97. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +12 -8
  98. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +7 -5
  99. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +49 -0
  100. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +37 -16
  101. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +16 -11
  102. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +64 -134
  103. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +38 -21
  104. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +467 -414
  105. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +24 -32
  106. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +15 -3
  107. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +8 -6
  108. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +19 -22
  109. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +26 -21
  110. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +43 -34
  111. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +28 -27
  112. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +415 -0
  113. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +57 -0
  114. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +1129 -0
  115. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +94 -0
  116. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +221 -209
  117. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +488 -480
  118. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +525 -392
  119. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +16 -6
  120. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +725 -701
  121. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +282 -254
  122. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +174 -147
  123. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +287 -249
  124. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +290 -267
  125. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +42 -0
  126. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h +64 -0
  127. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +296 -297
  128. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +213 -215
  129. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +600 -738
  130. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +651 -0
  131. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h +60 -0
  132. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +364 -0
  133. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +4 -0
  134. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +19 -18
  135. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +42 -33
  136. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +678 -336
  137. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +65 -49
  138. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +50 -45
  139. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +111 -130
  140. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +420 -418
  141. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +92 -78
  142. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +18 -18
  143. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +21 -20
  144. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +2 -0
  145. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +20 -20
  146. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +124 -255
  147. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +37 -49
  148. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +18 -3
  149. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +189 -102
  150. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +269 -0
  151. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +121 -0
  152. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +56 -61
  153. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +654 -523
  154. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +4 -2
  155. data/src/core/ext/filters/client_channel/retry_filter.cc +382 -294
  156. data/src/core/ext/filters/client_channel/retry_filter.h +1 -0
  157. data/src/core/ext/filters/client_channel/retry_service_config.cc +198 -232
  158. data/src/core/ext/filters/client_channel/retry_service_config.h +41 -32
  159. data/src/core/ext/filters/client_channel/retry_throttle.cc +37 -60
  160. data/src/core/ext/filters/client_channel/retry_throttle.h +44 -31
  161. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +37 -19
  162. data/src/core/ext/filters/client_channel/subchannel.cc +342 -405
  163. data/src/core/ext/filters/client_channel/subchannel.h +113 -83
  164. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +38 -0
  165. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +17 -77
  166. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +38 -44
  167. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +470 -0
  168. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +222 -0
  169. data/src/core/ext/filters/deadline/deadline_filter.cc +66 -39
  170. data/src/core/ext/filters/deadline/deadline_filter.h +12 -5
  171. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +180 -403
  172. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +38 -6
  173. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +118 -0
  174. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +112 -0
  175. data/src/core/ext/filters/http/client/http_client_filter.cc +125 -571
  176. data/src/core/ext/filters/http/client/http_client_filter.h +52 -22
  177. data/src/core/ext/filters/http/client_authority_filter.cc +60 -129
  178. data/src/core/ext/filters/http/client_authority_filter.h +46 -24
  179. data/src/core/ext/filters/http/http_filters_plugin.cc +53 -62
  180. data/src/core/ext/filters/http/message_compress/compression_filter.cc +315 -0
  181. data/src/core/ext/filters/http/message_compress/compression_filter.h +132 -0
  182. data/src/core/ext/filters/http/server/http_server_filter.cc +117 -493
  183. data/src/core/ext/filters/http/server/http_server_filter.h +55 -21
  184. data/src/core/ext/filters/message_size/message_size_filter.cc +136 -165
  185. data/src/core/ext/filters/message_size/message_size_filter.h +42 -18
  186. data/src/core/ext/filters/rbac/rbac_filter.cc +174 -0
  187. data/src/core/ext/filters/rbac/rbac_filter.h +84 -0
  188. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +819 -0
  189. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +86 -0
  190. data/src/core/ext/filters/server_config_selector/server_config_selector.h +83 -0
  191. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +159 -0
  192. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.h +33 -0
  193. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +229 -0
  194. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +66 -0
  195. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +82 -0
  196. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +93 -0
  197. data/src/core/ext/transport/chttp2/alpn/alpn.cc +18 -18
  198. data/src/core/ext/transport/chttp2/alpn/alpn.h +22 -22
  199. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +319 -151
  200. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +36 -30
  201. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +410 -240
  202. data/src/core/ext/transport/chttp2/server/chttp2_server.h +23 -23
  203. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +24 -24
  204. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +32 -31
  205. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +31 -30
  206. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +27 -27
  207. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +839 -1196
  208. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +34 -24
  209. data/src/core/ext/transport/chttp2/transport/context_list.cc +25 -22
  210. data/src/core/ext/transport/chttp2/transport/context_list.h +31 -29
  211. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +251 -0
  212. data/src/core/ext/transport/chttp2/transport/decode_huff.h +971 -0
  213. data/src/core/ext/transport/chttp2/transport/flow_control.cc +352 -303
  214. data/src/core/ext/transport/chttp2/transport/flow_control.h +247 -324
  215. data/src/core/ext/transport/chttp2/transport/frame.h +19 -23
  216. data/src/core/ext/transport/chttp2/transport/frame_data.cc +83 -235
  217. data/src/core/ext/transport/chttp2/transport/frame_data.h +35 -58
  218. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +39 -36
  219. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +21 -19
  220. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +33 -28
  221. data/src/core/ext/transport/chttp2/transport/frame_ping.h +22 -19
  222. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +38 -26
  223. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +21 -18
  224. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +45 -77
  225. data/src/core/ext/transport/chttp2/transport/frame_settings.h +24 -20
  226. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +32 -33
  227. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +21 -18
  228. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +7 -1
  229. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +441 -367
  230. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +141 -201
  231. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +5 -2
  232. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +12 -1
  233. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +212 -326
  234. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +28 -22
  235. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +161 -61
  236. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +68 -68
  237. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +21 -19
  238. data/src/core/ext/transport/chttp2/transport/http2_settings.h +36 -35
  239. data/src/core/ext/transport/chttp2/transport/http_trace.cc +19 -0
  240. data/src/core/ext/transport/chttp2/transport/http_trace.h +24 -0
  241. data/src/core/ext/transport/chttp2/transport/huffsyms.cc +20 -20
  242. data/src/core/ext/transport/chttp2/transport/huffsyms.h +19 -19
  243. data/src/core/ext/transport/chttp2/transport/internal.h +242 -324
  244. data/src/core/ext/transport/chttp2/transport/parsing.cc +262 -115
  245. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +30 -30
  246. data/src/core/ext/transport/chttp2/transport/stream_map.cc +24 -24
  247. data/src/core/ext/transport/chttp2/transport/stream_map.h +32 -31
  248. data/src/core/ext/transport/chttp2/transport/varint.cc +19 -20
  249. data/src/core/ext/transport/chttp2/transport/varint.h +37 -32
  250. data/src/core/ext/transport/chttp2/transport/writing.cc +191 -220
  251. data/src/core/ext/transport/inproc/inproc_plugin.cc +17 -22
  252. data/src/core/ext/transport/inproc/inproc_transport.cc +260 -346
  253. data/src/core/ext/transport/inproc/inproc_transport.h +22 -23
  254. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +117 -0
  255. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +502 -0
  256. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -0
  257. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +569 -0
  258. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +60 -341
  259. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +280 -1355
  260. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +352 -0
  261. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1768 -0
  262. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +56 -0
  263. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +159 -0
  264. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +64 -0
  265. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +189 -0
  266. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +46 -0
  267. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +128 -0
  268. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +43 -0
  269. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +106 -0
  270. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +43 -0
  271. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +101 -0
  272. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +106 -0
  273. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +613 -0
  274. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +48 -0
  275. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +107 -0
  276. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +43 -0
  277. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +51 -0
  278. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +30 -4
  279. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +54 -17
  280. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +143 -116
  281. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +730 -385
  282. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +241 -199
  283. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1360 -663
  284. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +49 -28
  285. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +213 -90
  286. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +321 -271
  287. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1776 -826
  288. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +20 -7
  289. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +47 -23
  290. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +60 -27
  291. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +277 -98
  292. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +299 -0
  293. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +1437 -0
  294. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +74 -53
  295. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +383 -189
  296. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +21 -7
  297. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +50 -24
  298. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +215 -176
  299. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1179 -583
  300. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +105 -45
  301. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +554 -166
  302. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +19 -6
  303. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +43 -23
  304. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +16 -22
  305. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +46 -100
  306. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +58 -0
  307. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +159 -0
  308. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +145 -117
  309. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +821 -409
  310. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +141 -92
  311. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +773 -348
  312. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +21 -8
  313. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +62 -30
  314. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +204 -125
  315. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1068 -398
  316. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +17 -4
  317. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +33 -16
  318. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +27 -13
  319. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +92 -48
  320. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +22 -9
  321. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +80 -33
  322. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +26 -13
  323. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +98 -48
  324. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +21 -8
  325. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +51 -25
  326. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +51 -35
  327. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +207 -108
  328. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +74 -55
  329. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +374 -189
  330. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +70 -53
  331. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +378 -187
  332. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +19 -6
  333. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +39 -20
  334. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +122 -71
  335. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +660 -259
  336. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +104 -79
  337. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +589 -300
  338. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +31 -16
  339. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +109 -48
  340. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +27 -10
  341. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +98 -39
  342. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +53 -0
  343. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +140 -0
  344. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +82 -61
  345. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +446 -234
  346. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +86 -65
  347. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +443 -236
  348. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +139 -103
  349. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +649 -293
  350. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +45 -41
  351. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +255 -165
  352. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +706 -570
  353. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +4125 -1898
  354. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +38 -19
  355. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +161 -71
  356. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +241 -0
  357. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +1191 -0
  358. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +44 -0
  359. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +92 -0
  360. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +49 -0
  361. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +107 -0
  362. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +27 -13
  363. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +86 -45
  364. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +52 -0
  365. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +138 -0
  366. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +63 -0
  367. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +254 -0
  368. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +46 -0
  369. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +98 -0
  370. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +47 -0
  371. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +98 -0
  372. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +69 -0
  373. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +221 -0
  374. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +33 -0
  375. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +43 -0
  376. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +71 -0
  377. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +226 -0
  378. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +54 -0
  379. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +150 -0
  380. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +17 -4
  381. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +39 -23
  382. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +45 -28
  383. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +208 -111
  384. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +51 -36
  385. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +273 -131
  386. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +71 -0
  387. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +237 -0
  388. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +26 -13
  389. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +91 -42
  390. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +62 -0
  391. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +179 -0
  392. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +292 -224
  393. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1679 -733
  394. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +46 -0
  395. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +98 -0
  396. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +52 -0
  397. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +168 -0
  398. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +46 -0
  399. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +98 -0
  400. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +9 -0
  401. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +6 -3
  402. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +107 -60
  403. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +607 -234
  404. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +41 -26
  405. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +169 -86
  406. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +126 -83
  407. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +651 -262
  408. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +62 -0
  409. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +168 -0
  410. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +15 -2
  411. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +26 -14
  412. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +206 -72
  413. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1095 -255
  414. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +31 -17
  415. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +116 -61
  416. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +74 -57
  417. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +368 -185
  418. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +48 -0
  419. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +116 -0
  420. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +34 -18
  421. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +140 -80
  422. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +74 -0
  423. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +230 -0
  424. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +28 -14
  425. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +108 -56
  426. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +21 -8
  427. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +55 -30
  428. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +20 -7
  429. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +53 -26
  430. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +19 -6
  431. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +43 -23
  432. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +35 -20
  433. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +130 -68
  434. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +31 -17
  435. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +132 -64
  436. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +26 -12
  437. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +94 -52
  438. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +37 -22
  439. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +163 -82
  440. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +50 -31
  441. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +258 -144
  442. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +53 -36
  443. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +256 -130
  444. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +66 -0
  445. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +213 -0
  446. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +9 -0
  447. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +3 -0
  448. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +42 -0
  449. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +143 -0
  450. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +23 -9
  451. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +71 -35
  452. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +30 -15
  453. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +111 -51
  454. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +63 -0
  455. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +202 -0
  456. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +26 -0
  457. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +41 -0
  458. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +19 -6
  459. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +45 -18
  460. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +51 -0
  461. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +131 -0
  462. data/src/core/ext/upb-generated/google/api/annotations.upb.c +22 -0
  463. data/src/core/ext/upb-generated/google/api/annotations.upb.h +23 -0
  464. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +154 -125
  465. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +765 -381
  466. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +158 -126
  467. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +844 -401
  468. data/src/core/ext/upb-generated/google/api/http.upb.c +43 -28
  469. data/src/core/ext/upb-generated/google/api/http.upb.h +229 -114
  470. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +46 -0
  471. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +115 -0
  472. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +18 -5
  473. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +43 -21
  474. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +374 -282
  475. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +2199 -1029
  476. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +18 -5
  477. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +41 -19
  478. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +15 -2
  479. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +26 -14
  480. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +47 -31
  481. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +190 -92
  482. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +18 -5
  483. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +41 -19
  484. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +57 -36
  485. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +277 -148
  486. data/src/core/ext/upb-generated/google/rpc/status.upb.c +21 -8
  487. data/src/core/ext/upb-generated/google/rpc/status.upb.h +57 -29
  488. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +84 -0
  489. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +335 -0
  490. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +32 -18
  491. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +108 -47
  492. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +135 -107
  493. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +726 -358
  494. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +27 -12
  495. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +85 -40
  496. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +22 -8
  497. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +65 -34
  498. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +81 -61
  499. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +435 -237
  500. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +34 -19
  501. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +124 -62
  502. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
  503. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +792 -0
  504. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +75 -13
  505. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +206 -56
  506. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +31 -5
  507. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +59 -17
  508. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +21 -0
  509. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +16 -0
  510. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +31 -5
  511. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +61 -19
  512. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +30 -4
  513. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +54 -17
  514. data/src/core/ext/upb-generated/validate/validate.upb.c +406 -310
  515. data/src/core/ext/upb-generated/validate/validate.upb.h +2822 -1164
  516. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +110 -0
  517. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +290 -0
  518. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +55 -0
  519. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +112 -0
  520. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +38 -0
  521. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +46 -0
  522. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +64 -17
  523. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +191 -67
  524. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +53 -0
  525. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +103 -0
  526. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +17 -4
  527. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +35 -18
  528. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +47 -0
  529. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +107 -0
  530. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +30 -16
  531. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +107 -54
  532. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +25 -11
  533. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +58 -29
  534. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +46 -0
  535. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +107 -0
  536. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +22 -9
  537. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +60 -29
  538. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +33 -19
  539. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +139 -69
  540. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +22 -9
  541. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +63 -29
  542. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +37 -21
  543. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +115 -45
  544. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +46 -0
  545. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +113 -0
  546. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +46 -0
  547. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +98 -0
  548. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +62 -0
  549. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +174 -0
  550. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +36 -0
  551. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +74 -0
  552. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +65 -0
  553. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +191 -0
  554. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +207 -0
  555. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +914 -0
  556. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +127 -0
  557. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +474 -0
  558. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +52 -0
  559. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +151 -0
  560. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +65 -0
  561. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +226 -0
  562. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +67 -0
  563. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +214 -0
  564. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +64 -0
  565. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +208 -0
  566. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +20 -8
  567. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +47 -23
  568. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +84 -0
  569. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +55 -0
  570. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +127 -0
  571. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +50 -0
  572. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +75 -327
  573. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +16 -101
  574. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +256 -0
  575. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +115 -0
  576. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +43 -0
  577. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +40 -0
  578. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +56 -0
  579. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +40 -0
  580. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +49 -0
  581. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +35 -0
  582. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +46 -0
  583. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +35 -0
  584. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +46 -0
  585. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
  586. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +142 -0
  587. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +40 -0
  588. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +51 -0
  589. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +35 -0
  590. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +10 -8
  591. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +1 -1
  592. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +10 -13
  593. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +4 -4
  594. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +120 -150
  595. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +46 -46
  596. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +253 -280
  597. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +55 -55
  598. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +60 -62
  599. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +10 -10
  600. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +387 -424
  601. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +76 -76
  602. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +16 -18
  603. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +4 -4
  604. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +25 -23
  605. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +4 -4
  606. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +206 -0
  607. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
  608. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +17 -32
  609. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +22 -22
  610. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +17 -19
  611. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +4 -4
  612. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +203 -246
  613. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +73 -73
  614. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +140 -116
  615. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +26 -16
  616. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +16 -19
  617. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +4 -4
  618. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +24 -43
  619. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +4 -9
  620. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +53 -0
  621. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
  622. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +23 -51
  623. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +43 -43
  624. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +179 -187
  625. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +30 -25
  626. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +16 -19
  627. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +4 -4
  628. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +254 -254
  629. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +53 -43
  630. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +14 -16
  631. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +4 -4
  632. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +16 -20
  633. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +7 -7
  634. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +16 -18
  635. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +4 -4
  636. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +26 -28
  637. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +4 -4
  638. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +15 -18
  639. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +4 -4
  640. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +20 -28
  641. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +13 -13
  642. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +21 -33
  643. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +19 -19
  644. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +20 -30
  645. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +16 -16
  646. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +16 -18
  647. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +4 -4
  648. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +180 -165
  649. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +24 -19
  650. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +155 -166
  651. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +22 -22
  652. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +21 -23
  653. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +4 -4
  654. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +46 -42
  655. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +7 -7
  656. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +69 -0
  657. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
  658. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +19 -35
  659. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +25 -25
  660. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +19 -37
  661. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +28 -28
  662. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +194 -0
  663. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +75 -0
  664. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +82 -85
  665. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +7 -12
  666. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +874 -917
  667. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +170 -160
  668. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +54 -48
  669. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +10 -10
  670. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +199 -0
  671. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +90 -0
  672. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +54 -0
  673. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
  674. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +57 -0
  675. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
  676. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +17 -21
  677. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +7 -7
  678. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +72 -0
  679. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
  680. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +99 -0
  681. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
  682. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +47 -0
  683. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
  684. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +52 -0
  685. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +35 -0
  686. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +71 -0
  687. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
  688. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +61 -0
  689. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +30 -0
  690. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +75 -0
  691. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +40 -0
  692. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +77 -0
  693. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
  694. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +17 -18
  695. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +4 -4
  696. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +19 -29
  697. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +16 -16
  698. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +20 -26
  699. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +10 -10
  700. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +80 -0
  701. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +40 -0
  702. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +19 -20
  703. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +4 -4
  704. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +60 -0
  705. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +40 -0
  706. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +405 -410
  707. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +63 -58
  708. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +50 -0
  709. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +35 -0
  710. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +17 -13
  711. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +1 -1
  712. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +174 -157
  713. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +24 -19
  714. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +21 -27
  715. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +10 -10
  716. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +219 -216
  717. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +24 -19
  718. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +58 -0
  719. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
  720. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +16 -18
  721. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +4 -4
  722. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +162 -107
  723. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +57 -22
  724. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +18 -22
  725. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +7 -7
  726. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +125 -135
  727. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +16 -16
  728. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +46 -0
  729. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +35 -0
  730. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +15 -23
  731. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +13 -13
  732. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +52 -0
  733. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +50 -0
  734. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +17 -21
  735. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +7 -7
  736. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +17 -19
  737. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +4 -4
  738. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +17 -19
  739. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +4 -4
  740. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +17 -19
  741. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +4 -4
  742. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +38 -43
  743. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +10 -10
  744. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +17 -21
  745. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +7 -7
  746. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +16 -21
  747. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +7 -7
  748. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +18 -24
  749. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +10 -10
  750. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +15 -29
  751. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +22 -22
  752. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +16 -26
  753. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +16 -16
  754. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +53 -0
  755. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +45 -0
  756. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +12 -10
  757. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +1 -1
  758. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +94 -0
  759. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +35 -0
  760. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +14 -19
  761. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +7 -7
  762. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +13 -19
  763. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +10 -10
  764. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +69 -0
  765. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
  766. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +38 -0
  767. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
  768. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +13 -16
  769. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +4 -4
  770. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +57 -0
  771. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +35 -0
  772. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +7 -7
  773. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +1 -1
  774. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +154 -0
  775. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +95 -0
  776. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +153 -0
  777. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +100 -0
  778. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +5 -14
  779. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +10 -10
  780. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +39 -0
  781. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +35 -0
  782. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +5 -10
  783. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +4 -4
  784. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +96 -151
  785. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +82 -82
  786. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +5 -10
  787. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +4 -4
  788. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +5 -10
  789. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +4 -4
  790. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +5 -16
  791. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +13 -13
  792. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +5 -10
  793. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +4 -4
  794. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +5 -26
  795. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +28 -28
  796. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +6 -11
  797. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +4 -4
  798. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +67 -0
  799. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
  800. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
  801. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
  802. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +6 -15
  803. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +10 -10
  804. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +7 -12
  805. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +4 -4
  806. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +6 -6
  807. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +1 -1
  808. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +6 -11
  809. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +4 -4
  810. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +6 -11
  811. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +4 -4
  812. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +8 -57
  813. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +70 -70
  814. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +63 -0
  815. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +45 -0
  816. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +47 -0
  817. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +35 -0
  818. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +35 -0
  819. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +30 -0
  820. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +6 -17
  821. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +13 -13
  822. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +40 -0
  823. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +35 -0
  824. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +7 -12
  825. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +4 -4
  826. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +45 -0
  827. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +35 -0
  828. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +9 -16
  829. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +7 -7
  830. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +6 -13
  831. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +7 -7
  832. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +41 -0
  833. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +35 -0
  834. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +8 -13
  835. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +4 -4
  836. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +8 -15
  837. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +7 -7
  838. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +8 -13
  839. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +4 -4
  840. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +43 -0
  841. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +35 -0
  842. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +51 -0
  843. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +40 -0
  844. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +36 -0
  845. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +35 -0
  846. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +55 -0
  847. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +40 -0
  848. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +126 -0
  849. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
  850. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +71 -0
  851. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +60 -0
  852. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +40 -0
  853. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +40 -0
  854. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +52 -0
  855. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +40 -0
  856. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +60 -0
  857. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +40 -0
  858. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +36 -0
  859. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +45 -0
  860. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +8 -16
  861. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +4 -4
  862. data/src/core/ext/xds/certificate_provider_store.cc +75 -3
  863. data/src/core/ext/xds/certificate_provider_store.h +28 -2
  864. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +20 -14
  865. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +11 -3
  866. data/src/core/ext/xds/upb_utils.h +45 -0
  867. data/src/core/ext/xds/xds_api.cc +318 -3659
  868. data/src/core/ext/xds/xds_api.h +79 -630
  869. data/src/core/ext/xds/xds_bootstrap.cc +10 -443
  870. data/src/core/ext/xds/xds_bootstrap.h +44 -81
  871. data/src/core/ext/xds/xds_bootstrap_grpc.cc +361 -0
  872. data/src/core/ext/xds/xds_bootstrap_grpc.h +184 -0
  873. data/src/core/ext/xds/xds_certificate_provider.cc +36 -25
  874. data/src/core/ext/xds/xds_certificate_provider.h +35 -3
  875. data/src/core/ext/xds/xds_channel_args.h +1 -1
  876. data/src/core/ext/xds/xds_channel_stack_modifier.cc +27 -21
  877. data/src/core/ext/xds/xds_channel_stack_modifier.h +18 -5
  878. data/src/core/ext/xds/xds_client.cc +1287 -2038
  879. data/src/core/ext/xds/xds_client.h +162 -198
  880. data/src/core/ext/xds/xds_client_grpc.cc +236 -0
  881. data/src/core/ext/xds/xds_client_grpc.h +79 -0
  882. data/src/core/ext/xds/xds_client_stats.cc +35 -36
  883. data/src/core/ext/xds/xds_client_stats.h +27 -25
  884. data/src/core/ext/xds/xds_cluster.cc +707 -0
  885. data/src/core/ext/xds/xds_cluster.h +137 -0
  886. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +132 -0
  887. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +97 -0
  888. data/src/core/ext/xds/xds_common_types.cc +502 -0
  889. data/src/core/ext/xds/xds_common_types.h +108 -0
  890. data/src/core/ext/xds/xds_endpoint.cc +474 -0
  891. data/src/core/ext/xds/xds_endpoint.h +139 -0
  892. data/src/core/ext/xds/xds_health_status.cc +80 -0
  893. data/src/core/ext/xds/xds_health_status.h +82 -0
  894. data/src/core/ext/xds/xds_http_fault_filter.cc +68 -59
  895. data/src/core/ext/xds/xds_http_fault_filter.h +18 -24
  896. data/src/core/ext/xds/xds_http_filters.cc +71 -66
  897. data/src/core/ext/xds/xds_http_filters.h +72 -24
  898. data/src/core/ext/xds/xds_http_rbac_filter.cc +506 -0
  899. data/src/core/ext/xds/xds_http_rbac_filter.h +58 -0
  900. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +218 -0
  901. data/src/core/ext/xds/xds_http_stateful_session_filter.h +58 -0
  902. data/src/core/ext/xds/xds_lb_policy_registry.cc +239 -0
  903. data/src/core/ext/xds/xds_lb_policy_registry.h +71 -0
  904. data/src/core/ext/xds/xds_listener.cc +1130 -0
  905. data/src/core/ext/xds/xds_listener.h +226 -0
  906. data/src/core/ext/xds/xds_resource_type.h +104 -0
  907. data/src/core/ext/xds/xds_resource_type_impl.h +88 -0
  908. data/src/core/ext/xds/xds_route_config.cc +1138 -0
  909. data/src/core/ext/xds/xds_route_config.h +252 -0
  910. data/src/core/ext/xds/xds_routing.cc +264 -0
  911. data/src/core/ext/xds/xds_routing.h +106 -0
  912. data/src/core/ext/xds/xds_server_config_fetcher.cc +1143 -324
  913. data/src/core/ext/xds/xds_transport.h +86 -0
  914. data/src/core/ext/xds/xds_transport_grpc.cc +356 -0
  915. data/src/core/ext/xds/xds_transport_grpc.h +135 -0
  916. data/src/core/lib/address_utils/parse_address.cc +55 -35
  917. data/src/core/lib/address_utils/parse_address.h +43 -34
  918. data/src/core/lib/address_utils/sockaddr_utils.cc +111 -79
  919. data/src/core/lib/address_utils/sockaddr_utils.h +42 -52
  920. data/src/core/lib/avl/avl.h +476 -88
  921. data/src/core/lib/backoff/backoff.cc +26 -57
  922. data/src/core/lib/backoff/backoff.h +30 -30
  923. data/src/core/lib/channel/call_finalization.h +88 -0
  924. data/src/core/lib/channel/call_tracer.h +24 -6
  925. data/src/core/lib/channel/channel_args.cc +293 -68
  926. data/src/core/lib/channel/channel_args.h +454 -52
  927. data/src/core/lib/channel/channel_args_preconditioning.cc +43 -0
  928. data/src/core/lib/channel/channel_args_preconditioning.h +62 -0
  929. data/src/core/lib/channel/channel_fwd.h +26 -0
  930. data/src/core/lib/channel/channel_stack.cc +102 -54
  931. data/src/core/lib/channel/channel_stack.h +208 -126
  932. data/src/core/lib/channel/channel_stack_builder.cc +35 -297
  933. data/src/core/lib/channel/channel_stack_builder.h +112 -150
  934. data/src/core/lib/channel/channel_stack_builder_impl.cc +113 -0
  935. data/src/core/lib/channel/channel_stack_builder_impl.h +48 -0
  936. data/src/core/lib/channel/channel_trace.cc +29 -39
  937. data/src/core/lib/channel/channel_trace.h +24 -21
  938. data/src/core/lib/channel/channelz.cc +52 -66
  939. data/src/core/lib/channel/channelz.h +47 -30
  940. data/src/core/lib/channel/channelz_registry.cc +28 -36
  941. data/src/core/lib/channel/channelz_registry.h +28 -27
  942. data/src/core/lib/channel/connected_channel.cc +740 -75
  943. data/src/core/lib/channel/connected_channel.h +21 -22
  944. data/src/core/lib/channel/context.h +29 -18
  945. data/src/core/lib/channel/promise_based_filter.cc +2249 -0
  946. data/src/core/lib/channel/promise_based_filter.h +857 -0
  947. data/src/core/lib/channel/status_util.cc +64 -17
  948. data/src/core/lib/channel/status_util.h +35 -21
  949. data/src/core/lib/compression/compression.cc +44 -131
  950. data/src/core/lib/compression/compression_internal.cc +189 -230
  951. data/src/core/lib/compression/compression_internal.h +87 -91
  952. data/src/core/lib/compression/message_compress.cc +39 -37
  953. data/src/core/lib/compression/message_compress.h +28 -29
  954. data/src/core/lib/config/core_configuration.cc +18 -3
  955. data/src/core/lib/config/core_configuration.h +134 -37
  956. data/src/core/lib/debug/event_log.cc +88 -0
  957. data/src/core/lib/debug/event_log.h +81 -0
  958. data/src/core/lib/debug/histogram_view.cc +69 -0
  959. data/src/core/lib/debug/histogram_view.h +37 -0
  960. data/src/core/lib/debug/stats.cc +48 -152
  961. data/src/core/lib/debug/stats.h +47 -54
  962. data/src/core/lib/debug/stats_data.cc +290 -638
  963. data/src/core/lib/debug/stats_data.h +263 -527
  964. data/src/core/lib/debug/trace.cc +18 -20
  965. data/src/core/lib/debug/trace.h +34 -33
  966. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +40 -0
  967. data/src/core/lib/event_engine/channel_args_endpoint_config.h +49 -0
  968. data/src/core/lib/event_engine/common_closures.h +71 -0
  969. data/src/core/lib/event_engine/default_event_engine.cc +94 -0
  970. data/src/core/lib/event_engine/default_event_engine.h +49 -0
  971. data/src/core/lib/event_engine/default_event_engine_factory.cc +48 -0
  972. data/src/core/lib/event_engine/default_event_engine_factory.h +33 -0
  973. data/src/core/lib/event_engine/executor/executor.h +38 -0
  974. data/src/core/lib/event_engine/forkable.cc +101 -0
  975. data/src/core/lib/event_engine/forkable.h +61 -0
  976. data/src/core/lib/event_engine/handle_containers.h +67 -0
  977. data/src/core/lib/event_engine/memory_allocator.cc +74 -0
  978. data/src/core/lib/event_engine/poller.h +62 -0
  979. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +614 -0
  980. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +129 -0
  981. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +900 -0
  982. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +97 -0
  983. data/src/core/lib/event_engine/posix_engine/event_poller.h +111 -0
  984. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +74 -0
  985. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +33 -0
  986. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +77 -0
  987. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +179 -0
  988. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +265 -0
  989. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +73 -0
  990. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1308 -0
  991. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +684 -0
  992. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +570 -0
  993. data/src/core/lib/event_engine/posix_engine/posix_engine.h +245 -0
  994. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +80 -0
  995. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +236 -0
  996. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +228 -0
  997. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +380 -0
  998. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +91 -0
  999. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +853 -0
  1000. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +316 -0
  1001. data/src/core/lib/event_engine/posix_engine/timer.cc +311 -0
  1002. data/src/core/lib/event_engine/posix_engine/timer.h +194 -0
  1003. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +107 -0
  1004. data/src/core/lib/event_engine/posix_engine/timer_heap.h +56 -0
  1005. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +173 -0
  1006. data/src/core/lib/event_engine/posix_engine/timer_manager.h +114 -0
  1007. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +332 -0
  1008. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +185 -0
  1009. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +127 -0
  1010. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +45 -0
  1011. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +150 -0
  1012. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +45 -0
  1013. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +76 -0
  1014. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +67 -0
  1015. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +37 -0
  1016. data/src/core/lib/event_engine/resolved_address.cc +41 -0
  1017. data/src/core/lib/event_engine/slice.cc +103 -0
  1018. data/src/core/lib/event_engine/slice_buffer.cc +50 -0
  1019. data/src/core/lib/event_engine/socket_notifier.h +55 -0
  1020. data/src/core/lib/event_engine/tcp_socket_utils.cc +373 -0
  1021. data/src/core/lib/event_engine/tcp_socket_utils.h +85 -0
  1022. data/src/core/lib/event_engine/thread_pool.cc +277 -0
  1023. data/src/core/lib/event_engine/thread_pool.h +137 -0
  1024. data/src/core/lib/event_engine/time_util.cc +30 -0
  1025. data/src/core/lib/event_engine/time_util.h +32 -0
  1026. data/src/core/lib/event_engine/trace.cc +18 -0
  1027. data/src/core/lib/event_engine/trace.h +30 -0
  1028. data/src/core/lib/event_engine/utils.cc +44 -0
  1029. data/src/core/lib/event_engine/utils.h +36 -0
  1030. data/src/core/lib/event_engine/windows/iocp.cc +156 -0
  1031. data/src/core/lib/event_engine/windows/iocp.h +69 -0
  1032. data/src/core/lib/event_engine/windows/win_socket.cc +196 -0
  1033. data/src/core/lib/event_engine/windows/win_socket.h +120 -0
  1034. data/src/core/lib/event_engine/windows/windows_engine.cc +165 -0
  1035. data/src/core/lib/event_engine/windows/windows_engine.h +124 -0
  1036. data/src/core/lib/experiments/config.cc +146 -0
  1037. data/src/core/lib/experiments/config.h +43 -0
  1038. data/src/core/lib/experiments/experiments.cc +75 -0
  1039. data/src/core/lib/experiments/experiments.h +58 -0
  1040. data/src/core/lib/gpr/alloc.cc +19 -25
  1041. data/src/core/lib/gpr/alloc.h +18 -18
  1042. data/src/core/lib/gpr/atm.cc +17 -17
  1043. data/src/core/lib/gpr/cpu_iphone.cc +24 -24
  1044. data/src/core/lib/gpr/cpu_linux.cc +28 -23
  1045. data/src/core/lib/gpr/cpu_posix.cc +23 -22
  1046. data/src/core/lib/gpr/cpu_windows.cc +20 -18
  1047. data/src/core/lib/gpr/log.cc +30 -17
  1048. data/src/core/lib/gpr/log_android.cc +22 -20
  1049. data/src/core/lib/gpr/log_linux.cc +24 -24
  1050. data/src/core/lib/gpr/log_posix.cc +20 -19
  1051. data/src/core/lib/gpr/log_windows.cc +25 -25
  1052. data/src/core/lib/gpr/spinlock.h +18 -18
  1053. data/src/core/lib/gpr/string.cc +25 -24
  1054. data/src/core/lib/gpr/string.h +58 -58
  1055. data/src/core/lib/gpr/string_posix.cc +24 -24
  1056. data/src/core/lib/gpr/string_util_windows.cc +25 -52
  1057. data/src/core/lib/gpr/string_windows.cc +24 -24
  1058. data/src/core/lib/gpr/sync.cc +25 -25
  1059. data/src/core/lib/gpr/sync_abseil.cc +21 -33
  1060. data/src/core/lib/gpr/sync_posix.cc +23 -34
  1061. data/src/core/lib/gpr/sync_windows.cc +29 -27
  1062. data/src/core/lib/gpr/time.cc +36 -31
  1063. data/src/core/lib/gpr/time_posix.cc +41 -45
  1064. data/src/core/lib/gpr/time_precise.cc +22 -22
  1065. data/src/core/lib/gpr/time_precise.h +19 -20
  1066. data/src/core/lib/gpr/time_windows.cc +35 -29
  1067. data/src/core/lib/gpr/tmpfile.h +22 -22
  1068. data/src/core/lib/gpr/tmpfile_msys.cc +21 -20
  1069. data/src/core/lib/gpr/tmpfile_posix.cc +22 -20
  1070. data/src/core/lib/gpr/tmpfile_windows.cc +28 -29
  1071. data/src/core/lib/gpr/useful.h +98 -27
  1072. data/src/core/lib/gpr/wrap_memcpy.cc +23 -23
  1073. data/src/core/lib/gprpp/atomic_utils.h +18 -18
  1074. data/src/core/lib/gprpp/bitset.h +51 -14
  1075. data/src/core/lib/gprpp/chunked_vector.h +49 -3
  1076. data/src/core/lib/gprpp/construct_destruct.h +1 -0
  1077. data/src/core/lib/gprpp/cpp_impl_of.h +49 -0
  1078. data/src/core/lib/gprpp/crash.cc +33 -0
  1079. data/src/core/lib/gprpp/crash.h +34 -0
  1080. data/src/core/lib/gprpp/debug_location.h +59 -25
  1081. data/src/core/lib/gprpp/dual_ref_counted.h +2 -5
  1082. data/src/core/lib/gprpp/env.h +53 -0
  1083. data/src/core/lib/gprpp/env_linux.cc +80 -0
  1084. data/src/core/lib/gprpp/env_posix.cc +47 -0
  1085. data/src/core/lib/gprpp/env_windows.cc +56 -0
  1086. data/src/core/lib/gprpp/examine_stack.cc +17 -17
  1087. data/src/core/lib/gprpp/examine_stack.h +18 -19
  1088. data/src/core/lib/gprpp/fork.cc +37 -49
  1089. data/src/core/lib/gprpp/fork.h +22 -30
  1090. data/src/core/lib/gprpp/global_config.h +20 -22
  1091. data/src/core/lib/gprpp/global_config_custom.h +18 -18
  1092. data/src/core/lib/gprpp/global_config_env.cc +33 -31
  1093. data/src/core/lib/gprpp/global_config_env.h +28 -26
  1094. data/src/core/lib/gprpp/global_config_generic.h +18 -22
  1095. data/src/core/lib/gprpp/host_port.cc +28 -26
  1096. data/src/core/lib/gprpp/host_port.h +29 -28
  1097. data/src/core/lib/gprpp/load_file.cc +75 -0
  1098. data/src/core/lib/gprpp/load_file.h +33 -0
  1099. data/src/core/lib/gprpp/manual_constructor.h +17 -86
  1100. data/src/core/lib/gprpp/match.h +2 -0
  1101. data/src/core/lib/gprpp/memory.h +19 -23
  1102. data/src/core/lib/gprpp/mpscq.cc +17 -17
  1103. data/src/core/lib/gprpp/mpscq.h +18 -18
  1104. data/src/core/lib/gprpp/no_destruct.h +95 -0
  1105. data/src/core/lib/gprpp/notification.h +67 -0
  1106. data/src/core/lib/gprpp/orphanable.h +20 -23
  1107. data/src/core/lib/gprpp/packed_table.h +40 -0
  1108. data/src/core/lib/gprpp/per_cpu.h +46 -0
  1109. data/src/core/lib/gprpp/ref_counted.h +22 -22
  1110. data/src/core/lib/gprpp/ref_counted_ptr.h +41 -56
  1111. data/src/core/lib/gprpp/single_set_ptr.h +87 -0
  1112. data/src/core/lib/gprpp/sorted_pack.h +98 -0
  1113. data/src/core/lib/gprpp/stat.h +0 -2
  1114. data/src/core/lib/gprpp/stat_posix.cc +10 -4
  1115. data/src/core/lib/gprpp/stat_windows.cc +4 -2
  1116. data/src/core/lib/gprpp/status_helper.cc +79 -51
  1117. data/src/core/lib/gprpp/status_helper.h +16 -21
  1118. data/src/core/lib/gprpp/strerror.cc +41 -0
  1119. data/src/core/lib/gprpp/strerror.h +29 -0
  1120. data/src/core/lib/gprpp/sync.h +23 -21
  1121. data/src/core/lib/gprpp/table.h +43 -2
  1122. data/src/core/lib/gprpp/tchar.cc +49 -0
  1123. data/src/core/lib/gprpp/tchar.h +33 -0
  1124. data/src/core/lib/gprpp/thd.h +21 -24
  1125. data/src/core/lib/gprpp/thd_posix.cc +33 -32
  1126. data/src/core/lib/gprpp/thd_windows.cc +28 -26
  1127. data/src/core/lib/gprpp/time.cc +240 -0
  1128. data/src/core/lib/gprpp/time.h +366 -0
  1129. data/src/core/lib/gprpp/time_averaged_stats.cc +60 -0
  1130. data/src/core/lib/gprpp/time_averaged_stats.h +79 -0
  1131. data/src/core/lib/gprpp/time_util.cc +4 -0
  1132. data/src/core/lib/gprpp/unique_type_name.h +104 -0
  1133. data/src/core/lib/gprpp/validation_errors.cc +61 -0
  1134. data/src/core/lib/gprpp/validation_errors.h +127 -0
  1135. data/src/core/lib/gprpp/work_serializer.cc +247 -0
  1136. data/src/core/lib/gprpp/work_serializer.h +86 -0
  1137. data/src/core/lib/handshaker/proxy_mapper.h +53 -0
  1138. data/src/core/lib/handshaker/proxy_mapper_registry.cc +71 -0
  1139. data/src/core/lib/handshaker/proxy_mapper_registry.h +75 -0
  1140. data/src/core/lib/http/format_request.cc +80 -47
  1141. data/src/core/lib/http/format_request.h +28 -25
  1142. data/src/core/lib/http/httpcli.cc +330 -261
  1143. data/src/core/lib/http/httpcli.h +254 -111
  1144. data/src/core/lib/http/httpcli_security_connector.cc +101 -104
  1145. data/src/core/lib/http/httpcli_ssl_credentials.h +39 -0
  1146. data/src/core/lib/http/parser.cc +144 -85
  1147. data/src/core/lib/http/parser.h +48 -32
  1148. data/src/core/lib/iomgr/block_annotate.h +21 -21
  1149. data/src/core/lib/iomgr/buffer_list.cc +161 -141
  1150. data/src/core/lib/iomgr/buffer_list.h +126 -104
  1151. data/src/core/lib/iomgr/call_combiner.cc +35 -57
  1152. data/src/core/lib/iomgr/call_combiner.h +21 -22
  1153. data/src/core/lib/iomgr/cfstream_handle.cc +33 -36
  1154. data/src/core/lib/iomgr/cfstream_handle.h +22 -22
  1155. data/src/core/lib/iomgr/closure.h +106 -51
  1156. data/src/core/lib/iomgr/combiner.cc +29 -26
  1157. data/src/core/lib/iomgr/combiner.h +18 -18
  1158. data/src/core/lib/iomgr/dualstack_socket_posix.cc +21 -21
  1159. data/src/core/lib/iomgr/dynamic_annotations.h +20 -20
  1160. data/src/core/lib/iomgr/endpoint.cc +21 -21
  1161. data/src/core/lib/iomgr/endpoint.h +50 -49
  1162. data/src/core/lib/iomgr/endpoint_cfstream.cc +58 -71
  1163. data/src/core/lib/iomgr/endpoint_cfstream.h +31 -31
  1164. data/src/core/lib/iomgr/endpoint_pair.h +18 -18
  1165. data/src/core/lib/iomgr/endpoint_pair_posix.cc +33 -28
  1166. data/src/core/lib/iomgr/endpoint_pair_windows.cc +23 -31
  1167. data/src/core/lib/iomgr/error.cc +52 -832
  1168. data/src/core/lib/iomgr/error.h +42 -316
  1169. data/src/core/lib/iomgr/error_cfstream.cc +18 -23
  1170. data/src/core/lib/iomgr/error_cfstream.h +19 -19
  1171. data/src/core/lib/iomgr/ev_apple.cc +27 -26
  1172. data/src/core/lib/iomgr/ev_apple.h +17 -17
  1173. data/src/core/lib/iomgr/ev_epoll1_linux.cc +270 -254
  1174. data/src/core/lib/iomgr/ev_epoll1_linux.h +19 -19
  1175. data/src/core/lib/iomgr/ev_poll_posix.cc +302 -277
  1176. data/src/core/lib/iomgr/ev_poll_posix.h +20 -20
  1177. data/src/core/lib/iomgr/ev_posix.cc +91 -125
  1178. data/src/core/lib/iomgr/ev_posix.h +91 -85
  1179. data/src/core/lib/iomgr/ev_windows.cc +18 -18
  1180. data/src/core/lib/iomgr/exec_ctx.cc +45 -139
  1181. data/src/core/lib/iomgr/exec_ctx.h +156 -197
  1182. data/src/core/lib/iomgr/executor.cc +36 -40
  1183. data/src/core/lib/iomgr/executor.h +25 -28
  1184. data/src/core/lib/iomgr/fork_posix.cc +25 -22
  1185. data/src/core/lib/iomgr/fork_windows.cc +21 -21
  1186. data/src/core/lib/iomgr/gethostname.h +18 -18
  1187. data/src/core/lib/iomgr/gethostname_fallback.cc +17 -17
  1188. data/src/core/lib/iomgr/gethostname_host_name_max.cc +17 -17
  1189. data/src/core/lib/iomgr/gethostname_sysconf.cc +17 -17
  1190. data/src/core/lib/iomgr/grpc_if_nametoindex.h +20 -20
  1191. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +20 -19
  1192. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +20 -19
  1193. data/src/core/lib/iomgr/internal_errqueue.cc +41 -48
  1194. data/src/core/lib/iomgr/internal_errqueue.h +81 -86
  1195. data/src/core/lib/iomgr/iocp_windows.cc +31 -31
  1196. data/src/core/lib/iomgr/iocp_windows.h +19 -19
  1197. data/src/core/lib/iomgr/iomgr.cc +25 -20
  1198. data/src/core/lib/iomgr/iomgr.h +32 -32
  1199. data/src/core/lib/iomgr/iomgr_fwd.h +26 -0
  1200. data/src/core/lib/iomgr/iomgr_internal.cc +17 -17
  1201. data/src/core/lib/iomgr/iomgr_internal.h +25 -25
  1202. data/src/core/lib/iomgr/iomgr_posix.cc +22 -21
  1203. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +22 -20
  1204. data/src/core/lib/iomgr/iomgr_windows.cc +25 -23
  1205. data/src/core/lib/iomgr/load_file.cc +24 -27
  1206. data/src/core/lib/iomgr/load_file.h +20 -20
  1207. data/src/core/lib/iomgr/lockfree_event.cc +114 -131
  1208. data/src/core/lib/iomgr/lockfree_event.h +19 -19
  1209. data/src/core/lib/iomgr/nameser.h +84 -84
  1210. data/src/core/lib/iomgr/polling_entity.cc +25 -21
  1211. data/src/core/lib/iomgr/polling_entity.h +33 -27
  1212. data/src/core/lib/iomgr/pollset.cc +18 -18
  1213. data/src/core/lib/iomgr/pollset.h +57 -57
  1214. data/src/core/lib/iomgr/pollset_set.cc +17 -17
  1215. data/src/core/lib/iomgr/pollset_set.h +23 -25
  1216. data/src/core/lib/iomgr/pollset_set_windows.cc +18 -18
  1217. data/src/core/lib/iomgr/pollset_set_windows.h +18 -18
  1218. data/src/core/lib/iomgr/pollset_windows.cc +32 -31
  1219. data/src/core/lib/iomgr/pollset_windows.h +22 -22
  1220. data/src/core/lib/iomgr/port.h +57 -40
  1221. data/src/core/lib/iomgr/python_util.h +20 -20
  1222. data/src/core/lib/iomgr/resolve_address.cc +34 -39
  1223. data/src/core/lib/iomgr/resolve_address.h +97 -64
  1224. data/src/core/lib/iomgr/resolve_address_impl.h +59 -0
  1225. data/src/core/lib/iomgr/resolve_address_posix.cc +133 -98
  1226. data/src/core/lib/iomgr/resolve_address_posix.h +63 -0
  1227. data/src/core/lib/iomgr/resolve_address_windows.cc +129 -84
  1228. data/src/core/lib/iomgr/resolve_address_windows.h +63 -0
  1229. data/src/core/lib/iomgr/resolved_address.h +39 -0
  1230. data/src/core/lib/iomgr/sockaddr.h +23 -24
  1231. data/src/core/lib/iomgr/sockaddr_posix.h +20 -18
  1232. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +64 -0
  1233. data/src/core/lib/iomgr/sockaddr_windows.h +20 -18
  1234. data/src/core/lib/iomgr/socket_factory_posix.cc +18 -18
  1235. data/src/core/lib/iomgr/socket_factory_posix.h +30 -30
  1236. data/src/core/lib/iomgr/socket_mutator.cc +19 -18
  1237. data/src/core/lib/iomgr/socket_mutator.h +37 -37
  1238. data/src/core/lib/iomgr/socket_utils.h +24 -24
  1239. data/src/core/lib/iomgr/socket_utils_common_posix.cc +82 -118
  1240. data/src/core/lib/iomgr/socket_utils_linux.cc +18 -17
  1241. data/src/core/lib/iomgr/socket_utils_posix.cc +103 -19
  1242. data/src/core/lib/iomgr/socket_utils_posix.h +173 -81
  1243. data/src/core/lib/iomgr/socket_utils_windows.cc +20 -19
  1244. data/src/core/lib/iomgr/socket_windows.cc +37 -36
  1245. data/src/core/lib/iomgr/socket_windows.h +56 -58
  1246. data/src/core/lib/iomgr/systemd_utils.cc +116 -0
  1247. data/src/core/lib/iomgr/systemd_utils.h +33 -0
  1248. data/src/core/lib/iomgr/tcp_client.cc +28 -26
  1249. data/src/core/lib/iomgr/tcp_client.h +47 -37
  1250. data/src/core/lib/iomgr/tcp_client_cfstream.cc +47 -44
  1251. data/src/core/lib/iomgr/tcp_client_posix.cc +233 -123
  1252. data/src/core/lib/iomgr/tcp_client_posix.h +54 -52
  1253. data/src/core/lib/iomgr/tcp_client_windows.cc +61 -62
  1254. data/src/core/lib/iomgr/tcp_posix.cc +587 -374
  1255. data/src/core/lib/iomgr/tcp_posix.h +31 -31
  1256. data/src/core/lib/iomgr/tcp_server.cc +32 -25
  1257. data/src/core/lib/iomgr/tcp_server.h +73 -66
  1258. data/src/core/lib/iomgr/tcp_server_posix.cc +197 -159
  1259. data/src/core/lib/iomgr/tcp_server_utils_posix.h +73 -69
  1260. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +121 -82
  1261. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +47 -43
  1262. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +19 -19
  1263. data/src/core/lib/iomgr/tcp_server_windows.cc +116 -123
  1264. data/src/core/lib/iomgr/tcp_windows.cc +125 -105
  1265. data/src/core/lib/iomgr/tcp_windows.h +30 -32
  1266. data/src/core/lib/iomgr/timer.cc +19 -19
  1267. data/src/core/lib/iomgr/timer.h +75 -70
  1268. data/src/core/lib/iomgr/timer_generic.cc +214 -204
  1269. data/src/core/lib/iomgr/timer_generic.h +19 -19
  1270. data/src/core/lib/iomgr/timer_heap.cc +25 -25
  1271. data/src/core/lib/iomgr/timer_heap.h +19 -19
  1272. data/src/core/lib/iomgr/timer_manager.cc +44 -43
  1273. data/src/core/lib/iomgr/timer_manager.h +25 -25
  1274. data/src/core/lib/iomgr/unix_sockets_posix.cc +38 -51
  1275. data/src/core/lib/iomgr/unix_sockets_posix.h +22 -25
  1276. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +25 -32
  1277. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +23 -23
  1278. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +23 -23
  1279. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +29 -26
  1280. data/src/core/lib/iomgr/wakeup_fd_pipe.h +18 -18
  1281. data/src/core/lib/iomgr/wakeup_fd_posix.cc +33 -30
  1282. data/src/core/lib/iomgr/wakeup_fd_posix.h +50 -52
  1283. data/src/core/lib/json/json.h +20 -24
  1284. data/src/core/lib/json/json_args.h +34 -0
  1285. data/src/core/lib/json/json_channel_args.h +42 -0
  1286. data/src/core/lib/json/json_object_loader.cc +217 -0
  1287. data/src/core/lib/json/json_object_loader.h +634 -0
  1288. data/src/core/lib/json/json_reader.cc +183 -103
  1289. data/src/core/lib/json/json_util.cc +17 -37
  1290. data/src/core/lib/json/json_util.h +18 -9
  1291. data/src/core/lib/json/json_writer.cc +62 -57
  1292. data/src/core/lib/load_balancing/lb_policy.cc +93 -0
  1293. data/src/core/lib/load_balancing/lb_policy.h +438 -0
  1294. data/src/core/lib/load_balancing/lb_policy_factory.h +49 -0
  1295. data/src/core/lib/load_balancing/lb_policy_registry.cc +141 -0
  1296. data/src/core/lib/load_balancing/lb_policy_registry.h +82 -0
  1297. data/src/core/lib/load_balancing/subchannel_interface.h +133 -0
  1298. data/src/core/lib/matchers/matchers.cc +12 -8
  1299. data/src/core/lib/matchers/matchers.h +3 -1
  1300. data/src/core/lib/promise/activity.cc +134 -0
  1301. data/src/core/lib/promise/activity.h +612 -0
  1302. data/src/core/lib/promise/arena_promise.h +231 -0
  1303. data/src/core/lib/promise/context.h +93 -0
  1304. data/src/core/lib/promise/detail/basic_seq.h +497 -0
  1305. data/src/core/lib/promise/detail/promise_factory.h +236 -0
  1306. data/src/core/lib/promise/detail/promise_like.h +85 -0
  1307. data/src/core/lib/promise/detail/status.h +78 -0
  1308. data/src/core/lib/promise/detail/switch.h +1455 -0
  1309. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +56 -0
  1310. data/src/core/lib/promise/for_each.h +155 -0
  1311. data/src/core/lib/promise/intra_activity_waiter.h +49 -0
  1312. data/src/core/lib/promise/latch.h +97 -0
  1313. data/src/core/lib/promise/loop.h +138 -0
  1314. data/src/core/lib/promise/map.h +88 -0
  1315. data/src/core/lib/promise/map_pipe.h +88 -0
  1316. data/src/core/lib/promise/pipe.cc +19 -0
  1317. data/src/core/lib/promise/pipe.h +505 -0
  1318. data/src/core/lib/promise/poll.h +85 -0
  1319. data/src/core/lib/promise/promise.h +96 -0
  1320. data/src/core/lib/promise/race.h +83 -0
  1321. data/src/core/lib/promise/seq.h +107 -0
  1322. data/src/core/lib/promise/sleep.cc +90 -0
  1323. data/src/core/lib/promise/sleep.h +84 -0
  1324. data/src/core/lib/promise/try_concurrently.h +342 -0
  1325. data/src/core/lib/promise/try_seq.h +175 -0
  1326. data/src/core/lib/resolver/resolver.cc +37 -0
  1327. data/src/core/lib/resolver/resolver.h +138 -0
  1328. data/src/core/lib/resolver/resolver_factory.h +77 -0
  1329. data/src/core/lib/resolver/resolver_registry.cc +149 -0
  1330. data/src/core/lib/resolver/resolver_registry.h +123 -0
  1331. data/src/core/lib/resolver/server_address.cc +181 -0
  1332. data/src/core/lib/resolver/server_address.h +145 -0
  1333. data/src/core/lib/resource_quota/api.cc +104 -0
  1334. data/src/core/lib/resource_quota/api.h +49 -0
  1335. data/src/core/lib/resource_quota/arena.cc +138 -0
  1336. data/src/core/lib/resource_quota/arena.h +252 -0
  1337. data/src/core/lib/resource_quota/memory_quota.cc +699 -0
  1338. data/src/core/lib/resource_quota/memory_quota.h +592 -0
  1339. data/src/core/lib/resource_quota/periodic_update.cc +78 -0
  1340. data/src/core/lib/resource_quota/periodic_update.h +71 -0
  1341. data/src/core/lib/resource_quota/resource_quota.cc +33 -0
  1342. data/src/core/lib/resource_quota/resource_quota.h +74 -0
  1343. data/src/core/lib/resource_quota/thread_quota.cc +45 -0
  1344. data/src/core/lib/resource_quota/thread_quota.h +61 -0
  1345. data/src/core/lib/resource_quota/trace.cc +19 -0
  1346. data/src/core/lib/resource_quota/trace.h +24 -0
  1347. data/src/core/lib/security/authorization/authorization_policy_provider.h +14 -0
  1348. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +3 -0
  1349. data/src/core/lib/security/authorization/evaluate_args.cc +53 -45
  1350. data/src/core/lib/security/authorization/evaluate_args.h +9 -5
  1351. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +64 -0
  1352. data/src/core/lib/security/authorization/grpc_authorization_engine.h +69 -0
  1353. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +122 -0
  1354. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +61 -0
  1355. data/src/core/lib/security/authorization/matchers.cc +241 -0
  1356. data/src/core/lib/security/authorization/matchers.h +218 -0
  1357. data/src/core/lib/security/authorization/rbac_policy.cc +445 -0
  1358. data/src/core/lib/security/authorization/rbac_policy.h +178 -0
  1359. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +66 -0
  1360. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +60 -0
  1361. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +70 -0
  1362. data/src/core/lib/security/context/security_context.cc +31 -27
  1363. data/src/core/lib/security/context/security_context.h +62 -33
  1364. data/src/core/lib/security/credentials/alts/alts_credentials.cc +35 -27
  1365. data/src/core/lib/security/credentials/alts/alts_credentials.h +68 -54
  1366. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +19 -19
  1367. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +41 -41
  1368. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +17 -17
  1369. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +18 -17
  1370. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +18 -17
  1371. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +20 -22
  1372. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +18 -18
  1373. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +36 -37
  1374. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +19 -22
  1375. data/src/core/lib/security/credentials/call_creds_util.cc +97 -0
  1376. data/src/core/lib/security/credentials/call_creds_util.h +43 -0
  1377. data/src/core/lib/security/credentials/channel_creds_registry.h +103 -0
  1378. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +80 -0
  1379. data/src/core/lib/security/credentials/composite/composite_credentials.cc +52 -111
  1380. data/src/core/lib/security/credentials/composite/composite_credentials.h +62 -37
  1381. data/src/core/lib/security/credentials/credentials.cc +25 -29
  1382. data/src/core/lib/security/credentials/credentials.h +138 -130
  1383. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +249 -107
  1384. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +19 -0
  1385. data/src/core/lib/security/credentials/external/aws_request_signer.cc +13 -3
  1386. data/src/core/lib/security/credentials/external/external_account_credentials.cc +137 -103
  1387. data/src/core/lib/security/credentials/external/external_account_credentials.h +16 -9
  1388. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +29 -27
  1389. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +6 -0
  1390. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +76 -45
  1391. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +11 -0
  1392. data/src/core/lib/security/credentials/fake/fake_credentials.cc +62 -62
  1393. data/src/core/lib/security/credentials/fake/fake_credentials.h +68 -60
  1394. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +23 -25
  1395. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +165 -128
  1396. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +38 -26
  1397. data/src/core/lib/security/credentials/iam/iam_credentials.cc +49 -47
  1398. data/src/core/lib/security/credentials/iam/iam_credentials.h +43 -27
  1399. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +35 -26
  1400. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +61 -0
  1401. data/src/core/lib/security/credentials/jwt/json_token.cc +44 -35
  1402. data/src/core/lib/security/credentials/jwt/json_token.h +33 -33
  1403. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +63 -72
  1404. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +47 -30
  1405. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +166 -131
  1406. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +48 -46
  1407. data/src/core/lib/security/credentials/local/local_credentials.cc +36 -30
  1408. data/src/core/lib/security/credentials/local/local_credentials.h +39 -23
  1409. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +237 -246
  1410. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +99 -52
  1411. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +122 -174
  1412. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +98 -45
  1413. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +49 -54
  1414. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +47 -24
  1415. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +22 -30
  1416. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +13 -14
  1417. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +75 -59
  1418. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +73 -14
  1419. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +241 -0
  1420. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +168 -0
  1421. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +55 -110
  1422. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +73 -149
  1423. data/src/core/lib/security/credentials/tls/tls_credentials.cc +76 -60
  1424. data/src/core/lib/security/credentials/tls/tls_credentials.h +31 -22
  1425. data/src/core/lib/security/credentials/tls/tls_utils.cc +5 -1
  1426. data/src/core/lib/security/credentials/tls/tls_utils.h +1 -1
  1427. data/src/core/lib/security/credentials/xds/xds_credentials.cc +80 -89
  1428. data/src/core/lib/security/credentials/xds/xds_credentials.h +54 -9
  1429. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +71 -71
  1430. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +50 -48
  1431. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +81 -95
  1432. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +23 -26
  1433. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +23 -24
  1434. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +35 -29
  1435. data/src/core/lib/security/security_connector/load_system_roots.h +18 -18
  1436. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +22 -20
  1437. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +175 -0
  1438. data/src/core/lib/security/security_connector/load_system_roots_supported.h +45 -0
  1439. data/src/core/lib/security/security_connector/local/local_security_connector.cc +75 -63
  1440. data/src/core/lib/security/security_connector/local/local_security_connector.h +47 -44
  1441. data/src/core/lib/security/security_connector/security_connector.cc +39 -49
  1442. data/src/core/lib/security/security_connector/security_connector.h +79 -62
  1443. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +64 -59
  1444. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +42 -41
  1445. data/src/core/lib/security/security_connector/ssl_utils.cc +85 -71
  1446. data/src/core/lib/security/security_connector/ssl_utils.h +53 -54
  1447. data/src/core/lib/security/security_connector/ssl_utils_config.cc +22 -22
  1448. data/src/core/lib/security/security_connector/ssl_utils_config.h +19 -20
  1449. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +412 -251
  1450. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +114 -71
  1451. data/src/core/lib/security/transport/auth_filters.h +63 -23
  1452. data/src/core/lib/security/transport/client_auth_filter.cc +142 -388
  1453. data/src/core/lib/security/transport/secure_endpoint.cc +305 -181
  1454. data/src/core/lib/security/transport/secure_endpoint.h +26 -25
  1455. data/src/core/lib/security/transport/security_handshaker.cc +140 -109
  1456. data/src/core/lib/security/transport/security_handshaker.h +25 -20
  1457. data/src/core/lib/security/transport/server_auth_filter.cc +107 -79
  1458. data/src/core/lib/security/transport/tsi_error.cc +23 -20
  1459. data/src/core/lib/security/transport/tsi_error.h +18 -18
  1460. data/src/core/lib/security/util/json_util.cc +24 -24
  1461. data/src/core/lib/security/util/json_util.h +18 -20
  1462. data/src/core/lib/service_config/service_config.h +89 -0
  1463. data/src/core/lib/service_config/service_config_call_data.h +82 -0
  1464. data/src/core/lib/service_config/service_config_impl.cc +191 -0
  1465. data/src/core/lib/service_config/service_config_impl.h +125 -0
  1466. data/src/core/lib/service_config/service_config_parser.cc +81 -0
  1467. data/src/core/lib/service_config/service_config_parser.h +105 -0
  1468. data/src/core/lib/slice/b64.cc +26 -26
  1469. data/src/core/lib/slice/b64.h +31 -29
  1470. data/src/core/lib/slice/percent_encoding.cc +52 -114
  1471. data/src/core/lib/slice/percent_encoding.h +28 -40
  1472. data/src/core/lib/slice/slice.cc +130 -220
  1473. data/src/core/lib/slice/slice.h +435 -0
  1474. data/src/core/lib/slice/slice_buffer.cc +139 -75
  1475. data/src/core/lib/slice/slice_buffer.h +162 -0
  1476. data/src/core/lib/slice/slice_internal.h +40 -66
  1477. data/src/core/lib/slice/slice_refcount.h +32 -93
  1478. data/src/core/lib/slice/slice_string_helpers.cc +17 -33
  1479. data/src/core/lib/slice/slice_string_helpers.h +20 -27
  1480. data/src/core/lib/surface/api_trace.cc +17 -17
  1481. data/src/core/lib/surface/api_trace.h +22 -22
  1482. data/src/core/lib/surface/builtins.cc +11 -6
  1483. data/src/core/lib/surface/byte_buffer.cc +26 -21
  1484. data/src/core/lib/surface/byte_buffer_reader.cc +24 -24
  1485. data/src/core/lib/surface/call.cc +2475 -1429
  1486. data/src/core/lib/surface/call.h +109 -58
  1487. data/src/core/lib/surface/call_details.cc +22 -23
  1488. data/src/core/lib/surface/call_log_batch.cc +24 -18
  1489. data/src/core/lib/surface/call_test_only.h +31 -28
  1490. data/src/core/lib/surface/call_trace.cc +113 -0
  1491. data/src/core/lib/surface/call_trace.h +30 -0
  1492. data/src/core/lib/surface/channel.cc +247 -345
  1493. data/src/core/lib/surface/channel.h +140 -104
  1494. data/src/core/lib/surface/channel_init.cc +19 -20
  1495. data/src/core/lib/surface/channel_init.h +22 -24
  1496. data/src/core/lib/surface/channel_ping.cc +26 -20
  1497. data/src/core/lib/surface/channel_stack_type.cc +21 -19
  1498. data/src/core/lib/surface/channel_stack_type.h +20 -20
  1499. data/src/core/lib/surface/completion_queue.cc +209 -231
  1500. data/src/core/lib/surface/completion_queue.h +38 -36
  1501. data/src/core/lib/surface/completion_queue_factory.cc +34 -28
  1502. data/src/core/lib/surface/completion_queue_factory.h +19 -21
  1503. data/src/core/lib/surface/event_string.cc +18 -24
  1504. data/src/core/lib/surface/event_string.h +19 -19
  1505. data/src/core/lib/surface/init.cc +106 -95
  1506. data/src/core/lib/surface/init.h +18 -28
  1507. data/src/core/lib/surface/init_internally.cc +25 -0
  1508. data/src/core/lib/surface/init_internally.h +37 -0
  1509. data/src/core/lib/surface/lame_client.cc +86 -124
  1510. data/src/core/lib/surface/lame_client.h +59 -21
  1511. data/src/core/lib/surface/metadata_array.cc +18 -17
  1512. data/src/core/lib/surface/server.cc +165 -218
  1513. data/src/core/lib/surface/server.h +64 -37
  1514. data/src/core/lib/surface/validate_metadata.cc +34 -48
  1515. data/src/core/lib/surface/validate_metadata.h +21 -18
  1516. data/src/core/lib/surface/version.cc +21 -21
  1517. data/src/core/lib/transport/bdp_estimator.cc +28 -29
  1518. data/src/core/lib/transport/bdp_estimator.h +21 -23
  1519. data/src/core/lib/transport/connectivity_state.cc +24 -23
  1520. data/src/core/lib/transport/connectivity_state.h +21 -22
  1521. data/src/core/lib/transport/error_utils.cc +62 -82
  1522. data/src/core/lib/transport/error_utils.h +28 -23
  1523. data/src/core/lib/transport/handshaker.cc +228 -0
  1524. data/src/core/lib/transport/handshaker.h +172 -0
  1525. data/src/core/lib/transport/handshaker_factory.h +74 -0
  1526. data/src/core/lib/transport/handshaker_registry.cc +61 -0
  1527. data/src/core/lib/transport/handshaker_registry.h +69 -0
  1528. data/src/core/lib/transport/http2_errors.h +20 -20
  1529. data/src/core/lib/transport/http_connect_handshaker.cc +400 -0
  1530. data/src/core/lib/transport/http_connect_handshaker.h +42 -0
  1531. data/src/core/lib/transport/metadata_batch.cc +269 -69
  1532. data/src/core/lib/transport/metadata_batch.h +1136 -855
  1533. data/src/core/lib/transport/parsed_metadata.cc +35 -0
  1534. data/src/core/lib/transport/parsed_metadata.h +239 -92
  1535. data/src/core/lib/transport/pid_controller.cc +24 -24
  1536. data/src/core/lib/transport/pid_controller.h +24 -24
  1537. data/src/core/lib/transport/status_conversion.cc +25 -25
  1538. data/src/core/lib/transport/status_conversion.h +23 -23
  1539. data/src/core/lib/transport/tcp_connect_handshaker.cc +246 -0
  1540. data/src/core/lib/transport/tcp_connect_handshaker.h +39 -0
  1541. data/src/core/lib/transport/timeout_encoding.cc +225 -92
  1542. data/src/core/lib/transport/timeout_encoding.h +62 -28
  1543. data/src/core/lib/transport/transport.cc +107 -82
  1544. data/src/core/lib/transport/transport.h +271 -150
  1545. data/src/core/lib/transport/transport_fwd.h +20 -0
  1546. data/src/core/lib/transport/transport_impl.h +56 -32
  1547. data/src/core/lib/transport/transport_op_string.cc +43 -85
  1548. data/src/core/lib/uri/uri_parser.cc +248 -66
  1549. data/src/core/lib/uri/uri_parser.h +39 -25
  1550. data/src/core/plugin_registry/grpc_plugin_registry.cc +75 -157
  1551. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +66 -0
  1552. data/src/core/tsi/alts/crypt/aes_gcm.cc +20 -20
  1553. data/src/core/tsi/alts/crypt/gsec.cc +26 -26
  1554. data/src/core/tsi/alts/crypt/gsec.h +334 -334
  1555. data/src/core/tsi/alts/frame_protector/alts_counter.cc +23 -23
  1556. data/src/core/tsi/alts/frame_protector/alts_counter.h +66 -66
  1557. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +19 -19
  1558. data/src/core/tsi/alts/frame_protector/alts_crypter.h +206 -206
  1559. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +72 -71
  1560. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +38 -38
  1561. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +18 -18
  1562. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +80 -81
  1563. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +22 -22
  1564. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +22 -22
  1565. data/src/core/tsi/alts/frame_protector/frame_handler.cc +26 -25
  1566. data/src/core/tsi/alts/frame_protector/frame_handler.h +166 -166
  1567. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +143 -118
  1568. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +101 -101
  1569. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +27 -18
  1570. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +41 -42
  1571. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +72 -56
  1572. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +58 -58
  1573. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +21 -21
  1574. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +23 -22
  1575. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +37 -37
  1576. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +21 -21
  1577. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +104 -103
  1578. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +45 -44
  1579. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +38 -39
  1580. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +38 -36
  1581. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +33 -34
  1582. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +65 -66
  1583. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +32 -31
  1584. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +53 -54
  1585. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +54 -53
  1586. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +138 -139
  1587. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +67 -58
  1588. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +41 -42
  1589. data/src/core/tsi/fake_transport_security.cc +146 -110
  1590. data/src/core/tsi/fake_transport_security.h +33 -27
  1591. data/src/core/tsi/local_transport_security.cc +58 -61
  1592. data/src/core/tsi/local_transport_security.h +32 -35
  1593. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +146 -0
  1594. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +81 -0
  1595. data/src/core/tsi/ssl/session_cache/ssl_session.h +21 -21
  1596. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +21 -19
  1597. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +18 -17
  1598. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +31 -24
  1599. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +27 -20
  1600. data/src/core/tsi/ssl_transport_security.cc +383 -386
  1601. data/src/core/tsi/ssl_transport_security.h +231 -191
  1602. data/src/core/tsi/ssl_transport_security_utils.cc +250 -0
  1603. data/src/core/tsi/ssl_transport_security_utils.h +147 -0
  1604. data/src/core/tsi/ssl_types.h +25 -25
  1605. data/src/core/tsi/transport_security.cc +44 -32
  1606. data/src/core/tsi/transport_security.h +47 -46
  1607. data/src/core/tsi/transport_security_grpc.cc +23 -22
  1608. data/src/core/tsi/transport_security_grpc.h +42 -39
  1609. data/src/core/tsi/transport_security_interface.h +343 -329
  1610. data/src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.clang +2 -0
  1611. data/src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.gcc +7 -0
  1612. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.clang +2 -0
  1613. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.gcc +7 -0
  1614. data/src/ruby/ext/grpc/ext-export.gcc +1 -1
  1615. data/src/ruby/ext/grpc/extconf.rb +107 -22
  1616. data/src/ruby/ext/grpc/rb_call.c +1 -0
  1617. data/src/ruby/ext/grpc/rb_channel.c +6 -2
  1618. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  1619. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  1620. data/src/ruby/ext/grpc/rb_grpc.c +1 -0
  1621. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +64 -72
  1622. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +99 -111
  1623. data/src/ruby/ext/grpc/rb_loader.c +6 -2
  1624. data/src/ruby/ext/grpc/rb_server.c +7 -4
  1625. data/src/ruby/lib/grpc/errors.rb +1 -1
  1626. data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
  1627. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  1628. data/src/ruby/lib/grpc/grpc.rb +1 -1
  1629. data/src/ruby/lib/grpc/version.rb +1 -1
  1630. data/src/ruby/pb/generate_proto_ruby.sh +1 -0
  1631. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
  1632. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +2 -1
  1633. data/src/ruby/pb/test/client.rb +769 -0
  1634. data/src/ruby/pb/test/server.rb +252 -0
  1635. data/src/ruby/pb/test/xds_client.rb +415 -0
  1636. data/src/ruby/spec/channel_spec.rb +5 -43
  1637. data/src/ruby/spec/client_server_spec.rb +20 -8
  1638. data/src/ruby/spec/generic/active_call_spec.rb +12 -3
  1639. data/src/ruby/spec/generic/client_stub_spec.rb +23 -23
  1640. data/src/ruby/spec/generic/server_interceptors_spec.rb +1 -1
  1641. data/src/ruby/spec/user_agent_spec.rb +1 -1
  1642. data/third_party/abseil-cpp/absl/algorithm/container.h +102 -92
  1643. data/third_party/abseil-cpp/absl/base/attributes.h +112 -52
  1644. data/third_party/abseil-cpp/absl/base/casts.h +61 -68
  1645. data/third_party/abseil-cpp/absl/base/config.h +245 -74
  1646. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +1 -26
  1647. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +12 -42
  1648. data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +67 -2
  1649. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +3 -3
  1650. data/third_party/abseil-cpp/absl/base/internal/endian.h +17 -62
  1651. data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +50 -0
  1652. data/third_party/abseil-cpp/absl/base/internal/invoke.h +54 -0
  1653. data/third_party/abseil-cpp/absl/base/internal/prefetch.h +138 -0
  1654. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +29 -22
  1655. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +13 -12
  1656. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +3 -0
  1657. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +11 -1
  1658. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +2 -5
  1659. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +2 -0
  1660. data/third_party/abseil-cpp/absl/base/internal/strerror.cc +88 -0
  1661. data/third_party/abseil-cpp/absl/base/internal/strerror.h +39 -0
  1662. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +68 -0
  1663. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +2 -1
  1664. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +4 -4
  1665. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +22 -7
  1666. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +15 -6
  1667. data/third_party/abseil-cpp/absl/base/log_severity.cc +28 -0
  1668. data/third_party/abseil-cpp/absl/base/log_severity.h +51 -0
  1669. data/third_party/abseil-cpp/absl/base/optimization.h +19 -11
  1670. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1671. data/third_party/abseil-cpp/absl/base/thread_annotations.h +2 -2
  1672. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  1673. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  1674. data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -5
  1675. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +11 -4
  1676. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +510 -0
  1677. data/third_party/abseil-cpp/absl/container/inlined_vector.h +118 -99
  1678. data/third_party/abseil-cpp/absl/container/internal/common.h +6 -5
  1679. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +10 -28
  1680. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +17 -15
  1681. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +77 -113
  1682. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +62 -85
  1683. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +417 -431
  1684. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +3 -2
  1685. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +18 -8
  1686. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +724 -262
  1687. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +45 -88
  1688. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +11 -1
  1689. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +16 -11
  1690. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +7 -2
  1691. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +8 -3
  1692. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +8 -3
  1693. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +13 -5
  1694. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +110 -0
  1695. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +8 -3
  1696. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +236 -0
  1697. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +33 -10
  1698. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +8 -2
  1699. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +35 -4
  1700. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +2 -0
  1701. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +7 -0
  1702. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +60 -7
  1703. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +72 -0
  1704. data/third_party/abseil-cpp/absl/functional/any_invocable.h +313 -0
  1705. data/third_party/abseil-cpp/absl/functional/bind_front.h +10 -1
  1706. data/third_party/abseil-cpp/absl/functional/function_ref.h +6 -2
  1707. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +857 -0
  1708. data/third_party/abseil-cpp/absl/hash/hash.h +104 -8
  1709. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +15 -16
  1710. data/third_party/abseil-cpp/absl/hash/internal/hash.h +297 -51
  1711. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +123 -0
  1712. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +50 -0
  1713. data/third_party/abseil-cpp/absl/memory/memory.h +1 -1
  1714. data/third_party/abseil-cpp/absl/meta/type_traits.h +32 -2
  1715. data/third_party/abseil-cpp/absl/numeric/bits.h +2 -1
  1716. data/third_party/abseil-cpp/absl/numeric/int128.cc +7 -12
  1717. data/third_party/abseil-cpp/absl/numeric/int128.h +148 -75
  1718. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +19 -25
  1719. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +73 -70
  1720. data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +93 -0
  1721. data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.h +130 -0
  1722. data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +245 -0
  1723. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +200 -0
  1724. data/third_party/abseil-cpp/absl/random/beta_distribution.h +427 -0
  1725. data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +98 -0
  1726. data/third_party/abseil-cpp/absl/random/discrete_distribution.h +247 -0
  1727. data/third_party/abseil-cpp/absl/random/distributions.h +452 -0
  1728. data/third_party/abseil-cpp/absl/random/exponential_distribution.h +165 -0
  1729. data/third_party/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
  1730. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +275 -0
  1731. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +95 -0
  1732. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +269 -0
  1733. data/third_party/abseil-cpp/absl/random/internal/fastmath.h +57 -0
  1734. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +144 -0
  1735. data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +245 -0
  1736. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +161 -0
  1737. data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +308 -0
  1738. data/third_party/abseil-cpp/absl/random/internal/platform.h +171 -0
  1739. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +253 -0
  1740. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +131 -0
  1741. data/third_party/abseil-cpp/absl/random/internal/randen.cc +91 -0
  1742. data/third_party/abseil-cpp/absl/random/internal/randen.h +96 -0
  1743. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +225 -0
  1744. data/third_party/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
  1745. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +264 -0
  1746. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
  1747. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
  1748. data/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
  1749. data/third_party/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
  1750. data/third_party/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
  1751. data/third_party/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
  1752. data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +165 -0
  1753. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +267 -0
  1754. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +104 -0
  1755. data/third_party/abseil-cpp/absl/random/internal/traits.h +149 -0
  1756. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
  1757. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +96 -0
  1758. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +256 -0
  1759. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +261 -0
  1760. data/third_party/abseil-cpp/absl/random/random.h +189 -0
  1761. data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +46 -0
  1762. data/third_party/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
  1763. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +29 -0
  1764. data/third_party/abseil-cpp/absl/random/seed_sequences.h +111 -0
  1765. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +275 -0
  1766. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +202 -0
  1767. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +272 -0
  1768. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +22 -5
  1769. data/third_party/abseil-cpp/absl/status/status.cc +183 -19
  1770. data/third_party/abseil-cpp/absl/status/status.h +41 -27
  1771. data/third_party/abseil-cpp/absl/status/statusor.cc +34 -2
  1772. data/third_party/abseil-cpp/absl/status/statusor.h +40 -24
  1773. data/third_party/abseil-cpp/absl/strings/ascii.h +4 -4
  1774. data/third_party/abseil-cpp/absl/strings/charconv.cc +3 -3
  1775. data/third_party/abseil-cpp/absl/strings/charconv.h +3 -2
  1776. data/third_party/abseil-cpp/absl/strings/cord.cc +469 -1094
  1777. data/third_party/abseil-cpp/absl/strings/cord.h +392 -144
  1778. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +188 -0
  1779. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +44 -0
  1780. data/third_party/abseil-cpp/absl/strings/cord_buffer.cc +30 -0
  1781. data/third_party/abseil-cpp/absl/strings/cord_buffer.h +572 -0
  1782. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +1 -1
  1783. data/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
  1784. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +23 -29
  1785. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +208 -96
  1786. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1228 -0
  1787. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +924 -0
  1788. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +187 -0
  1789. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +267 -0
  1790. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +69 -0
  1791. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +212 -0
  1792. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +62 -0
  1793. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +50 -0
  1794. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +54 -0
  1795. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +102 -0
  1796. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +60 -19
  1797. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +48 -172
  1798. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +42 -24
  1799. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +4 -0
  1800. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +96 -0
  1801. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +85 -0
  1802. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +139 -0
  1803. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +131 -0
  1804. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +418 -0
  1805. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +298 -0
  1806. data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +88 -0
  1807. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
  1808. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +123 -0
  1809. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +6 -5
  1810. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +1 -1
  1811. data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +48 -2
  1812. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +1 -1
  1813. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +9 -1
  1814. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +3 -4
  1815. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +39 -8
  1816. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +7 -2
  1817. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +10 -11
  1818. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +41 -20
  1819. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +2 -1
  1820. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +62 -73
  1821. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +28 -18
  1822. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +9 -6
  1823. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +35 -35
  1824. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +10 -2
  1825. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +9 -9
  1826. data/third_party/abseil-cpp/absl/strings/numbers.cc +9 -9
  1827. data/third_party/abseil-cpp/absl/strings/numbers.h +60 -23
  1828. data/third_party/abseil-cpp/absl/strings/str_cat.cc +4 -4
  1829. data/third_party/abseil-cpp/absl/strings/str_cat.h +20 -13
  1830. data/third_party/abseil-cpp/absl/strings/str_format.h +1 -2
  1831. data/third_party/abseil-cpp/absl/strings/str_join.h +9 -15
  1832. data/third_party/abseil-cpp/absl/strings/str_split.h +1 -2
  1833. data/third_party/abseil-cpp/absl/strings/string_view.cc +18 -34
  1834. data/third_party/abseil-cpp/absl/strings/string_view.h +123 -41
  1835. data/third_party/abseil-cpp/absl/strings/strip.h +8 -6
  1836. data/third_party/abseil-cpp/absl/strings/substitute.cc +2 -1
  1837. data/third_party/abseil-cpp/absl/strings/substitute.h +109 -76
  1838. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +25 -15
  1839. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +5 -3
  1840. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +9 -6
  1841. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +0 -4
  1842. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +0 -4
  1843. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +1 -6
  1844. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -26
  1845. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +10 -4
  1846. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +75 -40
  1847. data/third_party/abseil-cpp/absl/synchronization/mutex.h +20 -12
  1848. data/third_party/abseil-cpp/absl/synchronization/notification.h +3 -2
  1849. data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -3
  1850. data/third_party/abseil-cpp/absl/time/duration.cc +5 -4
  1851. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +11 -7
  1852. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +93 -20
  1853. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
  1854. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +2 -1
  1855. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +83 -21
  1856. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +49 -0
  1857. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +1 -1
  1858. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +2 -3
  1859. data/third_party/abseil-cpp/absl/time/time.h +82 -47
  1860. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +1 -1
  1861. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +2 -2
  1862. data/third_party/abseil-cpp/absl/types/internal/optional.h +8 -0
  1863. data/third_party/abseil-cpp/absl/types/internal/variant.h +3 -3
  1864. data/third_party/abseil-cpp/absl/types/optional.h +17 -14
  1865. data/third_party/abseil-cpp/absl/types/span.h +5 -4
  1866. data/third_party/boringssl-with-bazel/err_data.c +681 -677
  1867. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +19 -11
  1868. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +41 -30
  1869. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +1 -1
  1870. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +59 -47
  1871. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +24 -28
  1872. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +5 -0
  1873. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +28 -0
  1874. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +48 -272
  1875. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -0
  1876. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +8 -6
  1877. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +13 -0
  1878. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +3 -1
  1879. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +21 -0
  1880. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +2 -2
  1881. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +12 -0
  1882. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +1 -2
  1883. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +7 -7
  1884. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +2 -2
  1885. data/third_party/boringssl-with-bazel/src/crypto/mem.c +18 -0
  1886. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +29 -0
  1887. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +0 -1
  1888. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +1 -1
  1889. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +1 -1
  1890. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +5 -1
  1891. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +59 -23
  1892. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +2 -18
  1893. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +8 -2
  1894. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +216 -11
  1895. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +1 -1
  1896. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +1 -1
  1897. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +1 -1
  1898. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +1 -1
  1899. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +1 -1
  1900. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +1 -1
  1901. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +1 -0
  1902. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +0 -1
  1903. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +21 -4
  1904. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +971 -253
  1905. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +3 -3
  1906. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +0 -1
  1907. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +8 -0
  1908. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +13 -1
  1909. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -12
  1910. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +27 -41
  1911. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +12 -27
  1912. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +8 -10
  1913. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +29 -55
  1914. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +1 -1
  1915. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +12 -13
  1916. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +6 -1
  1917. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +7 -1
  1918. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +24 -28
  1919. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +29 -11
  1920. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +12 -43
  1921. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +4 -3
  1922. data/third_party/boringssl-with-bazel/src/ssl/internal.h +3 -3
  1923. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +4 -0
  1924. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +4 -0
  1925. data/third_party/cares/cares/include/ares.h +742 -0
  1926. data/third_party/cares/cares/include/ares_dns.h +112 -0
  1927. data/third_party/cares/cares/{ares_rules.h → include/ares_rules.h} +0 -0
  1928. data/third_party/cares/cares/include/ares_version.h +24 -0
  1929. data/third_party/cares/cares/src/lib/ares__close_sockets.c +61 -0
  1930. data/third_party/cares/cares/src/lib/ares__get_hostent.c +260 -0
  1931. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +260 -0
  1932. data/third_party/cares/cares/{ares__read_line.c → src/lib/ares__read_line.c} +0 -0
  1933. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +264 -0
  1934. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +499 -0
  1935. data/third_party/cares/cares/{ares__timeval.c → src/lib/ares__timeval.c} +0 -0
  1936. data/third_party/cares/cares/src/lib/ares_android.c +444 -0
  1937. data/third_party/cares/cares/src/lib/ares_android.h +27 -0
  1938. data/third_party/cares/cares/{ares_cancel.c → src/lib/ares_cancel.c} +0 -0
  1939. data/third_party/cares/cares/src/lib/ares_create_query.c +197 -0
  1940. data/third_party/cares/cares/src/lib/ares_data.c +240 -0
  1941. data/third_party/cares/cares/src/lib/ares_data.h +74 -0
  1942. data/third_party/cares/cares/{ares_destroy.c → src/lib/ares_destroy.c} +0 -0
  1943. data/third_party/cares/cares/src/lib/ares_expand_name.c +300 -0
  1944. data/third_party/cares/cares/src/lib/ares_expand_string.c +67 -0
  1945. data/third_party/cares/cares/{ares_fds.c → src/lib/ares_fds.c} +0 -0
  1946. data/third_party/cares/cares/src/lib/ares_free_hostent.c +43 -0
  1947. data/third_party/cares/cares/{ares_free_string.c → src/lib/ares_free_string.c} +0 -0
  1948. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +59 -0
  1949. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +772 -0
  1950. data/third_party/cares/cares/src/lib/ares_getenv.c +28 -0
  1951. data/third_party/cares/cares/{ares_getenv.h → src/lib/ares_getenv.h} +0 -0
  1952. data/third_party/cares/cares/src/lib/ares_gethostbyaddr.c +287 -0
  1953. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +534 -0
  1954. data/third_party/cares/cares/src/lib/ares_getnameinfo.c +447 -0
  1955. data/third_party/cares/cares/{ares_getsock.c → src/lib/ares_getsock.c} +0 -0
  1956. data/third_party/cares/cares/{ares_inet_net_pton.h → src/lib/ares_inet_net_pton.h} +0 -0
  1957. data/third_party/cares/cares/src/lib/ares_init.c +2654 -0
  1958. data/third_party/cares/cares/{ares_iphlpapi.h → src/lib/ares_iphlpapi.h} +0 -0
  1959. data/third_party/cares/cares/src/lib/ares_ipv6.h +85 -0
  1960. data/third_party/cares/cares/src/lib/ares_library_init.c +200 -0
  1961. data/third_party/cares/cares/src/lib/ares_library_init.h +43 -0
  1962. data/third_party/cares/cares/{ares_llist.c → src/lib/ares_llist.c} +0 -0
  1963. data/third_party/cares/cares/{ares_llist.h → src/lib/ares_llist.h} +0 -0
  1964. data/third_party/cares/cares/{ares_mkquery.c → src/lib/ares_mkquery.c} +0 -0
  1965. data/third_party/cares/cares/src/lib/ares_nameser.h +482 -0
  1966. data/third_party/cares/cares/{ares_nowarn.c → src/lib/ares_nowarn.c} +0 -0
  1967. data/third_party/cares/cares/{ares_nowarn.h → src/lib/ares_nowarn.h} +0 -0
  1968. data/third_party/cares/cares/{ares_options.c → src/lib/ares_options.c} +0 -0
  1969. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +209 -0
  1970. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +212 -0
  1971. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +199 -0
  1972. data/third_party/cares/cares/src/lib/ares_parse_mx_reply.c +164 -0
  1973. data/third_party/cares/cares/src/lib/ares_parse_naptr_reply.c +183 -0
  1974. data/third_party/cares/cares/src/lib/ares_parse_ns_reply.c +177 -0
  1975. data/third_party/cares/cares/src/lib/ares_parse_ptr_reply.c +228 -0
  1976. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +179 -0
  1977. data/third_party/cares/cares/src/lib/ares_parse_srv_reply.c +168 -0
  1978. data/third_party/cares/cares/src/lib/ares_parse_txt_reply.c +214 -0
  1979. data/third_party/cares/cares/{ares_platform.c → src/lib/ares_platform.c} +0 -0
  1980. data/third_party/cares/cares/{ares_platform.h → src/lib/ares_platform.h} +0 -0
  1981. data/third_party/cares/cares/src/lib/ares_private.h +423 -0
  1982. data/third_party/cares/cares/src/lib/ares_process.c +1548 -0
  1983. data/third_party/cares/cares/src/lib/ares_query.c +180 -0
  1984. data/third_party/cares/cares/src/lib/ares_search.c +321 -0
  1985. data/third_party/cares/cares/src/lib/ares_send.c +131 -0
  1986. data/third_party/cares/cares/src/lib/ares_setup.h +220 -0
  1987. data/third_party/cares/cares/{ares_strcasecmp.c → src/lib/ares_strcasecmp.c} +0 -0
  1988. data/third_party/cares/cares/{ares_strcasecmp.h → src/lib/ares_strcasecmp.h} +0 -0
  1989. data/third_party/cares/cares/{ares_strdup.c → src/lib/ares_strdup.c} +0 -0
  1990. data/third_party/cares/cares/{ares_strdup.h → src/lib/ares_strdup.h} +0 -0
  1991. data/third_party/cares/cares/{ares_strerror.c → src/lib/ares_strerror.c} +0 -0
  1992. data/third_party/cares/cares/src/lib/ares_strsplit.c +178 -0
  1993. data/third_party/cares/cares/{ares_strsplit.h → src/lib/ares_strsplit.h} +0 -0
  1994. data/third_party/cares/cares/{ares_timeout.c → src/lib/ares_timeout.c} +0 -0
  1995. data/third_party/cares/cares/{ares_version.c → src/lib/ares_version.c} +0 -0
  1996. data/third_party/cares/cares/{ares_writev.c → src/lib/ares_writev.c} +0 -0
  1997. data/third_party/cares/cares/src/lib/ares_writev.h +36 -0
  1998. data/third_party/cares/cares/{bitncmp.c → src/lib/bitncmp.c} +0 -0
  1999. data/third_party/cares/cares/{bitncmp.h → src/lib/bitncmp.h} +0 -0
  2000. data/third_party/cares/cares/src/lib/config-dos.h +115 -0
  2001. data/third_party/cares/cares/{config-win32.h → src/lib/config-win32.h} +0 -0
  2002. data/third_party/cares/cares/src/lib/inet_net_pton.c +444 -0
  2003. data/third_party/cares/cares/src/lib/inet_ntop.c +201 -0
  2004. data/third_party/cares/cares/{setup_once.h → src/lib/setup_once.h} +0 -0
  2005. data/third_party/cares/cares/{windows_port.c → src/lib/windows_port.c} +0 -0
  2006. data/third_party/re2/re2/bitstate.cc +3 -3
  2007. data/third_party/re2/re2/dfa.cc +13 -13
  2008. data/third_party/re2/re2/nfa.cc +4 -4
  2009. data/third_party/re2/re2/onepass.cc +2 -2
  2010. data/third_party/re2/re2/prefilter_tree.cc +27 -59
  2011. data/third_party/re2/re2/prefilter_tree.h +3 -2
  2012. data/third_party/re2/re2/prog.cc +11 -2
  2013. data/third_party/re2/re2/prog.h +17 -5
  2014. data/third_party/re2/re2/re2.cc +6 -11
  2015. data/third_party/re2/re2/re2.h +1 -1
  2016. data/third_party/re2/re2/regexp.cc +1 -2
  2017. data/third_party/re2/re2/stringpiece.h +10 -7
  2018. data/third_party/re2/re2/unicode_casefold.cc +25 -11
  2019. data/third_party/re2/re2/unicode_groups.cc +319 -151
  2020. data/third_party/re2/re2/walker-inl.h +3 -2
  2021. data/third_party/re2/util/mutex.h +4 -4
  2022. data/third_party/upb/third_party/utf8_range/naive.c +92 -0
  2023. data/third_party/upb/third_party/utf8_range/range2-neon.c +157 -0
  2024. data/third_party/upb/third_party/utf8_range/range2-sse.c +170 -0
  2025. data/third_party/upb/third_party/utf8_range/utf8_range.h +9 -0
  2026. data/third_party/upb/upb/arena.c +277 -0
  2027. data/third_party/upb/upb/arena.h +225 -0
  2028. data/third_party/upb/upb/array.c +114 -0
  2029. data/third_party/upb/upb/array.h +83 -0
  2030. data/third_party/upb/upb/collections.h +36 -0
  2031. data/third_party/upb/upb/decode.c +832 -382
  2032. data/third_party/upb/upb/decode.h +44 -17
  2033. data/third_party/upb/upb/decode_fast.c +304 -302
  2034. data/third_party/upb/upb/decode_fast.h +18 -18
  2035. data/third_party/upb/upb/def.c +2083 -982
  2036. data/third_party/upb/upb/def.h +339 -260
  2037. data/third_party/upb/upb/def.hpp +144 -171
  2038. data/third_party/upb/upb/encode.c +287 -185
  2039. data/third_party/upb/upb/encode.h +24 -16
  2040. data/third_party/upb/upb/extension_registry.c +93 -0
  2041. data/third_party/upb/upb/extension_registry.h +84 -0
  2042. data/third_party/upb/upb/internal/decode.h +211 -0
  2043. data/third_party/upb/upb/internal/table.h +385 -0
  2044. data/third_party/upb/upb/internal/upb.h +68 -0
  2045. data/third_party/upb/upb/internal/vsnprintf_compat.h +52 -0
  2046. data/third_party/upb/upb/json_decode.c +1512 -0
  2047. data/third_party/upb/upb/json_decode.h +47 -0
  2048. data/third_party/upb/upb/json_encode.c +780 -0
  2049. data/third_party/upb/upb/json_encode.h +65 -0
  2050. data/third_party/upb/upb/map.c +108 -0
  2051. data/third_party/upb/upb/map.h +117 -0
  2052. data/third_party/upb/upb/message_value.h +66 -0
  2053. data/third_party/upb/upb/mini_table.c +1147 -0
  2054. data/third_party/upb/upb/mini_table.h +189 -0
  2055. data/third_party/upb/upb/mini_table.hpp +112 -0
  2056. data/third_party/upb/upb/msg.c +132 -161
  2057. data/third_party/upb/upb/msg.h +18 -55
  2058. data/third_party/upb/upb/msg_internal.h +404 -254
  2059. data/third_party/upb/upb/port_def.inc +10 -1
  2060. data/third_party/upb/upb/port_undef.inc +2 -0
  2061. data/third_party/upb/upb/reflection.c +203 -280
  2062. data/third_party/upb/upb/reflection.h +40 -126
  2063. data/third_party/upb/upb/reflection.hpp +6 -6
  2064. data/third_party/upb/upb/status.c +86 -0
  2065. data/third_party/upb/upb/status.h +66 -0
  2066. data/third_party/upb/upb/table.c +233 -149
  2067. data/third_party/upb/upb/table_internal.h +9 -324
  2068. data/third_party/upb/upb/text_encode.c +116 -92
  2069. data/third_party/upb/upb/text_encode.h +10 -10
  2070. data/third_party/upb/upb/upb.c +34 -273
  2071. data/third_party/upb/upb/upb.h +79 -262
  2072. data/third_party/upb/upb/upb.hpp +31 -28
  2073. data/third_party/xxhash/xxhash.h +607 -352
  2074. data/third_party/zlib/compress.c +3 -3
  2075. data/third_party/zlib/crc32.c +975 -292
  2076. data/third_party/zlib/crc32.h +9441 -436
  2077. data/third_party/zlib/deflate.c +183 -129
  2078. data/third_party/zlib/deflate.h +12 -15
  2079. data/third_party/zlib/gzguts.h +3 -2
  2080. data/third_party/zlib/gzlib.c +6 -4
  2081. data/third_party/zlib/gzread.c +8 -12
  2082. data/third_party/zlib/gzwrite.c +26 -14
  2083. data/third_party/zlib/infback.c +12 -8
  2084. data/third_party/zlib/inffast.c +14 -14
  2085. data/third_party/zlib/inflate.c +44 -10
  2086. data/third_party/zlib/inflate.h +3 -2
  2087. data/third_party/zlib/inftrees.c +3 -3
  2088. data/third_party/zlib/inftrees.h +1 -1
  2089. data/third_party/zlib/trees.c +85 -107
  2090. data/third_party/zlib/uncompr.c +2 -2
  2091. data/third_party/zlib/zconf.h +16 -3
  2092. data/third_party/zlib/zlib.h +129 -106
  2093. data/third_party/zlib/zutil.c +11 -9
  2094. data/third_party/zlib/zutil.h +13 -9
  2095. metadata +786 -299
  2096. data/include/grpc/impl/codegen/gpr_slice.h +0 -71
  2097. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +0 -392
  2098. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +0 -42
  2099. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +0 -44
  2100. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +0 -83
  2101. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +0 -60
  2102. data/src/core/ext/filters/client_channel/lb_policy.cc +0 -131
  2103. data/src/core/ext/filters/client_channel/lb_policy.h +0 -425
  2104. data/src/core/ext/filters/client_channel/lb_policy_factory.h +0 -48
  2105. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +0 -185
  2106. data/src/core/ext/filters/client_channel/lb_policy_registry.h +0 -65
  2107. data/src/core/ext/filters/client_channel/proxy_mapper.h +0 -54
  2108. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +0 -89
  2109. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +0 -50
  2110. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc +0 -31
  2111. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc +0 -28
  2112. data/src/core/ext/filters/client_channel/resolver.cc +0 -87
  2113. data/src/core/ext/filters/client_channel/resolver.h +0 -136
  2114. data/src/core/ext/filters/client_channel/resolver_factory.h +0 -75
  2115. data/src/core/ext/filters/client_channel/resolver_registry.cc +0 -195
  2116. data/src/core/ext/filters/client_channel/resolver_registry.h +0 -89
  2117. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -189
  2118. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +0 -99
  2119. data/src/core/ext/filters/client_channel/server_address.cc +0 -170
  2120. data/src/core/ext/filters/client_channel/server_address.h +0 -144
  2121. data/src/core/ext/filters/client_channel/subchannel_interface.h +0 -130
  2122. data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -264
  2123. data/src/core/ext/filters/client_idle/idle_filter_state.cc +0 -96
  2124. data/src/core/ext/filters/client_idle/idle_filter_state.h +0 -66
  2125. data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -181
  2126. data/src/core/ext/filters/fault_injection/service_config_parser.h +0 -85
  2127. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +0 -553
  2128. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -53
  2129. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -398
  2130. data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +0 -31
  2131. data/src/core/ext/filters/max_age/max_age_filter.cc +0 -560
  2132. data/src/core/ext/filters/max_age/max_age_filter.h +0 -26
  2133. data/src/core/ext/service_config/service_config.cc +0 -227
  2134. data/src/core/ext/service_config/service_config.h +0 -127
  2135. data/src/core/ext/service_config/service_config_call_data.h +0 -72
  2136. data/src/core/ext/service_config/service_config_parser.cc +0 -89
  2137. data/src/core/ext/service_config/service_config_parser.h +0 -97
  2138. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +0 -119
  2139. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +0 -95
  2140. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +0 -189
  2141. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -53
  2142. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +0 -83
  2143. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +0 -125
  2144. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -37
  2145. data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +0 -107
  2146. data/src/core/ext/transport/chttp2/transport/hpack_utils.cc +0 -46
  2147. data/src/core/ext/transport/chttp2/transport/hpack_utils.h +0 -30
  2148. data/src/core/ext/transport/chttp2/transport/popularity_count.h +0 -60
  2149. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +0 -27
  2150. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +0 -62
  2151. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -27
  2152. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +0 -62
  2153. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -27
  2154. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +0 -62
  2155. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -27
  2156. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +0 -62
  2157. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +0 -27
  2158. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +0 -62
  2159. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +0 -72
  2160. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +0 -35
  2161. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +0 -73
  2162. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +0 -35
  2163. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +0 -72
  2164. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +0 -35
  2165. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +0 -80
  2166. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +0 -35
  2167. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +0 -74
  2168. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +0 -35
  2169. data/src/core/ext/xds/certificate_provider_factory.h +0 -61
  2170. data/src/core/ext/xds/certificate_provider_registry.cc +0 -103
  2171. data/src/core/ext/xds/certificate_provider_registry.h +0 -57
  2172. data/src/core/lib/avl/avl.cc +0 -306
  2173. data/src/core/lib/channel/handshaker.cc +0 -222
  2174. data/src/core/lib/channel/handshaker.h +0 -161
  2175. data/src/core/lib/channel/handshaker_factory.h +0 -50
  2176. data/src/core/lib/channel/handshaker_registry.cc +0 -50
  2177. data/src/core/lib/channel/handshaker_registry.h +0 -71
  2178. data/src/core/lib/compression/algorithm_metadata.h +0 -62
  2179. data/src/core/lib/compression/compression_args.cc +0 -138
  2180. data/src/core/lib/compression/compression_args.h +0 -56
  2181. data/src/core/lib/compression/stream_compression.cc +0 -81
  2182. data/src/core/lib/compression/stream_compression.h +0 -117
  2183. data/src/core/lib/compression/stream_compression_gzip.cc +0 -231
  2184. data/src/core/lib/compression/stream_compression_gzip.h +0 -28
  2185. data/src/core/lib/compression/stream_compression_identity.cc +0 -91
  2186. data/src/core/lib/compression/stream_compression_identity.h +0 -29
  2187. data/src/core/lib/event_engine/endpoint_config.cc +0 -45
  2188. data/src/core/lib/event_engine/endpoint_config_internal.h +0 -42
  2189. data/src/core/lib/event_engine/event_engine.cc +0 -50
  2190. data/src/core/lib/event_engine/sockaddr.cc +0 -40
  2191. data/src/core/lib/event_engine/sockaddr.h +0 -44
  2192. data/src/core/lib/gpr/env.h +0 -40
  2193. data/src/core/lib/gpr/env_linux.cc +0 -75
  2194. data/src/core/lib/gpr/env_posix.cc +0 -46
  2195. data/src/core/lib/gpr/env_windows.cc +0 -74
  2196. data/src/core/lib/gpr/murmur_hash.cc +0 -82
  2197. data/src/core/lib/gpr/murmur_hash.h +0 -29
  2198. data/src/core/lib/gpr/string_windows.h +0 -32
  2199. data/src/core/lib/gpr/tls.h +0 -151
  2200. data/src/core/lib/gprpp/arena.cc +0 -104
  2201. data/src/core/lib/gprpp/arena.h +0 -131
  2202. data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +0 -32
  2203. data/src/core/lib/iomgr/error_internal.h +0 -66
  2204. data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -1654
  2205. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
  2206. data/src/core/lib/iomgr/event_engine/closure.cc +0 -77
  2207. data/src/core/lib/iomgr/event_engine/closure.h +0 -42
  2208. data/src/core/lib/iomgr/event_engine/endpoint.cc +0 -173
  2209. data/src/core/lib/iomgr/event_engine/endpoint.h +0 -52
  2210. data/src/core/lib/iomgr/event_engine/iomgr.cc +0 -104
  2211. data/src/core/lib/iomgr/event_engine/iomgr.h +0 -42
  2212. data/src/core/lib/iomgr/event_engine/pollset.cc +0 -88
  2213. data/src/core/lib/iomgr/event_engine/pollset.h +0 -25
  2214. data/src/core/lib/iomgr/event_engine/promise.h +0 -51
  2215. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +0 -41
  2216. data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +0 -35
  2217. data/src/core/lib/iomgr/event_engine/resolver.cc +0 -114
  2218. data/src/core/lib/iomgr/event_engine/tcp.cc +0 -293
  2219. data/src/core/lib/iomgr/event_engine/timer.cc +0 -62
  2220. data/src/core/lib/iomgr/executor/mpmcqueue.cc +0 -182
  2221. data/src/core/lib/iomgr/executor/mpmcqueue.h +0 -171
  2222. data/src/core/lib/iomgr/executor/threadpool.cc +0 -136
  2223. data/src/core/lib/iomgr/executor/threadpool.h +0 -150
  2224. data/src/core/lib/iomgr/iomgr_custom.cc +0 -79
  2225. data/src/core/lib/iomgr/iomgr_custom.h +0 -49
  2226. data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
  2227. data/src/core/lib/iomgr/is_epollexclusive_available.h +0 -36
  2228. data/src/core/lib/iomgr/pollset_custom.cc +0 -105
  2229. data/src/core/lib/iomgr/pollset_custom.h +0 -37
  2230. data/src/core/lib/iomgr/pollset_set_custom.cc +0 -47
  2231. data/src/core/lib/iomgr/pollset_set_custom.h +0 -26
  2232. data/src/core/lib/iomgr/resolve_address_custom.cc +0 -169
  2233. data/src/core/lib/iomgr/resolve_address_custom.h +0 -44
  2234. data/src/core/lib/iomgr/resource_quota.cc +0 -1106
  2235. data/src/core/lib/iomgr/resource_quota.h +0 -226
  2236. data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
  2237. data/src/core/lib/iomgr/tcp_client_custom.cc +0 -152
  2238. data/src/core/lib/iomgr/tcp_custom.cc +0 -377
  2239. data/src/core/lib/iomgr/tcp_custom.h +0 -86
  2240. data/src/core/lib/iomgr/tcp_server_custom.cc +0 -467
  2241. data/src/core/lib/iomgr/time_averaged_stats.cc +0 -64
  2242. data/src/core/lib/iomgr/time_averaged_stats.h +0 -72
  2243. data/src/core/lib/iomgr/timer_custom.cc +0 -96
  2244. data/src/core/lib/iomgr/timer_custom.h +0 -43
  2245. data/src/core/lib/iomgr/work_serializer.cc +0 -155
  2246. data/src/core/lib/iomgr/work_serializer.h +0 -81
  2247. data/src/core/lib/profiling/basic_timers.cc +0 -295
  2248. data/src/core/lib/profiling/stap_timers.cc +0 -50
  2249. data/src/core/lib/profiling/timers.h +0 -94
  2250. data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +0 -171
  2251. data/src/core/lib/security/authorization/sdk_server_authz_filter.h +0 -67
  2252. data/src/core/lib/security/credentials/credentials_metadata.cc +0 -61
  2253. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +0 -171
  2254. data/src/core/lib/security/security_connector/load_system_roots_linux.h +0 -46
  2255. data/src/core/lib/slice/slice_api.cc +0 -39
  2256. data/src/core/lib/slice/slice_intern.cc +0 -367
  2257. data/src/core/lib/slice/slice_refcount.cc +0 -17
  2258. data/src/core/lib/slice/slice_refcount_base.h +0 -173
  2259. data/src/core/lib/slice/slice_split.cc +0 -100
  2260. data/src/core/lib/slice/slice_split.h +0 -40
  2261. data/src/core/lib/slice/slice_utils.h +0 -200
  2262. data/src/core/lib/slice/static_slice.cc +0 -529
  2263. data/src/core/lib/slice/static_slice.h +0 -331
  2264. data/src/core/lib/surface/init_secure.cc +0 -103
  2265. data/src/core/lib/transport/byte_stream.cc +0 -158
  2266. data/src/core/lib/transport/byte_stream.h +0 -166
  2267. data/src/core/lib/transport/metadata.cc +0 -714
  2268. data/src/core/lib/transport/metadata.h +0 -449
  2269. data/src/core/lib/transport/static_metadata.cc +0 -1117
  2270. data/src/core/lib/transport/static_metadata.h +0 -340
  2271. data/src/core/lib/transport/status_metadata.cc +0 -63
  2272. data/src/core/lib/transport/status_metadata.h +0 -48
  2273. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.cc +0 -93
  2274. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.h +0 -130
  2275. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +0 -50
  2276. data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +0 -111
  2277. data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +0 -48
  2278. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +0 -93
  2279. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h +0 -217
  2280. data/third_party/cares/cares/ares.h +0 -670
  2281. data/third_party/cares/cares/ares__close_sockets.c +0 -61
  2282. data/third_party/cares/cares/ares__get_hostent.c +0 -261
  2283. data/third_party/cares/cares/ares_create_query.c +0 -206
  2284. data/third_party/cares/cares/ares_data.c +0 -222
  2285. data/third_party/cares/cares/ares_data.h +0 -72
  2286. data/third_party/cares/cares/ares_dns.h +0 -103
  2287. data/third_party/cares/cares/ares_expand_name.c +0 -209
  2288. data/third_party/cares/cares/ares_expand_string.c +0 -70
  2289. data/third_party/cares/cares/ares_free_hostent.c +0 -41
  2290. data/third_party/cares/cares/ares_getenv.c +0 -30
  2291. data/third_party/cares/cares/ares_gethostbyaddr.c +0 -294
  2292. data/third_party/cares/cares/ares_gethostbyname.c +0 -529
  2293. data/third_party/cares/cares/ares_getnameinfo.c +0 -453
  2294. data/third_party/cares/cares/ares_getopt.c +0 -122
  2295. data/third_party/cares/cares/ares_getopt.h +0 -53
  2296. data/third_party/cares/cares/ares_init.c +0 -2615
  2297. data/third_party/cares/cares/ares_ipv6.h +0 -78
  2298. data/third_party/cares/cares/ares_library_init.c +0 -195
  2299. data/third_party/cares/cares/ares_library_init.h +0 -43
  2300. data/third_party/cares/cares/ares_parse_a_reply.c +0 -264
  2301. data/third_party/cares/cares/ares_parse_aaaa_reply.c +0 -264
  2302. data/third_party/cares/cares/ares_parse_mx_reply.c +0 -170
  2303. data/third_party/cares/cares/ares_parse_naptr_reply.c +0 -194
  2304. data/third_party/cares/cares/ares_parse_ns_reply.c +0 -183
  2305. data/third_party/cares/cares/ares_parse_ptr_reply.c +0 -221
  2306. data/third_party/cares/cares/ares_parse_soa_reply.c +0 -133
  2307. data/third_party/cares/cares/ares_parse_srv_reply.c +0 -179
  2308. data/third_party/cares/cares/ares_parse_txt_reply.c +0 -220
  2309. data/third_party/cares/cares/ares_private.h +0 -382
  2310. data/third_party/cares/cares/ares_process.c +0 -1473
  2311. data/third_party/cares/cares/ares_query.c +0 -186
  2312. data/third_party/cares/cares/ares_search.c +0 -323
  2313. data/third_party/cares/cares/ares_send.c +0 -137
  2314. data/third_party/cares/cares/ares_setup.h +0 -217
  2315. data/third_party/cares/cares/ares_strsplit.c +0 -174
  2316. data/third_party/cares/cares/ares_version.h +0 -24
  2317. data/third_party/cares/cares/inet_net_pton.c +0 -450
  2318. data/third_party/cares/cares/inet_ntop.c +0 -207
  2319. data/third_party/upb/upb/decode_internal.h +0 -193
  2320. data/third_party/upb/upb/upb_internal.h +0 -58
@@ -1,3 +1,30 @@
1
+ /*
2
+ * Copyright (c) 2009-2021, Google LLC
3
+ * All rights reserved.
4
+ *
5
+ * Redistribution and use in source and binary forms, with or without
6
+ * modification, are permitted provided that the following conditions are met:
7
+ * * Redistributions of source code must retain the above copyright
8
+ * notice, this list of conditions and the following disclaimer.
9
+ * * Redistributions in binary form must reproduce the above copyright
10
+ * notice, this list of conditions and the following disclaimer in the
11
+ * documentation and/or other materials provided with the distribution.
12
+ * * Neither the name of Google LLC nor the
13
+ * names of its contributors may be used to endorse or promote products
14
+ * derived from this software without specific prior written permission.
15
+ *
16
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
+ * ARE DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY DIRECT,
20
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ */
27
+
1
28
  /*
2
29
  ** Our memory representation for parsing tables and messages themselves.
3
30
  ** Functions in this file are used by generated code and possibly reflection.
@@ -12,8 +39,9 @@
12
39
  #include <stdlib.h>
13
40
  #include <string.h>
14
41
 
42
+ #include "upb/extension_registry.h"
43
+ #include "upb/internal/table.h"
15
44
  #include "upb/msg.h"
16
- #include "upb/table_internal.h"
17
45
  #include "upb/upb.h"
18
46
 
19
47
  /* Must be last. */
@@ -23,110 +51,195 @@
23
51
  extern "C" {
24
52
  #endif
25
53
 
26
- /** upb_msglayout *************************************************************/
54
+ /** upb_*Int* conversion routines ********************************************/
55
+
56
+ UPB_INLINE int32_t _upb_Int32_FromI(int v) { return (int32_t)v; }
57
+
58
+ UPB_INLINE int64_t _upb_Int64_FromLL(long long v) { return (int64_t)v; }
59
+
60
+ UPB_INLINE uint32_t _upb_UInt32_FromU(unsigned v) { return (uint32_t)v; }
61
+
62
+ UPB_INLINE uint64_t _upb_UInt64_FromULL(unsigned long long v) {
63
+ return (uint64_t)v;
64
+ }
65
+
66
+ /** upb_MiniTable *************************************************************/
27
67
 
28
- /* upb_msglayout represents the memory layout of a given upb_msgdef. The
68
+ /* upb_MiniTable represents the memory layout of a given upb_MessageDef. The
29
69
  * members are public so generated code can initialize them, but users MUST NOT
30
70
  * read or write any of its members. */
31
71
 
32
- /* These aren't real labels according to descriptor.proto, but in the table we
33
- * use these for map/packed fields instead of UPB_LABEL_REPEATED. */
34
- enum {
35
- _UPB_LABEL_MAP = 4,
36
- _UPB_LABEL_PACKED = 7 /* Low 3 bits are common with UPB_LABEL_REPEATED. */
37
- };
38
-
39
72
  typedef struct {
40
73
  uint32_t number;
41
74
  uint16_t offset;
42
- int16_t presence; /* If >0, hasbit_index. If <0, ~oneof_index. */
43
- uint16_t submsg_index; /* undefined if descriptortype != MESSAGE or GROUP. */
75
+ int16_t presence; // If >0, hasbit_index. If <0, ~oneof_index
76
+ uint16_t submsg_index; // kUpb_NoSub if descriptortype != MESSAGE/GROUP/ENUM
44
77
  uint8_t descriptortype;
45
- int8_t mode; /* upb_fieldmode, with flags from upb_labelflags */
46
- } upb_msglayout_field;
78
+ uint8_t mode; /* upb_FieldMode | upb_LabelFlags |
79
+ (upb_FieldRep << kUpb_FieldRep_Shift) */
80
+ } upb_MiniTable_Field;
81
+
82
+ #define kUpb_NoSub ((uint16_t)-1)
47
83
 
48
84
  typedef enum {
49
- _UPB_MODE_MAP = 0,
50
- _UPB_MODE_ARRAY = 1,
51
- _UPB_MODE_SCALAR = 2,
52
- } upb_fieldmode;
85
+ kUpb_FieldMode_Map = 0,
86
+ kUpb_FieldMode_Array = 1,
87
+ kUpb_FieldMode_Scalar = 2,
88
+ } upb_FieldMode;
89
+
90
+ // Mask to isolate the upb_FieldMode from field.mode.
91
+ #define kUpb_FieldMode_Mask 3
53
92
 
54
93
  /* Extra flags on the mode field. */
55
- enum upb_labelflags {
56
- _UPB_MODE_IS_PACKED = 4,
57
- };
94
+ typedef enum {
95
+ kUpb_LabelFlags_IsPacked = 4,
96
+ kUpb_LabelFlags_IsExtension = 8,
97
+ } upb_LabelFlags;
98
+
99
+ // Note: we sort by this number when calculating layout order.
100
+ typedef enum {
101
+ kUpb_FieldRep_1Byte = 0,
102
+ kUpb_FieldRep_4Byte = 1,
103
+ kUpb_FieldRep_StringView = 2,
104
+ kUpb_FieldRep_Pointer = 3,
105
+ kUpb_FieldRep_8Byte = 4,
106
+
107
+ kUpb_FieldRep_Shift = 5, // Bit offset of the rep in upb_MiniTable_Field.mode
108
+ kUpb_FieldRep_Max = kUpb_FieldRep_8Byte,
109
+ } upb_FieldRep;
58
110
 
59
- UPB_INLINE upb_fieldmode _upb_getmode(const upb_msglayout_field *field) {
60
- return (upb_fieldmode)(field->mode & 3);
111
+ UPB_INLINE upb_FieldMode upb_FieldMode_Get(const upb_MiniTable_Field* field) {
112
+ return (upb_FieldMode)(field->mode & 3);
61
113
  }
62
114
 
63
- UPB_INLINE bool _upb_repeated_or_map(const upb_msglayout_field *field) {
64
- /* This works because upb_fieldmode has no value 3. */
65
- return !(field->mode & _UPB_MODE_SCALAR);
115
+ UPB_INLINE bool upb_IsRepeatedOrMap(const upb_MiniTable_Field* field) {
116
+ /* This works because upb_FieldMode has no value 3. */
117
+ return !(field->mode & kUpb_FieldMode_Scalar);
66
118
  }
67
119
 
68
- UPB_INLINE bool _upb_issubmsg(const upb_msglayout_field *field) {
69
- return field->descriptortype == UPB_DTYPE_MESSAGE ||
70
- field->descriptortype == UPB_DTYPE_GROUP;
120
+ UPB_INLINE bool upb_IsSubMessage(const upb_MiniTable_Field* field) {
121
+ return field->descriptortype == kUpb_FieldType_Message ||
122
+ field->descriptortype == kUpb_FieldType_Group;
71
123
  }
72
124
 
73
- struct upb_decstate;
74
- struct upb_msglayout;
125
+ struct upb_Decoder;
126
+ struct upb_MiniTable;
75
127
 
76
- typedef const char *_upb_field_parser(struct upb_decstate *d, const char *ptr,
77
- upb_msg *msg, intptr_t table,
78
- uint64_t hasbits, uint64_t data);
128
+ typedef const char* _upb_FieldParser(struct upb_Decoder* d, const char* ptr,
129
+ upb_Message* msg, intptr_t table,
130
+ uint64_t hasbits, uint64_t data);
79
131
 
80
132
  typedef struct {
81
133
  uint64_t field_data;
82
- _upb_field_parser *field_parser;
83
- } _upb_fasttable_entry;
134
+ _upb_FieldParser* field_parser;
135
+ } _upb_FastTable_Entry;
136
+
137
+ typedef struct {
138
+ const int32_t* values; // List of values <0 or >63
139
+ uint64_t mask; // Bits are set for acceptable value 0 <= x < 64
140
+ int value_count;
141
+ } upb_MiniTable_Enum;
142
+
143
+ typedef union {
144
+ const struct upb_MiniTable* submsg;
145
+ const upb_MiniTable_Enum* subenum;
146
+ } upb_MiniTable_Sub;
84
147
 
85
- struct upb_msglayout {
86
- const struct upb_msglayout *const* submsgs;
87
- const upb_msglayout_field *fields;
148
+ typedef enum {
149
+ kUpb_ExtMode_NonExtendable = 0, // Non-extendable message.
150
+ kUpb_ExtMode_Extendable = 1, // Normal extendable message.
151
+ kUpb_ExtMode_IsMessageSet = 2, // MessageSet message.
152
+ kUpb_ExtMode_IsMessageSet_ITEM =
153
+ 3, // MessageSet item (temporary only, see decode.c)
154
+
155
+ // During table building we steal a bit to indicate that the message is a map
156
+ // entry. *Only* used during table building!
157
+ kUpb_ExtMode_IsMapEntry = 4,
158
+ } upb_ExtMode;
159
+
160
+ /* MessageSet wire format is:
161
+ * message MessageSet {
162
+ * repeated group Item = 1 {
163
+ * required int32 type_id = 2;
164
+ * required bytes message = 3;
165
+ * }
166
+ * }
167
+ */
168
+ typedef enum {
169
+ _UPB_MSGSET_ITEM = 1,
170
+ _UPB_MSGSET_TYPEID = 2,
171
+ _UPB_MSGSET_MESSAGE = 3,
172
+ } upb_msgext_fieldnum;
173
+
174
+ struct upb_MiniTable {
175
+ const upb_MiniTable_Sub* subs;
176
+ const upb_MiniTable_Field* fields;
88
177
  /* Must be aligned to sizeof(void*). Doesn't include internal members like
89
178
  * unknown fields, extension dict, pointer to msglayout, etc. */
90
179
  uint16_t size;
91
180
  uint16_t field_count;
92
- bool extendable;
181
+ uint8_t ext; // upb_ExtMode, declared as uint8_t so sizeof(ext) == 1
93
182
  uint8_t dense_below;
94
183
  uint8_t table_mask;
95
- /* To constant-initialize the tables of variable length, we need a flexible
96
- * array member, and we need to compile in C99 mode. */
97
- _upb_fasttable_entry fasttable[];
184
+ uint8_t required_count; // Required fields have the lowest hasbits.
185
+ /* To statically initialize the tables of variable length, we need a flexible
186
+ * array member, and we need to compile in gnu99 mode (constant initialization
187
+ * of flexible array members is a GNU extension, not in C99 unfortunately. */
188
+ _upb_FastTable_Entry fasttable[];
98
189
  };
99
190
 
100
191
  typedef struct {
101
- upb_msglayout_field field;
102
- const upb_msglayout *extendee;
103
- const upb_msglayout *submsg; /* NULL for non-submessage fields. */
104
- } upb_msglayout_ext;
192
+ upb_MiniTable_Field field;
193
+ const upb_MiniTable* extendee;
194
+ upb_MiniTable_Sub sub; /* NULL unless submessage or proto2 enum */
195
+ } upb_MiniTable_Extension;
105
196
 
106
- /** upb_extreg ****************************************************************/
197
+ typedef struct {
198
+ const upb_MiniTable** msgs;
199
+ const upb_MiniTable_Enum** enums;
200
+ const upb_MiniTable_Extension** exts;
201
+ int msg_count;
202
+ int enum_count;
203
+ int ext_count;
204
+ } upb_MiniTable_File;
205
+
206
+ // Computes a bitmask in which the |l->required_count| lowest bits are set,
207
+ // except that we skip the lowest bit (because upb never uses hasbit 0).
208
+ //
209
+ // Sample output:
210
+ // requiredmask(1) => 0b10 (0x2)
211
+ // requiredmask(5) => 0b111110 (0x3e)
212
+ UPB_INLINE uint64_t upb_MiniTable_requiredmask(const upb_MiniTable* l) {
213
+ int n = l->required_count;
214
+ assert(0 < n && n <= 63);
215
+ return ((1ULL << n) - 1) << 1;
216
+ }
217
+
218
+ /** upb_ExtensionRegistry *****************************************************/
107
219
 
108
220
  /* Adds the given extension info for message type |l| and field number |num|
109
221
  * into the registry. Returns false if this message type and field number were
110
222
  * already in the map, or if memory allocation fails. */
111
- bool _upb_extreg_add(upb_extreg *r, const upb_msglayout_ext *e, size_t count);
223
+ bool _upb_extreg_add(upb_ExtensionRegistry* r,
224
+ const upb_MiniTable_Extension** e, size_t count);
112
225
 
113
226
  /* Looks up the extension (if any) defined for message type |l| and field
114
227
  * number |num|. If an extension was found, copies the field info into |*ext|
115
228
  * and returns true. Otherwise returns false. */
116
- const upb_msglayout_field *_upb_extreg_get(const upb_extreg *r,
117
- const upb_msglayout *l,
118
- uint32_t num);
229
+ const upb_MiniTable_Extension* _upb_extreg_get(const upb_ExtensionRegistry* r,
230
+ const upb_MiniTable* l,
231
+ uint32_t num);
119
232
 
120
- /** upb_msg *******************************************************************/
233
+ /** upb_Message ***************************************************************/
121
234
 
122
- /* Internal members of a upb_msg that track unknown fields and/or extensions.
123
- * We can change this without breaking binary compatibility. We put these
124
- * before the user's data. The user's upb_msg* points after the
125
- * upb_msg_internal. */
235
+ /* Internal members of a upb_Message that track unknown fields and/or
236
+ * extensions. We can change this without breaking binary compatibility. We put
237
+ * these before the user's data. The user's upb_Message* points after the
238
+ * upb_Message_Internal. */
126
239
 
127
240
  typedef struct {
128
241
  /* Total size of this structure, including the data that follows.
129
- * Must be aligned to 8, which is alignof(upb_msg_ext) */
242
+ * Must be aligned to 8, which is alignof(upb_Message_Extension) */
130
243
  uint32_t size;
131
244
 
132
245
  /* Offsets relative to the beginning of this structure.
@@ -136,160 +249,175 @@ typedef struct {
136
249
  * When the two meet, we're out of data and have to realloc.
137
250
  *
138
251
  * If we imagine that the final member of this struct is:
139
- * char data[size - overhead]; // overhead = sizeof(upb_msg_internaldata)
140
- *
252
+ * char data[size - overhead]; // overhead =
253
+ * sizeof(upb_Message_InternalData)
254
+ *
141
255
  * Then we have:
142
256
  * unknown data: data[0 .. (unknown_end - overhead)]
143
257
  * extensions data: data[(ext_begin - overhead) .. (size - overhead)] */
144
258
  uint32_t unknown_end;
145
259
  uint32_t ext_begin;
146
260
  /* Data follows, as if there were an array:
147
- * char data[size - sizeof(upb_msg_internaldata)]; */
148
- } upb_msg_internaldata;
261
+ * char data[size - sizeof(upb_Message_InternalData)]; */
262
+ } upb_Message_InternalData;
149
263
 
150
264
  typedef struct {
151
- upb_msg_internaldata *internal;
152
- } upb_msg_internal;
265
+ upb_Message_InternalData* internal;
266
+ /* Message data follows. */
267
+ } upb_Message_Internal;
153
268
 
154
- /* Maps upb_fieldtype_t -> memory size. */
155
- extern char _upb_fieldtype_to_size[12];
269
+ /* Maps upb_CType -> memory size. */
270
+ extern char _upb_CTypeo_size[12];
156
271
 
157
- UPB_INLINE size_t upb_msg_sizeof(const upb_msglayout *l) {
158
- return l->size + sizeof(upb_msg_internal);
272
+ UPB_INLINE size_t upb_msg_sizeof(const upb_MiniTable* l) {
273
+ return l->size + sizeof(upb_Message_Internal);
159
274
  }
160
275
 
161
- UPB_INLINE upb_msg *_upb_msg_new_inl(const upb_msglayout *l, upb_arena *a) {
276
+ UPB_INLINE upb_Message* _upb_Message_New_inl(const upb_MiniTable* l,
277
+ upb_Arena* a) {
162
278
  size_t size = upb_msg_sizeof(l);
163
- void *mem = upb_arena_malloc(a, size);
164
- upb_msg *msg;
279
+ void* mem = upb_Arena_Malloc(a, size + sizeof(upb_Message_Internal));
280
+ upb_Message* msg;
165
281
  if (UPB_UNLIKELY(!mem)) return NULL;
166
- msg = UPB_PTR_AT(mem, sizeof(upb_msg_internal), upb_msg);
282
+ msg = UPB_PTR_AT(mem, sizeof(upb_Message_Internal), upb_Message);
167
283
  memset(mem, 0, size);
168
284
  return msg;
169
285
  }
170
286
 
171
287
  /* Creates a new messages with the given layout on the given arena. */
172
- upb_msg *_upb_msg_new(const upb_msglayout *l, upb_arena *a);
288
+ upb_Message* _upb_Message_New(const upb_MiniTable* l, upb_Arena* a);
173
289
 
174
- UPB_INLINE upb_msg_internal *upb_msg_getinternal(upb_msg *msg) {
175
- ptrdiff_t size = sizeof(upb_msg_internal);
176
- return (upb_msg_internal*)((char*)msg - size);
290
+ UPB_INLINE upb_Message_Internal* upb_Message_Getinternal(upb_Message* msg) {
291
+ ptrdiff_t size = sizeof(upb_Message_Internal);
292
+ return (upb_Message_Internal*)((char*)msg - size);
177
293
  }
178
294
 
179
295
  /* Clears the given message. */
180
- void _upb_msg_clear(upb_msg *msg, const upb_msglayout *l);
296
+ void _upb_Message_Clear(upb_Message* msg, const upb_MiniTable* l);
181
297
 
182
298
  /* Discards the unknown fields for this message only. */
183
- void _upb_msg_discardunknown_shallow(upb_msg *msg);
299
+ void _upb_Message_DiscardUnknown_shallow(upb_Message* msg);
184
300
 
185
301
  /* Adds unknown data (serialized protobuf data) to the given message. The data
186
302
  * is copied into the message instance. */
187
- bool _upb_msg_addunknown(upb_msg *msg, const char *data, size_t len,
188
- upb_arena *arena);
303
+ bool _upb_Message_AddUnknown(upb_Message* msg, const char* data, size_t len,
304
+ upb_Arena* arena);
189
305
 
190
- /** upb_msg_ext ***************************************************************/
306
+ /** upb_Message_Extension *****************************************************/
191
307
 
192
308
  /* The internal representation of an extension is self-describing: it contains
193
309
  * enough information that we can serialize it to binary format without needing
194
- * to look it up in a registry. */
310
+ * to look it up in a upb_ExtensionRegistry.
311
+ *
312
+ * This representation allocates 16 bytes to data on 64-bit platforms. This is
313
+ * rather wasteful for scalars (in the extreme case of bool, it wastes 15
314
+ * bytes). We accept this because we expect messages to be the most common
315
+ * extension type. */
195
316
  typedef struct {
196
- const upb_msglayout_ext *ext;
317
+ const upb_MiniTable_Extension* ext;
197
318
  union {
198
- upb_strview str;
199
- void *ptr;
200
- double dbl;
319
+ upb_StringView str;
320
+ void* ptr;
201
321
  char scalar_data[8];
202
322
  } data;
203
- } upb_msg_ext;
323
+ } upb_Message_Extension;
204
324
 
205
- /* Adds the given extension data to the given message. The returned extension will
206
- * have its "ext" member initialized according to |ext|. */
207
- upb_msg_ext *_upb_msg_getorcreateext(upb_msg *msg, const upb_msglayout_ext *ext,
208
- upb_arena *arena);
325
+ /* Adds the given extension data to the given message. |ext| is copied into the
326
+ * message instance. This logically replaces any previously-added extension with
327
+ * this number */
328
+ upb_Message_Extension* _upb_Message_GetOrCreateExtension(
329
+ upb_Message* msg, const upb_MiniTable_Extension* ext, upb_Arena* arena);
209
330
 
210
331
  /* Returns an array of extensions for this message. Note: the array is
211
332
  * ordered in reverse relative to the order of creation. */
212
- const upb_msg_ext *_upb_msg_getexts(const upb_msg *msg, size_t *count);
333
+ const upb_Message_Extension* _upb_Message_Getexts(const upb_Message* msg,
334
+ size_t* count);
213
335
 
214
336
  /* Returns an extension for the given field number, or NULL if no extension
215
337
  * exists for this field number. */
216
- const upb_msg_ext *_upb_msg_getext(const upb_msg *msg,
217
- const upb_msglayout_ext *ext);
338
+ const upb_Message_Extension* _upb_Message_Getext(
339
+ const upb_Message* msg, const upb_MiniTable_Extension* ext);
340
+
341
+ void _upb_Message_Clearext(upb_Message* msg,
342
+ const upb_MiniTable_Extension* ext);
343
+
344
+ void _upb_Message_Clearext(upb_Message* msg,
345
+ const upb_MiniTable_Extension* ext);
218
346
 
219
347
  /** Hasbit access *************************************************************/
220
348
 
221
- UPB_INLINE bool _upb_hasbit(const upb_msg *msg, size_t idx) {
349
+ UPB_INLINE bool _upb_hasbit(const upb_Message* msg, size_t idx) {
222
350
  return (*UPB_PTR_AT(msg, idx / 8, const char) & (1 << (idx % 8))) != 0;
223
351
  }
224
352
 
225
- UPB_INLINE void _upb_sethas(const upb_msg *msg, size_t idx) {
353
+ UPB_INLINE void _upb_sethas(const upb_Message* msg, size_t idx) {
226
354
  (*UPB_PTR_AT(msg, idx / 8, char)) |= (char)(1 << (idx % 8));
227
355
  }
228
356
 
229
- UPB_INLINE void _upb_clearhas(const upb_msg *msg, size_t idx) {
357
+ UPB_INLINE void _upb_clearhas(const upb_Message* msg, size_t idx) {
230
358
  (*UPB_PTR_AT(msg, idx / 8, char)) &= (char)(~(1 << (idx % 8)));
231
359
  }
232
360
 
233
- UPB_INLINE size_t _upb_msg_hasidx(const upb_msglayout_field *f) {
361
+ UPB_INLINE size_t _upb_Message_Hasidx(const upb_MiniTable_Field* f) {
234
362
  UPB_ASSERT(f->presence > 0);
235
363
  return f->presence;
236
364
  }
237
365
 
238
- UPB_INLINE bool _upb_hasbit_field(const upb_msg *msg,
239
- const upb_msglayout_field *f) {
240
- return _upb_hasbit(msg, _upb_msg_hasidx(f));
366
+ UPB_INLINE bool _upb_hasbit_field(const upb_Message* msg,
367
+ const upb_MiniTable_Field* f) {
368
+ return _upb_hasbit(msg, _upb_Message_Hasidx(f));
241
369
  }
242
370
 
243
- UPB_INLINE void _upb_sethas_field(const upb_msg *msg,
244
- const upb_msglayout_field *f) {
245
- _upb_sethas(msg, _upb_msg_hasidx(f));
371
+ UPB_INLINE void _upb_sethas_field(const upb_Message* msg,
372
+ const upb_MiniTable_Field* f) {
373
+ _upb_sethas(msg, _upb_Message_Hasidx(f));
246
374
  }
247
375
 
248
- UPB_INLINE void _upb_clearhas_field(const upb_msg *msg,
249
- const upb_msglayout_field *f) {
250
- _upb_clearhas(msg, _upb_msg_hasidx(f));
376
+ UPB_INLINE void _upb_clearhas_field(const upb_Message* msg,
377
+ const upb_MiniTable_Field* f) {
378
+ _upb_clearhas(msg, _upb_Message_Hasidx(f));
251
379
  }
252
380
 
253
381
  /** Oneof case access *********************************************************/
254
382
 
255
- UPB_INLINE uint32_t *_upb_oneofcase(upb_msg *msg, size_t case_ofs) {
383
+ UPB_INLINE uint32_t* _upb_oneofcase(upb_Message* msg, size_t case_ofs) {
256
384
  return UPB_PTR_AT(msg, case_ofs, uint32_t);
257
385
  }
258
386
 
259
- UPB_INLINE uint32_t _upb_getoneofcase(const void *msg, size_t case_ofs) {
387
+ UPB_INLINE uint32_t _upb_getoneofcase(const void* msg, size_t case_ofs) {
260
388
  return *UPB_PTR_AT(msg, case_ofs, uint32_t);
261
389
  }
262
390
 
263
- UPB_INLINE size_t _upb_oneofcase_ofs(const upb_msglayout_field *f) {
391
+ UPB_INLINE size_t _upb_oneofcase_ofs(const upb_MiniTable_Field* f) {
264
392
  UPB_ASSERT(f->presence < 0);
265
393
  return ~(ptrdiff_t)f->presence;
266
394
  }
267
395
 
268
- UPB_INLINE uint32_t *_upb_oneofcase_field(upb_msg *msg,
269
- const upb_msglayout_field *f) {
396
+ UPB_INLINE uint32_t* _upb_oneofcase_field(upb_Message* msg,
397
+ const upb_MiniTable_Field* f) {
270
398
  return _upb_oneofcase(msg, _upb_oneofcase_ofs(f));
271
399
  }
272
400
 
273
- UPB_INLINE uint32_t _upb_getoneofcase_field(const upb_msg *msg,
274
- const upb_msglayout_field *f) {
401
+ UPB_INLINE uint32_t _upb_getoneofcase_field(const upb_Message* msg,
402
+ const upb_MiniTable_Field* f) {
275
403
  return _upb_getoneofcase(msg, _upb_oneofcase_ofs(f));
276
404
  }
277
405
 
278
- UPB_INLINE bool _upb_has_submsg_nohasbit(const upb_msg *msg, size_t ofs) {
279
- return *UPB_PTR_AT(msg, ofs, const upb_msg*) != NULL;
406
+ UPB_INLINE bool _upb_has_submsg_nohasbit(const upb_Message* msg, size_t ofs) {
407
+ return *UPB_PTR_AT(msg, ofs, const upb_Message*) != NULL;
280
408
  }
281
409
 
282
- /** upb_array *****************************************************************/
410
+ /** upb_Array *****************************************************************/
283
411
 
284
412
  /* Our internal representation for repeated fields. */
285
413
  typedef struct {
286
- uintptr_t data; /* Tagged ptr: low 3 bits of ptr are lg2(elem size). */
287
- size_t len; /* Measured in elements. */
288
- size_t size; /* Measured in elements. */
414
+ uintptr_t data; /* Tagged ptr: low 3 bits of ptr are lg2(elem size). */
415
+ size_t len; /* Measured in elements. */
416
+ size_t size; /* Measured in elements. */
289
417
  uint64_t junk;
290
- } upb_array;
418
+ } upb_Array;
291
419
 
292
- UPB_INLINE const void *_upb_array_constptr(const upb_array *arr) {
420
+ UPB_INLINE const void* _upb_array_constptr(const upb_Array* arr) {
293
421
  UPB_ASSERT((arr->data & 7) <= 4);
294
422
  return (void*)(arr->data & ~(uintptr_t)7);
295
423
  }
@@ -299,7 +427,7 @@ UPB_INLINE uintptr_t _upb_array_tagptr(void* ptr, int elem_size_lg2) {
299
427
  return (uintptr_t)ptr | elem_size_lg2;
300
428
  }
301
429
 
302
- UPB_INLINE void *_upb_array_ptr(upb_array *arr) {
430
+ UPB_INLINE void* _upb_array_ptr(upb_Array* arr) {
303
431
  return (void*)_upb_array_constptr(arr);
304
432
  }
305
433
 
@@ -309,11 +437,11 @@ UPB_INLINE uintptr_t _upb_tag_arrptr(void* ptr, int elem_size_lg2) {
309
437
  return (uintptr_t)ptr | (unsigned)elem_size_lg2;
310
438
  }
311
439
 
312
- UPB_INLINE upb_array *_upb_array_new(upb_arena *a, size_t init_size,
440
+ UPB_INLINE upb_Array* _upb_Array_New(upb_Arena* a, size_t init_size,
313
441
  int elem_size_lg2) {
314
- const size_t arr_size = UPB_ALIGN_UP(sizeof(upb_array), 8);
315
- const size_t bytes = sizeof(upb_array) + (init_size << elem_size_lg2);
316
- upb_array *arr = (upb_array*)upb_arena_malloc(a, bytes);
442
+ const size_t arr_size = UPB_ALIGN_UP(sizeof(upb_Array), 8);
443
+ const size_t bytes = sizeof(upb_Array) + (init_size << elem_size_lg2);
444
+ upb_Array* arr = (upb_Array*)upb_Arena_Malloc(a, bytes);
317
445
  if (!arr) return NULL;
318
446
  arr->data = _upb_tag_arrptr(UPB_PTR_AT(arr, arr_size, void), elem_size_lg2);
319
447
  arr->len = 0;
@@ -322,30 +450,34 @@ UPB_INLINE upb_array *_upb_array_new(upb_arena *a, size_t init_size,
322
450
  }
323
451
 
324
452
  /* Resizes the capacity of the array to be at least min_size. */
325
- bool _upb_array_realloc(upb_array *arr, size_t min_size, upb_arena *arena);
453
+ bool _upb_array_realloc(upb_Array* arr, size_t min_size, upb_Arena* arena);
326
454
 
327
455
  /* Fallback functions for when the accessors require a resize. */
328
- void *_upb_array_resize_fallback(upb_array **arr_ptr, size_t size,
329
- int elem_size_lg2, upb_arena *arena);
330
- bool _upb_array_append_fallback(upb_array **arr_ptr, const void *value,
331
- int elem_size_lg2, upb_arena *arena);
456
+ void* _upb_Array_Resize_fallback(upb_Array** arr_ptr, size_t size,
457
+ int elem_size_lg2, upb_Arena* arena);
458
+ bool _upb_Array_Append_fallback(upb_Array** arr_ptr, const void* value,
459
+ int elem_size_lg2, upb_Arena* arena);
332
460
 
333
- UPB_INLINE bool _upb_array_reserve(upb_array *arr, size_t size,
334
- upb_arena *arena) {
461
+ UPB_INLINE bool _upb_array_reserve(upb_Array* arr, size_t size,
462
+ upb_Arena* arena) {
335
463
  if (arr->size < size) return _upb_array_realloc(arr, size, arena);
336
464
  return true;
337
465
  }
338
466
 
339
- UPB_INLINE bool _upb_array_resize(upb_array *arr, size_t size,
340
- upb_arena *arena) {
467
+ UPB_INLINE bool _upb_Array_Resize(upb_Array* arr, size_t size,
468
+ upb_Arena* arena) {
341
469
  if (!_upb_array_reserve(arr, size, arena)) return false;
342
470
  arr->len = size;
343
471
  return true;
344
472
  }
345
473
 
346
- UPB_INLINE const void *_upb_array_accessor(const void *msg, size_t ofs,
347
- size_t *size) {
348
- const upb_array *arr = *UPB_PTR_AT(msg, ofs, const upb_array*);
474
+ UPB_INLINE void _upb_array_detach(const void* msg, size_t ofs) {
475
+ *UPB_PTR_AT(msg, ofs, upb_Array*) = NULL;
476
+ }
477
+
478
+ UPB_INLINE const void* _upb_array_accessor(const void* msg, size_t ofs,
479
+ size_t* size) {
480
+ const upb_Array* arr = *UPB_PTR_AT(msg, ofs, const upb_Array*);
349
481
  if (arr) {
350
482
  if (size) *size = arr->len;
351
483
  return _upb_array_constptr(arr);
@@ -355,9 +487,9 @@ UPB_INLINE const void *_upb_array_accessor(const void *msg, size_t ofs,
355
487
  }
356
488
  }
357
489
 
358
- UPB_INLINE void *_upb_array_mutable_accessor(void *msg, size_t ofs,
359
- size_t *size) {
360
- upb_array *arr = *UPB_PTR_AT(msg, ofs, upb_array*);
490
+ UPB_INLINE void* _upb_array_mutable_accessor(void* msg, size_t ofs,
491
+ size_t* size) {
492
+ upb_Array* arr = *UPB_PTR_AT(msg, ofs, upb_Array*);
361
493
  if (arr) {
362
494
  if (size) *size = arr->len;
363
495
  return _upb_array_ptr(arr);
@@ -367,28 +499,28 @@ UPB_INLINE void *_upb_array_mutable_accessor(void *msg, size_t ofs,
367
499
  }
368
500
  }
369
501
 
370
- UPB_INLINE void *_upb_array_resize_accessor2(void *msg, size_t ofs, size_t size,
502
+ UPB_INLINE void* _upb_Array_Resize_accessor2(void* msg, size_t ofs, size_t size,
371
503
  int elem_size_lg2,
372
- upb_arena *arena) {
373
- upb_array **arr_ptr = UPB_PTR_AT(msg, ofs, upb_array *);
374
- upb_array *arr = *arr_ptr;
504
+ upb_Arena* arena) {
505
+ upb_Array** arr_ptr = UPB_PTR_AT(msg, ofs, upb_Array*);
506
+ upb_Array* arr = *arr_ptr;
375
507
  if (!arr || arr->size < size) {
376
- return _upb_array_resize_fallback(arr_ptr, size, elem_size_lg2, arena);
508
+ return _upb_Array_Resize_fallback(arr_ptr, size, elem_size_lg2, arena);
377
509
  }
378
510
  arr->len = size;
379
511
  return _upb_array_ptr(arr);
380
512
  }
381
513
 
382
- UPB_INLINE bool _upb_array_append_accessor2(void *msg, size_t ofs,
514
+ UPB_INLINE bool _upb_Array_Append_accessor2(void* msg, size_t ofs,
383
515
  int elem_size_lg2,
384
- const void *value,
385
- upb_arena *arena) {
386
- upb_array **arr_ptr = UPB_PTR_AT(msg, ofs, upb_array *);
516
+ const void* value,
517
+ upb_Arena* arena) {
518
+ upb_Array** arr_ptr = UPB_PTR_AT(msg, ofs, upb_Array*);
387
519
  size_t elem_size = 1 << elem_size_lg2;
388
- upb_array *arr = *arr_ptr;
389
- void *ptr;
520
+ upb_Array* arr = *arr_ptr;
521
+ void* ptr;
390
522
  if (!arr || arr->len == arr->size) {
391
- return _upb_array_append_fallback(arr_ptr, value, elem_size_lg2, arena);
523
+ return _upb_Array_Append_fallback(arr_ptr, value, elem_size_lg2, arena);
392
524
  }
393
525
  ptr = _upb_array_ptr(arr);
394
526
  memcpy(UPB_PTR_AT(ptr, arr->len * elem_size, char), value, elem_size);
@@ -397,42 +529,41 @@ UPB_INLINE bool _upb_array_append_accessor2(void *msg, size_t ofs,
397
529
  }
398
530
 
399
531
  /* Used by old generated code, remove once all code has been regenerated. */
400
- UPB_INLINE int _upb_sizelg2(upb_fieldtype_t type) {
532
+ UPB_INLINE int _upb_sizelg2(upb_CType type) {
401
533
  switch (type) {
402
- case UPB_TYPE_BOOL:
534
+ case kUpb_CType_Bool:
403
535
  return 0;
404
- case UPB_TYPE_FLOAT:
405
- case UPB_TYPE_INT32:
406
- case UPB_TYPE_UINT32:
407
- case UPB_TYPE_ENUM:
536
+ case kUpb_CType_Float:
537
+ case kUpb_CType_Int32:
538
+ case kUpb_CType_UInt32:
539
+ case kUpb_CType_Enum:
408
540
  return 2;
409
- case UPB_TYPE_MESSAGE:
541
+ case kUpb_CType_Message:
410
542
  return UPB_SIZE(2, 3);
411
- case UPB_TYPE_DOUBLE:
412
- case UPB_TYPE_INT64:
413
- case UPB_TYPE_UINT64:
543
+ case kUpb_CType_Double:
544
+ case kUpb_CType_Int64:
545
+ case kUpb_CType_UInt64:
414
546
  return 3;
415
- case UPB_TYPE_STRING:
416
- case UPB_TYPE_BYTES:
547
+ case kUpb_CType_String:
548
+ case kUpb_CType_Bytes:
417
549
  return UPB_SIZE(3, 4);
418
550
  }
419
551
  UPB_UNREACHABLE();
420
552
  }
421
- UPB_INLINE void *_upb_array_resize_accessor(void *msg, size_t ofs, size_t size,
422
- upb_fieldtype_t type,
423
- upb_arena *arena) {
424
- return _upb_array_resize_accessor2(msg, ofs, size, _upb_sizelg2(type), arena);
553
+ UPB_INLINE void* _upb_Array_Resize_accessor(void* msg, size_t ofs, size_t size,
554
+ upb_CType type, upb_Arena* arena) {
555
+ return _upb_Array_Resize_accessor2(msg, ofs, size, _upb_sizelg2(type), arena);
425
556
  }
426
- UPB_INLINE bool _upb_array_append_accessor(void *msg, size_t ofs,
427
- size_t elem_size, upb_fieldtype_t type,
428
- const void *value,
429
- upb_arena *arena) {
557
+ UPB_INLINE bool _upb_Array_Append_accessor(void* msg, size_t ofs,
558
+ size_t elem_size, upb_CType type,
559
+ const void* value,
560
+ upb_Arena* arena) {
430
561
  (void)elem_size;
431
- return _upb_array_append_accessor2(msg, ofs, _upb_sizelg2(type), value,
562
+ return _upb_Array_Append_accessor2(msg, ofs, _upb_sizelg2(type), value,
432
563
  arena);
433
564
  }
434
565
 
435
- /** upb_map *******************************************************************/
566
+ /** upb_Map *******************************************************************/
436
567
 
437
568
  /* Right now we use strmaps for everything. We'll likely want to use
438
569
  * integer-specific maps for integer-keyed maps.*/
@@ -443,25 +574,25 @@ typedef struct {
443
574
  char val_size;
444
575
 
445
576
  upb_strtable table;
446
- } upb_map;
577
+ } upb_Map;
447
578
 
448
579
  /* Map entries aren't actually stored, they are only used during parsing. For
449
580
  * parsing, it helps a lot if all map entry messages have the same layout.
450
581
  * The compiler and def.c must ensure that all map entries have this layout. */
451
582
  typedef struct {
452
- upb_msg_internal internal;
583
+ upb_Message_Internal internal;
453
584
  union {
454
- upb_strview str; /* For str/bytes. */
455
- upb_value val; /* For all other types. */
585
+ upb_StringView str; /* For str/bytes. */
586
+ upb_value val; /* For all other types. */
456
587
  } k;
457
588
  union {
458
- upb_strview str; /* For str/bytes. */
459
- upb_value val; /* For all other types. */
589
+ upb_StringView str; /* For str/bytes. */
590
+ upb_value val; /* For all other types. */
460
591
  } v;
461
- } upb_map_entry;
592
+ } upb_MapEntry;
462
593
 
463
594
  /* Creates a new map on the given arena with this key/value type. */
464
- upb_map *_upb_map_new(upb_arena *a, size_t key_size, size_t value_size);
595
+ upb_Map* _upb_Map_New(upb_Arena* a, size_t key_size, size_t value_size);
465
596
 
466
597
  /* Converting between internal table representation and user values.
467
598
  *
@@ -472,15 +603,15 @@ upb_map *_upb_map_new(upb_arena *a, size_t key_size, size_t value_size);
472
603
  * from other types when stored in a map.
473
604
  */
474
605
 
475
- UPB_INLINE upb_strview _upb_map_tokey(const void *key, size_t size) {
606
+ UPB_INLINE upb_StringView _upb_map_tokey(const void* key, size_t size) {
476
607
  if (size == UPB_MAPTYPE_STRING) {
477
- return *(upb_strview*)key;
608
+ return *(upb_StringView*)key;
478
609
  } else {
479
- return upb_strview_make((const char*)key, size);
610
+ return upb_StringView_FromDataAndSize((const char*)key, size);
480
611
  }
481
612
  }
482
613
 
483
- UPB_INLINE void _upb_map_fromkey(upb_strview key, void* out, size_t size) {
614
+ UPB_INLINE void _upb_map_fromkey(upb_StringView key, void* out, size_t size) {
484
615
  if (size == UPB_MAPTYPE_STRING) {
485
616
  memcpy(out, &key, sizeof(key));
486
617
  } else {
@@ -488,12 +619,12 @@ UPB_INLINE void _upb_map_fromkey(upb_strview key, void* out, size_t size) {
488
619
  }
489
620
  }
490
621
 
491
- UPB_INLINE bool _upb_map_tovalue(const void *val, size_t size, upb_value *msgval,
492
- upb_arena *a) {
622
+ UPB_INLINE bool _upb_map_tovalue(const void* val, size_t size,
623
+ upb_value* msgval, upb_Arena* a) {
493
624
  if (size == UPB_MAPTYPE_STRING) {
494
- upb_strview *strp = (upb_strview*)upb_arena_malloc(a, sizeof(*strp));
625
+ upb_StringView* strp = (upb_StringView*)upb_Arena_Malloc(a, sizeof(*strp));
495
626
  if (!strp) return false;
496
- *strp = *(upb_strview*)val;
627
+ *strp = *(upb_StringView*)val;
497
628
  *msgval = upb_value_ptr(strp);
498
629
  } else {
499
630
  memcpy(msgval, val, size);
@@ -503,8 +634,8 @@ UPB_INLINE bool _upb_map_tovalue(const void *val, size_t size, upb_value *msgval
503
634
 
504
635
  UPB_INLINE void _upb_map_fromvalue(upb_value val, void* out, size_t size) {
505
636
  if (size == UPB_MAPTYPE_STRING) {
506
- const upb_strview *strp = (const upb_strview*)upb_value_getptr(val);
507
- memcpy(out, strp, sizeof(upb_strview));
637
+ const upb_StringView* strp = (const upb_StringView*)upb_value_getptr(val);
638
+ memcpy(out, strp, sizeof(upb_StringView));
508
639
  } else {
509
640
  memcpy(out, &val, size);
510
641
  }
@@ -512,14 +643,14 @@ UPB_INLINE void _upb_map_fromvalue(upb_value val, void* out, size_t size) {
512
643
 
513
644
  /* Map operations, shared by reflection and generated code. */
514
645
 
515
- UPB_INLINE size_t _upb_map_size(const upb_map *map) {
646
+ UPB_INLINE size_t _upb_Map_Size(const upb_Map* map) {
516
647
  return map->table.t.count;
517
648
  }
518
649
 
519
- UPB_INLINE bool _upb_map_get(const upb_map *map, const void *key,
520
- size_t key_size, void *val, size_t val_size) {
650
+ UPB_INLINE bool _upb_Map_Get(const upb_Map* map, const void* key,
651
+ size_t key_size, void* val, size_t val_size) {
521
652
  upb_value tabval;
522
- upb_strview k = _upb_map_tokey(key, key_size);
653
+ upb_StringView k = _upb_map_tokey(key, key_size);
523
654
  bool ret = upb_strtable_lookup2(&map->table, k.data, k.size, &tabval);
524
655
  if (ret && val) {
525
656
  _upb_map_fromvalue(tabval, val, val_size);
@@ -527,7 +658,7 @@ UPB_INLINE bool _upb_map_get(const upb_map *map, const void *key,
527
658
  return ret;
528
659
  }
529
660
 
530
- UPB_INLINE void* _upb_map_next(const upb_map *map, size_t *iter) {
661
+ UPB_INLINE void* _upb_map_next(const upb_Map* map, size_t* iter) {
531
662
  upb_strtable_iter it;
532
663
  it.t = &map->table;
533
664
  it.index = *iter;
@@ -537,108 +668,127 @@ UPB_INLINE void* _upb_map_next(const upb_map *map, size_t *iter) {
537
668
  return (void*)str_tabent(&it);
538
669
  }
539
670
 
540
- UPB_INLINE bool _upb_map_set(upb_map *map, const void *key, size_t key_size,
541
- void *val, size_t val_size, upb_arena *a) {
542
- upb_strview strkey = _upb_map_tokey(key, key_size);
671
+ typedef enum {
672
+ // LINT.IfChange
673
+ _kUpb_MapInsertStatus_Inserted = 0,
674
+ _kUpb_MapInsertStatus_Replaced = 1,
675
+ _kUpb_MapInsertStatus_OutOfMemory = 2,
676
+ // LINT.ThenChange(//depot/google3/third_party/upb/upb/map.h)
677
+ } _upb_MapInsertStatus;
678
+
679
+ UPB_INLINE _upb_MapInsertStatus _upb_Map_Insert(upb_Map* map, const void* key,
680
+ size_t key_size, void* val,
681
+ size_t val_size, upb_Arena* a) {
682
+ upb_StringView strkey = _upb_map_tokey(key, key_size);
543
683
  upb_value tabval = {0};
544
- if (!_upb_map_tovalue(val, val_size, &tabval, a)) return false;
684
+ if (!_upb_map_tovalue(val, val_size, &tabval, a)) {
685
+ return _kUpb_MapInsertStatus_OutOfMemory;
686
+ }
545
687
 
546
688
  /* TODO(haberman): add overwrite operation to minimize number of lookups. */
547
- upb_strtable_remove(&map->table, strkey.data, strkey.size, NULL);
548
- return upb_strtable_insert(&map->table, strkey.data, strkey.size, tabval, a);
689
+ bool removed =
690
+ upb_strtable_remove2(&map->table, strkey.data, strkey.size, NULL);
691
+ if (!upb_strtable_insert(&map->table, strkey.data, strkey.size, tabval, a)) {
692
+ return _kUpb_MapInsertStatus_OutOfMemory;
693
+ }
694
+ return removed ? _kUpb_MapInsertStatus_Replaced
695
+ : _kUpb_MapInsertStatus_Inserted;
549
696
  }
550
697
 
551
- UPB_INLINE bool _upb_map_delete(upb_map *map, const void *key, size_t key_size) {
552
- upb_strview k = _upb_map_tokey(key, key_size);
553
- return upb_strtable_remove(&map->table, k.data, k.size, NULL);
698
+ UPB_INLINE bool _upb_Map_Delete(upb_Map* map, const void* key,
699
+ size_t key_size) {
700
+ upb_StringView k = _upb_map_tokey(key, key_size);
701
+ return upb_strtable_remove2(&map->table, k.data, k.size, NULL);
554
702
  }
555
703
 
556
- UPB_INLINE void _upb_map_clear(upb_map *map) {
704
+ UPB_INLINE void _upb_Map_Clear(upb_Map* map) {
557
705
  upb_strtable_clear(&map->table);
558
706
  }
559
707
 
560
708
  /* Message map operations, these get the map from the message first. */
561
709
 
562
- UPB_INLINE size_t _upb_msg_map_size(const upb_msg *msg, size_t ofs) {
563
- upb_map *map = *UPB_PTR_AT(msg, ofs, upb_map *);
564
- return map ? _upb_map_size(map) : 0;
710
+ UPB_INLINE size_t _upb_msg_map_size(const upb_Message* msg, size_t ofs) {
711
+ upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
712
+ return map ? _upb_Map_Size(map) : 0;
565
713
  }
566
714
 
567
- UPB_INLINE bool _upb_msg_map_get(const upb_msg *msg, size_t ofs,
568
- const void *key, size_t key_size, void *val,
715
+ UPB_INLINE bool _upb_msg_map_get(const upb_Message* msg, size_t ofs,
716
+ const void* key, size_t key_size, void* val,
569
717
  size_t val_size) {
570
- upb_map *map = *UPB_PTR_AT(msg, ofs, upb_map *);
718
+ upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
571
719
  if (!map) return false;
572
- return _upb_map_get(map, key, key_size, val, val_size);
720
+ return _upb_Map_Get(map, key, key_size, val, val_size);
573
721
  }
574
722
 
575
- UPB_INLINE void *_upb_msg_map_next(const upb_msg *msg, size_t ofs,
576
- size_t *iter) {
577
- upb_map *map = *UPB_PTR_AT(msg, ofs, upb_map *);
723
+ UPB_INLINE void* _upb_msg_map_next(const upb_Message* msg, size_t ofs,
724
+ size_t* iter) {
725
+ upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
578
726
  if (!map) return NULL;
579
727
  return _upb_map_next(map, iter);
580
728
  }
581
729
 
582
- UPB_INLINE bool _upb_msg_map_set(upb_msg *msg, size_t ofs, const void *key,
583
- size_t key_size, void *val, size_t val_size,
584
- upb_arena *arena) {
585
- upb_map **map = UPB_PTR_AT(msg, ofs, upb_map *);
730
+ UPB_INLINE bool _upb_msg_map_set(upb_Message* msg, size_t ofs, const void* key,
731
+ size_t key_size, void* val, size_t val_size,
732
+ upb_Arena* arena) {
733
+ upb_Map** map = UPB_PTR_AT(msg, ofs, upb_Map*);
586
734
  if (!*map) {
587
- *map = _upb_map_new(arena, key_size, val_size);
735
+ *map = _upb_Map_New(arena, key_size, val_size);
588
736
  }
589
- return _upb_map_set(*map, key, key_size, val, val_size, arena);
737
+ return _upb_Map_Insert(*map, key, key_size, val, val_size, arena) !=
738
+ _kUpb_MapInsertStatus_OutOfMemory;
590
739
  }
591
740
 
592
- UPB_INLINE bool _upb_msg_map_delete(upb_msg *msg, size_t ofs, const void *key,
593
- size_t key_size) {
594
- upb_map *map = *UPB_PTR_AT(msg, ofs, upb_map *);
741
+ UPB_INLINE bool _upb_msg_map_delete(upb_Message* msg, size_t ofs,
742
+ const void* key, size_t key_size) {
743
+ upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
595
744
  if (!map) return false;
596
- return _upb_map_delete(map, key, key_size);
745
+ return _upb_Map_Delete(map, key, key_size);
597
746
  }
598
747
 
599
- UPB_INLINE void _upb_msg_map_clear(upb_msg *msg, size_t ofs) {
600
- upb_map *map = *UPB_PTR_AT(msg, ofs, upb_map *);
748
+ UPB_INLINE void _upb_msg_map_clear(upb_Message* msg, size_t ofs) {
749
+ upb_Map* map = *UPB_PTR_AT(msg, ofs, upb_Map*);
601
750
  if (!map) return;
602
- _upb_map_clear(map);
751
+ _upb_Map_Clear(map);
603
752
  }
604
753
 
605
754
  /* Accessing map key/value from a pointer, used by generated code only. */
606
755
 
607
756
  UPB_INLINE void _upb_msg_map_key(const void* msg, void* key, size_t size) {
608
- const upb_tabent *ent = (const upb_tabent*)msg;
757
+ const upb_tabent* ent = (const upb_tabent*)msg;
609
758
  uint32_t u32len;
610
- upb_strview k;
759
+ upb_StringView k;
611
760
  k.data = upb_tabstr(ent->key, &u32len);
612
761
  k.size = u32len;
613
762
  _upb_map_fromkey(k, key, size);
614
763
  }
615
764
 
616
765
  UPB_INLINE void _upb_msg_map_value(const void* msg, void* val, size_t size) {
617
- const upb_tabent *ent = (const upb_tabent*)msg;
766
+ const upb_tabent* ent = (const upb_tabent*)msg;
618
767
  upb_value v = {ent->val.val};
619
768
  _upb_map_fromvalue(v, val, size);
620
769
  }
621
770
 
622
- UPB_INLINE void _upb_msg_map_set_value(void* msg, const void* val, size_t size) {
623
- upb_tabent *ent = (upb_tabent*)msg;
771
+ UPB_INLINE void _upb_msg_map_set_value(void* msg, const void* val,
772
+ size_t size) {
773
+ upb_tabent* ent = (upb_tabent*)msg;
624
774
  /* This is like _upb_map_tovalue() except the entry already exists so we can
625
- * reuse the allocated upb_strview for string fields. */
775
+ * reuse the allocated upb_StringView for string fields. */
626
776
  if (size == UPB_MAPTYPE_STRING) {
627
- upb_strview *strp = (upb_strview*)(uintptr_t)ent->val.val;
777
+ upb_StringView* strp = (upb_StringView*)(uintptr_t)ent->val.val;
628
778
  memcpy(strp, val, sizeof(*strp));
629
779
  } else {
630
780
  memcpy(&ent->val.val, val, size);
631
781
  }
632
782
  }
633
783
 
634
- /** _upb_mapsorter *************************************************************/
784
+ /** _upb_mapsorter ************************************************************/
635
785
 
636
786
  /* _upb_mapsorter sorts maps and provides ordered iteration over the entries.
637
- * Since maps can be recursive (map values can be messages which contain other maps).
638
- * _upb_mapsorter can contain a stack of maps. */
787
+ * Since maps can be recursive (map values can be messages which contain other
788
+ * maps). _upb_mapsorter can contain a stack of maps. */
639
789
 
640
790
  typedef struct {
641
- upb_tabent const**entries;
791
+ upb_tabent const** entries;
642
792
  int size;
643
793
  int cap;
644
794
  } _upb_mapsorter;
@@ -649,29 +799,29 @@ typedef struct {
649
799
  int end;
650
800
  } _upb_sortedmap;
651
801
 
652
- UPB_INLINE void _upb_mapsorter_init(_upb_mapsorter *s) {
802
+ UPB_INLINE void _upb_mapsorter_init(_upb_mapsorter* s) {
653
803
  s->entries = NULL;
654
804
  s->size = 0;
655
805
  s->cap = 0;
656
806
  }
657
807
 
658
- UPB_INLINE void _upb_mapsorter_destroy(_upb_mapsorter *s) {
808
+ UPB_INLINE void _upb_mapsorter_destroy(_upb_mapsorter* s) {
659
809
  if (s->entries) free(s->entries);
660
810
  }
661
811
 
662
- bool _upb_mapsorter_pushmap(_upb_mapsorter *s, upb_descriptortype_t key_type,
663
- const upb_map *map, _upb_sortedmap *sorted);
812
+ bool _upb_mapsorter_pushmap(_upb_mapsorter* s, upb_FieldType key_type,
813
+ const upb_Map* map, _upb_sortedmap* sorted);
664
814
 
665
- UPB_INLINE void _upb_mapsorter_popmap(_upb_mapsorter *s, _upb_sortedmap *sorted) {
815
+ UPB_INLINE void _upb_mapsorter_popmap(_upb_mapsorter* s,
816
+ _upb_sortedmap* sorted) {
666
817
  s->size = sorted->start;
667
818
  }
668
819
 
669
- UPB_INLINE bool _upb_sortedmap_next(_upb_mapsorter *s, const upb_map *map,
670
- _upb_sortedmap *sorted,
671
- upb_map_entry *ent) {
820
+ UPB_INLINE bool _upb_sortedmap_next(_upb_mapsorter* s, const upb_Map* map,
821
+ _upb_sortedmap* sorted, upb_MapEntry* ent) {
672
822
  if (sorted->pos == sorted->end) return false;
673
- const upb_tabent *tabent = s->entries[sorted->pos++];
674
- upb_strview key = upb_tabstrview(tabent->key);
823
+ const upb_tabent* tabent = s->entries[sorted->pos++];
824
+ upb_StringView key = upb_tabstrview(tabent->key);
675
825
  _upb_map_fromkey(key, &ent->k, map->key_size);
676
826
  upb_value val = {tabent->val.val};
677
827
  _upb_map_fromvalue(val, &ent->v, map->val_size);
@@ -679,7 +829,7 @@ UPB_INLINE bool _upb_sortedmap_next(_upb_mapsorter *s, const upb_map *map,
679
829
  }
680
830
 
681
831
  #ifdef __cplusplus
682
- } /* extern "C" */
832
+ } /* extern "C" */
683
833
  #endif
684
834
 
685
835
  #include "upb/port_undef.inc"