diff options
Diffstat (limited to 'tokio/src/tests/backoff.rs')
-rw-r--r-- | tokio/src/tests/backoff.rs | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/tokio/src/tests/backoff.rs b/tokio/src/tests/backoff.rs deleted file mode 100644 index 358ab2da..00000000 --- a/tokio/src/tests/backoff.rs +++ /dev/null @@ -1,32 +0,0 @@ -use std::future::Future; -use std::pin::Pin; -use std::task::{Context, Poll}; - -pub(crate) struct Backoff(usize, bool); - -pub(crate) fn backoff(n: usize) -> impl Future<Output = ()> { - Backoff(n, false) -} - -/// Back off, but clone the waker each time -pub(crate) fn backoff_clone(n: usize) -> impl Future<Output = ()> { - Backoff(n, true) -} - -impl Future for Backoff { - type Output = (); - - fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> { - if self.0 == 0 { - return Poll::Ready(()); - } - - self.0 -= 1; - if self.1 { - cx.waker().clone().wake(); - } else { - cx.waker().wake_by_ref(); - } - Poll::Pending - } -} |