grpc 1.64.3 → 1.70.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3070) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +374 -342
  3. data/include/grpc/compression.h +1 -2
  4. data/include/grpc/credentials.h +2 -3
  5. data/include/grpc/event_engine/README.md +1 -1
  6. data/include/grpc/event_engine/endpoint_config.h +2 -2
  7. data/include/grpc/event_engine/event_engine.h +39 -15
  8. data/include/grpc/event_engine/extensible.h +5 -2
  9. data/include/grpc/event_engine/internal/memory_allocator_impl.h +4 -4
  10. data/include/grpc/event_engine/internal/slice_cast.h +1 -1
  11. data/include/grpc/event_engine/memory_allocator.h +3 -4
  12. data/include/grpc/event_engine/memory_request.h +19 -2
  13. data/include/grpc/event_engine/slice.h +3 -5
  14. data/include/grpc/event_engine/slice_buffer.h +6 -8
  15. data/include/grpc/grpc.h +1 -2
  16. data/include/grpc/grpc_audit_logging.h +3 -3
  17. data/include/grpc/grpc_crl_provider.h +5 -5
  18. data/include/grpc/grpc_posix.h +1 -2
  19. data/include/grpc/grpc_security.h +1 -2
  20. data/include/grpc/impl/call.h +2 -2
  21. data/include/grpc/impl/channel_arg_names.h +10 -4
  22. data/include/grpc/impl/grpc_types.h +1 -2
  23. data/include/grpc/impl/slice_type.h +1 -2
  24. data/include/grpc/module.modulemap +1 -0
  25. data/include/grpc/passive_listener.h +62 -0
  26. data/include/grpc/support/alloc.h +1 -2
  27. data/include/grpc/support/atm.h +0 -13
  28. data/include/grpc/support/json.h +1 -2
  29. data/include/grpc/support/log.h +37 -64
  30. data/include/grpc/support/metrics.h +21 -6
  31. data/include/grpc/support/port_platform.h +31 -1
  32. data/include/grpc/support/sync_generic.h +2 -4
  33. data/include/grpc/support/sync_posix.h +1 -2
  34. data/include/grpc/support/time.h +1 -2
  35. data/src/core/call/request_buffer.cc +224 -0
  36. data/src/core/call/request_buffer.h +192 -0
  37. data/src/core/channelz/channel_trace.cc +6 -7
  38. data/src/core/channelz/channel_trace.h +6 -8
  39. data/src/core/channelz/channelz.cc +8 -10
  40. data/src/core/channelz/channelz.h +15 -17
  41. data/src/core/channelz/channelz_registry.cc +10 -11
  42. data/src/core/channelz/channelz_registry.h +4 -5
  43. data/src/core/client_channel/backup_poller.cc +25 -16
  44. data/src/core/client_channel/client_channel.cc +1425 -0
  45. data/src/core/client_channel/client_channel.h +245 -0
  46. data/src/core/client_channel/client_channel_args.h +21 -0
  47. data/src/core/client_channel/client_channel_factory.cc +2 -2
  48. data/src/core/client_channel/client_channel_factory.h +1 -2
  49. data/src/core/client_channel/client_channel_filter.cc +351 -864
  50. data/src/core/client_channel/client_channel_filter.h +24 -79
  51. data/src/core/client_channel/client_channel_internal.h +23 -9
  52. data/src/core/client_channel/client_channel_plugin.cc +3 -18
  53. data/src/core/client_channel/client_channel_service_config.cc +2 -3
  54. data/src/core/client_channel/client_channel_service_config.h +7 -9
  55. data/src/core/client_channel/config_selector.h +21 -22
  56. data/src/core/client_channel/connector.h +3 -3
  57. data/src/core/client_channel/direct_channel.cc +83 -0
  58. data/src/core/client_channel/direct_channel.h +101 -0
  59. data/src/core/client_channel/dynamic_filters.cc +16 -14
  60. data/src/core/client_channel/dynamic_filters.h +9 -10
  61. data/src/core/client_channel/global_subchannel_pool.cc +2 -2
  62. data/src/core/client_channel/global_subchannel_pool.h +2 -3
  63. data/src/core/client_channel/lb_metadata.cc +120 -0
  64. data/src/core/client_channel/lb_metadata.h +55 -0
  65. data/src/core/client_channel/load_balanced_call_destination.cc +273 -0
  66. data/src/core/client_channel/load_balanced_call_destination.h +48 -0
  67. data/src/core/client_channel/local_subchannel_pool.cc +2 -5
  68. data/src/core/client_channel/local_subchannel_pool.h +1 -1
  69. data/src/core/client_channel/retry_filter.cc +8 -17
  70. data/src/core/client_channel/retry_filter.h +6 -15
  71. data/src/core/client_channel/retry_filter_legacy_call_data.cc +209 -319
  72. data/src/core/client_channel/retry_filter_legacy_call_data.h +11 -14
  73. data/src/core/client_channel/retry_interceptor.cc +406 -0
  74. data/src/core/client_channel/retry_interceptor.h +157 -0
  75. data/src/core/client_channel/retry_service_config.cc +10 -13
  76. data/src/core/client_channel/retry_service_config.h +19 -8
  77. data/src/core/client_channel/retry_throttle.cc +34 -20
  78. data/src/core/client_channel/retry_throttle.h +6 -9
  79. data/src/core/client_channel/subchannel.cc +283 -165
  80. data/src/core/client_channel/subchannel.h +48 -40
  81. data/src/core/client_channel/subchannel_interface_internal.h +1 -1
  82. data/src/core/client_channel/subchannel_pool_interface.cc +1 -5
  83. data/src/core/client_channel/subchannel_pool_interface.h +4 -7
  84. data/src/core/client_channel/subchannel_stream_client.cc +43 -59
  85. data/src/core/client_channel/subchannel_stream_client.h +10 -14
  86. data/src/core/config/config_vars.cc +151 -0
  87. data/src/core/config/config_vars.h +128 -0
  88. data/src/core/config/config_vars_non_generated.cc +49 -0
  89. data/src/core/config/core_configuration.cc +111 -0
  90. data/src/core/config/core_configuration.h +242 -0
  91. data/src/core/config/load_config.cc +77 -0
  92. data/src/core/config/load_config.h +54 -0
  93. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +23 -28
  94. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +3 -1
  95. data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
  96. data/src/core/ext/filters/census/grpc_context.cc +7 -10
  97. data/src/core/ext/filters/channel_idle/idle_filter_state.cc +1 -2
  98. data/src/core/ext/filters/channel_idle/idle_filter_state.h +0 -1
  99. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +36 -47
  100. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +12 -8
  101. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +17 -20
  102. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +4 -3
  103. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +2 -3
  104. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +7 -10
  105. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +205 -0
  106. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +97 -0
  107. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +80 -0
  108. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +86 -0
  109. data/src/core/ext/filters/http/client/http_client_filter.cc +14 -8
  110. data/src/core/ext/filters/http/client/http_client_filter.h +3 -1
  111. data/src/core/ext/filters/http/client_authority_filter.cc +9 -8
  112. data/src/core/ext/filters/http/client_authority_filter.h +3 -1
  113. data/src/core/ext/filters/http/http_filters_plugin.cc +1 -2
  114. data/src/core/ext/filters/http/message_compress/compression_filter.cc +50 -46
  115. data/src/core/ext/filters/http/message_compress/compression_filter.h +8 -4
  116. data/src/core/ext/filters/http/server/http_server_filter.cc +16 -13
  117. data/src/core/ext/filters/http/server/http_server_filter.h +3 -1
  118. data/src/core/ext/filters/message_size/message_size_filter.cc +33 -33
  119. data/src/core/ext/filters/message_size/message_size_filter.h +12 -10
  120. data/src/core/ext/filters/rbac/rbac_filter.cc +9 -12
  121. data/src/core/ext/filters/rbac/rbac_filter.h +3 -2
  122. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +16 -10
  123. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +3 -5
  124. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +14 -16
  125. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +5 -4
  126. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +2 -3
  127. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +6 -8
  128. data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -4
  129. data/src/core/ext/transport/chttp2/alpn/alpn.h +1 -2
  130. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +76 -108
  131. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +5 -11
  132. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +985 -371
  133. data/src/core/ext/transport/chttp2/server/chttp2_server.h +222 -13
  134. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +21 -33
  135. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -3
  136. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +4 -7
  137. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -2
  138. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +53 -0
  139. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +72 -0
  140. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +645 -519
  141. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +15 -16
  142. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +2 -3
  143. data/src/core/ext/transport/chttp2/transport/decode_huff.h +4 -4
  144. data/src/core/ext/transport/chttp2/transport/flow_control.cc +8 -13
  145. data/src/core/ext/transport/chttp2/transport/flow_control.h +2 -7
  146. data/src/core/ext/transport/chttp2/transport/frame.cc +22 -5
  147. data/src/core/ext/transport/chttp2/transport/frame.h +13 -4
  148. data/src/core/ext/transport/chttp2/transport/frame_data.cc +19 -20
  149. data/src/core/ext/transport/chttp2/transport/frame_data.h +4 -5
  150. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +3 -6
  151. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -2
  152. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +14 -19
  153. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -2
  154. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +17 -18
  155. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -5
  156. data/src/core/ext/transport/chttp2/transport/frame_security.cc +80 -0
  157. data/src/core/ext/transport/chttp2/transport/frame_security.h +44 -0
  158. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +36 -20
  159. data/src/core/ext/transport/chttp2/transport/frame_settings.h +3 -4
  160. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +28 -7
  161. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -3
  162. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +2 -2
  163. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +19 -21
  164. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +19 -15
  165. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -3
  166. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +4 -5
  167. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +2 -4
  168. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +4 -7
  169. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +23 -27
  170. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -6
  171. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +41 -16
  172. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +29 -10
  173. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +11 -3
  174. data/src/core/ext/transport/chttp2/transport/http2_settings.h +11 -5
  175. data/src/core/ext/transport/chttp2/transport/internal.h +71 -79
  176. data/src/core/ext/transport/chttp2/transport/legacy_frame.h +1 -0
  177. data/src/core/ext/transport/chttp2/transport/parsing.cc +123 -109
  178. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +3 -3
  179. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +3 -3
  180. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +2 -5
  181. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +3 -7
  182. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +33 -18
  183. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +7 -8
  184. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +52 -16
  185. data/src/core/ext/transport/chttp2/transport/stream_lists.h +65 -0
  186. data/src/core/ext/transport/chttp2/transport/varint.cc +2 -2
  187. data/src/core/ext/transport/chttp2/transport/varint.h +1 -3
  188. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -3
  189. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +3 -4
  190. data/src/core/ext/transport/chttp2/transport/writing.cc +145 -120
  191. data/src/core/ext/transport/inproc/inproc_transport.cc +150 -68
  192. data/src/core/ext/transport/inproc/inproc_transport.h +1 -3
  193. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +121 -122
  194. data/src/core/ext/transport/inproc/legacy_inproc_transport.h +0 -2
  195. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +46 -15
  196. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +40 -18
  197. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +10 -4
  198. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +59 -27
  199. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +36 -18
  200. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +9 -4
  201. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +50 -15
  202. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +44 -22
  203. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +10 -4
  204. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +190 -55
  205. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +162 -84
  206. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +24 -4
  207. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +11 -5
  208. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +14 -4
  209. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +7 -4
  210. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +19 -6
  211. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +18 -8
  212. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +7 -4
  213. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +11 -10
  214. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +7 -1
  215. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +6 -4
  216. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +8 -7
  217. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +7 -1
  218. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +6 -4
  219. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +8 -7
  220. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +7 -1
  221. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +6 -4
  222. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +129 -82
  223. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +39 -27
  224. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +7 -4
  225. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +9 -6
  226. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +10 -4
  227. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +6 -4
  228. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +9 -8
  229. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +7 -1
  230. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +5 -4
  231. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +18 -8
  232. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +13 -6
  233. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +6 -4
  234. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +91 -34
  235. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +114 -48
  236. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +21 -4
  237. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +544 -254
  238. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +265 -149
  239. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +29 -4
  240. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +41 -14
  241. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +31 -17
  242. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +8 -4
  243. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +529 -141
  244. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +270 -143
  245. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +31 -4
  246. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +12 -7
  247. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +11 -5
  248. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +6 -4
  249. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +171 -27
  250. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +54 -27
  251. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +6 -4
  252. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +127 -35
  253. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +125 -63
  254. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +20 -4
  255. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +67 -27
  256. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +60 -26
  257. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +13 -4
  258. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +11 -6
  259. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +11 -5
  260. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +6 -4
  261. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +871 -72
  262. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +346 -75
  263. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +41 -4
  264. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +67 -25
  265. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +57 -27
  266. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +12 -4
  267. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +8 -5
  268. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +10 -4
  269. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +6 -4
  270. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +9 -6
  271. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +10 -4
  272. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +6 -4
  273. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +11 -5
  274. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +14 -4
  275. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +7 -4
  276. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +201 -62
  277. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +120 -53
  278. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +19 -4
  279. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +196 -62
  280. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +95 -53
  281. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +14 -4
  282. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +13 -5
  283. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +11 -5
  284. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +6 -4
  285. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +10 -7
  286. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +10 -4
  287. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +6 -4
  288. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +292 -76
  289. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +156 -80
  290. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +21 -4
  291. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +10 -7
  292. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +14 -4
  293. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +7 -4
  294. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +15 -7
  295. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +15 -5
  296. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +7 -4
  297. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
  298. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
  299. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
  300. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +244 -31
  301. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +79 -21
  302. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +13 -4
  303. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +23 -11
  304. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +17 -7
  305. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +7 -4
  306. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +11 -6
  307. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +11 -5
  308. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +6 -4
  309. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +42 -11
  310. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +35 -17
  311. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +9 -4
  312. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +106 -34
  313. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +69 -37
  314. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +12 -4
  315. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +281 -37
  316. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +81 -27
  317. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +12 -4
  318. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +8 -5
  319. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +10 -4
  320. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +6 -4
  321. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +142 -47
  322. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +90 -47
  323. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +15 -4
  324. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +92 -129
  325. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +66 -57
  326. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +11 -5
  327. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +178 -13
  328. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +46 -14
  329. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +6 -4
  330. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +14 -7
  331. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +16 -6
  332. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +7 -4
  333. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +14 -9
  334. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +11 -5
  335. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +6 -4
  336. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +51 -22
  337. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +58 -24
  338. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +13 -4
  339. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +70 -22
  340. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +71 -29
  341. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +15 -4
  342. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +311 -38
  343. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +141 -63
  344. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +18 -4
  345. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +61 -13
  346. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +33 -19
  347. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +8 -4
  348. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +843 -237
  349. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +539 -270
  350. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +65 -4
  351. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +20 -10
  352. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +22 -8
  353. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +8 -4
  354. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +100 -35
  355. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +95 -45
  356. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +17 -4
  357. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +118 -16
  358. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +43 -12
  359. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +8 -4
  360. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +9 -6
  361. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +10 -4
  362. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +6 -4
  363. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +12 -7
  364. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +17 -7
  365. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +7 -4
  366. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +10 -7
  367. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +10 -4
  368. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +6 -4
  369. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +20 -8
  370. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +13 -7
  371. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +6 -4
  372. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +8 -5
  373. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +10 -4
  374. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +6 -4
  375. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +17 -10
  376. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +18 -8
  377. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +7 -4
  378. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +5 -6
  379. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +3 -2
  380. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +5 -5
  381. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +19 -10
  382. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +19 -9
  383. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +7 -4
  384. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +14 -11
  385. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +10 -4
  386. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +6 -4
  387. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +216 -102
  388. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +124 -57
  389. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +21 -4
  390. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +5 -4
  391. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +7 -1
  392. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +6 -4
  393. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +24 -11
  394. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +33 -11
  395. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +10 -4
  396. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +42 -22
  397. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +27 -13
  398. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +8 -4
  399. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +444 -0
  400. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +135 -0
  401. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +38 -0
  402. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +56 -13
  403. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +29 -13
  404. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +7 -4
  405. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +29 -12
  406. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +20 -10
  407. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +7 -4
  408. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +13 -8
  409. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +17 -7
  410. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +7 -4
  411. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +343 -134
  412. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +209 -121
  413. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +26 -4
  414. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +8 -5
  415. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +10 -4
  416. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +6 -4
  417. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +83 -10
  418. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +28 -11
  419. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.h +6 -4
  420. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +31 -14
  421. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +39 -17
  422. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +10 -4
  423. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +6 -5
  424. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +7 -1
  425. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +6 -4
  426. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +22 -11
  427. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +14 -8
  428. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +6 -4
  429. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +8 -5
  430. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +10 -4
  431. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +6 -4
  432. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +105 -0
  433. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +51 -0
  434. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +32 -0
  435. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +5 -4
  436. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +3 -1
  437. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.h +5 -4
  438. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +170 -31
  439. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +83 -37
  440. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +14 -4
  441. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +25 -12
  442. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +27 -13
  443. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +8 -4
  444. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +214 -63
  445. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +100 -61
  446. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +12 -4
  447. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +14 -6
  448. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +17 -7
  449. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +7 -4
  450. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +58 -20
  451. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +44 -26
  452. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +9 -4
  453. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +5 -4
  454. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +7 -1
  455. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +6 -4
  456. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +373 -58
  457. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +144 -61
  458. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +21 -4
  459. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +18 -8
  460. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +18 -8
  461. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +7 -4
  462. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +67 -25
  463. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +47 -25
  464. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +10 -4
  465. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +10 -7
  466. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +10 -4
  467. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +6 -4
  468. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +16 -6
  469. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +26 -8
  470. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +9 -4
  471. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +9 -6
  472. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +10 -4
  473. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +6 -4
  474. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +10 -9
  475. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +23 -1
  476. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +10 -4
  477. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +16 -8
  478. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +15 -5
  479. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +7 -4
  480. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +13 -5
  481. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +11 -5
  482. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +6 -4
  483. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +9 -6
  484. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +10 -4
  485. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +6 -4
  486. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +8 -5
  487. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +10 -4
  488. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +6 -4
  489. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +16 -9
  490. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +24 -10
  491. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +8 -4
  492. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +5 -4
  493. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +11 -1
  494. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +7 -4
  495. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +51 -10
  496. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +30 -9
  497. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +7 -4
  498. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +14 -6
  499. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +15 -5
  500. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +7 -4
  501. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +30 -12
  502. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +32 -14
  503. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +9 -4
  504. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +24 -10
  505. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +40 -10
  506. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +12 -4
  507. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +30 -17
  508. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +33 -11
  509. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +10 -4
  510. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +12 -7
  511. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +19 -5
  512. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +8 -4
  513. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +5 -4
  514. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +3 -1
  515. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.h +5 -4
  516. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +6 -5
  517. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +7 -1
  518. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +6 -4
  519. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +8 -7
  520. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +11 -1
  521. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +7 -4
  522. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +11 -10
  523. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +15 -1
  524. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +8 -4
  525. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +14 -9
  526. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +15 -5
  527. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +7 -4
  528. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +5 -4
  529. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +3 -1
  530. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.h +5 -4
  531. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +8 -7
  532. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +7 -1
  533. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +6 -4
  534. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +12 -7
  535. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +11 -5
  536. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +6 -4
  537. data/src/core/ext/upb-gen/google/api/annotations.upb.h +17 -7
  538. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +5 -2
  539. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +5 -4
  540. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +135 -36
  541. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +121 -56
  542. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +18 -4
  543. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +525 -69
  544. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +202 -68
  545. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +23 -4
  546. data/src/core/ext/upb-gen/google/api/http.upb.h +30 -16
  547. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +22 -8
  548. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +8 -4
  549. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +12 -6
  550. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +10 -4
  551. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +6 -4
  552. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +8 -6
  553. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +7 -1
  554. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +6 -4
  555. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +583 -181
  556. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +376 -215
  557. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +56 -21
  558. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +8 -6
  559. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +7 -1
  560. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +6 -4
  561. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +6 -4
  562. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +7 -1
  563. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +6 -4
  564. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +33 -10
  565. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +32 -14
  566. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +9 -4
  567. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +8 -6
  568. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +7 -1
  569. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +6 -4
  570. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +15 -13
  571. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +39 -1
  572. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +14 -4
  573. data/src/core/ext/upb-gen/google/rpc/status.upb.h +12 -6
  574. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +10 -4
  575. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +6 -4
  576. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +19 -10
  577. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +15 -5
  578. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +7 -4
  579. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +98 -39
  580. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +87 -37
  581. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +17 -4
  582. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +14 -8
  583. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +15 -5
  584. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +7 -4
  585. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +8 -6
  586. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +11 -1
  587. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +7 -4
  588. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +47 -22
  589. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +58 -20
  590. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +14 -4
  591. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +16 -8
  592. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +18 -4
  593. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +8 -4
  594. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +72 -19
  595. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +60 -22
  596. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +14 -4
  597. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +69 -23
  598. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +31 -12
  599. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +8 -4
  600. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +19 -9
  601. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +13 -6
  602. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +6 -4
  603. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +6 -5
  604. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +4 -1
  605. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +5 -4
  606. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +19 -9
  607. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +13 -6
  608. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +6 -4
  609. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +18 -8
  610. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +13 -6
  611. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +6 -4
  612. data/src/core/ext/upb-gen/validate/validate.upb.h +264 -172
  613. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +185 -87
  614. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +29 -5
  615. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +69 -23
  616. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +31 -12
  617. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +8 -4
  618. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +19 -9
  619. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +13 -6
  620. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +6 -4
  621. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +6 -5
  622. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +4 -1
  623. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +5 -4
  624. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +46 -18
  625. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +32 -11
  626. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +9 -4
  627. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +18 -8
  628. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +13 -6
  629. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +6 -4
  630. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +6 -5
  631. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +7 -1
  632. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +6 -4
  633. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +9 -6
  634. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +10 -4
  635. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +6 -4
  636. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +16 -9
  637. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +18 -8
  638. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +7 -4
  639. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +11 -4
  640. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +14 -4
  641. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +7 -4
  642. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +9 -6
  643. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +10 -4
  644. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +6 -4
  645. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +12 -7
  646. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +11 -5
  647. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +6 -4
  648. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +21 -11
  649. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +18 -8
  650. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +7 -4
  651. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +11 -8
  652. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +10 -4
  653. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +6 -4
  654. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +29 -10
  655. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +24 -6
  656. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +9 -4
  657. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +8 -5
  658. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +10 -4
  659. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +6 -4
  660. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +9 -6
  661. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +10 -4
  662. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +6 -4
  663. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +13 -5
  664. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +17 -7
  665. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +7 -4
  666. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +5 -4
  667. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +7 -1
  668. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +6 -4
  669. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +19 -6
  670. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +18 -8
  671. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +7 -4
  672. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +81 -22
  673. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +85 -43
  674. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +15 -4
  675. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +44 -7
  676. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +48 -22
  677. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +11 -4
  678. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +9 -6
  679. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +14 -4
  680. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +7 -4
  681. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +18 -10
  682. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +17 -7
  683. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +7 -4
  684. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +17 -8
  685. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +19 -9
  686. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +7 -4
  687. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +12 -10
  688. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +15 -1
  689. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +8 -4
  690. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +9 -6
  691. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +10 -4
  692. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +6 -4
  693. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +2 -1
  694. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +5 -4
  695. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +2 -1
  696. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +5 -4
  697. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +2 -1
  698. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +5 -4
  699. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +13 -11
  700. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +5 -4
  701. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +2 -1
  702. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +5 -4
  703. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +2 -1
  704. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +5 -4
  705. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +2 -1
  706. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +5 -4
  707. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +2 -1
  708. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +5 -4
  709. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +2 -1
  710. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +5 -4
  711. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +88 -82
  712. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +5 -4
  713. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +2 -1
  714. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +5 -4
  715. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +2 -1
  716. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +5 -4
  717. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +2 -1
  718. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +5 -4
  719. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +63 -61
  720. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -4
  721. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +223 -211
  722. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +10 -4
  723. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +2 -1
  724. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +5 -4
  725. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +419 -393
  726. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +10 -4
  727. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +2 -1
  728. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +5 -4
  729. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +116 -106
  730. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +5 -4
  731. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +2 -1
  732. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +5 -4
  733. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +2 -1
  734. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +5 -4
  735. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +2 -1
  736. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +5 -4
  737. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +201 -147
  738. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +35 -4
  739. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +12 -12
  740. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +5 -4
  741. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +2 -1
  742. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +5 -4
  743. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +2 -1
  744. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +5 -4
  745. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +2 -1
  746. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +5 -4
  747. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +175 -165
  748. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +5 -4
  749. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +199 -188
  750. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +5 -4
  751. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +2 -1
  752. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +5 -4
  753. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +2 -1
  754. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +5 -4
  755. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +270 -256
  756. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +5 -4
  757. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +2 -1
  758. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -4
  759. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +2 -1
  760. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +5 -4
  761. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +46 -0
  762. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +33 -0
  763. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +31 -20
  764. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +20 -4
  765. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +2 -1
  766. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +5 -4
  767. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +2 -1
  768. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +5 -4
  769. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +2 -1
  770. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +5 -4
  771. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +41 -37
  772. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -4
  773. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +124 -94
  774. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +10 -4
  775. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +2 -1
  776. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +5 -4
  777. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +43 -40
  778. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -4
  779. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +60 -66
  780. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +5 -9
  781. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +75 -56
  782. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +5 -4
  783. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +2 -1
  784. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +5 -4
  785. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +2 -1
  786. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +5 -4
  787. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +2 -1
  788. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +5 -4
  789. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +51 -49
  790. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +5 -4
  791. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +119 -97
  792. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +10 -4
  793. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +2 -1
  794. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +5 -4
  795. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +910 -894
  796. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +10 -4
  797. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +2 -1
  798. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +5 -4
  799. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +2 -1
  800. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +5 -4
  801. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +32 -21
  802. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +10 -4
  803. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +20 -18
  804. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +5 -4
  805. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +2 -1
  806. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +5 -4
  807. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +2 -1
  808. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +5 -4
  809. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +2 -1
  810. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +5 -4
  811. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +2 -1
  812. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +5 -4
  813. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +2 -1
  814. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +5 -4
  815. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +17 -19
  816. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +5 -4
  817. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +2 -1
  818. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +5 -4
  819. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +23 -21
  820. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +5 -4
  821. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +147 -143
  822. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +5 -4
  823. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +2 -1
  824. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -4
  825. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +2 -1
  826. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +5 -4
  827. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +2 -1
  828. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +5 -4
  829. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +87 -0
  830. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +48 -0
  831. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +38 -34
  832. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +5 -4
  833. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +2 -1
  834. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -4
  835. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +2 -1
  836. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +5 -4
  837. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +465 -459
  838. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -4
  839. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +2 -1
  840. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +5 -4
  841. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +50 -0
  842. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +33 -0
  843. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +2 -1
  844. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +5 -4
  845. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +96 -88
  846. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +10 -4
  847. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +2 -1
  848. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -4
  849. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +204 -192
  850. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -4
  851. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +2 -1
  852. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +5 -4
  853. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +2 -1
  854. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -4
  855. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +2 -1
  856. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +5 -4
  857. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +150 -136
  858. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +10 -4
  859. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +2 -1
  860. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +5 -4
  861. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +25 -23
  862. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +5 -4
  863. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +2 -1
  864. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -4
  865. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +2 -1
  866. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +5 -4
  867. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +2 -1
  868. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +5 -4
  869. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  870. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  871. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +2 -1
  872. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +5 -4
  873. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +2 -1
  874. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +5 -4
  875. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +2 -1
  876. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +5 -4
  877. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +2 -1
  878. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +5 -4
  879. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +2 -1
  880. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +5 -4
  881. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +2 -1
  882. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +5 -4
  883. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +41 -34
  884. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +5 -4
  885. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +2 -1
  886. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +5 -4
  887. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +2 -1
  888. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +5 -4
  889. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +2 -1
  890. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +5 -4
  891. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +2 -1
  892. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +5 -4
  893. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +2 -1
  894. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +5 -4
  895. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +2 -1
  896. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +5 -4
  897. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +2 -1
  898. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +5 -4
  899. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +2 -1
  900. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +5 -4
  901. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +2 -1
  902. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +5 -4
  903. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +2 -1
  904. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +5 -4
  905. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +2 -1
  906. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +5 -4
  907. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +2 -1
  908. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +5 -4
  909. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +2 -1
  910. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +5 -4
  911. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +2 -1
  912. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +5 -4
  913. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +110 -108
  914. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +5 -4
  915. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +103 -79
  916. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +15 -4
  917. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +2 -1
  918. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +5 -4
  919. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +2 -1
  920. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +5 -4
  921. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +2 -1
  922. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +5 -4
  923. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +485 -458
  924. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +10 -4
  925. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +2 -1
  926. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +5 -4
  927. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +2 -1
  928. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +5 -4
  929. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +2 -1
  930. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +5 -4
  931. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +2 -1
  932. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +5 -4
  933. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +2 -1
  934. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +5 -4
  935. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +2 -1
  936. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +5 -4
  937. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +2 -1
  938. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +5 -4
  939. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +2 -1
  940. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +5 -4
  941. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +2 -1
  942. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +5 -4
  943. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +2 -1
  944. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +5 -4
  945. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +2 -1
  946. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +5 -4
  947. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +2 -1
  948. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +5 -4
  949. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +2 -1
  950. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +5 -4
  951. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +2 -1
  952. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +5 -4
  953. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +2 -1
  954. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +5 -4
  955. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +2 -1
  956. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +5 -4
  957. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +2 -1
  958. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +5 -4
  959. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +2 -1
  960. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +5 -4
  961. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +2 -1
  962. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +5 -4
  963. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +2 -1
  964. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +5 -4
  965. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +2 -1
  966. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +5 -4
  967. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +2 -1
  968. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +5 -4
  969. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +2 -1
  970. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +5 -4
  971. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +2 -1
  972. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +5 -4
  973. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +2 -1
  974. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +5 -4
  975. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +2 -1
  976. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +5 -4
  977. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +2 -1
  978. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +5 -4
  979. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +2 -1
  980. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +5 -4
  981. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  982. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  983. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +2 -1
  984. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +5 -4
  985. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +2 -1
  986. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +5 -4
  987. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +2 -1
  988. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +5 -4
  989. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +2 -1
  990. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +5 -4
  991. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +2 -1
  992. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +5 -4
  993. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +2 -1
  994. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +5 -4
  995. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +2 -1
  996. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +5 -4
  997. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +2 -1
  998. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +5 -4
  999. data/src/core/filter/blackboard.cc +33 -0
  1000. data/src/core/filter/blackboard.h +70 -0
  1001. data/src/core/filter/filter_args.h +112 -0
  1002. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc +13 -12
  1003. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.h +1 -1
  1004. data/src/core/handshaker/handshaker.cc +127 -159
  1005. data/src/core/handshaker/handshaker.h +58 -52
  1006. data/src/core/handshaker/handshaker_registry.cc +1 -2
  1007. data/src/core/handshaker/handshaker_registry.h +2 -2
  1008. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +119 -159
  1009. data/src/core/handshaker/http_connect/http_connect_handshaker.h +1 -1
  1010. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +30 -37
  1011. data/src/core/handshaker/http_connect/http_proxy_mapper.h +3 -4
  1012. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +57 -0
  1013. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +46 -0
  1014. data/src/core/handshaker/proxy_mapper.h +2 -3
  1015. data/src/core/handshaker/proxy_mapper_registry.cc +2 -2
  1016. data/src/core/handshaker/proxy_mapper_registry.h +2 -3
  1017. data/src/core/handshaker/security/secure_endpoint.cc +95 -82
  1018. data/src/core/handshaker/security/secure_endpoint.h +6 -7
  1019. data/src/core/handshaker/security/security_handshaker.cc +167 -221
  1020. data/src/core/handshaker/security/security_handshaker.h +3 -4
  1021. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +48 -62
  1022. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.h +1 -1
  1023. data/src/core/lib/address_utils/parse_address.cc +30 -43
  1024. data/src/core/lib/address_utils/parse_address.h +2 -4
  1025. data/src/core/lib/address_utils/sockaddr_utils.cc +9 -12
  1026. data/src/core/lib/address_utils/sockaddr_utils.h +1 -3
  1027. data/src/core/lib/channel/call_finalization.h +2 -2
  1028. data/src/core/lib/channel/channel_args.cc +17 -23
  1029. data/src/core/lib/channel/channel_args.h +35 -21
  1030. data/src/core/lib/channel/channel_args_preconditioning.cc +2 -2
  1031. data/src/core/lib/channel/channel_args_preconditioning.h +4 -4
  1032. data/src/core/lib/channel/channel_stack.cc +13 -76
  1033. data/src/core/lib/channel/channel_stack.h +26 -61
  1034. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  1035. data/src/core/lib/channel/channel_stack_builder.h +3 -9
  1036. data/src/core/lib/channel/channel_stack_builder_impl.cc +5 -150
  1037. data/src/core/lib/channel/channel_stack_builder_impl.h +14 -4
  1038. data/src/core/lib/channel/connected_channel.cc +47 -689
  1039. data/src/core/lib/channel/promise_based_filter.cc +181 -251
  1040. data/src/core/lib/channel/promise_based_filter.h +149 -559
  1041. data/src/core/lib/channel/status_util.cc +2 -4
  1042. data/src/core/lib/channel/status_util.h +3 -3
  1043. data/src/core/lib/compression/compression.cc +7 -9
  1044. data/src/core/lib/compression/compression_internal.cc +5 -8
  1045. data/src/core/lib/compression/compression_internal.h +3 -5
  1046. data/src/core/lib/compression/message_compress.cc +9 -12
  1047. data/src/core/lib/debug/trace.cc +48 -66
  1048. data/src/core/lib/debug/trace.h +2 -97
  1049. data/src/core/lib/debug/trace_flags.cc +244 -0
  1050. data/src/core/lib/debug/trace_flags.h +132 -0
  1051. data/src/core/lib/debug/trace_impl.h +125 -0
  1052. data/src/core/lib/event_engine/ares_resolver.cc +149 -75
  1053. data/src/core/lib/event_engine/ares_resolver.h +13 -20
  1054. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +13 -16
  1055. data/src/core/lib/event_engine/cf_engine/cf_engine.h +1 -1
  1056. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +44 -31
  1057. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +4 -6
  1058. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +1 -1
  1059. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +26 -30
  1060. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +3 -5
  1061. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +3 -4
  1062. data/src/core/lib/event_engine/channel_args_endpoint_config.h +2 -3
  1063. data/src/core/lib/event_engine/common_closures.h +3 -3
  1064. data/src/core/lib/event_engine/default_event_engine.cc +13 -15
  1065. data/src/core/lib/event_engine/default_event_engine.h +4 -4
  1066. data/src/core/lib/event_engine/default_event_engine_factory.cc +2 -2
  1067. data/src/core/lib/event_engine/default_event_engine_factory.h +2 -2
  1068. data/src/core/lib/event_engine/event_engine.cc +35 -4
  1069. data/src/core/lib/event_engine/event_engine_context.h +4 -2
  1070. data/src/core/lib/event_engine/extensions/can_track_errors.h +2 -2
  1071. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +1 -2
  1072. data/src/core/lib/event_engine/extensions/supports_fd.h +27 -3
  1073. data/src/core/lib/event_engine/extensions/tcp_trace.h +42 -0
  1074. data/src/core/lib/event_engine/forkable.cc +7 -9
  1075. data/src/core/lib/event_engine/forkable.h +2 -14
  1076. data/src/core/lib/event_engine/grpc_polled_fd.h +3 -4
  1077. data/src/core/lib/event_engine/handle_containers.h +2 -3
  1078. data/src/core/lib/event_engine/memory_allocator_factory.h +3 -4
  1079. data/src/core/lib/event_engine/nameser.h +1 -1
  1080. data/src/core/lib/event_engine/poller.h +2 -2
  1081. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +21 -23
  1082. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +8 -9
  1083. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +17 -21
  1084. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +4 -5
  1085. data/src/core/lib/event_engine/posix_engine/event_poller.h +3 -4
  1086. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +4 -5
  1087. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +2 -2
  1088. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +4 -6
  1089. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -4
  1090. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +1 -2
  1091. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +5 -7
  1092. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +2 -3
  1093. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +3 -4
  1094. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +2 -3
  1095. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +87 -79
  1096. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +11 -12
  1097. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +82 -58
  1098. data/src/core/lib/event_engine/posix_engine/posix_engine.h +18 -16
  1099. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +3 -3
  1100. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +24 -28
  1101. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +14 -13
  1102. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +22 -28
  1103. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +1 -2
  1104. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +44 -38
  1105. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +10 -10
  1106. data/src/core/lib/event_engine/posix_engine/timer.cc +5 -5
  1107. data/src/core/lib/event_engine/posix_engine/timer.h +5 -7
  1108. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +2 -3
  1109. data/src/core/lib/event_engine/posix_engine/timer_heap.h +2 -2
  1110. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +12 -21
  1111. data/src/core/lib/event_engine/posix_engine/timer_manager.h +5 -7
  1112. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +7 -9
  1113. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +3 -5
  1114. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +5 -6
  1115. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +2 -3
  1116. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +4 -5
  1117. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +2 -3
  1118. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +2 -2
  1119. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +2 -3
  1120. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +2 -2
  1121. data/src/core/lib/event_engine/query_extensions.h +2 -2
  1122. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +3 -5
  1123. data/src/core/lib/event_engine/resolved_address.cc +5 -5
  1124. data/src/core/lib/event_engine/shim.cc +1 -1
  1125. data/src/core/lib/event_engine/slice.cc +3 -6
  1126. data/src/core/lib/event_engine/slice_buffer.cc +1 -2
  1127. data/src/core/lib/event_engine/tcp_socket_utils.cc +9 -18
  1128. data/src/core/lib/event_engine/tcp_socket_utils.h +3 -3
  1129. data/src/core/lib/event_engine/thread_local.h +1 -1
  1130. data/src/core/lib/event_engine/thread_pool/thread_count.cc +5 -7
  1131. data/src/core/lib/event_engine/thread_pool/thread_count.h +6 -7
  1132. data/src/core/lib/event_engine/thread_pool/thread_pool.h +2 -4
  1133. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +2 -3
  1134. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +40 -47
  1135. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +10 -15
  1136. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +50 -23
  1137. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +9 -8
  1138. data/src/core/lib/event_engine/time_util.cc +2 -2
  1139. data/src/core/lib/event_engine/time_util.h +1 -2
  1140. data/src/core/lib/event_engine/utils.cc +19 -5
  1141. data/src/core/lib/event_engine/utils.h +10 -4
  1142. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +126 -101
  1143. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +4 -6
  1144. data/src/core/lib/event_engine/windows/iocp.cc +14 -14
  1145. data/src/core/lib/event_engine/windows/iocp.h +2 -3
  1146. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +4 -6
  1147. data/src/core/lib/event_engine/windows/win_socket.cc +42 -33
  1148. data/src/core/lib/event_engine/windows/win_socket.h +8 -10
  1149. data/src/core/lib/event_engine/windows/windows_endpoint.cc +46 -33
  1150. data/src/core/lib/event_engine/windows/windows_engine.cc +243 -134
  1151. data/src/core/lib/event_engine/windows/windows_engine.h +143 -33
  1152. data/src/core/lib/event_engine/windows/windows_listener.cc +22 -37
  1153. data/src/core/lib/event_engine/windows/windows_listener.h +4 -5
  1154. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +3 -3
  1155. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +3 -5
  1156. data/src/core/lib/event_engine/work_queue/work_queue.h +2 -3
  1157. data/src/core/lib/experiments/config.cc +55 -28
  1158. data/src/core/lib/experiments/config.h +56 -3
  1159. data/src/core/lib/experiments/experiments.cc +376 -323
  1160. data/src/core/lib/experiments/experiments.h +166 -141
  1161. data/src/core/lib/iomgr/buffer_list.cc +6 -6
  1162. data/src/core/lib/iomgr/buffer_list.h +2 -3
  1163. data/src/core/lib/iomgr/call_combiner.cc +39 -66
  1164. data/src/core/lib/iomgr/call_combiner.h +13 -17
  1165. data/src/core/lib/iomgr/cfstream_handle.cc +14 -20
  1166. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  1167. data/src/core/lib/iomgr/closure.cc +2 -2
  1168. data/src/core/lib/iomgr/closure.h +15 -20
  1169. data/src/core/lib/iomgr/combiner.cc +33 -48
  1170. data/src/core/lib/iomgr/combiner.h +2 -5
  1171. data/src/core/lib/iomgr/endpoint.cc +0 -6
  1172. data/src/core/lib/iomgr/endpoint.h +3 -4
  1173. data/src/core/lib/iomgr/endpoint_cfstream.cc +40 -73
  1174. data/src/core/lib/iomgr/endpoint_pair_posix.cc +3 -6
  1175. data/src/core/lib/iomgr/endpoint_pair_windows.cc +6 -8
  1176. data/src/core/lib/iomgr/error.cc +22 -32
  1177. data/src/core/lib/iomgr/error.h +7 -10
  1178. data/src/core/lib/iomgr/error_cfstream.cc +1 -3
  1179. data/src/core/lib/iomgr/ev_apple.cc +16 -24
  1180. data/src/core/lib/iomgr/ev_epoll1_linux.cc +69 -115
  1181. data/src/core/lib/iomgr/ev_poll_posix.cc +53 -53
  1182. data/src/core/lib/iomgr/ev_posix.cc +67 -58
  1183. data/src/core/lib/iomgr/ev_posix.h +9 -12
  1184. data/src/core/lib/iomgr/event_engine_shims/closure.cc +10 -13
  1185. data/src/core/lib/iomgr/event_engine_shims/closure.h +1 -2
  1186. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +34 -52
  1187. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +2 -2
  1188. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +9 -13
  1189. data/src/core/lib/iomgr/exec_ctx.cc +10 -14
  1190. data/src/core/lib/iomgr/exec_ctx.h +33 -25
  1191. data/src/core/lib/iomgr/executor.cc +55 -53
  1192. data/src/core/lib/iomgr/executor.h +2 -2
  1193. data/src/core/lib/iomgr/fork_posix.cc +11 -15
  1194. data/src/core/lib/iomgr/fork_windows.cc +3 -2
  1195. data/src/core/lib/iomgr/internal_errqueue.cc +4 -4
  1196. data/src/core/lib/iomgr/iocp_windows.cc +8 -10
  1197. data/src/core/lib/iomgr/iomgr.cc +18 -24
  1198. data/src/core/lib/iomgr/iomgr.h +1 -2
  1199. data/src/core/lib/iomgr/iomgr_internal.cc +1 -2
  1200. data/src/core/lib/iomgr/iomgr_internal.h +1 -2
  1201. data/src/core/lib/iomgr/iomgr_posix.cc +2 -1
  1202. data/src/core/lib/iomgr/iomgr_windows.cc +4 -5
  1203. data/src/core/lib/iomgr/lockfree_event.cc +10 -20
  1204. data/src/core/lib/iomgr/nameser.h +1 -1
  1205. data/src/core/lib/iomgr/polling_entity.cc +13 -7
  1206. data/src/core/lib/iomgr/pollset.h +0 -2
  1207. data/src/core/lib/iomgr/pollset_set_windows.cc +1 -2
  1208. data/src/core/lib/iomgr/pollset_windows.cc +2 -6
  1209. data/src/core/lib/iomgr/port.h +2 -2
  1210. data/src/core/lib/iomgr/resolve_address.cc +3 -5
  1211. data/src/core/lib/iomgr/resolve_address.h +4 -6
  1212. data/src/core/lib/iomgr/resolve_address_impl.h +1 -2
  1213. data/src/core/lib/iomgr/resolve_address_posix.cc +12 -21
  1214. data/src/core/lib/iomgr/resolve_address_posix.h +2 -2
  1215. data/src/core/lib/iomgr/resolve_address_windows.cc +9 -12
  1216. data/src/core/lib/iomgr/resolve_address_windows.h +2 -2
  1217. data/src/core/lib/iomgr/resolved_address.h +1 -2
  1218. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +3 -6
  1219. data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
  1220. data/src/core/lib/iomgr/socket_mutator.cc +2 -3
  1221. data/src/core/lib/iomgr/socket_mutator.h +1 -2
  1222. data/src/core/lib/iomgr/socket_utils.h +1 -2
  1223. data/src/core/lib/iomgr/socket_utils_common_posix.cc +43 -52
  1224. data/src/core/lib/iomgr/socket_utils_linux.cc +1 -3
  1225. data/src/core/lib/iomgr/socket_utils_posix.cc +4 -7
  1226. data/src/core/lib/iomgr/socket_utils_windows.cc +1 -3
  1227. data/src/core/lib/iomgr/socket_windows.cc +7 -11
  1228. data/src/core/lib/iomgr/socket_windows.h +1 -2
  1229. data/src/core/lib/iomgr/tcp_client_cfstream.cc +12 -20
  1230. data/src/core/lib/iomgr/tcp_client_posix.cc +19 -32
  1231. data/src/core/lib/iomgr/tcp_client_windows.cc +8 -13
  1232. data/src/core/lib/iomgr/tcp_posix.cc +86 -156
  1233. data/src/core/lib/iomgr/tcp_posix.h +1 -3
  1234. data/src/core/lib/iomgr/tcp_server.h +2 -2
  1235. data/src/core/lib/iomgr/tcp_server_posix.cc +40 -58
  1236. data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -3
  1237. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +7 -11
  1238. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +11 -13
  1239. data/src/core/lib/iomgr/tcp_server_windows.cc +20 -28
  1240. data/src/core/lib/iomgr/tcp_windows.cc +32 -62
  1241. data/src/core/lib/iomgr/timer.h +2 -2
  1242. data/src/core/lib/iomgr/timer_generic.cc +72 -105
  1243. data/src/core/lib/iomgr/timer_heap.cc +3 -4
  1244. data/src/core/lib/iomgr/timer_manager.cc +25 -43
  1245. data/src/core/lib/iomgr/timer_manager.h +1 -2
  1246. data/src/core/lib/iomgr/unix_sockets_posix.cc +4 -6
  1247. data/src/core/lib/iomgr/unix_sockets_posix.h +3 -4
  1248. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +0 -4
  1249. data/src/core/lib/iomgr/vsock.cc +3 -6
  1250. data/src/core/lib/iomgr/vsock.h +3 -4
  1251. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +2 -4
  1252. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +6 -7
  1253. data/src/core/lib/promise/activity.cc +4 -4
  1254. data/src/core/lib/promise/activity.h +77 -25
  1255. data/src/core/lib/promise/all_ok.h +54 -11
  1256. data/src/core/lib/promise/arena_promise.h +2 -4
  1257. data/src/core/lib/promise/cancel_callback.h +34 -6
  1258. data/src/core/lib/promise/context.h +19 -10
  1259. data/src/core/lib/promise/detail/basic_seq.h +33 -20
  1260. data/src/core/lib/promise/detail/join_state.h +556 -762
  1261. data/src/core/lib/promise/detail/promise_factory.h +47 -31
  1262. data/src/core/lib/promise/detail/promise_like.h +44 -12
  1263. data/src/core/lib/promise/detail/seq_state.h +1314 -1977
  1264. data/src/core/lib/promise/detail/status.h +36 -15
  1265. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +2 -3
  1266. data/src/core/lib/promise/for_each.h +34 -37
  1267. data/src/core/lib/promise/if.h +23 -19
  1268. data/src/core/lib/promise/interceptor_list.h +21 -35
  1269. data/src/core/lib/promise/latch.h +19 -34
  1270. data/src/core/lib/promise/loop.h +25 -12
  1271. data/src/core/lib/promise/map.h +120 -10
  1272. data/src/core/lib/promise/observable.h +181 -0
  1273. data/src/core/lib/promise/party.cc +291 -148
  1274. data/src/core/lib/promise/party.h +192 -386
  1275. data/src/core/lib/promise/pipe.h +21 -44
  1276. data/src/core/lib/promise/poll.h +115 -38
  1277. data/src/core/lib/promise/prioritized_race.h +2 -2
  1278. data/src/core/lib/promise/promise.h +14 -8
  1279. data/src/core/lib/promise/race.h +12 -7
  1280. data/src/core/lib/promise/seq.h +58 -65
  1281. data/src/core/lib/promise/sleep.cc +3 -3
  1282. data/src/core/lib/promise/sleep.h +5 -5
  1283. data/src/core/lib/promise/status_flag.h +165 -49
  1284. data/src/core/lib/promise/try_join.h +37 -21
  1285. data/src/core/lib/promise/try_seq.h +112 -77
  1286. data/src/core/lib/resource_quota/api.cc +4 -6
  1287. data/src/core/lib/resource_quota/api.h +2 -3
  1288. data/src/core/lib/resource_quota/arena.cc +64 -86
  1289. data/src/core/lib/resource_quota/arena.h +148 -212
  1290. data/src/core/lib/resource_quota/connection_quota.cc +2 -3
  1291. data/src/core/lib/resource_quota/connection_quota.h +9 -6
  1292. data/src/core/lib/resource_quota/memory_quota.cc +44 -45
  1293. data/src/core/lib/resource_quota/memory_quota.h +25 -19
  1294. data/src/core/lib/resource_quota/periodic_update.cc +5 -5
  1295. data/src/core/lib/resource_quota/periodic_update.h +2 -4
  1296. data/src/core/lib/resource_quota/resource_quota.h +8 -9
  1297. data/src/core/lib/resource_quota/thread_quota.cc +2 -3
  1298. data/src/core/lib/resource_quota/thread_quota.h +5 -6
  1299. data/src/core/lib/security/authorization/audit_logging.cc +5 -7
  1300. data/src/core/lib/security/authorization/audit_logging.h +5 -6
  1301. data/src/core/lib/security/authorization/authorization_engine.h +3 -3
  1302. data/src/core/lib/security/authorization/authorization_policy_provider.h +4 -5
  1303. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +2 -2
  1304. data/src/core/lib/security/authorization/evaluate_args.cc +10 -14
  1305. data/src/core/lib/security/authorization/evaluate_args.h +3 -4
  1306. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -4
  1307. data/src/core/lib/security/authorization/grpc_authorization_engine.h +2 -3
  1308. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +22 -30
  1309. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +5 -3
  1310. data/src/core/lib/security/authorization/matchers.cc +5 -7
  1311. data/src/core/lib/security/authorization/matchers.h +2 -4
  1312. data/src/core/lib/security/authorization/rbac_policy.cc +2 -2
  1313. data/src/core/lib/security/authorization/rbac_policy.h +3 -5
  1314. data/src/core/lib/security/authorization/stdout_logger.cc +4 -5
  1315. data/src/core/lib/security/authorization/stdout_logger.h +4 -4
  1316. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +8 -9
  1317. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +4 -5
  1318. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +2 -3
  1319. data/src/core/lib/security/context/security_context.cc +48 -48
  1320. data/src/core/lib/security/context/security_context.h +47 -18
  1321. data/src/core/lib/security/credentials/alts/alts_credentials.cc +5 -5
  1322. data/src/core/lib/security/credentials/alts/alts_credentials.h +9 -5
  1323. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +4 -4
  1324. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +1 -2
  1325. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +3 -5
  1326. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +3 -5
  1327. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +4 -5
  1328. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +3 -3
  1329. data/src/core/lib/security/credentials/call_creds_util.cc +8 -7
  1330. data/src/core/lib/security/credentials/call_creds_util.h +2 -2
  1331. data/src/core/lib/security/credentials/channel_creds_registry.h +7 -8
  1332. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +15 -14
  1333. data/src/core/lib/security/credentials/composite/composite_credentials.cc +10 -14
  1334. data/src/core/lib/security/credentials/composite/composite_credentials.h +11 -10
  1335. data/src/core/lib/security/credentials/credentials.cc +18 -19
  1336. data/src/core/lib/security/credentials/credentials.h +12 -14
  1337. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +335 -339
  1338. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +60 -48
  1339. data/src/core/lib/security/credentials/external/aws_request_signer.cc +4 -5
  1340. data/src/core/lib/security/credentials/external/aws_request_signer.h +3 -3
  1341. data/src/core/lib/security/credentials/external/external_account_credentials.cc +409 -374
  1342. data/src/core/lib/security/credentials/external/external_account_credentials.h +128 -60
  1343. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +90 -52
  1344. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +32 -11
  1345. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +102 -129
  1346. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +22 -24
  1347. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -4
  1348. data/src/core/lib/security/credentials/fake/fake_credentials.h +9 -8
  1349. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +195 -0
  1350. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.h +90 -0
  1351. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +6 -7
  1352. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +56 -74
  1353. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +8 -6
  1354. data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -10
  1355. data/src/core/lib/security/credentials/iam/iam_credentials.h +8 -7
  1356. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +2 -2
  1357. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +2 -2
  1358. data/src/core/lib/security/credentials/jwt/json_token.cc +25 -29
  1359. data/src/core/lib/security/credentials/jwt/json_token.h +2 -3
  1360. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +22 -29
  1361. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +10 -10
  1362. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +68 -75
  1363. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +3 -4
  1364. data/src/core/lib/security/credentials/local/local_credentials.cc +2 -2
  1365. data/src/core/lib/security/credentials/local/local_credentials.h +3 -3
  1366. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +195 -296
  1367. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +50 -73
  1368. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +20 -33
  1369. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +12 -14
  1370. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +35 -47
  1371. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +5 -8
  1372. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +3 -4
  1373. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +4 -5
  1374. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +1 -3
  1375. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +102 -42
  1376. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +14 -13
  1377. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +6 -10
  1378. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +9 -11
  1379. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +10 -13
  1380. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +1 -1
  1381. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +6 -10
  1382. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +8 -10
  1383. data/src/core/lib/security/credentials/tls/tls_credentials.cc +20 -23
  1384. data/src/core/lib/security/credentials/tls/tls_credentials.h +5 -3
  1385. data/src/core/lib/security/credentials/tls/tls_utils.cc +5 -6
  1386. data/src/core/lib/security/credentials/tls/tls_utils.h +3 -3
  1387. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +305 -0
  1388. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +181 -0
  1389. data/src/core/lib/security/credentials/xds/xds_credentials.cc +15 -13
  1390. data/src/core/lib/security/credentials/xds/xds_credentials.h +7 -9
  1391. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +22 -27
  1392. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +1 -1
  1393. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +24 -24
  1394. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +1 -1
  1395. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +4 -7
  1396. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +5 -6
  1397. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +10 -12
  1398. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +4 -6
  1399. data/src/core/lib/security/security_connector/local/local_security_connector.cc +25 -25
  1400. data/src/core/lib/security/security_connector/local/local_security_connector.h +1 -1
  1401. data/src/core/lib/security/security_connector/security_connector.cc +6 -11
  1402. data/src/core/lib/security/security_connector/security_connector.h +8 -11
  1403. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +23 -27
  1404. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +2 -3
  1405. data/src/core/lib/security/security_connector/ssl_utils.cc +34 -35
  1406. data/src/core/lib/security/security_connector/ssl_utils.h +7 -9
  1407. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +37 -50
  1408. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +7 -8
  1409. data/src/core/lib/security/transport/auth_filters.h +7 -3
  1410. data/src/core/lib/security/transport/client_auth_filter.cc +16 -25
  1411. data/src/core/lib/security/transport/server_auth_filter.cc +20 -31
  1412. data/src/core/lib/security/util/json_util.cc +4 -5
  1413. data/src/core/lib/security/util/json_util.h +1 -1
  1414. data/src/core/lib/slice/percent_encoding.cc +2 -5
  1415. data/src/core/lib/slice/slice.cc +4 -7
  1416. data/src/core/lib/slice/slice.h +6 -9
  1417. data/src/core/lib/slice/slice_buffer.cc +5 -7
  1418. data/src/core/lib/slice/slice_buffer.h +3 -4
  1419. data/src/core/lib/slice/slice_internal.h +3 -6
  1420. data/src/core/lib/slice/slice_refcount.h +8 -15
  1421. data/src/core/lib/slice/slice_string_helpers.cc +1 -1
  1422. data/src/core/lib/slice/slice_string_helpers.h +1 -2
  1423. data/src/core/lib/surface/byte_buffer.cc +1 -2
  1424. data/src/core/lib/surface/byte_buffer_reader.cc +3 -6
  1425. data/src/core/lib/surface/call.cc +161 -3825
  1426. data/src/core/lib/surface/call.h +63 -157
  1427. data/src/core/lib/surface/call_details.cc +4 -3
  1428. data/src/core/lib/surface/call_log_batch.cc +8 -11
  1429. data/src/core/lib/surface/call_test_only.h +1 -2
  1430. data/src/core/lib/surface/call_utils.cc +231 -0
  1431. data/src/core/lib/surface/call_utils.h +488 -0
  1432. data/src/core/lib/surface/channel.cc +41 -40
  1433. data/src/core/lib/surface/channel.h +21 -19
  1434. data/src/core/lib/surface/channel_create.cc +28 -13
  1435. data/src/core/lib/surface/channel_create.h +5 -5
  1436. data/src/core/lib/surface/channel_init.cc +269 -266
  1437. data/src/core/lib/surface/channel_init.h +173 -119
  1438. data/src/core/lib/surface/client_call.cc +449 -0
  1439. data/src/core/lib/surface/client_call.h +192 -0
  1440. data/src/core/lib/surface/completion_queue.cc +111 -107
  1441. data/src/core/lib/surface/completion_queue.h +4 -13
  1442. data/src/core/lib/surface/completion_queue_factory.cc +1 -3
  1443. data/src/core/lib/surface/connection_context.cc +77 -0
  1444. data/src/core/lib/surface/connection_context.h +156 -0
  1445. data/src/core/lib/surface/event_string.cc +9 -3
  1446. data/src/core/lib/surface/event_string.h +2 -2
  1447. data/src/core/lib/surface/filter_stack_call.cc +1156 -0
  1448. data/src/core/lib/surface/filter_stack_call.h +366 -0
  1449. data/src/core/lib/surface/init.cc +59 -19
  1450. data/src/core/lib/surface/init.h +5 -0
  1451. data/src/core/lib/surface/init_internally.h +13 -2
  1452. data/src/core/lib/surface/lame_client.cc +12 -15
  1453. data/src/core/lib/surface/lame_client.h +6 -5
  1454. data/src/core/lib/surface/legacy_channel.cc +58 -44
  1455. data/src/core/lib/surface/legacy_channel.h +15 -25
  1456. data/src/core/lib/surface/metadata_array.cc +5 -5
  1457. data/src/core/lib/surface/server_call.cc +242 -0
  1458. data/src/core/lib/surface/server_call.h +167 -0
  1459. data/src/core/lib/surface/validate_metadata.cc +3 -4
  1460. data/src/core/lib/surface/validate_metadata.h +2 -5
  1461. data/src/core/lib/surface/version.cc +2 -2
  1462. data/src/core/lib/transport/bdp_estimator.cc +12 -20
  1463. data/src/core/lib/transport/bdp_estimator.h +10 -16
  1464. data/src/core/lib/transport/call_arena_allocator.cc +4 -18
  1465. data/src/core/lib/transport/call_arena_allocator.h +30 -12
  1466. data/src/core/lib/transport/call_destination.h +76 -0
  1467. data/src/core/lib/transport/call_filters.cc +67 -405
  1468. data/src/core/lib/transport/call_filters.h +810 -752
  1469. data/src/core/lib/transport/call_final_info.cc +2 -2
  1470. data/src/core/lib/transport/call_final_info.h +3 -3
  1471. data/src/core/lib/transport/call_spine.cc +51 -65
  1472. data/src/core/lib/transport/call_spine.h +294 -367
  1473. data/src/core/lib/transport/call_state.cc +39 -0
  1474. data/src/core/lib/transport/call_state.h +1154 -0
  1475. data/src/core/lib/transport/connectivity_state.cc +37 -45
  1476. data/src/core/lib/transport/connectivity_state.h +5 -8
  1477. data/src/core/lib/transport/error_utils.cc +3 -4
  1478. data/src/core/lib/transport/error_utils.h +4 -5
  1479. data/src/core/lib/transport/interception_chain.cc +155 -0
  1480. data/src/core/lib/transport/interception_chain.h +262 -0
  1481. data/src/core/lib/transport/message.cc +2 -2
  1482. data/src/core/lib/transport/message.h +5 -0
  1483. data/src/core/lib/transport/metadata.cc +27 -3
  1484. data/src/core/lib/transport/metadata.h +37 -2
  1485. data/src/core/lib/transport/metadata_batch.cc +12 -5
  1486. data/src/core/lib/transport/metadata_batch.h +73 -13
  1487. data/src/core/lib/transport/metadata_compression_traits.h +3 -4
  1488. data/src/core/lib/transport/metadata_info.h +1 -1
  1489. data/src/core/lib/transport/parsed_metadata.h +3 -5
  1490. data/src/core/lib/transport/simple_slice_based_metadata.h +1 -2
  1491. data/src/core/lib/transport/status_conversion.h +1 -1
  1492. data/src/core/lib/transport/timeout_encoding.cc +7 -8
  1493. data/src/core/lib/transport/timeout_encoding.h +2 -4
  1494. data/src/core/lib/transport/transport.cc +7 -12
  1495. data/src/core/lib/transport/transport.h +59 -56
  1496. data/src/core/lib/transport/transport_framing_endpoint_extension.h +47 -0
  1497. data/src/core/lib/transport/transport_op_string.cc +4 -6
  1498. data/src/core/load_balancing/address_filtering.cc +2 -4
  1499. data/src/core/load_balancing/address_filtering.h +4 -5
  1500. data/src/core/load_balancing/backend_metric_data.h +2 -2
  1501. data/src/core/load_balancing/backend_metric_parser.cc +1 -2
  1502. data/src/core/load_balancing/backend_metric_parser.h +1 -3
  1503. data/src/core/load_balancing/child_policy_handler.cc +37 -41
  1504. data/src/core/load_balancing/child_policy_handler.h +4 -5
  1505. data/src/core/load_balancing/delegating_helper.h +6 -7
  1506. data/src/core/load_balancing/endpoint_list.cc +22 -14
  1507. data/src/core/load_balancing/endpoint_list.h +20 -15
  1508. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +12 -6
  1509. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +5 -2
  1510. data/src/core/load_balancing/grpclb/grpclb.cc +154 -188
  1511. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +2 -3
  1512. data/src/core/load_balancing/grpclb/grpclb_client_stats.cc +2 -3
  1513. data/src/core/load_balancing/grpclb/grpclb_client_stats.h +5 -7
  1514. data/src/core/load_balancing/grpclb/load_balancer_api.cc +7 -10
  1515. data/src/core/load_balancing/grpclb/load_balancer_api.h +4 -6
  1516. data/src/core/load_balancing/health_check_client.cc +60 -80
  1517. data/src/core/load_balancing/health_check_client.h +3 -3
  1518. data/src/core/load_balancing/health_check_client_internal.h +8 -9
  1519. data/src/core/load_balancing/lb_policy.cc +5 -8
  1520. data/src/core/load_balancing/lb_policy.h +73 -47
  1521. data/src/core/load_balancing/lb_policy_factory.h +5 -6
  1522. data/src/core/load_balancing/lb_policy_registry.cc +5 -7
  1523. data/src/core/load_balancing/lb_policy_registry.h +5 -6
  1524. data/src/core/load_balancing/oob_backend_metric.cc +19 -25
  1525. data/src/core/load_balancing/oob_backend_metric.h +3 -3
  1526. data/src/core/load_balancing/oob_backend_metric_internal.h +8 -9
  1527. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +141 -186
  1528. data/src/core/load_balancing/outlier_detection/outlier_detection.h +6 -8
  1529. data/src/core/load_balancing/pick_first/pick_first.cc +312 -360
  1530. data/src/core/load_balancing/priority/priority.cc +94 -138
  1531. data/src/core/load_balancing/ring_hash/ring_hash.cc +210 -146
  1532. data/src/core/load_balancing/ring_hash/ring_hash.h +10 -18
  1533. data/src/core/load_balancing/rls/rls.cc +341 -346
  1534. data/src/core/load_balancing/round_robin/round_robin.cc +66 -98
  1535. data/src/core/load_balancing/subchannel_interface.h +17 -6
  1536. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +4 -5
  1537. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +2 -3
  1538. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +151 -171
  1539. data/src/core/load_balancing/weighted_target/weighted_target.cc +72 -108
  1540. data/src/core/load_balancing/xds/cds.cc +54 -70
  1541. data/src/core/load_balancing/xds/xds_cluster_impl.cc +179 -156
  1542. data/src/core/load_balancing/xds/xds_cluster_manager.cc +53 -85
  1543. data/src/core/load_balancing/xds/xds_override_host.cc +121 -183
  1544. data/src/core/load_balancing/xds/xds_override_host.h +6 -7
  1545. data/src/core/load_balancing/xds/xds_wrr_locality.cc +39 -49
  1546. data/src/core/plugin_registry/grpc_plugin_registry.cc +6 -8
  1547. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +6 -1
  1548. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +91 -66
  1549. data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +2 -3
  1550. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +4 -6
  1551. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -6
  1552. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +119 -101
  1553. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +166 -151
  1554. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +4 -18
  1555. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  1556. data/src/core/resolver/dns/dns_resolver_plugin.cc +10 -11
  1557. data/src/core/resolver/dns/dns_resolver_plugin.h +1 -1
  1558. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +52 -59
  1559. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +3 -4
  1560. data/src/core/resolver/dns/event_engine/service_config_helper.cc +8 -10
  1561. data/src/core/resolver/dns/event_engine/service_config_helper.h +2 -2
  1562. data/src/core/resolver/dns/native/dns_resolver.cc +22 -31
  1563. data/src/core/resolver/dns/native/dns_resolver.h +1 -1
  1564. data/src/core/resolver/endpoint_addresses.cc +2 -5
  1565. data/src/core/resolver/endpoint_addresses.h +5 -3
  1566. data/src/core/resolver/fake/fake_resolver.cc +8 -10
  1567. data/src/core/resolver/fake/fake_resolver.h +8 -9
  1568. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +24 -26
  1569. data/src/core/resolver/polling_resolver.cc +39 -55
  1570. data/src/core/resolver/polling_resolver.h +8 -9
  1571. data/src/core/resolver/resolver.cc +2 -6
  1572. data/src/core/resolver/resolver.h +4 -10
  1573. data/src/core/resolver/resolver_factory.h +4 -5
  1574. data/src/core/resolver/resolver_registry.cc +8 -10
  1575. data/src/core/resolver/resolver_registry.h +4 -5
  1576. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +8 -9
  1577. data/src/core/resolver/xds/xds_config.cc +95 -0
  1578. data/src/core/resolver/xds/xds_config.h +108 -0
  1579. data/src/core/resolver/xds/xds_dependency_manager.cc +213 -298
  1580. data/src/core/resolver/xds/xds_dependency_manager.h +30 -89
  1581. data/src/core/resolver/xds/xds_resolver.cc +141 -141
  1582. data/src/core/resolver/xds/xds_resolver_attributes.h +7 -4
  1583. data/src/core/server/server.cc +657 -492
  1584. data/src/core/server/server.h +246 -93
  1585. data/src/core/server/server_call_tracer_filter.cc +21 -20
  1586. data/src/core/server/server_call_tracer_filter.h +1 -1
  1587. data/src/core/server/server_config_selector.h +6 -7
  1588. data/src/core/server/server_config_selector_filter.cc +17 -12
  1589. data/src/core/server/server_interface.h +2 -0
  1590. data/src/core/server/xds_channel_stack_modifier.cc +5 -5
  1591. data/src/core/server/xds_channel_stack_modifier.h +6 -7
  1592. data/src/core/server/xds_server_config_fetcher.cc +133 -207
  1593. data/src/core/service_config/service_config.h +4 -6
  1594. data/src/core/service_config/service_config_call_data.h +21 -20
  1595. data/src/core/service_config/service_config_channel_arg_filter.cc +17 -13
  1596. data/src/core/service_config/service_config_impl.cc +9 -11
  1597. data/src/core/service_config/service_config_impl.h +5 -8
  1598. data/src/core/service_config/service_config_parser.cc +4 -8
  1599. data/src/core/service_config/service_config_parser.h +3 -5
  1600. data/src/core/telemetry/call_tracer.cc +386 -0
  1601. data/src/core/telemetry/call_tracer.h +263 -0
  1602. data/src/core/telemetry/histogram_view.cc +69 -0
  1603. data/src/core/telemetry/histogram_view.h +36 -0
  1604. data/src/core/telemetry/metrics.cc +180 -0
  1605. data/src/core/telemetry/metrics.h +569 -0
  1606. data/src/core/telemetry/stats.cc +67 -0
  1607. data/src/core/telemetry/stats.h +62 -0
  1608. data/src/core/telemetry/stats_data.cc +931 -0
  1609. data/src/core/telemetry/stats_data.h +705 -0
  1610. data/src/core/telemetry/tcp_tracer.h +143 -0
  1611. data/src/core/tsi/alts/crypt/aes_gcm.cc +5 -8
  1612. data/src/core/tsi/alts/crypt/gsec.cc +2 -3
  1613. data/src/core/tsi/alts/crypt/gsec.h +3 -4
  1614. data/src/core/tsi/alts/frame_protector/alts_counter.cc +1 -2
  1615. data/src/core/tsi/alts/frame_protector/alts_counter.h +3 -4
  1616. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +1 -2
  1617. data/src/core/tsi/alts/frame_protector/alts_crypter.h +2 -3
  1618. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +16 -18
  1619. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +1 -2
  1620. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +1 -1
  1621. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -1
  1622. data/src/core/tsi/alts/frame_protector/frame_handler.cc +11 -12
  1623. data/src/core/tsi/alts/frame_protector/frame_handler.h +1 -2
  1624. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +41 -46
  1625. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +2 -4
  1626. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +1 -1
  1627. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +55 -57
  1628. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +3 -3
  1629. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +17 -24
  1630. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +3 -4
  1631. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +14 -17
  1632. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +1 -2
  1633. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +11 -12
  1634. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +1 -2
  1635. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +9 -11
  1636. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +3 -5
  1637. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +1 -2
  1638. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +10 -14
  1639. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +1 -2
  1640. data/src/core/tsi/fake_transport_security.cc +27 -32
  1641. data/src/core/tsi/local_transport_security.cc +9 -10
  1642. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +9 -12
  1643. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +8 -10
  1644. data/src/core/tsi/ssl/session_cache/ssl_session.h +4 -5
  1645. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +7 -9
  1646. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +7 -8
  1647. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -4
  1648. data/src/core/tsi/ssl_transport_security.cc +135 -113
  1649. data/src/core/tsi/ssl_transport_security.h +6 -8
  1650. data/src/core/tsi/ssl_transport_security_utils.cc +77 -24
  1651. data/src/core/tsi/ssl_transport_security_utils.h +14 -5
  1652. data/src/core/tsi/ssl_types.h +1 -2
  1653. data/src/core/tsi/transport_security.cc +2 -7
  1654. data/src/core/tsi/transport_security.h +1 -4
  1655. data/src/core/tsi/transport_security_interface.h +3 -8
  1656. data/src/core/util/alloc.cc +69 -0
  1657. data/src/core/util/alloc.h +28 -0
  1658. data/src/core/util/atomic_utils.h +47 -0
  1659. data/src/core/util/avl.h +324 -0
  1660. data/src/core/util/backoff.cc +57 -0
  1661. data/src/core/util/backoff.h +86 -0
  1662. data/src/core/util/bitset.h +224 -0
  1663. data/src/core/util/chunked_vector.h +256 -0
  1664. data/src/core/util/construct_destruct.h +41 -0
  1665. data/src/core/util/cpp_impl_of.h +49 -0
  1666. data/src/core/util/crash.cc +40 -0
  1667. data/src/core/util/crash.h +36 -0
  1668. data/src/core/util/debug_location.h +106 -0
  1669. data/src/core/util/directory_reader.h +48 -0
  1670. data/src/core/util/down_cast.h +48 -0
  1671. data/src/core/util/dual_ref_counted.h +376 -0
  1672. data/src/core/util/dump_args.cc +54 -0
  1673. data/src/core/util/dump_args.h +122 -0
  1674. data/src/core/util/env.h +53 -0
  1675. data/src/core/util/event_log.cc +87 -0
  1676. data/src/core/util/event_log.h +79 -0
  1677. data/src/core/util/examine_stack.cc +43 -0
  1678. data/src/core/util/examine_stack.h +45 -0
  1679. data/src/core/util/fork.cc +241 -0
  1680. data/src/core/util/fork.h +98 -0
  1681. data/src/core/util/gcp_metadata_query.cc +132 -0
  1682. data/src/core/util/gcp_metadata_query.h +86 -0
  1683. data/src/core/util/gethostname.h +26 -0
  1684. data/src/core/util/gethostname_fallback.cc +30 -0
  1685. data/src/core/util/gethostname_host_name_max.cc +39 -0
  1686. data/src/core/util/gethostname_sysconf.cc +39 -0
  1687. data/src/core/util/glob.cc +70 -0
  1688. data/src/core/util/glob.h +29 -0
  1689. data/src/core/util/gpr_time.cc +268 -0
  1690. data/src/core/util/grpc_if_nametoindex.h +29 -0
  1691. data/src/core/util/grpc_if_nametoindex_posix.cc +41 -0
  1692. data/src/core/util/grpc_if_nametoindex_unsupported.cc +36 -0
  1693. data/src/core/util/host_port.cc +114 -0
  1694. data/src/core/util/host_port.h +57 -0
  1695. data/src/core/util/http_client/format_request.cc +134 -0
  1696. data/src/core/util/http_client/format_request.h +37 -0
  1697. data/src/core/util/http_client/httpcli.cc +428 -0
  1698. data/src/core/util/http_client/httpcli.h +279 -0
  1699. data/src/core/util/http_client/httpcli_security_connector.cc +210 -0
  1700. data/src/core/util/http_client/httpcli_ssl_credentials.h +38 -0
  1701. data/src/core/util/http_client/parser.cc +447 -0
  1702. data/src/core/util/http_client/parser.h +126 -0
  1703. data/src/core/util/if_list.h +4530 -0
  1704. data/src/core/util/iphone/cpu.cc +43 -0
  1705. data/src/core/util/json/json.h +29 -0
  1706. data/src/core/util/json/json_args.h +34 -0
  1707. data/src/core/util/json/json_channel_args.h +41 -0
  1708. data/src/core/util/json/json_object_loader.cc +215 -0
  1709. data/src/core/util/json/json_object_loader.h +644 -0
  1710. data/src/core/util/json/json_reader.cc +953 -0
  1711. data/src/core/util/json/json_reader.h +33 -0
  1712. data/src/core/util/json/json_util.cc +101 -0
  1713. data/src/core/util/json/json_util.h +163 -0
  1714. data/src/core/util/json/json_writer.cc +337 -0
  1715. data/src/core/util/json/json_writer.h +33 -0
  1716. data/src/core/util/latent_see.cc +163 -0
  1717. data/src/core/util/latent_see.h +334 -0
  1718. data/src/core/util/linux/cpu.cc +86 -0
  1719. data/src/core/util/linux/env.cc +62 -0
  1720. data/src/core/util/load_file.cc +75 -0
  1721. data/src/core/util/load_file.h +33 -0
  1722. data/src/core/util/log.cc +127 -0
  1723. data/src/core/util/lru_cache.h +122 -0
  1724. data/src/core/util/manual_constructor.h +145 -0
  1725. data/src/core/util/match.h +74 -0
  1726. data/src/core/util/matchers.cc +337 -0
  1727. data/src/core/util/matchers.h +162 -0
  1728. data/src/core/util/memory.h +52 -0
  1729. data/src/core/util/mpscq.cc +108 -0
  1730. data/src/core/util/mpscq.h +98 -0
  1731. data/src/core/util/msys/tmpfile.cc +57 -0
  1732. data/src/core/util/no_destruct.h +95 -0
  1733. data/src/core/util/notification.h +66 -0
  1734. data/src/core/util/orphanable.h +153 -0
  1735. data/src/core/util/overload.h +59 -0
  1736. data/src/core/util/packed_table.h +40 -0
  1737. data/src/core/util/per_cpu.cc +34 -0
  1738. data/src/core/util/per_cpu.h +102 -0
  1739. data/src/core/util/posix/cpu.cc +83 -0
  1740. data/src/core/util/posix/directory_reader.cc +82 -0
  1741. data/src/core/util/posix/env.cc +47 -0
  1742. data/src/core/util/posix/stat.cc +54 -0
  1743. data/src/core/util/posix/string.cc +71 -0
  1744. data/src/core/util/posix/sync.cc +158 -0
  1745. data/src/core/util/posix/thd.cc +243 -0
  1746. data/src/core/util/posix/time.cc +123 -0
  1747. data/src/core/util/posix/tmpfile.cc +71 -0
  1748. data/src/core/util/random_early_detection.cc +33 -0
  1749. data/src/core/util/random_early_detection.h +61 -0
  1750. data/src/core/util/ref_counted.h +403 -0
  1751. data/src/core/util/ref_counted_ptr.h +443 -0
  1752. data/src/core/util/ref_counted_string.cc +42 -0
  1753. data/src/core/util/ref_counted_string.h +159 -0
  1754. data/src/core/util/ring_buffer.h +123 -0
  1755. data/src/core/util/single_set_ptr.h +89 -0
  1756. data/src/core/util/sorted_pack.h +89 -0
  1757. data/src/core/util/spinlock.h +51 -0
  1758. data/src/core/util/stat.h +35 -0
  1759. data/src/core/util/status_helper.cc +431 -0
  1760. data/src/core/util/status_helper.h +160 -0
  1761. data/src/core/util/strerror.cc +40 -0
  1762. data/src/core/util/strerror.h +29 -0
  1763. data/src/core/util/string.cc +341 -0
  1764. data/src/core/util/string.h +110 -0
  1765. data/src/core/util/sync.cc +123 -0
  1766. data/src/core/util/sync.h +199 -0
  1767. data/src/core/util/sync_abseil.cc +107 -0
  1768. data/src/core/util/table.h +486 -0
  1769. data/src/core/util/tchar.cc +49 -0
  1770. data/src/core/util/tchar.h +33 -0
  1771. data/src/core/util/thd.h +193 -0
  1772. data/src/core/util/time.cc +240 -0
  1773. data/src/core/util/time.h +385 -0
  1774. data/src/core/util/time_averaged_stats.cc +60 -0
  1775. data/src/core/util/time_averaged_stats.h +79 -0
  1776. data/src/core/util/time_precise.cc +168 -0
  1777. data/src/core/util/time_precise.h +68 -0
  1778. data/src/core/util/time_util.cc +80 -0
  1779. data/src/core/util/time_util.h +41 -0
  1780. data/src/core/util/tmpfile.h +31 -0
  1781. data/src/core/util/type_list.h +32 -0
  1782. data/src/core/util/unique_ptr_with_bitset.h +86 -0
  1783. data/src/core/util/unique_type_name.h +123 -0
  1784. data/src/core/util/upb_utils.h +43 -0
  1785. data/src/core/util/uri.cc +376 -0
  1786. data/src/core/util/uri.h +105 -0
  1787. data/src/core/util/useful.h +153 -0
  1788. data/src/core/util/uuid_v4.cc +37 -0
  1789. data/src/core/util/uuid_v4.h +35 -0
  1790. data/src/core/util/validation_errors.cc +73 -0
  1791. data/src/core/util/validation_errors.h +144 -0
  1792. data/src/core/util/windows/cpu.cc +34 -0
  1793. data/src/core/util/windows/directory_reader.cc +79 -0
  1794. data/src/core/util/windows/env.cc +56 -0
  1795. data/src/core/util/windows/stat.cc +50 -0
  1796. data/src/core/util/windows/string.cc +68 -0
  1797. data/src/core/util/windows/string_util.cc +53 -0
  1798. data/src/core/util/windows/sync.cc +122 -0
  1799. data/src/core/util/windows/thd.cc +182 -0
  1800. data/src/core/util/windows/time.cc +105 -0
  1801. data/src/core/util/windows/tmpfile.cc +66 -0
  1802. data/src/core/util/work_serializer.cc +538 -0
  1803. data/src/core/util/work_serializer.h +105 -0
  1804. data/src/core/util/xxhash_inline.h +29 -0
  1805. data/src/core/xds/grpc/certificate_provider_store.cc +5 -6
  1806. data/src/core/xds/grpc/certificate_provider_store.h +13 -14
  1807. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +7 -8
  1808. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +9 -10
  1809. data/src/core/xds/grpc/xds_audit_logger_registry.cc +5 -5
  1810. data/src/core/xds/grpc/xds_audit_logger_registry.h +4 -5
  1811. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +8 -166
  1812. data/src/core/xds/grpc/xds_bootstrap_grpc.h +9 -39
  1813. data/src/core/xds/grpc/xds_certificate_provider.cc +4 -5
  1814. data/src/core/xds/grpc/xds_certificate_provider.h +12 -11
  1815. data/src/core/xds/grpc/xds_client_grpc.cc +98 -76
  1816. data/src/core/xds/grpc/xds_client_grpc.h +16 -10
  1817. data/src/core/xds/grpc/xds_cluster.cc +12 -737
  1818. data/src/core/xds/grpc/xds_cluster.h +36 -45
  1819. data/src/core/xds/grpc/xds_cluster_parser.cc +772 -0
  1820. data/src/core/xds/grpc/xds_cluster_parser.h +61 -0
  1821. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +6 -9
  1822. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +5 -6
  1823. data/src/core/xds/grpc/xds_common_types.cc +33 -438
  1824. data/src/core/xds/grpc/xds_common_types.h +10 -28
  1825. data/src/core/xds/grpc/xds_common_types_parser.cc +503 -0
  1826. data/src/core/xds/grpc/xds_common_types_parser.h +76 -0
  1827. data/src/core/xds/grpc/xds_endpoint.cc +0 -420
  1828. data/src/core/xds/grpc/xds_endpoint.h +7 -29
  1829. data/src/core/xds/grpc/xds_endpoint_parser.cc +475 -0
  1830. data/src/core/xds/grpc/xds_endpoint_parser.h +47 -0
  1831. data/src/core/xds/grpc/xds_health_status.cc +0 -2
  1832. data/src/core/xds/grpc/xds_health_status.h +0 -3
  1833. data/src/core/xds/grpc/xds_http_fault_filter.cc +28 -16
  1834. data/src/core/xds/grpc/xds_http_fault_filter.h +11 -7
  1835. data/src/core/xds/grpc/xds_http_filter.h +134 -0
  1836. data/src/core/xds/grpc/xds_http_filter_registry.cc +122 -0
  1837. data/src/core/xds/grpc/xds_http_filter_registry.h +104 -0
  1838. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +141 -0
  1839. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +60 -0
  1840. data/src/core/xds/grpc/xds_http_rbac_filter.cc +64 -49
  1841. data/src/core/xds/grpc/xds_http_rbac_filter.h +11 -7
  1842. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +24 -11
  1843. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +11 -7
  1844. data/src/core/xds/grpc/xds_lb_policy_registry.cc +23 -28
  1845. data/src/core/xds/grpc/xds_lb_policy_registry.h +5 -6
  1846. data/src/core/xds/grpc/xds_listener.cc +19 -986
  1847. data/src/core/xds/grpc/xds_listener.h +2 -35
  1848. data/src/core/xds/grpc/xds_listener_parser.cc +993 -0
  1849. data/src/core/xds/grpc/xds_listener_parser.h +59 -0
  1850. data/src/core/xds/grpc/xds_metadata.cc +62 -0
  1851. data/src/core/xds/grpc/xds_metadata.h +158 -0
  1852. data/src/core/xds/grpc/xds_metadata_parser.cc +184 -0
  1853. data/src/core/xds/grpc/xds_metadata_parser.h +35 -0
  1854. data/src/core/xds/grpc/xds_route_config.cc +3 -919
  1855. data/src/core/xds/grpc/xds_route_config.h +8 -41
  1856. data/src/core/xds/grpc/xds_route_config_parser.cc +962 -0
  1857. data/src/core/xds/grpc/xds_route_config_parser.h +77 -0
  1858. data/src/core/xds/grpc/xds_routing.cc +60 -27
  1859. data/src/core/xds/grpc/xds_routing.h +12 -6
  1860. data/src/core/xds/grpc/xds_server_grpc.cc +160 -0
  1861. data/src/core/xds/grpc/xds_server_grpc.h +63 -0
  1862. data/src/core/xds/grpc/xds_transport_grpc.cc +99 -56
  1863. data/src/core/xds/grpc/xds_transport_grpc.h +34 -23
  1864. data/src/core/xds/xds_client/lrs_client.cc +1292 -0
  1865. data/src/core/xds/xds_client/lrs_client.h +394 -0
  1866. data/src/core/xds/xds_client/xds_api.cc +23 -464
  1867. data/src/core/xds/xds_client/xds_api.h +6 -161
  1868. data/src/core/xds/xds_client/xds_backend_metric_propagation.cc +63 -0
  1869. data/src/core/xds/xds_client/xds_backend_metric_propagation.h +59 -0
  1870. data/src/core/xds/xds_client/xds_bootstrap.cc +3 -4
  1871. data/src/core/xds/xds_client/xds_bootstrap.h +3 -3
  1872. data/src/core/xds/xds_client/xds_client.cc +731 -1216
  1873. data/src/core/xds/xds_client/xds_client.h +139 -114
  1874. data/src/core/xds/xds_client/xds_locality.h +102 -0
  1875. data/src/core/xds/xds_client/xds_metrics.h +2 -2
  1876. data/src/core/xds/xds_client/xds_resource_type.h +4 -5
  1877. data/src/core/xds/xds_client/xds_resource_type_impl.h +13 -9
  1878. data/src/core/xds/xds_client/xds_transport.h +29 -14
  1879. data/src/ruby/bin/math_pb.rb +1 -22
  1880. data/src/ruby/ext/grpc/extconf.rb +2 -1
  1881. data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -3
  1882. data/src/ruby/ext/grpc/rb_call.c +15 -8
  1883. data/src/ruby/ext/grpc/rb_call_credentials.c +39 -33
  1884. data/src/ruby/ext/grpc/rb_channel.c +42 -37
  1885. data/src/ruby/ext/grpc/rb_channel_args.c +4 -4
  1886. data/src/ruby/ext/grpc/rb_channel_credentials.c +5 -6
  1887. data/src/ruby/ext/grpc/rb_channel_credentials.h +1 -2
  1888. data/src/ruby/ext/grpc/rb_completion_queue.c +18 -36
  1889. data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
  1890. data/src/ruby/ext/grpc/rb_compression_options.c +9 -10
  1891. data/src/ruby/ext/grpc/rb_event_thread.c +9 -9
  1892. data/src/ruby/ext/grpc/rb_grpc.c +16 -16
  1893. data/src/ruby/ext/grpc/rb_grpc.h +8 -1
  1894. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -14
  1895. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +9 -21
  1896. data/src/ruby/ext/grpc/rb_server.c +47 -28
  1897. data/src/ruby/ext/grpc/rb_server_credentials.c +3 -3
  1898. data/src/ruby/ext/grpc/rb_server_credentials.h +1 -2
  1899. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +5 -6
  1900. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +1 -2
  1901. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +4 -4
  1902. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +1 -2
  1903. data/src/ruby/lib/grpc/generic/active_call.rb +8 -5
  1904. data/src/ruby/lib/grpc/logconfig.rb +13 -0
  1905. data/src/ruby/lib/grpc/version.rb +1 -1
  1906. data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
  1907. data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
  1908. data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
  1909. data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
  1910. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
  1911. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
  1912. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
  1913. data/src/ruby/spec/call_spec.rb +53 -40
  1914. data/src/ruby/spec/channel_spec.rb +4 -2
  1915. data/src/ruby/spec/client_server_spec.rb +148 -507
  1916. data/src/ruby/spec/generic/active_call_spec.rb +64 -86
  1917. data/src/ruby/spec/generic/client_stub_spec.rb +20 -20
  1918. data/src/ruby/spec/logconfig_spec.rb +30 -0
  1919. data/src/ruby/spec/support/services.rb +3 -0
  1920. data/third_party/abseil-cpp/absl/algorithm/container.h +57 -18
  1921. data/third_party/abseil-cpp/absl/base/attributes.h +84 -0
  1922. data/third_party/abseil-cpp/absl/base/config.h +32 -51
  1923. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +0 -16
  1924. data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +3 -1
  1925. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +13 -3
  1926. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -12
  1927. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +4 -4
  1928. data/third_party/abseil-cpp/absl/base/macros.h +48 -0
  1929. data/third_party/abseil-cpp/absl/base/no_destructor.h +35 -40
  1930. data/third_party/abseil-cpp/absl/base/nullability.h +33 -7
  1931. data/third_party/abseil-cpp/absl/base/optimization.h +11 -0
  1932. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1933. data/third_party/abseil-cpp/absl/base/prefetch.h +1 -1
  1934. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +68 -12
  1935. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +60 -6
  1936. data/third_party/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
  1937. data/third_party/abseil-cpp/absl/container/inlined_vector.h +13 -0
  1938. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +20 -11
  1939. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +15 -16
  1940. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +34 -1
  1941. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +68 -1
  1942. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +50 -0
  1943. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +22 -7
  1944. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +26 -8
  1945. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +39 -35
  1946. data/third_party/abseil-cpp/absl/container/internal/layout.h +190 -74
  1947. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +8 -6
  1948. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +334 -71
  1949. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1299 -458
  1950. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +19 -17
  1951. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +4 -3
  1952. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +2 -1
  1953. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +12 -8
  1954. data/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +1 -1
  1955. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +11 -7
  1956. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +18 -17
  1957. data/third_party/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
  1958. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
  1959. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
  1960. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1057 -86
  1961. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +3 -0
  1962. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
  1963. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h +42 -0
  1964. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +43 -16
  1965. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +8 -7
  1966. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +10 -7
  1967. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
  1968. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
  1969. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +11 -0
  1970. data/third_party/abseil-cpp/absl/flags/flag.h +2 -0
  1971. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +117 -30
  1972. data/third_party/abseil-cpp/absl/flags/internal/flag.h +192 -30
  1973. data/third_party/abseil-cpp/absl/flags/reflection.cc +10 -0
  1974. data/third_party/abseil-cpp/absl/functional/any_invocable.h +13 -3
  1975. data/third_party/abseil-cpp/absl/functional/bind_front.h +3 -2
  1976. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +7 -7
  1977. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +9 -9
  1978. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +1 -1
  1979. data/third_party/abseil-cpp/absl/hash/internal/hash.h +13 -3
  1980. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +60 -28
  1981. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +4 -0
  1982. data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +3 -3
  1983. data/third_party/abseil-cpp/absl/log/globals.h +28 -15
  1984. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +20 -0
  1985. data/third_party/abseil-cpp/absl/log/internal/check_op.h +63 -21
  1986. data/third_party/abseil-cpp/absl/log/internal/conditions.h +2 -2
  1987. data/third_party/abseil-cpp/absl/log/internal/log_impl.h +23 -23
  1988. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +104 -47
  1989. data/third_party/abseil-cpp/absl/log/internal/log_message.h +23 -4
  1990. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -10
  1991. data/third_party/abseil-cpp/absl/log/internal/strip.h +36 -0
  1992. data/third_party/abseil-cpp/absl/log/log.h +5 -1
  1993. data/third_party/abseil-cpp/absl/log/log_sink.h +11 -4
  1994. data/third_party/abseil-cpp/absl/log/vlog_is_on.h +3 -3
  1995. data/third_party/abseil-cpp/absl/meta/type_traits.h +138 -42
  1996. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -3
  1997. data/third_party/abseil-cpp/absl/numeric/int128.h +35 -5
  1998. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +14 -0
  1999. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +18 -0
  2000. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +6 -2
  2001. data/third_party/abseil-cpp/absl/random/beta_distribution.h +8 -8
  2002. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +9 -7
  2003. data/third_party/abseil-cpp/absl/random/distributions.h +11 -11
  2004. data/third_party/abseil-cpp/absl/random/seed_sequences.h +2 -0
  2005. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +61 -2
  2006. data/third_party/abseil-cpp/absl/status/status.cc +0 -4
  2007. data/third_party/abseil-cpp/absl/status/status.h +4 -4
  2008. data/third_party/abseil-cpp/absl/status/statusor.h +108 -142
  2009. data/third_party/abseil-cpp/absl/strings/ascii.cc +32 -71
  2010. data/third_party/abseil-cpp/absl/strings/cord.cc +20 -15
  2011. data/third_party/abseil-cpp/absl/strings/cord.h +68 -7
  2012. data/third_party/abseil-cpp/absl/strings/escaping.cc +96 -21
  2013. data/third_party/abseil-cpp/absl/strings/escaping.h +25 -8
  2014. data/third_party/abseil-cpp/absl/strings/has_absl_stringify.h +1 -0
  2015. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +10 -0
  2016. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +29 -9
  2017. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +2 -2
  2018. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +19 -13
  2019. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +23 -13
  2020. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +24 -24
  2021. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +12 -7
  2022. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +9 -4
  2023. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +5 -2
  2024. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +23 -2
  2025. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +5 -1
  2026. data/third_party/abseil-cpp/absl/strings/numbers.cc +107 -333
  2027. data/third_party/abseil-cpp/absl/strings/numbers.h +12 -151
  2028. data/third_party/abseil-cpp/absl/strings/str_cat.cc +49 -142
  2029. data/third_party/abseil-cpp/absl/strings/str_cat.h +70 -85
  2030. data/third_party/abseil-cpp/absl/strings/str_format.h +1 -1
  2031. data/third_party/abseil-cpp/absl/strings/str_join.h +19 -5
  2032. data/third_party/abseil-cpp/absl/strings/str_split.h +2 -2
  2033. data/third_party/abseil-cpp/absl/strings/string_view.h +3 -2
  2034. data/third_party/abseil-cpp/absl/strings/substitute.cc +4 -0
  2035. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +11 -2
  2036. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +5 -0
  2037. data/third_party/abseil-cpp/absl/synchronization/mutex.h +5 -4
  2038. data/third_party/abseil-cpp/absl/time/civil_time.h +2 -2
  2039. data/third_party/abseil-cpp/absl/time/clock.cc +15 -1
  2040. data/third_party/abseil-cpp/absl/time/duration.cc +58 -53
  2041. data/third_party/abseil-cpp/absl/time/format.cc +2 -1
  2042. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
  2043. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +0 -29
  2044. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +3 -3
  2045. data/third_party/abseil-cpp/absl/time/time.h +73 -29
  2046. data/third_party/abseil-cpp/absl/types/compare.h +505 -0
  2047. data/third_party/abseil-cpp/absl/types/internal/optional.h +2 -2
  2048. data/third_party/abseil-cpp/absl/types/internal/variant.h +55 -67
  2049. data/third_party/abseil-cpp/absl/types/optional.h +15 -18
  2050. data/third_party/abseil-cpp/absl/types/span.h +3 -2
  2051. data/third_party/abseil-cpp/absl/types/variant.h +19 -24
  2052. data/third_party/abseil-cpp/absl/utility/utility.h +3 -41
  2053. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +285 -0
  2054. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.cc +89 -0
  2055. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.cc +84 -0
  2056. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.cc +85 -0
  2057. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +466 -0
  2058. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.cc +281 -0
  2059. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.cc +235 -0
  2060. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.cc +248 -0
  2061. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.cc +214 -0
  2062. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.cc +397 -0
  2063. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.cc +98 -0
  2064. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.cc +241 -0
  2065. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +974 -0
  2066. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +711 -0
  2067. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.cc +206 -0
  2068. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.cc +318 -0
  2069. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.cc +271 -0
  2070. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.cc +476 -0
  2071. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +119 -0
  2072. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.cc +700 -0
  2073. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.cc +310 -0
  2074. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +552 -0
  2075. data/third_party/boringssl-with-bazel/src/crypto/bio/file.cc +334 -0
  2076. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.cc +482 -0
  2077. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.cc +102 -0
  2078. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +133 -0
  2079. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.cc +169 -0
  2080. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.cc +57 -0
  2081. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.cc +465 -0
  2082. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.cc +161 -0
  2083. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.cc +53 -0
  2084. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.cc +266 -0
  2085. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +702 -0
  2086. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +904 -0
  2087. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +1 -1
  2088. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.cc +156 -0
  2089. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.cc +224 -0
  2090. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +1 -1
  2091. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.cc +284 -0
  2092. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.cc +838 -0
  2093. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.cc +341 -0
  2094. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.cc +240 -0
  2095. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.cc +93 -0
  2096. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.cc +459 -0
  2097. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.cc +96 -0
  2098. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.cc +599 -0
  2099. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +43 -0
  2100. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.cc +675 -0
  2101. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +1 -1
  2102. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +75 -0
  2103. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +55 -0
  2104. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +62 -0
  2105. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +61 -0
  2106. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +94 -0
  2107. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +41 -0
  2108. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +54 -0
  2109. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +151 -0
  2110. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +1 -1
  2111. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +341 -0
  2112. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +183 -0
  2113. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.cc +2154 -0
  2114. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.cc +18 -0
  2115. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +1 -1
  2116. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
  2117. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.cc +527 -0
  2118. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.cc +165 -0
  2119. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.cc +348 -0
  2120. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +996 -0
  2121. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +419 -0
  2122. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +1 -1
  2123. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.cc +607 -0
  2124. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.cc +96 -0
  2125. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.cc +510 -0
  2126. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +1 -1
  2127. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.cc +401 -0
  2128. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.cc +95 -0
  2129. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +900 -0
  2130. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +1 -1
  2131. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.cc +429 -0
  2132. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +482 -0
  2133. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.cc +146 -0
  2134. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.cc +137 -0
  2135. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +333 -0
  2136. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.cc +271 -0
  2137. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +332 -0
  2138. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.cc +103 -0
  2139. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +225 -0
  2140. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.cc +236 -0
  2141. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.cc +647 -0
  2142. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +239 -0
  2143. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.cc +109 -0
  2144. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +237 -0
  2145. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.cc +146 -0
  2146. data/third_party/boringssl-with-bazel/src/crypto/evp/print.cc +380 -0
  2147. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.cc +211 -0
  2148. data/third_party/boringssl-with-bazel/src/crypto/ex_data.cc +235 -0
  2149. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +127 -0
  2150. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.cc.inc +1281 -0
  2151. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +34 -12
  2152. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +242 -0
  2153. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +274 -0
  2154. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +242 -0
  2155. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.cc.inc +311 -0
  2156. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +541 -0
  2157. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.cc.inc +416 -0
  2158. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.cc.inc +232 -0
  2159. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +867 -0
  2160. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.cc.inc +87 -0
  2161. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +1320 -0
  2162. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +394 -0
  2163. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +339 -0
  2164. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
  2165. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +525 -0
  2166. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +740 -0
  2167. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +1074 -0
  2168. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.cc.inc +354 -0
  2169. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +362 -0
  2170. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +499 -0
  2171. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.cc.inc +295 -0
  2172. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.cc.inc +714 -0
  2173. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +1456 -0
  2174. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.cc.inc +322 -0
  2175. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +14 -10
  2176. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +485 -0
  2177. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +1 -3
  2178. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +292 -0
  2179. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.cc.inc +220 -0
  2180. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.cc.inc +267 -0
  2181. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +1 -1
  2182. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +1038 -0
  2183. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +559 -0
  2184. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.cc.inc +104 -0
  2185. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +358 -0
  2186. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.cc.inc +1163 -0
  2187. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +1 -1
  2188. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.cc.inc +736 -0
  2189. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +65 -8
  2190. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.cc.inc +749 -0
  2191. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
  2192. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.cc.inc +173 -0
  2193. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.cc.inc +269 -0
  2194. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.cc.inc +255 -0
  2195. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.cc.inc +273 -0
  2196. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.cc.inc +139 -0
  2197. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +316 -0
  2198. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +29 -12
  2199. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.cc +28 -0
  2200. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.cc.inc +112 -0
  2201. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.cc.inc +257 -0
  2202. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.cc.inc +791 -0
  2203. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.cc.inc +302 -0
  2204. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +53 -33
  2205. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.cc.inc +89 -0
  2206. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.cc.inc +221 -0
  2207. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +2 -81
  2208. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +481 -0
  2209. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.cc.inc +242 -0
  2210. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +420 -0
  2211. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +1042 -0
  2212. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1348 -0
  2213. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  2214. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +1042 -0
  2215. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +2 -2
  2216. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +327 -0
  2217. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +11 -8
  2218. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.cc.inc +432 -0
  2219. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.cc.inc +341 -0
  2220. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.cc.inc +515 -0
  2221. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +1 -1
  2222. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.cc +1095 -0
  2223. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.cc +2177 -0
  2224. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +1 -1
  2225. data/third_party/boringssl-with-bazel/src/crypto/internal.h +278 -261
  2226. data/third_party/boringssl-with-bazel/src/crypto/keccak/internal.h +1 -1
  2227. data/third_party/boringssl-with-bazel/src/crypto/keccak/keccak.cc +279 -0
  2228. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +1 -1
  2229. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.cc +845 -0
  2230. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.cc +351 -0
  2231. data/third_party/boringssl-with-bazel/src/crypto/md4/md4.cc +236 -0
  2232. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +37 -0
  2233. data/third_party/boringssl-with-bazel/src/crypto/md5/md5.cc +285 -0
  2234. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +625 -0
  2235. data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +76 -0
  2236. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.cc +1790 -0
  2237. data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +90 -0
  2238. data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +1097 -0
  2239. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +561 -0
  2240. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +4 -1
  2241. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.cc +294 -0
  2242. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +788 -0
  2243. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.cc +87 -0
  2244. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.cc +250 -0
  2245. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.cc +183 -0
  2246. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +1 -1
  2247. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +193 -0
  2248. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +524 -0
  2249. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +3 -2
  2250. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +316 -0
  2251. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +528 -0
  2252. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +1345 -0
  2253. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +1 -1
  2254. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.cc +314 -0
  2255. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.cc +310 -0
  2256. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.cc +850 -0
  2257. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -1
  2258. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.cc +262 -0
  2259. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.cc +65 -0
  2260. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fork_detect.cc +194 -0
  2261. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.cc +44 -0
  2262. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.cc +60 -0
  2263. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getrandom_fillin.h +64 -0
  2264. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.cc +42 -0
  2265. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.cc +178 -0
  2266. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.cc +77 -0
  2267. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +37 -0
  2268. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.cc +46 -0
  2269. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/urandom.cc +328 -0
  2270. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.cc +102 -0
  2271. data/third_party/boringssl-with-bazel/src/crypto/refcount.cc +59 -0
  2272. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +2 -0
  2273. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.cc +324 -0
  2274. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.cc +573 -0
  2275. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_extra.cc +17 -0
  2276. data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
  2277. data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
  2278. data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
  2279. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.cc +79 -0
  2280. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/address.h +123 -0
  2281. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.cc +169 -0
  2282. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.h +58 -0
  2283. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/internal.h +63 -0
  2284. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.cc +161 -0
  2285. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.h +70 -0
  2286. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/params.h +83 -0
  2287. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +307 -0
  2288. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.cc +173 -0
  2289. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.h +85 -0
  2290. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.cc +171 -0
  2291. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.h +50 -0
  2292. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.cc +538 -0
  2293. data/third_party/boringssl-with-bazel/src/crypto/thread_none.cc +51 -0
  2294. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.cc +151 -0
  2295. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +240 -0
  2296. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +1 -1
  2297. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.cc +1656 -0
  2298. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.cc +685 -0
  2299. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.cc +1263 -0
  2300. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.cc +94 -0
  2301. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +139 -0
  2302. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.cc +116 -0
  2303. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.cc +178 -0
  2304. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +584 -0
  2305. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.cc +401 -0
  2306. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +0 -4
  2307. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.cc +796 -0
  2308. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.cc +405 -0
  2309. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.cc +223 -0
  2310. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.cc +634 -0
  2311. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.cc +137 -0
  2312. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.cc +144 -0
  2313. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +416 -0
  2314. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.cc +488 -0
  2315. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.cc +599 -0
  2316. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.cc +115 -0
  2317. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.cc +156 -0
  2318. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.cc +270 -0
  2319. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.cc +123 -0
  2320. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +213 -0
  2321. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.cc +123 -0
  2322. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.cc +347 -0
  2323. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.cc +555 -0
  2324. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.cc +84 -0
  2325. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.cc +142 -0
  2326. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.cc +150 -0
  2327. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.cc +225 -0
  2328. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.cc +632 -0
  2329. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.cc +173 -0
  2330. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.cc +1395 -0
  2331. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.cc +228 -0
  2332. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.cc +600 -0
  2333. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.cc +291 -0
  2334. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +1642 -0
  2335. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.cc +482 -0
  2336. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.cc +133 -0
  2337. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.cc +360 -0
  2338. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.cc +384 -0
  2339. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +534 -0
  2340. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.cc +212 -0
  2341. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +548 -0
  2342. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +211 -0
  2343. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +1515 -0
  2344. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +1 -1
  2345. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +1 -1
  2346. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +14 -1
  2347. data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +1 -1
  2348. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +237 -275
  2349. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +12 -5
  2350. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
  2351. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -6
  2352. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -1
  2353. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +14 -9
  2354. data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +1 -1
  2355. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +1 -1
  2356. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
  2357. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +1 -1
  2358. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +1 -1
  2359. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +22 -13
  2360. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +1 -1
  2361. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +1 -1
  2362. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -0
  2363. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +6 -1
  2364. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +4 -0
  2365. data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +1 -1
  2366. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +1 -1
  2367. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +17 -1
  2368. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +1 -1
  2369. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -1
  2370. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +11 -1
  2371. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +1 -1
  2372. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +9 -7
  2373. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +1 -1
  2374. data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +1 -1
  2375. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +1 -1
  2376. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +136 -0
  2377. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +246 -0
  2378. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +3 -0
  2379. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +1 -1
  2380. data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +1 -1
  2381. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +1 -1
  2382. data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +1 -1
  2383. data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +1 -1
  2384. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +3 -4
  2385. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +1 -1
  2386. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +1 -1
  2387. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +2 -2
  2388. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +1 -1
  2389. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +1 -1
  2390. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +1 -1
  2391. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +1 -1
  2392. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +10 -5
  2393. data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +1 -1
  2394. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +2 -2
  2395. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +2 -40
  2396. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +1 -1
  2397. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +133 -0
  2398. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +54 -13
  2399. data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +1 -1
  2400. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +267 -143
  2401. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +1 -0
  2402. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +1 -1
  2403. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +2 -2
  2404. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +1 -1
  2405. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -1
  2406. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -23
  2407. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +1 -1
  2408. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +1 -1
  2409. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +2 -2
  2410. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +2 -6
  2411. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +671 -329
  2412. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +116 -113
  2413. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +164 -17
  2414. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +4 -12
  2415. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +99 -42
  2416. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +445 -112
  2417. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +23 -14
  2418. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +387 -359
  2419. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +48 -58
  2420. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +44 -36
  2421. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +183 -165
  2422. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +81 -62
  2423. data/third_party/boringssl-with-bazel/src/ssl/internal.h +970 -329
  2424. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +69 -53
  2425. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +13 -11
  2426. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +23 -3
  2427. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +90 -98
  2428. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +38 -64
  2429. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +8 -5
  2430. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +103 -44
  2431. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +210 -220
  2432. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +70 -12
  2433. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +114 -16
  2434. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +200 -183
  2435. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +74 -36
  2436. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +79 -95
  2437. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +3 -9
  2438. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +91 -16
  2439. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +34 -14
  2440. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +51 -56
  2441. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +22 -25
  2442. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +45 -28
  2443. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +69 -51
  2444. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +279 -134
  2445. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +97 -60
  2446. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +51 -62
  2447. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +40 -48
  2448. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
  2449. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
  2450. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
  2451. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
  2452. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
  2453. data/third_party/upb/upb/base/string_view.h +1 -1
  2454. data/third_party/upb/upb/json/decode.c +60 -13
  2455. data/third_party/upb/upb/json/decode.h +26 -3
  2456. data/third_party/upb/upb/json/encode.c +2 -2
  2457. data/third_party/upb/upb/lex/round_trip.c +10 -0
  2458. data/third_party/upb/upb/mem/arena.c +80 -4
  2459. data/third_party/upb/upb/mem/arena.h +20 -9
  2460. data/third_party/upb/upb/mem/arena.hpp +5 -1
  2461. data/third_party/upb/upb/mem/internal/arena.h +11 -8
  2462. data/third_party/upb/upb/message/accessors.c +6 -7
  2463. data/third_party/upb/upb/message/accessors.h +186 -376
  2464. data/third_party/upb/upb/message/array.c +26 -3
  2465. data/third_party/upb/upb/message/array.h +17 -9
  2466. data/third_party/upb/upb/message/compat.c +5 -5
  2467. data/third_party/upb/upb/message/compat.h +3 -3
  2468. data/third_party/upb/upb/message/copy.c +23 -20
  2469. data/third_party/upb/upb/message/internal/accessors.h +617 -55
  2470. data/third_party/upb/upb/message/internal/array.h +23 -15
  2471. data/third_party/upb/upb/message/internal/compare_unknown.c +289 -0
  2472. data/third_party/upb/upb/message/internal/compare_unknown.h +49 -0
  2473. data/third_party/upb/upb/message/internal/extension.c +12 -12
  2474. data/third_party/upb/upb/message/internal/extension.h +9 -12
  2475. data/third_party/upb/upb/message/internal/map.h +15 -0
  2476. data/third_party/upb/upb/message/internal/map_sorter.h +4 -5
  2477. data/third_party/upb/upb/message/internal/message.c +22 -6
  2478. data/third_party/upb/upb/message/internal/message.h +11 -0
  2479. data/third_party/upb/upb/message/internal/tagged_ptr.h +5 -5
  2480. data/third_party/upb/upb/message/internal/types.h +41 -1
  2481. data/third_party/upb/upb/message/map.c +25 -0
  2482. data/third_party/upb/upb/message/map.h +11 -7
  2483. data/third_party/upb/upb/message/merge.c +38 -0
  2484. data/third_party/upb/upb/message/merge.h +26 -0
  2485. data/third_party/upb/upb/message/message.c +83 -4
  2486. data/third_party/upb/upb/message/message.h +16 -1
  2487. data/third_party/upb/upb/message/tagged_ptr.h +4 -8
  2488. data/third_party/upb/upb/message/value.h +26 -0
  2489. data/third_party/upb/upb/mini_descriptor/build_enum.c +3 -3
  2490. data/third_party/upb/upb/mini_descriptor/build_enum.h +6 -14
  2491. data/third_party/upb/upb/mini_descriptor/decode.c +19 -3
  2492. data/third_party/upb/upb/mini_descriptor/link.c +23 -21
  2493. data/third_party/upb/upb/mini_table/enum.h +2 -4
  2494. data/third_party/upb/upb/mini_table/extension.h +4 -12
  2495. data/third_party/upb/upb/mini_table/extension_registry.c +18 -0
  2496. data/third_party/upb/upb/mini_table/extension_registry.h +17 -0
  2497. data/third_party/upb/upb/mini_table/field.h +12 -38
  2498. data/third_party/upb/upb/mini_table/file.h +6 -19
  2499. data/third_party/upb/upb/mini_table/internal/enum.h +1 -1
  2500. data/third_party/upb/upb/mini_table/internal/extension.h +18 -9
  2501. data/third_party/upb/upb/mini_table/internal/field.h +23 -23
  2502. data/third_party/upb/upb/mini_table/internal/file.h +7 -7
  2503. data/third_party/upb/upb/mini_table/internal/message.c +21 -1
  2504. data/third_party/upb/upb/mini_table/internal/message.h +80 -36
  2505. data/third_party/upb/upb/mini_table/internal/sub.h +9 -4
  2506. data/third_party/upb/upb/mini_table/message.h +23 -22
  2507. data/third_party/upb/upb/mini_table/sub.h +4 -12
  2508. data/third_party/upb/upb/port/def.inc +108 -12
  2509. data/third_party/upb/upb/port/undef.inc +8 -1
  2510. data/third_party/upb/upb/reflection/common.h +1 -11
  2511. data/third_party/upb/upb/reflection/def.hpp +35 -0
  2512. data/third_party/upb/upb/reflection/def_pool.h +2 -2
  2513. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +19 -0
  2514. data/third_party/upb/upb/reflection/enum_def.c +5 -1
  2515. data/third_party/upb/upb/reflection/enum_def.h +1 -0
  2516. data/third_party/upb/upb/reflection/enum_value_def.c +3 -8
  2517. data/third_party/upb/upb/reflection/field_def.c +72 -46
  2518. data/third_party/upb/upb/reflection/field_def.h +4 -0
  2519. data/third_party/upb/upb/reflection/file_def.c +30 -4
  2520. data/third_party/upb/upb/reflection/file_def.h +3 -0
  2521. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  2522. data/third_party/upb/upb/reflection/message.c +26 -9
  2523. data/third_party/upb/upb/reflection/message.h +2 -2
  2524. data/third_party/upb/upb/reflection/message_def.c +14 -9
  2525. data/third_party/upb/upb/reflection/method_def.h +8 -7
  2526. data/third_party/upb/upb/reflection/service_def.h +6 -5
  2527. data/third_party/upb/upb/text/encode.c +53 -389
  2528. data/third_party/upb/upb/text/encode.h +1 -11
  2529. data/third_party/upb/upb/text/internal/encode.c +180 -0
  2530. data/third_party/upb/upb/text/internal/encode.h +240 -0
  2531. data/third_party/upb/upb/text/options.h +22 -0
  2532. data/third_party/upb/upb/wire/decode.c +160 -94
  2533. data/third_party/upb/upb/wire/decode.h +15 -2
  2534. data/third_party/upb/upb/wire/encode.c +89 -48
  2535. data/third_party/upb/upb/wire/encode.h +12 -1
  2536. data/third_party/upb/upb/wire/eps_copy_input_stream.h +3 -3
  2537. data/third_party/upb/upb/wire/internal/decode_fast.c +28 -29
  2538. data/third_party/upb/upb/wire/internal/reader.h +3 -3
  2539. data/third_party/upb/upb/wire/reader.c +1 -2
  2540. data/third_party/upb/upb/wire/reader.h +4 -8
  2541. metadata +628 -540
  2542. data/src/core/client_channel/config_selector.cc +0 -60
  2543. data/src/core/ext/gcp/metadata_query.cc +0 -137
  2544. data/src/core/ext/gcp/metadata_query.h +0 -87
  2545. data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
  2546. data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
  2547. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc +0 -45
  2548. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h +0 -67
  2549. data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
  2550. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -419
  2551. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -81
  2552. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -30
  2553. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -400
  2554. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -106
  2555. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -33
  2556. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -104
  2557. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -32
  2558. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -66
  2559. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -47
  2560. data/src/core/handshaker/security/tsi_error.cc +0 -31
  2561. data/src/core/handshaker/security/tsi_error.h +0 -30
  2562. data/src/core/lib/avl/avl.h +0 -325
  2563. data/src/core/lib/backoff/backoff.cc +0 -47
  2564. data/src/core/lib/backoff/backoff.h +0 -89
  2565. data/src/core/lib/backoff/random_early_detection.cc +0 -33
  2566. data/src/core/lib/backoff/random_early_detection.h +0 -62
  2567. data/src/core/lib/channel/call_tracer.cc +0 -364
  2568. data/src/core/lib/channel/call_tracer.h +0 -226
  2569. data/src/core/lib/channel/channel_stack_trace.cc +0 -19
  2570. data/src/core/lib/channel/channel_stack_trace.h +0 -24
  2571. data/src/core/lib/channel/context.h +0 -105
  2572. data/src/core/lib/channel/metrics.cc +0 -334
  2573. data/src/core/lib/channel/metrics.h +0 -365
  2574. data/src/core/lib/channel/tcp_tracer.h +0 -144
  2575. data/src/core/lib/config/config_vars.cc +0 -154
  2576. data/src/core/lib/config/config_vars.h +0 -131
  2577. data/src/core/lib/config/config_vars_non_generated.cc +0 -49
  2578. data/src/core/lib/config/core_configuration.cc +0 -112
  2579. data/src/core/lib/config/core_configuration.h +0 -244
  2580. data/src/core/lib/config/load_config.cc +0 -79
  2581. data/src/core/lib/config/load_config.h +0 -55
  2582. data/src/core/lib/debug/event_log.cc +0 -88
  2583. data/src/core/lib/debug/event_log.h +0 -81
  2584. data/src/core/lib/debug/histogram_view.cc +0 -69
  2585. data/src/core/lib/debug/histogram_view.h +0 -37
  2586. data/src/core/lib/debug/stats.cc +0 -68
  2587. data/src/core/lib/debug/stats.h +0 -64
  2588. data/src/core/lib/debug/stats_data.cc +0 -752
  2589. data/src/core/lib/debug/stats_data.h +0 -579
  2590. data/src/core/lib/event_engine/trace.cc +0 -25
  2591. data/src/core/lib/event_engine/trace.h +0 -48
  2592. data/src/core/lib/gpr/alloc.cc +0 -73
  2593. data/src/core/lib/gpr/alloc.h +0 -28
  2594. data/src/core/lib/gpr/android/log.cc +0 -79
  2595. data/src/core/lib/gpr/atm.cc +0 -35
  2596. data/src/core/lib/gpr/iphone/cpu.cc +0 -44
  2597. data/src/core/lib/gpr/linux/cpu.cc +0 -87
  2598. data/src/core/lib/gpr/linux/log.cc +0 -114
  2599. data/src/core/lib/gpr/log.cc +0 -166
  2600. data/src/core/lib/gpr/msys/tmpfile.cc +0 -59
  2601. data/src/core/lib/gpr/posix/cpu.cc +0 -84
  2602. data/src/core/lib/gpr/posix/log.cc +0 -111
  2603. data/src/core/lib/gpr/posix/string.cc +0 -72
  2604. data/src/core/lib/gpr/posix/sync.cc +0 -161
  2605. data/src/core/lib/gpr/posix/time.cc +0 -125
  2606. data/src/core/lib/gpr/posix/tmpfile.cc +0 -73
  2607. data/src/core/lib/gpr/spinlock.h +0 -53
  2608. data/src/core/lib/gpr/string.cc +0 -344
  2609. data/src/core/lib/gpr/string.h +0 -112
  2610. data/src/core/lib/gpr/sync.cc +0 -126
  2611. data/src/core/lib/gpr/sync_abseil.cc +0 -110
  2612. data/src/core/lib/gpr/time.cc +0 -271
  2613. data/src/core/lib/gpr/time_precise.cc +0 -168
  2614. data/src/core/lib/gpr/time_precise.h +0 -69
  2615. data/src/core/lib/gpr/tmpfile.h +0 -32
  2616. data/src/core/lib/gpr/useful.h +0 -184
  2617. data/src/core/lib/gpr/windows/cpu.cc +0 -35
  2618. data/src/core/lib/gpr/windows/log.cc +0 -116
  2619. data/src/core/lib/gpr/windows/string.cc +0 -69
  2620. data/src/core/lib/gpr/windows/string_util.cc +0 -55
  2621. data/src/core/lib/gpr/windows/sync.cc +0 -124
  2622. data/src/core/lib/gpr/windows/time.cc +0 -108
  2623. data/src/core/lib/gpr/windows/tmpfile.cc +0 -68
  2624. data/src/core/lib/gprpp/atomic_utils.h +0 -47
  2625. data/src/core/lib/gprpp/bitset.h +0 -225
  2626. data/src/core/lib/gprpp/chunked_vector.h +0 -258
  2627. data/src/core/lib/gprpp/construct_destruct.h +0 -40
  2628. data/src/core/lib/gprpp/cpp_impl_of.h +0 -49
  2629. data/src/core/lib/gprpp/crash.cc +0 -42
  2630. data/src/core/lib/gprpp/crash.h +0 -37
  2631. data/src/core/lib/gprpp/debug_location.h +0 -99
  2632. data/src/core/lib/gprpp/directory_reader.h +0 -48
  2633. data/src/core/lib/gprpp/down_cast.h +0 -49
  2634. data/src/core/lib/gprpp/dual_ref_counted.h +0 -365
  2635. data/src/core/lib/gprpp/env.h +0 -53
  2636. data/src/core/lib/gprpp/examine_stack.cc +0 -43
  2637. data/src/core/lib/gprpp/examine_stack.h +0 -45
  2638. data/src/core/lib/gprpp/fork.cc +0 -241
  2639. data/src/core/lib/gprpp/fork.h +0 -98
  2640. data/src/core/lib/gprpp/host_port.cc +0 -116
  2641. data/src/core/lib/gprpp/host_port.h +0 -57
  2642. data/src/core/lib/gprpp/if_list.h +0 -4530
  2643. data/src/core/lib/gprpp/linux/env.cc +0 -62
  2644. data/src/core/lib/gprpp/load_file.cc +0 -77
  2645. data/src/core/lib/gprpp/load_file.h +0 -34
  2646. data/src/core/lib/gprpp/manual_constructor.h +0 -146
  2647. data/src/core/lib/gprpp/match.h +0 -75
  2648. data/src/core/lib/gprpp/memory.h +0 -52
  2649. data/src/core/lib/gprpp/mpscq.cc +0 -108
  2650. data/src/core/lib/gprpp/mpscq.h +0 -100
  2651. data/src/core/lib/gprpp/no_destruct.h +0 -95
  2652. data/src/core/lib/gprpp/notification.h +0 -67
  2653. data/src/core/lib/gprpp/orphanable.h +0 -153
  2654. data/src/core/lib/gprpp/overload.h +0 -59
  2655. data/src/core/lib/gprpp/packed_table.h +0 -40
  2656. data/src/core/lib/gprpp/per_cpu.cc +0 -34
  2657. data/src/core/lib/gprpp/per_cpu.h +0 -103
  2658. data/src/core/lib/gprpp/posix/directory_reader.cc +0 -82
  2659. data/src/core/lib/gprpp/posix/env.cc +0 -47
  2660. data/src/core/lib/gprpp/posix/stat.cc +0 -56
  2661. data/src/core/lib/gprpp/posix/thd.cc +0 -247
  2662. data/src/core/lib/gprpp/ref_counted.h +0 -395
  2663. data/src/core/lib/gprpp/ref_counted_ptr.h +0 -445
  2664. data/src/core/lib/gprpp/ref_counted_string.cc +0 -43
  2665. data/src/core/lib/gprpp/ref_counted_string.h +0 -161
  2666. data/src/core/lib/gprpp/single_set_ptr.h +0 -88
  2667. data/src/core/lib/gprpp/sorted_pack.h +0 -89
  2668. data/src/core/lib/gprpp/stat.h +0 -36
  2669. data/src/core/lib/gprpp/status_helper.cc +0 -453
  2670. data/src/core/lib/gprpp/status_helper.h +0 -190
  2671. data/src/core/lib/gprpp/strerror.cc +0 -41
  2672. data/src/core/lib/gprpp/strerror.h +0 -29
  2673. data/src/core/lib/gprpp/sync.h +0 -200
  2674. data/src/core/lib/gprpp/table.h +0 -452
  2675. data/src/core/lib/gprpp/tchar.cc +0 -49
  2676. data/src/core/lib/gprpp/tchar.h +0 -33
  2677. data/src/core/lib/gprpp/thd.h +0 -195
  2678. data/src/core/lib/gprpp/time.cc +0 -242
  2679. data/src/core/lib/gprpp/time.h +0 -384
  2680. data/src/core/lib/gprpp/time_averaged_stats.cc +0 -60
  2681. data/src/core/lib/gprpp/time_averaged_stats.h +0 -79
  2682. data/src/core/lib/gprpp/time_util.cc +0 -82
  2683. data/src/core/lib/gprpp/time_util.h +0 -41
  2684. data/src/core/lib/gprpp/type_list.h +0 -32
  2685. data/src/core/lib/gprpp/unique_type_name.h +0 -104
  2686. data/src/core/lib/gprpp/uuid_v4.cc +0 -37
  2687. data/src/core/lib/gprpp/uuid_v4.h +0 -36
  2688. data/src/core/lib/gprpp/validation_errors.cc +0 -65
  2689. data/src/core/lib/gprpp/validation_errors.h +0 -134
  2690. data/src/core/lib/gprpp/windows/directory_reader.cc +0 -81
  2691. data/src/core/lib/gprpp/windows/env.cc +0 -56
  2692. data/src/core/lib/gprpp/windows/stat.cc +0 -52
  2693. data/src/core/lib/gprpp/windows/thd.cc +0 -184
  2694. data/src/core/lib/gprpp/work_serializer.cc +0 -558
  2695. data/src/core/lib/gprpp/work_serializer.h +0 -106
  2696. data/src/core/lib/gprpp/xxhash_inline.h +0 -29
  2697. data/src/core/lib/http/format_request.cc +0 -136
  2698. data/src/core/lib/http/format_request.h +0 -37
  2699. data/src/core/lib/http/httpcli.cc +0 -392
  2700. data/src/core/lib/http/httpcli.h +0 -267
  2701. data/src/core/lib/http/httpcli_security_connector.cc +0 -213
  2702. data/src/core/lib/http/httpcli_ssl_credentials.h +0 -38
  2703. data/src/core/lib/http/parser.cc +0 -451
  2704. data/src/core/lib/http/parser.h +0 -129
  2705. data/src/core/lib/iomgr/ev_windows.cc +0 -30
  2706. data/src/core/lib/iomgr/gethostname.h +0 -26
  2707. data/src/core/lib/iomgr/gethostname_fallback.cc +0 -30
  2708. data/src/core/lib/iomgr/gethostname_host_name_max.cc +0 -40
  2709. data/src/core/lib/iomgr/gethostname_sysconf.cc +0 -40
  2710. data/src/core/lib/iomgr/grpc_if_nametoindex.h +0 -30
  2711. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +0 -43
  2712. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +0 -39
  2713. data/src/core/lib/json/json.h +0 -29
  2714. data/src/core/lib/json/json_args.h +0 -34
  2715. data/src/core/lib/json/json_channel_args.h +0 -42
  2716. data/src/core/lib/json/json_object_loader.cc +0 -215
  2717. data/src/core/lib/json/json_object_loader.h +0 -645
  2718. data/src/core/lib/json/json_reader.cc +0 -956
  2719. data/src/core/lib/json/json_reader.h +0 -34
  2720. data/src/core/lib/json/json_util.cc +0 -101
  2721. data/src/core/lib/json/json_util.h +0 -164
  2722. data/src/core/lib/json/json_writer.cc +0 -339
  2723. data/src/core/lib/json/json_writer.h +0 -33
  2724. data/src/core/lib/matchers/matchers.cc +0 -330
  2725. data/src/core/lib/matchers/matchers.h +0 -163
  2726. data/src/core/lib/promise/trace.cc +0 -20
  2727. data/src/core/lib/promise/trace.h +0 -24
  2728. data/src/core/lib/resource_quota/trace.cc +0 -19
  2729. data/src/core/lib/resource_quota/trace.h +0 -24
  2730. data/src/core/lib/slice/slice_refcount.cc +0 -20
  2731. data/src/core/lib/surface/api_trace.cc +0 -25
  2732. data/src/core/lib/surface/api_trace.h +0 -52
  2733. data/src/core/lib/surface/call_trace.h +0 -24
  2734. data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
  2735. data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
  2736. data/src/core/lib/transport/batch_builder.cc +0 -172
  2737. data/src/core/lib/transport/batch_builder.h +0 -474
  2738. data/src/core/lib/uri/uri_parser.cc +0 -372
  2739. data/src/core/lib/uri/uri_parser.h +0 -101
  2740. data/src/core/resolver/binder/binder_resolver.cc +0 -154
  2741. data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
  2742. data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
  2743. data/src/core/xds/grpc/upb_utils.h +0 -45
  2744. data/src/core/xds/grpc/xds_http_filters.cc +0 -116
  2745. data/src/core/xds/grpc/xds_http_filters.h +0 -182
  2746. data/src/core/xds/xds_client/xds_client_stats.cc +0 -174
  2747. data/src/core/xds/xds_client/xds_client_stats.h +0 -258
  2748. data/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h +0 -44
  2749. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +0 -284
  2750. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -89
  2751. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +0 -84
  2752. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +0 -85
  2753. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +0 -465
  2754. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +0 -279
  2755. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +0 -235
  2756. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +0 -245
  2757. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +0 -214
  2758. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +0 -397
  2759. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +0 -98
  2760. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +0 -241
  2761. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +0 -973
  2762. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +0 -708
  2763. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +0 -212
  2764. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +0 -317
  2765. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +0 -268
  2766. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +0 -475
  2767. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +0 -726
  2768. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +0 -309
  2769. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +0 -544
  2770. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +0 -334
  2771. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +0 -480
  2772. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -102
  2773. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +0 -133
  2774. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +0 -169
  2775. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +0 -57
  2776. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +0 -465
  2777. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +0 -158
  2778. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +0 -53
  2779. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +0 -266
  2780. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +0 -718
  2781. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +0 -913
  2782. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +0 -156
  2783. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -224
  2784. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +0 -284
  2785. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +0 -841
  2786. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +0 -341
  2787. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c +0 -228
  2788. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +0 -90
  2789. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +0 -455
  2790. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +0 -94
  2791. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +0 -598
  2792. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +0 -647
  2793. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
  2794. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +0 -75
  2795. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c +0 -55
  2796. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c +0 -62
  2797. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +0 -61
  2798. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c +0 -93
  2799. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +0 -41
  2800. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +0 -54
  2801. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +0 -148
  2802. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +0 -292
  2803. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +0 -242
  2804. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +0 -2157
  2805. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +0 -18
  2806. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +0 -523
  2807. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +0 -165
  2808. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -266
  2809. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +0 -990
  2810. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -421
  2811. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +0 -572
  2812. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +0 -96
  2813. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +0 -508
  2814. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +0 -265
  2815. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.c +0 -91
  2816. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +0 -903
  2817. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +0 -430
  2818. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +0 -483
  2819. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c +0 -137
  2820. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c +0 -120
  2821. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +0 -338
  2822. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +0 -274
  2823. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +0 -332
  2824. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +0 -100
  2825. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +0 -224
  2826. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +0 -232
  2827. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +0 -646
  2828. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +0 -241
  2829. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +0 -106
  2830. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +0 -236
  2831. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +0 -146
  2832. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +0 -381
  2833. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +0 -209
  2834. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +0 -236
  2835. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +0 -106
  2836. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +0 -1281
  2837. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +0 -242
  2838. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +0 -275
  2839. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.c +0 -310
  2840. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.c +0 -541
  2841. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +0 -428
  2842. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +0 -234
  2843. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +0 -909
  2844. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +0 -87
  2845. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +0 -1276
  2846. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +0 -397
  2847. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +0 -331
  2848. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +0 -532
  2849. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +0 -744
  2850. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +0 -1077
  2851. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +0 -356
  2852. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +0 -363
  2853. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +0 -499
  2854. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c +0 -287
  2855. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +0 -717
  2856. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +0 -1463
  2857. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.c +0 -322
  2858. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +0 -489
  2859. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +0 -288
  2860. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +0 -304
  2861. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.c +0 -267
  2862. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +0 -1043
  2863. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -557
  2864. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +0 -104
  2865. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +0 -359
  2866. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +0 -1163
  2867. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +0 -637
  2868. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +0 -749
  2869. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +0 -173
  2870. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +0 -269
  2871. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +0 -255
  2872. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +0 -264
  2873. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +0 -130
  2874. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +0 -372
  2875. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +0 -32
  2876. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c +0 -112
  2877. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c +0 -256
  2878. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +0 -240
  2879. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h +0 -37
  2880. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +0 -284
  2881. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +0 -743
  2882. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +0 -302
  2883. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +0 -90
  2884. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +0 -220
  2885. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +0 -197
  2886. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +0 -68
  2887. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +0 -64
  2888. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +0 -493
  2889. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +0 -328
  2890. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +0 -241
  2891. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +0 -423
  2892. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +0 -1038
  2893. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +0 -1351
  2894. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +0 -119
  2895. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +0 -1064
  2896. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +0 -328
  2897. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +0 -439
  2898. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +0 -359
  2899. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +0 -537
  2900. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +0 -801
  2901. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +0 -2234
  2902. data/third_party/boringssl-with-bazel/src/crypto/keccak/keccak.c +0 -279
  2903. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +0 -844
  2904. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +0 -350
  2905. data/third_party/boringssl-with-bazel/src/crypto/mem.c +0 -609
  2906. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +0 -564
  2907. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -294
  2908. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -790
  2909. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +0 -87
  2910. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -251
  2911. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -183
  2912. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +0 -193
  2913. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -523
  2914. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +0 -316
  2915. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -527
  2916. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +0 -1352
  2917. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +0 -314
  2918. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +0 -308
  2919. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +0 -847
  2920. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +0 -261
  2921. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +0 -57
  2922. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +0 -44
  2923. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +0 -52
  2924. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +0 -34
  2925. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +0 -158
  2926. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +0 -74
  2927. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +0 -38
  2928. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +0 -95
  2929. data/third_party/boringssl-with-bazel/src/crypto/refcount.c +0 -59
  2930. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +0 -324
  2931. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +0 -570
  2932. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +0 -79
  2933. data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
  2934. data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
  2935. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
  2936. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
  2937. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
  2938. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
  2939. data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
  2940. data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
  2941. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
  2942. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
  2943. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
  2944. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
  2945. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
  2946. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
  2947. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +0 -534
  2948. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -51
  2949. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -150
  2950. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +0 -236
  2951. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +0 -1668
  2952. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +0 -687
  2953. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +0 -1267
  2954. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +0 -94
  2955. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +0 -136
  2956. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +0 -116
  2957. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +0 -178
  2958. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +0 -585
  2959. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +0 -400
  2960. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +0 -786
  2961. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +0 -401
  2962. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.c +0 -221
  2963. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.c +0 -634
  2964. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.c +0 -135
  2965. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.c +0 -141
  2966. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.c +0 -416
  2967. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.c +0 -482
  2968. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.c +0 -598
  2969. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.c +0 -112
  2970. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.c +0 -154
  2971. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.c +0 -270
  2972. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.c +0 -122
  2973. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.c +0 -211
  2974. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.c +0 -121
  2975. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.c +0 -344
  2976. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.c +0 -555
  2977. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.c +0 -81
  2978. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.c +0 -142
  2979. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.c +0 -150
  2980. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.c +0 -224
  2981. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.c +0 -624
  2982. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.c +0 -170
  2983. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +0 -1357
  2984. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -227
  2985. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -609
  2986. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +0 -291
  2987. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +0 -1648
  2988. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +0 -440
  2989. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +0 -133
  2990. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +0 -356
  2991. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +0 -384
  2992. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +0 -527
  2993. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -210
  2994. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +0 -544
  2995. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +0 -209
  2996. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.c +0 -1514
  2997. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
  2998. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_bool.c → a_bool.cc} +0 -0
  2999. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_gentm.c → a_gentm.cc} +0 -0
  3000. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_octet.c → a_octet.cc} +0 -0
  3001. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_strex.c → a_strex.cc} +0 -0
  3002. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_time.c → a_time.cc} +0 -0
  3003. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_utctm.c → a_utctm.cc} +0 -0
  3004. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_par.c → asn1_par.cc} +0 -0
  3005. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{f_int.c → f_int.cc} +0 -0
  3006. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{f_string.c → f_string.cc} +0 -0
  3007. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_typ.c → tasn_typ.cc} +0 -0
  3008. /data/third_party/boringssl-with-bazel/src/crypto/bio/{errno.c → errno.cc} +0 -0
  3009. /data/third_party/boringssl-with-bazel/src/crypto/bio/{fd.c → fd.cc} +0 -0
  3010. /data/third_party/boringssl-with-bazel/src/crypto/bio/{hexdump.c → hexdump.cc} +0 -0
  3011. /data/third_party/boringssl-with-bazel/src/crypto/bio/{socket.c → socket.cc} +0 -0
  3012. /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{cipher_extra.c → cipher_extra.cc} +0 -0
  3013. /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{derive_key.c → derive_key.cc} +0 -0
  3014. /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{tls_cbc.c → tls_cbc.cc} +0 -0
  3015. /data/third_party/boringssl-with-bazel/src/crypto/des/{des.c → des.cc} +0 -0
  3016. /data/third_party/boringssl-with-bazel/src/crypto/dh_extra/{params.c → params.cc} +0 -0
  3017. /data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/{ecdh_extra.c → ecdh_extra.cc} +0 -0
  3018. /data/third_party/boringssl-with-bazel/src/crypto/evp/{evp_asn1.c → evp_asn1.cc} +0 -0
  3019. /data/third_party/boringssl-with-bazel/src/crypto/evp/{sign.c → sign.cc} +0 -0
  3020. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{mode_wrappers.c → mode_wrappers.cc.inc} +0 -0
  3021. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bytes.c → bytes.cc.inc} +0 -0
  3022. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{cmp.c → cmp.cc.inc} +0 -0
  3023. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{generic.c → generic.cc.inc} +0 -0
  3024. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{jacobi.c → jacobi.cc.inc} +0 -0
  3025. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery_inv.c → montgomery_inv.cc.inc} +0 -0
  3026. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{rsaz_exp.c → rsaz_exp.cc.inc} +0 -0
  3027. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aesccm.c → e_aesccm.cc.inc} +0 -0
  3028. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{check.c → check.cc.inc} +0 -0
  3029. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_montgomery.c → ec_montgomery.cc.inc} +0 -0
  3030. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple.c → simple.cc.inc} +0 -0
  3031. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cbc.c → cbc.cc.inc} +0 -0
  3032. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cfb.c → cfb.cc.inc} +0 -0
  3033. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ctr.c → ctr.cc.inc} +0 -0
  3034. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ofb.c → ofb.cc.inc} +0 -0
  3035. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/{kdf.c → kdf.cc.inc} +0 -0
  3036. /data/third_party/boringssl-with-bazel/src/crypto/obj/{obj_xref.c → obj_xref.cc} +0 -0
  3037. /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_all.c → pem_all.cc} +0 -0
  3038. /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_x509.c → pem_x509.cc} +0 -0
  3039. /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_xaux.c → pem_xaux.cc} +0 -0
  3040. /data/third_party/boringssl-with-bazel/src/crypto/rc4/{rc4.c → rc4.cc} +0 -0
  3041. /data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_print.c → rsa_print.cc} +0 -0
  3042. /data/third_party/boringssl-with-bazel/src/crypto/{thread.c → thread.cc} +0 -0
  3043. /data/third_party/boringssl-with-bazel/src/crypto/x509/{by_file.c → by_file.cc} +0 -0
  3044. /data/third_party/boringssl-with-bazel/src/crypto/x509/{i2d_pr.c → i2d_pr.cc} +0 -0
  3045. /data/third_party/boringssl-with-bazel/src/crypto/x509/{name_print.c → name_print.cc} +0 -0
  3046. /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_crl.c → t_crl.cc} +0 -0
  3047. /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_req.c → t_req.cc} +0 -0
  3048. /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509.c → t_x509.cc} +0 -0
  3049. /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509a.c → t_x509a.cc} +0 -0
  3050. /data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_akeya.c → v3_akeya.cc} +0 -0
  3051. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509.c → x509.cc} +0 -0
  3052. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_cmp.c → x509_cmp.cc} +0 -0
  3053. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_d2.c → x509_d2.cc} +0 -0
  3054. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_def.c → x509_def.cc} +0 -0
  3055. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_ext.c → x509_ext.cc} +0 -0
  3056. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_obj.c → x509_obj.cc} +0 -0
  3057. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_req.c → x509_req.cc} +0 -0
  3058. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_set.c → x509_set.cc} +0 -0
  3059. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_trs.c → x509_trs.cc} +0 -0
  3060. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_txt.c → x509_txt.cc} +0 -0
  3061. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509cset.c → x509cset.cc} +0 -0
  3062. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509name.c → x509name.cc} +0 -0
  3063. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509rset.c → x509rset.cc} +0 -0
  3064. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_algor.c → x_algor.cc} +0 -0
  3065. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_attrib.c → x_attrib.cc} +0 -0
  3066. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_exten.c → x_exten.cc} +0 -0
  3067. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_req.c → x_req.cc} +0 -0
  3068. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_sig.c → x_sig.cc} +0 -0
  3069. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_spki.c → x_spki.cc} +0 -0
  3070. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_val.c → x_val.cc} +0 -0
@@ -17,23 +17,21 @@
17
17
 
18
18
  // This file is generated by tools/codegen/core/gen_seq.py
19
19
 
20
+ #include <grpc/support/port_platform.h>
20
21
  #include <stdint.h>
21
22
 
22
23
  #include <utility>
23
24
 
24
25
  #include "absl/base/attributes.h"
25
26
  #include "absl/log/check.h"
27
+ #include "absl/log/log.h"
26
28
  #include "absl/strings/str_cat.h"
27
-
28
- #include <grpc/support/log.h>
29
- #include <grpc/support/port_platform.h>
30
-
31
- #include "src/core/lib/gprpp/construct_destruct.h"
32
- #include "src/core/lib/gprpp/debug_location.h"
29
+ #include "src/core/lib/debug/trace.h"
33
30
  #include "src/core/lib/promise/detail/promise_factory.h"
34
31
  #include "src/core/lib/promise/detail/promise_like.h"
35
32
  #include "src/core/lib/promise/poll.h"
36
- #include "src/core/lib/promise/trace.h"
33
+ #include "src/core/util/construct_destruct.h"
34
+ #include "src/core/util/debug_location.h"
37
35
 
38
36
  // A sequence under some traits for some set of callables P, Fs.
39
37
  // P should be a promise-like object that yields a value.
@@ -102,11 +100,13 @@ struct SeqState<Traits, P, F0> {
102
100
  GPR_NO_UNIQUE_ADDRESS State state = State::kState0;
103
101
  GPR_NO_UNIQUE_ADDRESS DebugLocation whence;
104
102
 
105
- SeqState(P&& p, F0&& f0, DebugLocation whence) noexcept : whence(whence) {
103
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(P&& p, F0&& f0,
104
+ DebugLocation whence) noexcept
105
+ : whence(whence) {
106
106
  Construct(&prior.current_promise, std::forward<P>(p));
107
107
  Construct(&prior.next_factory, std::forward<F0>(f0));
108
108
  }
109
- ~SeqState() {
109
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION ~SeqState() {
110
110
  switch (state) {
111
111
  case State::kState0:
112
112
  Destruct(&prior.current_promise);
@@ -118,49 +118,39 @@ struct SeqState<Traits, P, F0> {
118
118
  tail0:
119
119
  Destruct(&prior.next_factory);
120
120
  }
121
- SeqState(const SeqState& other) noexcept
121
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(const SeqState& other) noexcept
122
122
  : state(other.state), whence(other.whence) {
123
- CHECK(state == State::kState0);
123
+ DCHECK(state == State::kState0);
124
124
  Construct(&prior.current_promise, other.prior.current_promise);
125
125
  Construct(&prior.next_factory, other.prior.next_factory);
126
126
  }
127
127
  SeqState& operator=(const SeqState& other) = delete;
128
- SeqState(SeqState&& other) noexcept
128
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(SeqState&& other) noexcept
129
129
  : state(other.state), whence(other.whence) {
130
- switch (state) {
131
- case State::kState0:
132
- Construct(&prior.current_promise,
133
- std::move(other.prior.current_promise));
134
- goto tail0;
135
- case State::kState1:
136
- Construct(&current_promise, std::move(other.current_promise));
137
- return;
138
- }
139
- tail0:
130
+ DCHECK(state == State::kState0);
131
+ Construct(&prior.current_promise, std::move(other.prior.current_promise));
140
132
  Construct(&prior.next_factory, std::move(other.prior.next_factory));
141
133
  }
142
- SeqState& operator=(SeqState&& other) = delete;
143
- Poll<Result> PollOnce() {
134
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState& operator=(SeqState&& other) =
135
+ delete;
136
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> PollOnce() {
144
137
  switch (state) {
145
138
  case State::kState0: {
146
- if (grpc_trace_promise_primitives.enabled()) {
147
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
148
- "seq[%p]: begin poll step 1/2", this);
149
- }
139
+ GRPC_TRACE_LOG(promise_primitives, INFO)
140
+ .AtLocation(whence.file(), whence.line())
141
+ << "seq[" << this << "]: begin poll step 1/2";
150
142
  auto result = prior.current_promise();
151
143
  PromiseResult0* p = result.value_if_ready();
152
- if (grpc_trace_promise_primitives.enabled()) {
153
- gpr_log(
154
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
155
- "seq[%p]: poll step 1/2 gets %s", this,
156
- p != nullptr
157
- ? (PromiseResultTraits0::IsOk(*p)
158
- ? "ready"
159
- : absl::StrCat("early-error:",
160
- PromiseResultTraits0::ErrorString(*p))
161
- .c_str())
162
- : "pending");
163
- }
144
+ GRPC_TRACE_LOG(promise_primitives, INFO)
145
+ .AtLocation(whence.file(), whence.line())
146
+ << "seq[" << this << "]: poll step 1/2 gets "
147
+ << (p != nullptr
148
+ ? (PromiseResultTraits0::IsOk(*p)
149
+ ? "ready"
150
+ : absl::StrCat("early-error:",
151
+ PromiseResultTraits0::ErrorString(*p))
152
+ .c_str())
153
+ : "pending");
164
154
  if (p == nullptr) return Pending{};
165
155
  if (!PromiseResultTraits0::IsOk(*p)) {
166
156
  return PromiseResultTraits0::template ReturnValue<Result>(
@@ -176,16 +166,14 @@ struct SeqState<Traits, P, F0> {
176
166
  ABSL_FALLTHROUGH_INTENDED;
177
167
  default:
178
168
  case State::kState1: {
179
- if (grpc_trace_promise_primitives.enabled()) {
180
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
181
- "seq[%p]: begin poll step 2/2", this);
182
- }
169
+ GRPC_TRACE_LOG(promise_primitives, INFO)
170
+ .AtLocation(whence.file(), whence.line())
171
+ << "seq[" << this << "]: begin poll step 2/2";
183
172
  auto result = current_promise();
184
- if (grpc_trace_promise_primitives.enabled()) {
185
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
186
- "seq[%p]: poll step 2/2 gets %s", this,
187
- result.ready() ? "ready" : "pending");
188
- }
173
+ GRPC_TRACE_LOG(promise_primitives, INFO)
174
+ .AtLocation(whence.file(), whence.line())
175
+ << "seq[" << this << "]: poll step 2/2 gets "
176
+ << (result.ready() ? "ready" : "pending");
189
177
  auto* p = result.value_if_ready();
190
178
  if (p == nullptr) return Pending{};
191
179
  return Result(std::move(*p));
@@ -230,13 +218,14 @@ struct SeqState<Traits, P, F0, F1> {
230
218
  GPR_NO_UNIQUE_ADDRESS State state = State::kState0;
231
219
  GPR_NO_UNIQUE_ADDRESS DebugLocation whence;
232
220
 
233
- SeqState(P&& p, F0&& f0, F1&& f1, DebugLocation whence) noexcept
221
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(P&& p, F0&& f0, F1&& f1,
222
+ DebugLocation whence) noexcept
234
223
  : whence(whence) {
235
224
  Construct(&prior.prior.current_promise, std::forward<P>(p));
236
225
  Construct(&prior.prior.next_factory, std::forward<F0>(f0));
237
226
  Construct(&prior.next_factory, std::forward<F1>(f1));
238
227
  }
239
- ~SeqState() {
228
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION ~SeqState() {
240
229
  switch (state) {
241
230
  case State::kState0:
242
231
  Destruct(&prior.prior.current_promise);
@@ -253,57 +242,43 @@ struct SeqState<Traits, P, F0, F1> {
253
242
  tail1:
254
243
  Destruct(&prior.next_factory);
255
244
  }
256
- SeqState(const SeqState& other) noexcept
245
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(const SeqState& other) noexcept
257
246
  : state(other.state), whence(other.whence) {
258
- CHECK(state == State::kState0);
259
- Construct(&prior.current_promise, other.prior.current_promise);
247
+ DCHECK(state == State::kState0);
248
+ Construct(&prior.prior.current_promise, other.prior.prior.current_promise);
260
249
  Construct(&prior.prior.next_factory, other.prior.prior.next_factory);
261
250
  Construct(&prior.next_factory, other.prior.next_factory);
262
251
  }
263
252
  SeqState& operator=(const SeqState& other) = delete;
264
- SeqState(SeqState&& other) noexcept
253
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(SeqState&& other) noexcept
265
254
  : state(other.state), whence(other.whence) {
266
- switch (state) {
267
- case State::kState0:
268
- Construct(&prior.prior.current_promise,
269
- std::move(other.prior.prior.current_promise));
270
- goto tail0;
271
- case State::kState1:
272
- Construct(&prior.current_promise,
273
- std::move(other.prior.current_promise));
274
- goto tail1;
275
- case State::kState2:
276
- Construct(&current_promise, std::move(other.current_promise));
277
- return;
278
- }
279
- tail0:
255
+ DCHECK(state == State::kState0);
256
+ Construct(&prior.prior.current_promise,
257
+ std::move(other.prior.prior.current_promise));
280
258
  Construct(&prior.prior.next_factory,
281
259
  std::move(other.prior.prior.next_factory));
282
- tail1:
283
260
  Construct(&prior.next_factory, std::move(other.prior.next_factory));
284
261
  }
285
- SeqState& operator=(SeqState&& other) = delete;
286
- Poll<Result> PollOnce() {
262
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState& operator=(SeqState&& other) =
263
+ delete;
264
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> PollOnce() {
287
265
  switch (state) {
288
266
  case State::kState0: {
289
- if (grpc_trace_promise_primitives.enabled()) {
290
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
291
- "seq[%p]: begin poll step 1/3", this);
292
- }
267
+ GRPC_TRACE_LOG(promise_primitives, INFO)
268
+ .AtLocation(whence.file(), whence.line())
269
+ << "seq[" << this << "]: begin poll step 1/3";
293
270
  auto result = prior.prior.current_promise();
294
271
  PromiseResult0* p = result.value_if_ready();
295
- if (grpc_trace_promise_primitives.enabled()) {
296
- gpr_log(
297
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
298
- "seq[%p]: poll step 1/3 gets %s", this,
299
- p != nullptr
300
- ? (PromiseResultTraits0::IsOk(*p)
301
- ? "ready"
302
- : absl::StrCat("early-error:",
303
- PromiseResultTraits0::ErrorString(*p))
304
- .c_str())
305
- : "pending");
306
- }
272
+ GRPC_TRACE_LOG(promise_primitives, INFO)
273
+ .AtLocation(whence.file(), whence.line())
274
+ << "seq[" << this << "]: poll step 1/3 gets "
275
+ << (p != nullptr
276
+ ? (PromiseResultTraits0::IsOk(*p)
277
+ ? "ready"
278
+ : absl::StrCat("early-error:",
279
+ PromiseResultTraits0::ErrorString(*p))
280
+ .c_str())
281
+ : "pending");
307
282
  if (p == nullptr) return Pending{};
308
283
  if (!PromiseResultTraits0::IsOk(*p)) {
309
284
  return PromiseResultTraits0::template ReturnValue<Result>(
@@ -318,24 +293,21 @@ struct SeqState<Traits, P, F0, F1> {
318
293
  }
319
294
  ABSL_FALLTHROUGH_INTENDED;
320
295
  case State::kState1: {
321
- if (grpc_trace_promise_primitives.enabled()) {
322
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
323
- "seq[%p]: begin poll step 2/3", this);
324
- }
296
+ GRPC_TRACE_LOG(promise_primitives, INFO)
297
+ .AtLocation(whence.file(), whence.line())
298
+ << "seq[" << this << "]: begin poll step 2/3";
325
299
  auto result = prior.current_promise();
326
300
  PromiseResult1* p = result.value_if_ready();
327
- if (grpc_trace_promise_primitives.enabled()) {
328
- gpr_log(
329
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
330
- "seq[%p]: poll step 2/3 gets %s", this,
331
- p != nullptr
332
- ? (PromiseResultTraits1::IsOk(*p)
333
- ? "ready"
334
- : absl::StrCat("early-error:",
335
- PromiseResultTraits1::ErrorString(*p))
336
- .c_str())
337
- : "pending");
338
- }
301
+ GRPC_TRACE_LOG(promise_primitives, INFO)
302
+ .AtLocation(whence.file(), whence.line())
303
+ << "seq[" << this << "]: poll step 2/3 gets "
304
+ << (p != nullptr
305
+ ? (PromiseResultTraits1::IsOk(*p)
306
+ ? "ready"
307
+ : absl::StrCat("early-error:",
308
+ PromiseResultTraits1::ErrorString(*p))
309
+ .c_str())
310
+ : "pending");
339
311
  if (p == nullptr) return Pending{};
340
312
  if (!PromiseResultTraits1::IsOk(*p)) {
341
313
  return PromiseResultTraits1::template ReturnValue<Result>(
@@ -351,16 +323,14 @@ struct SeqState<Traits, P, F0, F1> {
351
323
  ABSL_FALLTHROUGH_INTENDED;
352
324
  default:
353
325
  case State::kState2: {
354
- if (grpc_trace_promise_primitives.enabled()) {
355
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
356
- "seq[%p]: begin poll step 3/3", this);
357
- }
326
+ GRPC_TRACE_LOG(promise_primitives, INFO)
327
+ .AtLocation(whence.file(), whence.line())
328
+ << "seq[" << this << "]: begin poll step 3/3";
358
329
  auto result = current_promise();
359
- if (grpc_trace_promise_primitives.enabled()) {
360
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
361
- "seq[%p]: poll step 3/3 gets %s", this,
362
- result.ready() ? "ready" : "pending");
363
- }
330
+ GRPC_TRACE_LOG(promise_primitives, INFO)
331
+ .AtLocation(whence.file(), whence.line())
332
+ << "seq[" << this << "]: poll step 3/3 gets "
333
+ << (result.ready() ? "ready" : "pending");
364
334
  auto* p = result.value_if_ready();
365
335
  if (p == nullptr) return Pending{};
366
336
  return Result(std::move(*p));
@@ -417,14 +387,16 @@ struct SeqState<Traits, P, F0, F1, F2> {
417
387
  GPR_NO_UNIQUE_ADDRESS State state = State::kState0;
418
388
  GPR_NO_UNIQUE_ADDRESS DebugLocation whence;
419
389
 
420
- SeqState(P&& p, F0&& f0, F1&& f1, F2&& f2, DebugLocation whence) noexcept
390
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(P&& p, F0&& f0, F1&& f1,
391
+ F2&& f2,
392
+ DebugLocation whence) noexcept
421
393
  : whence(whence) {
422
394
  Construct(&prior.prior.prior.current_promise, std::forward<P>(p));
423
395
  Construct(&prior.prior.prior.next_factory, std::forward<F0>(f0));
424
396
  Construct(&prior.prior.next_factory, std::forward<F1>(f1));
425
397
  Construct(&prior.next_factory, std::forward<F2>(f2));
426
398
  }
427
- ~SeqState() {
399
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION ~SeqState() {
428
400
  switch (state) {
429
401
  case State::kState0:
430
402
  Destruct(&prior.prior.prior.current_promise);
@@ -446,66 +418,48 @@ struct SeqState<Traits, P, F0, F1, F2> {
446
418
  tail2:
447
419
  Destruct(&prior.next_factory);
448
420
  }
449
- SeqState(const SeqState& other) noexcept
421
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(const SeqState& other) noexcept
450
422
  : state(other.state), whence(other.whence) {
451
- CHECK(state == State::kState0);
452
- Construct(&prior.current_promise, other.prior.current_promise);
423
+ DCHECK(state == State::kState0);
424
+ Construct(&prior.prior.prior.current_promise,
425
+ other.prior.prior.prior.current_promise);
453
426
  Construct(&prior.prior.prior.next_factory,
454
427
  other.prior.prior.prior.next_factory);
455
428
  Construct(&prior.prior.next_factory, other.prior.prior.next_factory);
456
429
  Construct(&prior.next_factory, other.prior.next_factory);
457
430
  }
458
431
  SeqState& operator=(const SeqState& other) = delete;
459
- SeqState(SeqState&& other) noexcept
432
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(SeqState&& other) noexcept
460
433
  : state(other.state), whence(other.whence) {
461
- switch (state) {
462
- case State::kState0:
463
- Construct(&prior.prior.prior.current_promise,
464
- std::move(other.prior.prior.prior.current_promise));
465
- goto tail0;
466
- case State::kState1:
467
- Construct(&prior.prior.current_promise,
468
- std::move(other.prior.prior.current_promise));
469
- goto tail1;
470
- case State::kState2:
471
- Construct(&prior.current_promise,
472
- std::move(other.prior.current_promise));
473
- goto tail2;
474
- case State::kState3:
475
- Construct(&current_promise, std::move(other.current_promise));
476
- return;
477
- }
478
- tail0:
434
+ DCHECK(state == State::kState0);
435
+ Construct(&prior.prior.prior.current_promise,
436
+ std::move(other.prior.prior.prior.current_promise));
479
437
  Construct(&prior.prior.prior.next_factory,
480
438
  std::move(other.prior.prior.prior.next_factory));
481
- tail1:
482
439
  Construct(&prior.prior.next_factory,
483
440
  std::move(other.prior.prior.next_factory));
484
- tail2:
485
441
  Construct(&prior.next_factory, std::move(other.prior.next_factory));
486
442
  }
487
- SeqState& operator=(SeqState&& other) = delete;
488
- Poll<Result> PollOnce() {
443
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState& operator=(SeqState&& other) =
444
+ delete;
445
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> PollOnce() {
489
446
  switch (state) {
490
447
  case State::kState0: {
491
- if (grpc_trace_promise_primitives.enabled()) {
492
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
493
- "seq[%p]: begin poll step 1/4", this);
494
- }
448
+ GRPC_TRACE_LOG(promise_primitives, INFO)
449
+ .AtLocation(whence.file(), whence.line())
450
+ << "seq[" << this << "]: begin poll step 1/4";
495
451
  auto result = prior.prior.prior.current_promise();
496
452
  PromiseResult0* p = result.value_if_ready();
497
- if (grpc_trace_promise_primitives.enabled()) {
498
- gpr_log(
499
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
500
- "seq[%p]: poll step 1/4 gets %s", this,
501
- p != nullptr
502
- ? (PromiseResultTraits0::IsOk(*p)
503
- ? "ready"
504
- : absl::StrCat("early-error:",
505
- PromiseResultTraits0::ErrorString(*p))
506
- .c_str())
507
- : "pending");
508
- }
453
+ GRPC_TRACE_LOG(promise_primitives, INFO)
454
+ .AtLocation(whence.file(), whence.line())
455
+ << "seq[" << this << "]: poll step 1/4 gets "
456
+ << (p != nullptr
457
+ ? (PromiseResultTraits0::IsOk(*p)
458
+ ? "ready"
459
+ : absl::StrCat("early-error:",
460
+ PromiseResultTraits0::ErrorString(*p))
461
+ .c_str())
462
+ : "pending");
509
463
  if (p == nullptr) return Pending{};
510
464
  if (!PromiseResultTraits0::IsOk(*p)) {
511
465
  return PromiseResultTraits0::template ReturnValue<Result>(
@@ -520,24 +474,21 @@ struct SeqState<Traits, P, F0, F1, F2> {
520
474
  }
521
475
  ABSL_FALLTHROUGH_INTENDED;
522
476
  case State::kState1: {
523
- if (grpc_trace_promise_primitives.enabled()) {
524
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
525
- "seq[%p]: begin poll step 2/4", this);
526
- }
477
+ GRPC_TRACE_LOG(promise_primitives, INFO)
478
+ .AtLocation(whence.file(), whence.line())
479
+ << "seq[" << this << "]: begin poll step 2/4";
527
480
  auto result = prior.prior.current_promise();
528
481
  PromiseResult1* p = result.value_if_ready();
529
- if (grpc_trace_promise_primitives.enabled()) {
530
- gpr_log(
531
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
532
- "seq[%p]: poll step 2/4 gets %s", this,
533
- p != nullptr
534
- ? (PromiseResultTraits1::IsOk(*p)
535
- ? "ready"
536
- : absl::StrCat("early-error:",
537
- PromiseResultTraits1::ErrorString(*p))
538
- .c_str())
539
- : "pending");
540
- }
482
+ GRPC_TRACE_LOG(promise_primitives, INFO)
483
+ .AtLocation(whence.file(), whence.line())
484
+ << "seq[" << this << "]: poll step 2/4 gets "
485
+ << (p != nullptr
486
+ ? (PromiseResultTraits1::IsOk(*p)
487
+ ? "ready"
488
+ : absl::StrCat("early-error:",
489
+ PromiseResultTraits1::ErrorString(*p))
490
+ .c_str())
491
+ : "pending");
541
492
  if (p == nullptr) return Pending{};
542
493
  if (!PromiseResultTraits1::IsOk(*p)) {
543
494
  return PromiseResultTraits1::template ReturnValue<Result>(
@@ -552,24 +503,21 @@ struct SeqState<Traits, P, F0, F1, F2> {
552
503
  }
553
504
  ABSL_FALLTHROUGH_INTENDED;
554
505
  case State::kState2: {
555
- if (grpc_trace_promise_primitives.enabled()) {
556
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
557
- "seq[%p]: begin poll step 3/4", this);
558
- }
506
+ GRPC_TRACE_LOG(promise_primitives, INFO)
507
+ .AtLocation(whence.file(), whence.line())
508
+ << "seq[" << this << "]: begin poll step 3/4";
559
509
  auto result = prior.current_promise();
560
510
  PromiseResult2* p = result.value_if_ready();
561
- if (grpc_trace_promise_primitives.enabled()) {
562
- gpr_log(
563
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
564
- "seq[%p]: poll step 3/4 gets %s", this,
565
- p != nullptr
566
- ? (PromiseResultTraits2::IsOk(*p)
567
- ? "ready"
568
- : absl::StrCat("early-error:",
569
- PromiseResultTraits2::ErrorString(*p))
570
- .c_str())
571
- : "pending");
572
- }
511
+ GRPC_TRACE_LOG(promise_primitives, INFO)
512
+ .AtLocation(whence.file(), whence.line())
513
+ << "seq[" << this << "]: poll step 3/4 gets "
514
+ << (p != nullptr
515
+ ? (PromiseResultTraits2::IsOk(*p)
516
+ ? "ready"
517
+ : absl::StrCat("early-error:",
518
+ PromiseResultTraits2::ErrorString(*p))
519
+ .c_str())
520
+ : "pending");
573
521
  if (p == nullptr) return Pending{};
574
522
  if (!PromiseResultTraits2::IsOk(*p)) {
575
523
  return PromiseResultTraits2::template ReturnValue<Result>(
@@ -585,16 +533,14 @@ struct SeqState<Traits, P, F0, F1, F2> {
585
533
  ABSL_FALLTHROUGH_INTENDED;
586
534
  default:
587
535
  case State::kState3: {
588
- if (grpc_trace_promise_primitives.enabled()) {
589
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
590
- "seq[%p]: begin poll step 4/4", this);
591
- }
536
+ GRPC_TRACE_LOG(promise_primitives, INFO)
537
+ .AtLocation(whence.file(), whence.line())
538
+ << "seq[" << this << "]: begin poll step 4/4";
592
539
  auto result = current_promise();
593
- if (grpc_trace_promise_primitives.enabled()) {
594
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
595
- "seq[%p]: poll step 4/4 gets %s", this,
596
- result.ready() ? "ready" : "pending");
597
- }
540
+ GRPC_TRACE_LOG(promise_primitives, INFO)
541
+ .AtLocation(whence.file(), whence.line())
542
+ << "seq[" << this << "]: poll step 4/4 gets "
543
+ << (result.ready() ? "ready" : "pending");
598
544
  auto* p = result.value_if_ready();
599
545
  if (p == nullptr) return Pending{};
600
546
  return Result(std::move(*p));
@@ -663,8 +609,9 @@ struct SeqState<Traits, P, F0, F1, F2, F3> {
663
609
  GPR_NO_UNIQUE_ADDRESS State state = State::kState0;
664
610
  GPR_NO_UNIQUE_ADDRESS DebugLocation whence;
665
611
 
666
- SeqState(P&& p, F0&& f0, F1&& f1, F2&& f2, F3&& f3,
667
- DebugLocation whence) noexcept
612
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(P&& p, F0&& f0, F1&& f1,
613
+ F2&& f2, F3&& f3,
614
+ DebugLocation whence) noexcept
668
615
  : whence(whence) {
669
616
  Construct(&prior.prior.prior.prior.current_promise, std::forward<P>(p));
670
617
  Construct(&prior.prior.prior.prior.next_factory, std::forward<F0>(f0));
@@ -672,7 +619,7 @@ struct SeqState<Traits, P, F0, F1, F2, F3> {
672
619
  Construct(&prior.prior.next_factory, std::forward<F2>(f2));
673
620
  Construct(&prior.next_factory, std::forward<F3>(f3));
674
621
  }
675
- ~SeqState() {
622
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION ~SeqState() {
676
623
  switch (state) {
677
624
  case State::kState0:
678
625
  Destruct(&prior.prior.prior.prior.current_promise);
@@ -699,10 +646,11 @@ struct SeqState<Traits, P, F0, F1, F2, F3> {
699
646
  tail3:
700
647
  Destruct(&prior.next_factory);
701
648
  }
702
- SeqState(const SeqState& other) noexcept
649
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(const SeqState& other) noexcept
703
650
  : state(other.state), whence(other.whence) {
704
- CHECK(state == State::kState0);
705
- Construct(&prior.current_promise, other.prior.current_promise);
651
+ DCHECK(state == State::kState0);
652
+ Construct(&prior.prior.prior.prior.current_promise,
653
+ other.prior.prior.prior.prior.current_promise);
706
654
  Construct(&prior.prior.prior.prior.next_factory,
707
655
  other.prior.prior.prior.prior.next_factory);
708
656
  Construct(&prior.prior.prior.next_factory,
@@ -711,63 +659,39 @@ struct SeqState<Traits, P, F0, F1, F2, F3> {
711
659
  Construct(&prior.next_factory, other.prior.next_factory);
712
660
  }
713
661
  SeqState& operator=(const SeqState& other) = delete;
714
- SeqState(SeqState&& other) noexcept
662
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(SeqState&& other) noexcept
715
663
  : state(other.state), whence(other.whence) {
716
- switch (state) {
717
- case State::kState0:
718
- Construct(&prior.prior.prior.prior.current_promise,
719
- std::move(other.prior.prior.prior.prior.current_promise));
720
- goto tail0;
721
- case State::kState1:
722
- Construct(&prior.prior.prior.current_promise,
723
- std::move(other.prior.prior.prior.current_promise));
724
- goto tail1;
725
- case State::kState2:
726
- Construct(&prior.prior.current_promise,
727
- std::move(other.prior.prior.current_promise));
728
- goto tail2;
729
- case State::kState3:
730
- Construct(&prior.current_promise,
731
- std::move(other.prior.current_promise));
732
- goto tail3;
733
- case State::kState4:
734
- Construct(&current_promise, std::move(other.current_promise));
735
- return;
736
- }
737
- tail0:
664
+ DCHECK(state == State::kState0);
665
+ Construct(&prior.prior.prior.prior.current_promise,
666
+ std::move(other.prior.prior.prior.prior.current_promise));
738
667
  Construct(&prior.prior.prior.prior.next_factory,
739
668
  std::move(other.prior.prior.prior.prior.next_factory));
740
- tail1:
741
669
  Construct(&prior.prior.prior.next_factory,
742
670
  std::move(other.prior.prior.prior.next_factory));
743
- tail2:
744
671
  Construct(&prior.prior.next_factory,
745
672
  std::move(other.prior.prior.next_factory));
746
- tail3:
747
673
  Construct(&prior.next_factory, std::move(other.prior.next_factory));
748
674
  }
749
- SeqState& operator=(SeqState&& other) = delete;
750
- Poll<Result> PollOnce() {
675
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState& operator=(SeqState&& other) =
676
+ delete;
677
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> PollOnce() {
751
678
  switch (state) {
752
679
  case State::kState0: {
753
- if (grpc_trace_promise_primitives.enabled()) {
754
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
755
- "seq[%p]: begin poll step 1/5", this);
756
- }
680
+ GRPC_TRACE_LOG(promise_primitives, INFO)
681
+ .AtLocation(whence.file(), whence.line())
682
+ << "seq[" << this << "]: begin poll step 1/5";
757
683
  auto result = prior.prior.prior.prior.current_promise();
758
684
  PromiseResult0* p = result.value_if_ready();
759
- if (grpc_trace_promise_primitives.enabled()) {
760
- gpr_log(
761
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
762
- "seq[%p]: poll step 1/5 gets %s", this,
763
- p != nullptr
764
- ? (PromiseResultTraits0::IsOk(*p)
765
- ? "ready"
766
- : absl::StrCat("early-error:",
767
- PromiseResultTraits0::ErrorString(*p))
768
- .c_str())
769
- : "pending");
770
- }
685
+ GRPC_TRACE_LOG(promise_primitives, INFO)
686
+ .AtLocation(whence.file(), whence.line())
687
+ << "seq[" << this << "]: poll step 1/5 gets "
688
+ << (p != nullptr
689
+ ? (PromiseResultTraits0::IsOk(*p)
690
+ ? "ready"
691
+ : absl::StrCat("early-error:",
692
+ PromiseResultTraits0::ErrorString(*p))
693
+ .c_str())
694
+ : "pending");
771
695
  if (p == nullptr) return Pending{};
772
696
  if (!PromiseResultTraits0::IsOk(*p)) {
773
697
  return PromiseResultTraits0::template ReturnValue<Result>(
@@ -782,24 +706,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3> {
782
706
  }
783
707
  ABSL_FALLTHROUGH_INTENDED;
784
708
  case State::kState1: {
785
- if (grpc_trace_promise_primitives.enabled()) {
786
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
787
- "seq[%p]: begin poll step 2/5", this);
788
- }
709
+ GRPC_TRACE_LOG(promise_primitives, INFO)
710
+ .AtLocation(whence.file(), whence.line())
711
+ << "seq[" << this << "]: begin poll step 2/5";
789
712
  auto result = prior.prior.prior.current_promise();
790
713
  PromiseResult1* p = result.value_if_ready();
791
- if (grpc_trace_promise_primitives.enabled()) {
792
- gpr_log(
793
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
794
- "seq[%p]: poll step 2/5 gets %s", this,
795
- p != nullptr
796
- ? (PromiseResultTraits1::IsOk(*p)
797
- ? "ready"
798
- : absl::StrCat("early-error:",
799
- PromiseResultTraits1::ErrorString(*p))
800
- .c_str())
801
- : "pending");
802
- }
714
+ GRPC_TRACE_LOG(promise_primitives, INFO)
715
+ .AtLocation(whence.file(), whence.line())
716
+ << "seq[" << this << "]: poll step 2/5 gets "
717
+ << (p != nullptr
718
+ ? (PromiseResultTraits1::IsOk(*p)
719
+ ? "ready"
720
+ : absl::StrCat("early-error:",
721
+ PromiseResultTraits1::ErrorString(*p))
722
+ .c_str())
723
+ : "pending");
803
724
  if (p == nullptr) return Pending{};
804
725
  if (!PromiseResultTraits1::IsOk(*p)) {
805
726
  return PromiseResultTraits1::template ReturnValue<Result>(
@@ -814,24 +735,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3> {
814
735
  }
815
736
  ABSL_FALLTHROUGH_INTENDED;
816
737
  case State::kState2: {
817
- if (grpc_trace_promise_primitives.enabled()) {
818
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
819
- "seq[%p]: begin poll step 3/5", this);
820
- }
738
+ GRPC_TRACE_LOG(promise_primitives, INFO)
739
+ .AtLocation(whence.file(), whence.line())
740
+ << "seq[" << this << "]: begin poll step 3/5";
821
741
  auto result = prior.prior.current_promise();
822
742
  PromiseResult2* p = result.value_if_ready();
823
- if (grpc_trace_promise_primitives.enabled()) {
824
- gpr_log(
825
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
826
- "seq[%p]: poll step 3/5 gets %s", this,
827
- p != nullptr
828
- ? (PromiseResultTraits2::IsOk(*p)
829
- ? "ready"
830
- : absl::StrCat("early-error:",
831
- PromiseResultTraits2::ErrorString(*p))
832
- .c_str())
833
- : "pending");
834
- }
743
+ GRPC_TRACE_LOG(promise_primitives, INFO)
744
+ .AtLocation(whence.file(), whence.line())
745
+ << "seq[" << this << "]: poll step 3/5 gets "
746
+ << (p != nullptr
747
+ ? (PromiseResultTraits2::IsOk(*p)
748
+ ? "ready"
749
+ : absl::StrCat("early-error:",
750
+ PromiseResultTraits2::ErrorString(*p))
751
+ .c_str())
752
+ : "pending");
835
753
  if (p == nullptr) return Pending{};
836
754
  if (!PromiseResultTraits2::IsOk(*p)) {
837
755
  return PromiseResultTraits2::template ReturnValue<Result>(
@@ -846,24 +764,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3> {
846
764
  }
847
765
  ABSL_FALLTHROUGH_INTENDED;
848
766
  case State::kState3: {
849
- if (grpc_trace_promise_primitives.enabled()) {
850
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
851
- "seq[%p]: begin poll step 4/5", this);
852
- }
767
+ GRPC_TRACE_LOG(promise_primitives, INFO)
768
+ .AtLocation(whence.file(), whence.line())
769
+ << "seq[" << this << "]: begin poll step 4/5";
853
770
  auto result = prior.current_promise();
854
771
  PromiseResult3* p = result.value_if_ready();
855
- if (grpc_trace_promise_primitives.enabled()) {
856
- gpr_log(
857
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
858
- "seq[%p]: poll step 4/5 gets %s", this,
859
- p != nullptr
860
- ? (PromiseResultTraits3::IsOk(*p)
861
- ? "ready"
862
- : absl::StrCat("early-error:",
863
- PromiseResultTraits3::ErrorString(*p))
864
- .c_str())
865
- : "pending");
866
- }
772
+ GRPC_TRACE_LOG(promise_primitives, INFO)
773
+ .AtLocation(whence.file(), whence.line())
774
+ << "seq[" << this << "]: poll step 4/5 gets "
775
+ << (p != nullptr
776
+ ? (PromiseResultTraits3::IsOk(*p)
777
+ ? "ready"
778
+ : absl::StrCat("early-error:",
779
+ PromiseResultTraits3::ErrorString(*p))
780
+ .c_str())
781
+ : "pending");
867
782
  if (p == nullptr) return Pending{};
868
783
  if (!PromiseResultTraits3::IsOk(*p)) {
869
784
  return PromiseResultTraits3::template ReturnValue<Result>(
@@ -879,16 +794,14 @@ struct SeqState<Traits, P, F0, F1, F2, F3> {
879
794
  ABSL_FALLTHROUGH_INTENDED;
880
795
  default:
881
796
  case State::kState4: {
882
- if (grpc_trace_promise_primitives.enabled()) {
883
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
884
- "seq[%p]: begin poll step 5/5", this);
885
- }
797
+ GRPC_TRACE_LOG(promise_primitives, INFO)
798
+ .AtLocation(whence.file(), whence.line())
799
+ << "seq[" << this << "]: begin poll step 5/5";
886
800
  auto result = current_promise();
887
- if (grpc_trace_promise_primitives.enabled()) {
888
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
889
- "seq[%p]: poll step 5/5 gets %s", this,
890
- result.ready() ? "ready" : "pending");
891
- }
801
+ GRPC_TRACE_LOG(promise_primitives, INFO)
802
+ .AtLocation(whence.file(), whence.line())
803
+ << "seq[" << this << "]: poll step 5/5 gets "
804
+ << (result.ready() ? "ready" : "pending");
892
805
  auto* p = result.value_if_ready();
893
806
  if (p == nullptr) return Pending{};
894
807
  return Result(std::move(*p));
@@ -976,8 +889,9 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4> {
976
889
  GPR_NO_UNIQUE_ADDRESS State state = State::kState0;
977
890
  GPR_NO_UNIQUE_ADDRESS DebugLocation whence;
978
891
 
979
- SeqState(P&& p, F0&& f0, F1&& f1, F2&& f2, F3&& f3, F4&& f4,
980
- DebugLocation whence) noexcept
892
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(P&& p, F0&& f0, F1&& f1,
893
+ F2&& f2, F3&& f3, F4&& f4,
894
+ DebugLocation whence) noexcept
981
895
  : whence(whence) {
982
896
  Construct(&prior.prior.prior.prior.prior.current_promise,
983
897
  std::forward<P>(p));
@@ -988,7 +902,7 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4> {
988
902
  Construct(&prior.prior.next_factory, std::forward<F3>(f3));
989
903
  Construct(&prior.next_factory, std::forward<F4>(f4));
990
904
  }
991
- ~SeqState() {
905
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION ~SeqState() {
992
906
  switch (state) {
993
907
  case State::kState0:
994
908
  Destruct(&prior.prior.prior.prior.prior.current_promise);
@@ -1020,10 +934,11 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4> {
1020
934
  tail4:
1021
935
  Destruct(&prior.next_factory);
1022
936
  }
1023
- SeqState(const SeqState& other) noexcept
937
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(const SeqState& other) noexcept
1024
938
  : state(other.state), whence(other.whence) {
1025
- CHECK(state == State::kState0);
1026
- Construct(&prior.current_promise, other.prior.current_promise);
939
+ DCHECK(state == State::kState0);
940
+ Construct(&prior.prior.prior.prior.prior.current_promise,
941
+ other.prior.prior.prior.prior.prior.current_promise);
1027
942
  Construct(&prior.prior.prior.prior.prior.next_factory,
1028
943
  other.prior.prior.prior.prior.prior.next_factory);
1029
944
  Construct(&prior.prior.prior.prior.next_factory,
@@ -1034,71 +949,41 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4> {
1034
949
  Construct(&prior.next_factory, other.prior.next_factory);
1035
950
  }
1036
951
  SeqState& operator=(const SeqState& other) = delete;
1037
- SeqState(SeqState&& other) noexcept
952
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(SeqState&& other) noexcept
1038
953
  : state(other.state), whence(other.whence) {
1039
- switch (state) {
1040
- case State::kState0:
1041
- Construct(
1042
- &prior.prior.prior.prior.prior.current_promise,
1043
- std::move(other.prior.prior.prior.prior.prior.current_promise));
1044
- goto tail0;
1045
- case State::kState1:
1046
- Construct(&prior.prior.prior.prior.current_promise,
1047
- std::move(other.prior.prior.prior.prior.current_promise));
1048
- goto tail1;
1049
- case State::kState2:
1050
- Construct(&prior.prior.prior.current_promise,
1051
- std::move(other.prior.prior.prior.current_promise));
1052
- goto tail2;
1053
- case State::kState3:
1054
- Construct(&prior.prior.current_promise,
1055
- std::move(other.prior.prior.current_promise));
1056
- goto tail3;
1057
- case State::kState4:
1058
- Construct(&prior.current_promise,
1059
- std::move(other.prior.current_promise));
1060
- goto tail4;
1061
- case State::kState5:
1062
- Construct(&current_promise, std::move(other.current_promise));
1063
- return;
1064
- }
1065
- tail0:
954
+ DCHECK(state == State::kState0);
955
+ Construct(&prior.prior.prior.prior.prior.current_promise,
956
+ std::move(other.prior.prior.prior.prior.prior.current_promise));
1066
957
  Construct(&prior.prior.prior.prior.prior.next_factory,
1067
958
  std::move(other.prior.prior.prior.prior.prior.next_factory));
1068
- tail1:
1069
959
  Construct(&prior.prior.prior.prior.next_factory,
1070
960
  std::move(other.prior.prior.prior.prior.next_factory));
1071
- tail2:
1072
961
  Construct(&prior.prior.prior.next_factory,
1073
962
  std::move(other.prior.prior.prior.next_factory));
1074
- tail3:
1075
963
  Construct(&prior.prior.next_factory,
1076
964
  std::move(other.prior.prior.next_factory));
1077
- tail4:
1078
965
  Construct(&prior.next_factory, std::move(other.prior.next_factory));
1079
966
  }
1080
- SeqState& operator=(SeqState&& other) = delete;
1081
- Poll<Result> PollOnce() {
967
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState& operator=(SeqState&& other) =
968
+ delete;
969
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> PollOnce() {
1082
970
  switch (state) {
1083
971
  case State::kState0: {
1084
- if (grpc_trace_promise_primitives.enabled()) {
1085
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1086
- "seq[%p]: begin poll step 1/6", this);
1087
- }
972
+ GRPC_TRACE_LOG(promise_primitives, INFO)
973
+ .AtLocation(whence.file(), whence.line())
974
+ << "seq[" << this << "]: begin poll step 1/6";
1088
975
  auto result = prior.prior.prior.prior.prior.current_promise();
1089
976
  PromiseResult0* p = result.value_if_ready();
1090
- if (grpc_trace_promise_primitives.enabled()) {
1091
- gpr_log(
1092
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1093
- "seq[%p]: poll step 1/6 gets %s", this,
1094
- p != nullptr
1095
- ? (PromiseResultTraits0::IsOk(*p)
1096
- ? "ready"
1097
- : absl::StrCat("early-error:",
1098
- PromiseResultTraits0::ErrorString(*p))
1099
- .c_str())
1100
- : "pending");
1101
- }
977
+ GRPC_TRACE_LOG(promise_primitives, INFO)
978
+ .AtLocation(whence.file(), whence.line())
979
+ << "seq[" << this << "]: poll step 1/6 gets "
980
+ << (p != nullptr
981
+ ? (PromiseResultTraits0::IsOk(*p)
982
+ ? "ready"
983
+ : absl::StrCat("early-error:",
984
+ PromiseResultTraits0::ErrorString(*p))
985
+ .c_str())
986
+ : "pending");
1102
987
  if (p == nullptr) return Pending{};
1103
988
  if (!PromiseResultTraits0::IsOk(*p)) {
1104
989
  return PromiseResultTraits0::template ReturnValue<Result>(
@@ -1114,24 +999,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4> {
1114
999
  }
1115
1000
  ABSL_FALLTHROUGH_INTENDED;
1116
1001
  case State::kState1: {
1117
- if (grpc_trace_promise_primitives.enabled()) {
1118
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1119
- "seq[%p]: begin poll step 2/6", this);
1120
- }
1002
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1003
+ .AtLocation(whence.file(), whence.line())
1004
+ << "seq[" << this << "]: begin poll step 2/6";
1121
1005
  auto result = prior.prior.prior.prior.current_promise();
1122
1006
  PromiseResult1* p = result.value_if_ready();
1123
- if (grpc_trace_promise_primitives.enabled()) {
1124
- gpr_log(
1125
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1126
- "seq[%p]: poll step 2/6 gets %s", this,
1127
- p != nullptr
1128
- ? (PromiseResultTraits1::IsOk(*p)
1129
- ? "ready"
1130
- : absl::StrCat("early-error:",
1131
- PromiseResultTraits1::ErrorString(*p))
1132
- .c_str())
1133
- : "pending");
1134
- }
1007
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1008
+ .AtLocation(whence.file(), whence.line())
1009
+ << "seq[" << this << "]: poll step 2/6 gets "
1010
+ << (p != nullptr
1011
+ ? (PromiseResultTraits1::IsOk(*p)
1012
+ ? "ready"
1013
+ : absl::StrCat("early-error:",
1014
+ PromiseResultTraits1::ErrorString(*p))
1015
+ .c_str())
1016
+ : "pending");
1135
1017
  if (p == nullptr) return Pending{};
1136
1018
  if (!PromiseResultTraits1::IsOk(*p)) {
1137
1019
  return PromiseResultTraits1::template ReturnValue<Result>(
@@ -1146,24 +1028,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4> {
1146
1028
  }
1147
1029
  ABSL_FALLTHROUGH_INTENDED;
1148
1030
  case State::kState2: {
1149
- if (grpc_trace_promise_primitives.enabled()) {
1150
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1151
- "seq[%p]: begin poll step 3/6", this);
1152
- }
1031
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1032
+ .AtLocation(whence.file(), whence.line())
1033
+ << "seq[" << this << "]: begin poll step 3/6";
1153
1034
  auto result = prior.prior.prior.current_promise();
1154
1035
  PromiseResult2* p = result.value_if_ready();
1155
- if (grpc_trace_promise_primitives.enabled()) {
1156
- gpr_log(
1157
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1158
- "seq[%p]: poll step 3/6 gets %s", this,
1159
- p != nullptr
1160
- ? (PromiseResultTraits2::IsOk(*p)
1161
- ? "ready"
1162
- : absl::StrCat("early-error:",
1163
- PromiseResultTraits2::ErrorString(*p))
1164
- .c_str())
1165
- : "pending");
1166
- }
1036
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1037
+ .AtLocation(whence.file(), whence.line())
1038
+ << "seq[" << this << "]: poll step 3/6 gets "
1039
+ << (p != nullptr
1040
+ ? (PromiseResultTraits2::IsOk(*p)
1041
+ ? "ready"
1042
+ : absl::StrCat("early-error:",
1043
+ PromiseResultTraits2::ErrorString(*p))
1044
+ .c_str())
1045
+ : "pending");
1167
1046
  if (p == nullptr) return Pending{};
1168
1047
  if (!PromiseResultTraits2::IsOk(*p)) {
1169
1048
  return PromiseResultTraits2::template ReturnValue<Result>(
@@ -1178,24 +1057,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4> {
1178
1057
  }
1179
1058
  ABSL_FALLTHROUGH_INTENDED;
1180
1059
  case State::kState3: {
1181
- if (grpc_trace_promise_primitives.enabled()) {
1182
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1183
- "seq[%p]: begin poll step 4/6", this);
1184
- }
1060
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1061
+ .AtLocation(whence.file(), whence.line())
1062
+ << "seq[" << this << "]: begin poll step 4/6";
1185
1063
  auto result = prior.prior.current_promise();
1186
1064
  PromiseResult3* p = result.value_if_ready();
1187
- if (grpc_trace_promise_primitives.enabled()) {
1188
- gpr_log(
1189
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1190
- "seq[%p]: poll step 4/6 gets %s", this,
1191
- p != nullptr
1192
- ? (PromiseResultTraits3::IsOk(*p)
1193
- ? "ready"
1194
- : absl::StrCat("early-error:",
1195
- PromiseResultTraits3::ErrorString(*p))
1196
- .c_str())
1197
- : "pending");
1198
- }
1065
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1066
+ .AtLocation(whence.file(), whence.line())
1067
+ << "seq[" << this << "]: poll step 4/6 gets "
1068
+ << (p != nullptr
1069
+ ? (PromiseResultTraits3::IsOk(*p)
1070
+ ? "ready"
1071
+ : absl::StrCat("early-error:",
1072
+ PromiseResultTraits3::ErrorString(*p))
1073
+ .c_str())
1074
+ : "pending");
1199
1075
  if (p == nullptr) return Pending{};
1200
1076
  if (!PromiseResultTraits3::IsOk(*p)) {
1201
1077
  return PromiseResultTraits3::template ReturnValue<Result>(
@@ -1210,24 +1086,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4> {
1210
1086
  }
1211
1087
  ABSL_FALLTHROUGH_INTENDED;
1212
1088
  case State::kState4: {
1213
- if (grpc_trace_promise_primitives.enabled()) {
1214
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1215
- "seq[%p]: begin poll step 5/6", this);
1216
- }
1089
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1090
+ .AtLocation(whence.file(), whence.line())
1091
+ << "seq[" << this << "]: begin poll step 5/6";
1217
1092
  auto result = prior.current_promise();
1218
1093
  PromiseResult4* p = result.value_if_ready();
1219
- if (grpc_trace_promise_primitives.enabled()) {
1220
- gpr_log(
1221
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1222
- "seq[%p]: poll step 5/6 gets %s", this,
1223
- p != nullptr
1224
- ? (PromiseResultTraits4::IsOk(*p)
1225
- ? "ready"
1226
- : absl::StrCat("early-error:",
1227
- PromiseResultTraits4::ErrorString(*p))
1228
- .c_str())
1229
- : "pending");
1230
- }
1094
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1095
+ .AtLocation(whence.file(), whence.line())
1096
+ << "seq[" << this << "]: poll step 5/6 gets "
1097
+ << (p != nullptr
1098
+ ? (PromiseResultTraits4::IsOk(*p)
1099
+ ? "ready"
1100
+ : absl::StrCat("early-error:",
1101
+ PromiseResultTraits4::ErrorString(*p))
1102
+ .c_str())
1103
+ : "pending");
1231
1104
  if (p == nullptr) return Pending{};
1232
1105
  if (!PromiseResultTraits4::IsOk(*p)) {
1233
1106
  return PromiseResultTraits4::template ReturnValue<Result>(
@@ -1243,16 +1116,14 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4> {
1243
1116
  ABSL_FALLTHROUGH_INTENDED;
1244
1117
  default:
1245
1118
  case State::kState5: {
1246
- if (grpc_trace_promise_primitives.enabled()) {
1247
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1248
- "seq[%p]: begin poll step 6/6", this);
1249
- }
1119
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1120
+ .AtLocation(whence.file(), whence.line())
1121
+ << "seq[" << this << "]: begin poll step 6/6";
1250
1122
  auto result = current_promise();
1251
- if (grpc_trace_promise_primitives.enabled()) {
1252
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1253
- "seq[%p]: poll step 6/6 gets %s", this,
1254
- result.ready() ? "ready" : "pending");
1255
- }
1123
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1124
+ .AtLocation(whence.file(), whence.line())
1125
+ << "seq[" << this << "]: poll step 6/6 gets "
1126
+ << (result.ready() ? "ready" : "pending");
1256
1127
  auto* p = result.value_if_ready();
1257
1128
  if (p == nullptr) return Pending{};
1258
1129
  return Result(std::move(*p));
@@ -1353,8 +1224,10 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5> {
1353
1224
  GPR_NO_UNIQUE_ADDRESS State state = State::kState0;
1354
1225
  GPR_NO_UNIQUE_ADDRESS DebugLocation whence;
1355
1226
 
1356
- SeqState(P&& p, F0&& f0, F1&& f1, F2&& f2, F3&& f3, F4&& f4, F5&& f5,
1357
- DebugLocation whence) noexcept
1227
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(P&& p, F0&& f0, F1&& f1,
1228
+ F2&& f2, F3&& f3, F4&& f4,
1229
+ F5&& f5,
1230
+ DebugLocation whence) noexcept
1358
1231
  : whence(whence) {
1359
1232
  Construct(&prior.prior.prior.prior.prior.prior.current_promise,
1360
1233
  std::forward<P>(p));
@@ -1367,7 +1240,7 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5> {
1367
1240
  Construct(&prior.prior.next_factory, std::forward<F4>(f4));
1368
1241
  Construct(&prior.next_factory, std::forward<F5>(f5));
1369
1242
  }
1370
- ~SeqState() {
1243
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION ~SeqState() {
1371
1244
  switch (state) {
1372
1245
  case State::kState0:
1373
1246
  Destruct(&prior.prior.prior.prior.prior.prior.current_promise);
@@ -1404,10 +1277,11 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5> {
1404
1277
  tail5:
1405
1278
  Destruct(&prior.next_factory);
1406
1279
  }
1407
- SeqState(const SeqState& other) noexcept
1280
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(const SeqState& other) noexcept
1408
1281
  : state(other.state), whence(other.whence) {
1409
- CHECK(state == State::kState0);
1410
- Construct(&prior.current_promise, other.prior.current_promise);
1282
+ DCHECK(state == State::kState0);
1283
+ Construct(&prior.prior.prior.prior.prior.prior.current_promise,
1284
+ other.prior.prior.prior.prior.prior.prior.current_promise);
1411
1285
  Construct(&prior.prior.prior.prior.prior.prior.next_factory,
1412
1286
  other.prior.prior.prior.prior.prior.prior.next_factory);
1413
1287
  Construct(&prior.prior.prior.prior.prior.next_factory,
@@ -1420,81 +1294,45 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5> {
1420
1294
  Construct(&prior.next_factory, other.prior.next_factory);
1421
1295
  }
1422
1296
  SeqState& operator=(const SeqState& other) = delete;
1423
- SeqState(SeqState&& other) noexcept
1297
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(SeqState&& other) noexcept
1424
1298
  : state(other.state), whence(other.whence) {
1425
- switch (state) {
1426
- case State::kState0:
1427
- Construct(
1428
- &prior.prior.prior.prior.prior.prior.current_promise,
1429
- std::move(
1430
- other.prior.prior.prior.prior.prior.prior.current_promise));
1431
- goto tail0;
1432
- case State::kState1:
1433
- Construct(
1434
- &prior.prior.prior.prior.prior.current_promise,
1435
- std::move(other.prior.prior.prior.prior.prior.current_promise));
1436
- goto tail1;
1437
- case State::kState2:
1438
- Construct(&prior.prior.prior.prior.current_promise,
1439
- std::move(other.prior.prior.prior.prior.current_promise));
1440
- goto tail2;
1441
- case State::kState3:
1442
- Construct(&prior.prior.prior.current_promise,
1443
- std::move(other.prior.prior.prior.current_promise));
1444
- goto tail3;
1445
- case State::kState4:
1446
- Construct(&prior.prior.current_promise,
1447
- std::move(other.prior.prior.current_promise));
1448
- goto tail4;
1449
- case State::kState5:
1450
- Construct(&prior.current_promise,
1451
- std::move(other.prior.current_promise));
1452
- goto tail5;
1453
- case State::kState6:
1454
- Construct(&current_promise, std::move(other.current_promise));
1455
- return;
1456
- }
1457
- tail0:
1299
+ DCHECK(state == State::kState0);
1300
+ Construct(
1301
+ &prior.prior.prior.prior.prior.prior.current_promise,
1302
+ std::move(other.prior.prior.prior.prior.prior.prior.current_promise));
1458
1303
  Construct(
1459
1304
  &prior.prior.prior.prior.prior.prior.next_factory,
1460
1305
  std::move(other.prior.prior.prior.prior.prior.prior.next_factory));
1461
- tail1:
1462
1306
  Construct(&prior.prior.prior.prior.prior.next_factory,
1463
1307
  std::move(other.prior.prior.prior.prior.prior.next_factory));
1464
- tail2:
1465
1308
  Construct(&prior.prior.prior.prior.next_factory,
1466
1309
  std::move(other.prior.prior.prior.prior.next_factory));
1467
- tail3:
1468
1310
  Construct(&prior.prior.prior.next_factory,
1469
1311
  std::move(other.prior.prior.prior.next_factory));
1470
- tail4:
1471
1312
  Construct(&prior.prior.next_factory,
1472
1313
  std::move(other.prior.prior.next_factory));
1473
- tail5:
1474
1314
  Construct(&prior.next_factory, std::move(other.prior.next_factory));
1475
1315
  }
1476
- SeqState& operator=(SeqState&& other) = delete;
1477
- Poll<Result> PollOnce() {
1316
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState& operator=(SeqState&& other) =
1317
+ delete;
1318
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> PollOnce() {
1478
1319
  switch (state) {
1479
1320
  case State::kState0: {
1480
- if (grpc_trace_promise_primitives.enabled()) {
1481
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1482
- "seq[%p]: begin poll step 1/7", this);
1483
- }
1321
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1322
+ .AtLocation(whence.file(), whence.line())
1323
+ << "seq[" << this << "]: begin poll step 1/7";
1484
1324
  auto result = prior.prior.prior.prior.prior.prior.current_promise();
1485
1325
  PromiseResult0* p = result.value_if_ready();
1486
- if (grpc_trace_promise_primitives.enabled()) {
1487
- gpr_log(
1488
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1489
- "seq[%p]: poll step 1/7 gets %s", this,
1490
- p != nullptr
1491
- ? (PromiseResultTraits0::IsOk(*p)
1492
- ? "ready"
1493
- : absl::StrCat("early-error:",
1494
- PromiseResultTraits0::ErrorString(*p))
1495
- .c_str())
1496
- : "pending");
1497
- }
1326
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1327
+ .AtLocation(whence.file(), whence.line())
1328
+ << "seq[" << this << "]: poll step 1/7 gets "
1329
+ << (p != nullptr
1330
+ ? (PromiseResultTraits0::IsOk(*p)
1331
+ ? "ready"
1332
+ : absl::StrCat("early-error:",
1333
+ PromiseResultTraits0::ErrorString(*p))
1334
+ .c_str())
1335
+ : "pending");
1498
1336
  if (p == nullptr) return Pending{};
1499
1337
  if (!PromiseResultTraits0::IsOk(*p)) {
1500
1338
  return PromiseResultTraits0::template ReturnValue<Result>(
@@ -1510,24 +1348,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5> {
1510
1348
  }
1511
1349
  ABSL_FALLTHROUGH_INTENDED;
1512
1350
  case State::kState1: {
1513
- if (grpc_trace_promise_primitives.enabled()) {
1514
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1515
- "seq[%p]: begin poll step 2/7", this);
1516
- }
1351
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1352
+ .AtLocation(whence.file(), whence.line())
1353
+ << "seq[" << this << "]: begin poll step 2/7";
1517
1354
  auto result = prior.prior.prior.prior.prior.current_promise();
1518
1355
  PromiseResult1* p = result.value_if_ready();
1519
- if (grpc_trace_promise_primitives.enabled()) {
1520
- gpr_log(
1521
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1522
- "seq[%p]: poll step 2/7 gets %s", this,
1523
- p != nullptr
1524
- ? (PromiseResultTraits1::IsOk(*p)
1525
- ? "ready"
1526
- : absl::StrCat("early-error:",
1527
- PromiseResultTraits1::ErrorString(*p))
1528
- .c_str())
1529
- : "pending");
1530
- }
1356
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1357
+ .AtLocation(whence.file(), whence.line())
1358
+ << "seq[" << this << "]: poll step 2/7 gets "
1359
+ << (p != nullptr
1360
+ ? (PromiseResultTraits1::IsOk(*p)
1361
+ ? "ready"
1362
+ : absl::StrCat("early-error:",
1363
+ PromiseResultTraits1::ErrorString(*p))
1364
+ .c_str())
1365
+ : "pending");
1531
1366
  if (p == nullptr) return Pending{};
1532
1367
  if (!PromiseResultTraits1::IsOk(*p)) {
1533
1368
  return PromiseResultTraits1::template ReturnValue<Result>(
@@ -1543,24 +1378,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5> {
1543
1378
  }
1544
1379
  ABSL_FALLTHROUGH_INTENDED;
1545
1380
  case State::kState2: {
1546
- if (grpc_trace_promise_primitives.enabled()) {
1547
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1548
- "seq[%p]: begin poll step 3/7", this);
1549
- }
1381
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1382
+ .AtLocation(whence.file(), whence.line())
1383
+ << "seq[" << this << "]: begin poll step 3/7";
1550
1384
  auto result = prior.prior.prior.prior.current_promise();
1551
1385
  PromiseResult2* p = result.value_if_ready();
1552
- if (grpc_trace_promise_primitives.enabled()) {
1553
- gpr_log(
1554
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1555
- "seq[%p]: poll step 3/7 gets %s", this,
1556
- p != nullptr
1557
- ? (PromiseResultTraits2::IsOk(*p)
1558
- ? "ready"
1559
- : absl::StrCat("early-error:",
1560
- PromiseResultTraits2::ErrorString(*p))
1561
- .c_str())
1562
- : "pending");
1563
- }
1386
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1387
+ .AtLocation(whence.file(), whence.line())
1388
+ << "seq[" << this << "]: poll step 3/7 gets "
1389
+ << (p != nullptr
1390
+ ? (PromiseResultTraits2::IsOk(*p)
1391
+ ? "ready"
1392
+ : absl::StrCat("early-error:",
1393
+ PromiseResultTraits2::ErrorString(*p))
1394
+ .c_str())
1395
+ : "pending");
1564
1396
  if (p == nullptr) return Pending{};
1565
1397
  if (!PromiseResultTraits2::IsOk(*p)) {
1566
1398
  return PromiseResultTraits2::template ReturnValue<Result>(
@@ -1575,24 +1407,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5> {
1575
1407
  }
1576
1408
  ABSL_FALLTHROUGH_INTENDED;
1577
1409
  case State::kState3: {
1578
- if (grpc_trace_promise_primitives.enabled()) {
1579
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1580
- "seq[%p]: begin poll step 4/7", this);
1581
- }
1410
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1411
+ .AtLocation(whence.file(), whence.line())
1412
+ << "seq[" << this << "]: begin poll step 4/7";
1582
1413
  auto result = prior.prior.prior.current_promise();
1583
1414
  PromiseResult3* p = result.value_if_ready();
1584
- if (grpc_trace_promise_primitives.enabled()) {
1585
- gpr_log(
1586
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1587
- "seq[%p]: poll step 4/7 gets %s", this,
1588
- p != nullptr
1589
- ? (PromiseResultTraits3::IsOk(*p)
1590
- ? "ready"
1591
- : absl::StrCat("early-error:",
1592
- PromiseResultTraits3::ErrorString(*p))
1593
- .c_str())
1594
- : "pending");
1595
- }
1415
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1416
+ .AtLocation(whence.file(), whence.line())
1417
+ << "seq[" << this << "]: poll step 4/7 gets "
1418
+ << (p != nullptr
1419
+ ? (PromiseResultTraits3::IsOk(*p)
1420
+ ? "ready"
1421
+ : absl::StrCat("early-error:",
1422
+ PromiseResultTraits3::ErrorString(*p))
1423
+ .c_str())
1424
+ : "pending");
1596
1425
  if (p == nullptr) return Pending{};
1597
1426
  if (!PromiseResultTraits3::IsOk(*p)) {
1598
1427
  return PromiseResultTraits3::template ReturnValue<Result>(
@@ -1607,24 +1436,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5> {
1607
1436
  }
1608
1437
  ABSL_FALLTHROUGH_INTENDED;
1609
1438
  case State::kState4: {
1610
- if (grpc_trace_promise_primitives.enabled()) {
1611
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1612
- "seq[%p]: begin poll step 5/7", this);
1613
- }
1439
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1440
+ .AtLocation(whence.file(), whence.line())
1441
+ << "seq[" << this << "]: begin poll step 5/7";
1614
1442
  auto result = prior.prior.current_promise();
1615
1443
  PromiseResult4* p = result.value_if_ready();
1616
- if (grpc_trace_promise_primitives.enabled()) {
1617
- gpr_log(
1618
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1619
- "seq[%p]: poll step 5/7 gets %s", this,
1620
- p != nullptr
1621
- ? (PromiseResultTraits4::IsOk(*p)
1622
- ? "ready"
1623
- : absl::StrCat("early-error:",
1624
- PromiseResultTraits4::ErrorString(*p))
1625
- .c_str())
1626
- : "pending");
1627
- }
1444
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1445
+ .AtLocation(whence.file(), whence.line())
1446
+ << "seq[" << this << "]: poll step 5/7 gets "
1447
+ << (p != nullptr
1448
+ ? (PromiseResultTraits4::IsOk(*p)
1449
+ ? "ready"
1450
+ : absl::StrCat("early-error:",
1451
+ PromiseResultTraits4::ErrorString(*p))
1452
+ .c_str())
1453
+ : "pending");
1628
1454
  if (p == nullptr) return Pending{};
1629
1455
  if (!PromiseResultTraits4::IsOk(*p)) {
1630
1456
  return PromiseResultTraits4::template ReturnValue<Result>(
@@ -1639,24 +1465,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5> {
1639
1465
  }
1640
1466
  ABSL_FALLTHROUGH_INTENDED;
1641
1467
  case State::kState5: {
1642
- if (grpc_trace_promise_primitives.enabled()) {
1643
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1644
- "seq[%p]: begin poll step 6/7", this);
1645
- }
1468
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1469
+ .AtLocation(whence.file(), whence.line())
1470
+ << "seq[" << this << "]: begin poll step 6/7";
1646
1471
  auto result = prior.current_promise();
1647
1472
  PromiseResult5* p = result.value_if_ready();
1648
- if (grpc_trace_promise_primitives.enabled()) {
1649
- gpr_log(
1650
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1651
- "seq[%p]: poll step 6/7 gets %s", this,
1652
- p != nullptr
1653
- ? (PromiseResultTraits5::IsOk(*p)
1654
- ? "ready"
1655
- : absl::StrCat("early-error:",
1656
- PromiseResultTraits5::ErrorString(*p))
1657
- .c_str())
1658
- : "pending");
1659
- }
1473
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1474
+ .AtLocation(whence.file(), whence.line())
1475
+ << "seq[" << this << "]: poll step 6/7 gets "
1476
+ << (p != nullptr
1477
+ ? (PromiseResultTraits5::IsOk(*p)
1478
+ ? "ready"
1479
+ : absl::StrCat("early-error:",
1480
+ PromiseResultTraits5::ErrorString(*p))
1481
+ .c_str())
1482
+ : "pending");
1660
1483
  if (p == nullptr) return Pending{};
1661
1484
  if (!PromiseResultTraits5::IsOk(*p)) {
1662
1485
  return PromiseResultTraits5::template ReturnValue<Result>(
@@ -1672,16 +1495,14 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5> {
1672
1495
  ABSL_FALLTHROUGH_INTENDED;
1673
1496
  default:
1674
1497
  case State::kState6: {
1675
- if (grpc_trace_promise_primitives.enabled()) {
1676
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1677
- "seq[%p]: begin poll step 7/7", this);
1678
- }
1498
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1499
+ .AtLocation(whence.file(), whence.line())
1500
+ << "seq[" << this << "]: begin poll step 7/7";
1679
1501
  auto result = current_promise();
1680
- if (grpc_trace_promise_primitives.enabled()) {
1681
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1682
- "seq[%p]: poll step 7/7 gets %s", this,
1683
- result.ready() ? "ready" : "pending");
1684
- }
1502
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1503
+ .AtLocation(whence.file(), whence.line())
1504
+ << "seq[" << this << "]: poll step 7/7 gets "
1505
+ << (result.ready() ? "ready" : "pending");
1685
1506
  auto* p = result.value_if_ready();
1686
1507
  if (p == nullptr) return Pending{};
1687
1508
  return Result(std::move(*p));
@@ -1796,8 +1617,10 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6> {
1796
1617
  GPR_NO_UNIQUE_ADDRESS State state = State::kState0;
1797
1618
  GPR_NO_UNIQUE_ADDRESS DebugLocation whence;
1798
1619
 
1799
- SeqState(P&& p, F0&& f0, F1&& f1, F2&& f2, F3&& f3, F4&& f4, F5&& f5, F6&& f6,
1800
- DebugLocation whence) noexcept
1620
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(P&& p, F0&& f0, F1&& f1,
1621
+ F2&& f2, F3&& f3, F4&& f4,
1622
+ F5&& f5, F6&& f6,
1623
+ DebugLocation whence) noexcept
1801
1624
  : whence(whence) {
1802
1625
  Construct(&prior.prior.prior.prior.prior.prior.prior.current_promise,
1803
1626
  std::forward<P>(p));
@@ -1812,7 +1635,7 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6> {
1812
1635
  Construct(&prior.prior.next_factory, std::forward<F5>(f5));
1813
1636
  Construct(&prior.next_factory, std::forward<F6>(f6));
1814
1637
  }
1815
- ~SeqState() {
1638
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION ~SeqState() {
1816
1639
  switch (state) {
1817
1640
  case State::kState0:
1818
1641
  Destruct(&prior.prior.prior.prior.prior.prior.prior.current_promise);
@@ -1854,10 +1677,11 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6> {
1854
1677
  tail6:
1855
1678
  Destruct(&prior.next_factory);
1856
1679
  }
1857
- SeqState(const SeqState& other) noexcept
1680
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(const SeqState& other) noexcept
1858
1681
  : state(other.state), whence(other.whence) {
1859
- CHECK(state == State::kState0);
1860
- Construct(&prior.current_promise, other.prior.current_promise);
1682
+ DCHECK(state == State::kState0);
1683
+ Construct(&prior.prior.prior.prior.prior.prior.prior.current_promise,
1684
+ other.prior.prior.prior.prior.prior.prior.prior.current_promise);
1861
1685
  Construct(&prior.prior.prior.prior.prior.prior.prior.next_factory,
1862
1686
  other.prior.prior.prior.prior.prior.prior.prior.next_factory);
1863
1687
  Construct(&prior.prior.prior.prior.prior.prior.next_factory,
@@ -1872,92 +1696,51 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6> {
1872
1696
  Construct(&prior.next_factory, other.prior.next_factory);
1873
1697
  }
1874
1698
  SeqState& operator=(const SeqState& other) = delete;
1875
- SeqState(SeqState&& other) noexcept
1699
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(SeqState&& other) noexcept
1876
1700
  : state(other.state), whence(other.whence) {
1877
- switch (state) {
1878
- case State::kState0:
1879
- Construct(&prior.prior.prior.prior.prior.prior.prior.current_promise,
1880
- std::move(other.prior.prior.prior.prior.prior.prior.prior
1881
- .current_promise));
1882
- goto tail0;
1883
- case State::kState1:
1884
- Construct(
1885
- &prior.prior.prior.prior.prior.prior.current_promise,
1886
- std::move(
1887
- other.prior.prior.prior.prior.prior.prior.current_promise));
1888
- goto tail1;
1889
- case State::kState2:
1890
- Construct(
1891
- &prior.prior.prior.prior.prior.current_promise,
1892
- std::move(other.prior.prior.prior.prior.prior.current_promise));
1893
- goto tail2;
1894
- case State::kState3:
1895
- Construct(&prior.prior.prior.prior.current_promise,
1896
- std::move(other.prior.prior.prior.prior.current_promise));
1897
- goto tail3;
1898
- case State::kState4:
1899
- Construct(&prior.prior.prior.current_promise,
1900
- std::move(other.prior.prior.prior.current_promise));
1901
- goto tail4;
1902
- case State::kState5:
1903
- Construct(&prior.prior.current_promise,
1904
- std::move(other.prior.prior.current_promise));
1905
- goto tail5;
1906
- case State::kState6:
1907
- Construct(&prior.current_promise,
1908
- std::move(other.prior.current_promise));
1909
- goto tail6;
1910
- case State::kState7:
1911
- Construct(&current_promise, std::move(other.current_promise));
1912
- return;
1913
- }
1914
- tail0:
1701
+ DCHECK(state == State::kState0);
1702
+ Construct(
1703
+ &prior.prior.prior.prior.prior.prior.prior.current_promise,
1704
+ std::move(
1705
+ other.prior.prior.prior.prior.prior.prior.prior.current_promise));
1915
1706
  Construct(
1916
1707
  &prior.prior.prior.prior.prior.prior.prior.next_factory,
1917
1708
  std::move(
1918
1709
  other.prior.prior.prior.prior.prior.prior.prior.next_factory));
1919
- tail1:
1920
1710
  Construct(
1921
1711
  &prior.prior.prior.prior.prior.prior.next_factory,
1922
1712
  std::move(other.prior.prior.prior.prior.prior.prior.next_factory));
1923
- tail2:
1924
1713
  Construct(&prior.prior.prior.prior.prior.next_factory,
1925
1714
  std::move(other.prior.prior.prior.prior.prior.next_factory));
1926
- tail3:
1927
1715
  Construct(&prior.prior.prior.prior.next_factory,
1928
1716
  std::move(other.prior.prior.prior.prior.next_factory));
1929
- tail4:
1930
1717
  Construct(&prior.prior.prior.next_factory,
1931
1718
  std::move(other.prior.prior.prior.next_factory));
1932
- tail5:
1933
1719
  Construct(&prior.prior.next_factory,
1934
1720
  std::move(other.prior.prior.next_factory));
1935
- tail6:
1936
1721
  Construct(&prior.next_factory, std::move(other.prior.next_factory));
1937
1722
  }
1938
- SeqState& operator=(SeqState&& other) = delete;
1939
- Poll<Result> PollOnce() {
1723
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState& operator=(SeqState&& other) =
1724
+ delete;
1725
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> PollOnce() {
1940
1726
  switch (state) {
1941
1727
  case State::kState0: {
1942
- if (grpc_trace_promise_primitives.enabled()) {
1943
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1944
- "seq[%p]: begin poll step 1/8", this);
1945
- }
1728
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1729
+ .AtLocation(whence.file(), whence.line())
1730
+ << "seq[" << this << "]: begin poll step 1/8";
1946
1731
  auto result =
1947
1732
  prior.prior.prior.prior.prior.prior.prior.current_promise();
1948
1733
  PromiseResult0* p = result.value_if_ready();
1949
- if (grpc_trace_promise_primitives.enabled()) {
1950
- gpr_log(
1951
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1952
- "seq[%p]: poll step 1/8 gets %s", this,
1953
- p != nullptr
1954
- ? (PromiseResultTraits0::IsOk(*p)
1955
- ? "ready"
1956
- : absl::StrCat("early-error:",
1957
- PromiseResultTraits0::ErrorString(*p))
1958
- .c_str())
1959
- : "pending");
1960
- }
1734
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1735
+ .AtLocation(whence.file(), whence.line())
1736
+ << "seq[" << this << "]: poll step 1/8 gets "
1737
+ << (p != nullptr
1738
+ ? (PromiseResultTraits0::IsOk(*p)
1739
+ ? "ready"
1740
+ : absl::StrCat("early-error:",
1741
+ PromiseResultTraits0::ErrorString(*p))
1742
+ .c_str())
1743
+ : "pending");
1961
1744
  if (p == nullptr) return Pending{};
1962
1745
  if (!PromiseResultTraits0::IsOk(*p)) {
1963
1746
  return PromiseResultTraits0::template ReturnValue<Result>(
@@ -1974,24 +1757,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6> {
1974
1757
  }
1975
1758
  ABSL_FALLTHROUGH_INTENDED;
1976
1759
  case State::kState1: {
1977
- if (grpc_trace_promise_primitives.enabled()) {
1978
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1979
- "seq[%p]: begin poll step 2/8", this);
1980
- }
1760
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1761
+ .AtLocation(whence.file(), whence.line())
1762
+ << "seq[" << this << "]: begin poll step 2/8";
1981
1763
  auto result = prior.prior.prior.prior.prior.prior.current_promise();
1982
1764
  PromiseResult1* p = result.value_if_ready();
1983
- if (grpc_trace_promise_primitives.enabled()) {
1984
- gpr_log(
1985
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
1986
- "seq[%p]: poll step 2/8 gets %s", this,
1987
- p != nullptr
1988
- ? (PromiseResultTraits1::IsOk(*p)
1989
- ? "ready"
1990
- : absl::StrCat("early-error:",
1991
- PromiseResultTraits1::ErrorString(*p))
1992
- .c_str())
1993
- : "pending");
1994
- }
1765
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1766
+ .AtLocation(whence.file(), whence.line())
1767
+ << "seq[" << this << "]: poll step 2/8 gets "
1768
+ << (p != nullptr
1769
+ ? (PromiseResultTraits1::IsOk(*p)
1770
+ ? "ready"
1771
+ : absl::StrCat("early-error:",
1772
+ PromiseResultTraits1::ErrorString(*p))
1773
+ .c_str())
1774
+ : "pending");
1995
1775
  if (p == nullptr) return Pending{};
1996
1776
  if (!PromiseResultTraits1::IsOk(*p)) {
1997
1777
  return PromiseResultTraits1::template ReturnValue<Result>(
@@ -2007,24 +1787,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6> {
2007
1787
  }
2008
1788
  ABSL_FALLTHROUGH_INTENDED;
2009
1789
  case State::kState2: {
2010
- if (grpc_trace_promise_primitives.enabled()) {
2011
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2012
- "seq[%p]: begin poll step 3/8", this);
2013
- }
1790
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1791
+ .AtLocation(whence.file(), whence.line())
1792
+ << "seq[" << this << "]: begin poll step 3/8";
2014
1793
  auto result = prior.prior.prior.prior.prior.current_promise();
2015
1794
  PromiseResult2* p = result.value_if_ready();
2016
- if (grpc_trace_promise_primitives.enabled()) {
2017
- gpr_log(
2018
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2019
- "seq[%p]: poll step 3/8 gets %s", this,
2020
- p != nullptr
2021
- ? (PromiseResultTraits2::IsOk(*p)
2022
- ? "ready"
2023
- : absl::StrCat("early-error:",
2024
- PromiseResultTraits2::ErrorString(*p))
2025
- .c_str())
2026
- : "pending");
2027
- }
1795
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1796
+ .AtLocation(whence.file(), whence.line())
1797
+ << "seq[" << this << "]: poll step 3/8 gets "
1798
+ << (p != nullptr
1799
+ ? (PromiseResultTraits2::IsOk(*p)
1800
+ ? "ready"
1801
+ : absl::StrCat("early-error:",
1802
+ PromiseResultTraits2::ErrorString(*p))
1803
+ .c_str())
1804
+ : "pending");
2028
1805
  if (p == nullptr) return Pending{};
2029
1806
  if (!PromiseResultTraits2::IsOk(*p)) {
2030
1807
  return PromiseResultTraits2::template ReturnValue<Result>(
@@ -2040,24 +1817,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6> {
2040
1817
  }
2041
1818
  ABSL_FALLTHROUGH_INTENDED;
2042
1819
  case State::kState3: {
2043
- if (grpc_trace_promise_primitives.enabled()) {
2044
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2045
- "seq[%p]: begin poll step 4/8", this);
2046
- }
1820
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1821
+ .AtLocation(whence.file(), whence.line())
1822
+ << "seq[" << this << "]: begin poll step 4/8";
2047
1823
  auto result = prior.prior.prior.prior.current_promise();
2048
1824
  PromiseResult3* p = result.value_if_ready();
2049
- if (grpc_trace_promise_primitives.enabled()) {
2050
- gpr_log(
2051
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2052
- "seq[%p]: poll step 4/8 gets %s", this,
2053
- p != nullptr
2054
- ? (PromiseResultTraits3::IsOk(*p)
2055
- ? "ready"
2056
- : absl::StrCat("early-error:",
2057
- PromiseResultTraits3::ErrorString(*p))
2058
- .c_str())
2059
- : "pending");
2060
- }
1825
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1826
+ .AtLocation(whence.file(), whence.line())
1827
+ << "seq[" << this << "]: poll step 4/8 gets "
1828
+ << (p != nullptr
1829
+ ? (PromiseResultTraits3::IsOk(*p)
1830
+ ? "ready"
1831
+ : absl::StrCat("early-error:",
1832
+ PromiseResultTraits3::ErrorString(*p))
1833
+ .c_str())
1834
+ : "pending");
2061
1835
  if (p == nullptr) return Pending{};
2062
1836
  if (!PromiseResultTraits3::IsOk(*p)) {
2063
1837
  return PromiseResultTraits3::template ReturnValue<Result>(
@@ -2072,24 +1846,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6> {
2072
1846
  }
2073
1847
  ABSL_FALLTHROUGH_INTENDED;
2074
1848
  case State::kState4: {
2075
- if (grpc_trace_promise_primitives.enabled()) {
2076
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2077
- "seq[%p]: begin poll step 5/8", this);
2078
- }
1849
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1850
+ .AtLocation(whence.file(), whence.line())
1851
+ << "seq[" << this << "]: begin poll step 5/8";
2079
1852
  auto result = prior.prior.prior.current_promise();
2080
1853
  PromiseResult4* p = result.value_if_ready();
2081
- if (grpc_trace_promise_primitives.enabled()) {
2082
- gpr_log(
2083
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2084
- "seq[%p]: poll step 5/8 gets %s", this,
2085
- p != nullptr
2086
- ? (PromiseResultTraits4::IsOk(*p)
2087
- ? "ready"
2088
- : absl::StrCat("early-error:",
2089
- PromiseResultTraits4::ErrorString(*p))
2090
- .c_str())
2091
- : "pending");
2092
- }
1854
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1855
+ .AtLocation(whence.file(), whence.line())
1856
+ << "seq[" << this << "]: poll step 5/8 gets "
1857
+ << (p != nullptr
1858
+ ? (PromiseResultTraits4::IsOk(*p)
1859
+ ? "ready"
1860
+ : absl::StrCat("early-error:",
1861
+ PromiseResultTraits4::ErrorString(*p))
1862
+ .c_str())
1863
+ : "pending");
2093
1864
  if (p == nullptr) return Pending{};
2094
1865
  if (!PromiseResultTraits4::IsOk(*p)) {
2095
1866
  return PromiseResultTraits4::template ReturnValue<Result>(
@@ -2104,24 +1875,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6> {
2104
1875
  }
2105
1876
  ABSL_FALLTHROUGH_INTENDED;
2106
1877
  case State::kState5: {
2107
- if (grpc_trace_promise_primitives.enabled()) {
2108
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2109
- "seq[%p]: begin poll step 6/8", this);
2110
- }
1878
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1879
+ .AtLocation(whence.file(), whence.line())
1880
+ << "seq[" << this << "]: begin poll step 6/8";
2111
1881
  auto result = prior.prior.current_promise();
2112
1882
  PromiseResult5* p = result.value_if_ready();
2113
- if (grpc_trace_promise_primitives.enabled()) {
2114
- gpr_log(
2115
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2116
- "seq[%p]: poll step 6/8 gets %s", this,
2117
- p != nullptr
2118
- ? (PromiseResultTraits5::IsOk(*p)
2119
- ? "ready"
2120
- : absl::StrCat("early-error:",
2121
- PromiseResultTraits5::ErrorString(*p))
2122
- .c_str())
2123
- : "pending");
2124
- }
1883
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1884
+ .AtLocation(whence.file(), whence.line())
1885
+ << "seq[" << this << "]: poll step 6/8 gets "
1886
+ << (p != nullptr
1887
+ ? (PromiseResultTraits5::IsOk(*p)
1888
+ ? "ready"
1889
+ : absl::StrCat("early-error:",
1890
+ PromiseResultTraits5::ErrorString(*p))
1891
+ .c_str())
1892
+ : "pending");
2125
1893
  if (p == nullptr) return Pending{};
2126
1894
  if (!PromiseResultTraits5::IsOk(*p)) {
2127
1895
  return PromiseResultTraits5::template ReturnValue<Result>(
@@ -2136,24 +1904,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6> {
2136
1904
  }
2137
1905
  ABSL_FALLTHROUGH_INTENDED;
2138
1906
  case State::kState6: {
2139
- if (grpc_trace_promise_primitives.enabled()) {
2140
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2141
- "seq[%p]: begin poll step 7/8", this);
2142
- }
1907
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1908
+ .AtLocation(whence.file(), whence.line())
1909
+ << "seq[" << this << "]: begin poll step 7/8";
2143
1910
  auto result = prior.current_promise();
2144
1911
  PromiseResult6* p = result.value_if_ready();
2145
- if (grpc_trace_promise_primitives.enabled()) {
2146
- gpr_log(
2147
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2148
- "seq[%p]: poll step 7/8 gets %s", this,
2149
- p != nullptr
2150
- ? (PromiseResultTraits6::IsOk(*p)
2151
- ? "ready"
2152
- : absl::StrCat("early-error:",
2153
- PromiseResultTraits6::ErrorString(*p))
2154
- .c_str())
2155
- : "pending");
2156
- }
1912
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1913
+ .AtLocation(whence.file(), whence.line())
1914
+ << "seq[" << this << "]: poll step 7/8 gets "
1915
+ << (p != nullptr
1916
+ ? (PromiseResultTraits6::IsOk(*p)
1917
+ ? "ready"
1918
+ : absl::StrCat("early-error:",
1919
+ PromiseResultTraits6::ErrorString(*p))
1920
+ .c_str())
1921
+ : "pending");
2157
1922
  if (p == nullptr) return Pending{};
2158
1923
  if (!PromiseResultTraits6::IsOk(*p)) {
2159
1924
  return PromiseResultTraits6::template ReturnValue<Result>(
@@ -2169,16 +1934,14 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6> {
2169
1934
  ABSL_FALLTHROUGH_INTENDED;
2170
1935
  default:
2171
1936
  case State::kState7: {
2172
- if (grpc_trace_promise_primitives.enabled()) {
2173
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2174
- "seq[%p]: begin poll step 8/8", this);
2175
- }
1937
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1938
+ .AtLocation(whence.file(), whence.line())
1939
+ << "seq[" << this << "]: begin poll step 8/8";
2176
1940
  auto result = current_promise();
2177
- if (grpc_trace_promise_primitives.enabled()) {
2178
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2179
- "seq[%p]: poll step 8/8 gets %s", this,
2180
- result.ready() ? "ready" : "pending");
2181
- }
1941
+ GRPC_TRACE_LOG(promise_primitives, INFO)
1942
+ .AtLocation(whence.file(), whence.line())
1943
+ << "seq[" << this << "]: poll step 8/8 gets "
1944
+ << (result.ready() ? "ready" : "pending");
2182
1945
  auto* p = result.value_if_ready();
2183
1946
  if (p == nullptr) return Pending{};
2184
1947
  return Result(std::move(*p));
@@ -2306,8 +2069,10 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7> {
2306
2069
  GPR_NO_UNIQUE_ADDRESS State state = State::kState0;
2307
2070
  GPR_NO_UNIQUE_ADDRESS DebugLocation whence;
2308
2071
 
2309
- SeqState(P&& p, F0&& f0, F1&& f1, F2&& f2, F3&& f3, F4&& f4, F5&& f5, F6&& f6,
2310
- F7&& f7, DebugLocation whence) noexcept
2072
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(P&& p, F0&& f0, F1&& f1,
2073
+ F2&& f2, F3&& f3, F4&& f4,
2074
+ F5&& f5, F6&& f6, F7&& f7,
2075
+ DebugLocation whence) noexcept
2311
2076
  : whence(whence) {
2312
2077
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.current_promise,
2313
2078
  std::forward<P>(p));
@@ -2324,7 +2089,7 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7> {
2324
2089
  Construct(&prior.prior.next_factory, std::forward<F6>(f6));
2325
2090
  Construct(&prior.next_factory, std::forward<F7>(f7));
2326
2091
  }
2327
- ~SeqState() {
2092
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION ~SeqState() {
2328
2093
  switch (state) {
2329
2094
  case State::kState0:
2330
2095
  Destruct(
@@ -2372,10 +2137,12 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7> {
2372
2137
  tail7:
2373
2138
  Destruct(&prior.next_factory);
2374
2139
  }
2375
- SeqState(const SeqState& other) noexcept
2140
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(const SeqState& other) noexcept
2376
2141
  : state(other.state), whence(other.whence) {
2377
- CHECK(state == State::kState0);
2378
- Construct(&prior.current_promise, other.prior.current_promise);
2142
+ DCHECK(state == State::kState0);
2143
+ Construct(
2144
+ &prior.prior.prior.prior.prior.prior.prior.prior.current_promise,
2145
+ other.prior.prior.prior.prior.prior.prior.prior.prior.current_promise);
2379
2146
  Construct(
2380
2147
  &prior.prior.prior.prior.prior.prior.prior.prior.next_factory,
2381
2148
  other.prior.prior.prior.prior.prior.prior.prior.prior.next_factory);
@@ -2393,102 +2160,53 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7> {
2393
2160
  Construct(&prior.next_factory, other.prior.next_factory);
2394
2161
  }
2395
2162
  SeqState& operator=(const SeqState& other) = delete;
2396
- SeqState(SeqState&& other) noexcept
2163
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(SeqState&& other) noexcept
2397
2164
  : state(other.state), whence(other.whence) {
2398
- switch (state) {
2399
- case State::kState0:
2400
- Construct(
2401
- &prior.prior.prior.prior.prior.prior.prior.prior.current_promise,
2402
- std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
2403
- .current_promise));
2404
- goto tail0;
2405
- case State::kState1:
2406
- Construct(&prior.prior.prior.prior.prior.prior.prior.current_promise,
2407
- std::move(other.prior.prior.prior.prior.prior.prior.prior
2408
- .current_promise));
2409
- goto tail1;
2410
- case State::kState2:
2411
- Construct(
2412
- &prior.prior.prior.prior.prior.prior.current_promise,
2413
- std::move(
2414
- other.prior.prior.prior.prior.prior.prior.current_promise));
2415
- goto tail2;
2416
- case State::kState3:
2417
- Construct(
2418
- &prior.prior.prior.prior.prior.current_promise,
2419
- std::move(other.prior.prior.prior.prior.prior.current_promise));
2420
- goto tail3;
2421
- case State::kState4:
2422
- Construct(&prior.prior.prior.prior.current_promise,
2423
- std::move(other.prior.prior.prior.prior.current_promise));
2424
- goto tail4;
2425
- case State::kState5:
2426
- Construct(&prior.prior.prior.current_promise,
2427
- std::move(other.prior.prior.prior.current_promise));
2428
- goto tail5;
2429
- case State::kState6:
2430
- Construct(&prior.prior.current_promise,
2431
- std::move(other.prior.prior.current_promise));
2432
- goto tail6;
2433
- case State::kState7:
2434
- Construct(&prior.current_promise,
2435
- std::move(other.prior.current_promise));
2436
- goto tail7;
2437
- case State::kState8:
2438
- Construct(&current_promise, std::move(other.current_promise));
2439
- return;
2440
- }
2441
- tail0:
2165
+ DCHECK(state == State::kState0);
2166
+ Construct(&prior.prior.prior.prior.prior.prior.prior.prior.current_promise,
2167
+ std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
2168
+ .current_promise));
2442
2169
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.next_factory,
2443
2170
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
2444
2171
  .next_factory));
2445
- tail1:
2446
2172
  Construct(
2447
2173
  &prior.prior.prior.prior.prior.prior.prior.next_factory,
2448
2174
  std::move(
2449
2175
  other.prior.prior.prior.prior.prior.prior.prior.next_factory));
2450
- tail2:
2451
2176
  Construct(
2452
2177
  &prior.prior.prior.prior.prior.prior.next_factory,
2453
2178
  std::move(other.prior.prior.prior.prior.prior.prior.next_factory));
2454
- tail3:
2455
2179
  Construct(&prior.prior.prior.prior.prior.next_factory,
2456
2180
  std::move(other.prior.prior.prior.prior.prior.next_factory));
2457
- tail4:
2458
2181
  Construct(&prior.prior.prior.prior.next_factory,
2459
2182
  std::move(other.prior.prior.prior.prior.next_factory));
2460
- tail5:
2461
2183
  Construct(&prior.prior.prior.next_factory,
2462
2184
  std::move(other.prior.prior.prior.next_factory));
2463
- tail6:
2464
2185
  Construct(&prior.prior.next_factory,
2465
2186
  std::move(other.prior.prior.next_factory));
2466
- tail7:
2467
2187
  Construct(&prior.next_factory, std::move(other.prior.next_factory));
2468
2188
  }
2469
- SeqState& operator=(SeqState&& other) = delete;
2470
- Poll<Result> PollOnce() {
2189
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState& operator=(SeqState&& other) =
2190
+ delete;
2191
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> PollOnce() {
2471
2192
  switch (state) {
2472
2193
  case State::kState0: {
2473
- if (grpc_trace_promise_primitives.enabled()) {
2474
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2475
- "seq[%p]: begin poll step 1/9", this);
2476
- }
2194
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2195
+ .AtLocation(whence.file(), whence.line())
2196
+ << "seq[" << this << "]: begin poll step 1/9";
2477
2197
  auto result =
2478
2198
  prior.prior.prior.prior.prior.prior.prior.prior.current_promise();
2479
2199
  PromiseResult0* p = result.value_if_ready();
2480
- if (grpc_trace_promise_primitives.enabled()) {
2481
- gpr_log(
2482
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2483
- "seq[%p]: poll step 1/9 gets %s", this,
2484
- p != nullptr
2485
- ? (PromiseResultTraits0::IsOk(*p)
2486
- ? "ready"
2487
- : absl::StrCat("early-error:",
2488
- PromiseResultTraits0::ErrorString(*p))
2489
- .c_str())
2490
- : "pending");
2491
- }
2200
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2201
+ .AtLocation(whence.file(), whence.line())
2202
+ << "seq[" << this << "]: poll step 1/9 gets "
2203
+ << (p != nullptr
2204
+ ? (PromiseResultTraits0::IsOk(*p)
2205
+ ? "ready"
2206
+ : absl::StrCat("early-error:",
2207
+ PromiseResultTraits0::ErrorString(*p))
2208
+ .c_str())
2209
+ : "pending");
2492
2210
  if (p == nullptr) return Pending{};
2493
2211
  if (!PromiseResultTraits0::IsOk(*p)) {
2494
2212
  return PromiseResultTraits0::template ReturnValue<Result>(
@@ -2506,25 +2224,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7> {
2506
2224
  }
2507
2225
  ABSL_FALLTHROUGH_INTENDED;
2508
2226
  case State::kState1: {
2509
- if (grpc_trace_promise_primitives.enabled()) {
2510
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2511
- "seq[%p]: begin poll step 2/9", this);
2512
- }
2227
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2228
+ .AtLocation(whence.file(), whence.line())
2229
+ << "seq[" << this << "]: begin poll step 2/9";
2513
2230
  auto result =
2514
2231
  prior.prior.prior.prior.prior.prior.prior.current_promise();
2515
2232
  PromiseResult1* p = result.value_if_ready();
2516
- if (grpc_trace_promise_primitives.enabled()) {
2517
- gpr_log(
2518
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2519
- "seq[%p]: poll step 2/9 gets %s", this,
2520
- p != nullptr
2521
- ? (PromiseResultTraits1::IsOk(*p)
2522
- ? "ready"
2523
- : absl::StrCat("early-error:",
2524
- PromiseResultTraits1::ErrorString(*p))
2525
- .c_str())
2526
- : "pending");
2527
- }
2233
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2234
+ .AtLocation(whence.file(), whence.line())
2235
+ << "seq[" << this << "]: poll step 2/9 gets "
2236
+ << (p != nullptr
2237
+ ? (PromiseResultTraits1::IsOk(*p)
2238
+ ? "ready"
2239
+ : absl::StrCat("early-error:",
2240
+ PromiseResultTraits1::ErrorString(*p))
2241
+ .c_str())
2242
+ : "pending");
2528
2243
  if (p == nullptr) return Pending{};
2529
2244
  if (!PromiseResultTraits1::IsOk(*p)) {
2530
2245
  return PromiseResultTraits1::template ReturnValue<Result>(
@@ -2541,24 +2256,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7> {
2541
2256
  }
2542
2257
  ABSL_FALLTHROUGH_INTENDED;
2543
2258
  case State::kState2: {
2544
- if (grpc_trace_promise_primitives.enabled()) {
2545
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2546
- "seq[%p]: begin poll step 3/9", this);
2547
- }
2259
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2260
+ .AtLocation(whence.file(), whence.line())
2261
+ << "seq[" << this << "]: begin poll step 3/9";
2548
2262
  auto result = prior.prior.prior.prior.prior.prior.current_promise();
2549
2263
  PromiseResult2* p = result.value_if_ready();
2550
- if (grpc_trace_promise_primitives.enabled()) {
2551
- gpr_log(
2552
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2553
- "seq[%p]: poll step 3/9 gets %s", this,
2554
- p != nullptr
2555
- ? (PromiseResultTraits2::IsOk(*p)
2556
- ? "ready"
2557
- : absl::StrCat("early-error:",
2558
- PromiseResultTraits2::ErrorString(*p))
2559
- .c_str())
2560
- : "pending");
2561
- }
2264
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2265
+ .AtLocation(whence.file(), whence.line())
2266
+ << "seq[" << this << "]: poll step 3/9 gets "
2267
+ << (p != nullptr
2268
+ ? (PromiseResultTraits2::IsOk(*p)
2269
+ ? "ready"
2270
+ : absl::StrCat("early-error:",
2271
+ PromiseResultTraits2::ErrorString(*p))
2272
+ .c_str())
2273
+ : "pending");
2562
2274
  if (p == nullptr) return Pending{};
2563
2275
  if (!PromiseResultTraits2::IsOk(*p)) {
2564
2276
  return PromiseResultTraits2::template ReturnValue<Result>(
@@ -2574,24 +2286,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7> {
2574
2286
  }
2575
2287
  ABSL_FALLTHROUGH_INTENDED;
2576
2288
  case State::kState3: {
2577
- if (grpc_trace_promise_primitives.enabled()) {
2578
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2579
- "seq[%p]: begin poll step 4/9", this);
2580
- }
2289
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2290
+ .AtLocation(whence.file(), whence.line())
2291
+ << "seq[" << this << "]: begin poll step 4/9";
2581
2292
  auto result = prior.prior.prior.prior.prior.current_promise();
2582
2293
  PromiseResult3* p = result.value_if_ready();
2583
- if (grpc_trace_promise_primitives.enabled()) {
2584
- gpr_log(
2585
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2586
- "seq[%p]: poll step 4/9 gets %s", this,
2587
- p != nullptr
2588
- ? (PromiseResultTraits3::IsOk(*p)
2589
- ? "ready"
2590
- : absl::StrCat("early-error:",
2591
- PromiseResultTraits3::ErrorString(*p))
2592
- .c_str())
2593
- : "pending");
2594
- }
2294
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2295
+ .AtLocation(whence.file(), whence.line())
2296
+ << "seq[" << this << "]: poll step 4/9 gets "
2297
+ << (p != nullptr
2298
+ ? (PromiseResultTraits3::IsOk(*p)
2299
+ ? "ready"
2300
+ : absl::StrCat("early-error:",
2301
+ PromiseResultTraits3::ErrorString(*p))
2302
+ .c_str())
2303
+ : "pending");
2595
2304
  if (p == nullptr) return Pending{};
2596
2305
  if (!PromiseResultTraits3::IsOk(*p)) {
2597
2306
  return PromiseResultTraits3::template ReturnValue<Result>(
@@ -2607,24 +2316,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7> {
2607
2316
  }
2608
2317
  ABSL_FALLTHROUGH_INTENDED;
2609
2318
  case State::kState4: {
2610
- if (grpc_trace_promise_primitives.enabled()) {
2611
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2612
- "seq[%p]: begin poll step 5/9", this);
2613
- }
2319
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2320
+ .AtLocation(whence.file(), whence.line())
2321
+ << "seq[" << this << "]: begin poll step 5/9";
2614
2322
  auto result = prior.prior.prior.prior.current_promise();
2615
2323
  PromiseResult4* p = result.value_if_ready();
2616
- if (grpc_trace_promise_primitives.enabled()) {
2617
- gpr_log(
2618
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2619
- "seq[%p]: poll step 5/9 gets %s", this,
2620
- p != nullptr
2621
- ? (PromiseResultTraits4::IsOk(*p)
2622
- ? "ready"
2623
- : absl::StrCat("early-error:",
2624
- PromiseResultTraits4::ErrorString(*p))
2625
- .c_str())
2626
- : "pending");
2627
- }
2324
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2325
+ .AtLocation(whence.file(), whence.line())
2326
+ << "seq[" << this << "]: poll step 5/9 gets "
2327
+ << (p != nullptr
2328
+ ? (PromiseResultTraits4::IsOk(*p)
2329
+ ? "ready"
2330
+ : absl::StrCat("early-error:",
2331
+ PromiseResultTraits4::ErrorString(*p))
2332
+ .c_str())
2333
+ : "pending");
2628
2334
  if (p == nullptr) return Pending{};
2629
2335
  if (!PromiseResultTraits4::IsOk(*p)) {
2630
2336
  return PromiseResultTraits4::template ReturnValue<Result>(
@@ -2639,24 +2345,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7> {
2639
2345
  }
2640
2346
  ABSL_FALLTHROUGH_INTENDED;
2641
2347
  case State::kState5: {
2642
- if (grpc_trace_promise_primitives.enabled()) {
2643
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2644
- "seq[%p]: begin poll step 6/9", this);
2645
- }
2348
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2349
+ .AtLocation(whence.file(), whence.line())
2350
+ << "seq[" << this << "]: begin poll step 6/9";
2646
2351
  auto result = prior.prior.prior.current_promise();
2647
2352
  PromiseResult5* p = result.value_if_ready();
2648
- if (grpc_trace_promise_primitives.enabled()) {
2649
- gpr_log(
2650
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2651
- "seq[%p]: poll step 6/9 gets %s", this,
2652
- p != nullptr
2653
- ? (PromiseResultTraits5::IsOk(*p)
2654
- ? "ready"
2655
- : absl::StrCat("early-error:",
2656
- PromiseResultTraits5::ErrorString(*p))
2657
- .c_str())
2658
- : "pending");
2659
- }
2353
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2354
+ .AtLocation(whence.file(), whence.line())
2355
+ << "seq[" << this << "]: poll step 6/9 gets "
2356
+ << (p != nullptr
2357
+ ? (PromiseResultTraits5::IsOk(*p)
2358
+ ? "ready"
2359
+ : absl::StrCat("early-error:",
2360
+ PromiseResultTraits5::ErrorString(*p))
2361
+ .c_str())
2362
+ : "pending");
2660
2363
  if (p == nullptr) return Pending{};
2661
2364
  if (!PromiseResultTraits5::IsOk(*p)) {
2662
2365
  return PromiseResultTraits5::template ReturnValue<Result>(
@@ -2671,24 +2374,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7> {
2671
2374
  }
2672
2375
  ABSL_FALLTHROUGH_INTENDED;
2673
2376
  case State::kState6: {
2674
- if (grpc_trace_promise_primitives.enabled()) {
2675
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2676
- "seq[%p]: begin poll step 7/9", this);
2677
- }
2377
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2378
+ .AtLocation(whence.file(), whence.line())
2379
+ << "seq[" << this << "]: begin poll step 7/9";
2678
2380
  auto result = prior.prior.current_promise();
2679
2381
  PromiseResult6* p = result.value_if_ready();
2680
- if (grpc_trace_promise_primitives.enabled()) {
2681
- gpr_log(
2682
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2683
- "seq[%p]: poll step 7/9 gets %s", this,
2684
- p != nullptr
2685
- ? (PromiseResultTraits6::IsOk(*p)
2686
- ? "ready"
2687
- : absl::StrCat("early-error:",
2688
- PromiseResultTraits6::ErrorString(*p))
2689
- .c_str())
2690
- : "pending");
2691
- }
2382
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2383
+ .AtLocation(whence.file(), whence.line())
2384
+ << "seq[" << this << "]: poll step 7/9 gets "
2385
+ << (p != nullptr
2386
+ ? (PromiseResultTraits6::IsOk(*p)
2387
+ ? "ready"
2388
+ : absl::StrCat("early-error:",
2389
+ PromiseResultTraits6::ErrorString(*p))
2390
+ .c_str())
2391
+ : "pending");
2692
2392
  if (p == nullptr) return Pending{};
2693
2393
  if (!PromiseResultTraits6::IsOk(*p)) {
2694
2394
  return PromiseResultTraits6::template ReturnValue<Result>(
@@ -2703,24 +2403,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7> {
2703
2403
  }
2704
2404
  ABSL_FALLTHROUGH_INTENDED;
2705
2405
  case State::kState7: {
2706
- if (grpc_trace_promise_primitives.enabled()) {
2707
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2708
- "seq[%p]: begin poll step 8/9", this);
2709
- }
2406
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2407
+ .AtLocation(whence.file(), whence.line())
2408
+ << "seq[" << this << "]: begin poll step 8/9";
2710
2409
  auto result = prior.current_promise();
2711
2410
  PromiseResult7* p = result.value_if_ready();
2712
- if (grpc_trace_promise_primitives.enabled()) {
2713
- gpr_log(
2714
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2715
- "seq[%p]: poll step 8/9 gets %s", this,
2716
- p != nullptr
2717
- ? (PromiseResultTraits7::IsOk(*p)
2718
- ? "ready"
2719
- : absl::StrCat("early-error:",
2720
- PromiseResultTraits7::ErrorString(*p))
2721
- .c_str())
2722
- : "pending");
2723
- }
2411
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2412
+ .AtLocation(whence.file(), whence.line())
2413
+ << "seq[" << this << "]: poll step 8/9 gets "
2414
+ << (p != nullptr
2415
+ ? (PromiseResultTraits7::IsOk(*p)
2416
+ ? "ready"
2417
+ : absl::StrCat("early-error:",
2418
+ PromiseResultTraits7::ErrorString(*p))
2419
+ .c_str())
2420
+ : "pending");
2724
2421
  if (p == nullptr) return Pending{};
2725
2422
  if (!PromiseResultTraits7::IsOk(*p)) {
2726
2423
  return PromiseResultTraits7::template ReturnValue<Result>(
@@ -2736,16 +2433,14 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7> {
2736
2433
  ABSL_FALLTHROUGH_INTENDED;
2737
2434
  default:
2738
2435
  case State::kState8: {
2739
- if (grpc_trace_promise_primitives.enabled()) {
2740
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2741
- "seq[%p]: begin poll step 9/9", this);
2742
- }
2436
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2437
+ .AtLocation(whence.file(), whence.line())
2438
+ << "seq[" << this << "]: begin poll step 9/9";
2743
2439
  auto result = current_promise();
2744
- if (grpc_trace_promise_primitives.enabled()) {
2745
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
2746
- "seq[%p]: poll step 9/9 gets %s", this,
2747
- result.ready() ? "ready" : "pending");
2748
- }
2440
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2441
+ .AtLocation(whence.file(), whence.line())
2442
+ << "seq[" << this << "]: poll step 9/9 gets "
2443
+ << (result.ready() ? "ready" : "pending");
2749
2444
  auto* p = result.value_if_ready();
2750
2445
  if (p == nullptr) return Pending{};
2751
2446
  return Result(std::move(*p));
@@ -2886,8 +2581,11 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
2886
2581
  GPR_NO_UNIQUE_ADDRESS State state = State::kState0;
2887
2582
  GPR_NO_UNIQUE_ADDRESS DebugLocation whence;
2888
2583
 
2889
- SeqState(P&& p, F0&& f0, F1&& f1, F2&& f2, F3&& f3, F4&& f4, F5&& f5, F6&& f6,
2890
- F7&& f7, F8&& f8, DebugLocation whence) noexcept
2584
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(P&& p, F0&& f0, F1&& f1,
2585
+ F2&& f2, F3&& f3, F4&& f4,
2586
+ F5&& f5, F6&& f6, F7&& f7,
2587
+ F8&& f8,
2588
+ DebugLocation whence) noexcept
2891
2589
  : whence(whence) {
2892
2590
  Construct(
2893
2591
  &prior.prior.prior.prior.prior.prior.prior.prior.prior.current_promise,
@@ -2908,7 +2606,7 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
2908
2606
  Construct(&prior.prior.next_factory, std::forward<F7>(f7));
2909
2607
  Construct(&prior.next_factory, std::forward<F8>(f8));
2910
2608
  }
2911
- ~SeqState() {
2609
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION ~SeqState() {
2912
2610
  switch (state) {
2913
2611
  case State::kState0:
2914
2612
  Destruct(&prior.prior.prior.prior.prior.prior.prior.prior.prior
@@ -2963,10 +2661,13 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
2963
2661
  tail8:
2964
2662
  Destruct(&prior.next_factory);
2965
2663
  }
2966
- SeqState(const SeqState& other) noexcept
2664
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(const SeqState& other) noexcept
2967
2665
  : state(other.state), whence(other.whence) {
2968
- CHECK(state == State::kState0);
2969
- Construct(&prior.current_promise, other.prior.current_promise);
2666
+ DCHECK(state == State::kState0);
2667
+ Construct(
2668
+ &prior.prior.prior.prior.prior.prior.prior.prior.prior.current_promise,
2669
+ other.prior.prior.prior.prior.prior.prior.prior.prior.prior
2670
+ .current_promise);
2970
2671
  Construct(
2971
2672
  &prior.prior.prior.prior.prior.prior.prior.prior.prior.next_factory,
2972
2673
  other.prior.prior.prior.prior.prior.prior.prior.prior.prior
@@ -2988,113 +2689,58 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
2988
2689
  Construct(&prior.next_factory, other.prior.next_factory);
2989
2690
  }
2990
2691
  SeqState& operator=(const SeqState& other) = delete;
2991
- SeqState(SeqState&& other) noexcept
2692
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(SeqState&& other) noexcept
2992
2693
  : state(other.state), whence(other.whence) {
2993
- switch (state) {
2994
- case State::kState0:
2995
- Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior
2996
- .current_promise,
2997
- std::move(other.prior.prior.prior.prior.prior.prior.prior
2998
- .prior.prior.current_promise));
2999
- goto tail0;
3000
- case State::kState1:
3001
- Construct(
3002
- &prior.prior.prior.prior.prior.prior.prior.prior.current_promise,
3003
- std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
3004
- .current_promise));
3005
- goto tail1;
3006
- case State::kState2:
3007
- Construct(&prior.prior.prior.prior.prior.prior.prior.current_promise,
3008
- std::move(other.prior.prior.prior.prior.prior.prior.prior
3009
- .current_promise));
3010
- goto tail2;
3011
- case State::kState3:
3012
- Construct(
3013
- &prior.prior.prior.prior.prior.prior.current_promise,
3014
- std::move(
3015
- other.prior.prior.prior.prior.prior.prior.current_promise));
3016
- goto tail3;
3017
- case State::kState4:
3018
- Construct(
3019
- &prior.prior.prior.prior.prior.current_promise,
3020
- std::move(other.prior.prior.prior.prior.prior.current_promise));
3021
- goto tail4;
3022
- case State::kState5:
3023
- Construct(&prior.prior.prior.prior.current_promise,
3024
- std::move(other.prior.prior.prior.prior.current_promise));
3025
- goto tail5;
3026
- case State::kState6:
3027
- Construct(&prior.prior.prior.current_promise,
3028
- std::move(other.prior.prior.prior.current_promise));
3029
- goto tail6;
3030
- case State::kState7:
3031
- Construct(&prior.prior.current_promise,
3032
- std::move(other.prior.prior.current_promise));
3033
- goto tail7;
3034
- case State::kState8:
3035
- Construct(&prior.current_promise,
3036
- std::move(other.prior.current_promise));
3037
- goto tail8;
3038
- case State::kState9:
3039
- Construct(&current_promise, std::move(other.current_promise));
3040
- return;
3041
- }
3042
- tail0:
2694
+ DCHECK(state == State::kState0);
2695
+ Construct(
2696
+ &prior.prior.prior.prior.prior.prior.prior.prior.prior.current_promise,
2697
+ std::move(other.prior.prior.prior.prior.prior.prior.prior.prior.prior
2698
+ .current_promise));
3043
2699
  Construct(
3044
2700
  &prior.prior.prior.prior.prior.prior.prior.prior.prior.next_factory,
3045
2701
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior.prior
3046
2702
  .next_factory));
3047
- tail1:
3048
2703
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.next_factory,
3049
2704
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
3050
2705
  .next_factory));
3051
- tail2:
3052
2706
  Construct(
3053
2707
  &prior.prior.prior.prior.prior.prior.prior.next_factory,
3054
2708
  std::move(
3055
2709
  other.prior.prior.prior.prior.prior.prior.prior.next_factory));
3056
- tail3:
3057
2710
  Construct(
3058
2711
  &prior.prior.prior.prior.prior.prior.next_factory,
3059
2712
  std::move(other.prior.prior.prior.prior.prior.prior.next_factory));
3060
- tail4:
3061
2713
  Construct(&prior.prior.prior.prior.prior.next_factory,
3062
2714
  std::move(other.prior.prior.prior.prior.prior.next_factory));
3063
- tail5:
3064
2715
  Construct(&prior.prior.prior.prior.next_factory,
3065
2716
  std::move(other.prior.prior.prior.prior.next_factory));
3066
- tail6:
3067
2717
  Construct(&prior.prior.prior.next_factory,
3068
2718
  std::move(other.prior.prior.prior.next_factory));
3069
- tail7:
3070
2719
  Construct(&prior.prior.next_factory,
3071
2720
  std::move(other.prior.prior.next_factory));
3072
- tail8:
3073
2721
  Construct(&prior.next_factory, std::move(other.prior.next_factory));
3074
2722
  }
3075
- SeqState& operator=(SeqState&& other) = delete;
3076
- Poll<Result> PollOnce() {
2723
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState& operator=(SeqState&& other) =
2724
+ delete;
2725
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> PollOnce() {
3077
2726
  switch (state) {
3078
2727
  case State::kState0: {
3079
- if (grpc_trace_promise_primitives.enabled()) {
3080
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3081
- "seq[%p]: begin poll step 1/10", this);
3082
- }
2728
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2729
+ .AtLocation(whence.file(), whence.line())
2730
+ << "seq[" << this << "]: begin poll step 1/10";
3083
2731
  auto result = prior.prior.prior.prior.prior.prior.prior.prior.prior
3084
2732
  .current_promise();
3085
2733
  PromiseResult0* p = result.value_if_ready();
3086
- if (grpc_trace_promise_primitives.enabled()) {
3087
- gpr_log(
3088
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3089
- "seq[%p]: poll step 1/10 gets %s", this,
3090
- p != nullptr
3091
- ? (PromiseResultTraits0::IsOk(*p)
3092
- ? "ready"
3093
- : absl::StrCat("early-error:",
3094
- PromiseResultTraits0::ErrorString(*p))
3095
- .c_str())
3096
- : "pending");
3097
- }
2734
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2735
+ .AtLocation(whence.file(), whence.line())
2736
+ << "seq[" << this << "]: poll step 1/10 gets "
2737
+ << (p != nullptr
2738
+ ? (PromiseResultTraits0::IsOk(*p)
2739
+ ? "ready"
2740
+ : absl::StrCat("early-error:",
2741
+ PromiseResultTraits0::ErrorString(*p))
2742
+ .c_str())
2743
+ : "pending");
3098
2744
  if (p == nullptr) return Pending{};
3099
2745
  if (!PromiseResultTraits0::IsOk(*p)) {
3100
2746
  return PromiseResultTraits0::template ReturnValue<Result>(
@@ -3114,25 +2760,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
3114
2760
  }
3115
2761
  ABSL_FALLTHROUGH_INTENDED;
3116
2762
  case State::kState1: {
3117
- if (grpc_trace_promise_primitives.enabled()) {
3118
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3119
- "seq[%p]: begin poll step 2/10", this);
3120
- }
2763
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2764
+ .AtLocation(whence.file(), whence.line())
2765
+ << "seq[" << this << "]: begin poll step 2/10";
3121
2766
  auto result =
3122
2767
  prior.prior.prior.prior.prior.prior.prior.prior.current_promise();
3123
2768
  PromiseResult1* p = result.value_if_ready();
3124
- if (grpc_trace_promise_primitives.enabled()) {
3125
- gpr_log(
3126
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3127
- "seq[%p]: poll step 2/10 gets %s", this,
3128
- p != nullptr
3129
- ? (PromiseResultTraits1::IsOk(*p)
3130
- ? "ready"
3131
- : absl::StrCat("early-error:",
3132
- PromiseResultTraits1::ErrorString(*p))
3133
- .c_str())
3134
- : "pending");
3135
- }
2769
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2770
+ .AtLocation(whence.file(), whence.line())
2771
+ << "seq[" << this << "]: poll step 2/10 gets "
2772
+ << (p != nullptr
2773
+ ? (PromiseResultTraits1::IsOk(*p)
2774
+ ? "ready"
2775
+ : absl::StrCat("early-error:",
2776
+ PromiseResultTraits1::ErrorString(*p))
2777
+ .c_str())
2778
+ : "pending");
3136
2779
  if (p == nullptr) return Pending{};
3137
2780
  if (!PromiseResultTraits1::IsOk(*p)) {
3138
2781
  return PromiseResultTraits1::template ReturnValue<Result>(
@@ -3150,25 +2793,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
3150
2793
  }
3151
2794
  ABSL_FALLTHROUGH_INTENDED;
3152
2795
  case State::kState2: {
3153
- if (grpc_trace_promise_primitives.enabled()) {
3154
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3155
- "seq[%p]: begin poll step 3/10", this);
3156
- }
2796
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2797
+ .AtLocation(whence.file(), whence.line())
2798
+ << "seq[" << this << "]: begin poll step 3/10";
3157
2799
  auto result =
3158
2800
  prior.prior.prior.prior.prior.prior.prior.current_promise();
3159
2801
  PromiseResult2* p = result.value_if_ready();
3160
- if (grpc_trace_promise_primitives.enabled()) {
3161
- gpr_log(
3162
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3163
- "seq[%p]: poll step 3/10 gets %s", this,
3164
- p != nullptr
3165
- ? (PromiseResultTraits2::IsOk(*p)
3166
- ? "ready"
3167
- : absl::StrCat("early-error:",
3168
- PromiseResultTraits2::ErrorString(*p))
3169
- .c_str())
3170
- : "pending");
3171
- }
2802
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2803
+ .AtLocation(whence.file(), whence.line())
2804
+ << "seq[" << this << "]: poll step 3/10 gets "
2805
+ << (p != nullptr
2806
+ ? (PromiseResultTraits2::IsOk(*p)
2807
+ ? "ready"
2808
+ : absl::StrCat("early-error:",
2809
+ PromiseResultTraits2::ErrorString(*p))
2810
+ .c_str())
2811
+ : "pending");
3172
2812
  if (p == nullptr) return Pending{};
3173
2813
  if (!PromiseResultTraits2::IsOk(*p)) {
3174
2814
  return PromiseResultTraits2::template ReturnValue<Result>(
@@ -3185,24 +2825,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
3185
2825
  }
3186
2826
  ABSL_FALLTHROUGH_INTENDED;
3187
2827
  case State::kState3: {
3188
- if (grpc_trace_promise_primitives.enabled()) {
3189
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3190
- "seq[%p]: begin poll step 4/10", this);
3191
- }
2828
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2829
+ .AtLocation(whence.file(), whence.line())
2830
+ << "seq[" << this << "]: begin poll step 4/10";
3192
2831
  auto result = prior.prior.prior.prior.prior.prior.current_promise();
3193
2832
  PromiseResult3* p = result.value_if_ready();
3194
- if (grpc_trace_promise_primitives.enabled()) {
3195
- gpr_log(
3196
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3197
- "seq[%p]: poll step 4/10 gets %s", this,
3198
- p != nullptr
3199
- ? (PromiseResultTraits3::IsOk(*p)
3200
- ? "ready"
3201
- : absl::StrCat("early-error:",
3202
- PromiseResultTraits3::ErrorString(*p))
3203
- .c_str())
3204
- : "pending");
3205
- }
2833
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2834
+ .AtLocation(whence.file(), whence.line())
2835
+ << "seq[" << this << "]: poll step 4/10 gets "
2836
+ << (p != nullptr
2837
+ ? (PromiseResultTraits3::IsOk(*p)
2838
+ ? "ready"
2839
+ : absl::StrCat("early-error:",
2840
+ PromiseResultTraits3::ErrorString(*p))
2841
+ .c_str())
2842
+ : "pending");
3206
2843
  if (p == nullptr) return Pending{};
3207
2844
  if (!PromiseResultTraits3::IsOk(*p)) {
3208
2845
  return PromiseResultTraits3::template ReturnValue<Result>(
@@ -3218,24 +2855,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
3218
2855
  }
3219
2856
  ABSL_FALLTHROUGH_INTENDED;
3220
2857
  case State::kState4: {
3221
- if (grpc_trace_promise_primitives.enabled()) {
3222
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3223
- "seq[%p]: begin poll step 5/10", this);
3224
- }
2858
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2859
+ .AtLocation(whence.file(), whence.line())
2860
+ << "seq[" << this << "]: begin poll step 5/10";
3225
2861
  auto result = prior.prior.prior.prior.prior.current_promise();
3226
2862
  PromiseResult4* p = result.value_if_ready();
3227
- if (grpc_trace_promise_primitives.enabled()) {
3228
- gpr_log(
3229
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3230
- "seq[%p]: poll step 5/10 gets %s", this,
3231
- p != nullptr
3232
- ? (PromiseResultTraits4::IsOk(*p)
3233
- ? "ready"
3234
- : absl::StrCat("early-error:",
3235
- PromiseResultTraits4::ErrorString(*p))
3236
- .c_str())
3237
- : "pending");
3238
- }
2863
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2864
+ .AtLocation(whence.file(), whence.line())
2865
+ << "seq[" << this << "]: poll step 5/10 gets "
2866
+ << (p != nullptr
2867
+ ? (PromiseResultTraits4::IsOk(*p)
2868
+ ? "ready"
2869
+ : absl::StrCat("early-error:",
2870
+ PromiseResultTraits4::ErrorString(*p))
2871
+ .c_str())
2872
+ : "pending");
3239
2873
  if (p == nullptr) return Pending{};
3240
2874
  if (!PromiseResultTraits4::IsOk(*p)) {
3241
2875
  return PromiseResultTraits4::template ReturnValue<Result>(
@@ -3251,24 +2885,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
3251
2885
  }
3252
2886
  ABSL_FALLTHROUGH_INTENDED;
3253
2887
  case State::kState5: {
3254
- if (grpc_trace_promise_primitives.enabled()) {
3255
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3256
- "seq[%p]: begin poll step 6/10", this);
3257
- }
2888
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2889
+ .AtLocation(whence.file(), whence.line())
2890
+ << "seq[" << this << "]: begin poll step 6/10";
3258
2891
  auto result = prior.prior.prior.prior.current_promise();
3259
2892
  PromiseResult5* p = result.value_if_ready();
3260
- if (grpc_trace_promise_primitives.enabled()) {
3261
- gpr_log(
3262
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3263
- "seq[%p]: poll step 6/10 gets %s", this,
3264
- p != nullptr
3265
- ? (PromiseResultTraits5::IsOk(*p)
3266
- ? "ready"
3267
- : absl::StrCat("early-error:",
3268
- PromiseResultTraits5::ErrorString(*p))
3269
- .c_str())
3270
- : "pending");
3271
- }
2893
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2894
+ .AtLocation(whence.file(), whence.line())
2895
+ << "seq[" << this << "]: poll step 6/10 gets "
2896
+ << (p != nullptr
2897
+ ? (PromiseResultTraits5::IsOk(*p)
2898
+ ? "ready"
2899
+ : absl::StrCat("early-error:",
2900
+ PromiseResultTraits5::ErrorString(*p))
2901
+ .c_str())
2902
+ : "pending");
3272
2903
  if (p == nullptr) return Pending{};
3273
2904
  if (!PromiseResultTraits5::IsOk(*p)) {
3274
2905
  return PromiseResultTraits5::template ReturnValue<Result>(
@@ -3283,24 +2914,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
3283
2914
  }
3284
2915
  ABSL_FALLTHROUGH_INTENDED;
3285
2916
  case State::kState6: {
3286
- if (grpc_trace_promise_primitives.enabled()) {
3287
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3288
- "seq[%p]: begin poll step 7/10", this);
3289
- }
2917
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2918
+ .AtLocation(whence.file(), whence.line())
2919
+ << "seq[" << this << "]: begin poll step 7/10";
3290
2920
  auto result = prior.prior.prior.current_promise();
3291
2921
  PromiseResult6* p = result.value_if_ready();
3292
- if (grpc_trace_promise_primitives.enabled()) {
3293
- gpr_log(
3294
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3295
- "seq[%p]: poll step 7/10 gets %s", this,
3296
- p != nullptr
3297
- ? (PromiseResultTraits6::IsOk(*p)
3298
- ? "ready"
3299
- : absl::StrCat("early-error:",
3300
- PromiseResultTraits6::ErrorString(*p))
3301
- .c_str())
3302
- : "pending");
3303
- }
2922
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2923
+ .AtLocation(whence.file(), whence.line())
2924
+ << "seq[" << this << "]: poll step 7/10 gets "
2925
+ << (p != nullptr
2926
+ ? (PromiseResultTraits6::IsOk(*p)
2927
+ ? "ready"
2928
+ : absl::StrCat("early-error:",
2929
+ PromiseResultTraits6::ErrorString(*p))
2930
+ .c_str())
2931
+ : "pending");
3304
2932
  if (p == nullptr) return Pending{};
3305
2933
  if (!PromiseResultTraits6::IsOk(*p)) {
3306
2934
  return PromiseResultTraits6::template ReturnValue<Result>(
@@ -3315,24 +2943,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
3315
2943
  }
3316
2944
  ABSL_FALLTHROUGH_INTENDED;
3317
2945
  case State::kState7: {
3318
- if (grpc_trace_promise_primitives.enabled()) {
3319
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3320
- "seq[%p]: begin poll step 8/10", this);
3321
- }
2946
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2947
+ .AtLocation(whence.file(), whence.line())
2948
+ << "seq[" << this << "]: begin poll step 8/10";
3322
2949
  auto result = prior.prior.current_promise();
3323
2950
  PromiseResult7* p = result.value_if_ready();
3324
- if (grpc_trace_promise_primitives.enabled()) {
3325
- gpr_log(
3326
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3327
- "seq[%p]: poll step 8/10 gets %s", this,
3328
- p != nullptr
3329
- ? (PromiseResultTraits7::IsOk(*p)
3330
- ? "ready"
3331
- : absl::StrCat("early-error:",
3332
- PromiseResultTraits7::ErrorString(*p))
3333
- .c_str())
3334
- : "pending");
3335
- }
2951
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2952
+ .AtLocation(whence.file(), whence.line())
2953
+ << "seq[" << this << "]: poll step 8/10 gets "
2954
+ << (p != nullptr
2955
+ ? (PromiseResultTraits7::IsOk(*p)
2956
+ ? "ready"
2957
+ : absl::StrCat("early-error:",
2958
+ PromiseResultTraits7::ErrorString(*p))
2959
+ .c_str())
2960
+ : "pending");
3336
2961
  if (p == nullptr) return Pending{};
3337
2962
  if (!PromiseResultTraits7::IsOk(*p)) {
3338
2963
  return PromiseResultTraits7::template ReturnValue<Result>(
@@ -3347,24 +2972,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
3347
2972
  }
3348
2973
  ABSL_FALLTHROUGH_INTENDED;
3349
2974
  case State::kState8: {
3350
- if (grpc_trace_promise_primitives.enabled()) {
3351
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3352
- "seq[%p]: begin poll step 9/10", this);
3353
- }
2975
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2976
+ .AtLocation(whence.file(), whence.line())
2977
+ << "seq[" << this << "]: begin poll step 9/10";
3354
2978
  auto result = prior.current_promise();
3355
2979
  PromiseResult8* p = result.value_if_ready();
3356
- if (grpc_trace_promise_primitives.enabled()) {
3357
- gpr_log(
3358
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3359
- "seq[%p]: poll step 9/10 gets %s", this,
3360
- p != nullptr
3361
- ? (PromiseResultTraits8::IsOk(*p)
3362
- ? "ready"
3363
- : absl::StrCat("early-error:",
3364
- PromiseResultTraits8::ErrorString(*p))
3365
- .c_str())
3366
- : "pending");
3367
- }
2980
+ GRPC_TRACE_LOG(promise_primitives, INFO)
2981
+ .AtLocation(whence.file(), whence.line())
2982
+ << "seq[" << this << "]: poll step 9/10 gets "
2983
+ << (p != nullptr
2984
+ ? (PromiseResultTraits8::IsOk(*p)
2985
+ ? "ready"
2986
+ : absl::StrCat("early-error:",
2987
+ PromiseResultTraits8::ErrorString(*p))
2988
+ .c_str())
2989
+ : "pending");
3368
2990
  if (p == nullptr) return Pending{};
3369
2991
  if (!PromiseResultTraits8::IsOk(*p)) {
3370
2992
  return PromiseResultTraits8::template ReturnValue<Result>(
@@ -3380,16 +3002,14 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8> {
3380
3002
  ABSL_FALLTHROUGH_INTENDED;
3381
3003
  default:
3382
3004
  case State::kState9: {
3383
- if (grpc_trace_promise_primitives.enabled()) {
3384
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3385
- "seq[%p]: begin poll step 10/10", this);
3386
- }
3005
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3006
+ .AtLocation(whence.file(), whence.line())
3007
+ << "seq[" << this << "]: begin poll step 10/10";
3387
3008
  auto result = current_promise();
3388
- if (grpc_trace_promise_primitives.enabled()) {
3389
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3390
- "seq[%p]: poll step 10/10 gets %s", this,
3391
- result.ready() ? "ready" : "pending");
3392
- }
3009
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3010
+ .AtLocation(whence.file(), whence.line())
3011
+ << "seq[" << this << "]: poll step 10/10 gets "
3012
+ << (result.ready() ? "ready" : "pending");
3393
3013
  auto* p = result.value_if_ready();
3394
3014
  if (p == nullptr) return Pending{};
3395
3015
  return Result(std::move(*p));
@@ -3543,8 +3163,11 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
3543
3163
  GPR_NO_UNIQUE_ADDRESS State state = State::kState0;
3544
3164
  GPR_NO_UNIQUE_ADDRESS DebugLocation whence;
3545
3165
 
3546
- SeqState(P&& p, F0&& f0, F1&& f1, F2&& f2, F3&& f3, F4&& f4, F5&& f5, F6&& f6,
3547
- F7&& f7, F8&& f8, F9&& f9, DebugLocation whence) noexcept
3166
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(P&& p, F0&& f0, F1&& f1,
3167
+ F2&& f2, F3&& f3, F4&& f4,
3168
+ F5&& f5, F6&& f6, F7&& f7,
3169
+ F8&& f8, F9&& f9,
3170
+ DebugLocation whence) noexcept
3548
3171
  : whence(whence) {
3549
3172
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
3550
3173
  .current_promise,
@@ -3568,7 +3191,7 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
3568
3191
  Construct(&prior.prior.next_factory, std::forward<F8>(f8));
3569
3192
  Construct(&prior.next_factory, std::forward<F9>(f9));
3570
3193
  }
3571
- ~SeqState() {
3194
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION ~SeqState() {
3572
3195
  switch (state) {
3573
3196
  case State::kState0:
3574
3197
  Destruct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
@@ -3630,10 +3253,13 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
3630
3253
  tail9:
3631
3254
  Destruct(&prior.next_factory);
3632
3255
  }
3633
- SeqState(const SeqState& other) noexcept
3256
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(const SeqState& other) noexcept
3634
3257
  : state(other.state), whence(other.whence) {
3635
- CHECK(state == State::kState0);
3636
- Construct(&prior.current_promise, other.prior.current_promise);
3258
+ DCHECK(state == State::kState0);
3259
+ Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
3260
+ .current_promise,
3261
+ other.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
3262
+ .current_promise);
3637
3263
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
3638
3264
  .next_factory,
3639
3265
  other.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
@@ -3659,124 +3285,62 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
3659
3285
  Construct(&prior.next_factory, other.prior.next_factory);
3660
3286
  }
3661
3287
  SeqState& operator=(const SeqState& other) = delete;
3662
- SeqState(SeqState&& other) noexcept
3288
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(SeqState&& other) noexcept
3663
3289
  : state(other.state), whence(other.whence) {
3664
- switch (state) {
3665
- case State::kState0:
3666
- Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
3667
- .current_promise,
3668
- std::move(other.prior.prior.prior.prior.prior.prior.prior
3669
- .prior.prior.prior.current_promise));
3670
- goto tail0;
3671
- case State::kState1:
3672
- Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior
3673
- .current_promise,
3674
- std::move(other.prior.prior.prior.prior.prior.prior.prior
3675
- .prior.prior.current_promise));
3676
- goto tail1;
3677
- case State::kState2:
3678
- Construct(
3679
- &prior.prior.prior.prior.prior.prior.prior.prior.current_promise,
3680
- std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
3681
- .current_promise));
3682
- goto tail2;
3683
- case State::kState3:
3684
- Construct(&prior.prior.prior.prior.prior.prior.prior.current_promise,
3685
- std::move(other.prior.prior.prior.prior.prior.prior.prior
3686
- .current_promise));
3687
- goto tail3;
3688
- case State::kState4:
3689
- Construct(
3690
- &prior.prior.prior.prior.prior.prior.current_promise,
3691
- std::move(
3692
- other.prior.prior.prior.prior.prior.prior.current_promise));
3693
- goto tail4;
3694
- case State::kState5:
3695
- Construct(
3696
- &prior.prior.prior.prior.prior.current_promise,
3697
- std::move(other.prior.prior.prior.prior.prior.current_promise));
3698
- goto tail5;
3699
- case State::kState6:
3700
- Construct(&prior.prior.prior.prior.current_promise,
3701
- std::move(other.prior.prior.prior.prior.current_promise));
3702
- goto tail6;
3703
- case State::kState7:
3704
- Construct(&prior.prior.prior.current_promise,
3705
- std::move(other.prior.prior.prior.current_promise));
3706
- goto tail7;
3707
- case State::kState8:
3708
- Construct(&prior.prior.current_promise,
3709
- std::move(other.prior.prior.current_promise));
3710
- goto tail8;
3711
- case State::kState9:
3712
- Construct(&prior.current_promise,
3713
- std::move(other.prior.current_promise));
3714
- goto tail9;
3715
- case State::kState10:
3716
- Construct(&current_promise, std::move(other.current_promise));
3717
- return;
3718
- }
3719
- tail0:
3290
+ DCHECK(state == State::kState0);
3291
+ Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
3292
+ .current_promise,
3293
+ std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
3294
+ .prior.prior.current_promise));
3720
3295
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
3721
3296
  .next_factory,
3722
3297
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
3723
3298
  .prior.prior.next_factory));
3724
- tail1:
3725
3299
  Construct(
3726
3300
  &prior.prior.prior.prior.prior.prior.prior.prior.prior.next_factory,
3727
3301
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior.prior
3728
3302
  .next_factory));
3729
- tail2:
3730
3303
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.next_factory,
3731
3304
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
3732
3305
  .next_factory));
3733
- tail3:
3734
3306
  Construct(
3735
3307
  &prior.prior.prior.prior.prior.prior.prior.next_factory,
3736
3308
  std::move(
3737
3309
  other.prior.prior.prior.prior.prior.prior.prior.next_factory));
3738
- tail4:
3739
3310
  Construct(
3740
3311
  &prior.prior.prior.prior.prior.prior.next_factory,
3741
3312
  std::move(other.prior.prior.prior.prior.prior.prior.next_factory));
3742
- tail5:
3743
3313
  Construct(&prior.prior.prior.prior.prior.next_factory,
3744
3314
  std::move(other.prior.prior.prior.prior.prior.next_factory));
3745
- tail6:
3746
3315
  Construct(&prior.prior.prior.prior.next_factory,
3747
3316
  std::move(other.prior.prior.prior.prior.next_factory));
3748
- tail7:
3749
3317
  Construct(&prior.prior.prior.next_factory,
3750
3318
  std::move(other.prior.prior.prior.next_factory));
3751
- tail8:
3752
3319
  Construct(&prior.prior.next_factory,
3753
3320
  std::move(other.prior.prior.next_factory));
3754
- tail9:
3755
3321
  Construct(&prior.next_factory, std::move(other.prior.next_factory));
3756
3322
  }
3757
- SeqState& operator=(SeqState&& other) = delete;
3758
- Poll<Result> PollOnce() {
3323
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState& operator=(SeqState&& other) =
3324
+ delete;
3325
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> PollOnce() {
3759
3326
  switch (state) {
3760
3327
  case State::kState0: {
3761
- if (grpc_trace_promise_primitives.enabled()) {
3762
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3763
- "seq[%p]: begin poll step 1/11", this);
3764
- }
3328
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3329
+ .AtLocation(whence.file(), whence.line())
3330
+ << "seq[" << this << "]: begin poll step 1/11";
3765
3331
  auto result = prior.prior.prior.prior.prior.prior.prior.prior.prior
3766
3332
  .prior.current_promise();
3767
3333
  PromiseResult0* p = result.value_if_ready();
3768
- if (grpc_trace_promise_primitives.enabled()) {
3769
- gpr_log(
3770
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3771
- "seq[%p]: poll step 1/11 gets %s", this,
3772
- p != nullptr
3773
- ? (PromiseResultTraits0::IsOk(*p)
3774
- ? "ready"
3775
- : absl::StrCat("early-error:",
3776
- PromiseResultTraits0::ErrorString(*p))
3777
- .c_str())
3778
- : "pending");
3779
- }
3334
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3335
+ .AtLocation(whence.file(), whence.line())
3336
+ << "seq[" << this << "]: poll step 1/11 gets "
3337
+ << (p != nullptr
3338
+ ? (PromiseResultTraits0::IsOk(*p)
3339
+ ? "ready"
3340
+ : absl::StrCat("early-error:",
3341
+ PromiseResultTraits0::ErrorString(*p))
3342
+ .c_str())
3343
+ : "pending");
3780
3344
  if (p == nullptr) return Pending{};
3781
3345
  if (!PromiseResultTraits0::IsOk(*p)) {
3782
3346
  return PromiseResultTraits0::template ReturnValue<Result>(
@@ -3797,25 +3361,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
3797
3361
  }
3798
3362
  ABSL_FALLTHROUGH_INTENDED;
3799
3363
  case State::kState1: {
3800
- if (grpc_trace_promise_primitives.enabled()) {
3801
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3802
- "seq[%p]: begin poll step 2/11", this);
3803
- }
3364
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3365
+ .AtLocation(whence.file(), whence.line())
3366
+ << "seq[" << this << "]: begin poll step 2/11";
3804
3367
  auto result = prior.prior.prior.prior.prior.prior.prior.prior.prior
3805
3368
  .current_promise();
3806
3369
  PromiseResult1* p = result.value_if_ready();
3807
- if (grpc_trace_promise_primitives.enabled()) {
3808
- gpr_log(
3809
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3810
- "seq[%p]: poll step 2/11 gets %s", this,
3811
- p != nullptr
3812
- ? (PromiseResultTraits1::IsOk(*p)
3813
- ? "ready"
3814
- : absl::StrCat("early-error:",
3815
- PromiseResultTraits1::ErrorString(*p))
3816
- .c_str())
3817
- : "pending");
3818
- }
3370
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3371
+ .AtLocation(whence.file(), whence.line())
3372
+ << "seq[" << this << "]: poll step 2/11 gets "
3373
+ << (p != nullptr
3374
+ ? (PromiseResultTraits1::IsOk(*p)
3375
+ ? "ready"
3376
+ : absl::StrCat("early-error:",
3377
+ PromiseResultTraits1::ErrorString(*p))
3378
+ .c_str())
3379
+ : "pending");
3819
3380
  if (p == nullptr) return Pending{};
3820
3381
  if (!PromiseResultTraits1::IsOk(*p)) {
3821
3382
  return PromiseResultTraits1::template ReturnValue<Result>(
@@ -3835,25 +3396,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
3835
3396
  }
3836
3397
  ABSL_FALLTHROUGH_INTENDED;
3837
3398
  case State::kState2: {
3838
- if (grpc_trace_promise_primitives.enabled()) {
3839
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3840
- "seq[%p]: begin poll step 3/11", this);
3841
- }
3399
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3400
+ .AtLocation(whence.file(), whence.line())
3401
+ << "seq[" << this << "]: begin poll step 3/11";
3842
3402
  auto result =
3843
3403
  prior.prior.prior.prior.prior.prior.prior.prior.current_promise();
3844
3404
  PromiseResult2* p = result.value_if_ready();
3845
- if (grpc_trace_promise_primitives.enabled()) {
3846
- gpr_log(
3847
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3848
- "seq[%p]: poll step 3/11 gets %s", this,
3849
- p != nullptr
3850
- ? (PromiseResultTraits2::IsOk(*p)
3851
- ? "ready"
3852
- : absl::StrCat("early-error:",
3853
- PromiseResultTraits2::ErrorString(*p))
3854
- .c_str())
3855
- : "pending");
3856
- }
3405
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3406
+ .AtLocation(whence.file(), whence.line())
3407
+ << "seq[" << this << "]: poll step 3/11 gets "
3408
+ << (p != nullptr
3409
+ ? (PromiseResultTraits2::IsOk(*p)
3410
+ ? "ready"
3411
+ : absl::StrCat("early-error:",
3412
+ PromiseResultTraits2::ErrorString(*p))
3413
+ .c_str())
3414
+ : "pending");
3857
3415
  if (p == nullptr) return Pending{};
3858
3416
  if (!PromiseResultTraits2::IsOk(*p)) {
3859
3417
  return PromiseResultTraits2::template ReturnValue<Result>(
@@ -3871,25 +3429,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
3871
3429
  }
3872
3430
  ABSL_FALLTHROUGH_INTENDED;
3873
3431
  case State::kState3: {
3874
- if (grpc_trace_promise_primitives.enabled()) {
3875
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3876
- "seq[%p]: begin poll step 4/11", this);
3877
- }
3432
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3433
+ .AtLocation(whence.file(), whence.line())
3434
+ << "seq[" << this << "]: begin poll step 4/11";
3878
3435
  auto result =
3879
3436
  prior.prior.prior.prior.prior.prior.prior.current_promise();
3880
3437
  PromiseResult3* p = result.value_if_ready();
3881
- if (grpc_trace_promise_primitives.enabled()) {
3882
- gpr_log(
3883
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3884
- "seq[%p]: poll step 4/11 gets %s", this,
3885
- p != nullptr
3886
- ? (PromiseResultTraits3::IsOk(*p)
3887
- ? "ready"
3888
- : absl::StrCat("early-error:",
3889
- PromiseResultTraits3::ErrorString(*p))
3890
- .c_str())
3891
- : "pending");
3892
- }
3438
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3439
+ .AtLocation(whence.file(), whence.line())
3440
+ << "seq[" << this << "]: poll step 4/11 gets "
3441
+ << (p != nullptr
3442
+ ? (PromiseResultTraits3::IsOk(*p)
3443
+ ? "ready"
3444
+ : absl::StrCat("early-error:",
3445
+ PromiseResultTraits3::ErrorString(*p))
3446
+ .c_str())
3447
+ : "pending");
3893
3448
  if (p == nullptr) return Pending{};
3894
3449
  if (!PromiseResultTraits3::IsOk(*p)) {
3895
3450
  return PromiseResultTraits3::template ReturnValue<Result>(
@@ -3906,24 +3461,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
3906
3461
  }
3907
3462
  ABSL_FALLTHROUGH_INTENDED;
3908
3463
  case State::kState4: {
3909
- if (grpc_trace_promise_primitives.enabled()) {
3910
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3911
- "seq[%p]: begin poll step 5/11", this);
3912
- }
3464
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3465
+ .AtLocation(whence.file(), whence.line())
3466
+ << "seq[" << this << "]: begin poll step 5/11";
3913
3467
  auto result = prior.prior.prior.prior.prior.prior.current_promise();
3914
3468
  PromiseResult4* p = result.value_if_ready();
3915
- if (grpc_trace_promise_primitives.enabled()) {
3916
- gpr_log(
3917
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3918
- "seq[%p]: poll step 5/11 gets %s", this,
3919
- p != nullptr
3920
- ? (PromiseResultTraits4::IsOk(*p)
3921
- ? "ready"
3922
- : absl::StrCat("early-error:",
3923
- PromiseResultTraits4::ErrorString(*p))
3924
- .c_str())
3925
- : "pending");
3926
- }
3469
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3470
+ .AtLocation(whence.file(), whence.line())
3471
+ << "seq[" << this << "]: poll step 5/11 gets "
3472
+ << (p != nullptr
3473
+ ? (PromiseResultTraits4::IsOk(*p)
3474
+ ? "ready"
3475
+ : absl::StrCat("early-error:",
3476
+ PromiseResultTraits4::ErrorString(*p))
3477
+ .c_str())
3478
+ : "pending");
3927
3479
  if (p == nullptr) return Pending{};
3928
3480
  if (!PromiseResultTraits4::IsOk(*p)) {
3929
3481
  return PromiseResultTraits4::template ReturnValue<Result>(
@@ -3939,24 +3491,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
3939
3491
  }
3940
3492
  ABSL_FALLTHROUGH_INTENDED;
3941
3493
  case State::kState5: {
3942
- if (grpc_trace_promise_primitives.enabled()) {
3943
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3944
- "seq[%p]: begin poll step 6/11", this);
3945
- }
3494
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3495
+ .AtLocation(whence.file(), whence.line())
3496
+ << "seq[" << this << "]: begin poll step 6/11";
3946
3497
  auto result = prior.prior.prior.prior.prior.current_promise();
3947
3498
  PromiseResult5* p = result.value_if_ready();
3948
- if (grpc_trace_promise_primitives.enabled()) {
3949
- gpr_log(
3950
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3951
- "seq[%p]: poll step 6/11 gets %s", this,
3952
- p != nullptr
3953
- ? (PromiseResultTraits5::IsOk(*p)
3954
- ? "ready"
3955
- : absl::StrCat("early-error:",
3956
- PromiseResultTraits5::ErrorString(*p))
3957
- .c_str())
3958
- : "pending");
3959
- }
3499
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3500
+ .AtLocation(whence.file(), whence.line())
3501
+ << "seq[" << this << "]: poll step 6/11 gets "
3502
+ << (p != nullptr
3503
+ ? (PromiseResultTraits5::IsOk(*p)
3504
+ ? "ready"
3505
+ : absl::StrCat("early-error:",
3506
+ PromiseResultTraits5::ErrorString(*p))
3507
+ .c_str())
3508
+ : "pending");
3960
3509
  if (p == nullptr) return Pending{};
3961
3510
  if (!PromiseResultTraits5::IsOk(*p)) {
3962
3511
  return PromiseResultTraits5::template ReturnValue<Result>(
@@ -3972,24 +3521,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
3972
3521
  }
3973
3522
  ABSL_FALLTHROUGH_INTENDED;
3974
3523
  case State::kState6: {
3975
- if (grpc_trace_promise_primitives.enabled()) {
3976
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3977
- "seq[%p]: begin poll step 7/11", this);
3978
- }
3524
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3525
+ .AtLocation(whence.file(), whence.line())
3526
+ << "seq[" << this << "]: begin poll step 7/11";
3979
3527
  auto result = prior.prior.prior.prior.current_promise();
3980
3528
  PromiseResult6* p = result.value_if_ready();
3981
- if (grpc_trace_promise_primitives.enabled()) {
3982
- gpr_log(
3983
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
3984
- "seq[%p]: poll step 7/11 gets %s", this,
3985
- p != nullptr
3986
- ? (PromiseResultTraits6::IsOk(*p)
3987
- ? "ready"
3988
- : absl::StrCat("early-error:",
3989
- PromiseResultTraits6::ErrorString(*p))
3990
- .c_str())
3991
- : "pending");
3992
- }
3529
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3530
+ .AtLocation(whence.file(), whence.line())
3531
+ << "seq[" << this << "]: poll step 7/11 gets "
3532
+ << (p != nullptr
3533
+ ? (PromiseResultTraits6::IsOk(*p)
3534
+ ? "ready"
3535
+ : absl::StrCat("early-error:",
3536
+ PromiseResultTraits6::ErrorString(*p))
3537
+ .c_str())
3538
+ : "pending");
3993
3539
  if (p == nullptr) return Pending{};
3994
3540
  if (!PromiseResultTraits6::IsOk(*p)) {
3995
3541
  return PromiseResultTraits6::template ReturnValue<Result>(
@@ -4004,24 +3550,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
4004
3550
  }
4005
3551
  ABSL_FALLTHROUGH_INTENDED;
4006
3552
  case State::kState7: {
4007
- if (grpc_trace_promise_primitives.enabled()) {
4008
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4009
- "seq[%p]: begin poll step 8/11", this);
4010
- }
3553
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3554
+ .AtLocation(whence.file(), whence.line())
3555
+ << "seq[" << this << "]: begin poll step 8/11";
4011
3556
  auto result = prior.prior.prior.current_promise();
4012
3557
  PromiseResult7* p = result.value_if_ready();
4013
- if (grpc_trace_promise_primitives.enabled()) {
4014
- gpr_log(
4015
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4016
- "seq[%p]: poll step 8/11 gets %s", this,
4017
- p != nullptr
4018
- ? (PromiseResultTraits7::IsOk(*p)
4019
- ? "ready"
4020
- : absl::StrCat("early-error:",
4021
- PromiseResultTraits7::ErrorString(*p))
4022
- .c_str())
4023
- : "pending");
4024
- }
3558
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3559
+ .AtLocation(whence.file(), whence.line())
3560
+ << "seq[" << this << "]: poll step 8/11 gets "
3561
+ << (p != nullptr
3562
+ ? (PromiseResultTraits7::IsOk(*p)
3563
+ ? "ready"
3564
+ : absl::StrCat("early-error:",
3565
+ PromiseResultTraits7::ErrorString(*p))
3566
+ .c_str())
3567
+ : "pending");
4025
3568
  if (p == nullptr) return Pending{};
4026
3569
  if (!PromiseResultTraits7::IsOk(*p)) {
4027
3570
  return PromiseResultTraits7::template ReturnValue<Result>(
@@ -4036,24 +3579,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
4036
3579
  }
4037
3580
  ABSL_FALLTHROUGH_INTENDED;
4038
3581
  case State::kState8: {
4039
- if (grpc_trace_promise_primitives.enabled()) {
4040
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4041
- "seq[%p]: begin poll step 9/11", this);
4042
- }
3582
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3583
+ .AtLocation(whence.file(), whence.line())
3584
+ << "seq[" << this << "]: begin poll step 9/11";
4043
3585
  auto result = prior.prior.current_promise();
4044
3586
  PromiseResult8* p = result.value_if_ready();
4045
- if (grpc_trace_promise_primitives.enabled()) {
4046
- gpr_log(
4047
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4048
- "seq[%p]: poll step 9/11 gets %s", this,
4049
- p != nullptr
4050
- ? (PromiseResultTraits8::IsOk(*p)
4051
- ? "ready"
4052
- : absl::StrCat("early-error:",
4053
- PromiseResultTraits8::ErrorString(*p))
4054
- .c_str())
4055
- : "pending");
4056
- }
3587
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3588
+ .AtLocation(whence.file(), whence.line())
3589
+ << "seq[" << this << "]: poll step 9/11 gets "
3590
+ << (p != nullptr
3591
+ ? (PromiseResultTraits8::IsOk(*p)
3592
+ ? "ready"
3593
+ : absl::StrCat("early-error:",
3594
+ PromiseResultTraits8::ErrorString(*p))
3595
+ .c_str())
3596
+ : "pending");
4057
3597
  if (p == nullptr) return Pending{};
4058
3598
  if (!PromiseResultTraits8::IsOk(*p)) {
4059
3599
  return PromiseResultTraits8::template ReturnValue<Result>(
@@ -4068,24 +3608,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
4068
3608
  }
4069
3609
  ABSL_FALLTHROUGH_INTENDED;
4070
3610
  case State::kState9: {
4071
- if (grpc_trace_promise_primitives.enabled()) {
4072
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4073
- "seq[%p]: begin poll step 10/11", this);
4074
- }
3611
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3612
+ .AtLocation(whence.file(), whence.line())
3613
+ << "seq[" << this << "]: begin poll step 10/11";
4075
3614
  auto result = prior.current_promise();
4076
3615
  PromiseResult9* p = result.value_if_ready();
4077
- if (grpc_trace_promise_primitives.enabled()) {
4078
- gpr_log(
4079
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4080
- "seq[%p]: poll step 10/11 gets %s", this,
4081
- p != nullptr
4082
- ? (PromiseResultTraits9::IsOk(*p)
4083
- ? "ready"
4084
- : absl::StrCat("early-error:",
4085
- PromiseResultTraits9::ErrorString(*p))
4086
- .c_str())
4087
- : "pending");
4088
- }
3616
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3617
+ .AtLocation(whence.file(), whence.line())
3618
+ << "seq[" << this << "]: poll step 10/11 gets "
3619
+ << (p != nullptr
3620
+ ? (PromiseResultTraits9::IsOk(*p)
3621
+ ? "ready"
3622
+ : absl::StrCat("early-error:",
3623
+ PromiseResultTraits9::ErrorString(*p))
3624
+ .c_str())
3625
+ : "pending");
4089
3626
  if (p == nullptr) return Pending{};
4090
3627
  if (!PromiseResultTraits9::IsOk(*p)) {
4091
3628
  return PromiseResultTraits9::template ReturnValue<Result>(
@@ -4101,16 +3638,14 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9> {
4101
3638
  ABSL_FALLTHROUGH_INTENDED;
4102
3639
  default:
4103
3640
  case State::kState10: {
4104
- if (grpc_trace_promise_primitives.enabled()) {
4105
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4106
- "seq[%p]: begin poll step 11/11", this);
4107
- }
3641
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3642
+ .AtLocation(whence.file(), whence.line())
3643
+ << "seq[" << this << "]: begin poll step 11/11";
4108
3644
  auto result = current_promise();
4109
- if (grpc_trace_promise_primitives.enabled()) {
4110
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4111
- "seq[%p]: poll step 11/11 gets %s", this,
4112
- result.ready() ? "ready" : "pending");
4113
- }
3645
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3646
+ .AtLocation(whence.file(), whence.line())
3647
+ << "seq[" << this << "]: poll step 11/11 gets "
3648
+ << (result.ready() ? "ready" : "pending");
4114
3649
  auto* p = result.value_if_ready();
4115
3650
  if (p == nullptr) return Pending{};
4116
3651
  return Result(std::move(*p));
@@ -4277,8 +3812,11 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4277
3812
  GPR_NO_UNIQUE_ADDRESS State state = State::kState0;
4278
3813
  GPR_NO_UNIQUE_ADDRESS DebugLocation whence;
4279
3814
 
4280
- SeqState(P&& p, F0&& f0, F1&& f1, F2&& f2, F3&& f3, F4&& f4, F5&& f5, F6&& f6,
4281
- F7&& f7, F8&& f8, F9&& f9, F10&& f10, DebugLocation whence) noexcept
3815
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(P&& p, F0&& f0, F1&& f1,
3816
+ F2&& f2, F3&& f3, F4&& f4,
3817
+ F5&& f5, F6&& f6, F7&& f7,
3818
+ F8&& f8, F9&& f9, F10&& f10,
3819
+ DebugLocation whence) noexcept
4282
3820
  : whence(whence) {
4283
3821
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
4284
3822
  .current_promise,
@@ -4305,7 +3843,7 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4305
3843
  Construct(&prior.prior.next_factory, std::forward<F9>(f9));
4306
3844
  Construct(&prior.next_factory, std::forward<F10>(f10));
4307
3845
  }
4308
- ~SeqState() {
3846
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION ~SeqState() {
4309
3847
  switch (state) {
4310
3848
  case State::kState0:
4311
3849
  Destruct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
@@ -4374,10 +3912,13 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4374
3912
  tail10:
4375
3913
  Destruct(&prior.next_factory);
4376
3914
  }
4377
- SeqState(const SeqState& other) noexcept
3915
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(const SeqState& other) noexcept
4378
3916
  : state(other.state), whence(other.whence) {
4379
- CHECK(state == State::kState0);
4380
- Construct(&prior.current_promise, other.prior.current_promise);
3917
+ DCHECK(state == State::kState0);
3918
+ Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
3919
+ .current_promise,
3920
+ other.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
3921
+ .prior.current_promise);
4381
3922
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
4382
3923
  .next_factory,
4383
3924
  other.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
@@ -4407,135 +3948,66 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4407
3948
  Construct(&prior.next_factory, other.prior.next_factory);
4408
3949
  }
4409
3950
  SeqState& operator=(const SeqState& other) = delete;
4410
- SeqState(SeqState&& other) noexcept
3951
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(SeqState&& other) noexcept
4411
3952
  : state(other.state), whence(other.whence) {
4412
- switch (state) {
4413
- case State::kState0:
4414
- Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
4415
- .prior.current_promise,
4416
- std::move(other.prior.prior.prior.prior.prior.prior.prior
4417
- .prior.prior.prior.prior.current_promise));
4418
- goto tail0;
4419
- case State::kState1:
4420
- Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
4421
- .current_promise,
4422
- std::move(other.prior.prior.prior.prior.prior.prior.prior
4423
- .prior.prior.prior.current_promise));
4424
- goto tail1;
4425
- case State::kState2:
4426
- Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior
4427
- .current_promise,
4428
- std::move(other.prior.prior.prior.prior.prior.prior.prior
4429
- .prior.prior.current_promise));
4430
- goto tail2;
4431
- case State::kState3:
4432
- Construct(
4433
- &prior.prior.prior.prior.prior.prior.prior.prior.current_promise,
4434
- std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
4435
- .current_promise));
4436
- goto tail3;
4437
- case State::kState4:
4438
- Construct(&prior.prior.prior.prior.prior.prior.prior.current_promise,
4439
- std::move(other.prior.prior.prior.prior.prior.prior.prior
4440
- .current_promise));
4441
- goto tail4;
4442
- case State::kState5:
4443
- Construct(
4444
- &prior.prior.prior.prior.prior.prior.current_promise,
4445
- std::move(
4446
- other.prior.prior.prior.prior.prior.prior.current_promise));
4447
- goto tail5;
4448
- case State::kState6:
4449
- Construct(
4450
- &prior.prior.prior.prior.prior.current_promise,
4451
- std::move(other.prior.prior.prior.prior.prior.current_promise));
4452
- goto tail6;
4453
- case State::kState7:
4454
- Construct(&prior.prior.prior.prior.current_promise,
4455
- std::move(other.prior.prior.prior.prior.current_promise));
4456
- goto tail7;
4457
- case State::kState8:
4458
- Construct(&prior.prior.prior.current_promise,
4459
- std::move(other.prior.prior.prior.current_promise));
4460
- goto tail8;
4461
- case State::kState9:
4462
- Construct(&prior.prior.current_promise,
4463
- std::move(other.prior.prior.current_promise));
4464
- goto tail9;
4465
- case State::kState10:
4466
- Construct(&prior.current_promise,
4467
- std::move(other.prior.current_promise));
4468
- goto tail10;
4469
- case State::kState11:
4470
- Construct(&current_promise, std::move(other.current_promise));
4471
- return;
4472
- }
4473
- tail0:
3953
+ DCHECK(state == State::kState0);
3954
+ Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
3955
+ .current_promise,
3956
+ std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
3957
+ .prior.prior.prior.current_promise));
4474
3958
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
4475
3959
  .next_factory,
4476
3960
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
4477
3961
  .prior.prior.prior.next_factory));
4478
- tail1:
4479
3962
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
4480
3963
  .next_factory,
4481
3964
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
4482
3965
  .prior.prior.next_factory));
4483
- tail2:
4484
3966
  Construct(
4485
3967
  &prior.prior.prior.prior.prior.prior.prior.prior.prior.next_factory,
4486
3968
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior.prior
4487
3969
  .next_factory));
4488
- tail3:
4489
3970
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.next_factory,
4490
3971
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
4491
3972
  .next_factory));
4492
- tail4:
4493
3973
  Construct(
4494
3974
  &prior.prior.prior.prior.prior.prior.prior.next_factory,
4495
3975
  std::move(
4496
3976
  other.prior.prior.prior.prior.prior.prior.prior.next_factory));
4497
- tail5:
4498
3977
  Construct(
4499
3978
  &prior.prior.prior.prior.prior.prior.next_factory,
4500
3979
  std::move(other.prior.prior.prior.prior.prior.prior.next_factory));
4501
- tail6:
4502
3980
  Construct(&prior.prior.prior.prior.prior.next_factory,
4503
3981
  std::move(other.prior.prior.prior.prior.prior.next_factory));
4504
- tail7:
4505
3982
  Construct(&prior.prior.prior.prior.next_factory,
4506
3983
  std::move(other.prior.prior.prior.prior.next_factory));
4507
- tail8:
4508
3984
  Construct(&prior.prior.prior.next_factory,
4509
3985
  std::move(other.prior.prior.prior.next_factory));
4510
- tail9:
4511
3986
  Construct(&prior.prior.next_factory,
4512
3987
  std::move(other.prior.prior.next_factory));
4513
- tail10:
4514
3988
  Construct(&prior.next_factory, std::move(other.prior.next_factory));
4515
3989
  }
4516
- SeqState& operator=(SeqState&& other) = delete;
4517
- Poll<Result> PollOnce() {
3990
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState& operator=(SeqState&& other) =
3991
+ delete;
3992
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> PollOnce() {
4518
3993
  switch (state) {
4519
3994
  case State::kState0: {
4520
- if (grpc_trace_promise_primitives.enabled()) {
4521
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4522
- "seq[%p]: begin poll step 1/12", this);
4523
- }
3995
+ GRPC_TRACE_LOG(promise_primitives, INFO)
3996
+ .AtLocation(whence.file(), whence.line())
3997
+ << "seq[" << this << "]: begin poll step 1/12";
4524
3998
  auto result = prior.prior.prior.prior.prior.prior.prior.prior.prior
4525
3999
  .prior.prior.current_promise();
4526
4000
  PromiseResult0* p = result.value_if_ready();
4527
- if (grpc_trace_promise_primitives.enabled()) {
4528
- gpr_log(
4529
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4530
- "seq[%p]: poll step 1/12 gets %s", this,
4531
- p != nullptr
4532
- ? (PromiseResultTraits0::IsOk(*p)
4533
- ? "ready"
4534
- : absl::StrCat("early-error:",
4535
- PromiseResultTraits0::ErrorString(*p))
4536
- .c_str())
4537
- : "pending");
4538
- }
4001
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4002
+ .AtLocation(whence.file(), whence.line())
4003
+ << "seq[" << this << "]: poll step 1/12 gets "
4004
+ << (p != nullptr
4005
+ ? (PromiseResultTraits0::IsOk(*p)
4006
+ ? "ready"
4007
+ : absl::StrCat("early-error:",
4008
+ PromiseResultTraits0::ErrorString(*p))
4009
+ .c_str())
4010
+ : "pending");
4539
4011
  if (p == nullptr) return Pending{};
4540
4012
  if (!PromiseResultTraits0::IsOk(*p)) {
4541
4013
  return PromiseResultTraits0::template ReturnValue<Result>(
@@ -4556,25 +4028,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4556
4028
  }
4557
4029
  ABSL_FALLTHROUGH_INTENDED;
4558
4030
  case State::kState1: {
4559
- if (grpc_trace_promise_primitives.enabled()) {
4560
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4561
- "seq[%p]: begin poll step 2/12", this);
4562
- }
4031
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4032
+ .AtLocation(whence.file(), whence.line())
4033
+ << "seq[" << this << "]: begin poll step 2/12";
4563
4034
  auto result = prior.prior.prior.prior.prior.prior.prior.prior.prior
4564
4035
  .prior.current_promise();
4565
4036
  PromiseResult1* p = result.value_if_ready();
4566
- if (grpc_trace_promise_primitives.enabled()) {
4567
- gpr_log(
4568
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4569
- "seq[%p]: poll step 2/12 gets %s", this,
4570
- p != nullptr
4571
- ? (PromiseResultTraits1::IsOk(*p)
4572
- ? "ready"
4573
- : absl::StrCat("early-error:",
4574
- PromiseResultTraits1::ErrorString(*p))
4575
- .c_str())
4576
- : "pending");
4577
- }
4037
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4038
+ .AtLocation(whence.file(), whence.line())
4039
+ << "seq[" << this << "]: poll step 2/12 gets "
4040
+ << (p != nullptr
4041
+ ? (PromiseResultTraits1::IsOk(*p)
4042
+ ? "ready"
4043
+ : absl::StrCat("early-error:",
4044
+ PromiseResultTraits1::ErrorString(*p))
4045
+ .c_str())
4046
+ : "pending");
4578
4047
  if (p == nullptr) return Pending{};
4579
4048
  if (!PromiseResultTraits1::IsOk(*p)) {
4580
4049
  return PromiseResultTraits1::template ReturnValue<Result>(
@@ -4595,25 +4064,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4595
4064
  }
4596
4065
  ABSL_FALLTHROUGH_INTENDED;
4597
4066
  case State::kState2: {
4598
- if (grpc_trace_promise_primitives.enabled()) {
4599
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4600
- "seq[%p]: begin poll step 3/12", this);
4601
- }
4067
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4068
+ .AtLocation(whence.file(), whence.line())
4069
+ << "seq[" << this << "]: begin poll step 3/12";
4602
4070
  auto result = prior.prior.prior.prior.prior.prior.prior.prior.prior
4603
4071
  .current_promise();
4604
4072
  PromiseResult2* p = result.value_if_ready();
4605
- if (grpc_trace_promise_primitives.enabled()) {
4606
- gpr_log(
4607
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4608
- "seq[%p]: poll step 3/12 gets %s", this,
4609
- p != nullptr
4610
- ? (PromiseResultTraits2::IsOk(*p)
4611
- ? "ready"
4612
- : absl::StrCat("early-error:",
4613
- PromiseResultTraits2::ErrorString(*p))
4614
- .c_str())
4615
- : "pending");
4616
- }
4073
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4074
+ .AtLocation(whence.file(), whence.line())
4075
+ << "seq[" << this << "]: poll step 3/12 gets "
4076
+ << (p != nullptr
4077
+ ? (PromiseResultTraits2::IsOk(*p)
4078
+ ? "ready"
4079
+ : absl::StrCat("early-error:",
4080
+ PromiseResultTraits2::ErrorString(*p))
4081
+ .c_str())
4082
+ : "pending");
4617
4083
  if (p == nullptr) return Pending{};
4618
4084
  if (!PromiseResultTraits2::IsOk(*p)) {
4619
4085
  return PromiseResultTraits2::template ReturnValue<Result>(
@@ -4633,25 +4099,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4633
4099
  }
4634
4100
  ABSL_FALLTHROUGH_INTENDED;
4635
4101
  case State::kState3: {
4636
- if (grpc_trace_promise_primitives.enabled()) {
4637
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4638
- "seq[%p]: begin poll step 4/12", this);
4639
- }
4102
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4103
+ .AtLocation(whence.file(), whence.line())
4104
+ << "seq[" << this << "]: begin poll step 4/12";
4640
4105
  auto result =
4641
4106
  prior.prior.prior.prior.prior.prior.prior.prior.current_promise();
4642
4107
  PromiseResult3* p = result.value_if_ready();
4643
- if (grpc_trace_promise_primitives.enabled()) {
4644
- gpr_log(
4645
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4646
- "seq[%p]: poll step 4/12 gets %s", this,
4647
- p != nullptr
4648
- ? (PromiseResultTraits3::IsOk(*p)
4649
- ? "ready"
4650
- : absl::StrCat("early-error:",
4651
- PromiseResultTraits3::ErrorString(*p))
4652
- .c_str())
4653
- : "pending");
4654
- }
4108
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4109
+ .AtLocation(whence.file(), whence.line())
4110
+ << "seq[" << this << "]: poll step 4/12 gets "
4111
+ << (p != nullptr
4112
+ ? (PromiseResultTraits3::IsOk(*p)
4113
+ ? "ready"
4114
+ : absl::StrCat("early-error:",
4115
+ PromiseResultTraits3::ErrorString(*p))
4116
+ .c_str())
4117
+ : "pending");
4655
4118
  if (p == nullptr) return Pending{};
4656
4119
  if (!PromiseResultTraits3::IsOk(*p)) {
4657
4120
  return PromiseResultTraits3::template ReturnValue<Result>(
@@ -4669,25 +4132,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4669
4132
  }
4670
4133
  ABSL_FALLTHROUGH_INTENDED;
4671
4134
  case State::kState4: {
4672
- if (grpc_trace_promise_primitives.enabled()) {
4673
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4674
- "seq[%p]: begin poll step 5/12", this);
4675
- }
4135
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4136
+ .AtLocation(whence.file(), whence.line())
4137
+ << "seq[" << this << "]: begin poll step 5/12";
4676
4138
  auto result =
4677
4139
  prior.prior.prior.prior.prior.prior.prior.current_promise();
4678
4140
  PromiseResult4* p = result.value_if_ready();
4679
- if (grpc_trace_promise_primitives.enabled()) {
4680
- gpr_log(
4681
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4682
- "seq[%p]: poll step 5/12 gets %s", this,
4683
- p != nullptr
4684
- ? (PromiseResultTraits4::IsOk(*p)
4685
- ? "ready"
4686
- : absl::StrCat("early-error:",
4687
- PromiseResultTraits4::ErrorString(*p))
4688
- .c_str())
4689
- : "pending");
4690
- }
4141
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4142
+ .AtLocation(whence.file(), whence.line())
4143
+ << "seq[" << this << "]: poll step 5/12 gets "
4144
+ << (p != nullptr
4145
+ ? (PromiseResultTraits4::IsOk(*p)
4146
+ ? "ready"
4147
+ : absl::StrCat("early-error:",
4148
+ PromiseResultTraits4::ErrorString(*p))
4149
+ .c_str())
4150
+ : "pending");
4691
4151
  if (p == nullptr) return Pending{};
4692
4152
  if (!PromiseResultTraits4::IsOk(*p)) {
4693
4153
  return PromiseResultTraits4::template ReturnValue<Result>(
@@ -4704,24 +4164,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4704
4164
  }
4705
4165
  ABSL_FALLTHROUGH_INTENDED;
4706
4166
  case State::kState5: {
4707
- if (grpc_trace_promise_primitives.enabled()) {
4708
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4709
- "seq[%p]: begin poll step 6/12", this);
4710
- }
4167
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4168
+ .AtLocation(whence.file(), whence.line())
4169
+ << "seq[" << this << "]: begin poll step 6/12";
4711
4170
  auto result = prior.prior.prior.prior.prior.prior.current_promise();
4712
4171
  PromiseResult5* p = result.value_if_ready();
4713
- if (grpc_trace_promise_primitives.enabled()) {
4714
- gpr_log(
4715
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4716
- "seq[%p]: poll step 6/12 gets %s", this,
4717
- p != nullptr
4718
- ? (PromiseResultTraits5::IsOk(*p)
4719
- ? "ready"
4720
- : absl::StrCat("early-error:",
4721
- PromiseResultTraits5::ErrorString(*p))
4722
- .c_str())
4723
- : "pending");
4724
- }
4172
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4173
+ .AtLocation(whence.file(), whence.line())
4174
+ << "seq[" << this << "]: poll step 6/12 gets "
4175
+ << (p != nullptr
4176
+ ? (PromiseResultTraits5::IsOk(*p)
4177
+ ? "ready"
4178
+ : absl::StrCat("early-error:",
4179
+ PromiseResultTraits5::ErrorString(*p))
4180
+ .c_str())
4181
+ : "pending");
4725
4182
  if (p == nullptr) return Pending{};
4726
4183
  if (!PromiseResultTraits5::IsOk(*p)) {
4727
4184
  return PromiseResultTraits5::template ReturnValue<Result>(
@@ -4737,24 +4194,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4737
4194
  }
4738
4195
  ABSL_FALLTHROUGH_INTENDED;
4739
4196
  case State::kState6: {
4740
- if (grpc_trace_promise_primitives.enabled()) {
4741
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4742
- "seq[%p]: begin poll step 7/12", this);
4743
- }
4197
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4198
+ .AtLocation(whence.file(), whence.line())
4199
+ << "seq[" << this << "]: begin poll step 7/12";
4744
4200
  auto result = prior.prior.prior.prior.prior.current_promise();
4745
4201
  PromiseResult6* p = result.value_if_ready();
4746
- if (grpc_trace_promise_primitives.enabled()) {
4747
- gpr_log(
4748
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4749
- "seq[%p]: poll step 7/12 gets %s", this,
4750
- p != nullptr
4751
- ? (PromiseResultTraits6::IsOk(*p)
4752
- ? "ready"
4753
- : absl::StrCat("early-error:",
4754
- PromiseResultTraits6::ErrorString(*p))
4755
- .c_str())
4756
- : "pending");
4757
- }
4202
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4203
+ .AtLocation(whence.file(), whence.line())
4204
+ << "seq[" << this << "]: poll step 7/12 gets "
4205
+ << (p != nullptr
4206
+ ? (PromiseResultTraits6::IsOk(*p)
4207
+ ? "ready"
4208
+ : absl::StrCat("early-error:",
4209
+ PromiseResultTraits6::ErrorString(*p))
4210
+ .c_str())
4211
+ : "pending");
4758
4212
  if (p == nullptr) return Pending{};
4759
4213
  if (!PromiseResultTraits6::IsOk(*p)) {
4760
4214
  return PromiseResultTraits6::template ReturnValue<Result>(
@@ -4770,24 +4224,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4770
4224
  }
4771
4225
  ABSL_FALLTHROUGH_INTENDED;
4772
4226
  case State::kState7: {
4773
- if (grpc_trace_promise_primitives.enabled()) {
4774
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4775
- "seq[%p]: begin poll step 8/12", this);
4776
- }
4227
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4228
+ .AtLocation(whence.file(), whence.line())
4229
+ << "seq[" << this << "]: begin poll step 8/12";
4777
4230
  auto result = prior.prior.prior.prior.current_promise();
4778
4231
  PromiseResult7* p = result.value_if_ready();
4779
- if (grpc_trace_promise_primitives.enabled()) {
4780
- gpr_log(
4781
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4782
- "seq[%p]: poll step 8/12 gets %s", this,
4783
- p != nullptr
4784
- ? (PromiseResultTraits7::IsOk(*p)
4785
- ? "ready"
4786
- : absl::StrCat("early-error:",
4787
- PromiseResultTraits7::ErrorString(*p))
4788
- .c_str())
4789
- : "pending");
4790
- }
4232
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4233
+ .AtLocation(whence.file(), whence.line())
4234
+ << "seq[" << this << "]: poll step 8/12 gets "
4235
+ << (p != nullptr
4236
+ ? (PromiseResultTraits7::IsOk(*p)
4237
+ ? "ready"
4238
+ : absl::StrCat("early-error:",
4239
+ PromiseResultTraits7::ErrorString(*p))
4240
+ .c_str())
4241
+ : "pending");
4791
4242
  if (p == nullptr) return Pending{};
4792
4243
  if (!PromiseResultTraits7::IsOk(*p)) {
4793
4244
  return PromiseResultTraits7::template ReturnValue<Result>(
@@ -4802,24 +4253,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4802
4253
  }
4803
4254
  ABSL_FALLTHROUGH_INTENDED;
4804
4255
  case State::kState8: {
4805
- if (grpc_trace_promise_primitives.enabled()) {
4806
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4807
- "seq[%p]: begin poll step 9/12", this);
4808
- }
4256
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4257
+ .AtLocation(whence.file(), whence.line())
4258
+ << "seq[" << this << "]: begin poll step 9/12";
4809
4259
  auto result = prior.prior.prior.current_promise();
4810
4260
  PromiseResult8* p = result.value_if_ready();
4811
- if (grpc_trace_promise_primitives.enabled()) {
4812
- gpr_log(
4813
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4814
- "seq[%p]: poll step 9/12 gets %s", this,
4815
- p != nullptr
4816
- ? (PromiseResultTraits8::IsOk(*p)
4817
- ? "ready"
4818
- : absl::StrCat("early-error:",
4819
- PromiseResultTraits8::ErrorString(*p))
4820
- .c_str())
4821
- : "pending");
4822
- }
4261
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4262
+ .AtLocation(whence.file(), whence.line())
4263
+ << "seq[" << this << "]: poll step 9/12 gets "
4264
+ << (p != nullptr
4265
+ ? (PromiseResultTraits8::IsOk(*p)
4266
+ ? "ready"
4267
+ : absl::StrCat("early-error:",
4268
+ PromiseResultTraits8::ErrorString(*p))
4269
+ .c_str())
4270
+ : "pending");
4823
4271
  if (p == nullptr) return Pending{};
4824
4272
  if (!PromiseResultTraits8::IsOk(*p)) {
4825
4273
  return PromiseResultTraits8::template ReturnValue<Result>(
@@ -4834,24 +4282,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4834
4282
  }
4835
4283
  ABSL_FALLTHROUGH_INTENDED;
4836
4284
  case State::kState9: {
4837
- if (grpc_trace_promise_primitives.enabled()) {
4838
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4839
- "seq[%p]: begin poll step 10/12", this);
4840
- }
4285
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4286
+ .AtLocation(whence.file(), whence.line())
4287
+ << "seq[" << this << "]: begin poll step 10/12";
4841
4288
  auto result = prior.prior.current_promise();
4842
4289
  PromiseResult9* p = result.value_if_ready();
4843
- if (grpc_trace_promise_primitives.enabled()) {
4844
- gpr_log(
4845
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4846
- "seq[%p]: poll step 10/12 gets %s", this,
4847
- p != nullptr
4848
- ? (PromiseResultTraits9::IsOk(*p)
4849
- ? "ready"
4850
- : absl::StrCat("early-error:",
4851
- PromiseResultTraits9::ErrorString(*p))
4852
- .c_str())
4853
- : "pending");
4854
- }
4290
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4291
+ .AtLocation(whence.file(), whence.line())
4292
+ << "seq[" << this << "]: poll step 10/12 gets "
4293
+ << (p != nullptr
4294
+ ? (PromiseResultTraits9::IsOk(*p)
4295
+ ? "ready"
4296
+ : absl::StrCat("early-error:",
4297
+ PromiseResultTraits9::ErrorString(*p))
4298
+ .c_str())
4299
+ : "pending");
4855
4300
  if (p == nullptr) return Pending{};
4856
4301
  if (!PromiseResultTraits9::IsOk(*p)) {
4857
4302
  return PromiseResultTraits9::template ReturnValue<Result>(
@@ -4866,24 +4311,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4866
4311
  }
4867
4312
  ABSL_FALLTHROUGH_INTENDED;
4868
4313
  case State::kState10: {
4869
- if (grpc_trace_promise_primitives.enabled()) {
4870
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4871
- "seq[%p]: begin poll step 11/12", this);
4872
- }
4314
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4315
+ .AtLocation(whence.file(), whence.line())
4316
+ << "seq[" << this << "]: begin poll step 11/12";
4873
4317
  auto result = prior.current_promise();
4874
4318
  PromiseResult10* p = result.value_if_ready();
4875
- if (grpc_trace_promise_primitives.enabled()) {
4876
- gpr_log(
4877
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4878
- "seq[%p]: poll step 11/12 gets %s", this,
4879
- p != nullptr
4880
- ? (PromiseResultTraits10::IsOk(*p)
4881
- ? "ready"
4882
- : absl::StrCat("early-error:",
4883
- PromiseResultTraits10::ErrorString(*p))
4884
- .c_str())
4885
- : "pending");
4886
- }
4319
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4320
+ .AtLocation(whence.file(), whence.line())
4321
+ << "seq[" << this << "]: poll step 11/12 gets "
4322
+ << (p != nullptr
4323
+ ? (PromiseResultTraits10::IsOk(*p)
4324
+ ? "ready"
4325
+ : absl::StrCat(
4326
+ "early-error:",
4327
+ PromiseResultTraits10::ErrorString(*p))
4328
+ .c_str())
4329
+ : "pending");
4887
4330
  if (p == nullptr) return Pending{};
4888
4331
  if (!PromiseResultTraits10::IsOk(*p)) {
4889
4332
  return PromiseResultTraits10::template ReturnValue<Result>(
@@ -4899,16 +4342,14 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10> {
4899
4342
  ABSL_FALLTHROUGH_INTENDED;
4900
4343
  default:
4901
4344
  case State::kState11: {
4902
- if (grpc_trace_promise_primitives.enabled()) {
4903
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4904
- "seq[%p]: begin poll step 12/12", this);
4905
- }
4345
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4346
+ .AtLocation(whence.file(), whence.line())
4347
+ << "seq[" << this << "]: begin poll step 12/12";
4906
4348
  auto result = current_promise();
4907
- if (grpc_trace_promise_primitives.enabled()) {
4908
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
4909
- "seq[%p]: poll step 12/12 gets %s", this,
4910
- result.ready() ? "ready" : "pending");
4911
- }
4349
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4350
+ .AtLocation(whence.file(), whence.line())
4351
+ << "seq[" << this << "]: poll step 12/12 gets "
4352
+ << (result.ready() ? "ready" : "pending");
4912
4353
  auto* p = result.value_if_ready();
4913
4354
  if (p == nullptr) return Pending{};
4914
4355
  return Result(std::move(*p));
@@ -5089,9 +4530,12 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5089
4530
  GPR_NO_UNIQUE_ADDRESS State state = State::kState0;
5090
4531
  GPR_NO_UNIQUE_ADDRESS DebugLocation whence;
5091
4532
 
5092
- SeqState(P&& p, F0&& f0, F1&& f1, F2&& f2, F3&& f3, F4&& f4, F5&& f5, F6&& f6,
5093
- F7&& f7, F8&& f8, F9&& f9, F10&& f10, F11&& f11,
5094
- DebugLocation whence) noexcept
4533
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(P&& p, F0&& f0, F1&& f1,
4534
+ F2&& f2, F3&& f3, F4&& f4,
4535
+ F5&& f5, F6&& f6, F7&& f7,
4536
+ F8&& f8, F9&& f9, F10&& f10,
4537
+ F11&& f11,
4538
+ DebugLocation whence) noexcept
5095
4539
  : whence(whence) {
5096
4540
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
5097
4541
  .prior.current_promise,
@@ -5121,7 +4565,7 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5121
4565
  Construct(&prior.prior.next_factory, std::forward<F10>(f10));
5122
4566
  Construct(&prior.next_factory, std::forward<F11>(f11));
5123
4567
  }
5124
- ~SeqState() {
4568
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION ~SeqState() {
5125
4569
  switch (state) {
5126
4570
  case State::kState0:
5127
4571
  Destruct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
@@ -5197,10 +4641,13 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5197
4641
  tail11:
5198
4642
  Destruct(&prior.next_factory);
5199
4643
  }
5200
- SeqState(const SeqState& other) noexcept
4644
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(const SeqState& other) noexcept
5201
4645
  : state(other.state), whence(other.whence) {
5202
- CHECK(state == State::kState0);
5203
- Construct(&prior.current_promise, other.prior.current_promise);
4646
+ DCHECK(state == State::kState0);
4647
+ Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
4648
+ .prior.current_promise,
4649
+ other.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
4650
+ .prior.prior.current_promise);
5204
4651
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
5205
4652
  .prior.next_factory,
5206
4653
  other.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
@@ -5234,147 +4681,70 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5234
4681
  Construct(&prior.next_factory, other.prior.next_factory);
5235
4682
  }
5236
4683
  SeqState& operator=(const SeqState& other) = delete;
5237
- SeqState(SeqState&& other) noexcept
4684
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState(SeqState&& other) noexcept
5238
4685
  : state(other.state), whence(other.whence) {
5239
- switch (state) {
5240
- case State::kState0:
5241
- Construct(
5242
- &prior.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
5243
- .prior.current_promise,
5244
- std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
5245
- .prior.prior.prior.prior.current_promise));
5246
- goto tail0;
5247
- case State::kState1:
5248
- Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
5249
- .prior.current_promise,
5250
- std::move(other.prior.prior.prior.prior.prior.prior.prior
5251
- .prior.prior.prior.prior.current_promise));
5252
- goto tail1;
5253
- case State::kState2:
5254
- Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
5255
- .current_promise,
5256
- std::move(other.prior.prior.prior.prior.prior.prior.prior
5257
- .prior.prior.prior.current_promise));
5258
- goto tail2;
5259
- case State::kState3:
5260
- Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior
5261
- .current_promise,
5262
- std::move(other.prior.prior.prior.prior.prior.prior.prior
5263
- .prior.prior.current_promise));
5264
- goto tail3;
5265
- case State::kState4:
5266
- Construct(
5267
- &prior.prior.prior.prior.prior.prior.prior.prior.current_promise,
5268
- std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
5269
- .current_promise));
5270
- goto tail4;
5271
- case State::kState5:
5272
- Construct(&prior.prior.prior.prior.prior.prior.prior.current_promise,
5273
- std::move(other.prior.prior.prior.prior.prior.prior.prior
5274
- .current_promise));
5275
- goto tail5;
5276
- case State::kState6:
5277
- Construct(
5278
- &prior.prior.prior.prior.prior.prior.current_promise,
5279
- std::move(
5280
- other.prior.prior.prior.prior.prior.prior.current_promise));
5281
- goto tail6;
5282
- case State::kState7:
5283
- Construct(
5284
- &prior.prior.prior.prior.prior.current_promise,
5285
- std::move(other.prior.prior.prior.prior.prior.current_promise));
5286
- goto tail7;
5287
- case State::kState8:
5288
- Construct(&prior.prior.prior.prior.current_promise,
5289
- std::move(other.prior.prior.prior.prior.current_promise));
5290
- goto tail8;
5291
- case State::kState9:
5292
- Construct(&prior.prior.prior.current_promise,
5293
- std::move(other.prior.prior.prior.current_promise));
5294
- goto tail9;
5295
- case State::kState10:
5296
- Construct(&prior.prior.current_promise,
5297
- std::move(other.prior.prior.current_promise));
5298
- goto tail10;
5299
- case State::kState11:
5300
- Construct(&prior.current_promise,
5301
- std::move(other.prior.current_promise));
5302
- goto tail11;
5303
- case State::kState12:
5304
- Construct(&current_promise, std::move(other.current_promise));
5305
- return;
5306
- }
5307
- tail0:
4686
+ DCHECK(state == State::kState0);
4687
+ Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
4688
+ .prior.current_promise,
4689
+ std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
4690
+ .prior.prior.prior.prior.current_promise));
5308
4691
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
5309
4692
  .prior.next_factory,
5310
4693
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
5311
4694
  .prior.prior.prior.prior.next_factory));
5312
- tail1:
5313
4695
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
5314
4696
  .next_factory,
5315
4697
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
5316
4698
  .prior.prior.prior.next_factory));
5317
- tail2:
5318
4699
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.prior.prior
5319
4700
  .next_factory,
5320
4701
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
5321
4702
  .prior.prior.next_factory));
5322
- tail3:
5323
4703
  Construct(
5324
4704
  &prior.prior.prior.prior.prior.prior.prior.prior.prior.next_factory,
5325
4705
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior.prior
5326
4706
  .next_factory));
5327
- tail4:
5328
4707
  Construct(&prior.prior.prior.prior.prior.prior.prior.prior.next_factory,
5329
4708
  std::move(other.prior.prior.prior.prior.prior.prior.prior.prior
5330
4709
  .next_factory));
5331
- tail5:
5332
4710
  Construct(
5333
4711
  &prior.prior.prior.prior.prior.prior.prior.next_factory,
5334
4712
  std::move(
5335
4713
  other.prior.prior.prior.prior.prior.prior.prior.next_factory));
5336
- tail6:
5337
4714
  Construct(
5338
4715
  &prior.prior.prior.prior.prior.prior.next_factory,
5339
4716
  std::move(other.prior.prior.prior.prior.prior.prior.next_factory));
5340
- tail7:
5341
4717
  Construct(&prior.prior.prior.prior.prior.next_factory,
5342
4718
  std::move(other.prior.prior.prior.prior.prior.next_factory));
5343
- tail8:
5344
4719
  Construct(&prior.prior.prior.prior.next_factory,
5345
4720
  std::move(other.prior.prior.prior.prior.next_factory));
5346
- tail9:
5347
4721
  Construct(&prior.prior.prior.next_factory,
5348
4722
  std::move(other.prior.prior.prior.next_factory));
5349
- tail10:
5350
4723
  Construct(&prior.prior.next_factory,
5351
4724
  std::move(other.prior.prior.next_factory));
5352
- tail11:
5353
4725
  Construct(&prior.next_factory, std::move(other.prior.next_factory));
5354
4726
  }
5355
- SeqState& operator=(SeqState&& other) = delete;
5356
- Poll<Result> PollOnce() {
4727
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION SeqState& operator=(SeqState&& other) =
4728
+ delete;
4729
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> PollOnce() {
5357
4730
  switch (state) {
5358
4731
  case State::kState0: {
5359
- if (grpc_trace_promise_primitives.enabled()) {
5360
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5361
- "seq[%p]: begin poll step 1/13", this);
5362
- }
4732
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4733
+ .AtLocation(whence.file(), whence.line())
4734
+ << "seq[" << this << "]: begin poll step 1/13";
5363
4735
  auto result = prior.prior.prior.prior.prior.prior.prior.prior.prior
5364
4736
  .prior.prior.prior.current_promise();
5365
4737
  PromiseResult0* p = result.value_if_ready();
5366
- if (grpc_trace_promise_primitives.enabled()) {
5367
- gpr_log(
5368
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5369
- "seq[%p]: poll step 1/13 gets %s", this,
5370
- p != nullptr
5371
- ? (PromiseResultTraits0::IsOk(*p)
5372
- ? "ready"
5373
- : absl::StrCat("early-error:",
5374
- PromiseResultTraits0::ErrorString(*p))
5375
- .c_str())
5376
- : "pending");
5377
- }
4738
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4739
+ .AtLocation(whence.file(), whence.line())
4740
+ << "seq[" << this << "]: poll step 1/13 gets "
4741
+ << (p != nullptr
4742
+ ? (PromiseResultTraits0::IsOk(*p)
4743
+ ? "ready"
4744
+ : absl::StrCat("early-error:",
4745
+ PromiseResultTraits0::ErrorString(*p))
4746
+ .c_str())
4747
+ : "pending");
5378
4748
  if (p == nullptr) return Pending{};
5379
4749
  if (!PromiseResultTraits0::IsOk(*p)) {
5380
4750
  return PromiseResultTraits0::template ReturnValue<Result>(
@@ -5395,25 +4765,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5395
4765
  }
5396
4766
  ABSL_FALLTHROUGH_INTENDED;
5397
4767
  case State::kState1: {
5398
- if (grpc_trace_promise_primitives.enabled()) {
5399
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5400
- "seq[%p]: begin poll step 2/13", this);
5401
- }
4768
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4769
+ .AtLocation(whence.file(), whence.line())
4770
+ << "seq[" << this << "]: begin poll step 2/13";
5402
4771
  auto result = prior.prior.prior.prior.prior.prior.prior.prior.prior
5403
4772
  .prior.prior.current_promise();
5404
4773
  PromiseResult1* p = result.value_if_ready();
5405
- if (grpc_trace_promise_primitives.enabled()) {
5406
- gpr_log(
5407
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5408
- "seq[%p]: poll step 2/13 gets %s", this,
5409
- p != nullptr
5410
- ? (PromiseResultTraits1::IsOk(*p)
5411
- ? "ready"
5412
- : absl::StrCat("early-error:",
5413
- PromiseResultTraits1::ErrorString(*p))
5414
- .c_str())
5415
- : "pending");
5416
- }
4774
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4775
+ .AtLocation(whence.file(), whence.line())
4776
+ << "seq[" << this << "]: poll step 2/13 gets "
4777
+ << (p != nullptr
4778
+ ? (PromiseResultTraits1::IsOk(*p)
4779
+ ? "ready"
4780
+ : absl::StrCat("early-error:",
4781
+ PromiseResultTraits1::ErrorString(*p))
4782
+ .c_str())
4783
+ : "pending");
5417
4784
  if (p == nullptr) return Pending{};
5418
4785
  if (!PromiseResultTraits1::IsOk(*p)) {
5419
4786
  return PromiseResultTraits1::template ReturnValue<Result>(
@@ -5434,25 +4801,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5434
4801
  }
5435
4802
  ABSL_FALLTHROUGH_INTENDED;
5436
4803
  case State::kState2: {
5437
- if (grpc_trace_promise_primitives.enabled()) {
5438
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5439
- "seq[%p]: begin poll step 3/13", this);
5440
- }
4804
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4805
+ .AtLocation(whence.file(), whence.line())
4806
+ << "seq[" << this << "]: begin poll step 3/13";
5441
4807
  auto result = prior.prior.prior.prior.prior.prior.prior.prior.prior
5442
4808
  .prior.current_promise();
5443
4809
  PromiseResult2* p = result.value_if_ready();
5444
- if (grpc_trace_promise_primitives.enabled()) {
5445
- gpr_log(
5446
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5447
- "seq[%p]: poll step 3/13 gets %s", this,
5448
- p != nullptr
5449
- ? (PromiseResultTraits2::IsOk(*p)
5450
- ? "ready"
5451
- : absl::StrCat("early-error:",
5452
- PromiseResultTraits2::ErrorString(*p))
5453
- .c_str())
5454
- : "pending");
5455
- }
4810
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4811
+ .AtLocation(whence.file(), whence.line())
4812
+ << "seq[" << this << "]: poll step 3/13 gets "
4813
+ << (p != nullptr
4814
+ ? (PromiseResultTraits2::IsOk(*p)
4815
+ ? "ready"
4816
+ : absl::StrCat("early-error:",
4817
+ PromiseResultTraits2::ErrorString(*p))
4818
+ .c_str())
4819
+ : "pending");
5456
4820
  if (p == nullptr) return Pending{};
5457
4821
  if (!PromiseResultTraits2::IsOk(*p)) {
5458
4822
  return PromiseResultTraits2::template ReturnValue<Result>(
@@ -5473,25 +4837,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5473
4837
  }
5474
4838
  ABSL_FALLTHROUGH_INTENDED;
5475
4839
  case State::kState3: {
5476
- if (grpc_trace_promise_primitives.enabled()) {
5477
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5478
- "seq[%p]: begin poll step 4/13", this);
5479
- }
4840
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4841
+ .AtLocation(whence.file(), whence.line())
4842
+ << "seq[" << this << "]: begin poll step 4/13";
5480
4843
  auto result = prior.prior.prior.prior.prior.prior.prior.prior.prior
5481
4844
  .current_promise();
5482
4845
  PromiseResult3* p = result.value_if_ready();
5483
- if (grpc_trace_promise_primitives.enabled()) {
5484
- gpr_log(
5485
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5486
- "seq[%p]: poll step 4/13 gets %s", this,
5487
- p != nullptr
5488
- ? (PromiseResultTraits3::IsOk(*p)
5489
- ? "ready"
5490
- : absl::StrCat("early-error:",
5491
- PromiseResultTraits3::ErrorString(*p))
5492
- .c_str())
5493
- : "pending");
5494
- }
4846
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4847
+ .AtLocation(whence.file(), whence.line())
4848
+ << "seq[" << this << "]: poll step 4/13 gets "
4849
+ << (p != nullptr
4850
+ ? (PromiseResultTraits3::IsOk(*p)
4851
+ ? "ready"
4852
+ : absl::StrCat("early-error:",
4853
+ PromiseResultTraits3::ErrorString(*p))
4854
+ .c_str())
4855
+ : "pending");
5495
4856
  if (p == nullptr) return Pending{};
5496
4857
  if (!PromiseResultTraits3::IsOk(*p)) {
5497
4858
  return PromiseResultTraits3::template ReturnValue<Result>(
@@ -5511,25 +4872,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5511
4872
  }
5512
4873
  ABSL_FALLTHROUGH_INTENDED;
5513
4874
  case State::kState4: {
5514
- if (grpc_trace_promise_primitives.enabled()) {
5515
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5516
- "seq[%p]: begin poll step 5/13", this);
5517
- }
4875
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4876
+ .AtLocation(whence.file(), whence.line())
4877
+ << "seq[" << this << "]: begin poll step 5/13";
5518
4878
  auto result =
5519
4879
  prior.prior.prior.prior.prior.prior.prior.prior.current_promise();
5520
4880
  PromiseResult4* p = result.value_if_ready();
5521
- if (grpc_trace_promise_primitives.enabled()) {
5522
- gpr_log(
5523
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5524
- "seq[%p]: poll step 5/13 gets %s", this,
5525
- p != nullptr
5526
- ? (PromiseResultTraits4::IsOk(*p)
5527
- ? "ready"
5528
- : absl::StrCat("early-error:",
5529
- PromiseResultTraits4::ErrorString(*p))
5530
- .c_str())
5531
- : "pending");
5532
- }
4881
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4882
+ .AtLocation(whence.file(), whence.line())
4883
+ << "seq[" << this << "]: poll step 5/13 gets "
4884
+ << (p != nullptr
4885
+ ? (PromiseResultTraits4::IsOk(*p)
4886
+ ? "ready"
4887
+ : absl::StrCat("early-error:",
4888
+ PromiseResultTraits4::ErrorString(*p))
4889
+ .c_str())
4890
+ : "pending");
5533
4891
  if (p == nullptr) return Pending{};
5534
4892
  if (!PromiseResultTraits4::IsOk(*p)) {
5535
4893
  return PromiseResultTraits4::template ReturnValue<Result>(
@@ -5547,25 +4905,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5547
4905
  }
5548
4906
  ABSL_FALLTHROUGH_INTENDED;
5549
4907
  case State::kState5: {
5550
- if (grpc_trace_promise_primitives.enabled()) {
5551
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5552
- "seq[%p]: begin poll step 6/13", this);
5553
- }
4908
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4909
+ .AtLocation(whence.file(), whence.line())
4910
+ << "seq[" << this << "]: begin poll step 6/13";
5554
4911
  auto result =
5555
4912
  prior.prior.prior.prior.prior.prior.prior.current_promise();
5556
4913
  PromiseResult5* p = result.value_if_ready();
5557
- if (grpc_trace_promise_primitives.enabled()) {
5558
- gpr_log(
5559
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5560
- "seq[%p]: poll step 6/13 gets %s", this,
5561
- p != nullptr
5562
- ? (PromiseResultTraits5::IsOk(*p)
5563
- ? "ready"
5564
- : absl::StrCat("early-error:",
5565
- PromiseResultTraits5::ErrorString(*p))
5566
- .c_str())
5567
- : "pending");
5568
- }
4914
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4915
+ .AtLocation(whence.file(), whence.line())
4916
+ << "seq[" << this << "]: poll step 6/13 gets "
4917
+ << (p != nullptr
4918
+ ? (PromiseResultTraits5::IsOk(*p)
4919
+ ? "ready"
4920
+ : absl::StrCat("early-error:",
4921
+ PromiseResultTraits5::ErrorString(*p))
4922
+ .c_str())
4923
+ : "pending");
5569
4924
  if (p == nullptr) return Pending{};
5570
4925
  if (!PromiseResultTraits5::IsOk(*p)) {
5571
4926
  return PromiseResultTraits5::template ReturnValue<Result>(
@@ -5582,24 +4937,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5582
4937
  }
5583
4938
  ABSL_FALLTHROUGH_INTENDED;
5584
4939
  case State::kState6: {
5585
- if (grpc_trace_promise_primitives.enabled()) {
5586
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5587
- "seq[%p]: begin poll step 7/13", this);
5588
- }
4940
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4941
+ .AtLocation(whence.file(), whence.line())
4942
+ << "seq[" << this << "]: begin poll step 7/13";
5589
4943
  auto result = prior.prior.prior.prior.prior.prior.current_promise();
5590
4944
  PromiseResult6* p = result.value_if_ready();
5591
- if (grpc_trace_promise_primitives.enabled()) {
5592
- gpr_log(
5593
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5594
- "seq[%p]: poll step 7/13 gets %s", this,
5595
- p != nullptr
5596
- ? (PromiseResultTraits6::IsOk(*p)
5597
- ? "ready"
5598
- : absl::StrCat("early-error:",
5599
- PromiseResultTraits6::ErrorString(*p))
5600
- .c_str())
5601
- : "pending");
5602
- }
4945
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4946
+ .AtLocation(whence.file(), whence.line())
4947
+ << "seq[" << this << "]: poll step 7/13 gets "
4948
+ << (p != nullptr
4949
+ ? (PromiseResultTraits6::IsOk(*p)
4950
+ ? "ready"
4951
+ : absl::StrCat("early-error:",
4952
+ PromiseResultTraits6::ErrorString(*p))
4953
+ .c_str())
4954
+ : "pending");
5603
4955
  if (p == nullptr) return Pending{};
5604
4956
  if (!PromiseResultTraits6::IsOk(*p)) {
5605
4957
  return PromiseResultTraits6::template ReturnValue<Result>(
@@ -5615,24 +4967,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5615
4967
  }
5616
4968
  ABSL_FALLTHROUGH_INTENDED;
5617
4969
  case State::kState7: {
5618
- if (grpc_trace_promise_primitives.enabled()) {
5619
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5620
- "seq[%p]: begin poll step 8/13", this);
5621
- }
4970
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4971
+ .AtLocation(whence.file(), whence.line())
4972
+ << "seq[" << this << "]: begin poll step 8/13";
5622
4973
  auto result = prior.prior.prior.prior.prior.current_promise();
5623
4974
  PromiseResult7* p = result.value_if_ready();
5624
- if (grpc_trace_promise_primitives.enabled()) {
5625
- gpr_log(
5626
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5627
- "seq[%p]: poll step 8/13 gets %s", this,
5628
- p != nullptr
5629
- ? (PromiseResultTraits7::IsOk(*p)
5630
- ? "ready"
5631
- : absl::StrCat("early-error:",
5632
- PromiseResultTraits7::ErrorString(*p))
5633
- .c_str())
5634
- : "pending");
5635
- }
4975
+ GRPC_TRACE_LOG(promise_primitives, INFO)
4976
+ .AtLocation(whence.file(), whence.line())
4977
+ << "seq[" << this << "]: poll step 8/13 gets "
4978
+ << (p != nullptr
4979
+ ? (PromiseResultTraits7::IsOk(*p)
4980
+ ? "ready"
4981
+ : absl::StrCat("early-error:",
4982
+ PromiseResultTraits7::ErrorString(*p))
4983
+ .c_str())
4984
+ : "pending");
5636
4985
  if (p == nullptr) return Pending{};
5637
4986
  if (!PromiseResultTraits7::IsOk(*p)) {
5638
4987
  return PromiseResultTraits7::template ReturnValue<Result>(
@@ -5648,24 +4997,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5648
4997
  }
5649
4998
  ABSL_FALLTHROUGH_INTENDED;
5650
4999
  case State::kState8: {
5651
- if (grpc_trace_promise_primitives.enabled()) {
5652
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5653
- "seq[%p]: begin poll step 9/13", this);
5654
- }
5000
+ GRPC_TRACE_LOG(promise_primitives, INFO)
5001
+ .AtLocation(whence.file(), whence.line())
5002
+ << "seq[" << this << "]: begin poll step 9/13";
5655
5003
  auto result = prior.prior.prior.prior.current_promise();
5656
5004
  PromiseResult8* p = result.value_if_ready();
5657
- if (grpc_trace_promise_primitives.enabled()) {
5658
- gpr_log(
5659
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5660
- "seq[%p]: poll step 9/13 gets %s", this,
5661
- p != nullptr
5662
- ? (PromiseResultTraits8::IsOk(*p)
5663
- ? "ready"
5664
- : absl::StrCat("early-error:",
5665
- PromiseResultTraits8::ErrorString(*p))
5666
- .c_str())
5667
- : "pending");
5668
- }
5005
+ GRPC_TRACE_LOG(promise_primitives, INFO)
5006
+ .AtLocation(whence.file(), whence.line())
5007
+ << "seq[" << this << "]: poll step 9/13 gets "
5008
+ << (p != nullptr
5009
+ ? (PromiseResultTraits8::IsOk(*p)
5010
+ ? "ready"
5011
+ : absl::StrCat("early-error:",
5012
+ PromiseResultTraits8::ErrorString(*p))
5013
+ .c_str())
5014
+ : "pending");
5669
5015
  if (p == nullptr) return Pending{};
5670
5016
  if (!PromiseResultTraits8::IsOk(*p)) {
5671
5017
  return PromiseResultTraits8::template ReturnValue<Result>(
@@ -5680,24 +5026,21 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5680
5026
  }
5681
5027
  ABSL_FALLTHROUGH_INTENDED;
5682
5028
  case State::kState9: {
5683
- if (grpc_trace_promise_primitives.enabled()) {
5684
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5685
- "seq[%p]: begin poll step 10/13", this);
5686
- }
5029
+ GRPC_TRACE_LOG(promise_primitives, INFO)
5030
+ .AtLocation(whence.file(), whence.line())
5031
+ << "seq[" << this << "]: begin poll step 10/13";
5687
5032
  auto result = prior.prior.prior.current_promise();
5688
5033
  PromiseResult9* p = result.value_if_ready();
5689
- if (grpc_trace_promise_primitives.enabled()) {
5690
- gpr_log(
5691
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5692
- "seq[%p]: poll step 10/13 gets %s", this,
5693
- p != nullptr
5694
- ? (PromiseResultTraits9::IsOk(*p)
5695
- ? "ready"
5696
- : absl::StrCat("early-error:",
5697
- PromiseResultTraits9::ErrorString(*p))
5698
- .c_str())
5699
- : "pending");
5700
- }
5034
+ GRPC_TRACE_LOG(promise_primitives, INFO)
5035
+ .AtLocation(whence.file(), whence.line())
5036
+ << "seq[" << this << "]: poll step 10/13 gets "
5037
+ << (p != nullptr
5038
+ ? (PromiseResultTraits9::IsOk(*p)
5039
+ ? "ready"
5040
+ : absl::StrCat("early-error:",
5041
+ PromiseResultTraits9::ErrorString(*p))
5042
+ .c_str())
5043
+ : "pending");
5701
5044
  if (p == nullptr) return Pending{};
5702
5045
  if (!PromiseResultTraits9::IsOk(*p)) {
5703
5046
  return PromiseResultTraits9::template ReturnValue<Result>(
@@ -5712,24 +5055,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5712
5055
  }
5713
5056
  ABSL_FALLTHROUGH_INTENDED;
5714
5057
  case State::kState10: {
5715
- if (grpc_trace_promise_primitives.enabled()) {
5716
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5717
- "seq[%p]: begin poll step 11/13", this);
5718
- }
5058
+ GRPC_TRACE_LOG(promise_primitives, INFO)
5059
+ .AtLocation(whence.file(), whence.line())
5060
+ << "seq[" << this << "]: begin poll step 11/13";
5719
5061
  auto result = prior.prior.current_promise();
5720
5062
  PromiseResult10* p = result.value_if_ready();
5721
- if (grpc_trace_promise_primitives.enabled()) {
5722
- gpr_log(
5723
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5724
- "seq[%p]: poll step 11/13 gets %s", this,
5725
- p != nullptr
5726
- ? (PromiseResultTraits10::IsOk(*p)
5727
- ? "ready"
5728
- : absl::StrCat("early-error:",
5729
- PromiseResultTraits10::ErrorString(*p))
5730
- .c_str())
5731
- : "pending");
5732
- }
5063
+ GRPC_TRACE_LOG(promise_primitives, INFO)
5064
+ .AtLocation(whence.file(), whence.line())
5065
+ << "seq[" << this << "]: poll step 11/13 gets "
5066
+ << (p != nullptr
5067
+ ? (PromiseResultTraits10::IsOk(*p)
5068
+ ? "ready"
5069
+ : absl::StrCat(
5070
+ "early-error:",
5071
+ PromiseResultTraits10::ErrorString(*p))
5072
+ .c_str())
5073
+ : "pending");
5733
5074
  if (p == nullptr) return Pending{};
5734
5075
  if (!PromiseResultTraits10::IsOk(*p)) {
5735
5076
  return PromiseResultTraits10::template ReturnValue<Result>(
@@ -5744,24 +5085,22 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5744
5085
  }
5745
5086
  ABSL_FALLTHROUGH_INTENDED;
5746
5087
  case State::kState11: {
5747
- if (grpc_trace_promise_primitives.enabled()) {
5748
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5749
- "seq[%p]: begin poll step 12/13", this);
5750
- }
5088
+ GRPC_TRACE_LOG(promise_primitives, INFO)
5089
+ .AtLocation(whence.file(), whence.line())
5090
+ << "seq[" << this << "]: begin poll step 12/13";
5751
5091
  auto result = prior.current_promise();
5752
5092
  PromiseResult11* p = result.value_if_ready();
5753
- if (grpc_trace_promise_primitives.enabled()) {
5754
- gpr_log(
5755
- whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5756
- "seq[%p]: poll step 12/13 gets %s", this,
5757
- p != nullptr
5758
- ? (PromiseResultTraits11::IsOk(*p)
5759
- ? "ready"
5760
- : absl::StrCat("early-error:",
5761
- PromiseResultTraits11::ErrorString(*p))
5762
- .c_str())
5763
- : "pending");
5764
- }
5093
+ GRPC_TRACE_LOG(promise_primitives, INFO)
5094
+ .AtLocation(whence.file(), whence.line())
5095
+ << "seq[" << this << "]: poll step 12/13 gets "
5096
+ << (p != nullptr
5097
+ ? (PromiseResultTraits11::IsOk(*p)
5098
+ ? "ready"
5099
+ : absl::StrCat(
5100
+ "early-error:",
5101
+ PromiseResultTraits11::ErrorString(*p))
5102
+ .c_str())
5103
+ : "pending");
5765
5104
  if (p == nullptr) return Pending{};
5766
5105
  if (!PromiseResultTraits11::IsOk(*p)) {
5767
5106
  return PromiseResultTraits11::template ReturnValue<Result>(
@@ -5777,16 +5116,14 @@ struct SeqState<Traits, P, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11> {
5777
5116
  ABSL_FALLTHROUGH_INTENDED;
5778
5117
  default:
5779
5118
  case State::kState12: {
5780
- if (grpc_trace_promise_primitives.enabled()) {
5781
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5782
- "seq[%p]: begin poll step 13/13", this);
5783
- }
5119
+ GRPC_TRACE_LOG(promise_primitives, INFO)
5120
+ .AtLocation(whence.file(), whence.line())
5121
+ << "seq[" << this << "]: begin poll step 13/13";
5784
5122
  auto result = current_promise();
5785
- if (grpc_trace_promise_primitives.enabled()) {
5786
- gpr_log(whence.file(), whence.line(), GPR_LOG_SEVERITY_INFO,
5787
- "seq[%p]: poll step 13/13 gets %s", this,
5788
- result.ready() ? "ready" : "pending");
5789
- }
5123
+ GRPC_TRACE_LOG(promise_primitives, INFO)
5124
+ .AtLocation(whence.file(), whence.line())
5125
+ << "seq[" << this << "]: poll step 13/13 gets "
5126
+ << (result.ready() ? "ready" : "pending");
5790
5127
  auto* p = result.value_if_ready();
5791
5128
  if (p == nullptr) return Pending{};
5792
5129
  return Result(std::move(*p));