grpc 1.43.1 → 1.53.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 (2346) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +765 -449
  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 +131 -41
  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 -16
  11. data/include/grpc/event_engine/port.h +1 -1
  12. data/include/grpc/event_engine/slice.h +306 -0
  13. data/include/grpc/event_engine/slice_buffer.h +159 -0
  14. data/include/grpc/fork.h +25 -1
  15. data/include/grpc/grpc.h +44 -28
  16. data/include/grpc/grpc_posix.h +21 -20
  17. data/include/grpc/grpc_security.h +47 -50
  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 +5 -85
  25. data/include/grpc/impl/codegen/connectivity_state.h +5 -21
  26. data/include/grpc/impl/codegen/fork.h +4 -25
  27. data/include/grpc/impl/codegen/gpr_types.h +4 -35
  28. data/include/grpc/impl/codegen/grpc_types.h +5 -788
  29. data/include/grpc/impl/codegen/log.h +3 -86
  30. data/include/grpc/impl/codegen/port_platform.h +3 -699
  31. data/include/grpc/impl/codegen/propagation_bits.h +3 -28
  32. data/include/grpc/impl/codegen/slice.h +4 -104
  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 +827 -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 +5 -1
  47. data/include/grpc/slice.h +1 -12
  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/log.h +87 -1
  54. data/include/grpc/support/log_windows.h +1 -1
  55. data/include/grpc/support/port_platform.h +767 -1
  56. data/include/grpc/support/string_util.h +1 -1
  57. data/include/grpc/support/sync.h +35 -2
  58. data/include/grpc/support/sync_abseil.h +11 -1
  59. data/include/grpc/support/sync_custom.h +13 -1
  60. data/include/grpc/support/sync_generic.h +24 -1
  61. data/include/grpc/support/sync_posix.h +27 -1
  62. data/include/grpc/support/sync_windows.h +15 -1
  63. data/include/grpc/support/time.h +31 -6
  64. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +148 -0
  65. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +52 -0
  66. data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +29 -0
  67. data/src/core/ext/filters/census/grpc_context.cc +19 -17
  68. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +315 -0
  69. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +142 -0
  70. data/src/core/ext/filters/channel_idle/idle_filter_state.cc +96 -0
  71. data/src/core/ext/filters/channel_idle/idle_filter_state.h +68 -0
  72. data/src/core/ext/filters/client_channel/backend_metric.cc +22 -15
  73. data/src/core/ext/filters/client_channel/backend_metric.h +21 -11
  74. data/src/core/ext/filters/client_channel/backup_poller.cc +44 -40
  75. data/src/core/ext/filters/client_channel/backup_poller.h +26 -28
  76. data/src/core/ext/filters/client_channel/channel_connectivity.cc +94 -49
  77. data/src/core/ext/filters/client_channel/client_channel.cc +681 -648
  78. data/src/core/ext/filters/client_channel/client_channel.h +106 -61
  79. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +19 -23
  80. data/src/core/ext/filters/client_channel/client_channel_channelz.h +33 -23
  81. data/src/core/ext/filters/client_channel/client_channel_factory.cc +19 -43
  82. data/src/core/ext/filters/client_channel/client_channel_factory.h +11 -11
  83. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +26 -57
  84. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +153 -0
  85. data/src/core/ext/filters/client_channel/client_channel_service_config.h +111 -0
  86. data/src/core/ext/filters/client_channel/config_selector.cc +1 -0
  87. data/src/core/ext/filters/client_channel/config_selector.h +33 -27
  88. data/src/core/ext/filters/client_channel/connector.h +20 -11
  89. data/src/core/ext/filters/client_channel/dynamic_filters.cc +40 -55
  90. data/src/core/ext/filters/client_channel/dynamic_filters.h +22 -13
  91. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +4 -22
  92. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +27 -36
  93. data/src/core/ext/filters/client_channel/health/health_check_client.cc +139 -583
  94. data/src/core/ext/filters/client_channel/health/health_check_client.h +29 -163
  95. data/src/core/ext/filters/client_channel/http_proxy.cc +130 -164
  96. data/src/core/ext/filters/client_channel/http_proxy.h +46 -22
  97. data/src/core/ext/filters/client_channel/lb_call_state_internal.h +39 -0
  98. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +12 -8
  99. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +9 -7
  100. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +49 -0
  101. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +37 -16
  102. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +18 -13
  103. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +71 -134
  104. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +41 -24
  105. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +468 -413
  106. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +27 -35
  107. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +15 -3
  108. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +10 -8
  109. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +18 -20
  110. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +27 -22
  111. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +43 -34
  112. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +30 -29
  113. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +338 -0
  114. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +57 -0
  115. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h +117 -0
  116. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +1129 -0
  117. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +94 -0
  118. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +221 -209
  119. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +488 -480
  120. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +525 -391
  121. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +19 -9
  122. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +726 -701
  123. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +282 -254
  124. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +177 -150
  125. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc +128 -0
  126. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h +71 -0
  127. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +972 -0
  128. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +289 -251
  129. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +274 -201
  130. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +42 -0
  131. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h +64 -0
  132. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +3 -3
  133. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +215 -264
  134. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +213 -215
  135. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +578 -667
  136. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +819 -0
  137. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h +67 -0
  138. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +369 -0
  139. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +4 -0
  140. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +22 -21
  141. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +42 -33
  142. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +678 -336
  143. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +67 -51
  144. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +50 -45
  145. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +109 -119
  146. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +421 -420
  147. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +95 -81
  148. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +18 -18
  149. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +21 -20
  150. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +2 -0
  151. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +22 -22
  152. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +124 -255
  153. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +37 -49
  154. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +21 -6
  155. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +190 -96
  156. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +269 -0
  157. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +121 -0
  158. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +56 -61
  159. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +537 -338
  160. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +6 -4
  161. data/src/core/ext/filters/client_channel/retry_filter.cc +392 -307
  162. data/src/core/ext/filters/client_channel/retry_filter.h +4 -3
  163. data/src/core/ext/filters/client_channel/retry_service_config.cc +198 -232
  164. data/src/core/ext/filters/client_channel/retry_service_config.h +44 -35
  165. data/src/core/ext/filters/client_channel/retry_throttle.cc +37 -60
  166. data/src/core/ext/filters/client_channel/retry_throttle.h +47 -34
  167. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +40 -22
  168. data/src/core/ext/filters/client_channel/subchannel.cc +343 -402
  169. data/src/core/ext/filters/client_channel/subchannel.h +116 -86
  170. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +38 -0
  171. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +17 -77
  172. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +41 -47
  173. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +470 -0
  174. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +222 -0
  175. data/src/core/ext/filters/deadline/deadline_filter.cc +102 -83
  176. data/src/core/ext/filters/deadline/deadline_filter.h +17 -14
  177. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +180 -403
  178. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +41 -9
  179. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +118 -0
  180. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +112 -0
  181. data/src/core/ext/filters/http/client/http_client_filter.cc +123 -548
  182. data/src/core/ext/filters/http/client/http_client_filter.h +55 -25
  183. data/src/core/ext/filters/http/client_authority_filter.cc +60 -129
  184. data/src/core/ext/filters/http/client_authority_filter.h +49 -27
  185. data/src/core/ext/filters/http/http_filters_plugin.cc +53 -60
  186. data/src/core/ext/filters/http/message_compress/compression_filter.cc +307 -0
  187. data/src/core/ext/filters/http/message_compress/compression_filter.h +139 -0
  188. data/src/core/ext/filters/http/server/http_server_filter.cc +116 -474
  189. data/src/core/ext/filters/http/server/http_server_filter.h +58 -24
  190. data/src/core/ext/filters/message_size/message_size_filter.cc +137 -165
  191. data/src/core/ext/filters/message_size/message_size_filter.h +44 -20
  192. data/src/core/ext/filters/rbac/rbac_filter.cc +175 -0
  193. data/src/core/ext/filters/rbac/rbac_filter.h +84 -0
  194. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +819 -0
  195. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +86 -0
  196. data/src/core/ext/filters/server_config_selector/server_config_selector.h +23 -10
  197. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +93 -199
  198. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.h +4 -3
  199. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +219 -0
  200. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +66 -0
  201. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +82 -0
  202. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +93 -0
  203. data/src/core/ext/transport/chttp2/alpn/alpn.cc +18 -18
  204. data/src/core/ext/transport/chttp2/alpn/alpn.h +24 -24
  205. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +316 -137
  206. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +38 -30
  207. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +378 -182
  208. data/src/core/ext/transport/chttp2/server/chttp2_server.h +26 -26
  209. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +24 -24
  210. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +35 -34
  211. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +31 -30
  212. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +29 -29
  213. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +972 -1236
  214. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +36 -25
  215. data/src/core/ext/transport/chttp2/transport/context_list.cc +23 -19
  216. data/src/core/ext/transport/chttp2/transport/context_list.h +32 -29
  217. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +251 -0
  218. data/src/core/ext/transport/chttp2/transport/decode_huff.h +971 -0
  219. data/src/core/ext/transport/chttp2/transport/flow_control.cc +351 -301
  220. data/src/core/ext/transport/chttp2/transport/flow_control.h +249 -326
  221. data/src/core/ext/transport/chttp2/transport/frame.h +22 -26
  222. data/src/core/ext/transport/chttp2/transport/frame_data.cc +85 -235
  223. data/src/core/ext/transport/chttp2/transport/frame_data.h +38 -61
  224. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +41 -36
  225. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +24 -22
  226. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +34 -28
  227. data/src/core/ext/transport/chttp2/transport/frame_ping.h +25 -22
  228. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +40 -26
  229. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +24 -21
  230. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +46 -77
  231. data/src/core/ext/transport/chttp2/transport/frame_settings.h +27 -23
  232. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +34 -33
  233. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +24 -21
  234. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +10 -4
  235. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +432 -422
  236. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +127 -219
  237. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +5 -2
  238. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +15 -4
  239. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +143 -620
  240. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +31 -25
  241. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +162 -61
  242. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +71 -71
  243. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +21 -19
  244. data/src/core/ext/transport/chttp2/transport/http2_settings.h +39 -38
  245. data/src/core/ext/transport/chttp2/transport/http_trace.cc +19 -0
  246. data/src/core/ext/transport/chttp2/transport/http_trace.h +24 -0
  247. data/src/core/ext/transport/chttp2/transport/huffsyms.cc +20 -20
  248. data/src/core/ext/transport/chttp2/transport/huffsyms.h +21 -21
  249. data/src/core/ext/transport/chttp2/transport/internal.h +257 -338
  250. data/src/core/ext/transport/chttp2/transport/parsing.cc +367 -140
  251. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +30 -30
  252. data/src/core/ext/transport/chttp2/transport/stream_map.cc +24 -24
  253. data/src/core/ext/transport/chttp2/transport/stream_map.h +34 -33
  254. data/src/core/ext/transport/chttp2/transport/varint.cc +19 -20
  255. data/src/core/ext/transport/chttp2/transport/varint.h +39 -34
  256. data/src/core/ext/transport/chttp2/transport/writing.cc +199 -227
  257. data/src/core/ext/transport/inproc/inproc_plugin.cc +17 -22
  258. data/src/core/ext/transport/inproc/inproc_transport.cc +252 -347
  259. data/src/core/ext/transport/inproc/inproc_transport.h +23 -24
  260. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +117 -0
  261. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +502 -0
  262. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +122 -0
  263. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +578 -0
  264. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +46 -359
  265. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +280 -1357
  266. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +388 -0
  267. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1953 -0
  268. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +56 -0
  269. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +159 -0
  270. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +64 -0
  271. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +189 -0
  272. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +46 -0
  273. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +128 -0
  274. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +43 -0
  275. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +106 -0
  276. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +43 -0
  277. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +101 -0
  278. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +106 -0
  279. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +613 -0
  280. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +48 -0
  281. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +107 -0
  282. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +14 -12
  283. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +49 -16
  284. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +13 -11
  285. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +53 -23
  286. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +98 -96
  287. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +729 -386
  288. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +191 -173
  289. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1403 -664
  290. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +34 -26
  291. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +212 -91
  292. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +256 -250
  293. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1774 -852
  294. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +10 -8
  295. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +46 -24
  296. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +49 -27
  297. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +276 -99
  298. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +299 -0
  299. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +1437 -0
  300. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +78 -51
  301. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +519 -190
  302. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +11 -8
  303. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +49 -25
  304. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +159 -154
  305. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1178 -584
  306. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +87 -42
  307. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +553 -167
  308. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +9 -7
  309. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +42 -24
  310. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +11 -29
  311. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +45 -101
  312. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +58 -0
  313. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +159 -0
  314. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +108 -104
  315. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +820 -410
  316. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +118 -84
  317. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +813 -358
  318. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +11 -9
  319. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +61 -31
  320. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +164 -108
  321. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1082 -399
  322. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +8 -6
  323. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +32 -17
  324. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +15 -13
  325. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +91 -49
  326. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +29 -12
  327. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +140 -34
  328. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +15 -13
  329. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +97 -49
  330. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +11 -9
  331. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +50 -26
  332. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +34 -32
  333. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +206 -109
  334. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +58 -49
  335. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +405 -191
  336. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +49 -47
  337. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +377 -188
  338. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +9 -7
  339. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +38 -21
  340. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +101 -64
  341. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +684 -261
  342. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +77 -69
  343. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +588 -301
  344. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +21 -15
  345. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +130 -49
  346. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +15 -10
  347. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +98 -41
  348. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +53 -0
  349. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +140 -0
  350. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +58 -55
  351. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +445 -235
  352. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +62 -60
  353. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +442 -237
  354. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +98 -77
  355. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +672 -294
  356. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +46 -36
  357. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +301 -163
  358. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +589 -475
  359. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +4357 -1895
  360. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +25 -19
  361. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +160 -72
  362. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +241 -0
  363. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +1191 -0
  364. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +45 -0
  365. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +101 -0
  366. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +49 -0
  367. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +107 -0
  368. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +15 -13
  369. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +85 -46
  370. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +52 -0
  371. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +138 -0
  372. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +63 -0
  373. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +254 -0
  374. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +47 -0
  375. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +107 -0
  376. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +47 -0
  377. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +98 -0
  378. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +69 -0
  379. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +221 -0
  380. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +33 -0
  381. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +43 -0
  382. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +71 -0
  383. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +226 -0
  384. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +55 -0
  385. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +159 -0
  386. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +8 -6
  387. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +38 -24
  388. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +29 -27
  389. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +208 -113
  390. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +36 -34
  391. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +272 -132
  392. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +71 -0
  393. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +237 -0
  394. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +19 -14
  395. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +113 -43
  396. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +62 -0
  397. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +179 -0
  398. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +239 -197
  399. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1708 -734
  400. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +46 -0
  401. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +98 -0
  402. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +54 -0
  403. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +188 -0
  404. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +111 -0
  405. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +444 -0
  406. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +56 -0
  407. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +192 -0
  408. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +46 -0
  409. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +98 -0
  410. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +3 -1
  411. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -1
  412. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +89 -58
  413. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +606 -235
  414. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +26 -24
  415. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +168 -87
  416. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +100 -71
  417. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +672 -263
  418. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +62 -0
  419. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +168 -0
  420. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +6 -4
  421. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +26 -16
  422. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +185 -66
  423. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1118 -256
  424. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +18 -16
  425. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +115 -62
  426. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +52 -50
  427. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +367 -186
  428. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +48 -0
  429. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +116 -0
  430. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +20 -18
  431. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +140 -82
  432. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +47 -0
  433. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +113 -0
  434. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +74 -0
  435. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +230 -0
  436. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +16 -14
  437. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +107 -57
  438. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +10 -8
  439. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +54 -31
  440. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +10 -8
  441. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +52 -27
  442. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +9 -7
  443. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +42 -24
  444. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +21 -19
  445. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +129 -69
  446. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +43 -0
  447. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +114 -0
  448. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +19 -17
  449. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +131 -65
  450. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +14 -12
  451. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +93 -53
  452. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +23 -21
  453. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +162 -83
  454. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +32 -30
  455. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +258 -146
  456. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +36 -34
  457. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +255 -131
  458. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +66 -0
  459. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +213 -0
  460. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +3 -1
  461. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +2 -1
  462. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +42 -0
  463. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +143 -0
  464. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +13 -11
  465. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +70 -36
  466. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +19 -17
  467. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +110 -52
  468. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +63 -0
  469. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +202 -0
  470. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +26 -0
  471. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +43 -0
  472. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +10 -8
  473. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +44 -19
  474. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +51 -0
  475. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +131 -0
  476. data/src/core/ext/upb-generated/google/api/annotations.upb.c +8 -6
  477. data/src/core/ext/upb-generated/google/api/annotations.upb.h +22 -6
  478. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +109 -103
  479. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +764 -382
  480. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +120 -112
  481. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +843 -402
  482. data/src/core/ext/upb-generated/google/api/http.upb.c +29 -27
  483. data/src/core/ext/upb-generated/google/api/http.upb.h +228 -115
  484. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +46 -0
  485. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +115 -0
  486. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +9 -7
  487. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +42 -22
  488. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +292 -237
  489. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +2198 -1030
  490. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +9 -7
  491. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +40 -20
  492. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +6 -4
  493. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +26 -16
  494. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +31 -29
  495. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +189 -93
  496. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +9 -7
  497. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +40 -20
  498. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +40 -38
  499. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +276 -149
  500. data/src/core/ext/upb-generated/google/rpc/status.upb.c +11 -9
  501. data/src/core/ext/upb-generated/google/rpc/status.upb.h +56 -30
  502. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +84 -0
  503. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +335 -0
  504. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +21 -19
  505. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +107 -48
  506. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +102 -96
  507. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +725 -359
  508. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +16 -13
  509. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +84 -41
  510. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +12 -10
  511. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +64 -35
  512. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +57 -55
  513. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +419 -219
  514. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +22 -20
  515. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +123 -63
  516. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
  517. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +792 -0
  518. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +36 -34
  519. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +201 -78
  520. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +14 -12
  521. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +57 -22
  522. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +7 -5
  523. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +15 -6
  524. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +14 -12
  525. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +59 -24
  526. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +13 -11
  527. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +53 -23
  528. data/src/core/ext/upb-generated/validate/validate.upb.c +339 -312
  529. data/src/core/ext/upb-generated/validate/validate.upb.h +2818 -1180
  530. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +110 -0
  531. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +290 -0
  532. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +55 -0
  533. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +112 -0
  534. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +38 -0
  535. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +46 -0
  536. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +34 -32
  537. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +187 -80
  538. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +53 -0
  539. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +103 -0
  540. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +8 -6
  541. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +34 -19
  542. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +47 -0
  543. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +107 -0
  544. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +18 -16
  545. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +106 -55
  546. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +14 -12
  547. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +57 -30
  548. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +46 -0
  549. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +107 -0
  550. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +12 -10
  551. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +59 -30
  552. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +20 -18
  553. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +138 -70
  554. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +12 -10
  555. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +62 -30
  556. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +24 -21
  557. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +114 -46
  558. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +46 -0
  559. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +113 -0
  560. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +46 -0
  561. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +98 -0
  562. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +62 -0
  563. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +174 -0
  564. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +36 -0
  565. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +74 -0
  566. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +65 -0
  567. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +191 -0
  568. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +207 -0
  569. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +914 -0
  570. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +127 -0
  571. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +474 -0
  572. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +52 -0
  573. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +151 -0
  574. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +65 -0
  575. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +226 -0
  576. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +67 -0
  577. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +214 -0
  578. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +64 -0
  579. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +208 -0
  580. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +10 -9
  581. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +46 -24
  582. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +84 -0
  583. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +55 -0
  584. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +128 -0
  585. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +50 -0
  586. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +73 -278
  587. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +16 -101
  588. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +277 -0
  589. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +125 -0
  590. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +43 -0
  591. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +40 -0
  592. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +56 -0
  593. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +40 -0
  594. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +49 -0
  595. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +35 -0
  596. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +46 -0
  597. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +35 -0
  598. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +46 -0
  599. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
  600. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +142 -0
  601. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +40 -0
  602. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +51 -0
  603. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +35 -0
  604. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +8 -6
  605. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +1 -1
  606. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +8 -6
  607. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +4 -4
  608. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +118 -115
  609. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +46 -46
  610. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +257 -237
  611. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +55 -55
  612. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +58 -51
  613. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +10 -10
  614. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +394 -370
  615. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +73 -78
  616. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +14 -11
  617. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +4 -4
  618. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +23 -16
  619. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +4 -4
  620. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +206 -0
  621. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
  622. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +101 -79
  623. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +27 -22
  624. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +15 -12
  625. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +4 -4
  626. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +203 -194
  627. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +73 -73
  628. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +138 -101
  629. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +26 -16
  630. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +14 -12
  631. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +4 -4
  632. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +22 -34
  633. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +4 -9
  634. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +53 -0
  635. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
  636. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +21 -18
  637. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +43 -43
  638. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +182 -165
  639. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +30 -25
  640. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +14 -12
  641. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +4 -4
  642. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +252 -219
  643. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +53 -43
  644. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +12 -9
  645. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +4 -4
  646. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +14 -11
  647. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +7 -7
  648. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +18 -11
  649. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +9 -4
  650. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +24 -21
  651. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +4 -4
  652. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +13 -11
  653. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +4 -4
  654. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +18 -15
  655. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +13 -13
  656. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +81 -73
  657. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +19 -19
  658. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +18 -15
  659. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +16 -16
  660. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +14 -11
  661. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +4 -4
  662. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +180 -146
  663. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +24 -19
  664. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +153 -147
  665. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +22 -22
  666. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +26 -19
  667. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +4 -4
  668. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +44 -33
  669. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +7 -7
  670. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +69 -0
  671. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
  672. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +17 -14
  673. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +25 -25
  674. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +17 -14
  675. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +28 -28
  676. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +201 -0
  677. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +75 -0
  678. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +91 -74
  679. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +10 -10
  680. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +902 -806
  681. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +180 -160
  682. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +52 -37
  683. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +10 -10
  684. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +199 -0
  685. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +90 -0
  686. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +56 -0
  687. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
  688. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +57 -0
  689. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
  690. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +15 -12
  691. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +7 -7
  692. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +72 -0
  693. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
  694. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +99 -0
  695. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
  696. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +48 -0
  697. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
  698. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +52 -0
  699. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +35 -0
  700. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +71 -0
  701. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
  702. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +61 -0
  703. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +30 -0
  704. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +75 -0
  705. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +40 -0
  706. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +79 -0
  707. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
  708. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +15 -11
  709. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +4 -4
  710. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +17 -14
  711. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +16 -16
  712. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +18 -15
  713. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +10 -10
  714. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +80 -0
  715. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +40 -0
  716. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +59 -44
  717. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +4 -4
  718. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +60 -0
  719. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +40 -0
  720. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +506 -463
  721. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +63 -58
  722. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +50 -0
  723. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +35 -0
  724. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +15 -11
  725. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +1 -1
  726. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +172 -140
  727. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +24 -19
  728. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +19 -16
  729. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +10 -10
  730. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +220 -198
  731. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +24 -19
  732. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +58 -0
  733. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
  734. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +14 -11
  735. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +4 -4
  736. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +163 -88
  737. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +57 -22
  738. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +16 -13
  739. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +7 -7
  740. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +123 -120
  741. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +16 -16
  742. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +46 -0
  743. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +35 -0
  744. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +13 -10
  745. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +13 -13
  746. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +48 -0
  747. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +35 -0
  748. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +52 -0
  749. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +50 -0
  750. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +15 -12
  751. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +7 -7
  752. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +15 -12
  753. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +4 -4
  754. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +15 -12
  755. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +4 -4
  756. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +15 -12
  757. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +4 -4
  758. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +36 -32
  759. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +10 -10
  760. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +40 -0
  761. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +40 -0
  762. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +15 -12
  763. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +7 -7
  764. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +14 -12
  765. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +7 -7
  766. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +16 -13
  767. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +10 -10
  768. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +13 -10
  769. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +22 -22
  770. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +14 -11
  771. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +16 -16
  772. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +53 -0
  773. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +45 -0
  774. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +10 -8
  775. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +1 -1
  776. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +94 -0
  777. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +35 -0
  778. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +12 -10
  779. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +7 -7
  780. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +11 -8
  781. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +10 -10
  782. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +69 -0
  783. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
  784. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +39 -0
  785. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
  786. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +11 -9
  787. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +4 -4
  788. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +57 -0
  789. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +35 -0
  790. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +5 -5
  791. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +1 -1
  792. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +154 -0
  793. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +95 -0
  794. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +153 -0
  795. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +100 -0
  796. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +3 -3
  797. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +10 -10
  798. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +39 -0
  799. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +35 -0
  800. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +3 -3
  801. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +4 -4
  802. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +94 -92
  803. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +82 -82
  804. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +3 -3
  805. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +4 -4
  806. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +3 -3
  807. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +4 -4
  808. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +3 -3
  809. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +13 -13
  810. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +3 -3
  811. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +4 -4
  812. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +3 -3
  813. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +28 -28
  814. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +4 -4
  815. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +4 -4
  816. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +67 -0
  817. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
  818. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
  819. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
  820. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +4 -4
  821. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +10 -10
  822. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +5 -5
  823. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +4 -4
  824. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +4 -4
  825. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +1 -1
  826. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +4 -4
  827. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +4 -4
  828. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +4 -4
  829. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +4 -4
  830. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +6 -6
  831. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +70 -70
  832. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +63 -0
  833. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +45 -0
  834. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +47 -0
  835. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +35 -0
  836. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +35 -0
  837. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +30 -0
  838. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +4 -4
  839. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +13 -13
  840. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +40 -0
  841. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +35 -0
  842. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +5 -5
  843. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +4 -4
  844. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +45 -0
  845. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +35 -0
  846. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +7 -7
  847. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +7 -7
  848. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +4 -4
  849. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +7 -7
  850. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +41 -0
  851. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +35 -0
  852. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +6 -6
  853. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +4 -4
  854. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +6 -6
  855. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +7 -7
  856. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +6 -6
  857. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +4 -4
  858. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +43 -0
  859. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +35 -0
  860. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +51 -0
  861. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +40 -0
  862. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +36 -0
  863. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +35 -0
  864. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +55 -0
  865. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +40 -0
  866. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +126 -0
  867. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
  868. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +71 -0
  869. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +60 -0
  870. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +40 -0
  871. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +40 -0
  872. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +52 -0
  873. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +40 -0
  874. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +60 -0
  875. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +40 -0
  876. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +36 -0
  877. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +45 -0
  878. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +6 -9
  879. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +4 -4
  880. data/src/core/ext/xds/certificate_provider_store.cc +75 -3
  881. data/src/core/ext/xds/certificate_provider_store.h +30 -4
  882. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +21 -14
  883. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +14 -6
  884. data/src/core/ext/xds/upb_utils.h +45 -0
  885. data/src/core/ext/xds/xds_api.cc +294 -3740
  886. data/src/core/ext/xds/xds_api.h +82 -635
  887. data/src/core/ext/xds/xds_bootstrap.cc +10 -446
  888. data/src/core/ext/xds/xds_bootstrap.h +46 -83
  889. data/src/core/ext/xds/xds_bootstrap_grpc.cc +362 -0
  890. data/src/core/ext/xds/xds_bootstrap_grpc.h +184 -0
  891. data/src/core/ext/xds/xds_certificate_provider.cc +36 -25
  892. data/src/core/ext/xds/xds_certificate_provider.h +37 -4
  893. data/src/core/ext/xds/xds_channel_args.h +3 -3
  894. data/src/core/ext/xds/xds_channel_stack_modifier.cc +27 -20
  895. data/src/core/ext/xds/xds_channel_stack_modifier.h +20 -7
  896. data/src/core/ext/xds/xds_client.cc +1247 -2097
  897. data/src/core/ext/xds/xds_client.h +159 -204
  898. data/src/core/ext/xds/xds_client_grpc.cc +235 -0
  899. data/src/core/ext/xds/xds_client_grpc.h +79 -0
  900. data/src/core/ext/xds/xds_client_stats.cc +35 -36
  901. data/src/core/ext/xds/xds_client_stats.h +31 -28
  902. data/src/core/ext/xds/xds_cluster.cc +711 -0
  903. data/src/core/ext/xds/xds_cluster.h +137 -0
  904. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +132 -0
  905. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +97 -0
  906. data/src/core/ext/xds/xds_common_types.cc +503 -0
  907. data/src/core/ext/xds/xds_common_types.h +108 -0
  908. data/src/core/ext/xds/xds_endpoint.cc +474 -0
  909. data/src/core/ext/xds/xds_endpoint.h +139 -0
  910. data/src/core/ext/xds/xds_health_status.cc +80 -0
  911. data/src/core/ext/xds/xds_health_status.h +109 -0
  912. data/src/core/ext/xds/xds_http_fault_filter.cc +68 -59
  913. data/src/core/ext/xds/xds_http_fault_filter.h +20 -26
  914. data/src/core/ext/xds/xds_http_filters.cc +71 -66
  915. data/src/core/ext/xds/xds_http_filters.h +74 -26
  916. data/src/core/ext/xds/xds_http_rbac_filter.cc +506 -0
  917. data/src/core/ext/xds/xds_http_rbac_filter.h +58 -0
  918. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +218 -0
  919. data/src/core/ext/xds/xds_http_stateful_session_filter.h +58 -0
  920. data/src/core/ext/xds/xds_lb_policy_registry.cc +334 -0
  921. data/src/core/ext/xds/xds_lb_policy_registry.h +71 -0
  922. data/src/core/ext/xds/xds_listener.cc +1131 -0
  923. data/src/core/ext/xds/xds_listener.h +226 -0
  924. data/src/core/ext/xds/xds_resource_type.h +104 -0
  925. data/src/core/ext/xds/xds_resource_type_impl.h +88 -0
  926. data/src/core/ext/xds/xds_route_config.cc +1144 -0
  927. data/src/core/ext/xds/xds_route_config.h +252 -0
  928. data/src/core/ext/xds/xds_routing.cc +33 -16
  929. data/src/core/ext/xds/xds_routing.h +25 -17
  930. data/src/core/ext/xds/xds_server_config_fetcher.cc +386 -281
  931. data/src/core/ext/xds/xds_transport.h +86 -0
  932. data/src/core/ext/xds/xds_transport_grpc.cc +356 -0
  933. data/src/core/ext/xds/xds_transport_grpc.h +135 -0
  934. data/src/core/lib/address_utils/parse_address.cc +55 -35
  935. data/src/core/lib/address_utils/parse_address.h +46 -37
  936. data/src/core/lib/address_utils/sockaddr_utils.cc +112 -79
  937. data/src/core/lib/address_utils/sockaddr_utils.h +45 -55
  938. data/src/core/lib/avl/avl.h +100 -13
  939. data/src/core/lib/backoff/backoff.cc +26 -57
  940. data/src/core/lib/backoff/backoff.h +32 -32
  941. data/src/core/lib/channel/call_finalization.h +88 -0
  942. data/src/core/lib/channel/call_tracer.h +27 -9
  943. data/src/core/lib/channel/channel_args.cc +291 -65
  944. data/src/core/lib/channel/channel_args.h +461 -54
  945. data/src/core/lib/channel/channel_args_preconditioning.cc +6 -10
  946. data/src/core/lib/channel/channel_args_preconditioning.h +7 -7
  947. data/src/core/lib/channel/channel_fwd.h +26 -0
  948. data/src/core/lib/channel/channel_stack.cc +100 -53
  949. data/src/core/lib/channel/channel_stack.h +212 -130
  950. data/src/core/lib/channel/channel_stack_builder.cc +35 -295
  951. data/src/core/lib/channel/channel_stack_builder.h +115 -153
  952. data/src/core/lib/channel/channel_stack_builder_impl.cc +126 -0
  953. data/src/core/lib/channel/channel_stack_builder_impl.h +48 -0
  954. data/src/core/lib/channel/channel_trace.cc +29 -39
  955. data/src/core/lib/channel/channel_trace.h +27 -24
  956. data/src/core/lib/channel/channelz.cc +51 -65
  957. data/src/core/lib/channel/channelz.h +50 -33
  958. data/src/core/lib/channel/channelz_registry.cc +28 -36
  959. data/src/core/lib/channel/channelz_registry.h +31 -30
  960. data/src/core/lib/channel/connected_channel.cc +1269 -75
  961. data/src/core/lib/channel/connected_channel.h +23 -24
  962. data/src/core/lib/channel/context.h +36 -21
  963. data/src/core/lib/channel/promise_based_filter.cc +2521 -0
  964. data/src/core/lib/channel/promise_based_filter.h +937 -0
  965. data/src/core/lib/channel/status_util.cc +64 -17
  966. data/src/core/lib/channel/status_util.h +38 -24
  967. data/src/core/lib/compression/compression.cc +44 -131
  968. data/src/core/lib/compression/compression_internal.cc +189 -230
  969. data/src/core/lib/compression/compression_internal.h +90 -94
  970. data/src/core/lib/compression/message_compress.cc +39 -37
  971. data/src/core/lib/compression/message_compress.h +30 -31
  972. data/src/core/lib/config/core_configuration.cc +15 -2
  973. data/src/core/lib/config/core_configuration.h +125 -39
  974. data/src/core/lib/debug/event_log.cc +88 -0
  975. data/src/core/lib/debug/event_log.h +81 -0
  976. data/src/core/lib/debug/histogram_view.cc +69 -0
  977. data/src/core/lib/debug/histogram_view.h +37 -0
  978. data/src/core/lib/debug/stats.cc +48 -152
  979. data/src/core/lib/debug/stats.h +50 -57
  980. data/src/core/lib/debug/stats_data.cc +302 -649
  981. data/src/core/lib/debug/stats_data.h +293 -548
  982. data/src/core/lib/debug/trace.cc +18 -20
  983. data/src/core/lib/debug/trace.h +27 -48
  984. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +16 -17
  985. data/src/core/lib/event_engine/channel_args_endpoint_config.h +16 -9
  986. data/src/core/lib/event_engine/common_closures.h +71 -0
  987. data/src/core/lib/event_engine/default_event_engine.cc +99 -0
  988. data/src/core/lib/event_engine/default_event_engine.h +73 -0
  989. data/src/core/lib/event_engine/default_event_engine_factory.cc +48 -0
  990. data/src/core/lib/event_engine/default_event_engine_factory.h +33 -0
  991. data/src/core/lib/event_engine/event_engine.cc +3 -15
  992. data/src/core/lib/event_engine/executor/executor.h +38 -0
  993. data/src/core/lib/event_engine/forkable.cc +106 -0
  994. data/src/core/lib/event_engine/forkable.h +61 -0
  995. data/src/core/lib/event_engine/handle_containers.h +74 -0
  996. data/src/core/lib/event_engine/memory_allocator.cc +19 -15
  997. data/src/core/lib/event_engine/poller.h +62 -0
  998. data/src/core/lib/event_engine/posix.h +158 -0
  999. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +642 -0
  1000. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +139 -0
  1001. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +899 -0
  1002. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +97 -0
  1003. data/src/core/lib/event_engine/posix_engine/event_poller.h +111 -0
  1004. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +74 -0
  1005. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +33 -0
  1006. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +77 -0
  1007. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +179 -0
  1008. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +265 -0
  1009. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +73 -0
  1010. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1305 -0
  1011. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +717 -0
  1012. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +640 -0
  1013. data/src/core/lib/event_engine/posix_engine/posix_engine.h +259 -0
  1014. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +80 -0
  1015. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +289 -0
  1016. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +279 -0
  1017. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +379 -0
  1018. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +91 -0
  1019. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +853 -0
  1020. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +316 -0
  1021. data/src/core/lib/event_engine/posix_engine/timer.cc +311 -0
  1022. data/src/core/lib/event_engine/posix_engine/timer.h +194 -0
  1023. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +107 -0
  1024. data/src/core/lib/event_engine/posix_engine/timer_heap.h +56 -0
  1025. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +173 -0
  1026. data/src/core/lib/event_engine/posix_engine/timer_manager.h +114 -0
  1027. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +332 -0
  1028. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +185 -0
  1029. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +127 -0
  1030. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +45 -0
  1031. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +150 -0
  1032. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +45 -0
  1033. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +76 -0
  1034. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +67 -0
  1035. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +37 -0
  1036. data/src/core/lib/event_engine/resolved_address.cc +60 -0
  1037. data/src/core/lib/event_engine/resolved_address_internal.h +34 -0
  1038. data/src/core/lib/event_engine/shim.cc +56 -0
  1039. data/src/core/lib/event_engine/shim.h +33 -0
  1040. data/src/core/lib/event_engine/slice.cc +103 -0
  1041. data/src/core/lib/event_engine/slice_buffer.cc +50 -0
  1042. data/src/core/lib/event_engine/tcp_socket_utils.cc +389 -0
  1043. data/src/core/lib/event_engine/tcp_socket_utils.h +90 -0
  1044. data/src/core/lib/event_engine/thread_local.cc +29 -0
  1045. data/src/core/lib/event_engine/thread_local.h +32 -0
  1046. data/src/core/lib/event_engine/thread_pool.cc +253 -0
  1047. data/src/core/lib/event_engine/thread_pool.h +141 -0
  1048. data/src/core/lib/event_engine/time_util.cc +30 -0
  1049. data/src/core/lib/event_engine/time_util.h +32 -0
  1050. data/src/core/lib/event_engine/trace.cc +24 -0
  1051. data/src/core/lib/event_engine/trace.h +43 -0
  1052. data/src/core/lib/event_engine/utils.cc +44 -0
  1053. data/src/core/lib/event_engine/utils.h +44 -0
  1054. data/src/core/lib/event_engine/windows/iocp.cc +140 -0
  1055. data/src/core/lib/event_engine/windows/iocp.h +69 -0
  1056. data/src/core/lib/event_engine/windows/win_socket.cc +219 -0
  1057. data/src/core/lib/event_engine/windows/win_socket.h +129 -0
  1058. data/src/core/lib/event_engine/windows/windows_endpoint.cc +331 -0
  1059. data/src/core/lib/event_engine/windows/windows_endpoint.h +103 -0
  1060. data/src/core/lib/event_engine/windows/windows_engine.cc +388 -0
  1061. data/src/core/lib/event_engine/windows/windows_engine.h +163 -0
  1062. data/src/core/lib/experiments/config.cc +161 -0
  1063. data/src/core/lib/experiments/config.h +53 -0
  1064. data/src/core/lib/experiments/experiments.cc +81 -0
  1065. data/src/core/lib/experiments/experiments.h +117 -0
  1066. data/src/core/lib/gpr/alloc.cc +19 -25
  1067. data/src/core/lib/gpr/alloc.h +20 -20
  1068. data/src/core/lib/gpr/atm.cc +17 -17
  1069. data/src/core/lib/gpr/cpu_iphone.cc +24 -24
  1070. data/src/core/lib/gpr/cpu_linux.cc +28 -23
  1071. data/src/core/lib/gpr/cpu_posix.cc +23 -22
  1072. data/src/core/lib/gpr/cpu_windows.cc +20 -18
  1073. data/src/core/lib/gpr/log.cc +30 -17
  1074. data/src/core/lib/gpr/log_android.cc +22 -20
  1075. data/src/core/lib/gpr/log_linux.cc +24 -24
  1076. data/src/core/lib/gpr/log_posix.cc +20 -19
  1077. data/src/core/lib/gpr/log_windows.cc +25 -25
  1078. data/src/core/lib/gpr/spinlock.h +20 -20
  1079. data/src/core/lib/gpr/string.cc +25 -24
  1080. data/src/core/lib/gpr/string.h +61 -61
  1081. data/src/core/lib/gpr/string_posix.cc +24 -24
  1082. data/src/core/lib/gpr/string_util_windows.cc +25 -52
  1083. data/src/core/lib/gpr/string_windows.cc +24 -24
  1084. data/src/core/lib/gpr/sync.cc +25 -25
  1085. data/src/core/lib/gpr/sync_abseil.cc +36 -40
  1086. data/src/core/lib/gpr/sync_posix.cc +23 -34
  1087. data/src/core/lib/gpr/sync_windows.cc +29 -27
  1088. data/src/core/lib/gpr/time.cc +36 -31
  1089. data/src/core/lib/gpr/time_posix.cc +41 -45
  1090. data/src/core/lib/gpr/time_precise.cc +22 -22
  1091. data/src/core/lib/gpr/time_precise.h +21 -22
  1092. data/src/core/lib/gpr/time_windows.cc +35 -29
  1093. data/src/core/lib/gpr/tmpfile.h +24 -24
  1094. data/src/core/lib/gpr/tmpfile_msys.cc +21 -20
  1095. data/src/core/lib/gpr/tmpfile_posix.cc +22 -20
  1096. data/src/core/lib/gpr/tmpfile_windows.cc +28 -29
  1097. data/src/core/lib/gpr/useful.h +101 -30
  1098. data/src/core/lib/gpr/wrap_memcpy.cc +23 -23
  1099. data/src/core/lib/gprpp/atomic_utils.h +20 -20
  1100. data/src/core/lib/gprpp/bitset.h +54 -17
  1101. data/src/core/lib/gprpp/chunked_vector.h +52 -6
  1102. data/src/core/lib/gprpp/construct_destruct.h +4 -3
  1103. data/src/core/lib/gprpp/cpp_impl_of.h +7 -3
  1104. data/src/core/lib/gprpp/crash.cc +33 -0
  1105. data/src/core/lib/gprpp/crash.h +34 -0
  1106. data/src/core/lib/gprpp/debug_location.h +62 -31
  1107. data/src/core/lib/gprpp/dual_ref_counted.h +4 -7
  1108. data/src/core/lib/gprpp/env.h +53 -0
  1109. data/src/core/lib/gprpp/env_linux.cc +80 -0
  1110. data/src/core/lib/gprpp/env_posix.cc +47 -0
  1111. data/src/core/lib/gprpp/env_windows.cc +56 -0
  1112. data/src/core/lib/gprpp/examine_stack.cc +17 -17
  1113. data/src/core/lib/gprpp/examine_stack.h +21 -22
  1114. data/src/core/lib/gprpp/fork.cc +58 -53
  1115. data/src/core/lib/gprpp/fork.h +29 -35
  1116. data/src/core/lib/gprpp/global_config.h +22 -24
  1117. data/src/core/lib/gprpp/global_config_custom.h +20 -20
  1118. data/src/core/lib/gprpp/global_config_env.cc +28 -25
  1119. data/src/core/lib/gprpp/global_config_env.h +29 -27
  1120. data/src/core/lib/gprpp/global_config_generic.h +21 -25
  1121. data/src/core/lib/gprpp/host_port.cc +30 -26
  1122. data/src/core/lib/gprpp/host_port.h +32 -31
  1123. data/src/core/lib/gprpp/load_file.cc +75 -0
  1124. data/src/core/lib/gprpp/load_file.h +33 -0
  1125. data/src/core/lib/gprpp/manual_constructor.h +21 -89
  1126. data/src/core/lib/gprpp/match.h +75 -0
  1127. data/src/core/lib/gprpp/memory.h +22 -26
  1128. data/src/core/lib/gprpp/mpscq.cc +17 -17
  1129. data/src/core/lib/gprpp/mpscq.h +21 -21
  1130. data/src/core/lib/gprpp/no_destruct.h +95 -0
  1131. data/src/core/lib/gprpp/notification.h +67 -0
  1132. data/src/core/lib/gprpp/orphanable.h +22 -25
  1133. data/src/core/lib/gprpp/overload.h +59 -0
  1134. data/src/core/lib/gprpp/packed_table.h +40 -0
  1135. data/src/core/lib/gprpp/per_cpu.h +46 -0
  1136. data/src/core/lib/gprpp/ref_counted.h +24 -24
  1137. data/src/core/lib/gprpp/ref_counted_ptr.h +42 -55
  1138. data/src/core/lib/gprpp/single_set_ptr.h +87 -0
  1139. data/src/core/lib/gprpp/sorted_pack.h +98 -0
  1140. data/src/core/lib/gprpp/stat.h +3 -5
  1141. data/src/core/lib/gprpp/stat_posix.cc +10 -4
  1142. data/src/core/lib/gprpp/stat_windows.cc +4 -2
  1143. data/src/core/lib/gprpp/status_helper.cc +79 -51
  1144. data/src/core/lib/gprpp/status_helper.h +19 -24
  1145. data/src/core/lib/gprpp/strerror.cc +43 -0
  1146. data/src/core/lib/gprpp/strerror.h +29 -0
  1147. data/src/core/lib/gprpp/sync.h +26 -24
  1148. data/src/core/lib/gprpp/table.h +33 -4
  1149. data/src/core/lib/gprpp/tchar.cc +49 -0
  1150. data/src/core/lib/gprpp/tchar.h +33 -0
  1151. data/src/core/lib/gprpp/thd.h +25 -28
  1152. data/src/core/lib/gprpp/thd_posix.cc +33 -32
  1153. data/src/core/lib/gprpp/thd_windows.cc +28 -26
  1154. data/src/core/lib/gprpp/time.cc +241 -0
  1155. data/src/core/lib/gprpp/time.h +366 -0
  1156. data/src/core/lib/gprpp/time_averaged_stats.cc +60 -0
  1157. data/src/core/lib/gprpp/time_averaged_stats.h +79 -0
  1158. data/src/core/lib/gprpp/time_util.cc +4 -0
  1159. data/src/core/lib/gprpp/time_util.h +3 -3
  1160. data/src/core/lib/gprpp/unique_type_name.h +104 -0
  1161. data/src/core/lib/gprpp/validation_errors.cc +61 -0
  1162. data/src/core/lib/gprpp/validation_errors.h +127 -0
  1163. data/src/core/lib/gprpp/work_serializer.cc +247 -0
  1164. data/src/core/lib/gprpp/work_serializer.h +86 -0
  1165. data/src/core/lib/handshaker/proxy_mapper.h +53 -0
  1166. data/src/core/lib/handshaker/proxy_mapper_registry.cc +71 -0
  1167. data/src/core/lib/handshaker/proxy_mapper_registry.h +75 -0
  1168. data/src/core/lib/http/format_request.cc +81 -47
  1169. data/src/core/lib/http/format_request.h +30 -27
  1170. data/src/core/lib/http/httpcli.cc +328 -262
  1171. data/src/core/lib/http/httpcli.h +256 -115
  1172. data/src/core/lib/http/httpcli_security_connector.cc +101 -104
  1173. data/src/core/lib/http/httpcli_ssl_credentials.h +39 -0
  1174. data/src/core/lib/http/parser.cc +144 -85
  1175. data/src/core/lib/http/parser.h +51 -35
  1176. data/src/core/lib/iomgr/block_annotate.h +23 -23
  1177. data/src/core/lib/iomgr/buffer_list.cc +156 -136
  1178. data/src/core/lib/iomgr/buffer_list.h +128 -106
  1179. data/src/core/lib/iomgr/call_combiner.cc +37 -58
  1180. data/src/core/lib/iomgr/call_combiner.h +24 -25
  1181. data/src/core/lib/iomgr/cfstream_handle.cc +33 -36
  1182. data/src/core/lib/iomgr/cfstream_handle.h +25 -25
  1183. data/src/core/lib/iomgr/closure.cc +27 -0
  1184. data/src/core/lib/iomgr/closure.h +111 -54
  1185. data/src/core/lib/iomgr/combiner.cc +29 -26
  1186. data/src/core/lib/iomgr/combiner.h +20 -20
  1187. data/src/core/lib/iomgr/dualstack_socket_posix.cc +21 -21
  1188. data/src/core/lib/iomgr/dynamic_annotations.h +22 -22
  1189. data/src/core/lib/iomgr/endpoint.cc +21 -21
  1190. data/src/core/lib/iomgr/endpoint.h +53 -51
  1191. data/src/core/lib/iomgr/endpoint_cfstream.cc +51 -47
  1192. data/src/core/lib/iomgr/endpoint_cfstream.h +32 -32
  1193. data/src/core/lib/iomgr/endpoint_pair.h +20 -20
  1194. data/src/core/lib/iomgr/endpoint_pair_posix.cc +34 -27
  1195. data/src/core/lib/iomgr/endpoint_pair_windows.cc +30 -21
  1196. data/src/core/lib/iomgr/error.cc +52 -832
  1197. data/src/core/lib/iomgr/error.h +45 -319
  1198. data/src/core/lib/iomgr/error_cfstream.cc +18 -23
  1199. data/src/core/lib/iomgr/error_cfstream.h +21 -21
  1200. data/src/core/lib/iomgr/ev_apple.cc +27 -26
  1201. data/src/core/lib/iomgr/ev_apple.h +21 -21
  1202. data/src/core/lib/iomgr/ev_epoll1_linux.cc +270 -254
  1203. data/src/core/lib/iomgr/ev_epoll1_linux.h +21 -21
  1204. data/src/core/lib/iomgr/ev_poll_posix.cc +302 -277
  1205. data/src/core/lib/iomgr/ev_poll_posix.h +22 -22
  1206. data/src/core/lib/iomgr/ev_posix.cc +91 -125
  1207. data/src/core/lib/iomgr/ev_posix.h +94 -88
  1208. data/src/core/lib/iomgr/ev_windows.cc +18 -18
  1209. data/src/core/lib/iomgr/event_engine_shims/closure.cc +62 -0
  1210. data/src/core/lib/iomgr/event_engine_shims/closure.h +39 -0
  1211. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +430 -0
  1212. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +43 -0
  1213. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +91 -0
  1214. data/src/core/lib/iomgr/event_engine_shims/tcp_client.h +44 -0
  1215. data/src/core/lib/iomgr/exec_ctx.cc +45 -139
  1216. data/src/core/lib/iomgr/exec_ctx.h +154 -195
  1217. data/src/core/lib/iomgr/executor.cc +25 -26
  1218. data/src/core/lib/iomgr/executor.h +27 -30
  1219. data/src/core/lib/iomgr/fork_posix.cc +30 -26
  1220. data/src/core/lib/iomgr/fork_windows.cc +21 -21
  1221. data/src/core/lib/iomgr/gethostname.h +20 -20
  1222. data/src/core/lib/iomgr/gethostname_fallback.cc +17 -17
  1223. data/src/core/lib/iomgr/gethostname_host_name_max.cc +17 -17
  1224. data/src/core/lib/iomgr/gethostname_sysconf.cc +17 -17
  1225. data/src/core/lib/iomgr/grpc_if_nametoindex.h +22 -22
  1226. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +20 -19
  1227. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +20 -19
  1228. data/src/core/lib/iomgr/internal_errqueue.cc +41 -48
  1229. data/src/core/lib/iomgr/internal_errqueue.h +84 -89
  1230. data/src/core/lib/iomgr/iocp_windows.cc +31 -31
  1231. data/src/core/lib/iomgr/iocp_windows.h +22 -22
  1232. data/src/core/lib/iomgr/iomgr.cc +25 -20
  1233. data/src/core/lib/iomgr/iomgr.h +35 -35
  1234. data/src/core/lib/iomgr/iomgr_fwd.h +26 -0
  1235. data/src/core/lib/iomgr/iomgr_internal.cc +17 -17
  1236. data/src/core/lib/iomgr/iomgr_internal.h +28 -28
  1237. data/src/core/lib/iomgr/iomgr_posix.cc +22 -21
  1238. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +22 -20
  1239. data/src/core/lib/iomgr/iomgr_windows.cc +25 -23
  1240. data/src/core/lib/iomgr/load_file.cc +24 -27
  1241. data/src/core/lib/iomgr/load_file.h +22 -22
  1242. data/src/core/lib/iomgr/lockfree_event.cc +114 -131
  1243. data/src/core/lib/iomgr/lockfree_event.h +23 -23
  1244. data/src/core/lib/iomgr/nameser.h +86 -86
  1245. data/src/core/lib/iomgr/polling_entity.cc +25 -21
  1246. data/src/core/lib/iomgr/polling_entity.h +35 -29
  1247. data/src/core/lib/iomgr/pollset.cc +18 -18
  1248. data/src/core/lib/iomgr/pollset.h +60 -60
  1249. data/src/core/lib/iomgr/pollset_set.cc +17 -17
  1250. data/src/core/lib/iomgr/pollset_set.h +26 -28
  1251. data/src/core/lib/iomgr/pollset_set_windows.cc +18 -18
  1252. data/src/core/lib/iomgr/pollset_set_windows.h +20 -20
  1253. data/src/core/lib/iomgr/pollset_windows.cc +34 -33
  1254. data/src/core/lib/iomgr/pollset_windows.h +24 -24
  1255. data/src/core/lib/iomgr/port.h +59 -42
  1256. data/src/core/lib/iomgr/python_util.h +24 -24
  1257. data/src/core/lib/iomgr/resolve_address.cc +34 -39
  1258. data/src/core/lib/iomgr/resolve_address.h +100 -67
  1259. data/src/core/lib/iomgr/resolve_address_impl.h +59 -0
  1260. data/src/core/lib/iomgr/resolve_address_posix.cc +133 -98
  1261. data/src/core/lib/iomgr/resolve_address_posix.h +63 -0
  1262. data/src/core/lib/iomgr/resolve_address_windows.cc +129 -84
  1263. data/src/core/lib/iomgr/resolve_address_windows.h +63 -0
  1264. data/src/core/lib/iomgr/resolved_address.h +39 -0
  1265. data/src/core/lib/iomgr/sockaddr.h +25 -26
  1266. data/src/core/lib/iomgr/sockaddr_posix.h +23 -21
  1267. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +64 -0
  1268. data/src/core/lib/iomgr/sockaddr_windows.h +23 -21
  1269. data/src/core/lib/iomgr/socket_factory_posix.cc +18 -18
  1270. data/src/core/lib/iomgr/socket_factory_posix.h +32 -32
  1271. data/src/core/lib/iomgr/socket_mutator.cc +19 -18
  1272. data/src/core/lib/iomgr/socket_mutator.h +39 -39
  1273. data/src/core/lib/iomgr/socket_utils.h +27 -27
  1274. data/src/core/lib/iomgr/socket_utils_common_posix.cc +82 -118
  1275. data/src/core/lib/iomgr/socket_utils_linux.cc +18 -17
  1276. data/src/core/lib/iomgr/socket_utils_posix.cc +103 -19
  1277. data/src/core/lib/iomgr/socket_utils_posix.h +176 -84
  1278. data/src/core/lib/iomgr/socket_utils_windows.cc +20 -19
  1279. data/src/core/lib/iomgr/socket_windows.cc +37 -36
  1280. data/src/core/lib/iomgr/socket_windows.h +59 -61
  1281. data/src/core/lib/iomgr/systemd_utils.cc +116 -0
  1282. data/src/core/lib/iomgr/systemd_utils.h +33 -0
  1283. data/src/core/lib/iomgr/tcp_client.cc +28 -24
  1284. data/src/core/lib/iomgr/tcp_client.h +49 -37
  1285. data/src/core/lib/iomgr/tcp_client_cfstream.cc +46 -35
  1286. data/src/core/lib/iomgr/tcp_client_posix.cc +244 -106
  1287. data/src/core/lib/iomgr/tcp_client_posix.h +55 -52
  1288. data/src/core/lib/iomgr/tcp_client_windows.cc +73 -53
  1289. data/src/core/lib/iomgr/tcp_posix.cc +563 -361
  1290. data/src/core/lib/iomgr/tcp_posix.h +32 -30
  1291. data/src/core/lib/iomgr/tcp_server.cc +33 -24
  1292. data/src/core/lib/iomgr/tcp_server.h +78 -69
  1293. data/src/core/lib/iomgr/tcp_server_posix.cc +402 -145
  1294. data/src/core/lib/iomgr/tcp_server_utils_posix.h +68 -55
  1295. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +121 -82
  1296. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +47 -43
  1297. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +19 -19
  1298. data/src/core/lib/iomgr/tcp_server_windows.cc +116 -118
  1299. data/src/core/lib/iomgr/tcp_windows.cc +123 -98
  1300. data/src/core/lib/iomgr/tcp_windows.h +34 -35
  1301. data/src/core/lib/iomgr/timer.cc +19 -19
  1302. data/src/core/lib/iomgr/timer.h +78 -73
  1303. data/src/core/lib/iomgr/timer_generic.cc +214 -204
  1304. data/src/core/lib/iomgr/timer_generic.h +21 -21
  1305. data/src/core/lib/iomgr/timer_heap.cc +25 -25
  1306. data/src/core/lib/iomgr/timer_heap.h +22 -22
  1307. data/src/core/lib/iomgr/timer_manager.cc +44 -43
  1308. data/src/core/lib/iomgr/timer_manager.h +27 -27
  1309. data/src/core/lib/iomgr/unix_sockets_posix.cc +38 -51
  1310. data/src/core/lib/iomgr/unix_sockets_posix.h +25 -28
  1311. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +25 -32
  1312. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +23 -23
  1313. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +23 -23
  1314. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +29 -26
  1315. data/src/core/lib/iomgr/wakeup_fd_pipe.h +20 -20
  1316. data/src/core/lib/iomgr/wakeup_fd_posix.cc +33 -30
  1317. data/src/core/lib/iomgr/wakeup_fd_posix.h +52 -54
  1318. data/src/core/lib/json/json.h +23 -27
  1319. data/src/core/lib/json/json_args.h +34 -0
  1320. data/src/core/lib/json/json_channel_args.h +42 -0
  1321. data/src/core/lib/json/json_object_loader.cc +217 -0
  1322. data/src/core/lib/json/json_object_loader.h +634 -0
  1323. data/src/core/lib/json/json_reader.cc +123 -90
  1324. data/src/core/lib/json/json_util.cc +17 -37
  1325. data/src/core/lib/json/json_util.h +21 -12
  1326. data/src/core/lib/json/json_writer.cc +62 -57
  1327. data/src/core/lib/load_balancing/lb_policy.cc +102 -0
  1328. data/src/core/lib/load_balancing/lb_policy.h +442 -0
  1329. data/src/core/lib/load_balancing/lb_policy_factory.h +49 -0
  1330. data/src/core/lib/load_balancing/lb_policy_registry.cc +142 -0
  1331. data/src/core/lib/load_balancing/lb_policy_registry.h +82 -0
  1332. data/src/core/lib/load_balancing/subchannel_interface.h +135 -0
  1333. data/src/core/lib/matchers/matchers.cc +13 -8
  1334. data/src/core/lib/matchers/matchers.h +5 -3
  1335. data/src/core/lib/promise/activity.cc +36 -15
  1336. data/src/core/lib/promise/activity.h +287 -188
  1337. data/src/core/lib/promise/arena_promise.h +231 -0
  1338. data/src/core/lib/promise/context.h +18 -11
  1339. data/src/core/lib/promise/detail/basic_join.h +197 -0
  1340. data/src/core/lib/promise/detail/basic_seq.h +104 -20
  1341. data/src/core/lib/promise/detail/promise_factory.h +62 -15
  1342. data/src/core/lib/promise/detail/promise_like.h +3 -3
  1343. data/src/core/lib/promise/detail/status.h +37 -3
  1344. data/src/core/lib/promise/detail/switch.h +21 -21
  1345. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +23 -15
  1346. data/src/core/lib/promise/if.h +195 -0
  1347. data/src/core/lib/promise/interceptor_list.h +308 -0
  1348. data/src/core/lib/promise/intra_activity_waiter.h +55 -0
  1349. data/src/core/lib/promise/latch.h +191 -0
  1350. data/src/core/lib/promise/loop.h +44 -14
  1351. data/src/core/lib/promise/map.h +4 -6
  1352. data/src/core/lib/promise/pipe.h +608 -0
  1353. data/src/core/lib/promise/poll.h +132 -8
  1354. data/src/core/lib/promise/promise.h +95 -0
  1355. data/src/core/lib/promise/race.h +6 -10
  1356. data/src/core/lib/promise/seq.h +45 -9
  1357. data/src/core/lib/promise/sleep.cc +90 -0
  1358. data/src/core/lib/promise/sleep.h +84 -0
  1359. data/src/core/lib/promise/trace.cc +20 -0
  1360. data/src/core/lib/promise/trace.h +24 -0
  1361. data/src/core/lib/promise/try_join.h +82 -0
  1362. data/src/core/lib/promise/try_seq.h +175 -0
  1363. data/src/core/lib/resolver/resolver.cc +37 -0
  1364. data/src/core/lib/resolver/resolver.h +138 -0
  1365. data/src/core/lib/resolver/resolver_factory.h +77 -0
  1366. data/src/core/lib/resolver/resolver_registry.cc +164 -0
  1367. data/src/core/lib/resolver/resolver_registry.h +123 -0
  1368. data/src/core/lib/resolver/server_address.cc +182 -0
  1369. data/src/core/lib/resolver/server_address.h +145 -0
  1370. data/src/core/lib/resource_quota/api.cc +25 -29
  1371. data/src/core/lib/resource_quota/api.h +14 -6
  1372. data/src/core/lib/resource_quota/arena.cc +165 -0
  1373. data/src/core/lib/resource_quota/arena.h +314 -0
  1374. data/src/core/lib/resource_quota/memory_quota.cc +418 -173
  1375. data/src/core/lib/resource_quota/memory_quota.h +287 -116
  1376. data/src/core/lib/resource_quota/periodic_update.cc +78 -0
  1377. data/src/core/lib/resource_quota/periodic_update.h +71 -0
  1378. data/src/core/lib/resource_quota/resource_quota.h +20 -4
  1379. data/src/core/lib/resource_quota/thread_quota.cc +2 -0
  1380. data/src/core/lib/resource_quota/thread_quota.h +7 -3
  1381. data/src/core/lib/resource_quota/trace.h +3 -3
  1382. data/src/core/lib/security/authorization/authorization_engine.h +3 -3
  1383. data/src/core/lib/security/authorization/authorization_policy_provider.h +17 -3
  1384. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +3 -0
  1385. data/src/core/lib/security/authorization/evaluate_args.cc +42 -28
  1386. data/src/core/lib/security/authorization/evaluate_args.h +10 -7
  1387. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +64 -0
  1388. data/src/core/lib/security/authorization/grpc_authorization_engine.h +69 -0
  1389. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +122 -0
  1390. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +61 -0
  1391. data/src/core/lib/security/authorization/matchers.cc +241 -0
  1392. data/src/core/lib/security/authorization/matchers.h +218 -0
  1393. data/src/core/lib/security/authorization/rbac_policy.cc +446 -0
  1394. data/src/core/lib/security/authorization/rbac_policy.h +178 -0
  1395. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +66 -0
  1396. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +60 -0
  1397. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +70 -0
  1398. data/src/core/lib/security/context/security_context.cc +31 -27
  1399. data/src/core/lib/security/context/security_context.h +65 -36
  1400. data/src/core/lib/security/credentials/alts/alts_credentials.cc +35 -27
  1401. data/src/core/lib/security/credentials/alts/alts_credentials.h +71 -57
  1402. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +19 -19
  1403. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +43 -43
  1404. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +17 -17
  1405. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +18 -17
  1406. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +18 -17
  1407. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +20 -22
  1408. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +18 -18
  1409. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +38 -39
  1410. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +19 -22
  1411. data/src/core/lib/security/credentials/call_creds_util.cc +97 -0
  1412. data/src/core/lib/security/credentials/call_creds_util.h +43 -0
  1413. data/src/core/lib/security/credentials/channel_creds_registry.h +103 -0
  1414. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +80 -0
  1415. data/src/core/lib/security/credentials/composite/composite_credentials.cc +52 -111
  1416. data/src/core/lib/security/credentials/composite/composite_credentials.h +65 -40
  1417. data/src/core/lib/security/credentials/credentials.cc +25 -29
  1418. data/src/core/lib/security/credentials/credentials.h +141 -133
  1419. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +248 -104
  1420. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +22 -3
  1421. data/src/core/lib/security/credentials/external/aws_request_signer.cc +14 -3
  1422. data/src/core/lib/security/credentials/external/aws_request_signer.h +3 -3
  1423. data/src/core/lib/security/credentials/external/external_account_credentials.cc +137 -101
  1424. data/src/core/lib/security/credentials/external/external_account_credentials.h +19 -12
  1425. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +29 -27
  1426. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +9 -3
  1427. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +77 -44
  1428. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +14 -3
  1429. data/src/core/lib/security/credentials/fake/fake_credentials.cc +62 -62
  1430. data/src/core/lib/security/credentials/fake/fake_credentials.h +71 -63
  1431. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +23 -25
  1432. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +163 -124
  1433. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +41 -29
  1434. data/src/core/lib/security/credentials/iam/iam_credentials.cc +50 -47
  1435. data/src/core/lib/security/credentials/iam/iam_credentials.h +46 -30
  1436. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +35 -26
  1437. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +61 -0
  1438. data/src/core/lib/security/credentials/jwt/json_token.cc +44 -35
  1439. data/src/core/lib/security/credentials/jwt/json_token.h +36 -36
  1440. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +62 -71
  1441. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +51 -33
  1442. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +166 -129
  1443. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +51 -49
  1444. data/src/core/lib/security/credentials/local/local_credentials.cc +36 -30
  1445. data/src/core/lib/security/credentials/local/local_credentials.h +42 -26
  1446. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +229 -234
  1447. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +103 -55
  1448. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +122 -174
  1449. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +101 -48
  1450. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +49 -54
  1451. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +49 -26
  1452. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +22 -30
  1453. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +16 -17
  1454. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +65 -48
  1455. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +69 -9
  1456. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +44 -4
  1457. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +75 -13
  1458. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +47 -23
  1459. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +70 -83
  1460. data/src/core/lib/security/credentials/tls/tls_credentials.cc +55 -50
  1461. data/src/core/lib/security/credentials/tls/tls_credentials.h +34 -25
  1462. data/src/core/lib/security/credentials/tls/tls_utils.cc +5 -1
  1463. data/src/core/lib/security/credentials/tls/tls_utils.h +4 -4
  1464. data/src/core/lib/security/credentials/xds/xds_credentials.cc +77 -81
  1465. data/src/core/lib/security/credentials/xds/xds_credentials.h +56 -11
  1466. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +68 -68
  1467. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +50 -48
  1468. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +79 -91
  1469. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +26 -29
  1470. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +21 -22
  1471. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +30 -24
  1472. data/src/core/lib/security/security_connector/load_system_roots.h +20 -20
  1473. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +22 -20
  1474. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +175 -0
  1475. data/src/core/lib/security/security_connector/load_system_roots_supported.h +45 -0
  1476. data/src/core/lib/security/security_connector/local/local_security_connector.cc +74 -65
  1477. data/src/core/lib/security/security_connector/local/local_security_connector.h +49 -46
  1478. data/src/core/lib/security/security_connector/security_connector.cc +39 -49
  1479. data/src/core/lib/security/security_connector/security_connector.h +82 -65
  1480. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +65 -59
  1481. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +44 -43
  1482. data/src/core/lib/security/security_connector/ssl_utils.cc +76 -70
  1483. data/src/core/lib/security/security_connector/ssl_utils.h +57 -58
  1484. data/src/core/lib/security/security_connector/ssl_utils_config.cc +22 -22
  1485. data/src/core/lib/security/security_connector/ssl_utils_config.h +21 -22
  1486. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +83 -71
  1487. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +54 -34
  1488. data/src/core/lib/security/transport/auth_filters.h +89 -27
  1489. data/src/core/lib/security/transport/client_auth_filter.cc +142 -388
  1490. data/src/core/lib/security/transport/secure_endpoint.cc +305 -181
  1491. data/src/core/lib/security/transport/secure_endpoint.h +29 -28
  1492. data/src/core/lib/security/transport/security_handshaker.cc +147 -107
  1493. data/src/core/lib/security/transport/security_handshaker.h +28 -23
  1494. data/src/core/lib/security/transport/server_auth_filter.cc +179 -282
  1495. data/src/core/lib/security/transport/tsi_error.cc +23 -20
  1496. data/src/core/lib/security/transport/tsi_error.h +20 -20
  1497. data/src/core/lib/security/util/json_util.cc +24 -24
  1498. data/src/core/lib/security/util/json_util.h +21 -23
  1499. data/src/core/lib/service_config/service_config.h +89 -0
  1500. data/src/core/lib/service_config/service_config_call_data.h +82 -0
  1501. data/src/core/lib/service_config/service_config_impl.cc +191 -0
  1502. data/src/core/lib/service_config/service_config_impl.h +125 -0
  1503. data/src/core/lib/service_config/service_config_parser.cc +81 -0
  1504. data/src/core/lib/service_config/service_config_parser.h +105 -0
  1505. data/src/core/lib/slice/b64.cc +26 -26
  1506. data/src/core/lib/slice/b64.h +34 -32
  1507. data/src/core/lib/slice/percent_encoding.cc +24 -30
  1508. data/src/core/lib/slice/percent_encoding.h +28 -34
  1509. data/src/core/lib/slice/slice.cc +128 -218
  1510. data/src/core/lib/slice/slice.h +126 -39
  1511. data/src/core/lib/slice/slice_buffer.cc +136 -76
  1512. data/src/core/lib/slice/slice_buffer.h +168 -0
  1513. data/src/core/lib/slice/slice_internal.h +43 -69
  1514. data/src/core/lib/slice/slice_refcount.cc +4 -1
  1515. data/src/core/lib/slice/slice_refcount.h +51 -96
  1516. data/src/core/lib/slice/slice_string_helpers.cc +17 -33
  1517. data/src/core/lib/slice/slice_string_helpers.h +23 -30
  1518. data/src/core/lib/surface/api_trace.cc +17 -17
  1519. data/src/core/lib/surface/api_trace.h +25 -25
  1520. data/src/core/lib/surface/builtins.cc +11 -6
  1521. data/src/core/lib/surface/builtins.h +3 -3
  1522. data/src/core/lib/surface/byte_buffer.cc +26 -21
  1523. data/src/core/lib/surface/byte_buffer_reader.cc +24 -24
  1524. data/src/core/lib/surface/call.cc +3070 -1436
  1525. data/src/core/lib/surface/call.h +140 -61
  1526. data/src/core/lib/surface/call_details.cc +22 -23
  1527. data/src/core/lib/surface/call_log_batch.cc +25 -18
  1528. data/src/core/lib/surface/call_test_only.h +34 -31
  1529. data/src/core/lib/surface/call_trace.cc +123 -0
  1530. data/src/core/lib/surface/call_trace.h +30 -0
  1531. data/src/core/lib/surface/channel.cc +249 -322
  1532. data/src/core/lib/surface/channel.h +140 -94
  1533. data/src/core/lib/surface/channel_init.cc +19 -20
  1534. data/src/core/lib/surface/channel_init.h +25 -27
  1535. data/src/core/lib/surface/channel_ping.cc +26 -20
  1536. data/src/core/lib/surface/channel_stack_type.cc +21 -19
  1537. data/src/core/lib/surface/channel_stack_type.h +22 -22
  1538. data/src/core/lib/surface/completion_queue.cc +210 -231
  1539. data/src/core/lib/surface/completion_queue.h +42 -40
  1540. data/src/core/lib/surface/completion_queue_factory.cc +34 -28
  1541. data/src/core/lib/surface/completion_queue_factory.h +21 -23
  1542. data/src/core/lib/surface/event_string.cc +19 -24
  1543. data/src/core/lib/surface/event_string.h +21 -21
  1544. data/src/core/lib/surface/init.cc +106 -94
  1545. data/src/core/lib/surface/init.h +20 -30
  1546. data/src/core/lib/surface/init_internally.cc +25 -0
  1547. data/src/core/lib/surface/init_internally.h +37 -0
  1548. data/src/core/lib/surface/lame_client.cc +87 -130
  1549. data/src/core/lib/surface/lame_client.h +62 -24
  1550. data/src/core/lib/surface/metadata_array.cc +18 -17
  1551. data/src/core/lib/surface/server.cc +421 -228
  1552. data/src/core/lib/surface/server.h +62 -31
  1553. data/src/core/lib/surface/validate_metadata.cc +34 -48
  1554. data/src/core/lib/surface/validate_metadata.h +24 -21
  1555. data/src/core/lib/surface/version.cc +21 -21
  1556. data/src/core/lib/transport/bdp_estimator.cc +28 -29
  1557. data/src/core/lib/transport/bdp_estimator.h +24 -26
  1558. data/src/core/lib/transport/connectivity_state.cc +24 -23
  1559. data/src/core/lib/transport/connectivity_state.h +24 -25
  1560. data/src/core/lib/transport/error_utils.cc +62 -82
  1561. data/src/core/lib/transport/error_utils.h +31 -26
  1562. data/src/core/lib/transport/handshaker.cc +239 -0
  1563. data/src/core/lib/transport/handshaker.h +172 -0
  1564. data/src/core/lib/transport/handshaker_factory.h +74 -0
  1565. data/src/core/lib/transport/handshaker_registry.cc +61 -0
  1566. data/src/core/lib/transport/handshaker_registry.h +69 -0
  1567. data/src/core/lib/transport/http2_errors.h +22 -22
  1568. data/src/core/lib/transport/http_connect_handshaker.cc +400 -0
  1569. data/src/core/lib/transport/http_connect_handshaker.h +42 -0
  1570. data/src/core/lib/transport/metadata_batch.cc +278 -72
  1571. data/src/core/lib/transport/metadata_batch.h +1052 -825
  1572. data/src/core/lib/transport/parsed_metadata.cc +4 -4
  1573. data/src/core/lib/transport/parsed_metadata.h +128 -100
  1574. data/src/core/lib/transport/pid_controller.cc +20 -20
  1575. data/src/core/lib/transport/pid_controller.h +27 -27
  1576. data/src/core/lib/transport/status_conversion.cc +25 -25
  1577. data/src/core/lib/transport/status_conversion.h +25 -25
  1578. data/src/core/lib/transport/tcp_connect_handshaker.cc +245 -0
  1579. data/src/core/lib/transport/tcp_connect_handshaker.h +39 -0
  1580. data/src/core/lib/transport/timeout_encoding.cc +225 -92
  1581. data/src/core/lib/transport/timeout_encoding.h +65 -31
  1582. data/src/core/lib/transport/transport.cc +99 -57
  1583. data/src/core/lib/transport/transport.h +282 -152
  1584. data/src/core/lib/transport/transport_fwd.h +20 -0
  1585. data/src/core/lib/transport/transport_impl.h +59 -35
  1586. data/src/core/lib/transport/transport_op_string.cc +44 -85
  1587. data/src/core/lib/uri/uri_parser.cc +239 -57
  1588. data/src/core/lib/uri/uri_parser.h +40 -28
  1589. data/src/core/plugin_registry/grpc_plugin_registry.cc +77 -156
  1590. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +66 -0
  1591. data/src/core/tsi/alts/crypt/aes_gcm.cc +20 -20
  1592. data/src/core/tsi/alts/crypt/gsec.cc +26 -26
  1593. data/src/core/tsi/alts/crypt/gsec.h +336 -336
  1594. data/src/core/tsi/alts/frame_protector/alts_counter.cc +23 -23
  1595. data/src/core/tsi/alts/frame_protector/alts_counter.h +68 -68
  1596. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +19 -19
  1597. data/src/core/tsi/alts/frame_protector/alts_crypter.h +209 -209
  1598. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +72 -71
  1599. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +40 -40
  1600. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +18 -18
  1601. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +82 -83
  1602. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +22 -22
  1603. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +22 -22
  1604. data/src/core/tsi/alts/frame_protector/frame_handler.cc +26 -25
  1605. data/src/core/tsi/alts/frame_protector/frame_handler.h +169 -169
  1606. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +142 -117
  1607. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +104 -104
  1608. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +27 -18
  1609. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +43 -44
  1610. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +72 -56
  1611. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +60 -60
  1612. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +24 -24
  1613. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +23 -22
  1614. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +39 -39
  1615. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +21 -21
  1616. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +107 -106
  1617. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +45 -44
  1618. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +40 -41
  1619. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +38 -36
  1620. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +35 -36
  1621. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +67 -68
  1622. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +32 -31
  1623. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +55 -56
  1624. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +54 -53
  1625. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +141 -142
  1626. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +67 -58
  1627. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +43 -44
  1628. data/src/core/tsi/fake_transport_security.cc +146 -110
  1629. data/src/core/tsi/fake_transport_security.h +36 -30
  1630. data/src/core/tsi/local_transport_security.cc +46 -49
  1631. data/src/core/tsi/local_transport_security.h +34 -37
  1632. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +146 -0
  1633. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +81 -0
  1634. data/src/core/tsi/ssl/session_cache/ssl_session.h +24 -24
  1635. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +21 -19
  1636. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +18 -17
  1637. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +34 -27
  1638. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +27 -20
  1639. data/src/core/tsi/ssl_transport_security.cc +451 -394
  1640. data/src/core/tsi/ssl_transport_security.h +235 -194
  1641. data/src/core/tsi/ssl_transport_security_utils.cc +250 -0
  1642. data/src/core/tsi/ssl_transport_security_utils.h +147 -0
  1643. data/src/core/tsi/ssl_types.h +27 -27
  1644. data/src/core/tsi/transport_security.cc +44 -32
  1645. data/src/core/tsi/transport_security.h +49 -48
  1646. data/src/core/tsi/transport_security_grpc.cc +23 -22
  1647. data/src/core/tsi/transport_security_grpc.h +44 -41
  1648. data/src/core/tsi/transport_security_interface.h +346 -332
  1649. data/src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.clang +2 -0
  1650. data/src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.gcc +7 -0
  1651. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.clang +2 -0
  1652. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.gcc +7 -0
  1653. data/src/ruby/ext/grpc/ext-export.gcc +1 -1
  1654. data/src/ruby/ext/grpc/extconf.rb +107 -22
  1655. data/src/ruby/ext/grpc/rb_call.c +1 -0
  1656. data/src/ruby/ext/grpc/rb_channel.c +6 -2
  1657. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  1658. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  1659. data/src/ruby/ext/grpc/rb_grpc.c +1 -0
  1660. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +58 -62
  1661. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +90 -96
  1662. data/src/ruby/ext/grpc/rb_loader.c +6 -2
  1663. data/src/ruby/ext/grpc/rb_server.c +7 -4
  1664. data/src/ruby/lib/grpc/errors.rb +1 -1
  1665. data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
  1666. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  1667. data/src/ruby/lib/grpc/grpc.rb +1 -1
  1668. data/src/ruby/lib/grpc/version.rb +1 -1
  1669. data/src/ruby/pb/generate_proto_ruby.sh +1 -6
  1670. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
  1671. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +2 -1
  1672. data/src/ruby/pb/test/client.rb +769 -0
  1673. data/src/ruby/pb/test/server.rb +252 -0
  1674. data/src/ruby/pb/test/xds_client.rb +415 -0
  1675. data/src/ruby/spec/channel_spec.rb +5 -43
  1676. data/src/ruby/spec/client_server_spec.rb +20 -8
  1677. data/src/ruby/spec/generic/active_call_spec.rb +12 -3
  1678. data/src/ruby/spec/generic/client_stub_spec.rb +23 -23
  1679. data/src/ruby/spec/generic/server_interceptors_spec.rb +1 -1
  1680. data/src/ruby/spec/user_agent_spec.rb +1 -1
  1681. data/third_party/abseil-cpp/absl/algorithm/container.h +57 -58
  1682. data/third_party/abseil-cpp/absl/base/attributes.h +88 -41
  1683. data/third_party/abseil-cpp/absl/base/casts.h +61 -68
  1684. data/third_party/abseil-cpp/absl/base/config.h +221 -39
  1685. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +12 -42
  1686. data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +52 -2
  1687. data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
  1688. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +5 -4
  1689. data/third_party/abseil-cpp/absl/base/internal/endian.h +17 -62
  1690. data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +50 -0
  1691. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +3 -3
  1692. data/third_party/abseil-cpp/absl/base/internal/invoke.h +54 -0
  1693. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +2 -2
  1694. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +1 -1
  1695. data/third_party/abseil-cpp/absl/base/internal/prefetch.h +138 -0
  1696. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +39 -28
  1697. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +36 -36
  1698. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +6 -3
  1699. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +10 -6
  1700. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +2 -5
  1701. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +4 -1
  1702. data/third_party/abseil-cpp/absl/base/internal/strerror.cc +88 -0
  1703. data/third_party/abseil-cpp/absl/base/internal/strerror.h +39 -0
  1704. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +14 -11
  1705. data/third_party/abseil-cpp/absl/base/internal/thread_annotations.h +9 -0
  1706. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +2 -1
  1707. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +4 -0
  1708. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +6 -7
  1709. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +12 -40
  1710. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
  1711. data/third_party/abseil-cpp/absl/base/log_severity.cc +28 -0
  1712. data/third_party/abseil-cpp/absl/base/log_severity.h +51 -0
  1713. data/third_party/abseil-cpp/absl/base/macros.h +4 -21
  1714. data/third_party/abseil-cpp/absl/base/optimization.h +76 -16
  1715. data/third_party/abseil-cpp/absl/base/options.h +1 -7
  1716. data/third_party/abseil-cpp/absl/base/policy_checks.h +15 -13
  1717. data/third_party/abseil-cpp/absl/base/thread_annotations.h +2 -2
  1718. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  1719. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  1720. data/third_party/abseil-cpp/absl/container/fixed_array.h +9 -5
  1721. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +11 -4
  1722. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +503 -0
  1723. data/third_party/abseil-cpp/absl/container/inlined_vector.h +84 -25
  1724. data/third_party/abseil-cpp/absl/container/internal/common.h +9 -8
  1725. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +132 -0
  1726. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +23 -29
  1727. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +4 -55
  1728. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +116 -23
  1729. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +40 -54
  1730. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +165 -66
  1731. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +159 -4
  1732. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1121 -470
  1733. data/third_party/abseil-cpp/absl/crc/crc32c.cc +99 -0
  1734. data/third_party/abseil-cpp/absl/crc/crc32c.h +183 -0
  1735. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +256 -0
  1736. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h +57 -0
  1737. data/third_party/abseil-cpp/absl/crc/internal/crc.cc +468 -0
  1738. data/third_party/abseil-cpp/absl/crc/internal/crc.h +91 -0
  1739. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +269 -0
  1740. data/third_party/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
  1741. data/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
  1742. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +130 -0
  1743. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
  1744. data/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +179 -0
  1745. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h +119 -0
  1746. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +75 -0
  1747. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc +434 -0
  1748. data/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
  1749. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +725 -0
  1750. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +79 -0
  1751. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +180 -0
  1752. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +45 -88
  1753. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +67 -38
  1754. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +1 -1
  1755. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +16 -13
  1756. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +3 -2
  1757. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +19 -12
  1758. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +8 -3
  1759. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +2 -1
  1760. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +1 -1
  1761. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +8 -3
  1762. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +59 -102
  1763. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +5 -4
  1764. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +41 -11
  1765. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +18 -4
  1766. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +6 -1
  1767. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +3 -2
  1768. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +164 -101
  1769. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +7 -6
  1770. data/third_party/abseil-cpp/absl/functional/any_invocable.h +316 -0
  1771. data/third_party/abseil-cpp/absl/functional/bind_front.h +10 -1
  1772. data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -1
  1773. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +878 -0
  1774. data/third_party/abseil-cpp/absl/hash/hash.h +82 -8
  1775. data/third_party/abseil-cpp/absl/hash/internal/city.cc +10 -10
  1776. data/third_party/abseil-cpp/absl/hash/internal/hash.h +235 -26
  1777. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +3 -14
  1778. data/third_party/abseil-cpp/absl/memory/memory.h +26 -447
  1779. data/third_party/abseil-cpp/absl/meta/type_traits.h +104 -12
  1780. data/third_party/abseil-cpp/absl/numeric/bits.h +1 -1
  1781. data/third_party/abseil-cpp/absl/numeric/int128.cc +14 -10
  1782. data/third_party/abseil-cpp/absl/numeric/int128.h +2 -2
  1783. data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +33 -10
  1784. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +200 -0
  1785. data/third_party/abseil-cpp/absl/random/beta_distribution.h +427 -0
  1786. data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +98 -0
  1787. data/third_party/abseil-cpp/absl/random/discrete_distribution.h +247 -0
  1788. data/third_party/abseil-cpp/absl/random/distributions.h +452 -0
  1789. data/third_party/abseil-cpp/absl/random/exponential_distribution.h +165 -0
  1790. data/third_party/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
  1791. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +275 -0
  1792. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +95 -0
  1793. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +270 -0
  1794. data/third_party/abseil-cpp/absl/random/internal/fastmath.h +57 -0
  1795. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +144 -0
  1796. data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +245 -0
  1797. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +161 -0
  1798. data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +287 -0
  1799. data/third_party/abseil-cpp/absl/random/internal/platform.h +171 -0
  1800. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +253 -0
  1801. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +131 -0
  1802. data/third_party/abseil-cpp/absl/random/internal/randen.cc +91 -0
  1803. data/third_party/abseil-cpp/absl/random/internal/randen.h +96 -0
  1804. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +225 -0
  1805. data/third_party/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
  1806. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +264 -0
  1807. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
  1808. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
  1809. data/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
  1810. data/third_party/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
  1811. data/third_party/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
  1812. data/third_party/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
  1813. data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +165 -0
  1814. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +267 -0
  1815. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +104 -0
  1816. data/third_party/abseil-cpp/absl/random/internal/traits.h +149 -0
  1817. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
  1818. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +96 -0
  1819. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +256 -0
  1820. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +261 -0
  1821. data/third_party/abseil-cpp/absl/random/random.h +189 -0
  1822. data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +46 -0
  1823. data/third_party/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
  1824. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +29 -0
  1825. data/third_party/abseil-cpp/absl/random/seed_sequences.h +111 -0
  1826. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +275 -0
  1827. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +202 -0
  1828. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +272 -0
  1829. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
  1830. data/third_party/abseil-cpp/absl/status/status.cc +193 -14
  1831. data/third_party/abseil-cpp/absl/status/status.h +24 -14
  1832. data/third_party/abseil-cpp/absl/status/statusor.h +9 -3
  1833. data/third_party/abseil-cpp/absl/strings/ascii.cc +5 -5
  1834. data/third_party/abseil-cpp/absl/strings/ascii.h +4 -4
  1835. data/third_party/abseil-cpp/absl/strings/charconv.cc +534 -96
  1836. data/third_party/abseil-cpp/absl/strings/cord.cc +257 -924
  1837. data/third_party/abseil-cpp/absl/strings/cord.h +268 -156
  1838. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +188 -0
  1839. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +44 -0
  1840. data/third_party/abseil-cpp/absl/strings/cord_buffer.cc +30 -0
  1841. data/third_party/abseil-cpp/absl/strings/cord_buffer.h +575 -0
  1842. data/third_party/abseil-cpp/absl/strings/escaping.cc +73 -62
  1843. data/third_party/abseil-cpp/absl/strings/escaping.h +24 -19
  1844. data/third_party/abseil-cpp/absl/strings/internal/char_map.h +14 -12
  1845. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +4 -4
  1846. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +2 -2
  1847. data/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
  1848. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +20 -32
  1849. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +441 -150
  1850. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +157 -53
  1851. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +70 -73
  1852. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +8 -6
  1853. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +4 -2
  1854. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +3 -2
  1855. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +5 -4
  1856. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +7 -74
  1857. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +56 -0
  1858. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +103 -0
  1859. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +58 -17
  1860. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +13 -11
  1861. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +7 -15
  1862. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +3 -3
  1863. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +19 -43
  1864. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +7 -7
  1865. data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +5 -4
  1866. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +4 -2
  1867. data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +93 -0
  1868. data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +34 -0
  1869. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +18 -15
  1870. data/third_party/abseil-cpp/absl/strings/internal/escaping.h +7 -9
  1871. data/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h +55 -0
  1872. data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +9 -6
  1873. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +14 -7
  1874. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.h +35 -10
  1875. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +113 -46
  1876. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +127 -30
  1877. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +3 -2
  1878. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +42 -10
  1879. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +56 -289
  1880. data/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +351 -0
  1881. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +6 -6
  1882. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +9 -4
  1883. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +215 -181
  1884. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +2 -1
  1885. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +10 -209
  1886. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -103
  1887. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +9 -6
  1888. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +2 -1
  1889. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +10 -2
  1890. data/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
  1891. data/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h +57 -0
  1892. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +9 -9
  1893. data/third_party/abseil-cpp/absl/strings/numbers.cc +42 -39
  1894. data/third_party/abseil-cpp/absl/strings/numbers.h +26 -23
  1895. data/third_party/abseil-cpp/absl/strings/str_cat.cc +9 -6
  1896. data/third_party/abseil-cpp/absl/strings/str_cat.h +70 -16
  1897. data/third_party/abseil-cpp/absl/strings/str_format.h +71 -9
  1898. data/third_party/abseil-cpp/absl/strings/str_join.h +9 -15
  1899. data/third_party/abseil-cpp/absl/strings/str_split.h +1 -2
  1900. data/third_party/abseil-cpp/absl/strings/string_view.cc +8 -19
  1901. data/third_party/abseil-cpp/absl/strings/string_view.h +6 -12
  1902. data/third_party/abseil-cpp/absl/strings/strip.h +8 -6
  1903. data/third_party/abseil-cpp/absl/strings/substitute.cc +8 -6
  1904. data/third_party/abseil-cpp/absl/strings/substitute.h +55 -21
  1905. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +9 -6
  1906. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +0 -4
  1907. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +20 -17
  1908. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +37 -31
  1909. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +22 -8
  1910. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +0 -4
  1911. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +1 -6
  1912. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +0 -25
  1913. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +10 -4
  1914. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +172 -88
  1915. data/third_party/abseil-cpp/absl/synchronization/mutex.h +102 -55
  1916. data/third_party/abseil-cpp/absl/synchronization/notification.cc +0 -1
  1917. data/third_party/abseil-cpp/absl/synchronization/notification.h +3 -3
  1918. data/third_party/abseil-cpp/absl/time/civil_time.cc +26 -0
  1919. data/third_party/abseil-cpp/absl/time/civil_time.h +25 -0
  1920. data/third_party/abseil-cpp/absl/time/clock.cc +17 -11
  1921. data/third_party/abseil-cpp/absl/time/duration.cc +12 -11
  1922. data/third_party/abseil-cpp/absl/time/format.cc +2 -1
  1923. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +11 -7
  1924. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1 -1
  1925. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +26 -5
  1926. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +7 -6
  1927. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +36 -35
  1928. data/third_party/abseil-cpp/absl/time/time.cc +2 -2
  1929. data/third_party/abseil-cpp/absl/time/time.h +268 -169
  1930. data/third_party/abseil-cpp/absl/types/internal/optional.h +8 -0
  1931. data/third_party/abseil-cpp/absl/types/internal/span.h +30 -19
  1932. data/third_party/abseil-cpp/absl/types/internal/variant.h +28 -40
  1933. data/third_party/abseil-cpp/absl/types/optional.h +17 -14
  1934. data/third_party/abseil-cpp/absl/types/span.h +31 -8
  1935. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -0
  1936. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +13 -0
  1937. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +21 -0
  1938. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +12 -0
  1939. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +1 -2
  1940. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +2 -2
  1941. data/third_party/boringssl-with-bazel/src/crypto/mem.c +1 -1
  1942. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +29 -0
  1943. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +0 -1
  1944. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +1 -1
  1945. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +1 -1
  1946. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +1 -1
  1947. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +8 -0
  1948. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +13 -1
  1949. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +10 -0
  1950. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +1 -1
  1951. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +9 -4
  1952. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +6 -1
  1953. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +23 -2
  1954. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +1 -2
  1955. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +4 -0
  1956. data/third_party/cares/cares/include/ares.h +742 -0
  1957. data/third_party/cares/cares/include/ares_dns.h +112 -0
  1958. data/third_party/cares/cares/include/ares_version.h +24 -0
  1959. data/third_party/cares/cares/src/lib/ares__close_sockets.c +61 -0
  1960. data/third_party/cares/cares/src/lib/ares__get_hostent.c +260 -0
  1961. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +260 -0
  1962. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +264 -0
  1963. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +499 -0
  1964. data/third_party/cares/cares/src/lib/ares_android.c +444 -0
  1965. data/third_party/cares/cares/src/lib/ares_android.h +27 -0
  1966. data/third_party/cares/cares/src/lib/ares_create_query.c +197 -0
  1967. data/third_party/cares/cares/src/lib/ares_data.c +240 -0
  1968. data/third_party/cares/cares/src/lib/ares_data.h +74 -0
  1969. data/third_party/cares/cares/src/lib/ares_expand_name.c +300 -0
  1970. data/third_party/cares/cares/src/lib/ares_expand_string.c +67 -0
  1971. data/third_party/cares/cares/src/lib/ares_free_hostent.c +43 -0
  1972. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +59 -0
  1973. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +772 -0
  1974. data/third_party/cares/cares/src/lib/ares_getenv.c +28 -0
  1975. data/third_party/cares/cares/src/lib/ares_gethostbyaddr.c +287 -0
  1976. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +534 -0
  1977. data/third_party/cares/cares/src/lib/ares_getnameinfo.c +447 -0
  1978. data/third_party/cares/cares/src/lib/ares_init.c +2654 -0
  1979. data/third_party/cares/cares/src/lib/ares_ipv6.h +85 -0
  1980. data/third_party/cares/cares/src/lib/ares_library_init.c +200 -0
  1981. data/third_party/cares/cares/src/lib/ares_library_init.h +43 -0
  1982. data/third_party/cares/cares/src/lib/ares_nameser.h +482 -0
  1983. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +209 -0
  1984. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +212 -0
  1985. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +199 -0
  1986. data/third_party/cares/cares/src/lib/ares_parse_mx_reply.c +164 -0
  1987. data/third_party/cares/cares/src/lib/ares_parse_naptr_reply.c +183 -0
  1988. data/third_party/cares/cares/src/lib/ares_parse_ns_reply.c +177 -0
  1989. data/third_party/cares/cares/src/lib/ares_parse_ptr_reply.c +228 -0
  1990. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +179 -0
  1991. data/third_party/cares/cares/src/lib/ares_parse_srv_reply.c +168 -0
  1992. data/third_party/cares/cares/src/lib/ares_parse_txt_reply.c +214 -0
  1993. data/third_party/cares/cares/src/lib/ares_private.h +423 -0
  1994. data/third_party/cares/cares/src/lib/ares_process.c +1548 -0
  1995. data/third_party/cares/cares/src/lib/ares_query.c +180 -0
  1996. data/third_party/cares/cares/src/lib/ares_search.c +321 -0
  1997. data/third_party/cares/cares/src/lib/ares_send.c +131 -0
  1998. data/third_party/cares/cares/src/lib/ares_setup.h +220 -0
  1999. data/third_party/cares/cares/src/lib/ares_strsplit.c +178 -0
  2000. data/third_party/cares/cares/src/lib/ares_writev.h +36 -0
  2001. data/third_party/cares/cares/src/lib/config-dos.h +115 -0
  2002. data/third_party/cares/cares/src/lib/inet_net_pton.c +444 -0
  2003. data/third_party/cares/cares/src/lib/inet_ntop.c +201 -0
  2004. data/third_party/re2/re2/bitstate.cc +3 -3
  2005. data/third_party/re2/re2/dfa.cc +13 -13
  2006. data/third_party/re2/re2/nfa.cc +4 -4
  2007. data/third_party/re2/re2/onepass.cc +2 -2
  2008. data/third_party/re2/re2/prefilter_tree.cc +27 -59
  2009. data/third_party/re2/re2/prefilter_tree.h +3 -2
  2010. data/third_party/re2/re2/prog.cc +11 -2
  2011. data/third_party/re2/re2/prog.h +17 -5
  2012. data/third_party/re2/re2/re2.cc +6 -11
  2013. data/third_party/re2/re2/re2.h +1 -1
  2014. data/third_party/re2/re2/regexp.cc +1 -2
  2015. data/third_party/re2/re2/stringpiece.h +10 -7
  2016. data/third_party/re2/re2/unicode_casefold.cc +25 -11
  2017. data/third_party/re2/re2/unicode_groups.cc +319 -151
  2018. data/third_party/re2/re2/walker-inl.h +3 -2
  2019. data/third_party/re2/util/mutex.h +4 -4
  2020. data/third_party/upb/third_party/utf8_range/naive.c +92 -0
  2021. data/third_party/upb/third_party/utf8_range/range2-neon.c +157 -0
  2022. data/third_party/upb/third_party/utf8_range/range2-sse.c +170 -0
  2023. data/third_party/upb/third_party/utf8_range/utf8_range.h +9 -0
  2024. data/third_party/upb/upb/arena.c +277 -0
  2025. data/third_party/upb/upb/arena.h +225 -0
  2026. data/third_party/upb/upb/array.c +114 -0
  2027. data/third_party/upb/upb/array.h +83 -0
  2028. data/third_party/upb/upb/collections.h +36 -0
  2029. data/third_party/upb/upb/decode.c +685 -366
  2030. data/third_party/upb/upb/decode.h +44 -17
  2031. data/third_party/upb/upb/decode_fast.c +304 -302
  2032. data/third_party/upb/upb/decode_fast.h +18 -18
  2033. data/third_party/upb/upb/def.c +1932 -1076
  2034. data/third_party/upb/upb/def.h +336 -288
  2035. data/third_party/upb/upb/def.hpp +134 -174
  2036. data/third_party/upb/upb/encode.c +228 -186
  2037. data/third_party/upb/upb/encode.h +24 -16
  2038. data/third_party/upb/upb/extension_registry.c +93 -0
  2039. data/third_party/upb/upb/extension_registry.h +84 -0
  2040. data/third_party/upb/upb/internal/decode.h +211 -0
  2041. data/third_party/upb/upb/internal/table.h +385 -0
  2042. data/third_party/upb/upb/internal/upb.h +68 -0
  2043. data/third_party/upb/upb/internal/vsnprintf_compat.h +52 -0
  2044. data/third_party/upb/upb/json_decode.c +1512 -0
  2045. data/third_party/upb/upb/json_decode.h +47 -0
  2046. data/third_party/upb/upb/json_encode.c +780 -0
  2047. data/third_party/upb/upb/json_encode.h +65 -0
  2048. data/third_party/upb/upb/map.c +108 -0
  2049. data/third_party/upb/upb/map.h +117 -0
  2050. data/third_party/upb/upb/message_value.h +66 -0
  2051. data/third_party/upb/upb/mini_table.c +1147 -0
  2052. data/third_party/upb/upb/mini_table.h +189 -0
  2053. data/third_party/upb/upb/mini_table.hpp +112 -0
  2054. data/third_party/upb/upb/msg.c +125 -167
  2055. data/third_party/upb/upb/msg.h +18 -55
  2056. data/third_party/upb/upb/msg_internal.h +352 -284
  2057. data/third_party/upb/upb/port_def.inc +10 -1
  2058. data/third_party/upb/upb/port_undef.inc +2 -0
  2059. data/third_party/upb/upb/reflection.c +150 -267
  2060. data/third_party/upb/upb/reflection.h +36 -126
  2061. data/third_party/upb/upb/reflection.hpp +6 -6
  2062. data/third_party/upb/upb/status.c +86 -0
  2063. data/third_party/upb/upb/status.h +66 -0
  2064. data/third_party/upb/upb/table.c +233 -149
  2065. data/third_party/upb/upb/table_internal.h +9 -324
  2066. data/third_party/upb/upb/text_encode.c +115 -91
  2067. data/third_party/upb/upb/text_encode.h +10 -10
  2068. data/third_party/upb/upb/upb.c +34 -281
  2069. data/third_party/upb/upb/upb.h +79 -262
  2070. data/third_party/upb/upb/upb.hpp +31 -28
  2071. data/third_party/xxhash/xxhash.h +607 -352
  2072. data/third_party/zlib/compress.c +3 -3
  2073. data/third_party/zlib/crc32.c +975 -292
  2074. data/third_party/zlib/crc32.h +9441 -436
  2075. data/third_party/zlib/deflate.c +183 -129
  2076. data/third_party/zlib/deflate.h +12 -15
  2077. data/third_party/zlib/gzguts.h +3 -2
  2078. data/third_party/zlib/gzlib.c +6 -4
  2079. data/third_party/zlib/gzread.c +8 -12
  2080. data/third_party/zlib/gzwrite.c +26 -14
  2081. data/third_party/zlib/infback.c +12 -8
  2082. data/third_party/zlib/inffast.c +14 -14
  2083. data/third_party/zlib/inflate.c +44 -10
  2084. data/third_party/zlib/inflate.h +3 -2
  2085. data/third_party/zlib/inftrees.c +3 -3
  2086. data/third_party/zlib/inftrees.h +1 -1
  2087. data/third_party/zlib/trees.c +85 -107
  2088. data/third_party/zlib/uncompr.c +2 -2
  2089. data/third_party/zlib/zconf.h +16 -3
  2090. data/third_party/zlib/zlib.h +129 -106
  2091. data/third_party/zlib/zutil.c +11 -9
  2092. data/third_party/zlib/zutil.h +13 -9
  2093. metadata +790 -298
  2094. data/include/grpc/impl/codegen/gpr_slice.h +0 -71
  2095. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +0 -390
  2096. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +0 -42
  2097. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +0 -44
  2098. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +0 -83
  2099. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +0 -60
  2100. data/src/core/ext/filters/client_channel/lb_policy.cc +0 -131
  2101. data/src/core/ext/filters/client_channel/lb_policy.h +0 -441
  2102. data/src/core/ext/filters/client_channel/lb_policy_factory.h +0 -48
  2103. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +0 -185
  2104. data/src/core/ext/filters/client_channel/lb_policy_registry.h +0 -65
  2105. data/src/core/ext/filters/client_channel/proxy_mapper.h +0 -54
  2106. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +0 -89
  2107. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +0 -50
  2108. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc +0 -31
  2109. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc +0 -28
  2110. data/src/core/ext/filters/client_channel/resolver.cc +0 -87
  2111. data/src/core/ext/filters/client_channel/resolver.h +0 -136
  2112. data/src/core/ext/filters/client_channel/resolver_factory.h +0 -75
  2113. data/src/core/ext/filters/client_channel/resolver_registry.cc +0 -194
  2114. data/src/core/ext/filters/client_channel/resolver_registry.h +0 -88
  2115. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -189
  2116. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +0 -99
  2117. data/src/core/ext/filters/client_channel/server_address.cc +0 -170
  2118. data/src/core/ext/filters/client_channel/server_address.h +0 -144
  2119. data/src/core/ext/filters/client_channel/subchannel_interface.h +0 -130
  2120. data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -264
  2121. data/src/core/ext/filters/client_idle/idle_filter_state.cc +0 -96
  2122. data/src/core/ext/filters/client_idle/idle_filter_state.h +0 -66
  2123. data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -181
  2124. data/src/core/ext/filters/fault_injection/service_config_parser.h +0 -85
  2125. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +0 -553
  2126. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -53
  2127. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -398
  2128. data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +0 -31
  2129. data/src/core/ext/filters/max_age/max_age_filter.cc +0 -560
  2130. data/src/core/ext/filters/max_age/max_age_filter.h +0 -26
  2131. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +0 -67
  2132. data/src/core/ext/service_config/service_config.cc +0 -227
  2133. data/src/core/ext/service_config/service_config.h +0 -127
  2134. data/src/core/ext/service_config/service_config_call_data.h +0 -72
  2135. data/src/core/ext/service_config/service_config_parser.cc +0 -89
  2136. data/src/core/ext/service_config/service_config_parser.h +0 -97
  2137. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +0 -122
  2138. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +0 -92
  2139. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +0 -192
  2140. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -52
  2141. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +0 -79
  2142. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +0 -125
  2143. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -37
  2144. data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +0 -107
  2145. data/src/core/ext/transport/chttp2/transport/hpack_utils.cc +0 -46
  2146. data/src/core/ext/transport/chttp2/transport/hpack_utils.h +0 -30
  2147. data/src/core/ext/transport/chttp2/transport/popularity_count.h +0 -60
  2148. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +0 -38
  2149. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +0 -64
  2150. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -38
  2151. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +0 -64
  2152. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -38
  2153. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +0 -64
  2154. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -38
  2155. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +0 -64
  2156. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +0 -38
  2157. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +0 -64
  2158. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.c +0 -102
  2159. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.h +0 -306
  2160. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.c +0 -56
  2161. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.h +0 -135
  2162. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.c +0 -115
  2163. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.h +0 -371
  2164. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +0 -67
  2165. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +0 -35
  2166. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +0 -68
  2167. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +0 -35
  2168. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +0 -67
  2169. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +0 -35
  2170. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +0 -75
  2171. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +0 -35
  2172. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +0 -69
  2173. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +0 -35
  2174. data/src/core/ext/xds/certificate_provider_factory.h +0 -61
  2175. data/src/core/ext/xds/certificate_provider_registry.cc +0 -103
  2176. data/src/core/ext/xds/certificate_provider_registry.h +0 -57
  2177. data/src/core/lib/channel/handshaker.cc +0 -222
  2178. data/src/core/lib/channel/handshaker.h +0 -161
  2179. data/src/core/lib/channel/handshaker_factory.h +0 -50
  2180. data/src/core/lib/channel/handshaker_registry.cc +0 -50
  2181. data/src/core/lib/channel/handshaker_registry.h +0 -71
  2182. data/src/core/lib/compression/algorithm_metadata.h +0 -62
  2183. data/src/core/lib/compression/compression_args.cc +0 -140
  2184. data/src/core/lib/compression/compression_args.h +0 -58
  2185. data/src/core/lib/compression/stream_compression.cc +0 -81
  2186. data/src/core/lib/compression/stream_compression.h +0 -117
  2187. data/src/core/lib/compression/stream_compression_gzip.cc +0 -231
  2188. data/src/core/lib/compression/stream_compression_gzip.h +0 -28
  2189. data/src/core/lib/compression/stream_compression_identity.cc +0 -91
  2190. data/src/core/lib/compression/stream_compression_identity.h +0 -29
  2191. data/src/core/lib/event_engine/event_engine_factory.cc +0 -49
  2192. data/src/core/lib/event_engine/event_engine_factory.h +0 -33
  2193. data/src/core/lib/event_engine/sockaddr.cc +0 -40
  2194. data/src/core/lib/event_engine/sockaddr.h +0 -44
  2195. data/src/core/lib/gpr/env.h +0 -40
  2196. data/src/core/lib/gpr/env_linux.cc +0 -75
  2197. data/src/core/lib/gpr/env_posix.cc +0 -46
  2198. data/src/core/lib/gpr/env_windows.cc +0 -74
  2199. data/src/core/lib/gpr/murmur_hash.cc +0 -82
  2200. data/src/core/lib/gpr/murmur_hash.h +0 -29
  2201. data/src/core/lib/gpr/string_windows.h +0 -32
  2202. data/src/core/lib/gpr/tls.h +0 -157
  2203. data/src/core/lib/gprpp/arena.cc +0 -104
  2204. data/src/core/lib/gprpp/arena.h +0 -131
  2205. data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +0 -32
  2206. data/src/core/lib/iomgr/error_internal.h +0 -66
  2207. data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -1654
  2208. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
  2209. data/src/core/lib/iomgr/event_engine/closure.cc +0 -77
  2210. data/src/core/lib/iomgr/event_engine/closure.h +0 -42
  2211. data/src/core/lib/iomgr/event_engine/endpoint.cc +0 -172
  2212. data/src/core/lib/iomgr/event_engine/endpoint.h +0 -52
  2213. data/src/core/lib/iomgr/event_engine/iomgr.cc +0 -84
  2214. data/src/core/lib/iomgr/event_engine/pollset.cc +0 -88
  2215. data/src/core/lib/iomgr/event_engine/pollset.h +0 -25
  2216. data/src/core/lib/iomgr/event_engine/promise.h +0 -51
  2217. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +0 -41
  2218. data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +0 -35
  2219. data/src/core/lib/iomgr/event_engine/resolver.cc +0 -115
  2220. data/src/core/lib/iomgr/event_engine/tcp.cc +0 -295
  2221. data/src/core/lib/iomgr/event_engine/timer.cc +0 -63
  2222. data/src/core/lib/iomgr/executor/mpmcqueue.cc +0 -182
  2223. data/src/core/lib/iomgr/executor/mpmcqueue.h +0 -171
  2224. data/src/core/lib/iomgr/executor/threadpool.cc +0 -136
  2225. data/src/core/lib/iomgr/executor/threadpool.h +0 -150
  2226. data/src/core/lib/iomgr/iomgr_custom.cc +0 -79
  2227. data/src/core/lib/iomgr/iomgr_custom.h +0 -49
  2228. data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
  2229. data/src/core/lib/iomgr/is_epollexclusive_available.h +0 -36
  2230. data/src/core/lib/iomgr/pollset_custom.cc +0 -105
  2231. data/src/core/lib/iomgr/pollset_custom.h +0 -37
  2232. data/src/core/lib/iomgr/pollset_set_custom.cc +0 -47
  2233. data/src/core/lib/iomgr/pollset_set_custom.h +0 -26
  2234. data/src/core/lib/iomgr/resolve_address_custom.cc +0 -169
  2235. data/src/core/lib/iomgr/resolve_address_custom.h +0 -44
  2236. data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
  2237. data/src/core/lib/iomgr/tcp_client_custom.cc +0 -146
  2238. data/src/core/lib/iomgr/tcp_custom.cc +0 -350
  2239. data/src/core/lib/iomgr/tcp_custom.h +0 -85
  2240. data/src/core/lib/iomgr/tcp_server_custom.cc +0 -457
  2241. data/src/core/lib/iomgr/time_averaged_stats.cc +0 -64
  2242. data/src/core/lib/iomgr/time_averaged_stats.h +0 -72
  2243. data/src/core/lib/iomgr/timer_custom.cc +0 -96
  2244. data/src/core/lib/iomgr/timer_custom.h +0 -43
  2245. data/src/core/lib/iomgr/work_serializer.cc +0 -226
  2246. data/src/core/lib/iomgr/work_serializer.h +0 -93
  2247. data/src/core/lib/profiling/basic_timers.cc +0 -295
  2248. data/src/core/lib/profiling/stap_timers.cc +0 -50
  2249. data/src/core/lib/profiling/timers.h +0 -94
  2250. data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +0 -173
  2251. data/src/core/lib/security/authorization/sdk_server_authz_filter.h +0 -67
  2252. data/src/core/lib/security/credentials/credentials_metadata.cc +0 -61
  2253. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +0 -170
  2254. data/src/core/lib/security/security_connector/load_system_roots_linux.h +0 -46
  2255. data/src/core/lib/slice/slice_api.cc +0 -39
  2256. data/src/core/lib/slice/slice_intern.cc +0 -367
  2257. data/src/core/lib/slice/slice_refcount_base.h +0 -181
  2258. data/src/core/lib/slice/slice_split.cc +0 -100
  2259. data/src/core/lib/slice/slice_split.h +0 -40
  2260. data/src/core/lib/slice/slice_utils.h +0 -200
  2261. data/src/core/lib/slice/static_slice.cc +0 -377
  2262. data/src/core/lib/slice/static_slice.h +0 -300
  2263. data/src/core/lib/surface/init_secure.cc +0 -103
  2264. data/src/core/lib/transport/byte_stream.cc +0 -162
  2265. data/src/core/lib/transport/byte_stream.h +0 -166
  2266. data/src/core/lib/transport/metadata.cc +0 -714
  2267. data/src/core/lib/transport/metadata.h +0 -449
  2268. data/src/core/lib/transport/static_metadata.cc +0 -1032
  2269. data/src/core/lib/transport/static_metadata.h +0 -322
  2270. data/src/core/lib/transport/status_metadata.cc +0 -63
  2271. data/src/core/lib/transport/status_metadata.h +0 -48
  2272. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +0 -50
  2273. data/third_party/cares/cares/ares.h +0 -670
  2274. data/third_party/cares/cares/ares__close_sockets.c +0 -61
  2275. data/third_party/cares/cares/ares__get_hostent.c +0 -261
  2276. data/third_party/cares/cares/ares_create_query.c +0 -206
  2277. data/third_party/cares/cares/ares_data.c +0 -222
  2278. data/third_party/cares/cares/ares_data.h +0 -72
  2279. data/third_party/cares/cares/ares_dns.h +0 -103
  2280. data/third_party/cares/cares/ares_expand_name.c +0 -209
  2281. data/third_party/cares/cares/ares_expand_string.c +0 -70
  2282. data/third_party/cares/cares/ares_free_hostent.c +0 -41
  2283. data/third_party/cares/cares/ares_getenv.c +0 -30
  2284. data/third_party/cares/cares/ares_gethostbyaddr.c +0 -294
  2285. data/third_party/cares/cares/ares_gethostbyname.c +0 -529
  2286. data/third_party/cares/cares/ares_getnameinfo.c +0 -453
  2287. data/third_party/cares/cares/ares_getopt.c +0 -122
  2288. data/third_party/cares/cares/ares_getopt.h +0 -53
  2289. data/third_party/cares/cares/ares_init.c +0 -2615
  2290. data/third_party/cares/cares/ares_ipv6.h +0 -78
  2291. data/third_party/cares/cares/ares_library_init.c +0 -195
  2292. data/third_party/cares/cares/ares_library_init.h +0 -43
  2293. data/third_party/cares/cares/ares_parse_a_reply.c +0 -264
  2294. data/third_party/cares/cares/ares_parse_aaaa_reply.c +0 -264
  2295. data/third_party/cares/cares/ares_parse_mx_reply.c +0 -170
  2296. data/third_party/cares/cares/ares_parse_naptr_reply.c +0 -194
  2297. data/third_party/cares/cares/ares_parse_ns_reply.c +0 -183
  2298. data/third_party/cares/cares/ares_parse_ptr_reply.c +0 -221
  2299. data/third_party/cares/cares/ares_parse_soa_reply.c +0 -133
  2300. data/third_party/cares/cares/ares_parse_srv_reply.c +0 -179
  2301. data/third_party/cares/cares/ares_parse_txt_reply.c +0 -220
  2302. data/third_party/cares/cares/ares_private.h +0 -382
  2303. data/third_party/cares/cares/ares_process.c +0 -1473
  2304. data/third_party/cares/cares/ares_query.c +0 -186
  2305. data/third_party/cares/cares/ares_search.c +0 -323
  2306. data/third_party/cares/cares/ares_send.c +0 -137
  2307. data/third_party/cares/cares/ares_setup.h +0 -217
  2308. data/third_party/cares/cares/ares_strsplit.c +0 -174
  2309. data/third_party/cares/cares/ares_version.h +0 -24
  2310. data/third_party/cares/cares/inet_net_pton.c +0 -450
  2311. data/third_party/cares/cares/inet_ntop.c +0 -207
  2312. data/third_party/upb/upb/decode_internal.h +0 -194
  2313. data/third_party/upb/upb/upb_internal.h +0 -58
  2314. /data/third_party/cares/cares/{ares_rules.h → include/ares_rules.h} +0 -0
  2315. /data/third_party/cares/cares/{ares__read_line.c → src/lib/ares__read_line.c} +0 -0
  2316. /data/third_party/cares/cares/{ares__timeval.c → src/lib/ares__timeval.c} +0 -0
  2317. /data/third_party/cares/cares/{ares_cancel.c → src/lib/ares_cancel.c} +0 -0
  2318. /data/third_party/cares/cares/{ares_destroy.c → src/lib/ares_destroy.c} +0 -0
  2319. /data/third_party/cares/cares/{ares_fds.c → src/lib/ares_fds.c} +0 -0
  2320. /data/third_party/cares/cares/{ares_free_string.c → src/lib/ares_free_string.c} +0 -0
  2321. /data/third_party/cares/cares/{ares_getenv.h → src/lib/ares_getenv.h} +0 -0
  2322. /data/third_party/cares/cares/{ares_getsock.c → src/lib/ares_getsock.c} +0 -0
  2323. /data/third_party/cares/cares/{ares_inet_net_pton.h → src/lib/ares_inet_net_pton.h} +0 -0
  2324. /data/third_party/cares/cares/{ares_iphlpapi.h → src/lib/ares_iphlpapi.h} +0 -0
  2325. /data/third_party/cares/cares/{ares_llist.c → src/lib/ares_llist.c} +0 -0
  2326. /data/third_party/cares/cares/{ares_llist.h → src/lib/ares_llist.h} +0 -0
  2327. /data/third_party/cares/cares/{ares_mkquery.c → src/lib/ares_mkquery.c} +0 -0
  2328. /data/third_party/cares/cares/{ares_nowarn.c → src/lib/ares_nowarn.c} +0 -0
  2329. /data/third_party/cares/cares/{ares_nowarn.h → src/lib/ares_nowarn.h} +0 -0
  2330. /data/third_party/cares/cares/{ares_options.c → src/lib/ares_options.c} +0 -0
  2331. /data/third_party/cares/cares/{ares_platform.c → src/lib/ares_platform.c} +0 -0
  2332. /data/third_party/cares/cares/{ares_platform.h → src/lib/ares_platform.h} +0 -0
  2333. /data/third_party/cares/cares/{ares_strcasecmp.c → src/lib/ares_strcasecmp.c} +0 -0
  2334. /data/third_party/cares/cares/{ares_strcasecmp.h → src/lib/ares_strcasecmp.h} +0 -0
  2335. /data/third_party/cares/cares/{ares_strdup.c → src/lib/ares_strdup.c} +0 -0
  2336. /data/third_party/cares/cares/{ares_strdup.h → src/lib/ares_strdup.h} +0 -0
  2337. /data/third_party/cares/cares/{ares_strerror.c → src/lib/ares_strerror.c} +0 -0
  2338. /data/third_party/cares/cares/{ares_strsplit.h → src/lib/ares_strsplit.h} +0 -0
  2339. /data/third_party/cares/cares/{ares_timeout.c → src/lib/ares_timeout.c} +0 -0
  2340. /data/third_party/cares/cares/{ares_version.c → src/lib/ares_version.c} +0 -0
  2341. /data/third_party/cares/cares/{ares_writev.c → src/lib/ares_writev.c} +0 -0
  2342. /data/third_party/cares/cares/{bitncmp.c → src/lib/bitncmp.c} +0 -0
  2343. /data/third_party/cares/cares/{bitncmp.h → src/lib/bitncmp.h} +0 -0
  2344. /data/third_party/cares/cares/{config-win32.h → src/lib/config-win32.h} +0 -0
  2345. /data/third_party/cares/cares/{setup_once.h → src/lib/setup_once.h} +0 -0
  2346. /data/third_party/cares/cares/{windows_port.c → src/lib/windows_port.c} +0 -0
