use std::task::Context;
use std::task::Poll;
use std::task::Waker;
use crate::timer::internal::std_timer_waiter::StdTimerWaiter;
pub struct LoomStdTimerWaiter {
inner: StdTimerWaiter,
}
impl LoomStdTimerWaiter {
#[must_use]
#[inline]
pub fn new() -> Self {
Self {
inner: StdTimerWaiter::new(),
}
}
#[inline(always)]
pub fn poll(&self, context: &Context<'_>) -> Poll<Result<(), ()>> {
self.inner.poll(context)
}
#[must_use = "the detached Waker must be invoked or safely discarded"]
#[inline(always)]
pub fn complete(&self) -> Option<Waker> {
self.inner.complete()
}
#[must_use = "the detached Waker must be invoked or safely discarded"]
#[inline(always)]
pub fn fail(&self) -> Option<Waker> {
self.inner.fail()
}
}