aboutsummaryrefslogtreecommitdiff
path: root/src/future
diff options
context:
space:
mode:
authorJoel Galenson <jgalenson@google.com>2021-06-22 09:28:11 -0700
committerJoel Galenson <jgalenson@google.com>2021-06-22 09:28:30 -0700
commitb53dd06ad19d902c2155b2f616725b14b423a776 (patch)
treeb92904fad1f985434ad7622c3960e6e670b1c918 /src/future
parent8c2e0e8165f4f0132f3a5c78337fbba15b102768 (diff)
downloadtokio-b53dd06ad19d902c2155b2f616725b14b423a776.tar.gz
Upgrade rust/crates/tokio to 1.7.1
Test: make Change-Id: I7ebd839df13023db6f2057e09d8b73967436b856
Diffstat (limited to 'src/future')
-rw-r--r--src/future/mod.rs11
-rw-r--r--src/future/trace.rs11
2 files changed, 22 insertions, 0 deletions
diff --git a/src/future/mod.rs b/src/future/mod.rs
index f7d93c9..96483ac 100644
--- a/src/future/mod.rs
+++ b/src/future/mod.rs
@@ -22,3 +22,14 @@ cfg_sync! {
mod block_on;
pub(crate) use block_on::block_on;
}
+
+cfg_trace! {
+ mod trace;
+ pub(crate) use trace::InstrumentedFuture as Future;
+}
+
+cfg_not_trace! {
+ cfg_rt! {
+ pub(crate) use std::future::Future;
+ }
+}
diff --git a/src/future/trace.rs b/src/future/trace.rs
new file mode 100644
index 0000000..28789a6
--- /dev/null
+++ b/src/future/trace.rs
@@ -0,0 +1,11 @@
+use std::future::Future;
+
+pub(crate) trait InstrumentedFuture: Future {
+ fn id(&self) -> Option<tracing::Id>;
+}
+
+impl<F: Future> InstrumentedFuture for tracing::instrument::Instrumented<F> {
+ fn id(&self) -> Option<tracing::Id> {
+ self.span().id()
+ }
+}