grpc 1.50.0 → 1.52.0.pre2

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 (1009) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +206 -49
  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/event_engine.h +27 -6
  7. data/include/grpc/event_engine/internal/memory_allocator_impl.h +1 -1
  8. data/include/grpc/event_engine/internal/slice_cast.h +67 -0
  9. data/include/grpc/event_engine/memory_allocator.h +1 -1
  10. data/include/grpc/event_engine/slice.h +24 -4
  11. data/include/grpc/event_engine/slice_buffer.h +31 -2
  12. data/include/grpc/fork.h +25 -1
  13. data/include/grpc/grpc.h +3 -13
  14. data/include/grpc/grpc_posix.h +1 -1
  15. data/include/grpc/impl/codegen/atm.h +3 -71
  16. data/include/grpc/impl/codegen/atm_gcc_atomic.h +3 -58
  17. data/include/grpc/impl/codegen/atm_gcc_sync.h +3 -59
  18. data/include/grpc/impl/codegen/atm_windows.h +3 -106
  19. data/include/grpc/impl/codegen/byte_buffer.h +4 -78
  20. data/include/grpc/impl/codegen/byte_buffer_reader.h +4 -19
  21. data/include/grpc/impl/codegen/compression_types.h +3 -82
  22. data/include/grpc/impl/codegen/connectivity_state.h +3 -20
  23. data/include/grpc/impl/codegen/fork.h +4 -25
  24. data/include/grpc/impl/codegen/gpr_types.h +2 -34
  25. data/include/grpc/impl/codegen/grpc_types.h +3 -791
  26. data/include/grpc/impl/codegen/log.h +3 -86
  27. data/include/grpc/impl/codegen/port_platform.h +3 -758
  28. data/include/grpc/impl/codegen/propagation_bits.h +3 -28
  29. data/include/grpc/impl/codegen/slice.h +3 -106
  30. data/include/grpc/impl/codegen/status.h +4 -131
  31. data/include/grpc/impl/codegen/sync.h +3 -42
  32. data/include/grpc/impl/codegen/sync_abseil.h +3 -12
  33. data/include/grpc/impl/codegen/sync_custom.h +3 -14
  34. data/include/grpc/impl/codegen/sync_generic.h +3 -25
  35. data/include/grpc/impl/codegen/sync_posix.h +3 -28
  36. data/include/grpc/impl/codegen/sync_windows.h +3 -16
  37. data/include/grpc/impl/compression_types.h +109 -0
  38. data/include/grpc/impl/connectivity_state.h +47 -0
  39. data/include/grpc/impl/grpc_types.h +824 -0
  40. data/include/grpc/impl/propagation_bits.h +54 -0
  41. data/include/grpc/impl/slice_type.h +112 -0
  42. data/include/grpc/load_reporting.h +1 -1
  43. data/include/grpc/module.modulemap +5 -1
  44. data/include/grpc/slice.h +1 -1
  45. data/include/grpc/status.h +131 -1
  46. data/include/grpc/support/atm.h +70 -1
  47. data/include/grpc/support/atm_gcc_atomic.h +59 -1
  48. data/include/grpc/support/atm_gcc_sync.h +58 -1
  49. data/include/grpc/support/atm_windows.h +105 -1
  50. data/include/grpc/support/log.h +87 -1
  51. data/include/grpc/support/log_windows.h +1 -1
  52. data/include/grpc/support/port_platform.h +767 -1
  53. data/include/grpc/support/string_util.h +1 -1
  54. data/include/grpc/support/sync.h +35 -2
  55. data/include/grpc/support/sync_abseil.h +11 -1
  56. data/include/grpc/support/sync_custom.h +13 -1
  57. data/include/grpc/support/sync_generic.h +24 -1
  58. data/include/grpc/support/sync_posix.h +27 -1
  59. data/include/grpc/support/sync_windows.h +15 -1
  60. data/include/grpc/support/time.h +25 -2
  61. data/src/core/ext/filters/census/grpc_context.cc +17 -18
  62. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +28 -22
  63. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +2 -1
  64. data/src/core/ext/filters/channel_idle/idle_filter_state.h +1 -1
  65. data/src/core/ext/filters/client_channel/backend_metric.cc +2 -0
  66. data/src/core/ext/filters/client_channel/backup_poller.cc +24 -24
  67. data/src/core/ext/filters/client_channel/backup_poller.h +21 -21
  68. data/src/core/ext/filters/client_channel/channel_connectivity.cc +51 -28
  69. data/src/core/ext/filters/client_channel/client_channel.cc +157 -168
  70. data/src/core/ext/filters/client_channel/client_channel.h +10 -10
  71. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +17 -19
  72. data/src/core/ext/filters/client_channel/client_channel_channelz.h +19 -19
  73. data/src/core/ext/filters/client_channel/client_channel_factory.cc +17 -17
  74. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +18 -18
  75. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +153 -0
  76. data/src/core/ext/filters/client_channel/{resolver_result_parsing.h → client_channel_service_config.h} +26 -23
  77. data/src/core/ext/filters/client_channel/config_selector.h +16 -20
  78. data/src/core/ext/filters/client_channel/connector.h +1 -1
  79. data/src/core/ext/filters/client_channel/dynamic_filters.cc +28 -55
  80. data/src/core/ext/filters/client_channel/dynamic_filters.h +7 -8
  81. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +18 -18
  82. data/src/core/ext/filters/client_channel/health/health_check_client.cc +4 -5
  83. data/src/core/ext/filters/client_channel/http_proxy.cc +39 -40
  84. data/src/core/ext/filters/client_channel/http_proxy.h +18 -18
  85. data/src/core/ext/filters/client_channel/lb_call_state_internal.h +39 -0
  86. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +3 -4
  87. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +17 -17
  88. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +7 -2
  89. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +1 -2
  90. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +59 -130
  91. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +37 -21
  92. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +131 -154
  93. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +24 -25
  94. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +0 -1
  95. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +2 -4
  96. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +18 -20
  97. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +18 -19
  98. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +18 -19
  99. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +18 -19
  100. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +8 -9
  101. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +1 -1
  102. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +212 -223
  103. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +2 -2
  104. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +11 -22
  105. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +73 -101
  106. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +20 -21
  107. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +1 -1
  108. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +119 -106
  109. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +12 -12
  110. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +30 -16
  111. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +60 -56
  112. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +60 -64
  113. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +42 -0
  114. data/src/core/ext/filters/client_channel/lb_policy/xds/{xds.h → xds_attributes.h} +15 -17
  115. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +22 -28
  116. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +62 -94
  117. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +70 -146
  118. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +651 -0
  119. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h +60 -0
  120. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +364 -0
  121. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +18 -18
  122. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +9 -10
  123. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +26 -35
  124. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +40 -41
  125. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +22 -23
  126. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +82 -82
  127. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +117 -118
  128. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +51 -52
  129. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +18 -18
  130. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +18 -18
  131. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +18 -19
  132. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +3 -5
  133. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +1 -3
  134. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +1 -1
  135. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +34 -27
  136. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +44 -34
  137. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +8 -10
  138. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +4 -7
  139. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +122 -119
  140. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +1 -1
  141. data/src/core/ext/filters/client_channel/retry_filter.cc +81 -103
  142. data/src/core/ext/filters/client_channel/retry_service_config.cc +193 -235
  143. data/src/core/ext/filters/client_channel/retry_service_config.h +20 -23
  144. data/src/core/ext/filters/client_channel/retry_throttle.cc +27 -29
  145. data/src/core/ext/filters/client_channel/retry_throttle.h +26 -25
  146. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +3 -3
  147. data/src/core/ext/filters/client_channel/subchannel.cc +158 -178
  148. data/src/core/ext/filters/client_channel/subchannel.h +17 -40
  149. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +18 -18
  150. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +11 -12
  151. data/src/core/ext/filters/deadline/deadline_filter.cc +34 -17
  152. data/src/core/ext/filters/deadline/deadline_filter.h +1 -1
  153. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -2
  154. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +0 -4
  155. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +118 -0
  156. data/src/core/ext/filters/fault_injection/{service_config_parser.h → fault_injection_service_config_parser.h} +20 -12
  157. data/src/core/ext/filters/http/client/http_client_filter.cc +36 -37
  158. data/src/core/ext/filters/http/client/http_client_filter.h +17 -17
  159. data/src/core/ext/filters/http/client_authority_filter.cc +19 -19
  160. data/src/core/ext/filters/http/client_authority_filter.h +18 -18
  161. data/src/core/ext/filters/http/http_filters_plugin.cc +35 -51
  162. data/src/core/ext/filters/http/message_compress/compression_filter.cc +315 -0
  163. data/src/core/ext/filters/http/message_compress/compression_filter.h +132 -0
  164. data/src/core/ext/filters/http/server/http_server_filter.cc +44 -43
  165. data/src/core/ext/filters/http/server/http_server_filter.h +18 -18
  166. data/src/core/ext/filters/message_size/message_size_filter.cc +92 -123
  167. data/src/core/ext/filters/message_size/message_size_filter.h +23 -16
  168. data/src/core/ext/filters/rbac/rbac_filter.cc +12 -12
  169. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +728 -530
  170. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +4 -3
  171. data/src/core/ext/filters/server_config_selector/server_config_selector.h +6 -8
  172. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +7 -9
  173. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +229 -0
  174. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +66 -0
  175. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +82 -0
  176. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +93 -0
  177. data/src/core/ext/transport/chttp2/alpn/alpn.cc +18 -18
  178. data/src/core/ext/transport/chttp2/alpn/alpn.h +22 -22
  179. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +69 -63
  180. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +28 -22
  181. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +81 -97
  182. data/src/core/ext/transport/chttp2/server/chttp2_server.h +18 -18
  183. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +22 -22
  184. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +30 -30
  185. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +29 -29
  186. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +27 -27
  187. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +273 -283
  188. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +18 -19
  189. data/src/core/ext/transport/chttp2/transport/context_list.cc +19 -19
  190. data/src/core/ext/transport/chttp2/transport/context_list.h +25 -25
  191. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +0 -36
  192. data/src/core/ext/transport/chttp2/transport/decode_huff.h +35 -82
  193. data/src/core/ext/transport/chttp2/transport/flow_control.cc +112 -44
  194. data/src/core/ext/transport/chttp2/transport/flow_control.h +60 -34
  195. data/src/core/ext/transport/chttp2/transport/frame.h +19 -19
  196. data/src/core/ext/transport/chttp2/transport/frame_data.cc +33 -32
  197. data/src/core/ext/transport/chttp2/transport/frame_data.h +23 -23
  198. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +36 -36
  199. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +18 -18
  200. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +25 -24
  201. data/src/core/ext/transport/chttp2/transport/frame_ping.h +19 -19
  202. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +28 -25
  203. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +18 -18
  204. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +34 -36
  205. data/src/core/ext/transport/chttp2/transport/frame_settings.h +20 -20
  206. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +22 -21
  207. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +18 -18
  208. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +133 -181
  209. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +40 -59
  210. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -1
  211. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +93 -143
  212. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +20 -20
  213. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +26 -26
  214. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +18 -18
  215. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +21 -19
  216. data/src/core/ext/transport/chttp2/transport/http2_settings.h +36 -34
  217. data/src/core/ext/transport/chttp2/transport/http_trace.cc +19 -0
  218. data/src/core/ext/transport/chttp2/transport/http_trace.h +24 -0
  219. data/src/core/ext/transport/chttp2/transport/huffsyms.cc +20 -20
  220. data/src/core/ext/transport/chttp2/transport/huffsyms.h +19 -19
  221. data/src/core/ext/transport/chttp2/transport/internal.h +193 -170
  222. data/src/core/ext/transport/chttp2/transport/parsing.cc +147 -80
  223. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +19 -19
  224. data/src/core/ext/transport/chttp2/transport/stream_map.cc +23 -23
  225. data/src/core/ext/transport/chttp2/transport/stream_map.h +31 -31
  226. data/src/core/ext/transport/chttp2/transport/varint.cc +19 -20
  227. data/src/core/ext/transport/chttp2/transport/varint.h +35 -32
  228. data/src/core/ext/transport/chttp2/transport/writing.cc +60 -56
  229. data/src/core/ext/transport/inproc/inproc_plugin.cc +17 -17
  230. data/src/core/ext/transport/inproc/inproc_transport.cc +122 -140
  231. data/src/core/ext/transport/inproc/inproc_transport.h +19 -19
  232. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +62 -0
  233. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +179 -0
  234. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +46 -0
  235. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +98 -0
  236. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +47 -0
  237. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +107 -0
  238. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +3 -2
  239. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +9 -0
  240. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +0 -1
  241. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +46 -0
  242. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +98 -0
  243. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +62 -0
  244. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +174 -0
  245. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +36 -0
  246. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +74 -0
  247. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +65 -0
  248. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +191 -0
  249. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +127 -0
  250. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +474 -0
  251. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +67 -0
  252. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +214 -0
  253. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +64 -0
  254. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +208 -0
  255. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +0 -1
  256. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +60 -0
  257. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +40 -0
  258. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +50 -0
  259. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +35 -0
  260. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +45 -0
  261. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +35 -0
  262. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +43 -0
  263. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +35 -0
  264. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +51 -0
  265. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +40 -0
  266. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +36 -0
  267. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +35 -0
  268. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +55 -0
  269. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +40 -0
  270. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +9 -9
  271. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +71 -0
  272. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +60 -0
  273. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +60 -0
  274. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +40 -0
  275. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +36 -0
  276. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +45 -0
  277. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +4 -7
  278. data/src/core/ext/xds/certificate_provider_store.cc +4 -4
  279. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +4 -7
  280. data/src/core/ext/xds/xds_api.cc +20 -95
  281. data/src/core/ext/xds/xds_api.h +5 -8
  282. data/src/core/ext/xds/xds_bootstrap.h +0 -1
  283. data/src/core/ext/xds/xds_bootstrap_grpc.cc +3 -12
  284. data/src/core/ext/xds/xds_bootstrap_grpc.h +16 -1
  285. data/src/core/ext/xds/xds_certificate_provider.cc +22 -25
  286. data/src/core/ext/xds/xds_certificate_provider.h +1 -1
  287. data/src/core/ext/xds/xds_channel_args.h +1 -1
  288. data/src/core/ext/xds/xds_channel_stack_modifier.cc +0 -1
  289. data/src/core/ext/xds/xds_channel_stack_modifier.h +2 -2
  290. data/src/core/ext/xds/xds_client.cc +134 -94
  291. data/src/core/ext/xds/xds_client.h +13 -5
  292. data/src/core/ext/xds/xds_client_grpc.cc +31 -24
  293. data/src/core/ext/xds/xds_client_grpc.h +1 -1
  294. data/src/core/ext/xds/xds_client_stats.cc +17 -17
  295. data/src/core/ext/xds/xds_client_stats.h +18 -18
  296. data/src/core/ext/xds/xds_cluster.cc +359 -203
  297. data/src/core/ext/xds/xds_cluster.h +52 -35
  298. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +54 -71
  299. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +45 -21
  300. data/src/core/ext/xds/xds_common_types.cc +209 -141
  301. data/src/core/ext/xds/xds_common_types.h +19 -13
  302. data/src/core/ext/xds/xds_endpoint.cc +221 -130
  303. data/src/core/ext/xds/xds_endpoint.h +4 -7
  304. data/src/core/ext/xds/xds_health_status.cc +80 -0
  305. data/src/core/ext/xds/xds_health_status.h +82 -0
  306. data/src/core/ext/xds/xds_http_fault_filter.cc +57 -43
  307. data/src/core/ext/xds/xds_http_fault_filter.h +14 -22
  308. data/src/core/ext/xds/xds_http_filters.cc +65 -73
  309. data/src/core/ext/xds/xds_http_filters.h +68 -20
  310. data/src/core/ext/xds/xds_http_rbac_filter.cc +153 -207
  311. data/src/core/ext/xds/xds_http_rbac_filter.h +13 -16
  312. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +218 -0
  313. data/src/core/ext/xds/xds_http_stateful_session_filter.h +58 -0
  314. data/src/core/ext/xds/xds_lb_policy_registry.cc +120 -171
  315. data/src/core/ext/xds/xds_lb_policy_registry.h +10 -11
  316. data/src/core/ext/xds/xds_listener.cc +447 -419
  317. data/src/core/ext/xds/xds_listener.h +45 -47
  318. data/src/core/ext/xds/xds_resource_type.h +3 -11
  319. data/src/core/ext/xds/xds_resource_type_impl.h +10 -13
  320. data/src/core/ext/xds/xds_route_config.cc +514 -528
  321. data/src/core/ext/xds/xds_route_config.h +39 -28
  322. data/src/core/ext/xds/xds_routing.cc +2 -1
  323. data/src/core/ext/xds/xds_routing.h +2 -0
  324. data/src/core/ext/xds/xds_server_config_fetcher.cc +109 -106
  325. data/src/core/ext/xds/xds_transport_grpc.cc +6 -7
  326. data/src/core/ext/xds/xds_transport_grpc.h +1 -1
  327. data/src/core/lib/address_utils/parse_address.cc +30 -29
  328. data/src/core/lib/address_utils/parse_address.h +32 -32
  329. data/src/core/lib/address_utils/sockaddr_utils.cc +29 -28
  330. data/src/core/lib/address_utils/sockaddr_utils.h +33 -33
  331. data/src/core/lib/avl/avl.h +4 -4
  332. data/src/core/lib/backoff/backoff.cc +17 -17
  333. data/src/core/lib/backoff/backoff.h +18 -18
  334. data/src/core/lib/channel/call_tracer.h +10 -1
  335. data/src/core/lib/channel/channel_args.cc +19 -20
  336. data/src/core/lib/channel/channel_args.h +59 -43
  337. data/src/core/lib/channel/channel_args_preconditioning.h +1 -1
  338. data/src/core/lib/channel/channel_stack.cc +62 -58
  339. data/src/core/lib/channel/channel_stack.h +144 -131
  340. data/src/core/lib/channel/channel_stack_builder.cc +21 -24
  341. data/src/core/lib/channel/channel_stack_builder.h +14 -6
  342. data/src/core/lib/channel/channel_stack_builder_impl.cc +43 -25
  343. data/src/core/lib/channel/channel_stack_builder_impl.h +2 -0
  344. data/src/core/lib/channel/channel_trace.cc +21 -22
  345. data/src/core/lib/channel/channel_trace.h +19 -19
  346. data/src/core/lib/channel/channelz.cc +18 -19
  347. data/src/core/lib/channel/channelz.h +26 -26
  348. data/src/core/lib/channel/channelz_registry.cc +17 -17
  349. data/src/core/lib/channel/channelz_registry.h +18 -18
  350. data/src/core/lib/channel/connected_channel.cc +732 -63
  351. data/src/core/lib/channel/connected_channel.h +18 -22
  352. data/src/core/lib/channel/context.h +18 -18
  353. data/src/core/lib/channel/promise_based_filter.cc +1137 -150
  354. data/src/core/lib/channel/promise_based_filter.h +374 -88
  355. data/src/core/lib/channel/status_util.cc +35 -17
  356. data/src/core/lib/channel/status_util.h +26 -19
  357. data/src/core/lib/compression/compression.cc +19 -19
  358. data/src/core/lib/compression/compression_internal.cc +41 -48
  359. data/src/core/lib/compression/compression_internal.h +22 -22
  360. data/src/core/lib/compression/message_compress.cc +26 -26
  361. data/src/core/lib/compression/message_compress.h +25 -25
  362. data/src/core/lib/config/core_configuration.h +1 -1
  363. data/src/core/lib/debug/event_log.cc +88 -0
  364. data/src/core/lib/debug/event_log.h +81 -0
  365. data/src/core/lib/debug/histogram_view.cc +69 -0
  366. data/src/core/lib/{slice/slice_refcount.cc → debug/histogram_view.h} +15 -13
  367. data/src/core/lib/debug/stats.cc +39 -136
  368. data/src/core/lib/debug/stats.h +46 -52
  369. data/src/core/lib/debug/stats_data.cc +224 -73
  370. data/src/core/lib/debug/stats_data.h +263 -122
  371. data/src/core/lib/debug/trace.cc +18 -18
  372. data/src/core/lib/debug/trace.h +19 -19
  373. data/src/core/lib/event_engine/common_closures.h +71 -0
  374. data/src/core/lib/event_engine/default_event_engine.cc +38 -15
  375. data/src/core/lib/event_engine/default_event_engine.h +15 -3
  376. data/src/core/lib/event_engine/default_event_engine_factory.cc +2 -4
  377. data/src/core/lib/event_engine/executor/executor.h +1 -1
  378. data/src/core/lib/event_engine/forkable.h +1 -1
  379. data/src/core/lib/event_engine/memory_allocator.cc +1 -1
  380. data/src/core/lib/event_engine/poller.h +10 -4
  381. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +614 -0
  382. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +129 -0
  383. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +900 -0
  384. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +97 -0
  385. data/src/core/lib/event_engine/posix_engine/event_poller.h +111 -0
  386. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +74 -0
  387. data/src/core/lib/event_engine/{executor/threaded_executor.cc → posix_engine/event_poller_posix_default.h} +11 -14
  388. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +77 -0
  389. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +179 -0
  390. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +265 -0
  391. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +73 -0
  392. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1308 -0
  393. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +684 -0
  394. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +456 -28
  395. data/src/core/lib/event_engine/posix_engine/posix_engine.h +148 -24
  396. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +80 -0
  397. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +236 -0
  398. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +228 -0
  399. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +380 -0
  400. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +91 -0
  401. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +853 -0
  402. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +316 -0
  403. data/src/core/lib/event_engine/posix_engine/timer.cc +49 -49
  404. data/src/core/lib/event_engine/posix_engine/timer.h +87 -86
  405. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +27 -27
  406. data/src/core/lib/event_engine/posix_engine/timer_heap.h +21 -21
  407. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +76 -214
  408. data/src/core/lib/event_engine/posix_engine/timer_manager.h +41 -69
  409. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +332 -0
  410. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +185 -0
  411. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +127 -0
  412. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +45 -0
  413. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +150 -0
  414. data/src/core/lib/event_engine/{executor/threaded_executor.h → posix_engine/wakeup_fd_pipe.h} +16 -15
  415. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +76 -0
  416. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +67 -0
  417. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +37 -0
  418. data/src/core/lib/event_engine/slice.cc +7 -6
  419. data/src/core/lib/event_engine/slice_buffer.cc +2 -2
  420. data/src/core/lib/event_engine/socket_notifier.h +1 -1
  421. data/src/core/lib/event_engine/tcp_socket_utils.cc +373 -0
  422. data/src/core/lib/event_engine/tcp_socket_utils.h +85 -0
  423. data/src/core/lib/event_engine/thread_pool.cc +125 -43
  424. data/src/core/lib/event_engine/thread_pool.h +49 -26
  425. data/src/core/lib/event_engine/time_util.h +1 -1
  426. data/src/core/lib/event_engine/windows/iocp.cc +13 -12
  427. data/src/core/lib/event_engine/windows/iocp.h +1 -1
  428. data/src/core/lib/event_engine/windows/win_socket.cc +9 -9
  429. data/src/core/lib/event_engine/windows/windows_engine.cc +26 -20
  430. data/src/core/lib/event_engine/windows/windows_engine.h +8 -4
  431. data/src/core/lib/experiments/config.cc +1 -1
  432. data/src/core/lib/experiments/experiments.cc +13 -13
  433. data/src/core/lib/experiments/experiments.h +8 -6
  434. data/src/core/lib/gpr/alloc.cc +19 -17
  435. data/src/core/lib/gpr/alloc.h +18 -18
  436. data/src/core/lib/gpr/atm.cc +17 -17
  437. data/src/core/lib/gpr/cpu_iphone.cc +24 -24
  438. data/src/core/lib/gpr/cpu_linux.cc +28 -23
  439. data/src/core/lib/gpr/cpu_posix.cc +23 -22
  440. data/src/core/lib/gpr/cpu_windows.cc +20 -18
  441. data/src/core/lib/gpr/log.cc +27 -19
  442. data/src/core/lib/gpr/log_android.cc +22 -20
  443. data/src/core/lib/gpr/log_linux.cc +24 -24
  444. data/src/core/lib/gpr/log_posix.cc +20 -19
  445. data/src/core/lib/gpr/log_windows.cc +25 -24
  446. data/src/core/lib/gpr/spinlock.h +18 -18
  447. data/src/core/lib/gpr/string.cc +25 -24
  448. data/src/core/lib/gpr/string.h +58 -58
  449. data/src/core/lib/gpr/string_posix.cc +24 -24
  450. data/src/core/lib/gpr/string_util_windows.cc +22 -22
  451. data/src/core/lib/gpr/string_windows.cc +24 -24
  452. data/src/core/lib/gpr/sync.cc +25 -25
  453. data/src/core/lib/gpr/sync_abseil.cc +22 -20
  454. data/src/core/lib/gpr/sync_posix.cc +23 -21
  455. data/src/core/lib/gpr/sync_windows.cc +29 -27
  456. data/src/core/lib/gpr/time.cc +23 -21
  457. data/src/core/lib/gpr/time_posix.cc +35 -30
  458. data/src/core/lib/gpr/time_precise.cc +22 -22
  459. data/src/core/lib/gpr/time_precise.h +18 -19
  460. data/src/core/lib/gpr/time_windows.cc +25 -22
  461. data/src/core/lib/gpr/tmpfile.h +22 -22
  462. data/src/core/lib/gpr/tmpfile_msys.cc +21 -20
  463. data/src/core/lib/gpr/tmpfile_posix.cc +22 -20
  464. data/src/core/lib/gpr/tmpfile_windows.cc +23 -22
  465. data/src/core/lib/gpr/useful.h +40 -27
  466. data/src/core/lib/gpr/wrap_memcpy.cc +23 -23
  467. data/src/core/lib/gprpp/atomic_utils.h +18 -18
  468. data/src/core/lib/gprpp/bitset.h +24 -0
  469. data/src/core/{ext/xds/xds_resource_type.cc → lib/gprpp/crash.cc} +12 -12
  470. data/src/core/lib/gprpp/crash.h +34 -0
  471. data/src/core/lib/gprpp/debug_location.h +18 -18
  472. data/src/core/lib/gprpp/dual_ref_counted.h +1 -1
  473. data/src/core/lib/gprpp/env.h +20 -20
  474. data/src/core/lib/gprpp/env_linux.cc +21 -21
  475. data/src/core/lib/gprpp/env_posix.cc +18 -18
  476. data/src/core/lib/gprpp/env_windows.cc +18 -18
  477. data/src/core/lib/gprpp/examine_stack.cc +17 -17
  478. data/src/core/lib/gprpp/examine_stack.h +18 -18
  479. data/src/core/lib/gprpp/fork.cc +21 -22
  480. data/src/core/lib/gprpp/fork.h +22 -22
  481. data/src/core/lib/gprpp/global_config.h +18 -18
  482. data/src/core/lib/gprpp/global_config_custom.h +18 -18
  483. data/src/core/lib/gprpp/global_config_env.cc +17 -17
  484. data/src/core/lib/gprpp/global_config_env.h +23 -23
  485. data/src/core/lib/gprpp/global_config_generic.h +18 -18
  486. data/src/core/lib/gprpp/host_port.cc +26 -26
  487. data/src/core/lib/gprpp/host_port.h +29 -28
  488. data/src/core/lib/gprpp/load_file.cc +75 -0
  489. data/src/core/lib/gprpp/load_file.h +33 -0
  490. data/src/core/lib/gprpp/manual_constructor.h +18 -17
  491. data/src/core/lib/gprpp/memory.h +18 -18
  492. data/src/core/lib/gprpp/mpscq.cc +17 -17
  493. data/src/core/lib/gprpp/mpscq.h +18 -18
  494. data/src/core/lib/gprpp/no_destruct.h +1 -0
  495. data/src/core/lib/gprpp/orphanable.h +18 -18
  496. data/src/core/lib/gprpp/per_cpu.h +46 -0
  497. data/src/core/lib/gprpp/ref_counted.h +18 -18
  498. data/src/core/lib/gprpp/ref_counted_ptr.h +19 -18
  499. data/src/core/lib/gprpp/stat_posix.cc +5 -4
  500. data/src/core/lib/gprpp/stat_windows.cc +4 -2
  501. data/src/core/lib/gprpp/status_helper.cc +4 -3
  502. data/src/core/lib/gprpp/status_helper.h +1 -3
  503. data/src/core/lib/gprpp/strerror.cc +41 -0
  504. data/src/core/lib/gprpp/strerror.h +29 -0
  505. data/src/core/lib/gprpp/sync.h +20 -20
  506. data/src/core/lib/gprpp/table.h +1 -0
  507. data/src/core/lib/gprpp/thd.h +19 -19
  508. data/src/core/lib/gprpp/thd_posix.cc +30 -31
  509. data/src/core/lib/gprpp/thd_windows.cc +26 -26
  510. data/src/core/lib/gprpp/time.cc +16 -11
  511. data/src/core/lib/gprpp/time.h +13 -3
  512. data/src/core/lib/gprpp/time_averaged_stats.cc +20 -20
  513. data/src/core/lib/gprpp/time_averaged_stats.h +48 -48
  514. data/src/core/lib/gprpp/time_util.h +1 -1
  515. data/src/core/lib/gprpp/unique_type_name.h +18 -18
  516. data/src/core/lib/gprpp/validation_errors.h +18 -1
  517. data/src/core/lib/handshaker/proxy_mapper.h +18 -18
  518. data/src/core/lib/handshaker/proxy_mapper_registry.cc +17 -17
  519. data/src/core/lib/handshaker/proxy_mapper_registry.h +18 -18
  520. data/src/core/lib/http/format_request.cc +18 -18
  521. data/src/core/lib/http/format_request.h +18 -18
  522. data/src/core/lib/http/httpcli.cc +57 -61
  523. data/src/core/lib/http/httpcli.h +26 -26
  524. data/src/core/lib/http/httpcli_security_connector.cc +22 -25
  525. data/src/core/lib/http/parser.cc +76 -87
  526. data/src/core/lib/http/parser.h +32 -32
  527. data/src/core/lib/iomgr/block_annotate.h +21 -21
  528. data/src/core/lib/iomgr/buffer_list.cc +156 -136
  529. data/src/core/lib/iomgr/buffer_list.h +120 -98
  530. data/src/core/lib/iomgr/call_combiner.cc +29 -27
  531. data/src/core/lib/iomgr/call_combiner.h +21 -22
  532. data/src/core/lib/iomgr/cfstream_handle.cc +33 -36
  533. data/src/core/lib/iomgr/cfstream_handle.h +22 -22
  534. data/src/core/lib/iomgr/closure.h +90 -45
  535. data/src/core/lib/iomgr/combiner.cc +20 -19
  536. data/src/core/lib/iomgr/combiner.h +18 -18
  537. data/src/core/lib/iomgr/dualstack_socket_posix.cc +21 -21
  538. data/src/core/lib/iomgr/dynamic_annotations.h +20 -20
  539. data/src/core/lib/iomgr/endpoint.cc +17 -17
  540. data/src/core/lib/iomgr/endpoint.h +46 -46
  541. data/src/core/lib/iomgr/endpoint_cfstream.cc +44 -43
  542. data/src/core/lib/iomgr/endpoint_cfstream.h +27 -27
  543. data/src/core/lib/iomgr/endpoint_pair.h +18 -18
  544. data/src/core/lib/iomgr/endpoint_pair_posix.cc +20 -19
  545. data/src/core/lib/iomgr/endpoint_pair_windows.cc +18 -17
  546. data/src/core/lib/iomgr/error.cc +49 -61
  547. data/src/core/lib/iomgr/error.h +42 -173
  548. data/src/core/lib/iomgr/error_cfstream.cc +18 -18
  549. data/src/core/lib/iomgr/error_cfstream.h +19 -19
  550. data/src/core/lib/iomgr/ev_apple.cc +21 -21
  551. data/src/core/lib/iomgr/ev_apple.h +17 -17
  552. data/src/core/lib/iomgr/ev_epoll1_linux.cc +208 -195
  553. data/src/core/lib/iomgr/ev_epoll1_linux.h +18 -18
  554. data/src/core/lib/iomgr/ev_poll_posix.cc +212 -205
  555. data/src/core/lib/iomgr/ev_poll_posix.h +18 -18
  556. data/src/core/lib/iomgr/ev_posix.cc +36 -28
  557. data/src/core/lib/iomgr/ev_posix.h +85 -81
  558. data/src/core/lib/iomgr/ev_windows.cc +18 -18
  559. data/src/core/lib/iomgr/exec_ctx.cc +34 -34
  560. data/src/core/lib/iomgr/exec_ctx.h +141 -141
  561. data/src/core/lib/iomgr/executor.cc +21 -21
  562. data/src/core/lib/iomgr/executor.h +24 -24
  563. data/src/core/lib/iomgr/fork_posix.cc +24 -22
  564. data/src/core/lib/iomgr/fork_windows.cc +21 -21
  565. data/src/core/lib/iomgr/gethostname.h +18 -18
  566. data/src/core/lib/iomgr/gethostname_fallback.cc +17 -17
  567. data/src/core/lib/iomgr/gethostname_host_name_max.cc +17 -17
  568. data/src/core/lib/iomgr/gethostname_sysconf.cc +17 -17
  569. data/src/core/lib/iomgr/grpc_if_nametoindex.h +20 -20
  570. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +20 -19
  571. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +20 -19
  572. data/src/core/lib/iomgr/internal_errqueue.cc +4 -2
  573. data/src/core/lib/iomgr/internal_errqueue.h +80 -80
  574. data/src/core/lib/iomgr/iocp_windows.cc +22 -21
  575. data/src/core/lib/iomgr/iocp_windows.h +18 -18
  576. data/src/core/lib/iomgr/iomgr.cc +19 -18
  577. data/src/core/lib/iomgr/iomgr.h +32 -32
  578. data/src/core/lib/iomgr/iomgr_internal.cc +17 -17
  579. data/src/core/lib/iomgr/iomgr_internal.h +25 -25
  580. data/src/core/lib/iomgr/iomgr_posix.cc +20 -20
  581. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +20 -19
  582. data/src/core/lib/iomgr/iomgr_windows.cc +24 -22
  583. data/src/core/lib/iomgr/load_file.cc +24 -27
  584. data/src/core/lib/iomgr/load_file.h +20 -20
  585. data/src/core/lib/iomgr/lockfree_event.cc +114 -114
  586. data/src/core/lib/iomgr/lockfree_event.h +19 -19
  587. data/src/core/lib/iomgr/nameser.h +84 -84
  588. data/src/core/lib/iomgr/polling_entity.cc +25 -21
  589. data/src/core/lib/iomgr/polling_entity.h +27 -27
  590. data/src/core/lib/iomgr/pollset.cc +17 -17
  591. data/src/core/lib/iomgr/pollset.h +51 -51
  592. data/src/core/lib/iomgr/pollset_set.cc +17 -17
  593. data/src/core/lib/iomgr/pollset_set.h +22 -22
  594. data/src/core/lib/iomgr/pollset_set_windows.cc +18 -18
  595. data/src/core/lib/iomgr/pollset_set_windows.h +18 -18
  596. data/src/core/lib/iomgr/pollset_windows.cc +30 -29
  597. data/src/core/lib/iomgr/pollset_windows.h +22 -22
  598. data/src/core/lib/iomgr/port.h +29 -29
  599. data/src/core/lib/iomgr/python_util.h +20 -20
  600. data/src/core/lib/iomgr/resolve_address.cc +26 -20
  601. data/src/core/lib/iomgr/resolve_address.h +21 -22
  602. data/src/core/lib/iomgr/resolve_address_impl.h +2 -2
  603. data/src/core/lib/iomgr/resolve_address_posix.cc +35 -45
  604. data/src/core/lib/iomgr/resolve_address_posix.h +1 -2
  605. data/src/core/lib/iomgr/resolve_address_windows.cc +18 -20
  606. data/src/core/lib/iomgr/resolve_address_windows.h +1 -2
  607. data/src/core/lib/iomgr/resolved_address.h +1 -1
  608. data/src/core/lib/iomgr/sockaddr.h +21 -21
  609. data/src/core/lib/iomgr/sockaddr_posix.h +18 -18
  610. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +18 -17
  611. data/src/core/lib/iomgr/sockaddr_windows.h +18 -18
  612. data/src/core/lib/iomgr/socket_factory_posix.cc +18 -18
  613. data/src/core/lib/iomgr/socket_factory_posix.h +30 -30
  614. data/src/core/lib/iomgr/socket_mutator.cc +19 -18
  615. data/src/core/lib/iomgr/socket_mutator.h +37 -37
  616. data/src/core/lib/iomgr/socket_utils.h +24 -24
  617. data/src/core/lib/iomgr/socket_utils_common_posix.cc +68 -66
  618. data/src/core/lib/iomgr/socket_utils_linux.cc +18 -17
  619. data/src/core/lib/iomgr/socket_utils_posix.cc +22 -20
  620. data/src/core/lib/iomgr/socket_utils_posix.h +78 -78
  621. data/src/core/lib/iomgr/socket_utils_windows.cc +20 -19
  622. data/src/core/lib/iomgr/socket_windows.cc +37 -36
  623. data/src/core/lib/iomgr/socket_windows.h +56 -56
  624. data/src/core/lib/iomgr/systemd_utils.cc +116 -0
  625. data/src/core/lib/{slice/slice_buffer_api.cc → iomgr/systemd_utils.h} +12 -14
  626. data/src/core/lib/iomgr/tcp_client.cc +17 -17
  627. data/src/core/lib/iomgr/tcp_client.h +26 -26
  628. data/src/core/lib/iomgr/tcp_client_cfstream.cc +25 -28
  629. data/src/core/lib/iomgr/tcp_client_posix.cc +70 -73
  630. data/src/core/lib/iomgr/tcp_client_posix.h +43 -43
  631. data/src/core/lib/iomgr/tcp_client_windows.cc +36 -39
  632. data/src/core/lib/iomgr/tcp_posix.cc +223 -237
  633. data/src/core/lib/iomgr/tcp_posix.h +27 -27
  634. data/src/core/lib/iomgr/tcp_server.cc +30 -22
  635. data/src/core/lib/iomgr/tcp_server.h +68 -62
  636. data/src/core/lib/iomgr/tcp_server_posix.cc +124 -94
  637. data/src/core/lib/iomgr/tcp_server_utils_posix.h +54 -51
  638. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +90 -55
  639. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +40 -40
  640. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +19 -19
  641. data/src/core/lib/iomgr/tcp_server_windows.cc +97 -104
  642. data/src/core/lib/iomgr/tcp_windows.cc +109 -93
  643. data/src/core/lib/iomgr/tcp_windows.h +29 -29
  644. data/src/core/lib/iomgr/timer.cc +17 -17
  645. data/src/core/lib/iomgr/timer.h +65 -65
  646. data/src/core/lib/iomgr/timer_generic.cc +115 -122
  647. data/src/core/lib/iomgr/timer_generic.h +19 -19
  648. data/src/core/lib/iomgr/timer_heap.cc +25 -25
  649. data/src/core/lib/iomgr/timer_heap.h +19 -19
  650. data/src/core/lib/iomgr/timer_manager.cc +30 -29
  651. data/src/core/lib/iomgr/timer_manager.h +25 -25
  652. data/src/core/lib/iomgr/unix_sockets_posix.cc +20 -21
  653. data/src/core/lib/iomgr/unix_sockets_posix.h +18 -18
  654. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +19 -17
  655. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +23 -21
  656. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +23 -23
  657. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +29 -26
  658. data/src/core/lib/iomgr/wakeup_fd_pipe.h +18 -18
  659. data/src/core/lib/iomgr/wakeup_fd_posix.cc +18 -18
  660. data/src/core/lib/iomgr/wakeup_fd_posix.h +50 -50
  661. data/src/core/lib/json/json_channel_args.h +42 -0
  662. data/src/core/lib/json/json_object_loader.cc +17 -2
  663. data/src/core/lib/json/json_object_loader.h +37 -1
  664. data/src/core/lib/json/json_reader.cc +28 -28
  665. data/src/core/lib/json/json_util.cc +5 -5
  666. data/src/core/lib/json/json_util.h +4 -4
  667. data/src/core/lib/json/json_writer.cc +56 -56
  668. data/src/core/lib/load_balancing/lb_policy.cc +18 -18
  669. data/src/core/lib/load_balancing/lb_policy.h +7 -4
  670. data/src/core/lib/load_balancing/subchannel_interface.h +1 -8
  671. data/src/core/lib/matchers/matchers.cc +6 -5
  672. data/src/core/lib/matchers/matchers.h +1 -1
  673. data/src/core/lib/promise/activity.cc +16 -2
  674. data/src/core/lib/promise/activity.h +58 -27
  675. data/src/core/lib/promise/arena_promise.h +82 -52
  676. data/src/core/lib/promise/context.h +14 -6
  677. data/src/core/lib/promise/detail/basic_seq.h +9 -28
  678. data/src/core/lib/promise/detail/promise_factory.h +59 -10
  679. data/src/core/lib/promise/detail/status.h +28 -0
  680. data/src/core/lib/promise/detail/switch.h +1455 -0
  681. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +20 -12
  682. data/src/core/lib/promise/for_each.h +155 -0
  683. data/src/core/lib/promise/latch.h +13 -19
  684. data/src/core/lib/promise/loop.h +7 -5
  685. data/src/core/lib/promise/map.h +1 -0
  686. data/src/core/lib/promise/map_pipe.h +88 -0
  687. data/src/core/lib/promise/pipe.cc +19 -0
  688. data/src/core/lib/promise/pipe.h +505 -0
  689. data/src/core/lib/promise/poll.h +19 -0
  690. data/src/core/lib/promise/seq.h +4 -5
  691. data/src/core/lib/promise/sleep.cc +5 -4
  692. data/src/core/lib/promise/sleep.h +1 -2
  693. data/src/core/lib/promise/try_concurrently.h +342 -0
  694. data/src/core/lib/promise/try_seq.h +11 -13
  695. data/src/core/lib/resolver/resolver.cc +17 -17
  696. data/src/core/lib/resolver/server_address.cc +18 -17
  697. data/src/core/lib/resolver/server_address.h +19 -21
  698. data/src/core/lib/resource_quota/api.cc +0 -1
  699. data/src/core/lib/resource_quota/api.h +1 -1
  700. data/src/core/lib/resource_quota/arena.cc +36 -17
  701. data/src/core/lib/resource_quota/arena.h +107 -18
  702. data/src/core/lib/resource_quota/memory_quota.cc +140 -43
  703. data/src/core/lib/resource_quota/memory_quota.h +85 -23
  704. data/src/core/lib/resource_quota/resource_quota.h +1 -1
  705. data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
  706. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +0 -1
  707. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +1 -3
  708. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +4 -2
  709. data/src/core/lib/security/authorization/matchers.cc +25 -22
  710. data/src/core/lib/security/authorization/rbac_policy.cc +2 -3
  711. data/src/core/lib/security/authorization/rbac_policy.h +1 -1
  712. data/src/core/lib/security/context/security_context.cc +22 -23
  713. data/src/core/lib/security/context/security_context.h +40 -30
  714. data/src/core/lib/security/credentials/alts/alts_credentials.cc +17 -17
  715. data/src/core/lib/security/credentials/alts/alts_credentials.h +50 -50
  716. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +19 -19
  717. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +41 -41
  718. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +17 -17
  719. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +18 -17
  720. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +18 -17
  721. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +19 -19
  722. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +18 -18
  723. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +36 -37
  724. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +18 -18
  725. data/src/core/lib/security/credentials/call_creds_util.h +1 -1
  726. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +3 -4
  727. data/src/core/lib/security/credentials/composite/composite_credentials.cc +22 -22
  728. data/src/core/lib/security/credentials/composite/composite_credentials.h +20 -21
  729. data/src/core/lib/security/credentials/credentials.cc +19 -18
  730. data/src/core/lib/security/credentials/credentials.h +34 -33
  731. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +77 -55
  732. data/src/core/lib/security/credentials/external/aws_request_signer.cc +4 -3
  733. data/src/core/lib/security/credentials/external/external_account_credentials.cc +40 -51
  734. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +17 -21
  735. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +21 -25
  736. data/src/core/lib/security/credentials/fake/fake_credentials.cc +20 -19
  737. data/src/core/lib/security/credentials/fake/fake_credentials.h +34 -35
  738. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +17 -17
  739. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +75 -73
  740. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +18 -19
  741. data/src/core/lib/security/credentials/iam/iam_credentials.cc +18 -17
  742. data/src/core/lib/security/credentials/iam/iam_credentials.h +18 -18
  743. data/src/core/lib/security/credentials/jwt/json_token.cc +24 -25
  744. data/src/core/lib/security/credentials/jwt/json_token.h +32 -32
  745. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +18 -18
  746. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +18 -19
  747. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +75 -75
  748. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +43 -43
  749. data/src/core/lib/security/credentials/local/local_credentials.cc +17 -17
  750. data/src/core/lib/security/credentials/local/local_credentials.h +20 -20
  751. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +52 -59
  752. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +19 -19
  753. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +24 -23
  754. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +22 -22
  755. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +19 -20
  756. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +18 -18
  757. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +20 -28
  758. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +4 -11
  759. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +30 -43
  760. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +1 -1
  761. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +18 -18
  762. data/src/core/lib/security/credentials/tls/tls_credentials.cc +18 -19
  763. data/src/core/lib/security/credentials/tls/tls_credentials.h +18 -18
  764. data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -2
  765. data/src/core/lib/security/credentials/xds/xds_credentials.h +1 -1
  766. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +32 -38
  767. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +41 -42
  768. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +32 -41
  769. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +20 -21
  770. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
  771. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +3 -8
  772. data/src/core/lib/security/security_connector/load_system_roots.h +18 -18
  773. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +18 -18
  774. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +19 -22
  775. data/src/core/lib/security/security_connector/load_system_roots_supported.h +19 -20
  776. data/src/core/lib/security/security_connector/local/local_security_connector.cc +30 -34
  777. data/src/core/lib/security/security_connector/local/local_security_connector.h +40 -41
  778. data/src/core/lib/security/security_connector/security_connector.cc +17 -17
  779. data/src/core/lib/security/security_connector/security_connector.h +32 -33
  780. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +34 -39
  781. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +38 -39
  782. data/src/core/lib/security/security_connector/ssl_utils.cc +37 -39
  783. data/src/core/lib/security/security_connector/ssl_utils.h +31 -31
  784. data/src/core/lib/security/security_connector/ssl_utils_config.cc +22 -22
  785. data/src/core/lib/security/security_connector/ssl_utils_config.h +18 -19
  786. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +42 -48
  787. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +17 -17
  788. data/src/core/lib/security/transport/auth_filters.h +18 -18
  789. data/src/core/lib/security/transport/client_auth_filter.cc +21 -21
  790. data/src/core/lib/security/transport/secure_endpoint.cc +54 -56
  791. data/src/core/lib/security/transport/secure_endpoint.h +22 -22
  792. data/src/core/lib/security/transport/security_handshaker.cc +70 -70
  793. data/src/core/lib/security/transport/security_handshaker.h +19 -19
  794. data/src/core/lib/security/transport/server_auth_filter.cc +43 -44
  795. data/src/core/lib/security/transport/tsi_error.cc +23 -20
  796. data/src/core/lib/security/transport/tsi_error.h +18 -18
  797. data/src/core/lib/security/util/json_util.cc +21 -22
  798. data/src/core/lib/security/util/json_util.h +18 -18
  799. data/src/core/lib/service_config/service_config.h +2 -2
  800. data/src/core/lib/service_config/service_config_call_data.h +7 -1
  801. data/src/core/lib/service_config/service_config_impl.cc +111 -158
  802. data/src/core/lib/service_config/service_config_impl.h +14 -17
  803. data/src/core/lib/service_config/service_config_parser.cc +14 -31
  804. data/src/core/lib/service_config/service_config_parser.h +14 -10
  805. data/src/core/lib/slice/b64.cc +26 -26
  806. data/src/core/lib/slice/b64.h +29 -29
  807. data/src/core/lib/slice/percent_encoding.cc +17 -17
  808. data/src/core/lib/slice/percent_encoding.h +24 -24
  809. data/src/core/lib/slice/slice.cc +44 -38
  810. data/src/core/lib/slice/slice.h +57 -11
  811. data/src/core/lib/slice/slice_buffer.cc +63 -59
  812. data/src/core/lib/slice/slice_buffer.h +27 -2
  813. data/src/core/lib/slice/slice_internal.h +31 -39
  814. data/src/core/lib/slice/slice_refcount.h +34 -19
  815. data/src/core/lib/slice/slice_string_helpers.cc +17 -17
  816. data/src/core/lib/slice/slice_string_helpers.h +19 -19
  817. data/src/core/lib/surface/api_trace.cc +17 -17
  818. data/src/core/lib/surface/api_trace.h +22 -22
  819. data/src/core/lib/surface/byte_buffer.cc +22 -23
  820. data/src/core/lib/surface/byte_buffer_reader.cc +23 -23
  821. data/src/core/lib/surface/call.cc +1521 -335
  822. data/src/core/lib/surface/call.h +86 -39
  823. data/src/core/lib/surface/call_details.cc +20 -21
  824. data/src/core/lib/surface/call_log_batch.cc +18 -18
  825. data/src/core/lib/surface/call_test_only.h +30 -30
  826. data/src/core/lib/surface/call_trace.cc +113 -0
  827. data/src/core/{ext/filters/http/message_compress/message_decompress_filter.h → lib/surface/call_trace.h} +10 -12
  828. data/src/core/lib/surface/channel.cc +62 -67
  829. data/src/core/lib/surface/channel.h +40 -32
  830. data/src/core/lib/surface/channel_init.cc +17 -17
  831. data/src/core/lib/surface/channel_init.h +18 -18
  832. data/src/core/lib/surface/channel_ping.cc +19 -19
  833. data/src/core/lib/surface/channel_stack_type.cc +21 -17
  834. data/src/core/lib/surface/channel_stack_type.h +20 -18
  835. data/src/core/lib/surface/completion_queue.cc +173 -191
  836. data/src/core/lib/surface/completion_queue.h +32 -32
  837. data/src/core/lib/surface/completion_queue_factory.cc +28 -28
  838. data/src/core/lib/surface/completion_queue_factory.h +20 -20
  839. data/src/core/lib/surface/event_string.cc +17 -17
  840. data/src/core/lib/surface/event_string.h +20 -20
  841. data/src/core/lib/surface/init.cc +29 -58
  842. data/src/core/lib/surface/init.h +18 -18
  843. data/src/core/lib/surface/init_internally.cc +1 -0
  844. data/src/core/lib/surface/init_internally.h +9 -0
  845. data/src/core/lib/surface/lame_client.cc +28 -26
  846. data/src/core/lib/surface/lame_client.h +19 -19
  847. data/src/core/lib/surface/metadata_array.cc +17 -18
  848. data/src/core/lib/surface/server.cc +61 -83
  849. data/src/core/lib/surface/server.h +5 -7
  850. data/src/core/lib/surface/validate_metadata.cc +28 -29
  851. data/src/core/lib/surface/validate_metadata.h +18 -18
  852. data/src/core/lib/surface/version.cc +21 -21
  853. data/src/core/lib/transport/bdp_estimator.cc +17 -17
  854. data/src/core/lib/transport/bdp_estimator.h +18 -19
  855. data/src/core/lib/transport/connectivity_state.cc +19 -19
  856. data/src/core/lib/transport/connectivity_state.h +19 -19
  857. data/src/core/lib/transport/error_utils.cc +51 -45
  858. data/src/core/lib/transport/error_utils.h +21 -21
  859. data/src/core/lib/transport/handshaker.cc +49 -46
  860. data/src/core/lib/transport/handshaker.h +43 -38
  861. data/src/core/lib/transport/handshaker_factory.h +44 -18
  862. data/src/core/lib/transport/handshaker_registry.cc +25 -19
  863. data/src/core/lib/transport/handshaker_registry.h +21 -22
  864. data/src/core/lib/transport/http2_errors.h +20 -20
  865. data/src/core/lib/transport/http_connect_handshaker.cc +40 -41
  866. data/src/core/lib/transport/http_connect_handshaker.h +18 -18
  867. data/src/core/lib/transport/metadata_batch.cc +4 -1
  868. data/src/core/lib/transport/metadata_batch.h +46 -20
  869. data/src/core/lib/transport/parsed_metadata.cc +2 -6
  870. data/src/core/lib/transport/parsed_metadata.h +1 -0
  871. data/src/core/lib/transport/pid_controller.cc +20 -20
  872. data/src/core/lib/transport/pid_controller.h +24 -24
  873. data/src/core/lib/transport/status_conversion.cc +22 -22
  874. data/src/core/lib/transport/status_conversion.h +20 -20
  875. data/src/core/lib/transport/tcp_connect_handshaker.cc +15 -20
  876. data/src/core/lib/transport/tcp_connect_handshaker.h +1 -1
  877. data/src/core/lib/transport/timeout_encoding.cc +22 -22
  878. data/src/core/lib/transport/timeout_encoding.h +18 -18
  879. data/src/core/lib/transport/transport.cc +88 -41
  880. data/src/core/lib/transport/transport.h +193 -195
  881. data/src/core/lib/transport/transport_impl.h +42 -42
  882. data/src/core/lib/transport/transport_op_string.cc +26 -25
  883. data/src/core/plugin_registry/grpc_plugin_registry.cc +25 -27
  884. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +7 -14
  885. data/src/core/tsi/alts/crypt/aes_gcm.cc +20 -20
  886. data/src/core/tsi/alts/crypt/gsec.cc +26 -26
  887. data/src/core/tsi/alts/crypt/gsec.h +334 -334
  888. data/src/core/tsi/alts/frame_protector/alts_counter.cc +23 -23
  889. data/src/core/tsi/alts/frame_protector/alts_counter.h +66 -66
  890. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +19 -19
  891. data/src/core/tsi/alts/frame_protector/alts_crypter.h +206 -206
  892. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +72 -71
  893. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +38 -38
  894. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +18 -18
  895. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +80 -81
  896. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +22 -22
  897. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +22 -22
  898. data/src/core/tsi/alts/frame_protector/frame_handler.cc +26 -25
  899. data/src/core/tsi/alts/frame_protector/frame_handler.h +166 -166
  900. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +78 -77
  901. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +99 -99
  902. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +18 -17
  903. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +41 -42
  904. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +37 -36
  905. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +58 -58
  906. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +20 -20
  907. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +21 -20
  908. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +36 -36
  909. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +19 -19
  910. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +102 -101
  911. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +45 -44
  912. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +38 -39
  913. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +38 -36
  914. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +33 -34
  915. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +65 -66
  916. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +32 -31
  917. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +53 -54
  918. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +54 -53
  919. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +138 -139
  920. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +58 -57
  921. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +41 -42
  922. data/src/core/tsi/fake_transport_security.cc +80 -79
  923. data/src/core/tsi/fake_transport_security.h +30 -30
  924. data/src/core/tsi/local_transport_security.cc +34 -33
  925. data/src/core/tsi/local_transport_security.h +31 -31
  926. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +8 -3
  927. data/src/core/tsi/ssl/session_cache/ssl_session.h +18 -18
  928. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +19 -19
  929. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +18 -17
  930. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +19 -19
  931. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +25 -20
  932. data/src/core/tsi/ssl_transport_security.cc +139 -323
  933. data/src/core/tsi/ssl_transport_security.h +201 -200
  934. data/src/core/tsi/ssl_transport_security_utils.cc +250 -0
  935. data/src/core/tsi/ssl_transport_security_utils.h +147 -0
  936. data/src/core/tsi/ssl_types.h +25 -25
  937. data/src/core/tsi/transport_security.cc +26 -26
  938. data/src/core/tsi/transport_security.h +45 -45
  939. data/src/core/tsi/transport_security_grpc.cc +20 -20
  940. data/src/core/tsi/transport_security_grpc.h +39 -39
  941. data/src/core/tsi/transport_security_interface.h +330 -330
  942. data/src/ruby/ext/grpc/{ext-export-truffleruby.clang → ext-export-truffleruby-with-ruby-abi-version.clang} +0 -0
  943. data/src/ruby/ext/grpc/{ext-export-truffleruby.gcc → ext-export-truffleruby-with-ruby-abi-version.gcc} +0 -0
  944. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.clang +2 -0
  945. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.gcc +7 -0
  946. data/src/ruby/ext/grpc/ext-export.clang +0 -1
  947. data/src/ruby/ext/grpc/ext-export.gcc +1 -2
  948. data/src/ruby/ext/grpc/extconf.rb +47 -2
  949. data/src/ruby/ext/grpc/rb_call.c +1 -0
  950. data/src/ruby/ext/grpc/rb_channel.c +1 -0
  951. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  952. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  953. data/src/ruby/ext/grpc/rb_grpc.c +1 -0
  954. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +38 -38
  955. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +59 -59
  956. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  957. data/src/ruby/lib/grpc/version.rb +1 -1
  958. data/src/ruby/spec/channel_spec.rb +0 -43
  959. data/src/ruby/spec/client_server_spec.rb +20 -8
  960. data/src/ruby/spec/generic/active_call_spec.rb +12 -3
  961. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  962. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  963. data/third_party/re2/re2/bitstate.cc +3 -3
  964. data/third_party/re2/re2/dfa.cc +13 -13
  965. data/third_party/re2/re2/nfa.cc +4 -4
  966. data/third_party/re2/re2/onepass.cc +2 -2
  967. data/third_party/re2/re2/prefilter_tree.cc +27 -59
  968. data/third_party/re2/re2/prefilter_tree.h +3 -2
  969. data/third_party/re2/re2/prog.cc +11 -2
  970. data/third_party/re2/re2/prog.h +17 -5
  971. data/third_party/re2/re2/re2.cc +6 -11
  972. data/third_party/re2/re2/re2.h +1 -1
  973. data/third_party/re2/re2/regexp.cc +1 -2
  974. data/third_party/re2/re2/stringpiece.h +10 -7
  975. data/third_party/re2/re2/unicode_casefold.cc +25 -11
  976. data/third_party/re2/re2/unicode_groups.cc +319 -151
  977. data/third_party/re2/re2/walker-inl.h +3 -2
  978. data/third_party/re2/util/mutex.h +4 -4
  979. data/third_party/zlib/compress.c +3 -3
  980. data/third_party/zlib/crc32.c +21 -12
  981. data/third_party/zlib/deflate.c +112 -106
  982. data/third_party/zlib/deflate.h +2 -2
  983. data/third_party/zlib/gzlib.c +1 -1
  984. data/third_party/zlib/gzread.c +3 -5
  985. data/third_party/zlib/gzwrite.c +1 -1
  986. data/third_party/zlib/infback.c +10 -7
  987. data/third_party/zlib/inflate.c +5 -2
  988. data/third_party/zlib/inftrees.c +2 -2
  989. data/third_party/zlib/inftrees.h +1 -1
  990. data/third_party/zlib/trees.c +61 -62
  991. data/third_party/zlib/uncompr.c +2 -2
  992. data/third_party/zlib/zconf.h +16 -3
  993. data/third_party/zlib/zlib.h +10 -10
  994. data/third_party/zlib/zutil.c +9 -7
  995. data/third_party/zlib/zutil.h +1 -0
  996. metadata +148 -42
  997. data/include/grpc/impl/codegen/gpr_slice.h +0 -71
  998. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -188
  999. data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -187
  1000. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +0 -332
  1001. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -52
  1002. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -322
  1003. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +0 -62
  1004. data/src/core/lib/gpr/murmur_hash.cc +0 -82
  1005. data/src/core/lib/gpr/murmur_hash.h +0 -29
  1006. data/src/core/lib/gpr/tls.h +0 -156
  1007. data/src/core/lib/promise/call_push_pull.h +0 -148
  1008. data/src/core/lib/slice/slice_api.cc +0 -39
  1009. data/src/core/lib/slice/slice_refcount_base.h +0 -60
