grpc 1.48.0 → 1.56.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 (2600) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +501 -260
  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 +99 -36
  8. data/include/grpc/event_engine/internal/memory_allocator_impl.h +1 -1
  9. data/include/grpc/event_engine/internal/slice_cast.h +67 -0
  10. data/include/grpc/event_engine/memory_allocator.h +1 -1
  11. data/include/grpc/event_engine/slice.h +24 -4
  12. data/include/grpc/event_engine/slice_buffer.h +44 -3
  13. data/include/grpc/fork.h +25 -1
  14. data/include/grpc/grpc.h +3 -13
  15. data/include/grpc/grpc_audit_logging.h +96 -0
  16. data/include/grpc/grpc_posix.h +1 -1
  17. data/include/grpc/grpc_security.h +4 -0
  18. data/include/grpc/impl/codegen/atm.h +3 -71
  19. data/include/grpc/impl/codegen/atm_gcc_atomic.h +3 -67
  20. data/include/grpc/impl/codegen/atm_gcc_sync.h +3 -61
  21. data/include/grpc/impl/codegen/atm_windows.h +3 -108
  22. data/include/grpc/impl/codegen/byte_buffer.h +4 -78
  23. data/include/grpc/impl/codegen/byte_buffer_reader.h +4 -19
  24. data/include/grpc/impl/codegen/compression_types.h +3 -82
  25. data/include/grpc/impl/codegen/connectivity_state.h +3 -20
  26. data/include/grpc/impl/codegen/fork.h +4 -25
  27. data/include/grpc/impl/codegen/gpr_types.h +2 -34
  28. data/include/grpc/impl/codegen/grpc_types.h +3 -790
  29. data/include/grpc/impl/codegen/log.h +3 -86
  30. data/include/grpc/impl/codegen/port_platform.h +3 -766
  31. data/include/grpc/impl/codegen/propagation_bits.h +3 -28
  32. data/include/grpc/impl/codegen/slice.h +3 -106
  33. data/include/grpc/impl/codegen/status.h +4 -131
  34. data/include/grpc/impl/codegen/sync.h +3 -42
  35. data/include/grpc/impl/codegen/sync_abseil.h +3 -12
  36. data/include/grpc/impl/codegen/sync_custom.h +3 -14
  37. data/include/grpc/impl/codegen/sync_generic.h +3 -25
  38. data/include/grpc/impl/codegen/sync_posix.h +3 -28
  39. data/include/grpc/impl/codegen/sync_windows.h +3 -16
  40. data/include/grpc/impl/compression_types.h +109 -0
  41. data/include/grpc/impl/connectivity_state.h +47 -0
  42. data/include/grpc/impl/grpc_types.h +838 -0
  43. data/include/grpc/impl/propagation_bits.h +54 -0
  44. data/include/grpc/impl/slice_type.h +112 -0
  45. data/include/grpc/load_reporting.h +1 -1
  46. data/include/grpc/module.modulemap +7 -1
  47. data/include/grpc/slice.h +1 -1
  48. data/include/grpc/status.h +131 -1
  49. data/include/grpc/support/atm.h +70 -1
  50. data/include/grpc/support/atm_gcc_atomic.h +59 -1
  51. data/include/grpc/support/atm_gcc_sync.h +58 -1
  52. data/include/grpc/support/atm_windows.h +105 -1
  53. data/include/grpc/support/json.h +218 -0
  54. data/include/grpc/support/log.h +87 -1
  55. data/include/grpc/support/log_windows.h +1 -1
  56. data/include/grpc/support/port_platform.h +767 -1
  57. data/include/grpc/support/string_util.h +1 -1
  58. data/include/grpc/support/sync.h +35 -2
  59. data/include/grpc/support/sync_abseil.h +11 -1
  60. data/include/grpc/support/sync_custom.h +13 -1
  61. data/include/grpc/support/sync_generic.h +24 -1
  62. data/include/grpc/support/sync_posix.h +27 -1
  63. data/include/grpc/support/sync_windows.h +15 -1
  64. data/include/grpc/support/time.h +31 -6
  65. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +164 -0
  66. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +52 -0
  67. data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +29 -0
  68. data/src/core/ext/filters/census/grpc_context.cc +17 -18
  69. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +34 -28
  70. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +7 -6
  71. data/src/core/ext/filters/channel_idle/idle_filter_state.h +4 -4
  72. data/src/core/ext/filters/client_channel/backend_metric.cc +12 -1
  73. data/src/core/ext/filters/client_channel/backend_metric.h +3 -3
  74. data/src/core/ext/filters/client_channel/backup_poller.cc +30 -41
  75. data/src/core/ext/filters/client_channel/backup_poller.h +24 -27
  76. data/src/core/ext/filters/client_channel/channel_connectivity.cc +51 -28
  77. data/src/core/ext/filters/client_channel/client_channel.cc +1135 -1201
  78. data/src/core/ext/filters/client_channel/client_channel.h +170 -195
  79. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +36 -37
  80. data/src/core/ext/filters/client_channel/client_channel_channelz.h +22 -22
  81. data/src/core/ext/filters/client_channel/client_channel_factory.cc +17 -46
  82. data/src/core/ext/filters/client_channel/client_channel_factory.h +5 -13
  83. data/src/core/ext/filters/client_channel/client_channel_internal.h +77 -0
  84. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +18 -34
  85. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +153 -0
  86. data/src/core/ext/filters/client_channel/{resolver_result_parsing.h → client_channel_service_config.h} +26 -26
  87. data/src/core/ext/filters/client_channel/config_selector.h +34 -56
  88. data/src/core/ext/filters/client_channel/connector.h +13 -10
  89. data/src/core/ext/filters/client_channel/dynamic_filters.cc +28 -55
  90. data/src/core/ext/filters/client_channel/dynamic_filters.h +10 -11
  91. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +21 -21
  92. data/src/core/ext/filters/client_channel/http_proxy.cc +125 -112
  93. data/src/core/ext/filters/client_channel/http_proxy.h +36 -32
  94. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +3 -4
  95. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +3 -3
  96. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +29 -21
  97. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +27 -18
  98. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +14 -14
  99. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +66 -132
  100. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +40 -24
  101. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +325 -360
  102. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +26 -27
  103. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +12 -4
  104. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +9 -7
  105. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +18 -20
  106. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +21 -22
  107. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +19 -19
  108. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +22 -24
  109. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +455 -0
  110. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +54 -0
  111. data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +186 -0
  112. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +30 -104
  113. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +5 -5
  114. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h +117 -0
  115. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +436 -311
  116. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +69 -8
  117. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +61 -56
  118. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +261 -401
  119. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +288 -310
  120. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +32 -10
  121. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +561 -626
  122. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +60 -53
  123. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +94 -57
  124. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc +198 -0
  125. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h +71 -0
  126. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +1002 -0
  127. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +176 -186
  128. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +166 -176
  129. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +42 -0
  130. data/src/core/ext/filters/client_channel/lb_policy/xds/{xds.h → xds_attributes.h} +15 -17
  131. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +3 -3
  132. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +159 -262
  133. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +183 -215
  134. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +391 -444
  135. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +814 -0
  136. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h +67 -0
  137. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +363 -0
  138. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +21 -21
  139. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +13 -18
  140. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +456 -286
  141. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h +30 -0
  142. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +42 -43
  143. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +22 -23
  144. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +92 -87
  145. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +303 -232
  146. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +69 -57
  147. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +18 -18
  148. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +18 -18
  149. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc +60 -0
  150. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.h +27 -0
  151. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +549 -0
  152. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.h +35 -0
  153. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +97 -0
  154. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h +32 -0
  155. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +29 -46
  156. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.h +24 -0
  157. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +8 -20
  158. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +15 -4
  159. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +127 -246
  160. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +122 -67
  161. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +25 -18
  162. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +8 -19
  163. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +431 -341
  164. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +19 -4
  165. data/src/core/ext/filters/client_channel/retry_filter.cc +220 -295
  166. data/src/core/ext/filters/client_channel/retry_filter.h +3 -3
  167. data/src/core/ext/filters/client_channel/retry_service_config.cc +195 -225
  168. data/src/core/ext/filters/client_channel/retry_service_config.h +22 -28
  169. data/src/core/ext/filters/client_channel/retry_throttle.cc +27 -29
  170. data/src/core/ext/filters/client_channel/retry_throttle.h +29 -28
  171. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +22 -53
  172. data/src/core/ext/filters/client_channel/subchannel.cc +211 -450
  173. data/src/core/ext/filters/client_channel/subchannel.h +42 -96
  174. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +4 -4
  175. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +6 -76
  176. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +37 -46
  177. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +38 -42
  178. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +11 -8
  179. data/src/core/ext/filters/deadline/deadline_filter.cc +78 -69
  180. data/src/core/ext/filters/deadline/deadline_filter.h +8 -13
  181. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +26 -20
  182. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +12 -8
  183. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +118 -0
  184. data/src/core/ext/filters/fault_injection/{service_config_parser.h → fault_injection_service_config_parser.h} +20 -13
  185. data/src/core/ext/filters/http/client/http_client_filter.cc +48 -46
  186. data/src/core/ext/filters/http/client/http_client_filter.h +21 -21
  187. data/src/core/ext/filters/http/client_authority_filter.cc +20 -21
  188. data/src/core/ext/filters/http/client_authority_filter.h +22 -22
  189. data/src/core/ext/filters/http/http_filters_plugin.cc +30 -57
  190. data/src/core/ext/filters/http/message_compress/compression_filter.cc +323 -0
  191. data/src/core/ext/filters/http/message_compress/compression_filter.h +139 -0
  192. data/src/core/ext/filters/http/server/http_server_filter.cc +55 -55
  193. data/src/core/ext/filters/http/server/http_server_filter.h +22 -22
  194. data/src/core/ext/filters/message_size/message_size_filter.cc +183 -290
  195. data/src/core/ext/filters/message_size/message_size_filter.h +72 -23
  196. data/src/core/ext/filters/rbac/rbac_filter.cc +16 -15
  197. data/src/core/ext/filters/rbac/rbac_filter.h +3 -3
  198. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +831 -536
  199. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +7 -8
  200. data/src/core/ext/filters/server_config_selector/server_config_selector.h +14 -11
  201. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +15 -21
  202. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.h +3 -3
  203. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +220 -0
  204. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +81 -0
  205. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +82 -0
  206. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +93 -0
  207. data/src/core/ext/gcp/metadata_query.cc +137 -0
  208. data/src/core/ext/gcp/metadata_query.h +87 -0
  209. data/src/core/ext/transport/chttp2/alpn/alpn.cc +18 -18
  210. data/src/core/ext/transport/chttp2/alpn/alpn.h +24 -24
  211. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +108 -130
  212. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +30 -24
  213. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +221 -242
  214. data/src/core/ext/transport/chttp2/server/chttp2_server.h +25 -27
  215. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +22 -22
  216. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +33 -33
  217. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +42 -38
  218. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +35 -31
  219. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +808 -730
  220. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +45 -24
  221. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +70 -0
  222. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +251 -0
  223. data/src/core/ext/transport/chttp2/transport/decode_huff.h +971 -0
  224. data/src/core/ext/transport/chttp2/transport/flow_control.cc +180 -60
  225. data/src/core/ext/transport/chttp2/transport/flow_control.h +78 -45
  226. data/src/core/ext/transport/chttp2/transport/frame.h +21 -21
  227. data/src/core/ext/transport/chttp2/transport/frame_data.cc +35 -32
  228. data/src/core/ext/transport/chttp2/transport/frame_data.h +27 -27
  229. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +38 -36
  230. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +20 -20
  231. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +28 -33
  232. data/src/core/ext/transport/chttp2/transport/frame_ping.h +21 -24
  233. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +30 -25
  234. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +21 -21
  235. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +39 -37
  236. data/src/core/ext/transport/chttp2/transport/frame_settings.h +22 -22
  237. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +24 -21
  238. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +21 -21
  239. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +10 -4
  240. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +212 -365
  241. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +328 -160
  242. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +4 -2
  243. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +13 -5
  244. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +500 -754
  245. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +30 -26
  246. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +42 -47
  247. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +41 -28
  248. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +21 -19
  249. data/src/core/ext/transport/chttp2/transport/http2_settings.h +39 -37
  250. data/src/core/ext/transport/chttp2/transport/http_trace.cc +19 -0
  251. data/src/core/ext/transport/chttp2/transport/http_trace.h +24 -0
  252. data/src/core/ext/transport/chttp2/transport/huffsyms.cc +20 -20
  253. data/src/core/ext/transport/chttp2/transport/huffsyms.h +21 -21
  254. data/src/core/ext/transport/chttp2/transport/internal.h +224 -193
  255. data/src/core/ext/transport/chttp2/transport/parsing.cc +307 -109
  256. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +19 -19
  257. data/src/core/ext/transport/chttp2/transport/stream_map.cc +23 -23
  258. data/src/core/ext/transport/chttp2/transport/stream_map.h +33 -33
  259. data/src/core/ext/transport/chttp2/transport/varint.cc +19 -20
  260. data/src/core/ext/transport/chttp2/transport/varint.h +37 -34
  261. data/src/core/ext/transport/chttp2/transport/writing.cc +94 -84
  262. data/src/core/ext/transport/inproc/inproc_plugin.cc +17 -17
  263. data/src/core/ext/transport/inproc/inproc_transport.cc +184 -232
  264. data/src/core/ext/transport/inproc/inproc_transport.h +21 -21
  265. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +87 -52
  266. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +435 -182
  267. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -59
  268. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +502 -220
  269. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +93 -377
  270. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +468 -1881
  271. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +535 -0
  272. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +2796 -0
  273. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +30 -17
  274. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +152 -47
  275. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +34 -19
  276. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +176 -49
  277. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +27 -14
  278. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +82 -38
  279. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +20 -11
  280. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +52 -26
  281. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +20 -11
  282. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +52 -26
  283. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +109 -62
  284. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +574 -244
  285. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +21 -12
  286. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +49 -30
  287. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +22 -19
  288. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +82 -29
  289. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +23 -16
  290. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +49 -30
  291. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +230 -143
  292. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +795 -406
  293. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +417 -256
  294. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1954 -858
  295. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -41
  296. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +298 -148
  297. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +537 -348
  298. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2136 -1171
  299. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +21 -12
  300. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +49 -30
  301. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +89 -52
  302. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +351 -232
  303. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +264 -165
  304. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +948 -480
  305. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +154 -72
  306. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +631 -213
  307. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +22 -13
  308. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +54 -36
  309. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +380 -219
  310. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1263 -598
  311. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +166 -94
  312. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +694 -292
  313. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +18 -11
  314. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +41 -26
  315. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +21 -12
  316. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +49 -30
  317. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +30 -17
  318. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +152 -47
  319. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +274 -167
  320. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +841 -440
  321. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +222 -128
  322. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +1152 -485
  323. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +22 -13
  324. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +64 -37
  325. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +350 -207
  326. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1156 -620
  327. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +44 -11
  328. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +179 -18
  329. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +34 -19
  330. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +127 -57
  331. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +48 -16
  332. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +193 -44
  333. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +31 -18
  334. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +147 -65
  335. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +22 -13
  336. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +55 -37
  337. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +78 -43
  338. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +277 -127
  339. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +147 -84
  340. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +479 -227
  341. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +115 -62
  342. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +579 -227
  343. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +18 -11
  344. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +39 -26
  345. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +198 -94
  346. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +1072 -358
  347. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +172 -95
  348. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +893 -375
  349. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +49 -23
  350. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +186 -89
  351. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +40 -16
  352. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +95 -45
  353. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +28 -15
  354. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +75 -45
  355. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +131 -74
  356. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +521 -249
  357. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +135 -80
  358. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +542 -246
  359. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +263 -121
  360. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +1083 -374
  361. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +83 -48
  362. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +656 -232
  363. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +1317 -722
  364. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +5948 -2306
  365. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +49 -28
  366. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +177 -85
  367. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +223 -117
  368. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +847 -369
  369. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +20 -10
  370. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +57 -22
  371. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +21 -12
  372. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +49 -30
  373. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +32 -19
  374. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +78 -49
  375. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +27 -14
  376. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +114 -43
  377. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +46 -25
  378. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +263 -100
  379. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +55 -0
  380. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +122 -0
  381. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +18 -11
  382. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +39 -26
  383. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +42 -23
  384. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +116 -70
  385. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +8 -4
  386. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +21 -15
  387. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +43 -24
  388. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +118 -75
  389. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +30 -16
  390. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +104 -46
  391. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +16 -9
  392. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +77 -23
  393. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +60 -37
  394. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +170 -108
  395. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +74 -43
  396. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +369 -167
  397. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +47 -21
  398. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +146 -58
  399. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +42 -18
  400. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +257 -67
  401. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +75 -0
  402. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +201 -0
  403. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +476 -283
  404. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2259 -1015
  405. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +53 -0
  406. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +107 -0
  407. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +69 -0
  408. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +246 -0
  409. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +138 -0
  410. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +499 -0
  411. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +36 -17
  412. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +148 -55
  413. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +18 -11
  414. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +39 -26
  415. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +7 -4
  416. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +15 -10
  417. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +184 -94
  418. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +948 -349
  419. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +56 -33
  420. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +162 -101
  421. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +188 -109
  422. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +855 -408
  423. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +32 -19
  424. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +118 -54
  425. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +10 -7
  426. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +22 -14
  427. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +325 -85
  428. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1705 -299
  429. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +42 -23
  430. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +197 -76
  431. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +131 -84
  432. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +531 -239
  433. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +22 -13
  434. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +59 -34
  435. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +39 -26
  436. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +141 -69
  437. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +56 -0
  438. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +130 -0
  439. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +60 -26
  440. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +146 -51
  441. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +37 -20
  442. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +141 -63
  443. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +22 -13
  444. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +95 -40
  445. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +21 -12
  446. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +54 -32
  447. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +18 -11
  448. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +41 -26
  449. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +46 -27
  450. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +113 -70
  451. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +46 -0
  452. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +117 -0
  453. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +40 -23
  454. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +170 -76
  455. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +31 -18
  456. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +123 -57
  457. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +46 -29
  458. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +151 -91
  459. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +65 -42
  460. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +228 -121
  461. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +80 -45
  462. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +228 -131
  463. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +34 -21
  464. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +86 -53
  465. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +7 -4
  466. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +13 -8
  467. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +16 -9
  468. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +32 -18
  469. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +28 -15
  470. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +63 -34
  471. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +43 -22
  472. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +103 -53
  473. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +78 -0
  474. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +237 -0
  475. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +7 -4
  476. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +16 -9
  477. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +20 -11
  478. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +52 -26
  479. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +23 -14
  480. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +65 -41
  481. data/src/core/ext/upb-generated/google/api/annotations.upb.c +14 -11
  482. data/src/core/ext/upb-generated/google/api/annotations.upb.h +30 -20
  483. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +255 -154
  484. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +979 -451
  485. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +299 -180
  486. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +995 -484
  487. data/src/core/ext/upb-generated/google/api/http.upb.c +68 -35
  488. data/src/core/ext/upb-generated/google/api/http.upb.h +297 -121
  489. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +22 -13
  490. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +99 -37
  491. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +19 -10
  492. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +42 -22
  493. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +1037 -442
  494. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +3972 -1411
  495. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +19 -10
  496. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +42 -22
  497. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +10 -7
  498. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +22 -14
  499. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +62 -39
  500. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +220 -103
  501. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +19 -10
  502. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +42 -22
  503. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +90 -51
  504. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +193 -107
  505. data/src/core/ext/upb-generated/google/rpc/status.upb.c +22 -13
  506. data/src/core/ext/upb-generated/google/rpc/status.upb.h +99 -37
  507. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +59 -34
  508. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +170 -92
  509. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +43 -24
  510. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +122 -60
  511. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +250 -145
  512. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +960 -416
  513. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +34 -19
  514. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +84 -51
  515. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +25 -14
  516. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +53 -30
  517. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +144 -81
  518. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +442 -218
  519. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +51 -26
  520. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +161 -61
  521. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +173 -102
  522. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +884 -299
  523. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +68 -49
  524. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +167 -104
  525. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +26 -17
  526. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +59 -34
  527. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +12 -9
  528. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +31 -14
  529. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +26 -17
  530. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +59 -34
  531. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +23 -16
  532. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +49 -30
  533. data/src/core/ext/upb-generated/validate/validate.upb.c +846 -456
  534. data/src/core/ext/upb-generated/validate/validate.upb.h +4439 -1908
  535. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +68 -49
  536. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +167 -104
  537. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +26 -17
  538. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +59 -34
  539. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +12 -9
  540. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +31 -14
  541. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +65 -44
  542. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +153 -91
  543. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +23 -16
  544. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +49 -30
  545. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +16 -9
  546. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +32 -18
  547. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +56 -0
  548. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +122 -0
  549. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +37 -22
  550. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +104 -63
  551. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +26 -17
  552. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +56 -29
  553. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +21 -12
  554. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +49 -30
  555. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +23 -14
  556. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +66 -42
  557. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +44 -25
  558. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +177 -79
  559. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +27 -14
  560. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +69 -38
  561. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +86 -30
  562. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +227 -54
  563. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +21 -13
  564. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +93 -34
  565. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +53 -0
  566. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +107 -0
  567. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +75 -0
  568. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +270 -0
  569. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +39 -0
  570. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +78 -0
  571. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +78 -0
  572. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +289 -0
  573. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +162 -101
  574. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +539 -295
  575. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +160 -0
  576. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +740 -0
  577. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +24 -15
  578. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +61 -37
  579. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +40 -23
  580. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +170 -76
  581. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +82 -0
  582. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +240 -0
  583. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +85 -0
  584. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +246 -0
  585. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +21 -13
  586. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +49 -30
  587. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +1 -1
  588. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +6 -5
  589. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +55 -54
  590. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +6 -5
  591. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +68 -275
  592. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +6 -90
  593. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +277 -0
  594. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +126 -0
  595. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +1 -1
  596. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +6 -5
  597. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +15 -12
  598. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +6 -5
  599. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +1 -1
  600. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +6 -5
  601. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +1 -1
  602. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +6 -5
  603. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +1 -1
  604. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +6 -5
  605. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +1 -1
  606. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +6 -5
  607. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +1 -1
  608. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +6 -5
  609. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +1 -1
  610. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +6 -5
  611. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +1 -1
  612. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +6 -5
  613. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +108 -108
  614. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +6 -5
  615. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +251 -236
  616. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +6 -5
  617. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +1 -1
  618. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +6 -5
  619. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +233 -223
  620. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +6 -10
  621. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +1 -1
  622. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +6 -5
  623. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +1 -1
  624. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +6 -5
  625. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +1 -1
  626. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +6 -5
  627. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +96 -76
  628. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +11 -5
  629. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +1 -1
  630. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +6 -5
  631. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +188 -184
  632. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +6 -5
  633. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +13 -12
  634. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +11 -5
  635. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +1 -1
  636. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +6 -5
  637. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +1 -1
  638. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +6 -5
  639. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +1 -1
  640. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +6 -5
  641. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +1 -1
  642. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +6 -5
  643. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +82 -76
  644. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +6 -5
  645. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +1 -1
  646. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +6 -5
  647. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +194 -187
  648. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +6 -5
  649. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +32 -16
  650. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +11 -5
  651. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +1 -1
  652. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +6 -5
  653. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +8 -4
  654. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +11 -5
  655. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +17 -17
  656. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +6 -5
  657. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +1 -1
  658. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +6 -5
  659. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +1 -1
  660. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +6 -5
  661. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +72 -67
  662. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +6 -5
  663. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +1 -1
  664. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +6 -5
  665. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +1 -1
  666. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +6 -5
  667. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +161 -131
  668. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +26 -5
  669. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +1 -1
  670. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +6 -5
  671. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +55 -42
  672. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +6 -5
  673. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +40 -32
  674. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +6 -5
  675. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +1 -1
  676. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +6 -5
  677. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +1 -1
  678. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +6 -5
  679. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +1 -1
  680. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +6 -5
  681. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +162 -129
  682. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +21 -5
  683. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +83 -75
  684. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +8 -7
  685. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +744 -668
  686. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +26 -5
  687. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +1 -1
  688. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +6 -5
  689. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +151 -140
  690. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +11 -5
  691. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +17 -15
  692. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +6 -5
  693. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +1 -1
  694. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +6 -5
  695. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +1 -1
  696. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +6 -5
  697. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +1 -1
  698. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +6 -5
  699. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +1 -1
  700. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +6 -5
  701. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +45 -0
  702. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +36 -0
  703. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +1 -1
  704. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +6 -5
  705. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +1 -1
  706. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +6 -5
  707. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +17 -13
  708. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +6 -5
  709. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +1 -1
  710. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +6 -5
  711. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +21 -19
  712. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +6 -5
  713. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +1 -1
  714. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +6 -5
  715. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +1 -1
  716. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +6 -5
  717. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +1 -1
  718. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +6 -5
  719. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +47 -26
  720. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +6 -5
  721. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +54 -43
  722. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +6 -5
  723. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +60 -0
  724. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +41 -0
  725. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +497 -468
  726. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +6 -5
  727. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +50 -0
  728. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +36 -0
  729. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +1 -1
  730. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +6 -5
  731. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +138 -133
  732. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +6 -5
  733. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +1 -1
  734. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +6 -5
  735. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +151 -147
  736. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +6 -5
  737. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +1 -1
  738. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +6 -5
  739. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +6 -6
  740. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +6 -5
  741. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +157 -85
  742. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +41 -5
  743. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +6 -6
  744. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +6 -5
  745. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +113 -114
  746. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +6 -5
  747. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +1 -1
  748. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +6 -5
  749. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +1 -1
  750. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +6 -5
  751. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +48 -0
  752. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +36 -0
  753. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +13 -10
  754. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +11 -5
  755. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +1 -1
  756. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +6 -5
  757. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +1 -1
  758. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +6 -5
  759. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +1 -1
  760. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +6 -5
  761. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +1 -1
  762. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +6 -5
  763. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +30 -29
  764. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +6 -5
  765. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +40 -0
  766. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +41 -0
  767. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +1 -1
  768. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +6 -5
  769. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +1 -1
  770. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +6 -5
  771. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +1 -1
  772. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +6 -5
  773. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +1 -1
  774. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +6 -5
  775. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +1 -1
  776. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +6 -5
  777. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +1 -1
  778. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +6 -5
  779. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +1 -1
  780. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +6 -5
  781. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +1 -1
  782. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +6 -5
  783. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +1 -1
  784. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +6 -5
  785. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +1 -1
  786. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +6 -5
  787. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +69 -0
  788. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +41 -0
  789. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +11 -10
  790. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +6 -5
  791. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +1 -1
  792. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +6 -5
  793. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +1 -1
  794. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +6 -5
  795. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +1 -1
  796. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +6 -5
  797. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +1 -1
  798. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +6 -5
  799. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +1 -1
  800. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +6 -5
  801. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +1 -1
  802. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +6 -5
  803. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +1 -1
  804. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +6 -5
  805. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +1 -1
  806. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +6 -5
  807. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +328 -270
  808. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +11 -5
  809. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +1 -1
  810. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +6 -5
  811. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +1 -1
  812. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +6 -5
  813. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +1 -1
  814. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +6 -5
  815. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +1 -1
  816. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +6 -5
  817. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +1 -1
  818. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +6 -5
  819. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +1 -1
  820. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +6 -5
  821. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +1 -1
  822. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +6 -5
  823. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +1 -1
  824. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +6 -5
  825. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +1 -1
  826. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +6 -5
  827. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +1 -1
  828. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +6 -5
  829. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +1 -1
  830. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +6 -5
  831. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +1 -1
  832. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +6 -5
  833. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +1 -1
  834. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +6 -5
  835. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +1 -1
  836. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +6 -5
  837. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +1 -1
  838. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +6 -5
  839. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +1 -1
  840. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +6 -5
  841. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +1 -1
  842. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +6 -5
  843. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +1 -1
  844. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +6 -5
  845. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +1 -1
  846. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +6 -5
  847. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +1 -1
  848. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +6 -5
  849. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +45 -0
  850. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +36 -0
  851. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +1 -1
  852. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +6 -5
  853. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +1 -1
  854. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +6 -5
  855. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +1 -1
  856. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +6 -5
  857. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +1 -1
  858. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +6 -5
  859. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +1 -1
  860. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +6 -5
  861. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +1 -1
  862. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +6 -5
  863. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +43 -0
  864. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +36 -0
  865. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +51 -0
  866. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +41 -0
  867. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +36 -0
  868. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +36 -0
  869. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +55 -0
  870. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +41 -0
  871. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +10 -10
  872. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +6 -5
  873. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +71 -0
  874. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +61 -0
  875. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +1 -1
  876. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +6 -5
  877. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +1 -1
  878. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +6 -5
  879. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +60 -0
  880. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +41 -0
  881. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +36 -0
  882. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +46 -0
  883. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +5 -8
  884. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +6 -5
  885. data/src/core/ext/xds/certificate_provider_store.cc +58 -3
  886. data/src/core/ext/xds/certificate_provider_store.h +12 -4
  887. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +36 -50
  888. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +18 -13
  889. data/src/core/ext/xds/upb_utils.h +4 -25
  890. data/src/core/ext/xds/xds_api.cc +117 -198
  891. data/src/core/ext/xds/xds_api.h +32 -36
  892. data/src/core/ext/xds/xds_audit_logger_registry.cc +122 -0
  893. data/src/core/ext/xds/xds_audit_logger_registry.h +68 -0
  894. data/src/core/ext/xds/xds_bootstrap.cc +7 -552
  895. data/src/core/ext/xds/xds_bootstrap.h +41 -94
  896. data/src/core/ext/xds/xds_bootstrap_grpc.cc +374 -0
  897. data/src/core/ext/xds/xds_bootstrap_grpc.h +189 -0
  898. data/src/core/ext/xds/xds_certificate_provider.cc +22 -25
  899. data/src/core/ext/xds/xds_certificate_provider.h +13 -4
  900. data/src/core/ext/xds/xds_channel_args.h +3 -3
  901. data/src/core/ext/xds/xds_channel_stack_modifier.cc +7 -7
  902. data/src/core/ext/xds/xds_channel_stack_modifier.h +12 -4
  903. data/src/core/ext/xds/xds_client.cc +830 -1348
  904. data/src/core/ext/xds/xds_client.h +46 -64
  905. data/src/core/ext/xds/xds_client_grpc.cc +235 -0
  906. data/src/core/ext/xds/xds_client_grpc.h +79 -0
  907. data/src/core/ext/xds/xds_client_stats.cc +50 -36
  908. data/src/core/ext/xds/xds_client_stats.h +46 -41
  909. data/src/core/ext/xds/xds_cluster.cc +396 -246
  910. data/src/core/ext/xds/xds_cluster.h +60 -43
  911. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +62 -77
  912. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +50 -25
  913. data/src/core/ext/xds/xds_common_types.cc +234 -130
  914. data/src/core/ext/xds/xds_common_types.h +24 -19
  915. data/src/core/ext/xds/xds_endpoint.cc +263 -164
  916. data/src/core/ext/xds/xds_endpoint.h +19 -15
  917. data/src/core/ext/xds/xds_health_status.cc +80 -0
  918. data/src/core/ext/xds/xds_health_status.h +109 -0
  919. data/src/core/ext/xds/xds_http_fault_filter.cc +72 -62
  920. data/src/core/ext/xds/xds_http_fault_filter.h +21 -28
  921. data/src/core/ext/xds/xds_http_filters.cc +65 -73
  922. data/src/core/ext/xds/xds_http_filters.h +78 -27
  923. data/src/core/ext/xds/xds_http_rbac_filter.cc +307 -295
  924. data/src/core/ext/xds/xds_http_rbac_filter.h +21 -23
  925. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +222 -0
  926. data/src/core/ext/xds/xds_http_stateful_session_filter.h +59 -0
  927. data/src/core/ext/xds/xds_lb_policy_registry.cc +215 -171
  928. data/src/core/ext/xds/xds_lb_policy_registry.h +15 -16
  929. data/src/core/ext/xds/xds_listener.cc +549 -478
  930. data/src/core/ext/xds/xds_listener.h +51 -54
  931. data/src/core/ext/xds/xds_resource_type.h +28 -22
  932. data/src/core/ext/xds/xds_resource_type_impl.h +13 -16
  933. data/src/core/ext/xds/xds_route_config.cc +610 -576
  934. data/src/core/ext/xds/xds_route_config.h +69 -44
  935. data/src/core/ext/xds/xds_routing.cc +7 -9
  936. data/src/core/ext/xds/xds_routing.h +12 -12
  937. data/src/core/ext/xds/xds_server_config_fetcher.cc +184 -184
  938. data/src/core/ext/xds/xds_transport.h +86 -0
  939. data/src/core/ext/xds/xds_transport_grpc.cc +358 -0
  940. data/src/core/ext/xds/xds_transport_grpc.h +135 -0
  941. data/src/core/lib/address_utils/parse_address.cc +49 -46
  942. data/src/core/lib/address_utils/parse_address.h +43 -40
  943. data/src/core/lib/address_utils/sockaddr_utils.cc +30 -28
  944. data/src/core/lib/address_utils/sockaddr_utils.h +36 -36
  945. data/src/core/lib/avl/avl.h +59 -32
  946. data/src/core/lib/backoff/backoff.cc +19 -21
  947. data/src/core/lib/backoff/backoff.h +20 -20
  948. data/src/core/lib/backoff/random_early_detection.cc +31 -0
  949. data/src/core/lib/backoff/random_early_detection.h +59 -0
  950. data/src/core/lib/channel/call_finalization.h +5 -7
  951. data/src/core/lib/channel/call_tracer.cc +51 -0
  952. data/src/core/lib/channel/call_tracer.h +106 -34
  953. data/src/core/lib/channel/channel_args.cc +188 -61
  954. data/src/core/lib/channel/channel_args.h +318 -112
  955. data/src/core/lib/channel/channel_args_preconditioning.h +4 -4
  956. data/src/core/lib/channel/channel_fwd.h +3 -3
  957. data/src/core/lib/channel/channel_stack.cc +60 -58
  958. data/src/core/lib/channel/channel_stack.h +148 -135
  959. data/src/core/lib/channel/channel_stack_builder.cc +21 -24
  960. data/src/core/lib/channel/channel_stack_builder.h +17 -9
  961. data/src/core/lib/channel/channel_stack_builder_impl.cc +55 -26
  962. data/src/core/lib/channel/channel_stack_builder_impl.h +5 -3
  963. data/src/core/lib/channel/channel_trace.cc +40 -38
  964. data/src/core/lib/channel/channel_trace.h +22 -22
  965. data/src/core/lib/channel/channelz.cc +190 -173
  966. data/src/core/lib/channel/channelz.h +80 -64
  967. data/src/core/lib/channel/channelz_registry.cc +41 -37
  968. data/src/core/lib/channel/channelz_registry.h +21 -21
  969. data/src/core/lib/channel/connected_channel.cc +764 -67
  970. data/src/core/lib/channel/connected_channel.h +20 -24
  971. data/src/core/lib/channel/context.h +33 -22
  972. data/src/core/lib/channel/promise_based_filter.cc +1607 -295
  973. data/src/core/lib/channel/promise_based_filter.h +485 -104
  974. data/src/core/lib/channel/server_call_tracer_filter.cc +110 -0
  975. data/src/core/lib/channel/status_util.cc +62 -17
  976. data/src/core/lib/channel/status_util.h +39 -22
  977. data/src/core/lib/compression/compression.cc +19 -19
  978. data/src/core/lib/compression/compression_internal.cc +38 -48
  979. data/src/core/lib/compression/compression_internal.h +25 -25
  980. data/src/core/lib/compression/message_compress.cc +26 -26
  981. data/src/core/lib/compression/message_compress.h +27 -27
  982. data/src/core/lib/config/config_vars.cc +153 -0
  983. data/src/core/lib/config/config_vars.h +127 -0
  984. data/src/core/lib/config/config_vars_non_generated.cc +51 -0
  985. data/src/core/lib/config/core_configuration.cc +5 -1
  986. data/src/core/lib/config/core_configuration.h +84 -38
  987. data/src/core/lib/config/load_config.cc +79 -0
  988. data/src/core/lib/config/load_config.h +55 -0
  989. data/src/core/lib/debug/event_log.cc +88 -0
  990. data/src/core/lib/debug/event_log.h +81 -0
  991. data/src/core/lib/debug/histogram_view.cc +69 -0
  992. data/src/core/lib/debug/histogram_view.h +37 -0
  993. data/src/core/lib/debug/stats.cc +47 -151
  994. data/src/core/lib/debug/stats.h +49 -57
  995. data/src/core/lib/debug/stats_data.cc +302 -646
  996. data/src/core/lib/debug/stats_data.h +295 -543
  997. data/src/core/lib/debug/trace.cc +56 -81
  998. data/src/core/lib/debug/trace.h +37 -54
  999. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +211 -0
  1000. data/src/core/lib/event_engine/cf_engine/cf_engine.h +86 -0
  1001. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +354 -0
  1002. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +146 -0
  1003. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +79 -0
  1004. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +15 -18
  1005. data/src/core/lib/event_engine/channel_args_endpoint_config.h +16 -10
  1006. data/src/core/lib/event_engine/common_closures.h +71 -0
  1007. data/src/core/lib/event_engine/default_event_engine.cc +111 -0
  1008. data/src/core/lib/event_engine/default_event_engine.h +73 -0
  1009. data/src/core/lib/event_engine/default_event_engine_factory.cc +32 -5
  1010. data/src/core/lib/event_engine/{event_engine_factory.h → default_event_engine_factory.h} +4 -12
  1011. data/src/core/lib/event_engine/event_engine.cc +29 -36
  1012. data/src/core/lib/event_engine/forkable.cc +106 -0
  1013. data/src/core/lib/event_engine/forkable.h +61 -0
  1014. data/src/core/lib/event_engine/handle_containers.h +12 -20
  1015. data/src/core/lib/event_engine/memory_allocator.cc +1 -1
  1016. data/src/core/lib/event_engine/memory_allocator_factory.h +47 -0
  1017. data/src/core/lib/event_engine/poller.h +62 -0
  1018. data/src/core/lib/event_engine/posix.h +162 -0
  1019. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +642 -0
  1020. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +139 -0
  1021. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +895 -0
  1022. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +97 -0
  1023. data/src/core/lib/event_engine/posix_engine/event_poller.h +111 -0
  1024. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +68 -0
  1025. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +33 -0
  1026. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +77 -0
  1027. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +179 -0
  1028. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +254 -0
  1029. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +73 -0
  1030. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1338 -0
  1031. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +726 -0
  1032. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +637 -0
  1033. data/src/core/lib/event_engine/posix_engine/posix_engine.h +259 -0
  1034. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +80 -0
  1035. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +292 -0
  1036. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +278 -0
  1037. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +379 -0
  1038. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +91 -0
  1039. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +867 -0
  1040. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +316 -0
  1041. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer.cc +51 -52
  1042. data/src/core/lib/event_engine/posix_engine/timer.h +194 -0
  1043. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_heap.cc +29 -29
  1044. data/src/core/lib/event_engine/posix_engine/timer_heap.h +56 -0
  1045. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +173 -0
  1046. data/src/core/lib/event_engine/posix_engine/timer_manager.h +114 -0
  1047. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +332 -0
  1048. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +185 -0
  1049. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +127 -0
  1050. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +45 -0
  1051. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +150 -0
  1052. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +45 -0
  1053. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +76 -0
  1054. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +67 -0
  1055. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +37 -0
  1056. data/src/core/lib/event_engine/resolved_address.cc +21 -1
  1057. data/src/core/lib/event_engine/resolved_address_internal.h +34 -0
  1058. data/src/core/lib/event_engine/shim.cc +64 -0
  1059. data/src/core/lib/event_engine/shim.h +33 -0
  1060. data/src/core/lib/event_engine/slice.cc +8 -7
  1061. data/src/core/lib/event_engine/slice_buffer.cc +2 -2
  1062. data/src/core/lib/event_engine/tcp_socket_utils.cc +389 -0
  1063. data/src/core/lib/event_engine/tcp_socket_utils.h +90 -0
  1064. data/src/core/lib/event_engine/thread_local.cc +29 -0
  1065. data/src/core/lib/event_engine/thread_local.h +32 -0
  1066. data/src/core/lib/event_engine/thread_pool/original_thread_pool.cc +256 -0
  1067. data/src/core/lib/event_engine/thread_pool/original_thread_pool.h +137 -0
  1068. data/src/core/lib/event_engine/thread_pool/thread_pool.h +50 -0
  1069. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +40 -0
  1070. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +489 -0
  1071. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +249 -0
  1072. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +166 -0
  1073. data/src/core/lib/event_engine/{iomgr_engine/iomgr_engine.h → thready_event_engine/thready_event_engine.h} +51 -65
  1074. data/src/core/lib/event_engine/time_util.cc +30 -0
  1075. data/src/core/lib/event_engine/time_util.h +32 -0
  1076. data/src/core/lib/event_engine/trace.cc +7 -0
  1077. data/src/core/lib/event_engine/trace.h +22 -3
  1078. data/src/core/lib/event_engine/utils.cc +44 -0
  1079. data/src/core/lib/event_engine/utils.h +44 -0
  1080. data/src/core/lib/event_engine/windows/iocp.cc +141 -0
  1081. data/src/core/lib/event_engine/windows/iocp.h +69 -0
  1082. data/src/core/lib/event_engine/windows/win_socket.cc +218 -0
  1083. data/src/core/lib/event_engine/windows/win_socket.h +129 -0
  1084. data/src/core/lib/event_engine/windows/windows_endpoint.cc +379 -0
  1085. data/src/core/lib/event_engine/windows/windows_endpoint.h +120 -0
  1086. data/src/core/lib/event_engine/windows/windows_engine.cc +411 -0
  1087. data/src/core/lib/event_engine/windows/windows_engine.h +164 -0
  1088. data/src/core/lib/event_engine/windows/windows_listener.cc +370 -0
  1089. data/src/core/lib/event_engine/windows/windows_listener.h +156 -0
  1090. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +63 -0
  1091. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +71 -0
  1092. data/src/core/lib/event_engine/work_queue/work_queue.h +62 -0
  1093. data/src/core/lib/experiments/config.cc +185 -0
  1094. data/src/core/lib/experiments/config.h +69 -0
  1095. data/src/core/lib/experiments/experiments.cc +138 -0
  1096. data/src/core/lib/experiments/experiments.h +134 -0
  1097. data/src/core/lib/gpr/alloc.cc +19 -25
  1098. data/src/core/lib/gpr/alloc.h +20 -20
  1099. data/src/core/lib/gpr/{log_android.cc → android/log.cc} +22 -20
  1100. data/src/core/lib/gpr/atm.cc +17 -17
  1101. data/src/core/lib/gpr/iphone/cpu.cc +44 -0
  1102. data/src/core/lib/gpr/{cpu_linux.cc → linux/cpu.cc} +28 -23
  1103. data/src/core/lib/gpr/{log_linux.cc → linux/log.cc} +24 -24
  1104. data/src/core/lib/gpr/log.cc +42 -47
  1105. data/src/core/lib/gpr/log_internal.h +55 -0
  1106. data/src/core/lib/gpr/{tmpfile_msys.cc → msys/tmpfile.cc} +21 -20
  1107. data/src/core/lib/gpr/{cpu_posix.cc → posix/cpu.cc} +23 -22
  1108. data/src/core/lib/gpr/{log_posix.cc → posix/log.cc} +20 -19
  1109. data/src/core/lib/gpr/{string_posix.cc → posix/string.cc} +24 -24
  1110. data/src/core/lib/gpr/{sync_posix.cc → posix/sync.cc} +22 -34
  1111. data/src/core/lib/gpr/{time_posix.cc → posix/time.cc} +40 -36
  1112. data/src/core/lib/gpr/{tmpfile_posix.cc → posix/tmpfile.cc} +22 -20
  1113. data/src/core/lib/gpr/spinlock.h +20 -20
  1114. data/src/core/lib/gpr/string.cc +25 -24
  1115. data/src/core/lib/gpr/string.h +61 -61
  1116. data/src/core/lib/gpr/sync.cc +25 -25
  1117. data/src/core/lib/gpr/sync_abseil.cc +36 -40
  1118. data/src/core/lib/gpr/time.cc +34 -30
  1119. data/src/core/lib/gpr/time_precise.cc +22 -22
  1120. data/src/core/lib/gpr/time_precise.h +21 -22
  1121. data/src/core/lib/gpr/tmpfile.h +24 -24
  1122. data/src/core/lib/gpr/useful.h +83 -30
  1123. data/src/core/{ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc → lib/gpr/windows/cpu.cc} +16 -11
  1124. data/src/core/lib/gpr/{log_windows.cc → windows/log.cc} +25 -25
  1125. data/src/core/lib/gpr/windows/string.cc +69 -0
  1126. data/src/core/lib/gpr/windows/string_util.cc +55 -0
  1127. data/src/core/lib/gpr/{sync_windows.cc → windows/sync.cc} +29 -27
  1128. data/src/core/lib/gpr/{time_windows.cc → windows/time.cc} +25 -22
  1129. data/src/core/lib/gpr/windows/tmpfile.cc +68 -0
  1130. data/src/core/lib/gpr/wrap_memcpy.cc +23 -23
  1131. data/src/core/lib/gprpp/atomic_utils.h +20 -20
  1132. data/src/core/lib/gprpp/bitset.h +30 -16
  1133. data/src/core/lib/gprpp/chunked_vector.h +3 -3
  1134. data/src/core/lib/gprpp/construct_destruct.h +3 -3
  1135. data/src/core/lib/gprpp/cpp_impl_of.h +3 -3
  1136. data/src/core/lib/gprpp/crash.cc +43 -0
  1137. data/src/core/lib/gprpp/crash.h +37 -0
  1138. data/src/core/lib/gprpp/debug_location.h +60 -31
  1139. data/src/core/lib/gprpp/dual_ref_counted.h +3 -3
  1140. data/src/core/lib/gprpp/env.h +53 -0
  1141. data/src/core/lib/gprpp/examine_stack.cc +17 -17
  1142. data/src/core/lib/gprpp/examine_stack.h +21 -21
  1143. data/src/core/lib/gprpp/fork.cc +63 -61
  1144. data/src/core/lib/gprpp/fork.h +29 -35
  1145. data/src/core/lib/gprpp/host_port.cc +28 -26
  1146. data/src/core/lib/gprpp/host_port.h +32 -31
  1147. data/src/core/lib/gprpp/linux/env.cc +80 -0
  1148. data/src/core/lib/gprpp/load_file.cc +75 -0
  1149. data/src/core/lib/gprpp/load_file.h +33 -0
  1150. data/src/core/lib/gprpp/manual_constructor.h +21 -21
  1151. data/src/core/lib/gprpp/match.h +3 -3
  1152. data/src/core/lib/gprpp/memory.h +21 -21
  1153. data/src/core/lib/gprpp/mpscq.cc +17 -17
  1154. data/src/core/lib/gprpp/mpscq.h +21 -21
  1155. data/src/core/lib/gprpp/no_destruct.h +95 -0
  1156. data/src/core/lib/gprpp/notification.h +67 -0
  1157. data/src/core/lib/gprpp/orphanable.h +25 -24
  1158. data/src/core/lib/gprpp/overload.h +3 -3
  1159. data/src/core/lib/gprpp/packed_table.h +40 -0
  1160. data/src/core/lib/gprpp/per_cpu.cc +33 -0
  1161. data/src/core/lib/gprpp/per_cpu.h +75 -0
  1162. data/src/core/lib/gprpp/posix/env.cc +47 -0
  1163. data/src/core/lib/gprpp/{stat_posix.cc → posix/stat.cc} +5 -4
  1164. data/src/core/lib/gprpp/{thd_posix.cc → posix/thd.cc} +75 -64
  1165. data/src/core/lib/gprpp/ref_counted.h +54 -55
  1166. data/src/core/lib/gprpp/ref_counted_ptr.h +41 -54
  1167. data/src/core/lib/gprpp/single_set_ptr.h +3 -3
  1168. data/src/core/lib/gprpp/sorted_pack.h +98 -0
  1169. data/src/core/lib/gprpp/stat.h +3 -3
  1170. data/src/core/lib/gprpp/status_helper.cc +6 -4
  1171. data/src/core/lib/gprpp/status_helper.h +9 -5
  1172. data/src/core/lib/gprpp/strerror.cc +43 -0
  1173. data/src/core/lib/gprpp/strerror.h +29 -0
  1174. data/src/core/lib/gprpp/sync.h +23 -23
  1175. data/src/core/lib/gprpp/table.h +12 -4
  1176. data/src/core/lib/gprpp/tchar.cc +49 -0
  1177. data/src/core/lib/gprpp/tchar.h +33 -0
  1178. data/src/core/lib/gprpp/thd.h +39 -23
  1179. data/src/core/lib/gprpp/time.cc +37 -8
  1180. data/src/core/lib/gprpp/time.h +69 -4
  1181. data/src/core/lib/{event_engine/iomgr_engine → gprpp}/time_averaged_stats.cc +23 -25
  1182. data/src/core/lib/gprpp/time_averaged_stats.h +79 -0
  1183. data/src/core/lib/gprpp/time_util.h +4 -4
  1184. data/src/core/lib/gprpp/unique_type_name.h +21 -21
  1185. data/src/core/lib/gprpp/validation_errors.cc +66 -0
  1186. data/src/core/lib/gprpp/validation_errors.h +134 -0
  1187. data/src/core/lib/gprpp/windows/env.cc +56 -0
  1188. data/src/core/lib/gprpp/{stat_windows.cc → windows/stat.cc} +4 -2
  1189. data/src/core/lib/gprpp/{thd_windows.cc → windows/thd.cc} +28 -28
  1190. data/src/core/lib/{iomgr → gprpp}/work_serializer.cc +34 -18
  1191. data/src/core/lib/{iomgr → gprpp}/work_serializer.h +21 -27
  1192. data/src/core/lib/handshaker/proxy_mapper.h +53 -0
  1193. data/src/core/lib/handshaker/proxy_mapper_registry.cc +71 -0
  1194. data/src/core/lib/handshaker/proxy_mapper_registry.h +75 -0
  1195. data/src/core/lib/http/format_request.cc +19 -18
  1196. data/src/core/lib/http/format_request.h +20 -20
  1197. data/src/core/lib/http/httpcli.cc +69 -84
  1198. data/src/core/lib/http/httpcli.h +29 -29
  1199. data/src/core/lib/http/httpcli_security_connector.cc +33 -36
  1200. data/src/core/lib/http/httpcli_ssl_credentials.h +3 -3
  1201. data/src/core/lib/http/parser.cc +76 -87
  1202. data/src/core/lib/http/parser.h +35 -35
  1203. data/src/core/lib/iomgr/block_annotate.h +23 -23
  1204. data/src/core/lib/iomgr/buffer_list.cc +156 -136
  1205. data/src/core/lib/iomgr/buffer_list.h +122 -101
  1206. data/src/core/lib/iomgr/call_combiner.cc +32 -64
  1207. data/src/core/lib/iomgr/call_combiner.h +26 -27
  1208. data/src/core/lib/iomgr/cfstream_handle.cc +34 -37
  1209. data/src/core/lib/iomgr/cfstream_handle.h +25 -25
  1210. data/src/core/lib/iomgr/closure.cc +27 -0
  1211. data/src/core/lib/iomgr/closure.h +95 -58
  1212. data/src/core/lib/iomgr/combiner.cc +20 -39
  1213. data/src/core/lib/iomgr/combiner.h +20 -20
  1214. data/src/core/lib/iomgr/dualstack_socket_posix.cc +21 -21
  1215. data/src/core/lib/iomgr/dynamic_annotations.h +22 -22
  1216. data/src/core/lib/iomgr/endpoint.cc +17 -17
  1217. data/src/core/lib/iomgr/endpoint.h +49 -49
  1218. data/src/core/lib/iomgr/endpoint_cfstream.cc +58 -53
  1219. data/src/core/lib/iomgr/endpoint_cfstream.h +32 -32
  1220. data/src/core/lib/iomgr/endpoint_pair.h +22 -22
  1221. data/src/core/lib/iomgr/endpoint_pair_posix.cc +36 -30
  1222. data/src/core/lib/iomgr/endpoint_pair_windows.cc +31 -22
  1223. data/src/core/lib/iomgr/error.cc +49 -834
  1224. data/src/core/lib/iomgr/error.h +45 -321
  1225. data/src/core/lib/iomgr/error_cfstream.cc +18 -23
  1226. data/src/core/lib/iomgr/error_cfstream.h +21 -21
  1227. data/src/core/lib/iomgr/ev_apple.cc +33 -33
  1228. data/src/core/lib/iomgr/ev_apple.h +21 -21
  1229. data/src/core/lib/iomgr/ev_epoll1_linux.cc +219 -236
  1230. data/src/core/lib/iomgr/ev_epoll1_linux.h +20 -20
  1231. data/src/core/lib/iomgr/ev_poll_posix.cc +231 -231
  1232. data/src/core/lib/iomgr/ev_poll_posix.h +20 -20
  1233. data/src/core/lib/iomgr/ev_posix.cc +47 -79
  1234. data/src/core/lib/iomgr/ev_posix.h +88 -87
  1235. data/src/core/lib/iomgr/ev_windows.cc +18 -18
  1236. data/src/core/lib/iomgr/event_engine_shims/closure.cc +62 -0
  1237. data/src/core/lib/iomgr/event_engine_shims/closure.h +39 -0
  1238. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +471 -0
  1239. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +43 -0
  1240. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +91 -0
  1241. data/src/core/lib/iomgr/event_engine_shims/tcp_client.h +44 -0
  1242. data/src/core/lib/iomgr/exec_ctx.cc +34 -56
  1243. data/src/core/lib/iomgr/exec_ctx.h +151 -175
  1244. data/src/core/lib/iomgr/executor.cc +21 -31
  1245. data/src/core/lib/iomgr/executor.h +27 -30
  1246. data/src/core/lib/iomgr/fork_posix.cc +29 -26
  1247. data/src/core/lib/iomgr/fork_windows.cc +21 -21
  1248. data/src/core/lib/iomgr/gethostname.h +20 -20
  1249. data/src/core/lib/iomgr/gethostname_fallback.cc +17 -17
  1250. data/src/core/lib/iomgr/gethostname_host_name_max.cc +17 -17
  1251. data/src/core/lib/iomgr/gethostname_sysconf.cc +17 -17
  1252. data/src/core/lib/iomgr/grpc_if_nametoindex.h +22 -22
  1253. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +20 -19
  1254. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +20 -19
  1255. data/src/core/lib/iomgr/internal_errqueue.cc +4 -2
  1256. data/src/core/lib/iomgr/internal_errqueue.h +83 -83
  1257. data/src/core/lib/iomgr/iocp_windows.cc +47 -26
  1258. data/src/core/lib/iomgr/iocp_windows.h +32 -21
  1259. data/src/core/lib/iomgr/iomgr.cc +29 -34
  1260. data/src/core/lib/iomgr/iomgr.h +35 -35
  1261. data/src/core/lib/iomgr/iomgr_fwd.h +4 -3
  1262. data/src/core/lib/iomgr/iomgr_internal.cc +17 -17
  1263. data/src/core/lib/iomgr/iomgr_internal.h +28 -28
  1264. data/src/core/lib/iomgr/iomgr_posix.cc +20 -20
  1265. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +21 -20
  1266. data/src/core/lib/iomgr/iomgr_windows.cc +32 -24
  1267. data/src/core/lib/iomgr/load_file.cc +24 -27
  1268. data/src/core/lib/iomgr/load_file.h +22 -22
  1269. data/src/core/lib/iomgr/lockfree_event.cc +114 -131
  1270. data/src/core/lib/iomgr/lockfree_event.h +23 -23
  1271. data/src/core/lib/iomgr/nameser.h +86 -86
  1272. data/src/core/lib/iomgr/polling_entity.cc +25 -21
  1273. data/src/core/lib/iomgr/polling_entity.h +29 -29
  1274. data/src/core/lib/iomgr/pollset.cc +17 -17
  1275. data/src/core/lib/iomgr/pollset.h +55 -55
  1276. data/src/core/lib/iomgr/pollset_set.cc +17 -17
  1277. data/src/core/lib/iomgr/pollset_set.h +25 -26
  1278. data/src/core/lib/iomgr/pollset_set_windows.cc +27 -27
  1279. data/src/core/lib/iomgr/pollset_set_windows.h +20 -20
  1280. data/src/core/lib/iomgr/pollset_windows.cc +33 -32
  1281. data/src/core/lib/iomgr/pollset_windows.h +24 -24
  1282. data/src/core/lib/iomgr/port.h +34 -31
  1283. data/src/core/lib/iomgr/python_util.h +24 -24
  1284. data/src/core/lib/iomgr/resolve_address.cc +26 -20
  1285. data/src/core/lib/iomgr/resolve_address.h +54 -31
  1286. data/src/core/lib/iomgr/resolve_address_impl.h +5 -4
  1287. data/src/core/lib/iomgr/resolve_address_posix.cc +74 -49
  1288. data/src/core/lib/iomgr/resolve_address_posix.h +23 -10
  1289. data/src/core/lib/iomgr/resolve_address_windows.cc +59 -26
  1290. data/src/core/lib/iomgr/resolve_address_windows.h +23 -10
  1291. data/src/core/lib/iomgr/resolved_address.h +3 -3
  1292. data/src/core/lib/iomgr/sockaddr.h +23 -23
  1293. data/src/core/lib/iomgr/sockaddr_posix.h +21 -21
  1294. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +20 -18
  1295. data/src/core/lib/iomgr/sockaddr_windows.h +21 -21
  1296. data/src/core/lib/iomgr/socket_factory_posix.cc +18 -18
  1297. data/src/core/lib/iomgr/socket_factory_posix.h +32 -32
  1298. data/src/core/lib/iomgr/socket_mutator.cc +19 -18
  1299. data/src/core/lib/iomgr/socket_mutator.h +39 -39
  1300. data/src/core/lib/iomgr/socket_utils.h +27 -27
  1301. data/src/core/lib/iomgr/socket_utils_common_posix.cc +99 -104
  1302. data/src/core/lib/iomgr/socket_utils_linux.cc +18 -17
  1303. data/src/core/lib/iomgr/socket_utils_posix.cc +106 -19
  1304. data/src/core/lib/iomgr/socket_utils_posix.h +179 -84
  1305. data/src/core/lib/iomgr/socket_utils_windows.cc +20 -19
  1306. data/src/core/lib/iomgr/socket_windows.cc +97 -42
  1307. data/src/core/lib/iomgr/socket_windows.h +68 -63
  1308. data/src/core/lib/iomgr/systemd_utils.cc +116 -0
  1309. data/src/core/lib/iomgr/systemd_utils.h +33 -0
  1310. data/src/core/lib/iomgr/tcp_client.cc +23 -24
  1311. data/src/core/lib/iomgr/tcp_client.h +39 -39
  1312. data/src/core/lib/iomgr/tcp_client_cfstream.cc +43 -35
  1313. data/src/core/lib/iomgr/tcp_client_posix.cc +117 -100
  1314. data/src/core/lib/iomgr/tcp_client_posix.h +54 -51
  1315. data/src/core/lib/iomgr/tcp_client_windows.cc +57 -48
  1316. data/src/core/lib/iomgr/tcp_posix.cc +448 -350
  1317. data/src/core/lib/iomgr/tcp_posix.h +32 -30
  1318. data/src/core/lib/iomgr/tcp_server.cc +33 -24
  1319. data/src/core/lib/iomgr/tcp_server.h +78 -69
  1320. data/src/core/lib/iomgr/tcp_server_posix.cc +390 -126
  1321. data/src/core/lib/iomgr/tcp_server_utils_posix.h +68 -55
  1322. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +93 -58
  1323. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +40 -40
  1324. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +19 -19
  1325. data/src/core/lib/iomgr/tcp_server_windows.cc +280 -123
  1326. data/src/core/lib/iomgr/tcp_windows.cc +121 -102
  1327. data/src/core/lib/iomgr/tcp_windows.h +34 -35
  1328. data/src/core/lib/iomgr/timer.cc +17 -17
  1329. data/src/core/lib/iomgr/timer.h +68 -68
  1330. data/src/core/lib/iomgr/timer_generic.cc +142 -150
  1331. data/src/core/lib/iomgr/timer_generic.h +21 -21
  1332. data/src/core/lib/iomgr/timer_heap.cc +25 -25
  1333. data/src/core/lib/iomgr/timer_heap.h +22 -22
  1334. data/src/core/lib/iomgr/timer_manager.cc +31 -31
  1335. data/src/core/lib/iomgr/timer_manager.h +27 -27
  1336. data/src/core/lib/iomgr/unix_sockets_posix.cc +20 -21
  1337. data/src/core/lib/iomgr/unix_sockets_posix.h +21 -21
  1338. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +19 -17
  1339. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +23 -23
  1340. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +23 -23
  1341. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +29 -26
  1342. data/src/core/lib/iomgr/wakeup_fd_pipe.h +20 -20
  1343. data/src/core/lib/iomgr/wakeup_fd_posix.cc +18 -18
  1344. data/src/core/lib/iomgr/wakeup_fd_posix.h +52 -52
  1345. data/src/core/lib/json/json.h +21 -240
  1346. data/src/core/{ext/filters/http/message_compress/message_decompress_filter.h → lib/json/json_args.h} +13 -11
  1347. data/src/core/lib/json/json_channel_args.h +42 -0
  1348. data/src/core/lib/json/json_object_loader.cc +216 -0
  1349. data/src/core/lib/json/json_object_loader.h +646 -0
  1350. data/src/core/lib/json/json_reader.cc +181 -129
  1351. data/src/core/lib/json/json_reader.h +34 -0
  1352. data/src/core/lib/json/json_util.cc +23 -55
  1353. data/src/core/lib/json/json_util.h +12 -11
  1354. data/src/core/lib/json/json_writer.cc +80 -81
  1355. data/src/core/{ext/xds/xds_resource_type.cc → lib/json/json_writer.h} +11 -11
  1356. data/src/core/lib/load_balancing/lb_policy.cc +98 -0
  1357. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.h +49 -36
  1358. data/src/core/lib/load_balancing/lb_policy_factory.h +49 -0
  1359. data/src/core/lib/load_balancing/lb_policy_registry.cc +143 -0
  1360. data/src/core/lib/load_balancing/lb_policy_registry.h +82 -0
  1361. data/src/core/{ext/filters/client_channel → lib/load_balancing}/subchannel_interface.h +9 -14
  1362. data/src/core/lib/matchers/matchers.cc +10 -9
  1363. data/src/core/lib/matchers/matchers.h +5 -4
  1364. data/src/core/lib/promise/activity.cc +43 -6
  1365. data/src/core/lib/promise/activity.h +159 -48
  1366. data/src/core/lib/promise/arena_promise.h +105 -72
  1367. data/src/core/lib/promise/cancel_callback.h +77 -0
  1368. data/src/core/lib/promise/context.h +17 -10
  1369. data/src/core/lib/promise/detail/basic_join.h +197 -0
  1370. data/src/core/lib/promise/detail/basic_seq.h +28 -33
  1371. data/src/core/lib/promise/detail/promise_factory.h +66 -14
  1372. data/src/core/lib/promise/detail/promise_like.h +3 -3
  1373. data/src/core/lib/promise/detail/status.h +31 -3
  1374. data/src/core/lib/promise/detail/switch.h +21 -21
  1375. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +23 -15
  1376. data/src/core/lib/promise/for_each.h +176 -0
  1377. data/src/core/lib/promise/if.h +204 -0
  1378. data/src/core/lib/promise/interceptor_list.h +329 -0
  1379. data/src/core/lib/promise/latch.h +197 -23
  1380. data/src/core/lib/promise/loop.h +22 -16
  1381. data/src/core/lib/promise/map.h +11 -6
  1382. data/src/core/lib/promise/party.cc +304 -0
  1383. data/src/core/lib/promise/party.h +508 -0
  1384. data/src/core/lib/promise/pipe.h +762 -0
  1385. data/src/core/lib/promise/poll.h +177 -11
  1386. data/src/core/lib/promise/prioritized_race.h +95 -0
  1387. data/src/core/lib/promise/promise.h +6 -7
  1388. data/src/core/lib/promise/race.h +6 -9
  1389. data/src/core/lib/promise/seq.h +32 -12
  1390. data/src/core/lib/promise/sleep.cc +53 -43
  1391. data/src/core/lib/promise/sleep.h +34 -26
  1392. data/src/core/lib/promise/trace.cc +20 -0
  1393. data/src/core/lib/promise/trace.h +24 -0
  1394. data/src/core/lib/promise/try_join.h +82 -0
  1395. data/src/core/lib/promise/try_seq.h +39 -21
  1396. data/src/core/lib/resolver/resolver.cc +17 -64
  1397. data/src/core/lib/resolver/resolver.h +18 -18
  1398. data/src/core/lib/resolver/resolver_factory.h +6 -7
  1399. data/src/core/lib/resolver/resolver_registry.cc +16 -1
  1400. data/src/core/lib/resolver/resolver_registry.h +5 -6
  1401. data/src/core/lib/resolver/server_address.cc +29 -39
  1402. data/src/core/lib/resolver/server_address.h +25 -37
  1403. data/src/core/lib/resource_quota/api.cc +10 -2
  1404. data/src/core/lib/resource_quota/api.h +10 -4
  1405. data/src/core/lib/resource_quota/arena.cc +101 -21
  1406. data/src/core/lib/resource_quota/arena.h +310 -23
  1407. data/src/core/lib/resource_quota/memory_quota.cc +280 -59
  1408. data/src/core/lib/resource_quota/memory_quota.h +165 -36
  1409. data/src/core/lib/resource_quota/periodic_update.cc +78 -0
  1410. data/src/core/lib/resource_quota/periodic_update.h +71 -0
  1411. data/src/core/lib/resource_quota/resource_quota.h +4 -4
  1412. data/src/core/lib/resource_quota/thread_quota.h +3 -3
  1413. data/src/core/lib/resource_quota/trace.h +3 -3
  1414. data/src/core/lib/security/authorization/audit_logging.cc +98 -0
  1415. data/src/core/lib/security/authorization/audit_logging.h +73 -0
  1416. data/src/core/lib/security/authorization/authorization_engine.h +3 -3
  1417. data/src/core/lib/security/authorization/authorization_policy_provider.h +4 -4
  1418. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +0 -1
  1419. data/src/core/lib/security/authorization/evaluate_args.cc +10 -7
  1420. data/src/core/lib/security/authorization/evaluate_args.h +3 -3
  1421. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +47 -4
  1422. data/src/core/lib/security/authorization/grpc_authorization_engine.h +21 -4
  1423. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +5 -4
  1424. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +4 -4
  1425. data/src/core/lib/security/authorization/matchers.cc +38 -32
  1426. data/src/core/lib/security/authorization/matchers.h +3 -3
  1427. data/src/core/lib/security/authorization/rbac_policy.cc +39 -8
  1428. data/src/core/lib/security/authorization/rbac_policy.h +22 -5
  1429. data/src/core/lib/security/authorization/stdout_logger.cc +75 -0
  1430. data/src/core/lib/security/authorization/stdout_logger.h +61 -0
  1431. data/src/core/{ext/xds → lib/security/certificate_provider}/certificate_provider_factory.h +11 -7
  1432. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +50 -0
  1433. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +76 -0
  1434. data/src/core/lib/security/context/security_context.cc +22 -23
  1435. data/src/core/lib/security/context/security_context.h +43 -33
  1436. data/src/core/lib/security/credentials/alts/alts_credentials.cc +19 -20
  1437. data/src/core/lib/security/credentials/alts/alts_credentials.h +56 -57
  1438. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +19 -19
  1439. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +43 -43
  1440. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +17 -17
  1441. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +18 -17
  1442. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +18 -17
  1443. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +19 -19
  1444. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +18 -18
  1445. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +38 -39
  1446. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +18 -18
  1447. data/src/core/lib/security/credentials/call_creds_util.h +3 -3
  1448. data/src/core/lib/security/credentials/channel_creds_registry.h +3 -3
  1449. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +4 -4
  1450. data/src/core/lib/security/credentials/composite/composite_credentials.cc +25 -29
  1451. data/src/core/lib/security/credentials/composite/composite_credentials.h +25 -28
  1452. data/src/core/lib/security/credentials/credentials.cc +19 -18
  1453. data/src/core/lib/security/credentials/credentials.h +53 -48
  1454. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +131 -120
  1455. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +4 -3
  1456. data/src/core/lib/security/credentials/external/aws_request_signer.cc +5 -3
  1457. data/src/core/lib/security/credentials/external/aws_request_signer.h +3 -3
  1458. data/src/core/lib/security/credentials/external/external_account_credentials.cc +121 -121
  1459. data/src/core/lib/security/credentials/external/external_account_credentials.h +3 -3
  1460. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +40 -43
  1461. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +3 -3
  1462. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +51 -54
  1463. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +3 -3
  1464. data/src/core/lib/security/credentials/fake/fake_credentials.cc +23 -31
  1465. data/src/core/lib/security/credentials/fake/fake_credentials.h +37 -42
  1466. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +22 -25
  1467. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +105 -156
  1468. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +22 -25
  1469. data/src/core/lib/security/credentials/iam/iam_credentials.cc +19 -18
  1470. data/src/core/lib/security/credentials/iam/iam_credentials.h +20 -20
  1471. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +3 -3
  1472. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +6 -7
  1473. data/src/core/lib/security/credentials/jwt/json_token.cc +54 -43
  1474. data/src/core/lib/security/credentials/jwt/json_token.h +35 -35
  1475. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +27 -26
  1476. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +22 -22
  1477. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +125 -124
  1478. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +47 -47
  1479. data/src/core/lib/security/credentials/local/local_credentials.cc +20 -21
  1480. data/src/core/lib/security/credentials/local/local_credentials.h +26 -27
  1481. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +89 -91
  1482. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +24 -23
  1483. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +24 -24
  1484. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +25 -25
  1485. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +31 -40
  1486. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +23 -24
  1487. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +20 -28
  1488. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +7 -14
  1489. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +48 -47
  1490. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +15 -5
  1491. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +1 -1
  1492. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +3 -3
  1493. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +18 -18
  1494. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +3 -3
  1495. data/src/core/lib/security/credentials/tls/tls_credentials.cc +30 -43
  1496. data/src/core/lib/security/credentials/tls/tls_credentials.h +24 -25
  1497. data/src/core/lib/security/credentials/tls/tls_utils.cc +3 -1
  1498. data/src/core/lib/security/credentials/tls/tls_utils.h +3 -3
  1499. data/src/core/lib/security/credentials/xds/xds_credentials.cc +13 -31
  1500. data/src/core/lib/security/credentials/xds/xds_credentials.h +6 -6
  1501. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +43 -61
  1502. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +43 -44
  1503. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +58 -78
  1504. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +24 -25
  1505. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +7 -7
  1506. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +11 -15
  1507. data/src/core/lib/security/security_connector/load_system_roots.h +20 -20
  1508. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +18 -18
  1509. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +24 -31
  1510. data/src/core/lib/security/security_connector/load_system_roots_supported.h +22 -23
  1511. data/src/core/lib/security/security_connector/local/local_security_connector.cc +43 -45
  1512. data/src/core/lib/security/security_connector/local/local_security_connector.h +44 -45
  1513. data/src/core/lib/security/security_connector/security_connector.cc +17 -17
  1514. data/src/core/lib/security/security_connector/security_connector.h +40 -39
  1515. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +40 -43
  1516. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +40 -41
  1517. data/src/core/lib/security/security_connector/ssl_utils.cc +48 -64
  1518. data/src/core/lib/security/security_connector/ssl_utils.h +35 -35
  1519. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +59 -53
  1520. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +26 -26
  1521. data/src/core/lib/security/transport/auth_filters.h +46 -24
  1522. data/src/core/lib/security/transport/client_auth_filter.cc +36 -26
  1523. data/src/core/lib/security/transport/secure_endpoint.cc +58 -62
  1524. data/src/core/lib/security/transport/secure_endpoint.h +25 -25
  1525. data/src/core/lib/security/transport/security_handshaker.cc +111 -114
  1526. data/src/core/lib/security/transport/security_handshaker.h +24 -23
  1527. data/src/core/lib/security/transport/server_auth_filter.cc +160 -274
  1528. data/src/core/lib/security/transport/tsi_error.cc +23 -20
  1529. data/src/core/lib/security/transport/tsi_error.h +20 -20
  1530. data/src/core/lib/security/util/json_util.cc +27 -27
  1531. data/src/core/lib/security/util/json_util.h +20 -20
  1532. data/src/core/lib/service_config/service_config.h +15 -4
  1533. data/src/core/lib/service_config/service_config_call_data.h +54 -19
  1534. data/src/core/lib/service_config/service_config_impl.cc +113 -152
  1535. data/src/core/lib/service_config/service_config_impl.h +19 -24
  1536. data/src/core/lib/service_config/service_config_parser.cc +10 -28
  1537. data/src/core/lib/service_config/service_config_parser.h +13 -21
  1538. data/src/core/lib/slice/b64.cc +26 -26
  1539. data/src/core/lib/slice/b64.h +32 -32
  1540. data/src/core/lib/slice/percent_encoding.cc +21 -30
  1541. data/src/core/lib/slice/percent_encoding.h +28 -28
  1542. data/src/core/lib/slice/slice.cc +58 -46
  1543. data/src/core/lib/slice/slice.h +59 -18
  1544. data/src/core/lib/slice/slice_buffer.cc +63 -59
  1545. data/src/core/lib/slice/slice_buffer.h +35 -4
  1546. data/src/core/lib/slice/slice_internal.h +34 -42
  1547. data/src/core/lib/slice/slice_refcount.cc +3 -18
  1548. data/src/core/lib/slice/slice_refcount.h +53 -18
  1549. data/src/core/lib/slice/slice_string_helpers.cc +17 -17
  1550. data/src/core/lib/slice/slice_string_helpers.h +21 -21
  1551. data/src/core/lib/surface/api_trace.cc +17 -17
  1552. data/src/core/lib/surface/api_trace.h +25 -25
  1553. data/src/core/lib/surface/builtins.cc +2 -0
  1554. data/src/core/lib/surface/builtins.h +3 -3
  1555. data/src/core/lib/surface/byte_buffer.cc +22 -23
  1556. data/src/core/lib/surface/byte_buffer_reader.cc +23 -23
  1557. data/src/core/lib/surface/call.cc +2305 -547
  1558. data/src/core/lib/surface/call.h +123 -42
  1559. data/src/core/lib/surface/call_details.cc +20 -21
  1560. data/src/core/lib/surface/call_log_batch.cc +19 -18
  1561. data/src/core/lib/surface/call_test_only.h +33 -33
  1562. data/src/core/lib/surface/call_trace.cc +123 -0
  1563. data/src/core/lib/surface/call_trace.h +30 -0
  1564. data/src/core/lib/surface/channel.cc +65 -69
  1565. data/src/core/lib/surface/channel.h +43 -35
  1566. data/src/core/lib/surface/channel_init.cc +17 -17
  1567. data/src/core/lib/surface/channel_init.h +20 -20
  1568. data/src/core/lib/surface/channel_ping.cc +19 -19
  1569. data/src/core/lib/surface/channel_stack_type.cc +21 -17
  1570. data/src/core/lib/surface/channel_stack_type.h +22 -20
  1571. data/src/core/lib/surface/completion_queue.cc +195 -221
  1572. data/src/core/lib/surface/completion_queue.h +37 -40
  1573. data/src/core/lib/surface/completion_queue_factory.cc +33 -28
  1574. data/src/core/lib/surface/completion_queue_factory.h +22 -22
  1575. data/src/core/lib/surface/event_string.cc +18 -17
  1576. data/src/core/lib/surface/event_string.h +22 -22
  1577. data/src/core/lib/surface/init.cc +44 -72
  1578. data/src/core/lib/surface/init.h +20 -20
  1579. data/src/core/lib/surface/init_internally.cc +25 -0
  1580. data/src/core/lib/surface/init_internally.h +37 -0
  1581. data/src/core/lib/surface/lame_client.cc +33 -29
  1582. data/src/core/lib/surface/lame_client.h +22 -22
  1583. data/src/core/lib/surface/metadata_array.cc +17 -18
  1584. data/src/core/lib/surface/server.cc +371 -130
  1585. data/src/core/lib/surface/server.h +20 -21
  1586. data/src/core/lib/surface/validate_metadata.cc +64 -74
  1587. data/src/core/lib/surface/validate_metadata.h +30 -21
  1588. data/src/core/lib/surface/version.cc +21 -21
  1589. data/src/core/lib/transport/batch_builder.cc +182 -0
  1590. data/src/core/lib/transport/batch_builder.h +480 -0
  1591. data/src/core/lib/transport/bdp_estimator.cc +25 -27
  1592. data/src/core/lib/transport/bdp_estimator.h +31 -28
  1593. data/src/core/lib/transport/connectivity_state.cc +19 -20
  1594. data/src/core/lib/transport/connectivity_state.h +23 -23
  1595. data/src/core/lib/transport/custom_metadata.h +30 -0
  1596. data/src/core/lib/transport/error_utils.cc +51 -81
  1597. data/src/core/lib/transport/error_utils.h +24 -24
  1598. data/src/core/lib/transport/handshaker.cc +66 -54
  1599. data/src/core/lib/transport/handshaker.h +51 -47
  1600. data/src/core/lib/transport/handshaker_factory.h +49 -24
  1601. data/src/core/lib/transport/handshaker_registry.cc +27 -20
  1602. data/src/core/lib/transport/handshaker_registry.h +25 -28
  1603. data/src/core/lib/transport/http2_errors.h +22 -22
  1604. data/src/core/lib/transport/http_connect_handshaker.cc +56 -57
  1605. data/src/core/lib/transport/http_connect_handshaker.h +21 -21
  1606. data/src/core/lib/transport/metadata_batch.cc +31 -10
  1607. data/src/core/lib/transport/metadata_batch.h +252 -65
  1608. data/src/core/lib/transport/metadata_compression_traits.h +67 -0
  1609. data/src/core/lib/transport/parsed_metadata.cc +2 -6
  1610. data/src/core/lib/transport/parsed_metadata.h +23 -11
  1611. data/src/core/lib/transport/pid_controller.cc +20 -20
  1612. data/src/core/lib/transport/pid_controller.h +27 -27
  1613. data/src/core/lib/transport/simple_slice_based_metadata.h +48 -0
  1614. data/src/core/lib/transport/status_conversion.cc +23 -25
  1615. data/src/core/lib/transport/status_conversion.h +22 -22
  1616. data/src/core/lib/transport/tcp_connect_handshaker.cc +34 -42
  1617. data/src/core/lib/transport/tcp_connect_handshaker.h +3 -3
  1618. data/src/core/lib/transport/timeout_encoding.cc +28 -23
  1619. data/src/core/lib/transport/timeout_encoding.h +20 -20
  1620. data/src/core/lib/transport/transport.cc +113 -43
  1621. data/src/core/lib/transport/transport.h +275 -218
  1622. data/src/core/lib/transport/transport_fwd.h +3 -3
  1623. data/src/core/lib/transport/transport_impl.h +53 -47
  1624. data/src/core/lib/transport/transport_op_string.cc +75 -63
  1625. data/src/core/lib/uri/uri_parser.cc +1 -1
  1626. data/src/core/lib/uri/uri_parser.h +3 -3
  1627. data/src/core/plugin_registry/grpc_plugin_registry.cc +55 -79
  1628. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +22 -39
  1629. data/src/core/tsi/alts/crypt/aes_gcm.cc +20 -20
  1630. data/src/core/tsi/alts/crypt/gsec.cc +26 -26
  1631. data/src/core/tsi/alts/crypt/gsec.h +336 -336
  1632. data/src/core/tsi/alts/frame_protector/alts_counter.cc +23 -23
  1633. data/src/core/tsi/alts/frame_protector/alts_counter.h +68 -68
  1634. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +19 -19
  1635. data/src/core/tsi/alts/frame_protector/alts_crypter.h +209 -209
  1636. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +73 -71
  1637. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +40 -40
  1638. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +18 -18
  1639. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +82 -83
  1640. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +22 -22
  1641. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +22 -22
  1642. data/src/core/tsi/alts/frame_protector/frame_handler.cc +26 -25
  1643. data/src/core/tsi/alts/frame_protector/frame_handler.h +169 -169
  1644. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +137 -100
  1645. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +109 -104
  1646. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +18 -17
  1647. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +43 -44
  1648. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +52 -44
  1649. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +60 -60
  1650. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +24 -24
  1651. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +21 -20
  1652. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +38 -38
  1653. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +19 -19
  1654. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +105 -104
  1655. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +45 -44
  1656. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +40 -41
  1657. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +38 -36
  1658. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +35 -36
  1659. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +67 -68
  1660. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +32 -31
  1661. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +55 -56
  1662. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +54 -53
  1663. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +141 -142
  1664. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +58 -57
  1665. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +43 -44
  1666. data/src/core/tsi/fake_transport_security.cc +133 -109
  1667. data/src/core/tsi/fake_transport_security.h +33 -33
  1668. data/src/core/tsi/local_transport_security.cc +43 -38
  1669. data/src/core/tsi/local_transport_security.h +33 -33
  1670. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +9 -4
  1671. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +3 -3
  1672. data/src/core/tsi/ssl/session_cache/ssl_session.h +21 -21
  1673. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +19 -19
  1674. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +18 -17
  1675. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +31 -22
  1676. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +25 -20
  1677. data/src/core/tsi/ssl_transport_security.cc +302 -371
  1678. data/src/core/tsi/ssl_transport_security.h +206 -203
  1679. data/src/core/tsi/ssl_transport_security_utils.cc +250 -0
  1680. data/src/core/tsi/ssl_transport_security_utils.h +147 -0
  1681. data/src/core/tsi/ssl_types.h +27 -27
  1682. data/src/core/tsi/transport_security.cc +44 -32
  1683. data/src/core/tsi/transport_security.h +49 -48
  1684. data/src/core/tsi/transport_security_grpc.cc +20 -20
  1685. data/src/core/tsi/transport_security_grpc.h +41 -41
  1686. data/src/core/tsi/transport_security_interface.h +344 -332
  1687. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.clang +2 -0
  1688. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.gcc +7 -0
  1689. data/src/ruby/ext/grpc/ext-export.clang +0 -1
  1690. data/src/ruby/ext/grpc/ext-export.gcc +1 -2
  1691. data/src/ruby/ext/grpc/extconf.rb +57 -11
  1692. data/src/ruby/ext/grpc/rb_call.c +1 -0
  1693. data/src/ruby/ext/grpc/rb_channel.c +1 -0
  1694. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  1695. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  1696. data/src/ruby/ext/grpc/rb_grpc.c +1 -0
  1697. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +38 -38
  1698. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +59 -59
  1699. data/src/ruby/ext/grpc/rb_loader.c +6 -2
  1700. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  1701. data/src/ruby/lib/grpc/version.rb +1 -1
  1702. data/src/ruby/pb/generate_proto_ruby.sh +0 -6
  1703. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
  1704. data/src/ruby/spec/channel_spec.rb +5 -43
  1705. data/src/ruby/spec/client_server_spec.rb +20 -8
  1706. data/src/ruby/spec/generic/active_call_spec.rb +12 -3
  1707. data/src/ruby/spec/generic/server_interceptors_spec.rb +1 -1
  1708. data/src/ruby/spec/user_agent_spec.rb +1 -1
  1709. data/third_party/abseil-cpp/absl/algorithm/container.h +56 -57
  1710. data/third_party/abseil-cpp/absl/base/attributes.h +39 -19
  1711. data/third_party/abseil-cpp/absl/base/config.h +45 -4
  1712. data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +3 -18
  1713. data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
  1714. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +2 -1
  1715. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +3 -3
  1716. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +2 -2
  1717. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +1 -1
  1718. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +10 -6
  1719. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +23 -24
  1720. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +3 -3
  1721. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +2 -6
  1722. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +4 -1
  1723. data/third_party/abseil-cpp/absl/base/internal/strerror.cc +4 -4
  1724. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +14 -10
  1725. data/third_party/abseil-cpp/absl/base/internal/thread_annotations.h +9 -0
  1726. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +4 -0
  1727. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +3 -40
  1728. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
  1729. data/third_party/abseil-cpp/absl/base/macros.h +4 -21
  1730. data/third_party/abseil-cpp/absl/base/optimization.h +58 -6
  1731. data/third_party/abseil-cpp/absl/base/options.h +1 -7
  1732. data/third_party/abseil-cpp/absl/base/policy_checks.h +15 -13
  1733. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  1734. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  1735. data/third_party/abseil-cpp/absl/container/fixed_array.h +7 -5
  1736. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +0 -7
  1737. data/third_party/abseil-cpp/absl/container/inlined_vector.h +66 -18
  1738. data/third_party/abseil-cpp/absl/container/internal/common.h +3 -3
  1739. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +132 -0
  1740. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +13 -1
  1741. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +4 -55
  1742. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +50 -5
  1743. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +14 -46
  1744. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +110 -32
  1745. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +155 -4
  1746. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +661 -341
  1747. data/third_party/abseil-cpp/absl/crc/crc32c.cc +99 -0
  1748. data/third_party/abseil-cpp/absl/crc/crc32c.h +183 -0
  1749. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +256 -0
  1750. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h +57 -0
  1751. data/third_party/abseil-cpp/absl/crc/internal/crc.cc +468 -0
  1752. data/third_party/abseil-cpp/absl/crc/internal/crc.h +91 -0
  1753. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +269 -0
  1754. data/third_party/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
  1755. data/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
  1756. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +130 -0
  1757. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
  1758. data/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +179 -0
  1759. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h +119 -0
  1760. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +75 -0
  1761. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc +434 -0
  1762. data/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
  1763. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +725 -0
  1764. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +79 -0
  1765. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +180 -0
  1766. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +1 -1
  1767. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +67 -38
  1768. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +1 -1
  1769. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +12 -13
  1770. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +11 -9
  1771. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +1 -1
  1772. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +40 -85
  1773. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +5 -4
  1774. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +33 -8
  1775. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +3 -2
  1776. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +3 -2
  1777. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +118 -94
  1778. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +7 -6
  1779. data/third_party/abseil-cpp/absl/flags/commandlineflag.cc +34 -0
  1780. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +200 -0
  1781. data/third_party/abseil-cpp/absl/flags/config.h +68 -0
  1782. data/third_party/abseil-cpp/absl/flags/declare.h +73 -0
  1783. data/third_party/abseil-cpp/absl/flags/flag.cc +38 -0
  1784. data/third_party/abseil-cpp/absl/flags/flag.h +310 -0
  1785. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc +26 -0
  1786. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
  1787. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +615 -0
  1788. data/third_party/abseil-cpp/absl/flags/internal/flag.h +800 -0
  1789. data/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc +116 -0
  1790. data/third_party/abseil-cpp/absl/flags/internal/path_util.h +62 -0
  1791. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +65 -0
  1792. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +61 -0
  1793. data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +60 -0
  1794. data/third_party/abseil-cpp/absl/flags/internal/program_name.h +50 -0
  1795. data/third_party/abseil-cpp/absl/flags/internal/registry.h +97 -0
  1796. data/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
  1797. data/third_party/abseil-cpp/absl/flags/marshalling.cc +241 -0
  1798. data/third_party/abseil-cpp/absl/flags/marshalling.h +356 -0
  1799. data/third_party/abseil-cpp/absl/flags/reflection.cc +354 -0
  1800. data/third_party/abseil-cpp/absl/flags/reflection.h +90 -0
  1801. data/third_party/abseil-cpp/absl/flags/usage_config.cc +165 -0
  1802. data/third_party/abseil-cpp/absl/flags/usage_config.h +135 -0
  1803. data/third_party/abseil-cpp/absl/functional/any_invocable.h +316 -0
  1804. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +878 -0
  1805. data/third_party/abseil-cpp/absl/hash/internal/city.cc +10 -10
  1806. data/third_party/abseil-cpp/absl/hash/internal/hash.h +18 -4
  1807. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +3 -14
  1808. data/third_party/abseil-cpp/absl/memory/memory.h +26 -447
  1809. data/third_party/abseil-cpp/absl/meta/type_traits.h +104 -12
  1810. data/third_party/abseil-cpp/absl/numeric/bits.h +2 -3
  1811. data/third_party/abseil-cpp/absl/numeric/int128.cc +10 -8
  1812. data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +14 -6
  1813. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +2 -1
  1814. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +1 -1
  1815. data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +2 -23
  1816. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +9 -9
  1817. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +2 -2
  1818. data/third_party/abseil-cpp/absl/random/random.h +6 -6
  1819. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +1 -0
  1820. data/third_party/abseil-cpp/absl/status/status.cc +19 -12
  1821. data/third_party/abseil-cpp/absl/status/status.h +2 -2
  1822. data/third_party/abseil-cpp/absl/strings/ascii.cc +5 -5
  1823. data/third_party/abseil-cpp/absl/strings/charconv.cc +534 -96
  1824. data/third_party/abseil-cpp/absl/strings/cord.cc +92 -40
  1825. data/third_party/abseil-cpp/absl/strings/cord.h +71 -80
  1826. data/third_party/abseil-cpp/absl/strings/cord_buffer.h +8 -5
  1827. data/third_party/abseil-cpp/absl/strings/escaping.cc +73 -62
  1828. data/third_party/abseil-cpp/absl/strings/escaping.h +24 -19
  1829. data/third_party/abseil-cpp/absl/strings/internal/char_map.h +14 -12
  1830. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +4 -4
  1831. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +2 -2
  1832. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +330 -70
  1833. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +8 -4
  1834. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +26 -14
  1835. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +5 -5
  1836. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +9 -7
  1837. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +5 -4
  1838. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +7 -15
  1839. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +3 -3
  1840. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +8 -5
  1841. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +7 -7
  1842. data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +4 -4
  1843. data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +93 -0
  1844. data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +34 -0
  1845. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +12 -10
  1846. data/third_party/abseil-cpp/absl/strings/internal/escaping.h +7 -9
  1847. data/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h +55 -0
  1848. data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +9 -6
  1849. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +14 -7
  1850. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.h +35 -10
  1851. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +113 -46
  1852. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +126 -29
  1853. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +3 -2
  1854. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +4 -3
  1855. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +49 -287
  1856. data/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +351 -0
  1857. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +2 -1
  1858. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +4 -2
  1859. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +215 -181
  1860. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +10 -209
  1861. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +10 -101
  1862. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +2 -1
  1863. data/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
  1864. data/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h +57 -0
  1865. data/third_party/abseil-cpp/absl/strings/numbers.cc +34 -31
  1866. data/third_party/abseil-cpp/absl/strings/str_cat.cc +9 -6
  1867. data/third_party/abseil-cpp/absl/strings/str_cat.h +50 -3
  1868. data/third_party/abseil-cpp/absl/strings/str_format.h +71 -9
  1869. data/third_party/abseil-cpp/absl/strings/string_view.cc +6 -6
  1870. data/third_party/abseil-cpp/absl/strings/string_view.h +3 -10
  1871. data/third_party/abseil-cpp/absl/strings/substitute.cc +8 -6
  1872. data/third_party/abseil-cpp/absl/strings/substitute.h +46 -20
  1873. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +20 -17
  1874. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +37 -31
  1875. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +22 -8
  1876. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +104 -55
  1877. data/third_party/abseil-cpp/absl/synchronization/mutex.h +85 -46
  1878. data/third_party/abseil-cpp/absl/synchronization/notification.cc +0 -1
  1879. data/third_party/abseil-cpp/absl/synchronization/notification.h +0 -1
  1880. data/third_party/abseil-cpp/absl/time/civil_time.cc +26 -0
  1881. data/third_party/abseil-cpp/absl/time/civil_time.h +25 -0
  1882. data/third_party/abseil-cpp/absl/time/clock.cc +17 -11
  1883. data/third_party/abseil-cpp/absl/time/duration.cc +7 -7
  1884. data/third_party/abseil-cpp/absl/time/format.cc +2 -1
  1885. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1 -1
  1886. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +26 -5
  1887. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +7 -6
  1888. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +36 -35
  1889. data/third_party/abseil-cpp/absl/time/time.cc +2 -2
  1890. data/third_party/abseil-cpp/absl/time/time.h +253 -158
  1891. data/third_party/abseil-cpp/absl/types/internal/span.h +30 -19
  1892. data/third_party/abseil-cpp/absl/types/internal/variant.h +28 -40
  1893. data/third_party/abseil-cpp/absl/types/span.h +29 -7
  1894. data/third_party/boringssl-with-bazel/err_data.c +728 -712
  1895. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +177 -177
  1896. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +28 -55
  1897. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +21 -23
  1898. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +20 -23
  1899. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +66 -185
  1900. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +18 -21
  1901. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +356 -311
  1902. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +177 -196
  1903. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +146 -210
  1904. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +6 -9
  1905. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +346 -526
  1906. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +110 -131
  1907. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +130 -116
  1908. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +93 -60
  1909. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +93 -181
  1910. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +242 -305
  1911. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +41 -18
  1912. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +30 -33
  1913. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +36 -33
  1914. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +29 -26
  1915. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +135 -90
  1916. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +230 -0
  1917. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +797 -793
  1918. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +529 -526
  1919. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +114 -135
  1920. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +201 -207
  1921. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +21 -26
  1922. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +55 -68
  1923. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +2 -4
  1924. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +17 -11
  1925. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +37 -51
  1926. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +15 -9
  1927. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +13 -9
  1928. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +22 -19
  1929. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +5 -5
  1930. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -13
  1931. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +3 -6
  1932. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +2 -0
  1933. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +40 -27
  1934. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +10 -23
  1935. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +2 -6
  1936. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +2 -1
  1937. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +29 -28
  1938. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +161 -201
  1939. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +254 -39
  1940. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +2 -2
  1941. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -2
  1942. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +4 -4
  1943. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +9 -8
  1944. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +37 -75
  1945. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +8 -10
  1946. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/cipher → cipher_extra}/e_des.c +100 -78
  1947. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +1 -0
  1948. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +1 -0
  1949. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +2 -0
  1950. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +34 -37
  1951. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +22 -11
  1952. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +189 -13
  1953. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +6 -10
  1954. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -1
  1955. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +12 -0
  1956. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +74 -0
  1957. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c +62 -0
  1958. data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-fuchsia.c → cpu_aarch64_fuchsia.c} +8 -7
  1959. data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-linux.c → cpu_aarch64_linux.c} +6 -4
  1960. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +62 -0
  1961. data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-win.c → cpu_aarch64_win.c} +4 -4
  1962. data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm.c → cpu_arm.c} +1 -1
  1963. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +55 -0
  1964. data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm-linux.c → cpu_arm_linux.c} +11 -90
  1965. data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm-linux.h → cpu_arm_linux.h} +0 -38
  1966. data/third_party/boringssl-with-bazel/src/crypto/{cpu-ppc64le.c → cpu_arm_openbsd.c} +10 -17
  1967. data/third_party/boringssl-with-bazel/src/crypto/{cpu-intel.c → cpu_intel.c} +1 -2
  1968. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +25 -20
  1969. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +22 -31
  1970. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +795 -795
  1971. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -5
  1972. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +17 -32
  1973. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/des → des}/des.c +232 -232
  1974. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/des → des}/internal.h +1 -1
  1975. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +1 -0
  1976. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +232 -29
  1977. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -3
  1978. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +43 -16
  1979. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +37 -7
  1980. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +3 -3
  1981. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +11 -36
  1982. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +229 -102
  1983. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +31 -7
  1984. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +1 -1
  1985. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +2 -4
  1986. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +83 -60
  1987. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +46 -12
  1988. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +3 -3
  1989. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +25 -23
  1990. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +43 -9
  1991. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +75 -44
  1992. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +19 -25
  1993. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +96 -45
  1994. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +7 -8
  1995. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +26 -23
  1996. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +233 -0
  1997. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +6 -6
  1998. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +42 -25
  1999. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +4 -5
  2000. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +35 -47
  2001. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +135 -244
  2002. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +2 -4
  2003. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +15 -10
  2004. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +29 -15
  2005. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +0 -2
  2006. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +13 -14
  2007. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +3 -13
  2008. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +13 -7
  2009. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +9 -7
  2010. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +36 -27
  2011. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +16 -26
  2012. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c +88 -60
  2013. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c +4 -3
  2014. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +0 -2
  2015. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +1 -1
  2016. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +1 -1
  2017. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +99 -113
  2018. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +0 -1
  2019. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +5 -3
  2020. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c +112 -168
  2021. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +86 -31
  2022. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +11 -6
  2023. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +4 -5
  2024. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +4 -5
  2025. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +13 -0
  2026. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +13 -5
  2027. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +19 -108
  2028. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +19 -15
  2029. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +15 -16
  2030. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +22 -21
  2031. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c +3 -0
  2032. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +79 -19
  2033. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +102 -99
  2034. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → fipsmodule/cipher}/e_aesccm.c +52 -46
  2035. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +39 -0
  2036. data/third_party/boringssl-with-bazel/src/crypto/{cmac → fipsmodule/cmac}/cmac.c +55 -11
  2037. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +2 -3
  2038. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +24 -6
  2039. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +56 -0
  2040. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +5 -3
  2041. data/third_party/boringssl-with-bazel/src/crypto/{evp → fipsmodule/digestsign}/digestsign.c +51 -15
  2042. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +49 -49
  2043. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +92 -18
  2044. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +12 -12
  2045. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +108 -86
  2046. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +55 -25
  2047. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +55 -71
  2048. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64-table.h → p256-nistz-table.h} +1 -1
  2049. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64.c → p256-nistz.c} +72 -65
  2050. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64.h → p256-nistz.h} +5 -13
  2051. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +62 -51
  2052. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
  2053. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +2 -8
  2054. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +12 -17
  2055. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +25 -26
  2056. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +13 -14
  2057. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +9 -1
  2058. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +44 -16
  2059. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +6 -0
  2060. data/third_party/boringssl-with-bazel/src/crypto/{hkdf → fipsmodule/hkdf}/hkdf.c +1 -1
  2061. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c +52 -24
  2062. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +9 -23
  2063. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +1 -4
  2064. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +3 -8
  2065. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +170 -160
  2066. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +12 -14
  2067. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +69 -61
  2068. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -12
  2069. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +27 -28
  2070. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +31 -13
  2071. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +16 -8
  2072. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +3 -2
  2073. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +2 -2
  2074. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +9 -38
  2075. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +73 -59
  2076. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +22 -68
  2077. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +0 -1
  2078. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +43 -16
  2079. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +42 -314
  2080. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +244 -139
  2081. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +144 -205
  2082. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +41 -0
  2083. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +593 -421
  2084. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +89 -0
  2085. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +334 -0
  2086. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +3 -12
  2087. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +2 -0
  2088. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +12 -8
  2089. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +14 -12
  2090. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +8 -0
  2091. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +52 -6
  2092. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +192 -18
  2093. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +65 -29
  2094. data/third_party/boringssl-with-bazel/src/crypto/internal.h +391 -18
  2095. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +91 -0
  2096. data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +204 -0
  2097. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +833 -0
  2098. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +13 -1
  2099. data/third_party/boringssl-with-bazel/src/crypto/mem.c +220 -13
  2100. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +19 -7
  2101. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +9 -4
  2102. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +81 -90
  2103. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +150 -245
  2104. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +633 -613
  2105. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +17 -17
  2106. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +142 -149
  2107. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +99 -131
  2108. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -1
  2109. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -1
  2110. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -1
  2111. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -3
  2112. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +36 -66
  2113. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +31 -38
  2114. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +2 -1
  2115. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +18 -31
  2116. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
  2117. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +8 -1
  2118. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +129 -5
  2119. data/third_party/boringssl-with-bazel/src/crypto/refcount_c11.c +0 -2
  2120. data/third_party/boringssl-with-bazel/src/crypto/{refcount_lock.c → refcount_no_threads.c} +6 -17
  2121. data/third_party/boringssl-with-bazel/src/crypto/refcount_win.c +89 -0
  2122. data/third_party/boringssl-with-bazel/src/crypto/{asn1/a_print.c → rsa_extra/internal.h} +15 -21
  2123. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +568 -0
  2124. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +8 -11
  2125. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +61 -27
  2126. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +10 -13
  2127. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +10 -13
  2128. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +128 -34
  2129. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +418 -133
  2130. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +116 -284
  2131. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +701 -87
  2132. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +22 -24
  2133. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +63 -55
  2134. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +32 -34
  2135. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +32 -16
  2136. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +465 -704
  2137. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +285 -331
  2138. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +183 -178
  2139. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +11 -15
  2140. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +68 -50
  2141. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +132 -151
  2142. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +790 -0
  2143. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +95 -102
  2144. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +72 -57
  2145. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +12 -10
  2146. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +220 -254
  2147. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +52 -47
  2148. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +3 -4
  2149. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +136 -270
  2150. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +161 -327
  2151. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +37 -33
  2152. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +14 -31
  2153. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +55 -85
  2154. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +528 -616
  2155. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +129 -122
  2156. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +164 -181
  2157. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +132 -132
  2158. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +186 -203
  2159. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +64 -79
  2160. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +175 -160
  2161. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1864 -2050
  2162. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +380 -480
  2163. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +156 -163
  2164. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +266 -265
  2165. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +40 -15
  2166. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +59 -63
  2167. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +63 -67
  2168. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +114 -144
  2169. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +25 -26
  2170. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +329 -416
  2171. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +8 -7
  2172. data/third_party/boringssl-with-bazel/src/crypto/x509/x_info.c +30 -28
  2173. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +354 -370
  2174. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +37 -32
  2175. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +116 -119
  2176. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +36 -26
  2177. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +3 -4
  2178. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +10 -13
  2179. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +3 -4
  2180. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +419 -261
  2181. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +113 -105
  2182. data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +11 -15
  2183. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +79 -171
  2184. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +126 -131
  2185. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c +3 -4
  2186. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +465 -469
  2187. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bcons.c +56 -54
  2188. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +46 -49
  2189. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +294 -344
  2190. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +342 -365
  2191. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +429 -393
  2192. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +29 -24
  2193. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_extku.c +65 -59
  2194. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +125 -121
  2195. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +43 -42
  2196. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +120 -125
  2197. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_int.c +50 -20
  2198. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +228 -265
  2199. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +386 -389
  2200. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c +45 -32
  2201. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c +57 -54
  2202. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c +63 -67
  2203. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +130 -135
  2204. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +652 -691
  2205. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +90 -75
  2206. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +1063 -1145
  2207. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +13 -11
  2208. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +28 -48
  2209. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +217 -191
  2210. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +26 -78
  2211. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +50 -14
  2212. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +29 -14
  2213. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -4
  2214. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +49 -17
  2215. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +99 -29
  2216. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +49 -60
  2217. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +2 -15
  2218. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +16 -200
  2219. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +34 -0
  2220. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +82 -0
  2221. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +32 -30
  2222. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +7 -0
  2223. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +4 -0
  2224. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +48 -5
  2225. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +37 -8
  2226. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +1 -0
  2227. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +33 -5
  2228. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +25 -33
  2229. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +1 -1
  2230. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +7 -0
  2231. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +69 -16
  2232. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +91 -0
  2233. data/third_party/boringssl-with-bazel/src/include/openssl/kyber.h +128 -0
  2234. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +74 -8
  2235. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +7 -3
  2236. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +8 -1
  2237. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +1 -0
  2238. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +11 -18
  2239. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +8 -0
  2240. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +12 -1
  2241. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +98 -5
  2242. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +96 -0
  2243. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +18 -21
  2244. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +285 -92
  2245. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +1 -6
  2246. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +381 -287
  2247. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +9 -6
  2248. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +41 -0
  2249. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +22 -7
  2250. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +57 -23
  2251. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +0 -11
  2252. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +2075 -1407
  2253. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +242 -214
  2254. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +2 -2
  2255. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +6 -13
  2256. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +17 -18
  2257. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +4 -5
  2258. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +25 -33
  2259. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +45 -26
  2260. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +64 -35
  2261. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +198 -54
  2262. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +5 -5
  2263. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +53 -34
  2264. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +76 -44
  2265. data/third_party/boringssl-with-bazel/src/ssl/internal.h +200 -121
  2266. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +47 -12
  2267. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +2 -2
  2268. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +91 -75
  2269. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +8 -10
  2270. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +47 -69
  2271. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +1 -0
  2272. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +5 -9
  2273. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +217 -226
  2274. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +78 -101
  2275. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +106 -142
  2276. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +244 -35
  2277. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +167 -64
  2278. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +41 -32
  2279. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +27 -19
  2280. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +22 -6
  2281. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +15 -13
  2282. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +7 -44
  2283. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +7 -4
  2284. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +7 -23
  2285. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +25 -34
  2286. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +2 -2
  2287. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +16 -98
  2288. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +1241 -657
  2289. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +751 -398
  2290. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h +1281 -0
  2291. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +3551 -1938
  2292. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +1272 -487
  2293. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64_msvc.h +2002 -0
  2294. data/third_party/cares/cares/include/ares.h +23 -1
  2295. data/third_party/cares/cares/{src/lib → include}/ares_nameser.h +9 -7
  2296. data/third_party/cares/cares/include/ares_rules.h +2 -2
  2297. data/third_party/cares/cares/include/ares_version.h +3 -3
  2298. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +266 -0
  2299. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +240 -0
  2300. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +49 -80
  2301. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +37 -43
  2302. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +12 -4
  2303. data/third_party/cares/cares/src/lib/ares_data.c +16 -0
  2304. data/third_party/cares/cares/src/lib/ares_data.h +7 -0
  2305. data/third_party/cares/cares/src/lib/ares_destroy.c +8 -0
  2306. data/third_party/cares/cares/src/lib/ares_expand_name.c +17 -6
  2307. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +1 -0
  2308. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +156 -78
  2309. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +130 -326
  2310. data/third_party/cares/cares/src/lib/ares_init.c +97 -485
  2311. data/third_party/cares/cares/src/lib/ares_library_init.c +2 -89
  2312. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +23 -142
  2313. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +22 -142
  2314. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +184 -0
  2315. data/third_party/cares/cares/src/lib/ares_private.h +30 -16
  2316. data/third_party/cares/cares/src/lib/ares_process.c +55 -16
  2317. data/third_party/cares/cares/src/lib/ares_query.c +1 -35
  2318. data/third_party/cares/cares/src/lib/ares_rand.c +279 -0
  2319. data/third_party/cares/cares/src/lib/ares_send.c +5 -7
  2320. data/third_party/cares/cares/src/lib/ares_strdup.c +12 -19
  2321. data/third_party/cares/cares/src/lib/ares_strsplit.c +44 -128
  2322. data/third_party/cares/cares/src/lib/ares_strsplit.h +9 -10
  2323. data/third_party/cares/cares/src/lib/inet_net_pton.c +78 -116
  2324. data/third_party/cares/cares/src/tools/ares_getopt.h +53 -0
  2325. data/third_party/re2/re2/bitstate.cc +3 -3
  2326. data/third_party/re2/re2/dfa.cc +13 -13
  2327. data/third_party/re2/re2/nfa.cc +4 -4
  2328. data/third_party/re2/re2/onepass.cc +2 -2
  2329. data/third_party/re2/re2/prefilter_tree.cc +27 -59
  2330. data/third_party/re2/re2/prefilter_tree.h +3 -2
  2331. data/third_party/re2/re2/prog.cc +11 -2
  2332. data/third_party/re2/re2/prog.h +17 -5
  2333. data/third_party/re2/re2/re2.cc +6 -11
  2334. data/third_party/re2/re2/re2.h +1 -1
  2335. data/third_party/re2/re2/regexp.cc +1 -2
  2336. data/third_party/re2/re2/stringpiece.h +10 -7
  2337. data/third_party/re2/re2/unicode_casefold.cc +25 -11
  2338. data/third_party/re2/re2/unicode_groups.cc +319 -151
  2339. data/third_party/re2/re2/walker-inl.h +3 -2
  2340. data/third_party/re2/util/mutex.h +4 -4
  2341. data/third_party/upb/upb/alloc.h +36 -0
  2342. data/third_party/upb/upb/arena.h +36 -0
  2343. data/third_party/upb/upb/array.h +36 -0
  2344. data/third_party/upb/upb/base/descriptor_constants.h +104 -0
  2345. data/third_party/upb/upb/base/log2.h +57 -0
  2346. data/third_party/upb/upb/base/status.c +81 -0
  2347. data/third_party/upb/upb/base/status.h +66 -0
  2348. data/third_party/upb/upb/base/string_view.h +75 -0
  2349. data/third_party/upb/upb/collections/array.c +145 -0
  2350. data/third_party/upb/upb/collections/array.h +85 -0
  2351. data/third_party/upb/upb/collections/array_internal.h +135 -0
  2352. data/third_party/upb/upb/collections/map.c +135 -0
  2353. data/third_party/upb/upb/collections/map.h +135 -0
  2354. data/third_party/upb/upb/collections/map_gencode_util.h +78 -0
  2355. data/third_party/upb/upb/collections/map_internal.h +170 -0
  2356. data/third_party/upb/upb/collections/map_sorter.c +166 -0
  2357. data/third_party/upb/upb/collections/map_sorter_internal.h +109 -0
  2358. data/third_party/upb/upb/collections/message_value.h +65 -0
  2359. data/third_party/upb/upb/decode.h +3 -61
  2360. data/third_party/upb/upb/def.h +4 -377
  2361. data/third_party/upb/upb/def.hpp +3 -408
  2362. data/third_party/upb/upb/encode.h +3 -38
  2363. data/third_party/upb/upb/extension_registry.h +35 -0
  2364. data/third_party/upb/upb/{table.c → hash/common.c} +51 -109
  2365. data/third_party/upb/upb/hash/common.h +199 -0
  2366. data/third_party/upb/upb/hash/int_table.h +102 -0
  2367. data/third_party/upb/upb/hash/str_table.h +161 -0
  2368. data/third_party/upb/upb/json/decode.c +1477 -0
  2369. data/third_party/upb/upb/json/decode.h +52 -0
  2370. data/third_party/upb/upb/{json_encode.c → json/encode.c} +74 -46
  2371. data/third_party/upb/upb/json/encode.h +70 -0
  2372. data/third_party/upb/upb/json_decode.h +36 -0
  2373. data/third_party/upb/upb/json_encode.h +4 -30
  2374. data/third_party/upb/upb/lex/atoi.c +68 -0
  2375. data/third_party/upb/upb/lex/atoi.h +53 -0
  2376. data/third_party/upb/upb/lex/round_trip.c +67 -0
  2377. data/third_party/upb/upb/{upb_internal.h → lex/round_trip.h} +17 -30
  2378. data/third_party/upb/upb/lex/strtod.c +97 -0
  2379. data/third_party/upb/upb/lex/strtod.h +46 -0
  2380. data/third_party/upb/upb/lex/unicode.c +57 -0
  2381. data/third_party/upb/upb/lex/unicode.h +77 -0
  2382. data/third_party/upb/upb/map.h +36 -0
  2383. data/third_party/upb/upb/mem/alloc.c +47 -0
  2384. data/third_party/upb/upb/mem/alloc.h +98 -0
  2385. data/third_party/upb/upb/mem/arena.c +367 -0
  2386. data/third_party/upb/upb/mem/arena.h +160 -0
  2387. data/third_party/upb/upb/mem/arena_internal.h +114 -0
  2388. data/third_party/upb/upb/message/accessors.c +68 -0
  2389. data/third_party/upb/upb/message/accessors.h +379 -0
  2390. data/third_party/upb/upb/message/accessors_internal.h +325 -0
  2391. data/third_party/upb/upb/message/extension_internal.h +83 -0
  2392. data/third_party/upb/upb/message/internal.h +135 -0
  2393. data/third_party/upb/upb/message/message.c +180 -0
  2394. data/third_party/upb/upb/message/message.h +69 -0
  2395. data/third_party/upb/upb/mini_table/common.c +128 -0
  2396. data/third_party/upb/upb/mini_table/common.h +170 -0
  2397. data/third_party/upb/upb/mini_table/common_internal.h +111 -0
  2398. data/third_party/upb/upb/mini_table/decode.c +1127 -0
  2399. data/third_party/upb/upb/mini_table/decode.h +179 -0
  2400. data/third_party/upb/upb/mini_table/encode.c +300 -0
  2401. data/third_party/upb/upb/mini_table/encode_internal.h +111 -0
  2402. data/third_party/upb/upb/mini_table/encode_internal.hpp +136 -0
  2403. data/third_party/upb/upb/mini_table/enum_internal.h +88 -0
  2404. data/third_party/upb/upb/mini_table/extension_internal.h +47 -0
  2405. data/third_party/upb/upb/mini_table/extension_registry.c +96 -0
  2406. data/third_party/upb/upb/mini_table/extension_registry.h +104 -0
  2407. data/third_party/upb/upb/mini_table/field_internal.h +192 -0
  2408. data/third_party/upb/upb/mini_table/file_internal.h +47 -0
  2409. data/third_party/upb/upb/mini_table/message_internal.h +136 -0
  2410. data/third_party/upb/upb/mini_table/sub_internal.h +38 -0
  2411. data/third_party/upb/upb/mini_table/types.h +40 -0
  2412. data/third_party/upb/upb/mini_table.h +36 -0
  2413. data/third_party/upb/upb/msg.h +3 -81
  2414. data/third_party/upb/upb/port/atomic.h +101 -0
  2415. data/third_party/upb/upb/{port_def.inc → port/def.inc} +96 -28
  2416. data/third_party/upb/upb/{port_undef.inc → port/undef.inc} +14 -3
  2417. data/third_party/upb/upb/port/vsnprintf_compat.h +50 -0
  2418. data/third_party/upb/upb/reflection/common.h +67 -0
  2419. data/third_party/upb/upb/reflection/def.h +42 -0
  2420. data/third_party/upb/upb/reflection/def.hpp +610 -0
  2421. data/third_party/upb/upb/reflection/def_builder.c +357 -0
  2422. data/third_party/upb/upb/reflection/def_builder_internal.h +157 -0
  2423. data/third_party/upb/upb/reflection/def_pool.c +462 -0
  2424. data/third_party/upb/upb/reflection/def_pool.h +108 -0
  2425. data/third_party/upb/upb/reflection/def_pool_internal.h +77 -0
  2426. data/third_party/upb/upb/reflection/def_type.c +50 -0
  2427. data/third_party/upb/upb/reflection/def_type.h +81 -0
  2428. data/third_party/upb/upb/reflection/desc_state.c +53 -0
  2429. data/third_party/upb/upb/reflection/desc_state_internal.h +64 -0
  2430. data/third_party/upb/upb/reflection/enum_def.c +310 -0
  2431. data/third_party/upb/upb/reflection/enum_def.h +80 -0
  2432. data/third_party/upb/upb/reflection/enum_def_internal.h +56 -0
  2433. data/third_party/upb/upb/reflection/enum_reserved_range.c +84 -0
  2434. data/third_party/upb/upb/reflection/enum_reserved_range.h +51 -0
  2435. data/third_party/upb/upb/reflection/enum_reserved_range_internal.h +55 -0
  2436. data/third_party/upb/upb/reflection/enum_value_def.c +144 -0
  2437. data/third_party/upb/upb/reflection/enum_value_def.h +57 -0
  2438. data/third_party/upb/upb/reflection/enum_value_def_internal.h +57 -0
  2439. data/third_party/upb/upb/reflection/extension_range.c +93 -0
  2440. data/third_party/upb/upb/reflection/extension_range.h +55 -0
  2441. data/third_party/upb/upb/reflection/extension_range_internal.h +54 -0
  2442. data/third_party/upb/upb/reflection/field_def.c +930 -0
  2443. data/third_party/upb/upb/reflection/field_def.h +91 -0
  2444. data/third_party/upb/upb/reflection/field_def_internal.h +76 -0
  2445. data/third_party/upb/upb/reflection/file_def.c +370 -0
  2446. data/third_party/upb/upb/reflection/file_def.h +77 -0
  2447. data/third_party/upb/upb/reflection/file_def_internal.h +57 -0
  2448. data/third_party/upb/upb/reflection/message.c +233 -0
  2449. data/third_party/upb/upb/reflection/message.h +102 -0
  2450. data/third_party/upb/upb/reflection/message.hpp +37 -0
  2451. data/third_party/upb/upb/reflection/message_def.c +718 -0
  2452. data/third_party/upb/upb/reflection/message_def.h +174 -0
  2453. data/third_party/upb/upb/reflection/message_def_internal.h +63 -0
  2454. data/third_party/upb/upb/reflection/message_reserved_range.c +81 -0
  2455. data/third_party/upb/upb/reflection/message_reserved_range.h +51 -0
  2456. data/third_party/upb/upb/reflection/message_reserved_range_internal.h +55 -0
  2457. data/third_party/upb/upb/reflection/method_def.c +124 -0
  2458. data/third_party/upb/upb/reflection/method_def.h +59 -0
  2459. data/third_party/upb/upb/reflection/method_def_internal.h +53 -0
  2460. data/third_party/upb/upb/reflection/oneof_def.c +226 -0
  2461. data/third_party/upb/upb/reflection/oneof_def.h +66 -0
  2462. data/third_party/upb/upb/reflection/oneof_def_internal.h +57 -0
  2463. data/third_party/upb/upb/reflection/service_def.c +128 -0
  2464. data/third_party/upb/upb/reflection/service_def.h +60 -0
  2465. data/third_party/upb/upb/reflection/service_def_internal.h +53 -0
  2466. data/third_party/upb/upb/reflection.h +4 -188
  2467. data/third_party/upb/upb/reflection.hpp +3 -7
  2468. data/third_party/upb/upb/status.h +36 -0
  2469. data/third_party/upb/upb/string_view.h +36 -0
  2470. data/third_party/upb/upb/{text_encode.c → text/encode.c} +75 -70
  2471. data/third_party/upb/upb/text/encode.h +69 -0
  2472. data/third_party/upb/upb/text_encode.h +4 -32
  2473. data/third_party/upb/upb/upb.h +6 -340
  2474. data/third_party/upb/upb/upb.hpp +10 -18
  2475. data/third_party/upb/upb/wire/common.h +44 -0
  2476. data/third_party/upb/upb/wire/common_internal.h +50 -0
  2477. data/third_party/upb/upb/wire/decode.c +1343 -0
  2478. data/third_party/upb/upb/wire/decode.h +108 -0
  2479. data/third_party/upb/upb/{decode_fast.c → wire/decode_fast.c} +184 -225
  2480. data/third_party/upb/upb/{decode_fast.h → wire/decode_fast.h} +21 -7
  2481. data/third_party/upb/upb/{decode_internal.h → wire/decode_internal.h} +44 -92
  2482. data/third_party/upb/upb/{encode.c → wire/encode.c} +130 -102
  2483. data/third_party/upb/upb/wire/encode.h +92 -0
  2484. data/third_party/upb/upb/wire/eps_copy_input_stream.c +39 -0
  2485. data/third_party/upb/upb/wire/eps_copy_input_stream.h +425 -0
  2486. data/third_party/upb/upb/wire/reader.c +67 -0
  2487. data/third_party/upb/upb/wire/reader.h +227 -0
  2488. data/third_party/upb/upb/wire/swap_internal.h +63 -0
  2489. data/third_party/upb/upb/wire/types.h +41 -0
  2490. data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-neon.c +1 -1
  2491. data/third_party/utf8_range/utf8_range.h +21 -0
  2492. data/third_party/zlib/compress.c +3 -3
  2493. data/third_party/zlib/crc32.c +21 -12
  2494. data/third_party/zlib/deflate.c +112 -106
  2495. data/third_party/zlib/deflate.h +2 -2
  2496. data/third_party/zlib/gzlib.c +1 -1
  2497. data/third_party/zlib/gzread.c +3 -5
  2498. data/third_party/zlib/gzwrite.c +1 -1
  2499. data/third_party/zlib/infback.c +10 -7
  2500. data/third_party/zlib/inflate.c +5 -2
  2501. data/third_party/zlib/inftrees.c +2 -2
  2502. data/third_party/zlib/inftrees.h +1 -1
  2503. data/third_party/zlib/trees.c +61 -62
  2504. data/third_party/zlib/uncompr.c +2 -2
  2505. data/third_party/zlib/zconf.h +16 -3
  2506. data/third_party/zlib/zlib.h +10 -10
  2507. data/third_party/zlib/zutil.c +9 -7
  2508. data/third_party/zlib/zutil.h +1 -0
  2509. metadata +597 -174
  2510. data/include/grpc/impl/codegen/gpr_slice.h +0 -71
  2511. data/src/core/ext/filters/client_channel/health/health_check_client.cc +0 -176
  2512. data/src/core/ext/filters/client_channel/health/health_check_client.h +0 -43
  2513. data/src/core/ext/filters/client_channel/lb_policy.cc +0 -134
  2514. data/src/core/ext/filters/client_channel/lb_policy_factory.h +0 -50
  2515. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +0 -190
  2516. data/src/core/ext/filters/client_channel/lb_policy_registry.h +0 -70
  2517. data/src/core/ext/filters/client_channel/proxy_mapper.h +0 -54
  2518. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +0 -90
  2519. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +0 -55
  2520. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +0 -30
  2521. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -180
  2522. data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -182
  2523. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +0 -334
  2524. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -52
  2525. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -324
  2526. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +0 -62
  2527. data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
  2528. data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
  2529. data/src/core/ext/xds/certificate_provider_registry.cc +0 -103
  2530. data/src/core/ext/xds/certificate_provider_registry.h +0 -59
  2531. data/src/core/lib/event_engine/iomgr_engine/iomgr_engine.cc +0 -159
  2532. data/src/core/lib/event_engine/iomgr_engine/thread_pool.cc +0 -123
  2533. data/src/core/lib/event_engine/iomgr_engine/thread_pool.h +0 -70
  2534. data/src/core/lib/event_engine/iomgr_engine/time_averaged_stats.h +0 -81
  2535. data/src/core/lib/event_engine/iomgr_engine/timer.h +0 -193
  2536. data/src/core/lib/event_engine/iomgr_engine/timer_heap.h +0 -56
  2537. data/src/core/lib/event_engine/iomgr_engine/timer_manager.cc +0 -254
  2538. data/src/core/lib/event_engine/iomgr_engine/timer_manager.h +0 -111
  2539. data/src/core/lib/event_engine/promise.h +0 -69
  2540. data/src/core/lib/gpr/cpu_iphone.cc +0 -44
  2541. data/src/core/lib/gpr/cpu_windows.cc +0 -33
  2542. data/src/core/lib/gpr/env.h +0 -40
  2543. data/src/core/lib/gpr/env_linux.cc +0 -75
  2544. data/src/core/lib/gpr/env_posix.cc +0 -46
  2545. data/src/core/lib/gpr/env_windows.cc +0 -74
  2546. data/src/core/lib/gpr/murmur_hash.cc +0 -82
  2547. data/src/core/lib/gpr/murmur_hash.h +0 -29
  2548. data/src/core/lib/gpr/string_util_windows.cc +0 -82
  2549. data/src/core/lib/gpr/string_windows.cc +0 -69
  2550. data/src/core/lib/gpr/string_windows.h +0 -32
  2551. data/src/core/lib/gpr/tls.h +0 -156
  2552. data/src/core/lib/gpr/tmpfile_windows.cc +0 -69
  2553. data/src/core/lib/gprpp/global_config.h +0 -93
  2554. data/src/core/lib/gprpp/global_config_custom.h +0 -29
  2555. data/src/core/lib/gprpp/global_config_env.cc +0 -138
  2556. data/src/core/lib/gprpp/global_config_env.h +0 -133
  2557. data/src/core/lib/gprpp/global_config_generic.h +0 -40
  2558. data/src/core/lib/iomgr/error_internal.h +0 -66
  2559. data/src/core/lib/iomgr/executor/mpmcqueue.cc +0 -182
  2560. data/src/core/lib/iomgr/executor/mpmcqueue.h +0 -171
  2561. data/src/core/lib/iomgr/executor/threadpool.cc +0 -136
  2562. data/src/core/lib/iomgr/executor/threadpool.h +0 -150
  2563. data/src/core/lib/iomgr/time_averaged_stats.cc +0 -64
  2564. data/src/core/lib/iomgr/time_averaged_stats.h +0 -72
  2565. data/src/core/lib/profiling/basic_timers.cc +0 -295
  2566. data/src/core/lib/profiling/stap_timers.cc +0 -50
  2567. data/src/core/lib/profiling/timers.h +0 -94
  2568. data/src/core/lib/promise/call_push_pull.h +0 -148
  2569. data/src/core/lib/promise/intra_activity_waiter.h +0 -49
  2570. data/src/core/lib/security/security_connector/ssl_utils_config.cc +0 -32
  2571. data/src/core/lib/security/security_connector/ssl_utils_config.h +0 -30
  2572. data/src/core/lib/slice/slice_api.cc +0 -39
  2573. data/src/core/lib/slice/slice_buffer_api.cc +0 -35
  2574. data/src/core/lib/slice/slice_refcount_base.h +0 -60
  2575. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +0 -195
  2576. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +0 -236
  2577. data/third_party/boringssl-with-bazel/src/crypto/asn1/charmap.h +0 -15
  2578. data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +0 -206
  2579. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1-altivec.c +0 -361
  2580. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +0 -287
  2581. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +0 -132
  2582. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +0 -155
  2583. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +0 -131
  2584. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +0 -189
  2585. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +0 -843
  2586. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +0 -289
  2587. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c +0 -57
  2588. data/third_party/cares/cares/src/lib/ares_library_init.h +0 -43
  2589. data/third_party/upb/third_party/utf8_range/utf8_range.h +0 -9
  2590. data/third_party/upb/upb/decode.c +0 -1125
  2591. data/third_party/upb/upb/def.c +0 -3261
  2592. data/third_party/upb/upb/msg.c +0 -428
  2593. data/third_party/upb/upb/msg_internal.h +0 -831
  2594. data/third_party/upb/upb/reflection.c +0 -480
  2595. data/third_party/upb/upb/table_internal.h +0 -385
  2596. data/third_party/upb/upb/upb.c +0 -362
  2597. /data/src/ruby/ext/grpc/{ext-export-truffleruby.clang → ext-export-truffleruby-with-ruby-abi-version.clang} +0 -0
  2598. /data/src/ruby/ext/grpc/{ext-export-truffleruby.gcc → ext-export-truffleruby-with-ruby-abi-version.gcc} +0 -0
  2599. /data/third_party/{upb/third_party/utf8_range → utf8_range}/naive.c +0 -0
  2600. /data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-sse.c +0 -0
