• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 cfg_trace! {
2     macro_rules! trace_op {
3         ($name:literal, $readiness:literal, $parent:expr) => {
4             tracing::trace!(
5                 target: "runtime::resource::poll_op",
6                 parent: $parent,
7                 op_name = $name,
8                 is_ready = $readiness
9             );
10         }
11     }
12 
13     macro_rules! trace_poll_op {
14         ($name:literal, $poll:expr, $parent:expr $(,)*) => {
15             match $poll {
16                 std::task::Poll::Ready(t) => {
17                     trace_op!($name, true, $parent);
18                     std::task::Poll::Ready(t)
19                 }
20                 std::task::Poll::Pending => {
21                     trace_op!($name, false, $parent);
22                     return std::task::Poll::Pending;
23                 }
24             }
25         };
26     }
27 }
28