@@ -1,20 +1,20 @@
1
- /*
2
- *
3
- * Copyright 2015 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
1
+ //
2
+ //
3
+ // Copyright 2015 gRPC authors.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
16
+ //
17
+ //
18
18
 
19
19
  #ifndef GRPC_CORE_LIB_GPR_USEFUL_H
20
20
  #define GRPC_CORE_LIB_GPR_USEFUL_H
@@ -26,7 +26,7 @@
26
26
  #include "absl/strings/string_view.h"
27
27
  #include "absl/types/variant.h"
28
28
 
29
- /** useful utilities that don't belong anywhere else */
29
+ /// useful utilities that don't belong anywhere else
30
30
 
31
31
  namespace grpc_core {
32
32
 
@@ -37,7 +37,7 @@ T Clamp(T val, T min, T max) {
37
37
  return val;
38
38
  }
39
39
 
40
- /** rotl, rotr assume x is unsigned */
40
+ /// rotl, rotr assume x is unsigned
41
41
  template <typename T>
42
42
  constexpr T RotateLeft(T x, T n) {
43
43
  return ((x << n) | (x >> (sizeof(x) * 8 - n)));
@@ -80,15 +80,28 @@ inline constexpr uint32_t BitCount(uint32_t i) {
80
80
  }
81
81
 
82
82
  inline constexpr uint32_t BitCount(uint64_t i) {
83
- return BitCount(uint32_t(i)) + BitCount(uint32_t(i >> 32));
83
+ return BitCount(static_cast<uint32_t>(i)) +
84
+ BitCount(static_cast<uint32_t>(i >> 32));
84
85
  }
85
86
 
86
- inline constexpr uint32_t BitCount(uint16_t i) { return BitCount(uint32_t(i)); }
87
- inline constexpr uint32_t BitCount(uint8_t i) { return BitCount(uint32_t(i)); }
88
- inline constexpr uint32_t BitCount(int64_t i) { return BitCount(uint64_t(i)); }
89
- inline constexpr uint32_t BitCount(int32_t i) { return BitCount(uint32_t(i)); }
90
- inline constexpr uint32_t BitCount(int16_t i) { return BitCount(uint16_t(i)); }
91
- inline constexpr uint32_t BitCount(int8_t i) { return BitCount(uint8_t(i)); }
87
+ inline constexpr uint32_t BitCount(uint16_t i) {
88
+ return BitCount(static_cast<uint32_t>(i));
89
+ }
90
+ inline constexpr uint32_t BitCount(uint8_t i) {
91
+ return BitCount(static_cast<uint32_t>(i));
92
+ }
93
+ inline constexpr uint32_t BitCount(int64_t i) {
94
+ return BitCount(static_cast<uint64_t>(i));
95
+ }
96
+ inline constexpr uint32_t BitCount(int32_t i) {
97
+ return BitCount(static_cast<uint32_t>(i));
98
+ }
99
+ inline constexpr uint32_t BitCount(int16_t i) {
100
+ return BitCount(static_cast<uint16_t>(i));
101
+ }
102
+ inline constexpr uint32_t BitCount(int8_t i) {
103
+ return BitCount(static_cast<uint8_t>(i));
104
+ }
92
105
 
93
106
  // This function uses operator< to implement a qsort-style comparison, whereby:
94
107
  // if a is smaller than b, a number smaller than 0 is returned.
@@ -168,4 +181,4 @@ inline uint32_t RoundUpToPowerOf2(uint32_t v) {
168
181
 
169
182
  #define GPR_ARRAY_SIZE(array) (sizeof(array) / sizeof(*(array)))
170
183
 
171
- #endif /* GRPC_CORE_LIB_GPR_USEFUL_H */
184
+ #endif // GRPC_CORE_LIB_GPR_USEFUL_H
@@ -1,30 +1,30 @@
1
- /*
2
- *
3
- * Copyright 2016 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 2016 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
19
  #include <grpc/support/port_platform.h>
20
20
 
21
21
  #include <string.h>
22
22
 
23
- /* Provide a wrapped memcpy for targets that need to be backwards
24
- * compatible with older libc's.
25
- *
26
- * Enable by setting LDFLAGS=-Wl,-wrap,memcpy when linking.
27
- */
23
+ // Provide a wrapped memcpy for targets that need to be backwards
24
+ // compatible with older libc's.
25
+ //
26
+ // Enable by setting LDFLAGS=-Wl,-wrap,memcpy when linking.
27
+ //
28
28
 
29
29
  extern "C" {
30
30
  #ifdef __linux__
@@ -34,7 +34,7 @@ __asm__(".symver memcpy,memcpy@GLIBC_2.2.5");
34
34
  void* __wrap_memcpy(void* destination, const void* source, size_t num) {
35
35
  return memcpy(destination, source, num);
36
36
  }
37
- #else /* !__x86_64__ */
37
+ #else // !__x86_64__
38
38
  void* __wrap_memcpy(void* destination, const void* source, size_t num) {
39
39
  return memmove(destination, source, num);
40
40
  }
@@ -1,20 +1,20 @@
1
- /*
2
- *
3
- * Copyright 2017 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 2017 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
19
  #ifndef GRPC_CORE_LIB_GPRPP_ATOMIC_UTILS_H
20
20
  #define GRPC_CORE_LIB_GPRPP_ATOMIC_UTILS_H
@@ -44,4 +44,4 @@ inline bool IncrementIfNonzero(std::atomic<T>* p) {
44
44
 
45
45
  } // namespace grpc_core
46
46
 
47
- #endif /* GRPC_CORE_LIB_GPRPP_ATOMIC_UTILS_H */
47
+ #endif // GRPC_CORE_LIB_GPRPP_ATOMIC_UTILS_H
@@ -131,6 +131,9 @@ class BitSet {
131
131
  return true;
132
132
  }
133
133
 
134
+ // Returns true if any bites are set.
135
+ bool any() const { return !none(); }
136
+
134
137
  // Return a count of how many bits are set.
135
138
  uint32_t count() const {
136
139
  uint32_t count = 0;
@@ -159,6 +162,27 @@ class BitSet {
159
162
  return result;
160
163
  }
161
164
 
165
+ template <typename Int>
166
+ static BitSet<kTotalBits, kUnitBits> FromInt(Int value) {
167
+ BitSet<kTotalBits, kUnitBits> result;
168
+ for (size_t i = 0; i < kTotalBits; i++) {
169
+ result.set(i, (value & (Int(1) << i)) != 0);
170
+ }
171
+ return result;
172
+ }
173
+
174
+ BitSet& Set(int i, bool value) {
175
+ set(i, value);
176
+ return *this;
177
+ }
178
+
179
+ BitSet& SetAll(bool value) {
180
+ for (size_t i = 0; i < kTotalBits; i++) {
181
+ set(i, value);
182
+ }
183
+ return *this;
184
+ }
185
+
162
186
  private:
163
187
  // Given a bit index, return which unit it's stored in.
164
188
  static constexpr size_t unit_for(size_t bit) { return bit / kUnitBits; }
@@ -1,5 +1,4 @@
1
- //
2
- // Copyright 2021 gRPC authors.
1
+ // Copyright 2022 gRPC authors.
3
2
  //
4
3
  // Licensed under the Apache License, Version 2.0 (the "License");
5
4
  // you may not use this file except in compliance with the License.
@@ -12,22 +11,23 @@
12
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
12
  // See the License for the specific language governing permissions and
14
13
  // limitations under the License.
15
- //
16
14
 
17
15
  #include <grpc/support/port_platform.h>
18
16
 
19
- #include "src/core/ext/xds/xds_resource_type.h"
17
+ #include "src/core/lib/gprpp/crash.h"
18
+
19
+ #include <stdlib.h>
20
+
21
+ #include <string>
22
+
23
+ #include <grpc/support/log.h>
20
24
 
21
25
  namespace grpc_core {
22
26
 
23
- bool XdsResourceType::IsType(absl::string_view resource_type,
24
- bool* is_v2) const {
25
- if (resource_type == type_url()) return true;
26
- if (resource_type == v2_type_url()) {
27
- if (is_v2 != nullptr) *is_v2 = true;
28
- return true;
29
- }
30
- return false;
27
+ void Crash(absl::string_view message, SourceLocation location) {
28
+ gpr_log(location.file(), location.line(), GPR_LOG_SEVERITY_ERROR, "%s",
29
+ std::string(message).c_str());
30
+ abort();
31
31
  }
32
32
 
33
33
  } // namespace grpc_core
@@ -0,0 +1,34 @@
1
+ // Copyright 2022 gRPC authors.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ #ifndef GRPC_CORE_LIB_GPRPP_CRASH_H
16
+ #define GRPC_CORE_LIB_GPRPP_CRASH_H
17
+
18
+ #include <grpc/support/port_platform.h>
19
+
20
+ #include "absl/strings/string_view.h"
21
+
22
+ #include "src/core/lib/gprpp/debug_location.h"
23
+
24
+ namespace grpc_core {
25
+
26
+ // Crash the program after printing `message`.
27
+ // ::grpc_core:: prefix to SourceLocation is required to work around a symbol
28
+ // mismatch bug on MSVC.
29
+ [[noreturn]] void Crash(absl::string_view message,
30
+ ::grpc_core::SourceLocation location = {});
31
+
32
+ } // namespace grpc_core
33
+
34
+ #endif // GRPC_CORE_LIB_GPRPP_CRASH_H
@@ -1,20 +1,20 @@
1
- /*
2
- *
3
- * Copyright 2017 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 2017 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
19
  #ifndef GRPC_CORE_LIB_GPRPP_DEBUG_LOCATION_H
20
20
  #define GRPC_CORE_LIB_GPRPP_DEBUG_LOCATION_H
@@ -84,4 +84,4 @@ class DebugLocation {
84
84
 
85
85
  } // namespace grpc_core
86
86
 
87
- #endif /* GRPC_CORE_LIB_GPRPP_DEBUG_LOCATION_H */
87
+ #endif // GRPC_CORE_LIB_GPRPP_DEBUG_LOCATION_H
@@ -324,4 +324,4 @@ class DualRefCounted : public Orphanable {
324
324
 
325
325
  } // namespace grpc_core
326
326
 
327
- #endif /* GRPC_CORE_LIB_GPRPP_DUAL_REF_COUNTED_H */
327
+ #endif // GRPC_CORE_LIB_GPRPP_DUAL_REF_COUNTED_H
@@ -1,20 +1,20 @@
1
- /*
2
- *
3
- * Copyright 2015 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
1
+ //
2
+ //
3
+ // Copyright 2015 gRPC authors.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
16
+ //
17
+ //
18
18
 
19
19
  #ifndef GRPC_CORE_LIB_GPRPP_ENV_H
20
20
  #define GRPC_CORE_LIB_GPRPP_ENV_H
@@ -30,13 +30,13 @@ namespace grpc_core {
30
30
  // Gets the environment variable value with the specified name. */
31
31
  absl::optional<std::string> GetEnv(const char* name);
32
32
 
33
- /* Sets the environment with the specified name to the specified value. */
33
+ // Sets the environment with the specified name to the specified value.
34
34
  void SetEnv(const char* name, const char* value);
35
35
  inline void SetEnv(const char* name, const std::string& value) {
36
36
  SetEnv(name, value.c_str());
37
37
  }
38
38
 
39
- /* Deletes the variable name from the environment. */
39
+ // Deletes the variable name from the environment.
40
40
  void UnsetEnv(const char* name);
41
41
 
42
42
  template <typename T>
@@ -50,4 +50,4 @@ void SetOrUnsetEnv(const char* name, const absl::optional<T>& value) {
50
50
 
51
51
  } // namespace grpc_core
52
52
 
53
- #endif /* GRPC_CORE_LIB_GPRPP_ENV_H */
53
+ #endif // GRPC_CORE_LIB_GPRPP_ENV_H
@@ -1,22 +1,22 @@
1
- /*
2
- *
3
- * Copyright 2015 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
1
+ //
2
+ //
3
+ // Copyright 2015 gRPC authors.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
16
+ //
17
+ //
18
18
 
19
- /* for secure_getenv. */
19
+ // for secure_getenv.
20
20
  #ifndef _GNU_SOURCE
21
21
  #define _GNU_SOURCE
22
22
  #endif
@@ -45,8 +45,8 @@ absl::optional<std::string> GetEnv(const char* name) {
45
45
  #if defined(GPR_BACKWARDS_COMPATIBILITY_MODE)
46
46
  typedef char* (*getenv_type)(const char*);
47
47
  static getenv_type getenv_func = nullptr;
48
- /* Check to see which getenv variant is supported (go from most
49
- * to least secure) */
48
+ // Check to see which getenv variant is supported (go from most
49
+ // to least secure)
50
50
  if (getenv_func == nullptr) {
51
51
  for (auto name : {"secure_getenv", "__secure_getenv", "getenv"}) {
52
52
  getenv_func = reinterpret_cast<getenv_type>(dlsym(RTLD_DEFAULT, name));
@@ -77,4 +77,4 @@ void UnsetEnv(const char* name) {
77
77
 
78
78
  } // namespace grpc_core
79
79
 
80
- #endif /* GPR_LINUX_ENV */
80
+ #endif // GPR_LINUX_ENV
@@ -1,20 +1,20 @@
1
- /*
2
- *
3
- * Copyright 2015 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
1
+ //
2
+ //
3
+ // Copyright 2015 gRPC authors.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
16
+ //
17
+ //
18
18
 
19
19
  #include <grpc/support/port_platform.h>
20
20
 
@@ -44,4 +44,4 @@ void UnsetEnv(const char* name) {
44
44
 
45
45
  } // namespace grpc_core
46
46
 
47
- #endif /* GPR_POSIX_ENV */
47
+ #endif // GPR_POSIX_ENV
@@ -1,20 +1,20 @@
1
- /*
2
- *
3
- * Copyright 2015 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
1
+ //
2
+ //
3
+ // Copyright 2015 gRPC authors.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
16
+ //
17
+ //
18
18
 
19
19
  #include <grpc/support/port_platform.h>
20
20
 
@@ -53,4 +53,4 @@ void UnsetEnv(const char* name) {
53
53
 
54
54
  } // namespace grpc_core
55
55
 
56
- #endif /* GPR_WINDOWS_ENV */
56
+ #endif // GPR_WINDOWS_ENV
@@ -1,20 +1,20 @@
1
- /*
2
- *
3
- * Copyright 2020 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 2020 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
19
  #include <grpc/support/port_platform.h>
20
20