@@ -1,23 +1,23 @@
1
- /*
2
- *
3
- * Copyright 2018 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
- */
1
+ //
2
+ //
3
+ // Copyright 2018 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
18
 
19
- #ifndef GRPC_CORE_TSI_ALTS_CRYPT_GSEC_H
20
- #define GRPC_CORE_TSI_ALTS_CRYPT_GSEC_H
19
+ #ifndef GRPC_SRC_CORE_TSI_ALTS_CRYPT_GSEC_H
20
+ #define GRPC_SRC_CORE_TSI_ALTS_CRYPT_GSEC_H
21
21
 
22
22
  #include <grpc/support/port_platform.h>
23
23
 
@@ -37,13 +37,13 @@ struct iovec {
37
37
  #endif // GRPC_EVENT_ENGINE_POSIX
38
38
  #endif // _STRUCT_IOVEC
39
39
 
40
- /**
41
- * A gsec interface for AEAD encryption schemes. The API is thread-compatible.
42
- * Each implementation of this interface should specify supported values for
43
- * key, nonce, and tag lengths.
44
- */
40
+ ///
41
+ /// A gsec interface for AEAD encryption schemes. The API is thread-compatible.
42
+ /// Each implementation of this interface should specify supported values for
43
+ /// key, nonce, and tag lengths.
44
+ ///
45
45
 
46
- /* Key, nonce, and tag length in bytes */
46
+ // Key, nonce, and tag length in bytes
47
47
  const size_t kAesGcmNonceLength = 12;
48
48
  const size_t kAesGcmTagLength = 16;
49
49
  const size_t kAes128GcmKeyLength = 16;
@@ -55,94 +55,94 @@ const size_t kAes128GcmRekeyKeyLength = 44;
55
55
 
56
56
  typedef struct gsec_aead_crypter gsec_aead_crypter;
57
57
 
58
- /**
59
- * The gsec_aead_crypter is an API for different AEAD implementations such as
60
- * AES_GCM. It encapsulates all AEAD-related operations in the format of
61
- * V-table that stores pointers to functions implementing those operations.
62
- * It also provides helper functions to wrap each of those function pointers.
63
- *
64
- * A typical usage of this object would be:
65
- *
66
- *------------------------------------------------------------------------------
67
- * // Declare a gsec_aead_crypter object, and create and assign an instance
68
- * // of specific AEAD implementation e.g., AES_GCM to it. We assume both
69
- * // key and nonce contain cryptographically secure random bytes, and the key
70
- * // can be derived from an upper-layer application.
71
- * gsec_aead_crypter* crypter;
72
- * char* error_in_creation;
73
- * // User can populate the message with any 100 bytes data.
74
- * uint8_t* message = gpr_malloc(100);
75
- * grpc_status_code creation_status = gsec_aes_gcm_aead_crypter_create(key,
76
- * kAes128GcmKeyLength,
77
- * kAesGcmNonceLength,
78
- * kAesGcmTagLength,
79
- * &crypter,
80
- * false,
81
- * 0
82
- * &error_in_creation);
83
- *
84
- * if (creation_status == GRPC_STATUS_OK) {
85
- * // Allocate a correct amount of memory to hold a ciphertext.
86
- * size_t clength = 0;
87
- * gsec_aead_crypter_max_ciphertext_and_tag_length(crypter, 100, &clength,
88
- * nullptr);
89
- * uint8_t* ciphertext = gpr_malloc(clength);
90
- *
91
- * // Perform encryption
92
- * size_t num_encrypted_bytes = 0;
93
- * char* error_in_encryption = nullptr;
94
- * grpc_status_code status = gsec_aead_crypter_encrypt(crypter, nonce,
95
- * kAesGcmNonceLength,
96
- * nullptr, 0, message,
97
- * 100, ciphertext,
98
- * clength,
99
- * &num_encrypted_bytes,
100
- * &error_in_encryption);
101
- * if (status == GRPC_STATUS_OK) {
102
- * // Allocate a correct amount of memory to hold a plaintext.
103
- * size_t plength = 0;
104
- * gsec_aead_crypter_max_plaintext_length(crypter, num_encrypted_bytes,
105
- * &plength, nullptr);
106
- * uint8_t* plaintext = gpr_malloc(plength);
107
- *
108
- * // Perform decryption.
109
- * size_t num_decrypted_bytes = 0;
110
- * char* error_in_decryption = nullptr;
111
- * status = gsec_aead_crypter_decrypt(crypter, nonce,
112
- * kAesGcmNonceLength, nullptr, 0,
113
- * ciphertext, num_encrypted_bytes,
114
- * plaintext, plength,
115
- * &num_decrypted_bytes,
116
- * &error_in_decryption);
117
- * if (status != GRPC_STATUS_OK) {
118
- * fprintf(stderr, "AEAD decrypt operation failed with error code:"
119
- * "%d, message: %s\n", status, error_in_decryption);
120
- * }
121
- * ...
122
- * gpr_free(plaintext);
123
- * gpr_free(error_in_decryption);
124
- * } else {
125
- * fprintf(stderr, "AEAD encrypt operation failed with error code:"
126
- * "%d, message: %s\n", status, error_in_encryption);
127
- * }
128
- * ...
129
- * gpr_free(ciphertext);
130
- * gpr_free(error_in_encryption);
131
- * } else {
132
- * fprintf(stderr, "Creation of AEAD crypter instance failed with error code:"
133
- * "%d, message: %s\n", creation_status, error_in_creation);
134
- * }
135
- *
136
- * // Destruct AEAD crypter instance.
137
- * if (creation_status == GRPC_STATUS_OK) {
138
- * gsec_aead_crypter_destroy(crypter);
139
- * }
140
- * gpr_free(error_in_creation);
141
- * gpr_free(message);
142
- * -----------------------------------------------------------------------------
143
- */
58
+ ///
59
+ /// The gsec_aead_crypter is an API for different AEAD implementations such as
60
+ /// AES_GCM. It encapsulates all AEAD-related operations in the format of
61
+ /// V-table that stores pointers to functions implementing those operations.
62
+ /// It also provides helper functions to wrap each of those function pointers.
63
+ ///
64
+ /// A typical usage of this object would be:
65
+ ///
66
+ ///------------------------------------------------------------------------------
67
+ ///// Declare a gsec_aead_crypter object, and create and assign an instance
68
+ ///// of specific AEAD implementation e.g., AES_GCM to it. We assume both
69
+ ///// key and nonce contain cryptographically secure random bytes, and the key
70
+ ///// can be derived from an upper-layer application.
71
+ /// gsec_aead_crypter* crypter;
72
+ /// char* error_in_creation;
73
+ ///// User can populate the message with any 100 bytes data.
74
+ /// uint8_t* message = gpr_malloc(100);
75
+ /// grpc_status_code creation_status = gsec_aes_gcm_aead_crypter_create(key,
76
+ /// kAes128GcmKeyLength,
77
+ /// kAesGcmNonceLength,
78
+ /// kAesGcmTagLength,
79
+ /// &crypter,
80
+ /// false,
81
+ /// 0
82
+ /// &error_in_creation);
83
+ ///
84
+ /// if (creation_status == GRPC_STATUS_OK) {
85
+ /// // Allocate a correct amount of memory to hold a ciphertext.
86
+ /// size_t clength = 0;
87
+ /// gsec_aead_crypter_max_ciphertext_and_tag_length(crypter, 100, &clength,
88
+ /// nullptr);
89
+ /// uint8_t* ciphertext = gpr_malloc(clength);
90
+ ///
91
+ /// // Perform encryption
92
+ /// size_t num_encrypted_bytes = 0;
93
+ /// char* error_in_encryption = nullptr;
94
+ /// grpc_status_code status = gsec_aead_crypter_encrypt(crypter, nonce,
95
+ /// kAesGcmNonceLength,
96
+ /// nullptr, 0, message,
97
+ /// 100, ciphertext,
98
+ /// clength,
99
+ /// &num_encrypted_bytes,
100
+ /// &error_in_encryption);
101
+ /// if (status == GRPC_STATUS_OK) {
102
+ /// // Allocate a correct amount of memory to hold a plaintext.
103
+ /// size_t plength = 0;
104
+ /// gsec_aead_crypter_max_plaintext_length(crypter, num_encrypted_bytes,
105
+ /// &plength, nullptr);
106
+ /// uint8_t* plaintext = gpr_malloc(plength);
107
+ ///
108
+ /// // Perform decryption.
109
+ /// size_t num_decrypted_bytes = 0;
110
+ /// char* error_in_decryption = nullptr;
111
+ /// status = gsec_aead_crypter_decrypt(crypter, nonce,
112
+ /// kAesGcmNonceLength, nullptr, 0,
113
+ /// ciphertext, num_encrypted_bytes,
114
+ /// plaintext, plength,
115
+ /// &num_decrypted_bytes,
116
+ /// &error_in_decryption);
117
+ /// if (status != GRPC_STATUS_OK) {
118
+ /// fprintf(stderr, "AEAD decrypt operation failed with error code:"
119
+ /// "%d, message: %s\n", status, error_in_decryption);
120
+ /// }
121
+ /// ...
122
+ /// gpr_free(plaintext);
123
+ /// gpr_free(error_in_decryption);
124
+ /// } else {
125
+ /// fprintf(stderr, "AEAD encrypt operation failed with error code:"
126
+ /// "%d, message: %s\n", status, error_in_encryption);
127
+ /// }
128
+ /// ...
129
+ /// gpr_free(ciphertext);
130
+ /// gpr_free(error_in_encryption);
131
+ ///} else {
132
+ /// fprintf(stderr, "Creation of AEAD crypter instance failed with error code:"
133
+ /// "%d, message: %s\n", creation_status, error_in_creation);
134
+ ///}
135
+ ///
136
+ ///// Destruct AEAD crypter instance.
137
+ /// if (creation_status == GRPC_STATUS_OK) {
138
+ /// gsec_aead_crypter_destroy(crypter);
139
+ ///}
140
+ /// gpr_free(error_in_creation);
141
+ /// gpr_free(message);
142
+ ///-----------------------------------------------------------------------------
143
+ ///
144
144
 
145
- /* V-table for gsec AEAD operations */
145
+ // V-table for gsec AEAD operations
146
146
  typedef struct gsec_aead_crypter_vtable {
147
147
  grpc_status_code (*encrypt_iovec)(
148
148
  gsec_aead_crypter* crypter, const uint8_t* nonce, size_t nonce_length,
@@ -174,44 +174,44 @@ typedef struct gsec_aead_crypter_vtable {
174
174
  void (*destruct)(gsec_aead_crypter* crypter);
175
175
  } gsec_aead_crypter_vtable;
176
176
 
177
- /* Main struct for gsec interface */
177
+ // Main struct for gsec interface
178
178
  struct gsec_aead_crypter {
179
179
  const struct gsec_aead_crypter_vtable* vtable;
180
180
  };
181
181
 
182
- /**
183
- * This method performs an AEAD encrypt operation.
184
- *
185
- * - crypter: AEAD crypter instance.
186
- * - nonce: buffer containing a nonce with its size equal to nonce_length.
187
- * - nonce_length: size of nonce buffer, and must be equal to the value returned
188
- * from method gsec_aead_crypter_nonce_length.
189
- * - aad: buffer containing data that needs to be authenticated but not
190
- * encrypted with its size equal to aad_length.
191
- * - aad_length: size of aad buffer, which should be zero if the buffer is
192
- * nullptr.
193
- * - plaintext: buffer containing data that needs to be both encrypted and
194
- * authenticated with its size equal to plaintext_length.
195
- * - plaintext_length: size of plaintext buffer, which should be zero if
196
- * plaintext is nullptr.
197
- * - ciphertext_and_tag: buffer that will contain ciphertext and tags the method
198
- * produced. The buffer should not overlap the plaintext buffer, and pointers
199
- * to those buffers should not be equal. Also if the ciphertext+tag buffer is
200
- * nullptr, the plaintext_length should be zero.
201
- * - ciphertext_and_tag_length: size of ciphertext+tag buffer, which should be
202
- * at least as long as the one returned from method
203
- * gsec_aead_crypter_max_ciphertext_and_tag_length.
204
- * - bytes_written: the actual number of bytes written to the ciphertext+tag
205
- * buffer. If bytes_written is nullptr, the plaintext_length should be zero.
206
- * - error_details: a buffer containing an error message if the method does not
207
- * function correctly. It is legal to pass nullptr into error_details, and
208
- * otherwise, the parameter should be freed with gpr_free.
209
- *
210
- * On the success of encryption, the method returns GRPC_STATUS_OK. Otherwise,
211
- * it returns an error status code along with its details specified in
212
- * error_details (if error_details is not nullptr).
213
- *
214
- */
182
+ ///
183
+ /// This method performs an AEAD encrypt operation.
184
+ ///
185
+ ///- crypter: AEAD crypter instance.
186
+ ///- nonce: buffer containing a nonce with its size equal to nonce_length.
187
+ ///- nonce_length: size of nonce buffer, and must be equal to the value returned
188
+ /// from method gsec_aead_crypter_nonce_length.
189
+ ///- aad: buffer containing data that needs to be authenticated but not
190
+ /// encrypted with its size equal to aad_length.
191
+ ///- aad_length: size of aad buffer, which should be zero if the buffer is
192
+ /// nullptr.
193
+ ///- plaintext: buffer containing data that needs to be both encrypted and
194
+ /// authenticated with its size equal to plaintext_length.
195
+ ///- plaintext_length: size of plaintext buffer, which should be zero if
196
+ /// plaintext is nullptr.
197
+ ///- ciphertext_and_tag: buffer that will contain ciphertext and tags the method
198
+ /// produced. The buffer should not overlap the plaintext buffer, and pointers
199
+ /// to those buffers should not be equal. Also if the ciphertext+tag buffer is
200
+ /// nullptr, the plaintext_length should be zero.
201
+ ///- ciphertext_and_tag_length: size of ciphertext+tag buffer, which should be
202
+ /// at least as long as the one returned from method
203
+ /// gsec_aead_crypter_max_ciphertext_and_tag_length.
204
+ ///- bytes_written: the actual number of bytes written to the ciphertext+tag
205
+ /// buffer. If bytes_written is nullptr, the plaintext_length should be zero.
206
+ ///- error_details: a buffer containing an error message if the method does not
207
+ /// function correctly. It is legal to pass nullptr into error_details, and
208
+ /// otherwise, the parameter should be freed with gpr_free.
209
+ ///
210
+ /// On the success of encryption, the method returns GRPC_STATUS_OK. Otherwise,
211
+ /// it returns an error status code along with its details specified in
212
+ /// error_details (if error_details is not nullptr).
213
+ ///
214
+ ///
215
215
  grpc_status_code gsec_aead_crypter_encrypt(
216
216
  gsec_aead_crypter* crypter, const uint8_t* nonce, size_t nonce_length,
217
217
  const uint8_t* aad, size_t aad_length, const uint8_t* plaintext,
@@ -219,32 +219,32 @@ grpc_status_code gsec_aead_crypter_encrypt(
219
219
  size_t ciphertext_and_tag_length, size_t* bytes_written,
220
220
  char** error_details);
221
221
 
222
- /**
223
- * This method performs an AEAD encrypt operation.
224
- *
225
- * - crypter: AEAD crypter instance.
226
- * - nonce: buffer containing a nonce with its size equal to nonce_length.
227
- * - nonce_length: size of nonce buffer, and must be equal to the value returned
228
- * from method gsec_aead_crypter_nonce_length.
229
- * - aad_vec: an iovec array containing data that needs to be authenticated but
230
- * not encrypted.
231
- * - aad_vec_length: the array length of aad_vec.
232
- * - plaintext_vec: an iovec array containing data that needs to be both
233
- * encrypted and authenticated.
234
- * - plaintext_vec_length: the array length of plaintext_vec.
235
- * - ciphertext_vec: an iovec containing a ciphertext buffer. The buffer should
236
- * not overlap the plaintext buffer.
237
- * - ciphertext_bytes_written: the actual number of bytes written to
238
- * ciphertext_vec.
239
- * - error_details: a buffer containing an error message if the method does not
240
- * function correctly. It is legal to pass nullptr into error_details, and
241
- * otherwise, the parameter should be freed with gpr_free.
242
- *
243
- * On the success of encryption, the method returns GRPC_STATUS_OK. Otherwise,
244
- * it returns an error status code along with its details specified in
245
- * error_details (if error_details is not nullptr).
246
- *
247
- */
222
+ ///
223
+ /// This method performs an AEAD encrypt operation.
224
+ ///
225
+ ///- crypter: AEAD crypter instance.
226
+ ///- nonce: buffer containing a nonce with its size equal to nonce_length.
227
+ ///- nonce_length: size of nonce buffer, and must be equal to the value returned
228
+ /// from method gsec_aead_crypter_nonce_length.
229
+ ///- aad_vec: an iovec array containing data that needs to be authenticated but
230
+ /// not encrypted.
231
+ ///- aad_vec_length: the array length of aad_vec.
232
+ ///- plaintext_vec: an iovec array containing data that needs to be both
233
+ /// encrypted and authenticated.
234
+ ///- plaintext_vec_length: the array length of plaintext_vec.
235
+ ///- ciphertext_vec: an iovec containing a ciphertext buffer. The buffer should
236
+ /// not overlap the plaintext buffer.
237
+ ///- ciphertext_bytes_written: the actual number of bytes written to
238
+ /// ciphertext_vec.
239
+ ///- error_details: a buffer containing an error message if the method does not
240
+ /// function correctly. It is legal to pass nullptr into error_details, and
241
+ /// otherwise, the parameter should be freed with gpr_free.
242
+ ///
243
+ /// On the success of encryption, the method returns GRPC_STATUS_OK. Otherwise,
244
+ /// it returns an error status code along with its details specified in
245
+ /// error_details (if error_details is not nullptr).
246
+ ///
247
+ ///
248
248
  grpc_status_code gsec_aead_crypter_encrypt_iovec(
249
249
  gsec_aead_crypter* crypter, const uint8_t* nonce, size_t nonce_length,
250
250
  const struct iovec* aad_vec, size_t aad_vec_length,
@@ -252,67 +252,67 @@ grpc_status_code gsec_aead_crypter_encrypt_iovec(
252
252
  struct iovec ciphertext_vec, size_t* ciphertext_bytes_written,
253
253
  char** error_details);
254
254
 
255
- /**
256
- * This method performs an AEAD decrypt operation.
257
- *
258
- * - crypter: AEAD crypter instance.
259
- * - nonce: buffer containing a nonce with its size equal to nonce_length.
260
- * - nonce_length: size of nonce buffer, and must be equal to the value returned
261
- * from method gsec_aead_crypter_nonce_length.
262
- * - aad: buffer containing data that needs to be authenticated only.
263
- * - aad_length: size of aad buffer, which should be zero if the buffer is
264
- * nullptr.
265
- * - ciphertext_and_tag: buffer containing ciphertext and tag.
266
- * - ciphertext_and_tag_length: length of ciphertext and tag. It should be zero
267
- * if any of plaintext, ciphertext_and_tag, or bytes_written is nullptr. Also,
268
- * ciphertext_and_tag_length should be at least as large as the tag length set
269
- * at AEAD crypter instance construction time.
270
- * - plaintext: buffer containing decrypted and authenticated data the method
271
- * produced. The buffer should not overlap with the ciphertext+tag buffer, and
272
- * pointers to those buffers should not be equal.
273
- * - plaintext_length: size of plaintext buffer, which should be at least as
274
- * long as the one returned from gsec_aead_crypter_max_plaintext_length
275
- * method.
276
- * - bytes_written: the actual number of bytes written to the plaintext
277
- * buffer.
278
- * - error_details: a buffer containing an error message if the method does not
279
- * function correctly. It is legal to pass nullptr into error_details, and
280
- * otherwise, the parameter should be freed with gpr_free.
281
- *
282
- * On the success of decryption, the method returns GRPC_STATUS_OK. Otherwise,
283
- * it returns an error status code along with its details specified in
284
- * error_details (if error_details is not nullptr).
285
- */
255
+ ///
256
+ /// This method performs an AEAD decrypt operation.
257
+ ///
258
+ ///- crypter: AEAD crypter instance.
259
+ ///- nonce: buffer containing a nonce with its size equal to nonce_length.
260
+ ///- nonce_length: size of nonce buffer, and must be equal to the value returned
261
+ /// from method gsec_aead_crypter_nonce_length.
262
+ ///- aad: buffer containing data that needs to be authenticated only.
263
+ ///- aad_length: size of aad buffer, which should be zero if the buffer is
264
+ /// nullptr.
265
+ ///- ciphertext_and_tag: buffer containing ciphertext and tag.
266
+ ///- ciphertext_and_tag_length: length of ciphertext and tag. It should be zero
267
+ /// if any of plaintext, ciphertext_and_tag, or bytes_written is nullptr. Also,
268
+ /// ciphertext_and_tag_length should be at least as large as the tag length set
269
+ /// at AEAD crypter instance construction time.
270
+ ///- plaintext: buffer containing decrypted and authenticated data the method
271
+ /// produced. The buffer should not overlap with the ciphertext+tag buffer, and
272
+ /// pointers to those buffers should not be equal.
273
+ ///- plaintext_length: size of plaintext buffer, which should be at least as
274
+ /// long as the one returned from gsec_aead_crypter_max_plaintext_length
275
+ /// method.
276
+ ///- bytes_written: the actual number of bytes written to the plaintext
277
+ /// buffer.
278
+ ///- error_details: a buffer containing an error message if the method does not
279
+ /// function correctly. It is legal to pass nullptr into error_details, and
280
+ /// otherwise, the parameter should be freed with gpr_free.
281
+ ///
282
+ /// On the success of decryption, the method returns GRPC_STATUS_OK. Otherwise,
283
+ /// it returns an error status code along with its details specified in
284
+ /// error_details (if error_details is not nullptr).
285
+ ///
286
286
  grpc_status_code gsec_aead_crypter_decrypt(
287
287
  gsec_aead_crypter* crypter, const uint8_t* nonce, size_t nonce_length,
288
288
  const uint8_t* aad, size_t aad_length, const uint8_t* ciphertext_and_tag,
289
289
  size_t ciphertext_and_tag_length, uint8_t* plaintext,
290
290
  size_t plaintext_length, size_t* bytes_written, char** error_details);
291
291
 
292
- /**
293
- * This method performs an AEAD decrypt operation.
294
- *
295
- * - crypter: AEAD crypter instance.
296
- * - nonce: buffer containing a nonce with its size equal to nonce_length.
297
- * - nonce_length: size of nonce buffer, and must be equal to the value returned
298
- * from method gsec_aead_crypter_nonce_length.
299
- * - aad_vec: an iovec array containing data that needs to be authenticated but
300
- * not encrypted.
301
- * - aad_vec_length: the array length of aad_vec.
302
- * - ciphertext_vec: an iovec array containing the ciphertext and tag.
303
- * - ciphertext_vec_length: the array length of ciphertext_vec.
304
- * - plaintext_vec: an iovec containing a plaintext buffer. The buffer should
305
- * not overlap the ciphertext buffer.
306
- * - plaintext_bytes_written: the actual number of bytes written to
307
- * plaintext_vec.
308
- * - error_details: a buffer containing an error message if the method does not
309
- * function correctly. It is legal to pass nullptr into error_details, and
310
- * otherwise, the parameter should be freed with gpr_free.
311
- *
312
- * On the success of decryption, the method returns GRPC_STATUS_OK. Otherwise,
313
- * it returns an error status code along with its details specified in
314
- * error_details (if error_details is not nullptr).
315
- */
292
+ ///
293
+ /// This method performs an AEAD decrypt operation.
294
+ ///
295
+ ///- crypter: AEAD crypter instance.
296
+ ///- nonce: buffer containing a nonce with its size equal to nonce_length.
297
+ ///- nonce_length: size of nonce buffer, and must be equal to the value returned
298
+ /// from method gsec_aead_crypter_nonce_length.
299
+ ///- aad_vec: an iovec array containing data that needs to be authenticated but
300
+ /// not encrypted.
301
+ ///- aad_vec_length: the array length of aad_vec.
302
+ ///- ciphertext_vec: an iovec array containing the ciphertext and tag.
303
+ ///- ciphertext_vec_length: the array length of ciphertext_vec.
304
+ ///- plaintext_vec: an iovec containing a plaintext buffer. The buffer should
305
+ /// not overlap the ciphertext buffer.
306
+ ///- plaintext_bytes_written: the actual number of bytes written to
307
+ /// plaintext_vec.
308
+ ///- error_details: a buffer containing an error message if the method does not
309
+ /// function correctly. It is legal to pass nullptr into error_details, and
310
+ /// otherwise, the parameter should be freed with gpr_free.
311
+ ///
312
+ /// On the success of decryption, the method returns GRPC_STATUS_OK. Otherwise,
313
+ /// it returns an error status code along with its details specified in
314
+ /// error_details (if error_details is not nullptr).
315
+ ///
316
316
  grpc_status_code gsec_aead_crypter_decrypt_iovec(
317
317
  gsec_aead_crypter* crypter, const uint8_t* nonce, size_t nonce_length,
318
318
  const struct iovec* aad_vec, size_t aad_vec_length,
@@ -320,135 +320,135 @@ grpc_status_code gsec_aead_crypter_decrypt_iovec(
320
320
  struct iovec plaintext_vec, size_t* plaintext_bytes_written,
321
321
  char** error_details);
322
322
 
323
- /**
324
- * This method computes the size of ciphertext+tag buffer that must be passed to
325
- * gsec_aead_crypter_encrypt function to ensure correct encryption of a
326
- * plaintext. The actual size of ciphertext+tag written to the buffer could be
327
- * smaller.
328
- *
329
- * - crypter: AEAD crypter instance.
330
- * - plaintext_length: length of plaintext.
331
- * - max_ciphertext_and_tag_length_to_return: the size of ciphertext+tag buffer
332
- * the method returns.
333
- * - error_details: a buffer containing an error message if the method does not
334
- * function correctly. It is legal to pass nullptr into error_details, and
335
- * otherwise, the parameter should be freed with gpr_free.
336
- *
337
- * On the success of execution, the method returns GRPC_STATUS_OK. Otherwise,
338
- * it returns an error status code along with its details specified in
339
- * error_details (if error_details is not nullptr).
340
- */
323
+ ///
324
+ /// This method computes the size of ciphertext+tag buffer that must be passed
325
+ /// to gsec_aead_crypter_encrypt function to ensure correct encryption of a
326
+ /// plaintext. The actual size of ciphertext+tag written to the buffer could be
327
+ /// smaller.
328
+ ///
329
+ ///- crypter: AEAD crypter instance.
330
+ ///- plaintext_length: length of plaintext.
331
+ ///- max_ciphertext_and_tag_length_to_return: the size of ciphertext+tag buffer
332
+ /// the method returns.
333
+ ///- error_details: a buffer containing an error message if the method does not
334
+ /// function correctly. It is legal to pass nullptr into error_details, and
335
+ /// otherwise, the parameter should be freed with gpr_free.
336
+ ///
337
+ /// On the success of execution, the method returns GRPC_STATUS_OK. Otherwise,
338
+ /// it returns an error status code along with its details specified in
339
+ /// error_details (if error_details is not nullptr).
340
+ ///
341
341
  grpc_status_code gsec_aead_crypter_max_ciphertext_and_tag_length(
342
342
  const gsec_aead_crypter* crypter, size_t plaintext_length,
343
343
  size_t* max_ciphertext_and_tag_length_to_return, char** error_details);
344
344
 
345
- /**
346
- * This method computes the size of plaintext buffer that must be passed to
347
- * gsec_aead_crypter_decrypt function to ensure correct decryption of a
348
- * ciphertext. The actual size of plaintext written to the buffer could be
349
- * smaller.
350
- *
351
- * - crypter: AEAD crypter instance.
352
- * - ciphertext_and_tag_length: length of ciphertext and tag.
353
- * - max_plaintext_length_to_return: the size of plaintext buffer the method
354
- * returns.
355
- * - error_details: a buffer containing an error message if the method does not
356
- * function correctly. It is legal to pass nullptr into error_details, and
357
- * otherwise, the parameter should be freed with gpr_free.
358
- *
359
- * On the success of execution, the method returns GRPC_STATUS_OK. Otherwise,
360
- * it returns an error status code along with its details specified in
361
- * error_details (if error_details is not nullptr).
362
- */
345
+ ///
346
+ /// This method computes the size of plaintext buffer that must be passed to
347
+ /// gsec_aead_crypter_decrypt function to ensure correct decryption of a
348
+ /// ciphertext. The actual size of plaintext written to the buffer could be
349
+ /// smaller.
350
+ ///
351
+ ///- crypter: AEAD crypter instance.
352
+ ///- ciphertext_and_tag_length: length of ciphertext and tag.
353
+ ///- max_plaintext_length_to_return: the size of plaintext buffer the method
354
+ /// returns.
355
+ ///- error_details: a buffer containing an error message if the method does not
356
+ /// function correctly. It is legal to pass nullptr into error_details, and
357
+ /// otherwise, the parameter should be freed with gpr_free.
358
+ ///
359
+ /// On the success of execution, the method returns GRPC_STATUS_OK. Otherwise,
360
+ /// it returns an error status code along with its details specified in
361
+ /// error_details (if error_details is not nullptr).
362
+ ///
363
363
  grpc_status_code gsec_aead_crypter_max_plaintext_length(
364
364
  const gsec_aead_crypter* crypter, size_t ciphertext_and_tag_length,
365
365
  size_t* max_plaintext_length_to_return, char** error_details);
366
366
 
367
- /**
368
- * This method returns a valid size of nonce array used at the construction of
369
- * AEAD crypter instance. It is also the size that should be passed to encrypt
370
- * and decrypt methods executed on the instance.
371
- *
372
- * - crypter: AEAD crypter instance.
373
- * - nonce_length_to_return: the length of nonce array the method returns.
374
- * - error_details: a buffer containing an error message if the method does not
375
- * function correctly. It is legal to pass nullptr into error_details, and
376
- * otherwise, the parameter should be freed with gpr_free.
377
- *
378
- * On the success of execution, the method returns GRPC_STATUS_OK. Otherwise,
379
- * it returns an error status code along with its details specified in
380
- * error_details (if error_details is not nullptr).
381
- */
367
+ ///
368
+ /// This method returns a valid size of nonce array used at the construction of
369
+ /// AEAD crypter instance. It is also the size that should be passed to encrypt
370
+ /// and decrypt methods executed on the instance.
371
+ ///
372
+ ///- crypter: AEAD crypter instance.
373
+ ///- nonce_length_to_return: the length of nonce array the method returns.
374
+ ///- error_details: a buffer containing an error message if the method does not
375
+ /// function correctly. It is legal to pass nullptr into error_details, and
376
+ /// otherwise, the parameter should be freed with gpr_free.
377
+ ///
378
+ /// On the success of execution, the method returns GRPC_STATUS_OK. Otherwise,
379
+ /// it returns an error status code along with its details specified in
380
+ /// error_details (if error_details is not nullptr).
381
+ ///
382
382
  grpc_status_code gsec_aead_crypter_nonce_length(
383
383
  const gsec_aead_crypter* crypter, size_t* nonce_length_to_return,
384
384
  char** error_details);
385
385
 
386
- /**
387
- * This method returns a valid size of key array used at the construction of
388
- * AEAD crypter instance. It is also the size that should be passed to encrypt
389
- * and decrypt methods executed on the instance.
390
- *
391
- * - crypter: AEAD crypter instance.
392
- * - key_length_to_return: the length of key array the method returns.
393
- * - error_details: a buffer containing an error message if the method does not
394
- * function correctly. It is legal to pass nullptr into error_details, and
395
- * otherwise, the parameter should be freed with gpr_free.
396
- *
397
- * On the success of execution, the method returns GRPC_STATUS_OK. Otherwise,
398
- * it returns an error status code along with its details specified in
399
- * error_details (if error_details is not nullptr).
400
- */
386
+ ///
387
+ /// This method returns a valid size of key array used at the construction of
388
+ /// AEAD crypter instance. It is also the size that should be passed to encrypt
389
+ /// and decrypt methods executed on the instance.
390
+ ///
391
+ ///- crypter: AEAD crypter instance.
392
+ ///- key_length_to_return: the length of key array the method returns.
393
+ ///- error_details: a buffer containing an error message if the method does not
394
+ /// function correctly. It is legal to pass nullptr into error_details, and
395
+ /// otherwise, the parameter should be freed with gpr_free.
396
+ ///
397
+ /// On the success of execution, the method returns GRPC_STATUS_OK. Otherwise,
398
+ /// it returns an error status code along with its details specified in
399
+ /// error_details (if error_details is not nullptr).
400
+ ///
401
401
  grpc_status_code gsec_aead_crypter_key_length(const gsec_aead_crypter* crypter,
402
402
  size_t* key_length_to_return,
403
403
  char** error_details);
404
- /**
405
- * This method returns a valid size of tag array used at the construction of
406
- * AEAD crypter instance. It is also the size that should be passed to encrypt
407
- * and decrypt methods executed on the instance.
408
- *
409
- * - crypter: AEAD crypter instance.
410
- * - tag_length_to_return: the length of tag array the method returns.
411
- * - error_details: a buffer containing an error message if the method does not
412
- * function correctly. It is legal to pass nullptr into error_details, and
413
- * otherwise, the parameter should be freed with gpr_free.
414
- *
415
- * On the success of execution, the method returns GRPC_STATUS_OK. Otherwise,
416
- * it returns an error status code along with its details specified in
417
- * error_details (if error_details is not nullptr).
418
- */
404
+ ///
405
+ /// This method returns a valid size of tag array used at the construction of
406
+ /// AEAD crypter instance. It is also the size that should be passed to encrypt
407
+ /// and decrypt methods executed on the instance.
408
+ ///
409
+ ///- crypter: AEAD crypter instance.
410
+ ///- tag_length_to_return: the length of tag array the method returns.
411
+ ///- error_details: a buffer containing an error message if the method does not
412
+ /// function correctly. It is legal to pass nullptr into error_details, and
413
+ /// otherwise, the parameter should be freed with gpr_free.
414
+ ///
415
+ /// On the success of execution, the method returns GRPC_STATUS_OK. Otherwise,
416
+ /// it returns an error status code along with its details specified in
417
+ /// error_details (if error_details is not nullptr).
418
+ ///
419
419
  grpc_status_code gsec_aead_crypter_tag_length(const gsec_aead_crypter* crypter,
420
420
  size_t* tag_length_to_return,
421
421
  char** error_details);
422
422
 
423
- /**
424
- * This method destroys an AEAD crypter instance by de-allocating all of its
425
- * occupied memory.
426
- *
427
- * - crypter: AEAD crypter instance that needs to be destroyed.
428
- */
423
+ ///
424
+ /// This method destroys an AEAD crypter instance by de-allocating all of its
425
+ /// occupied memory.
426
+ ///
427
+ ///- crypter: AEAD crypter instance that needs to be destroyed.
428
+ ///
429
429
  void gsec_aead_crypter_destroy(gsec_aead_crypter* crypter);
430
430
 
431
- /**
432
- * This method creates an AEAD crypter instance of AES-GCM encryption scheme
433
- * which supports 16 and 32 bytes long keys, 12 and 16 bytes long nonces, and
434
- * 16 bytes long tags. It should be noted that once the lengths of key, nonce,
435
- * and tag are determined at construction time, they cannot be modified later.
436
- *
437
- * - key: buffer containing a key which is binded with AEAD crypter instance.
438
- * - key_length: length of a key in bytes, which should be 44 if rekeying is
439
- * enabled and 16 or 32 otherwise.
440
- * - nonce_length: length of a nonce in bytes, which should be either 12 or 16.
441
- * - tag_length: length of a tag in bytes, which should be always 16.
442
- * - rekey: enable nonce-based rekeying and nonce-masking.
443
- * - crypter: address of AES_GCM crypter instance returned from the method.
444
- * - error_details: a buffer containing an error message if the method does not
445
- * function correctly. It is legal to pass nullptr into error_details, and
446
- * otherwise, the parameter should be freed with gpr_free.
447
- *
448
- * On success of instance creation, it stores the address of instance at
449
- * crypter. Otherwise, it returns an error status code together with its details
450
- * specified in error_details.
451
- */
431
+ ///
432
+ /// This method creates an AEAD crypter instance of AES-GCM encryption scheme
433
+ /// which supports 16 and 32 bytes long keys, 12 and 16 bytes long nonces, and
434
+ /// 16 bytes long tags. It should be noted that once the lengths of key, nonce,
435
+ /// and tag are determined at construction time, they cannot be modified later.
436
+ ///
437
+ ///- key: buffer containing a key which is binded with AEAD crypter instance.
438
+ ///- key_length: length of a key in bytes, which should be 44 if rekeying is
439
+ /// enabled and 16 or 32 otherwise.
440
+ ///- nonce_length: length of a nonce in bytes, which should be either 12 or 16.
441
+ ///- tag_length: length of a tag in bytes, which should be always 16.
442
+ ///- rekey: enable nonce-based rekeying and nonce-masking.
443
+ ///- crypter: address of AES_GCM crypter instance returned from the method.
444
+ ///- error_details: a buffer containing an error message if the method does not
445
+ /// function correctly. It is legal to pass nullptr into error_details, and
446
+ /// otherwise, the parameter should be freed with gpr_free.
447
+ ///
448
+ /// On success of instance creation, it stores the address of instance at
449
+ /// crypter. Otherwise, it returns an error status code together with its
450
+ /// details specified in error_details.
451
+ ///
452
452
  grpc_status_code gsec_aes_gcm_aead_crypter_create(const uint8_t* key,
453
453
  size_t key_length,
454
454
  size_t nonce_length,
@@ -456,4 +456,4 @@ grpc_status_code gsec_aes_gcm_aead_crypter_create(const uint8_t* key,
456
456
  gsec_aead_crypter** crypter,
457
457
  char** error_details);
458
458
 
459
- #endif /* GRPC_CORE_TSI_ALTS_CRYPT_GSEC_H */
459
+ #endif // GRPC_SRC_CORE_TSI_ALTS_CRYPT_GSEC_H