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
@@ -0,0 +1,1455 @@
1
+ //
2
+ // Copyright 2021 gRPC authors.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ //
16
+
17
+ //
18
+ // Automatically generated by tools/codegen/core/gen_switch.py
19
+ //
20
+
21
+ #ifndef GRPC_CORE_LIB_PROMISE_DETAIL_SWITCH_H
22
+ #define GRPC_CORE_LIB_PROMISE_DETAIL_SWITCH_H
23
+
24
+ #include <grpc/support/port_platform.h>
25
+
26
+ #include <stdlib.h>
27
+
28
+ namespace grpc_core {
29
+
30
+ template <typename R, typename F0>
31
+ R Switch(char idx, F0 f0) {
32
+ switch (idx) {
33
+ case 0:
34
+ return f0();
35
+ }
36
+ abort();
37
+ }
38
+
39
+ template <typename R, typename F0, typename F1>
40
+ R Switch(char idx, F0 f0, F1 f1) {
41
+ switch (idx) {
42
+ case 0:
43
+ return f0();
44
+ case 1:
45
+ return f1();
46
+ }
47
+ abort();
48
+ }
49
+
50
+ template <typename R, typename F0, typename F1, typename F2>
51
+ R Switch(char idx, F0 f0, F1 f1, F2 f2) {
52
+ switch (idx) {
53
+ case 0:
54
+ return f0();
55
+ case 1:
56
+ return f1();
57
+ case 2:
58
+ return f2();
59
+ }
60
+ abort();
61
+ }
62
+
63
+ template <typename R, typename F0, typename F1, typename F2, typename F3>
64
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3) {
65
+ switch (idx) {
66
+ case 0:
67
+ return f0();
68
+ case 1:
69
+ return f1();
70
+ case 2:
71
+ return f2();
72
+ case 3:
73
+ return f3();
74
+ }
75
+ abort();
76
+ }
77
+
78
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
79
+ typename F4>
80
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4) {
81
+ switch (idx) {
82
+ case 0:
83
+ return f0();
84
+ case 1:
85
+ return f1();
86
+ case 2:
87
+ return f2();
88
+ case 3:
89
+ return f3();
90
+ case 4:
91
+ return f4();
92
+ }
93
+ abort();
94
+ }
95
+
96
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
97
+ typename F4, typename F5>
98
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5) {
99
+ switch (idx) {
100
+ case 0:
101
+ return f0();
102
+ case 1:
103
+ return f1();
104
+ case 2:
105
+ return f2();
106
+ case 3:
107
+ return f3();
108
+ case 4:
109
+ return f4();
110
+ case 5:
111
+ return f5();
112
+ }
113
+ abort();
114
+ }
115
+
116
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
117
+ typename F4, typename F5, typename F6>
118
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6) {
119
+ switch (idx) {
120
+ case 0:
121
+ return f0();
122
+ case 1:
123
+ return f1();
124
+ case 2:
125
+ return f2();
126
+ case 3:
127
+ return f3();
128
+ case 4:
129
+ return f4();
130
+ case 5:
131
+ return f5();
132
+ case 6:
133
+ return f6();
134
+ }
135
+ abort();
136
+ }
137
+
138
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
139
+ typename F4, typename F5, typename F6, typename F7>
140
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7) {
141
+ switch (idx) {
142
+ case 0:
143
+ return f0();
144
+ case 1:
145
+ return f1();
146
+ case 2:
147
+ return f2();
148
+ case 3:
149
+ return f3();
150
+ case 4:
151
+ return f4();
152
+ case 5:
153
+ return f5();
154
+ case 6:
155
+ return f6();
156
+ case 7:
157
+ return f7();
158
+ }
159
+ abort();
160
+ }
161
+
162
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
163
+ typename F4, typename F5, typename F6, typename F7, typename F8>
164
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
165
+ F8 f8) {
166
+ switch (idx) {
167
+ case 0:
168
+ return f0();
169
+ case 1:
170
+ return f1();
171
+ case 2:
172
+ return f2();
173
+ case 3:
174
+ return f3();
175
+ case 4:
176
+ return f4();
177
+ case 5:
178
+ return f5();
179
+ case 6:
180
+ return f6();
181
+ case 7:
182
+ return f7();
183
+ case 8:
184
+ return f8();
185
+ }
186
+ abort();
187
+ }
188
+
189
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
190
+ typename F4, typename F5, typename F6, typename F7, typename F8,
191
+ typename F9>
192
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
193
+ F8 f8, F9 f9) {
194
+ switch (idx) {
195
+ case 0:
196
+ return f0();
197
+ case 1:
198
+ return f1();
199
+ case 2:
200
+ return f2();
201
+ case 3:
202
+ return f3();
203
+ case 4:
204
+ return f4();
205
+ case 5:
206
+ return f5();
207
+ case 6:
208
+ return f6();
209
+ case 7:
210
+ return f7();
211
+ case 8:
212
+ return f8();
213
+ case 9:
214
+ return f9();
215
+ }
216
+ abort();
217
+ }
218
+
219
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
220
+ typename F4, typename F5, typename F6, typename F7, typename F8,
221
+ typename F9, typename F10>
222
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
223
+ F8 f8, F9 f9, F10 f10) {
224
+ switch (idx) {
225
+ case 0:
226
+ return f0();
227
+ case 1:
228
+ return f1();
229
+ case 2:
230
+ return f2();
231
+ case 3:
232
+ return f3();
233
+ case 4:
234
+ return f4();
235
+ case 5:
236
+ return f5();
237
+ case 6:
238
+ return f6();
239
+ case 7:
240
+ return f7();
241
+ case 8:
242
+ return f8();
243
+ case 9:
244
+ return f9();
245
+ case 10:
246
+ return f10();
247
+ }
248
+ abort();
249
+ }
250
+
251
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
252
+ typename F4, typename F5, typename F6, typename F7, typename F8,
253
+ typename F9, typename F10, typename F11>
254
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
255
+ F8 f8, F9 f9, F10 f10, F11 f11) {
256
+ switch (idx) {
257
+ case 0:
258
+ return f0();
259
+ case 1:
260
+ return f1();
261
+ case 2:
262
+ return f2();
263
+ case 3:
264
+ return f3();
265
+ case 4:
266
+ return f4();
267
+ case 5:
268
+ return f5();
269
+ case 6:
270
+ return f6();
271
+ case 7:
272
+ return f7();
273
+ case 8:
274
+ return f8();
275
+ case 9:
276
+ return f9();
277
+ case 10:
278
+ return f10();
279
+ case 11:
280
+ return f11();
281
+ }
282
+ abort();
283
+ }
284
+
285
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
286
+ typename F4, typename F5, typename F6, typename F7, typename F8,
287
+ typename F9, typename F10, typename F11, typename F12>
288
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
289
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12) {
290
+ switch (idx) {
291
+ case 0:
292
+ return f0();
293
+ case 1:
294
+ return f1();
295
+ case 2:
296
+ return f2();
297
+ case 3:
298
+ return f3();
299
+ case 4:
300
+ return f4();
301
+ case 5:
302
+ return f5();
303
+ case 6:
304
+ return f6();
305
+ case 7:
306
+ return f7();
307
+ case 8:
308
+ return f8();
309
+ case 9:
310
+ return f9();
311
+ case 10:
312
+ return f10();
313
+ case 11:
314
+ return f11();
315
+ case 12:
316
+ return f12();
317
+ }
318
+ abort();
319
+ }
320
+
321
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
322
+ typename F4, typename F5, typename F6, typename F7, typename F8,
323
+ typename F9, typename F10, typename F11, typename F12, typename F13>
324
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
325
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13) {
326
+ switch (idx) {
327
+ case 0:
328
+ return f0();
329
+ case 1:
330
+ return f1();
331
+ case 2:
332
+ return f2();
333
+ case 3:
334
+ return f3();
335
+ case 4:
336
+ return f4();
337
+ case 5:
338
+ return f5();
339
+ case 6:
340
+ return f6();
341
+ case 7:
342
+ return f7();
343
+ case 8:
344
+ return f8();
345
+ case 9:
346
+ return f9();
347
+ case 10:
348
+ return f10();
349
+ case 11:
350
+ return f11();
351
+ case 12:
352
+ return f12();
353
+ case 13:
354
+ return f13();
355
+ }
356
+ abort();
357
+ }
358
+
359
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
360
+ typename F4, typename F5, typename F6, typename F7, typename F8,
361
+ typename F9, typename F10, typename F11, typename F12, typename F13,
362
+ typename F14>
363
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
364
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14) {
365
+ switch (idx) {
366
+ case 0:
367
+ return f0();
368
+ case 1:
369
+ return f1();
370
+ case 2:
371
+ return f2();
372
+ case 3:
373
+ return f3();
374
+ case 4:
375
+ return f4();
376
+ case 5:
377
+ return f5();
378
+ case 6:
379
+ return f6();
380
+ case 7:
381
+ return f7();
382
+ case 8:
383
+ return f8();
384
+ case 9:
385
+ return f9();
386
+ case 10:
387
+ return f10();
388
+ case 11:
389
+ return f11();
390
+ case 12:
391
+ return f12();
392
+ case 13:
393
+ return f13();
394
+ case 14:
395
+ return f14();
396
+ }
397
+ abort();
398
+ }
399
+
400
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
401
+ typename F4, typename F5, typename F6, typename F7, typename F8,
402
+ typename F9, typename F10, typename F11, typename F12, typename F13,
403
+ typename F14, typename F15>
404
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
405
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15) {
406
+ switch (idx) {
407
+ case 0:
408
+ return f0();
409
+ case 1:
410
+ return f1();
411
+ case 2:
412
+ return f2();
413
+ case 3:
414
+ return f3();
415
+ case 4:
416
+ return f4();
417
+ case 5:
418
+ return f5();
419
+ case 6:
420
+ return f6();
421
+ case 7:
422
+ return f7();
423
+ case 8:
424
+ return f8();
425
+ case 9:
426
+ return f9();
427
+ case 10:
428
+ return f10();
429
+ case 11:
430
+ return f11();
431
+ case 12:
432
+ return f12();
433
+ case 13:
434
+ return f13();
435
+ case 14:
436
+ return f14();
437
+ case 15:
438
+ return f15();
439
+ }
440
+ abort();
441
+ }
442
+
443
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
444
+ typename F4, typename F5, typename F6, typename F7, typename F8,
445
+ typename F9, typename F10, typename F11, typename F12, typename F13,
446
+ typename F14, typename F15, typename F16>
447
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
448
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
449
+ F16 f16) {
450
+ switch (idx) {
451
+ case 0:
452
+ return f0();
453
+ case 1:
454
+ return f1();
455
+ case 2:
456
+ return f2();
457
+ case 3:
458
+ return f3();
459
+ case 4:
460
+ return f4();
461
+ case 5:
462
+ return f5();
463
+ case 6:
464
+ return f6();
465
+ case 7:
466
+ return f7();
467
+ case 8:
468
+ return f8();
469
+ case 9:
470
+ return f9();
471
+ case 10:
472
+ return f10();
473
+ case 11:
474
+ return f11();
475
+ case 12:
476
+ return f12();
477
+ case 13:
478
+ return f13();
479
+ case 14:
480
+ return f14();
481
+ case 15:
482
+ return f15();
483
+ case 16:
484
+ return f16();
485
+ }
486
+ abort();
487
+ }
488
+
489
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
490
+ typename F4, typename F5, typename F6, typename F7, typename F8,
491
+ typename F9, typename F10, typename F11, typename F12, typename F13,
492
+ typename F14, typename F15, typename F16, typename F17>
493
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
494
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
495
+ F16 f16, F17 f17) {
496
+ switch (idx) {
497
+ case 0:
498
+ return f0();
499
+ case 1:
500
+ return f1();
501
+ case 2:
502
+ return f2();
503
+ case 3:
504
+ return f3();
505
+ case 4:
506
+ return f4();
507
+ case 5:
508
+ return f5();
509
+ case 6:
510
+ return f6();
511
+ case 7:
512
+ return f7();
513
+ case 8:
514
+ return f8();
515
+ case 9:
516
+ return f9();
517
+ case 10:
518
+ return f10();
519
+ case 11:
520
+ return f11();
521
+ case 12:
522
+ return f12();
523
+ case 13:
524
+ return f13();
525
+ case 14:
526
+ return f14();
527
+ case 15:
528
+ return f15();
529
+ case 16:
530
+ return f16();
531
+ case 17:
532
+ return f17();
533
+ }
534
+ abort();
535
+ }
536
+
537
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
538
+ typename F4, typename F5, typename F6, typename F7, typename F8,
539
+ typename F9, typename F10, typename F11, typename F12, typename F13,
540
+ typename F14, typename F15, typename F16, typename F17, typename F18>
541
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
542
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
543
+ F16 f16, F17 f17, F18 f18) {
544
+ switch (idx) {
545
+ case 0:
546
+ return f0();
547
+ case 1:
548
+ return f1();
549
+ case 2:
550
+ return f2();
551
+ case 3:
552
+ return f3();
553
+ case 4:
554
+ return f4();
555
+ case 5:
556
+ return f5();
557
+ case 6:
558
+ return f6();
559
+ case 7:
560
+ return f7();
561
+ case 8:
562
+ return f8();
563
+ case 9:
564
+ return f9();
565
+ case 10:
566
+ return f10();
567
+ case 11:
568
+ return f11();
569
+ case 12:
570
+ return f12();
571
+ case 13:
572
+ return f13();
573
+ case 14:
574
+ return f14();
575
+ case 15:
576
+ return f15();
577
+ case 16:
578
+ return f16();
579
+ case 17:
580
+ return f17();
581
+ case 18:
582
+ return f18();
583
+ }
584
+ abort();
585
+ }
586
+
587
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
588
+ typename F4, typename F5, typename F6, typename F7, typename F8,
589
+ typename F9, typename F10, typename F11, typename F12, typename F13,
590
+ typename F14, typename F15, typename F16, typename F17, typename F18,
591
+ typename F19>
592
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
593
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
594
+ F16 f16, F17 f17, F18 f18, F19 f19) {
595
+ switch (idx) {
596
+ case 0:
597
+ return f0();
598
+ case 1:
599
+ return f1();
600
+ case 2:
601
+ return f2();
602
+ case 3:
603
+ return f3();
604
+ case 4:
605
+ return f4();
606
+ case 5:
607
+ return f5();
608
+ case 6:
609
+ return f6();
610
+ case 7:
611
+ return f7();
612
+ case 8:
613
+ return f8();
614
+ case 9:
615
+ return f9();
616
+ case 10:
617
+ return f10();
618
+ case 11:
619
+ return f11();
620
+ case 12:
621
+ return f12();
622
+ case 13:
623
+ return f13();
624
+ case 14:
625
+ return f14();
626
+ case 15:
627
+ return f15();
628
+ case 16:
629
+ return f16();
630
+ case 17:
631
+ return f17();
632
+ case 18:
633
+ return f18();
634
+ case 19:
635
+ return f19();
636
+ }
637
+ abort();
638
+ }
639
+
640
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
641
+ typename F4, typename F5, typename F6, typename F7, typename F8,
642
+ typename F9, typename F10, typename F11, typename F12, typename F13,
643
+ typename F14, typename F15, typename F16, typename F17, typename F18,
644
+ typename F19, typename F20>
645
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
646
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
647
+ F16 f16, F17 f17, F18 f18, F19 f19, F20 f20) {
648
+ switch (idx) {
649
+ case 0:
650
+ return f0();
651
+ case 1:
652
+ return f1();
653
+ case 2:
654
+ return f2();
655
+ case 3:
656
+ return f3();
657
+ case 4:
658
+ return f4();
659
+ case 5:
660
+ return f5();
661
+ case 6:
662
+ return f6();
663
+ case 7:
664
+ return f7();
665
+ case 8:
666
+ return f8();
667
+ case 9:
668
+ return f9();
669
+ case 10:
670
+ return f10();
671
+ case 11:
672
+ return f11();
673
+ case 12:
674
+ return f12();
675
+ case 13:
676
+ return f13();
677
+ case 14:
678
+ return f14();
679
+ case 15:
680
+ return f15();
681
+ case 16:
682
+ return f16();
683
+ case 17:
684
+ return f17();
685
+ case 18:
686
+ return f18();
687
+ case 19:
688
+ return f19();
689
+ case 20:
690
+ return f20();
691
+ }
692
+ abort();
693
+ }
694
+
695
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
696
+ typename F4, typename F5, typename F6, typename F7, typename F8,
697
+ typename F9, typename F10, typename F11, typename F12, typename F13,
698
+ typename F14, typename F15, typename F16, typename F17, typename F18,
699
+ typename F19, typename F20, typename F21>
700
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
701
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
702
+ F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21) {
703
+ switch (idx) {
704
+ case 0:
705
+ return f0();
706
+ case 1:
707
+ return f1();
708
+ case 2:
709
+ return f2();
710
+ case 3:
711
+ return f3();
712
+ case 4:
713
+ return f4();
714
+ case 5:
715
+ return f5();
716
+ case 6:
717
+ return f6();
718
+ case 7:
719
+ return f7();
720
+ case 8:
721
+ return f8();
722
+ case 9:
723
+ return f9();
724
+ case 10:
725
+ return f10();
726
+ case 11:
727
+ return f11();
728
+ case 12:
729
+ return f12();
730
+ case 13:
731
+ return f13();
732
+ case 14:
733
+ return f14();
734
+ case 15:
735
+ return f15();
736
+ case 16:
737
+ return f16();
738
+ case 17:
739
+ return f17();
740
+ case 18:
741
+ return f18();
742
+ case 19:
743
+ return f19();
744
+ case 20:
745
+ return f20();
746
+ case 21:
747
+ return f21();
748
+ }
749
+ abort();
750
+ }
751
+
752
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
753
+ typename F4, typename F5, typename F6, typename F7, typename F8,
754
+ typename F9, typename F10, typename F11, typename F12, typename F13,
755
+ typename F14, typename F15, typename F16, typename F17, typename F18,
756
+ typename F19, typename F20, typename F21, typename F22>
757
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
758
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
759
+ F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22) {
760
+ switch (idx) {
761
+ case 0:
762
+ return f0();
763
+ case 1:
764
+ return f1();
765
+ case 2:
766
+ return f2();
767
+ case 3:
768
+ return f3();
769
+ case 4:
770
+ return f4();
771
+ case 5:
772
+ return f5();
773
+ case 6:
774
+ return f6();
775
+ case 7:
776
+ return f7();
777
+ case 8:
778
+ return f8();
779
+ case 9:
780
+ return f9();
781
+ case 10:
782
+ return f10();
783
+ case 11:
784
+ return f11();
785
+ case 12:
786
+ return f12();
787
+ case 13:
788
+ return f13();
789
+ case 14:
790
+ return f14();
791
+ case 15:
792
+ return f15();
793
+ case 16:
794
+ return f16();
795
+ case 17:
796
+ return f17();
797
+ case 18:
798
+ return f18();
799
+ case 19:
800
+ return f19();
801
+ case 20:
802
+ return f20();
803
+ case 21:
804
+ return f21();
805
+ case 22:
806
+ return f22();
807
+ }
808
+ abort();
809
+ }
810
+
811
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
812
+ typename F4, typename F5, typename F6, typename F7, typename F8,
813
+ typename F9, typename F10, typename F11, typename F12, typename F13,
814
+ typename F14, typename F15, typename F16, typename F17, typename F18,
815
+ typename F19, typename F20, typename F21, typename F22, typename F23>
816
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
817
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
818
+ F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22,
819
+ F23 f23) {
820
+ switch (idx) {
821
+ case 0:
822
+ return f0();
823
+ case 1:
824
+ return f1();
825
+ case 2:
826
+ return f2();
827
+ case 3:
828
+ return f3();
829
+ case 4:
830
+ return f4();
831
+ case 5:
832
+ return f5();
833
+ case 6:
834
+ return f6();
835
+ case 7:
836
+ return f7();
837
+ case 8:
838
+ return f8();
839
+ case 9:
840
+ return f9();
841
+ case 10:
842
+ return f10();
843
+ case 11:
844
+ return f11();
845
+ case 12:
846
+ return f12();
847
+ case 13:
848
+ return f13();
849
+ case 14:
850
+ return f14();
851
+ case 15:
852
+ return f15();
853
+ case 16:
854
+ return f16();
855
+ case 17:
856
+ return f17();
857
+ case 18:
858
+ return f18();
859
+ case 19:
860
+ return f19();
861
+ case 20:
862
+ return f20();
863
+ case 21:
864
+ return f21();
865
+ case 22:
866
+ return f22();
867
+ case 23:
868
+ return f23();
869
+ }
870
+ abort();
871
+ }
872
+
873
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
874
+ typename F4, typename F5, typename F6, typename F7, typename F8,
875
+ typename F9, typename F10, typename F11, typename F12, typename F13,
876
+ typename F14, typename F15, typename F16, typename F17, typename F18,
877
+ typename F19, typename F20, typename F21, typename F22, typename F23,
878
+ typename F24>
879
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
880
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
881
+ F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
882
+ F24 f24) {
883
+ switch (idx) {
884
+ case 0:
885
+ return f0();
886
+ case 1:
887
+ return f1();
888
+ case 2:
889
+ return f2();
890
+ case 3:
891
+ return f3();
892
+ case 4:
893
+ return f4();
894
+ case 5:
895
+ return f5();
896
+ case 6:
897
+ return f6();
898
+ case 7:
899
+ return f7();
900
+ case 8:
901
+ return f8();
902
+ case 9:
903
+ return f9();
904
+ case 10:
905
+ return f10();
906
+ case 11:
907
+ return f11();
908
+ case 12:
909
+ return f12();
910
+ case 13:
911
+ return f13();
912
+ case 14:
913
+ return f14();
914
+ case 15:
915
+ return f15();
916
+ case 16:
917
+ return f16();
918
+ case 17:
919
+ return f17();
920
+ case 18:
921
+ return f18();
922
+ case 19:
923
+ return f19();
924
+ case 20:
925
+ return f20();
926
+ case 21:
927
+ return f21();
928
+ case 22:
929
+ return f22();
930
+ case 23:
931
+ return f23();
932
+ case 24:
933
+ return f24();
934
+ }
935
+ abort();
936
+ }
937
+
938
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
939
+ typename F4, typename F5, typename F6, typename F7, typename F8,
940
+ typename F9, typename F10, typename F11, typename F12, typename F13,
941
+ typename F14, typename F15, typename F16, typename F17, typename F18,
942
+ typename F19, typename F20, typename F21, typename F22, typename F23,
943
+ typename F24, typename F25>
944
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
945
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
946
+ F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
947
+ F24 f24, F25 f25) {
948
+ switch (idx) {
949
+ case 0:
950
+ return f0();
951
+ case 1:
952
+ return f1();
953
+ case 2:
954
+ return f2();
955
+ case 3:
956
+ return f3();
957
+ case 4:
958
+ return f4();
959
+ case 5:
960
+ return f5();
961
+ case 6:
962
+ return f6();
963
+ case 7:
964
+ return f7();
965
+ case 8:
966
+ return f8();
967
+ case 9:
968
+ return f9();
969
+ case 10:
970
+ return f10();
971
+ case 11:
972
+ return f11();
973
+ case 12:
974
+ return f12();
975
+ case 13:
976
+ return f13();
977
+ case 14:
978
+ return f14();
979
+ case 15:
980
+ return f15();
981
+ case 16:
982
+ return f16();
983
+ case 17:
984
+ return f17();
985
+ case 18:
986
+ return f18();
987
+ case 19:
988
+ return f19();
989
+ case 20:
990
+ return f20();
991
+ case 21:
992
+ return f21();
993
+ case 22:
994
+ return f22();
995
+ case 23:
996
+ return f23();
997
+ case 24:
998
+ return f24();
999
+ case 25:
1000
+ return f25();
1001
+ }
1002
+ abort();
1003
+ }
1004
+
1005
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
1006
+ typename F4, typename F5, typename F6, typename F7, typename F8,
1007
+ typename F9, typename F10, typename F11, typename F12, typename F13,
1008
+ typename F14, typename F15, typename F16, typename F17, typename F18,
1009
+ typename F19, typename F20, typename F21, typename F22, typename F23,
1010
+ typename F24, typename F25, typename F26>
1011
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1012
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1013
+ F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1014
+ F24 f24, F25 f25, F26 f26) {
1015
+ switch (idx) {
1016
+ case 0:
1017
+ return f0();
1018
+ case 1:
1019
+ return f1();
1020
+ case 2:
1021
+ return f2();
1022
+ case 3:
1023
+ return f3();
1024
+ case 4:
1025
+ return f4();
1026
+ case 5:
1027
+ return f5();
1028
+ case 6:
1029
+ return f6();
1030
+ case 7:
1031
+ return f7();
1032
+ case 8:
1033
+ return f8();
1034
+ case 9:
1035
+ return f9();
1036
+ case 10:
1037
+ return f10();
1038
+ case 11:
1039
+ return f11();
1040
+ case 12:
1041
+ return f12();
1042
+ case 13:
1043
+ return f13();
1044
+ case 14:
1045
+ return f14();
1046
+ case 15:
1047
+ return f15();
1048
+ case 16:
1049
+ return f16();
1050
+ case 17:
1051
+ return f17();
1052
+ case 18:
1053
+ return f18();
1054
+ case 19:
1055
+ return f19();
1056
+ case 20:
1057
+ return f20();
1058
+ case 21:
1059
+ return f21();
1060
+ case 22:
1061
+ return f22();
1062
+ case 23:
1063
+ return f23();
1064
+ case 24:
1065
+ return f24();
1066
+ case 25:
1067
+ return f25();
1068
+ case 26:
1069
+ return f26();
1070
+ }
1071
+ abort();
1072
+ }
1073
+
1074
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
1075
+ typename F4, typename F5, typename F6, typename F7, typename F8,
1076
+ typename F9, typename F10, typename F11, typename F12, typename F13,
1077
+ typename F14, typename F15, typename F16, typename F17, typename F18,
1078
+ typename F19, typename F20, typename F21, typename F22, typename F23,
1079
+ typename F24, typename F25, typename F26, typename F27>
1080
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1081
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1082
+ F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1083
+ F24 f24, F25 f25, F26 f26, F27 f27) {
1084
+ switch (idx) {
1085
+ case 0:
1086
+ return f0();
1087
+ case 1:
1088
+ return f1();
1089
+ case 2:
1090
+ return f2();
1091
+ case 3:
1092
+ return f3();
1093
+ case 4:
1094
+ return f4();
1095
+ case 5:
1096
+ return f5();
1097
+ case 6:
1098
+ return f6();
1099
+ case 7:
1100
+ return f7();
1101
+ case 8:
1102
+ return f8();
1103
+ case 9:
1104
+ return f9();
1105
+ case 10:
1106
+ return f10();
1107
+ case 11:
1108
+ return f11();
1109
+ case 12:
1110
+ return f12();
1111
+ case 13:
1112
+ return f13();
1113
+ case 14:
1114
+ return f14();
1115
+ case 15:
1116
+ return f15();
1117
+ case 16:
1118
+ return f16();
1119
+ case 17:
1120
+ return f17();
1121
+ case 18:
1122
+ return f18();
1123
+ case 19:
1124
+ return f19();
1125
+ case 20:
1126
+ return f20();
1127
+ case 21:
1128
+ return f21();
1129
+ case 22:
1130
+ return f22();
1131
+ case 23:
1132
+ return f23();
1133
+ case 24:
1134
+ return f24();
1135
+ case 25:
1136
+ return f25();
1137
+ case 26:
1138
+ return f26();
1139
+ case 27:
1140
+ return f27();
1141
+ }
1142
+ abort();
1143
+ }
1144
+
1145
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
1146
+ typename F4, typename F5, typename F6, typename F7, typename F8,
1147
+ typename F9, typename F10, typename F11, typename F12, typename F13,
1148
+ typename F14, typename F15, typename F16, typename F17, typename F18,
1149
+ typename F19, typename F20, typename F21, typename F22, typename F23,
1150
+ typename F24, typename F25, typename F26, typename F27, typename F28>
1151
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1152
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1153
+ F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1154
+ F24 f24, F25 f25, F26 f26, F27 f27, F28 f28) {
1155
+ switch (idx) {
1156
+ case 0:
1157
+ return f0();
1158
+ case 1:
1159
+ return f1();
1160
+ case 2:
1161
+ return f2();
1162
+ case 3:
1163
+ return f3();
1164
+ case 4:
1165
+ return f4();
1166
+ case 5:
1167
+ return f5();
1168
+ case 6:
1169
+ return f6();
1170
+ case 7:
1171
+ return f7();
1172
+ case 8:
1173
+ return f8();
1174
+ case 9:
1175
+ return f9();
1176
+ case 10:
1177
+ return f10();
1178
+ case 11:
1179
+ return f11();
1180
+ case 12:
1181
+ return f12();
1182
+ case 13:
1183
+ return f13();
1184
+ case 14:
1185
+ return f14();
1186
+ case 15:
1187
+ return f15();
1188
+ case 16:
1189
+ return f16();
1190
+ case 17:
1191
+ return f17();
1192
+ case 18:
1193
+ return f18();
1194
+ case 19:
1195
+ return f19();
1196
+ case 20:
1197
+ return f20();
1198
+ case 21:
1199
+ return f21();
1200
+ case 22:
1201
+ return f22();
1202
+ case 23:
1203
+ return f23();
1204
+ case 24:
1205
+ return f24();
1206
+ case 25:
1207
+ return f25();
1208
+ case 26:
1209
+ return f26();
1210
+ case 27:
1211
+ return f27();
1212
+ case 28:
1213
+ return f28();
1214
+ }
1215
+ abort();
1216
+ }
1217
+
1218
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
1219
+ typename F4, typename F5, typename F6, typename F7, typename F8,
1220
+ typename F9, typename F10, typename F11, typename F12, typename F13,
1221
+ typename F14, typename F15, typename F16, typename F17, typename F18,
1222
+ typename F19, typename F20, typename F21, typename F22, typename F23,
1223
+ typename F24, typename F25, typename F26, typename F27, typename F28,
1224
+ typename F29>
1225
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1226
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1227
+ F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1228
+ F24 f24, F25 f25, F26 f26, F27 f27, F28 f28, F29 f29) {
1229
+ switch (idx) {
1230
+ case 0:
1231
+ return f0();
1232
+ case 1:
1233
+ return f1();
1234
+ case 2:
1235
+ return f2();
1236
+ case 3:
1237
+ return f3();
1238
+ case 4:
1239
+ return f4();
1240
+ case 5:
1241
+ return f5();
1242
+ case 6:
1243
+ return f6();
1244
+ case 7:
1245
+ return f7();
1246
+ case 8:
1247
+ return f8();
1248
+ case 9:
1249
+ return f9();
1250
+ case 10:
1251
+ return f10();
1252
+ case 11:
1253
+ return f11();
1254
+ case 12:
1255
+ return f12();
1256
+ case 13:
1257
+ return f13();
1258
+ case 14:
1259
+ return f14();
1260
+ case 15:
1261
+ return f15();
1262
+ case 16:
1263
+ return f16();
1264
+ case 17:
1265
+ return f17();
1266
+ case 18:
1267
+ return f18();
1268
+ case 19:
1269
+ return f19();
1270
+ case 20:
1271
+ return f20();
1272
+ case 21:
1273
+ return f21();
1274
+ case 22:
1275
+ return f22();
1276
+ case 23:
1277
+ return f23();
1278
+ case 24:
1279
+ return f24();
1280
+ case 25:
1281
+ return f25();
1282
+ case 26:
1283
+ return f26();
1284
+ case 27:
1285
+ return f27();
1286
+ case 28:
1287
+ return f28();
1288
+ case 29:
1289
+ return f29();
1290
+ }
1291
+ abort();
1292
+ }
1293
+
1294
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
1295
+ typename F4, typename F5, typename F6, typename F7, typename F8,
1296
+ typename F9, typename F10, typename F11, typename F12, typename F13,
1297
+ typename F14, typename F15, typename F16, typename F17, typename F18,
1298
+ typename F19, typename F20, typename F21, typename F22, typename F23,
1299
+ typename F24, typename F25, typename F26, typename F27, typename F28,
1300
+ typename F29, typename F30>
1301
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1302
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1303
+ F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1304
+ F24 f24, F25 f25, F26 f26, F27 f27, F28 f28, F29 f29, F30 f30) {
1305
+ switch (idx) {
1306
+ case 0:
1307
+ return f0();
1308
+ case 1:
1309
+ return f1();
1310
+ case 2:
1311
+ return f2();
1312
+ case 3:
1313
+ return f3();
1314
+ case 4:
1315
+ return f4();
1316
+ case 5:
1317
+ return f5();
1318
+ case 6:
1319
+ return f6();
1320
+ case 7:
1321
+ return f7();
1322
+ case 8:
1323
+ return f8();
1324
+ case 9:
1325
+ return f9();
1326
+ case 10:
1327
+ return f10();
1328
+ case 11:
1329
+ return f11();
1330
+ case 12:
1331
+ return f12();
1332
+ case 13:
1333
+ return f13();
1334
+ case 14:
1335
+ return f14();
1336
+ case 15:
1337
+ return f15();
1338
+ case 16:
1339
+ return f16();
1340
+ case 17:
1341
+ return f17();
1342
+ case 18:
1343
+ return f18();
1344
+ case 19:
1345
+ return f19();
1346
+ case 20:
1347
+ return f20();
1348
+ case 21:
1349
+ return f21();
1350
+ case 22:
1351
+ return f22();
1352
+ case 23:
1353
+ return f23();
1354
+ case 24:
1355
+ return f24();
1356
+ case 25:
1357
+ return f25();
1358
+ case 26:
1359
+ return f26();
1360
+ case 27:
1361
+ return f27();
1362
+ case 28:
1363
+ return f28();
1364
+ case 29:
1365
+ return f29();
1366
+ case 30:
1367
+ return f30();
1368
+ }
1369
+ abort();
1370
+ }
1371
+
1372
+ template <typename R, typename F0, typename F1, typename F2, typename F3,
1373
+ typename F4, typename F5, typename F6, typename F7, typename F8,
1374
+ typename F9, typename F10, typename F11, typename F12, typename F13,
1375
+ typename F14, typename F15, typename F16, typename F17, typename F18,
1376
+ typename F19, typename F20, typename F21, typename F22, typename F23,
1377
+ typename F24, typename F25, typename F26, typename F27, typename F28,
1378
+ typename F29, typename F30, typename F31>
1379
+ R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1380
+ F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1381
+ F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1382
+ F24 f24, F25 f25, F26 f26, F27 f27, F28 f28, F29 f29, F30 f30,
1383
+ F31 f31) {
1384
+ switch (idx) {
1385
+ case 0:
1386
+ return f0();
1387
+ case 1:
1388
+ return f1();
1389
+ case 2:
1390
+ return f2();
1391
+ case 3:
1392
+ return f3();
1393
+ case 4:
1394
+ return f4();
1395
+ case 5:
1396
+ return f5();
1397
+ case 6:
1398
+ return f6();
1399
+ case 7:
1400
+ return f7();
1401
+ case 8:
1402
+ return f8();
1403
+ case 9:
1404
+ return f9();
1405
+ case 10:
1406
+ return f10();
1407
+ case 11:
1408
+ return f11();
1409
+ case 12:
1410
+ return f12();
1411
+ case 13:
1412
+ return f13();
1413
+ case 14:
1414
+ return f14();
1415
+ case 15:
1416
+ return f15();
1417
+ case 16:
1418
+ return f16();
1419
+ case 17:
1420
+ return f17();
1421
+ case 18:
1422
+ return f18();
1423
+ case 19:
1424
+ return f19();
1425
+ case 20:
1426
+ return f20();
1427
+ case 21:
1428
+ return f21();
1429
+ case 22:
1430
+ return f22();
1431
+ case 23:
1432
+ return f23();
1433
+ case 24:
1434
+ return f24();
1435
+ case 25:
1436
+ return f25();
1437
+ case 26:
1438
+ return f26();
1439
+ case 27:
1440
+ return f27();
1441
+ case 28:
1442
+ return f28();
1443
+ case 29:
1444
+ return f29();
1445
+ case 30:
1446
+ return f30();
1447
+ case 31:
1448
+ return f31();
1449
+ }
1450
+ abort();
1451
+ }
1452
+
1453
+ } // namespace grpc_core
1454
+
1455
+ #endif // GRPC_CORE_LIB_PROMISE_DETAIL_SWITCH_H