@@ -1,32 +1,34 @@
1
- /*
2
- *
3
- * Copyright 2015 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
18
-
19
- #ifndef GRPC_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H
20
- #define GRPC_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H
1
+ //
2
+ //
3
+ // Copyright 2015 gRPC authors.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
16
+ //
17
+ //
18
+
19
+ #ifndef GRPC_SRC_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H
20
+ #define GRPC_SRC_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H
21
21
 
22
22
  #include <grpc/support/port_platform.h>
23
23
 
24
24
  #include <stdint.h>
25
25
  #include <stdlib.h>
26
26
 
27
+ #include <string>
28
+
27
29
  #include "src/core/lib/debug/trace.h"
28
30
 
29
- /* --- tsi result --- */
31
+ // --- tsi result ---
30
32
 
31
33
  typedef enum {
32
34
  TSI_OK = 0,
@@ -94,139 +96,139 @@ typedef enum {
94
96
  const char* tsi_result_to_string(tsi_result result);
95
97
  const char* tsi_security_level_to_string(tsi_security_level security_level);
96
98
 
97
- /* --- tsi tracing --- */
99
+ // --- tsi tracing ---
98
100
 
99
101
  extern grpc_core::TraceFlag tsi_tracing_enabled;
100
102
 
101
- /* -- tsi_zero_copy_grpc_protector object --
103
+ // -- tsi_zero_copy_grpc_protector object --
102
104
 
103
- This object protects and unprotects grpc slice buffers with zero or minimized
104
- memory copy once the handshake is done. Implementations of this object must be
105
- thread compatible. This object depends on grpc and the details of this object
106
- is defined in transport_security_grpc.h. */
105
+ // This object protects and unprotects grpc slice buffers with zero or minimized
106
+ // memory copy once the handshake is done. Implementations of this object must
107
+ // be thread compatible. This object depends on grpc and the details of this
108
+ // object is defined in transport_security_grpc.h.
107
109
 
108
110
  typedef struct tsi_zero_copy_grpc_protector tsi_zero_copy_grpc_protector;
109
111
 
110
- /* --- tsi_frame_protector object ---
112
+ // --- tsi_frame_protector object ---
111
113
 
112
- This object protects and unprotects buffers once the handshake is done.
113
- Implementations of this object must be thread compatible. */
114
+ // This object protects and unprotects buffers once the handshake is done.
115
+ // Implementations of this object must be thread compatible.
114
116
 
115
117
  typedef struct tsi_frame_protector tsi_frame_protector;
116
118
 
117
- /* Outputs protected frames.
118
- - unprotected_bytes is an input only parameter and points to the data
119
- to be protected.
120
- - unprotected_bytes_size is an input/output parameter used by the caller to
121
- specify how many bytes are available in unprotected_bytes. The output
122
- value is the number of bytes consumed during the call.
123
- - protected_output_frames points to a buffer allocated by the caller that
124
- will be written.
125
- - protected_output_frames_size is an input/output parameter used by the
126
- caller to specify how many bytes are available in protected_output_frames.
127
- As an output, this value indicates the number of bytes written.
128
- - This method returns TSI_OK in case of success or a specific error code in
129
- case of failure. Note that even if all the input unprotected bytes are
130
- consumed, they may not have been processed into the returned protected
131
- output frames. The caller should call the protect_flush method
132
- to make sure that there are no more protected bytes buffered in the
133
- protector.
134
-
135
- A typical way to call this method would be:
136
-
137
- ------------------------------------------------------------------------
138
- unsigned char protected_buffer[4096];
139
- size_t protected_buffer_size = sizeof(protected_buffer);
140
- tsi_result result = TSI_OK;
141
- while (message_size > 0) {
142
- size_t protected_buffer_size_to_send = protected_buffer_size;
143
- size_t processed_message_size = message_size;
144
- result = tsi_frame_protector_protect(protector,
145
- message_bytes,
146
- &processed_message_size,
147
- protected_buffer,
148
- &protected_buffer_size_to_send);
149
- if (result != TSI_OK) break;
150
- send_bytes_to_peer(protected_buffer, protected_buffer_size_to_send);
151
- message_bytes += processed_message_size;
152
- message_size -= processed_message_size;
153
-
154
- // Don't forget to flush.
155
- if (message_size == 0) {
156
- size_t still_pending_size;
157
- do {
158
- protected_buffer_size_to_send = protected_buffer_size;
159
- result = tsi_frame_protector_protect_flush(
160
- protector, protected_buffer,
161
- &protected_buffer_size_to_send, &still_pending_size);
162
- if (result != TSI_OK) break;
163
- send_bytes_to_peer(protected_buffer, protected_buffer_size_to_send);
164
- } while (still_pending_size > 0);
165
- }
166
- }
167
-
168
- if (result != TSI_OK) HandleError(result);
169
- ------------------------------------------------------------------------ */
119
+ // Outputs protected frames.
120
+ // - unprotected_bytes is an input only parameter and points to the data
121
+ // to be protected.
122
+ // - unprotected_bytes_size is an input/output parameter used by the caller to
123
+ // specify how many bytes are available in unprotected_bytes. The output
124
+ // value is the number of bytes consumed during the call.
125
+ // - protected_output_frames points to a buffer allocated by the caller that
126
+ // will be written.
127
+ // - protected_output_frames_size is an input/output parameter used by the
128
+ // caller to specify how many bytes are available in protected_output_frames.
129
+ // As an output, this value indicates the number of bytes written.
130
+ // - This method returns TSI_OK in case of success or a specific error code in
131
+ // case of failure. Note that even if all the input unprotected bytes are
132
+ // consumed, they may not have been processed into the returned protected
133
+ // output frames. The caller should call the protect_flush method
134
+ // to make sure that there are no more protected bytes buffered in the
135
+ // protector.
136
+
137
+ // A typical way to call this method would be:
138
+
139
+ // ------------------------------------------------------------------------
140
+ // unsigned char protected_buffer[4096];
141
+ // size_t protected_buffer_size = sizeof(protected_buffer);
142
+ // tsi_result result = TSI_OK;
143
+ // while (message_size > 0) {
144
+ // size_t protected_buffer_size_to_send = protected_buffer_size;
145
+ // size_t processed_message_size = message_size;
146
+ // result = tsi_frame_protector_protect(protector,
147
+ // message_bytes,
148
+ // &processed_message_size,
149
+ // protected_buffer,
150
+ // &protected_buffer_size_to_send);
151
+ // if (result != TSI_OK) break;
152
+ // send_bytes_to_peer(protected_buffer, protected_buffer_size_to_send);
153
+ // message_bytes += processed_message_size;
154
+ // message_size -= processed_message_size;
155
+
156
+ // // Don't forget to flush.
157
+ // if (message_size == 0) {
158
+ // size_t still_pending_size;
159
+ // do {
160
+ // protected_buffer_size_to_send = protected_buffer_size;
161
+ // result = tsi_frame_protector_protect_flush(
162
+ // protector, protected_buffer,
163
+ // &protected_buffer_size_to_send, &still_pending_size);
164
+ // if (result != TSI_OK) break;
165
+ // send_bytes_to_peer(protected_buffer, protected_buffer_size_to_send);
166
+ // } while (still_pending_size > 0);
167
+ // }
168
+ // }
169
+
170
+ // if (result != TSI_OK) HandleError(result);
171
+ // ------------------------------------------------------------------------
170
172
  tsi_result tsi_frame_protector_protect(tsi_frame_protector* self,
171
173
  const unsigned char* unprotected_bytes,
172
174
  size_t* unprotected_bytes_size,
173
175
  unsigned char* protected_output_frames,
174
176
  size_t* protected_output_frames_size);
175
177
 
176
- /* Indicates that we need to flush the bytes buffered in the protector and get
177
- the resulting frame.
178
- - protected_output_frames points to a buffer allocated by the caller that
179
- will be written.
180
- - protected_output_frames_size is an input/output parameter used by the
181
- caller to specify how many bytes are available in protected_output_frames.
182
- - still_pending_bytes is an output parameter indicating the number of bytes
183
- that still need to be flushed from the protector.*/
178
+ // Indicates that we need to flush the bytes buffered in the protector and get
179
+ // the resulting frame.
180
+ // - protected_output_frames points to a buffer allocated by the caller that
181
+ // will be written.
182
+ // - protected_output_frames_size is an input/output parameter used by the
183
+ // caller to specify how many bytes are available in protected_output_frames.
184
+ // - still_pending_bytes is an output parameter indicating the number of bytes
185
+ // that still need to be flushed from the protector.
184
186
  tsi_result tsi_frame_protector_protect_flush(
185
187
  tsi_frame_protector* self, unsigned char* protected_output_frames,
186
188
  size_t* protected_output_frames_size, size_t* still_pending_size);
187
189
 
188
- /* Outputs unprotected bytes.
189
- - protected_frames_bytes is an input only parameter and points to the
190
- protected frames to be unprotected.
191
- - protected_frames_bytes_size is an input/output only parameter used by the
192
- caller to specify how many bytes are available in protected_bytes. The
193
- output value is the number of bytes consumed during the call.
194
- Implementations will buffer up to a frame of protected data.
195
- - unprotected_bytes points to a buffer allocated by the caller that will be
196
- written.
197
- - unprotected_bytes_size is an input/output parameter used by the caller to
198
- specify how many bytes are available in unprotected_bytes. This
199
- value is expected to be at most max_protected_frame_size minus overhead
200
- which means that max_protected_frame_size is a safe bet. The output value
201
- is the number of bytes actually written.
202
- If *unprotected_bytes_size is unchanged, there may be more data remaining
203
- to unprotect, and the caller should call this function again.
204
-
205
- - This method returns TSI_OK in case of success. Success includes cases where
206
- there is not enough data to output a frame in which case
207
- unprotected_bytes_size will be set to 0 and cases where the internal buffer
208
- needs to be read before new protected data can be processed in which case
209
- protected_frames_size will be set to 0. */
190
+ // Outputs unprotected bytes.
191
+ // - protected_frames_bytes is an input only parameter and points to the
192
+ // protected frames to be unprotected.
193
+ // - protected_frames_bytes_size is an input/output only parameter used by the
194
+ // caller to specify how many bytes are available in protected_bytes. The
195
+ // output value is the number of bytes consumed during the call.
196
+ // Implementations will buffer up to a frame of protected data.
197
+ // - unprotected_bytes points to a buffer allocated by the caller that will be
198
+ // written.
199
+ // - unprotected_bytes_size is an input/output parameter used by the caller to
200
+ // specify how many bytes are available in unprotected_bytes. This
201
+ // value is expected to be at most max_protected_frame_size minus overhead
202
+ // which means that max_protected_frame_size is a safe bet. The output value
203
+ // is the number of bytes actually written.
204
+ // If *unprotected_bytes_size is unchanged, there may be more data remaining
205
+ // to unprotect, and the caller should call this function again.
206
+
207
+ // - This method returns TSI_OK in case of success. Success includes cases where
208
+ // there is not enough data to output a frame in which case
209
+ // unprotected_bytes_size will be set to 0 and cases where the internal buffer
210
+ // needs to be read before new protected data can be processed in which case
211
+ // protected_frames_size will be set to 0.
210
212
  tsi_result tsi_frame_protector_unprotect(
211
213
  tsi_frame_protector* self, const unsigned char* protected_frames_bytes,
212
214
  size_t* protected_frames_bytes_size, unsigned char* unprotected_bytes,
213
215
  size_t* unprotected_bytes_size);
214
216
 
215
- /* Destroys the tsi_frame_protector object. */
217
+ // Destroys the tsi_frame_protector object.
216
218
  void tsi_frame_protector_destroy(tsi_frame_protector* self);
217
219
 
218
- /* --- tsi_peer objects ---
220
+ // --- tsi_peer objects ---
219
221
 
220
- tsi_peer objects are a set of properties. The peer owns the properties. */
222
+ // tsi_peer objects are a set of properties. The peer owns the properties.
221
223
 
222
- /* This property is of type TSI_PEER_PROPERTY_STRING. */
224
+ // This property is of type TSI_PEER_PROPERTY_STRING.
223
225
  #define TSI_CERTIFICATE_TYPE_PEER_PROPERTY "certificate_type"
224
226
 
225
- /* This property represents security level of a channel. */
227
+ // This property represents security level of a channel.
226
228
  #define TSI_SECURITY_LEVEL_PEER_PROPERTY "security_level"
227
229
 
228
- /* Property values may contain NULL characters just like C++ strings.
229
- The length field gives the length of the string. */
230
+ // Property values may contain NULL characters just like C++ strings.
231
+ // The length field gives the length of the string.
230
232
  typedef struct tsi_peer_property {
231
233
  char* name;
232
234
  struct {
@@ -239,271 +241,281 @@ struct tsi_peer {
239
241
  tsi_peer_property* properties;
240
242
  size_t property_count;
241
243
  };
242
- /* Destructs the tsi_peer object. */
244
+ // Destructs the tsi_peer object.
243
245
  void tsi_peer_destruct(tsi_peer* self);
244
246
 
245
- /* --- tsi_handshaker_result object ---
247
+ // --- tsi_handshaker_result object ---
246
248
 
247
- This object contains all necessary handshake results and data such as peer
248
- info, negotiated keys, unused handshake bytes, when the handshake completes.
249
- Implementations of this object must be thread compatible. */
249
+ // This object contains all necessary handshake results and data such as peer
250
+ // info, negotiated keys, unused handshake bytes, when the handshake completes.
251
+ // Implementations of this object must be thread compatible.
250
252
 
251
253
  typedef struct tsi_handshaker_result tsi_handshaker_result;
252
254
 
253
- /* This method extracts tsi peer. It returns TSI_OK assuming there is no fatal
254
- error.
255
- The caller is responsible for destructing the peer. */
255
+ // This method extracts tsi peer. It returns TSI_OK assuming there is no fatal
256
+ // error.
257
+ // The caller is responsible for destructing the peer.
256
258
  tsi_result tsi_handshaker_result_extract_peer(const tsi_handshaker_result* self,
257
259
  tsi_peer* peer);
258
260
 
259
- /* This method indicates what type of frame protector is provided by the
260
- TSI implementation. */
261
+ // This method indicates what type of frame protector is provided by the
262
+ // TSI implementation.
261
263
  tsi_result tsi_handshaker_result_get_frame_protector_type(
262
264
  const tsi_handshaker_result* self,
263
265
  tsi_frame_protector_type* frame_protector_type);
264
266
 
265
- /* This method creates a tsi_frame_protector object. It returns TSI_OK assuming
266
- there is no fatal error.
267
- The caller is responsible for destroying the protector. */
267
+ // This method creates a tsi_frame_protector object. It returns TSI_OK assuming
268
+ // there is no fatal error.
269
+ // The caller is responsible for destroying the protector.
268
270
  tsi_result tsi_handshaker_result_create_frame_protector(
269
271
  const tsi_handshaker_result* self, size_t* max_output_protected_frame_size,
270
272
  tsi_frame_protector** protector);
271
273
 
272
- /* This method returns the unused bytes from the handshake. It returns TSI_OK
273
- assuming there is no fatal error.
274
- Ownership of the bytes is retained by the handshaker result. As a
275
- consequence, the caller must not free the bytes. */
274
+ // This method returns the unused bytes from the handshake. It returns TSI_OK
275
+ // assuming there is no fatal error.
276
+ // Ownership of the bytes is retained by the handshaker result. As a
277
+ // consequence, the caller must not free the bytes.
276
278
  tsi_result tsi_handshaker_result_get_unused_bytes(
277
279
  const tsi_handshaker_result* self, const unsigned char** bytes,
278
280
  size_t* bytes_size);
279
281
 
280
- /* This method releases the tsi_handshaker_handshaker object. After this method
281
- is called, no other method can be called on the object. */
282
+ // This method releases the tsi_handshaker_handshaker object. After this method
283
+ // is called, no other method can be called on the object.
282
284
  void tsi_handshaker_result_destroy(tsi_handshaker_result* self);
283
285
 
284
- /* --- tsi_handshaker objects ----
285
-
286
- Implementations of this object must be thread compatible.
287
-
288
- ------------------------------------------------------------------------
289
-
290
- A typical usage supporting both synchronous and asynchronous TSI handshaker
291
- implementations would be:
292
-
293
- ------------------------------------------------------------------------
294
-
295
- typedef struct {
296
- tsi_handshaker *handshaker;
297
- tsi_handshaker_result *handshaker_result;
298
- unsigned char *handshake_buffer;
299
- size_t handshake_buffer_size;
300
- ...
301
- } security_handshaker;
302
-
303
- void do_handshake(security_handshaker *h, ...) {
304
- // Start the handshake by the calling do_handshake_next.
305
- do_handshake_next(h, NULL, 0);
306
- ...
307
- }
308
-
309
- // This method is the callback function when data is received from the
310
- // peer. This method will read bytes into the handshake buffer and call
311
- // do_handshake_next.
312
- void on_handshake_data_received_from_peer(void *user_data) {
313
- security_handshaker *h = (security_handshaker *)user_data;
314
- size_t bytes_received_size = h->handshake_buffer_size;
315
- read_bytes_from_peer(h->handshake_buffer, &bytes_received_size);
316
- do_handshake_next(h, h->handshake_buffer, bytes_received_size);
317
- }
318
-
319
- // This method processes a step of handshake, calling tsi_handshaker_next.
320
- void do_handshake_next(security_handshaker *h,
321
- const unsigned char* bytes_received,
322
- size_t bytes_received_size) {
323
- tsi_result status = TSI_OK;
324
- unsigned char *bytes_to_send = NULL;
325
- size_t bytes_to_send_size = 0;
326
- tsi_handshaker_result *result = NULL;
327
- status = tsi_handshaker_next(
328
- handshaker, bytes_received, bytes_received_size, &bytes_to_send,
329
- &bytes_to_send_size, &result, on_handshake_next_done, h);
330
- // If TSI handshaker is asynchronous, on_handshake_next_done will be
331
- // executed inside tsi_handshaker_next.
332
- if (status == TSI_ASYNC) return;
333
- // If TSI handshaker is synchronous, invoke callback directly in this
334
- // thread.
335
- on_handshake_next_done(status, (void *)h, bytes_to_send,
336
- bytes_to_send_size, result);
337
- }
338
-
339
- // This is the callback function to execute after tsi_handshaker_next.
340
- // It is passed to tsi_handshaker_next as a function parameter.
341
- void on_handshake_next_done(
342
- tsi_result status, void *user_data, const unsigned char *bytes_to_send,
343
- size_t bytes_to_send_size, tsi_handshaker_result *result) {
344
- security_handshaker *h = (security_handshaker *)user_data;
345
- if (status == TSI_INCOMPLETE_DATA) {
346
- // Schedule an asynchronous read from the peer. If handshake data are
347
- // received, on_handshake_data_received_from_peer will be called.
348
- async_read_from_peer(..., ..., on_handshake_data_received_from_peer);
349
- return;
350
- }
351
- if (status != TSI_OK) return;
352
-
353
- if (bytes_to_send_size > 0) {
354
- send_bytes_to_peer(bytes_to_send, bytes_to_send_size);
355
- }
356
-
357
- if (result != NULL) {
358
- // Handshake completed.
359
- h->result = result;
360
- // Check the Peer.
361
- tsi_peer peer;
362
- status = tsi_handshaker_result_extract_peer(result, &peer);
363
- if (status != TSI_OK) return;
364
- status = check_peer(&peer);
365
- tsi_peer_destruct(&peer);
366
- if (status != TSI_OK) return;
367
-
368
- // Create the protector.
369
- tsi_frame_protector* protector = NULL;
370
- status = tsi_handshaker_result_create_frame_protector(result, NULL,
371
- &protector);
372
- if (status != TSI_OK) return;
373
-
374
- // Do not forget to unprotect outstanding data if any.
375
- ....
376
- }
377
- }
378
- ------------------------------------------------------------------------ */
286
+ // --- tsi_handshaker objects ----
287
+
288
+ // Implementations of this object must be thread compatible.
289
+
290
+ // ------------------------------------------------------------------------
291
+
292
+ // A typical usage supporting both synchronous and asynchronous TSI handshaker
293
+ // implementations would be:
294
+
295
+ // ------------------------------------------------------------------------
296
+
297
+ // typedef struct {
298
+ // tsi_handshaker *handshaker;
299
+ // tsi_handshaker_result *handshaker_result;
300
+ // unsigned char *handshake_buffer;
301
+ // size_t handshake_buffer_size;
302
+ // ...
303
+ // } security_handshaker;
304
+
305
+ // void do_handshake(security_handshaker *h, ...) {
306
+ // // Start the handshake by the calling do_handshake_next.
307
+ // do_handshake_next(h, NULL, 0);
308
+ // ...
309
+ // }
310
+
311
+ // // This method is the callback function when data is received from the
312
+ // // peer. This method will read bytes into the handshake buffer and call
313
+ // // do_handshake_next.
314
+ // void on_handshake_data_received_from_peer(void *user_data) {
315
+ // security_handshaker *h = (security_handshaker *)user_data;
316
+ // size_t bytes_received_size = h->handshake_buffer_size;
317
+ // read_bytes_from_peer(h->handshake_buffer, &bytes_received_size);
318
+ // do_handshake_next(h, h->handshake_buffer, bytes_received_size);
319
+ // }
320
+
321
+ // // This method processes a step of handshake, calling tsi_handshaker_next.
322
+ // void do_handshake_next(security_handshaker *h,
323
+ // const unsigned char* bytes_received,
324
+ // size_t bytes_received_size) {
325
+ // tsi_result status = TSI_OK;
326
+ // unsigned char *bytes_to_send = NULL;
327
+ // size_t bytes_to_send_size = 0;
328
+ // tsi_handshaker_result *result = NULL;
329
+ // status = tsi_handshaker_next(
330
+ // handshaker, bytes_received, bytes_received_size, &bytes_to_send,
331
+ // &bytes_to_send_size, &result, on_handshake_next_done, h);
332
+ // // If TSI handshaker is asynchronous, on_handshake_next_done will be
333
+ // // executed inside tsi_handshaker_next.
334
+ // if (status == TSI_ASYNC) return;
335
+ // // If TSI handshaker is synchronous, invoke callback directly in this
336
+ // // thread.
337
+ // on_handshake_next_done(status, (void *)h, bytes_to_send,
338
+ // bytes_to_send_size, result);
339
+ // }
340
+
341
+ // // This is the callback function to execute after tsi_handshaker_next.
342
+ // // It is passed to tsi_handshaker_next as a function parameter.
343
+ // void on_handshake_next_done(
344
+ // tsi_result status, void *user_data, const unsigned char *bytes_to_send,
345
+ // size_t bytes_to_send_size, tsi_handshaker_result *result) {
346
+ // security_handshaker *h = (security_handshaker *)user_data;
347
+ // if (status == TSI_INCOMPLETE_DATA) {
348
+ // // Schedule an asynchronous read from the peer. If handshake data are
349
+ // // received, on_handshake_data_received_from_peer will be called.
350
+ // async_read_from_peer(..., ..., on_handshake_data_received_from_peer);
351
+ // return;
352
+ // }
353
+ // if (status != TSI_OK) return;
354
+
355
+ // if (bytes_to_send_size > 0) {
356
+ // send_bytes_to_peer(bytes_to_send, bytes_to_send_size);
357
+ // }
358
+
359
+ // if (result != NULL) {
360
+ // // Handshake completed.
361
+ // h->result = result;
362
+ // // Check the Peer.
363
+ // tsi_peer peer;
364
+ // status = tsi_handshaker_result_extract_peer(result, &peer);
365
+ // if (status != TSI_OK) return;
366
+ // status = check_peer(&peer);
367
+ // tsi_peer_destruct(&peer);
368
+ // if (status != TSI_OK) return;
369
+
370
+ // // Create the protector.
371
+ // tsi_frame_protector* protector = NULL;
372
+ // status = tsi_handshaker_result_create_frame_protector(result, NULL,
373
+ // &protector);
374
+ // if (status != TSI_OK) return;
375
+
376
+ // // Do not forget to unprotect outstanding data if any.
377
+ // ....
378
+ // }
379
+ // }
380
+ // ------------------------------------------------------------------------
379
381
  typedef struct tsi_handshaker tsi_handshaker;
380
382
 
381
- /* TODO(jiangtaoli2016): Cleans up deprecated methods when we are ready. */
382
-
383
- /* TO BE DEPRECATED SOON. Use tsi_handshaker_next instead.
384
- Gets bytes that need to be sent to the peer.
385
- - bytes is the buffer that will be written with the data to be sent to the
386
- peer.
387
- - bytes_size is an input/output parameter specifying the capacity of the
388
- bytes parameter as input and the number of bytes written as output.
389
- Returns TSI_OK if all the data to send to the peer has been written or if
390
- nothing has to be sent to the peer (in which base bytes_size outputs to 0),
391
- otherwise returns TSI_INCOMPLETE_DATA which indicates that this method
392
- needs to be called again to get all the bytes to send to the peer (there
393
- was more data to write than the specified bytes_size). In case of a fatal
394
- error in the handshake, another specific error code is returned. */
383
+ // TODO(jiangtaoli2016): Cleans up deprecated methods when we are ready.
384
+
385
+ // TO BE DEPRECATED SOON. Use tsi_handshaker_next instead.
386
+ // Gets bytes that need to be sent to the peer.
387
+ // - bytes is the buffer that will be written with the data to be sent to the
388
+ // peer.
389
+ // - bytes_size is an input/output parameter specifying the capacity of the
390
+ // bytes parameter as input and the number of bytes written as output.
391
+ // Returns TSI_OK if all the data to send to the peer has been written or if
392
+ // nothing has to be sent to the peer (in which base bytes_size outputs to 0),
393
+ // otherwise returns TSI_INCOMPLETE_DATA which indicates that this method
394
+ // needs to be called again to get all the bytes to send to the peer (there
395
+ // was more data to write than the specified bytes_size). In case of a fatal
396
+ // error in the handshake, another specific error code is returned.
395
397
  tsi_result tsi_handshaker_get_bytes_to_send_to_peer(tsi_handshaker* self,
396
398
  unsigned char* bytes,
397
399
  size_t* bytes_size);
398
400
 
399
- /* TO BE DEPRECATED SOON. Use tsi_handshaker_next instead.
400
- Processes bytes received from the peer.
401
- - bytes is the buffer containing the data.
402
- - bytes_size is an input/output parameter specifying the size of the data as
403
- input and the number of bytes consumed as output.
404
- Return TSI_OK if the handshake has all the data it needs to process,
405
- otherwise return TSI_INCOMPLETE_DATA which indicates that this method
406
- needs to be called again to complete the data needed for processing. In
407
- case of a fatal error in the handshake, another specific error code is
408
- returned. */
401
+ // TO BE DEPRECATED SOON. Use tsi_handshaker_next instead.
402
+ // Processes bytes received from the peer.
403
+ // - bytes is the buffer containing the data.
404
+ // - bytes_size is an input/output parameter specifying the size of the data as
405
+ // input and the number of bytes consumed as output.
406
+ // Return TSI_OK if the handshake has all the data it needs to process,
407
+ // otherwise return TSI_INCOMPLETE_DATA which indicates that this method
408
+ // needs to be called again to complete the data needed for processing. In
409
+ // case of a fatal error in the handshake, another specific error code is
410
+ // returned.
409
411
  tsi_result tsi_handshaker_process_bytes_from_peer(tsi_handshaker* self,
410
412
  const unsigned char* bytes,
411
413
  size_t* bytes_size);
412
414
 
413
- /* TO BE DEPRECATED SOON.
414
- Gets the result of the handshaker.
415
- Returns TSI_OK if the hanshake completed successfully and there has been no
416
- errors. Returns TSI_HANDSHAKE_IN_PROGRESS if the handshaker is not done yet
417
- but no error has been encountered so far. Otherwise the handshaker failed
418
- with the returned error. */
415
+ // TO BE DEPRECATED SOON.
416
+ // Gets the result of the handshaker.
417
+ // Returns TSI_OK if the hanshake completed successfully and there has been no
418
+ // errors. Returns TSI_HANDSHAKE_IN_PROGRESS if the handshaker is not done yet
419
+ // but no error has been encountered so far. Otherwise the handshaker failed
420
+ // with the returned error.
419
421
  tsi_result tsi_handshaker_get_result(tsi_handshaker* self);
420
422
 
421
- /* TO BE DEPRECATED SOON.
422
- Returns 1 if the handshake is in progress, 0 otherwise. */
423
+ // TO BE DEPRECATED SOON.
424
+ // Returns 1 if the handshake is in progress, 0 otherwise.
423
425
  #define tsi_handshaker_is_in_progress(h) \
424
426
  (tsi_handshaker_get_result((h)) == TSI_HANDSHAKE_IN_PROGRESS)
425
427
 
426
- /* TO BE DEPRECATED SOON. Use tsi_handshaker_result_extract_peer instead.
427
- This method may return TSI_FAILED_PRECONDITION if
428
- tsi_handshaker_is_in_progress returns 1, it returns TSI_OK otherwise
429
- assuming the handshaker is not in a fatal error state.
430
- The caller is responsible for destructing the peer. */
428
+ // TO BE DEPRECATED SOON. Use tsi_handshaker_result_extract_peer instead.
429
+ // This method may return TSI_FAILED_PRECONDITION if
430
+ // tsi_handshaker_is_in_progress returns 1, it returns TSI_OK otherwise
431
+ // assuming the handshaker is not in a fatal error state.
432
+ // The caller is responsible for destructing the peer.
431
433
  tsi_result tsi_handshaker_extract_peer(tsi_handshaker* self, tsi_peer* peer);
432
434
 
433
- /* TO BE DEPRECATED SOON. Use tsi_handshaker_result_create_frame_protector
434
- instead.
435
- This method creates a tsi_frame_protector object after the handshake phase
436
- is done. After this method has been called successfully, the only method
437
- that can be called on this object is Destroy.
438
- - max_output_protected_frame_size is an input/output parameter specifying the
439
- desired max output protected frame size as input and outputing the actual
440
- max output frame size as the output. Passing NULL is OK and will result in
441
- the implementation choosing the default maximum protected frame size. Note
442
- that this size only applies to outgoing frames (generated with
443
- tsi_frame_protector_protect) and not incoming frames (input of
444
- tsi_frame_protector_unprotect).
445
- - protector is an output parameter pointing to the newly created
446
- tsi_frame_protector object.
447
- This method may return TSI_FAILED_PRECONDITION if
448
- tsi_handshaker_is_in_progress returns 1, it returns TSI_OK otherwise assuming
449
- the handshaker is not in a fatal error state.
450
- The caller is responsible for destroying the protector. */
435
+ // TO BE DEPRECATED SOON. Use tsi_handshaker_result_create_frame_protector
436
+ // instead.
437
+ // This method creates a tsi_frame_protector object after the handshake phase
438
+ // is done. After this method has been called successfully, the only method
439
+ // that can be called on this object is Destroy.
440
+ // - max_output_protected_frame_size is an input/output parameter specifying the
441
+ // desired max output protected frame size as input and outputing the actual
442
+ // max output frame size as the output. Passing NULL is OK and will result in
443
+ // the implementation choosing the default maximum protected frame size. Note
444
+ // that this size only applies to outgoing frames (generated with
445
+ // tsi_frame_protector_protect) and not incoming frames (input of
446
+ // tsi_frame_protector_unprotect).
447
+ // - protector is an output parameter pointing to the newly created
448
+ // tsi_frame_protector object.
449
+ // This method may return TSI_FAILED_PRECONDITION if
450
+ // tsi_handshaker_is_in_progress returns 1, it returns TSI_OK otherwise assuming
451
+ // the handshaker is not in a fatal error state.
452
+ // The caller is responsible for destroying the protector.
451
453
  tsi_result tsi_handshaker_create_frame_protector(
452
454
  tsi_handshaker* self, size_t* max_output_protected_frame_size,
453
455
  tsi_frame_protector** protector);
454
456
 
455
- /* Callback function definition for tsi_handshaker_next.
456
- - status indicates the status of the next operation.
457
- - user_data is the argument to callback function passed from the caller.
458
- - bytes_to_send is the data buffer to be sent to the peer.
459
- - bytes_to_send_size is the size of data buffer to be sent to the peer.
460
- - handshaker_result is the result of handshake when the handshake completes,
461
- is NULL otherwise. */
457
+ // Callback function definition for tsi_handshaker_next.
458
+ // - status indicates the status of the next operation.
459
+ // - user_data is the argument to callback function passed from the caller.
460
+ // - bytes_to_send is the data buffer to be sent to the peer.
461
+ // - bytes_to_send_size is the size of data buffer to be sent to the peer.
462
+ // - handshaker_result is the result of handshake when the handshake completes,
463
+ // is NULL otherwise.
462
464
  typedef void (*tsi_handshaker_on_next_done_cb)(
463
465
  tsi_result status, void* user_data, const unsigned char* bytes_to_send,
464
466
  size_t bytes_to_send_size, tsi_handshaker_result* handshaker_result);
465
467
 
466
- /* Conduct a next step of the handshake.
467
- - received_bytes is the buffer containing the data received from the peer.
468
- - received_bytes_size is the size of the data received from the peer.
469
- - bytes_to_send is the data buffer to be sent to the peer.
470
- - bytes_to_send_size is the size of data buffer to be sent to the peer.
471
- - handshaker_result is the result of handshake if the handshake completes.
472
- - cb is the callback function defined above. It can be NULL for synchronous
473
- TSI handshaker implementation.
474
- - user_data is the argument to callback function passed from the caller.
475
- This method returns TSI_ASYNC if the TSI handshaker implementation is
476
- asynchronous, and in this case, the callback is guaranteed to run in another
477
- thread owned by TSI. It returns TSI_OK if the handshake completes or if
478
- there are data to send to the peer, otherwise returns TSI_INCOMPLETE_DATA
479
- which indicates that this method needs to be called again with more data
480
- from the peer. In case of a fatal error in the handshake, another specific
481
- error code is returned.
482
- The caller is responsible for destroying the handshaker_result. However,
483
- the caller should not free bytes_to_send, as the buffer is owned by the
484
- tsi_handshaker object. */
485
- tsi_result tsi_handshaker_next(
486
- tsi_handshaker* self, const unsigned char* received_bytes,
487
- size_t received_bytes_size, const unsigned char** bytes_to_send,
488
- size_t* bytes_to_send_size, tsi_handshaker_result** handshaker_result,
489
- tsi_handshaker_on_next_done_cb cb, void* user_data);
490
-
491
- /* This method shuts down a TSI handshake that is in progress.
492
- *
493
- * This method will be invoked when TSI handshake should be terminated before
494
- * being finished in order to free any resources being used.
495
- */
468
+ // Conduct a next step of the handshake.
469
+ // - received_bytes is the buffer containing the data received from the peer.
470
+ // - received_bytes_size is the size of the data received from the peer.
471
+ // - bytes_to_send is the data buffer to be sent to the peer.
472
+ // - bytes_to_send_size is the size of data buffer to be sent to the peer.
473
+ // - handshaker_result is the result of handshake if the handshake completes.
474
+ // - cb is the callback function defined above. It can be NULL for synchronous
475
+ // TSI handshaker implementation.
476
+ // - user_data is the argument to callback function passed from the caller.
477
+ // - error, if non-null, will be populated with a human-readable error
478
+ // message whenever the result value is something other than TSI_OK,
479
+ // TSI_ASYNC, or TSI_INCOMPLETE_DATA. The object pointed to by this
480
+ // argument is owned by the caller and must continue to exist until after the
481
+ // handshake is finished. Some TSI implementations cache this value,
482
+ // so callers must pass the same value to all calls to tsi_handshaker_next()
483
+ // for a given handshake.
484
+ // This method returns TSI_ASYNC if the TSI handshaker implementation is
485
+ // asynchronous, and in this case, the callback is guaranteed to run in another
486
+ // thread owned by TSI. It returns TSI_OK if the handshake completes or if
487
+ // there are data to send to the peer, otherwise returns TSI_INCOMPLETE_DATA
488
+ // which indicates that this method needs to be called again with more data
489
+ // from the peer. In case of a fatal error in the handshake, another specific
490
+ // error code is returned.
491
+ // The caller is responsible for destroying the handshaker_result. However,
492
+ // the caller should not free bytes_to_send, as the buffer is owned by the
493
+ // tsi_handshaker object.
494
+ tsi_result tsi_handshaker_next(tsi_handshaker* self,
495
+ const unsigned char* received_bytes,
496
+ size_t received_bytes_size,
497
+ const unsigned char** bytes_to_send,
498
+ size_t* bytes_to_send_size,
499
+ tsi_handshaker_result** handshaker_result,
500
+ tsi_handshaker_on_next_done_cb cb,
501
+ void* user_data, std::string* error = nullptr);
502
+
503
+ // This method shuts down a TSI handshake that is in progress.
504
+ //
505
+ // This method will be invoked when TSI handshake should be terminated before
506
+ // being finished in order to free any resources being used.
507
+ //
496
508
  void tsi_handshaker_shutdown(tsi_handshaker* self);
497
509
 
498
- /* This method releases the tsi_handshaker object. After this method is called,
499
- no other method can be called on the object. */
510
+ // This method releases the tsi_handshaker object. After this method is called,
511
+ // no other method can be called on the object.
500
512
  void tsi_handshaker_destroy(tsi_handshaker* self);
501
513
 
502
- /* This method initializes the necessary shared objects used for tsi
503
- implementation. */
514
+ // This method initializes the necessary shared objects used for tsi
515
+ // implementation.
504
516
  void tsi_init();
505
517
 
506
- /* This method destroys the shared objects created by tsi_init. */
518
+ // This method destroys the shared objects created by tsi_init.
507
519
  void tsi_destroy();
508
520
 
509
- #endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H */
521
+ #endif // GRPC_SRC_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H