1
0
mirror of https://github.com/fafhrd91/actix-net synced 2025-06-26 20:57:43 +02:00

Add methods to check LocalWaker registration state

This commit is contained in:
Nikolay Kim
2019-12-20 09:13:11 +06:00
parent 0d3f9e74c5
commit 05549f0b42
4 changed files with 21 additions and 8 deletions

View File

@ -34,11 +34,22 @@ impl LocalWaker {
}
}
#[inline]
/// Check if waker has been registered.
pub fn is_registed(&self) -> bool {
unsafe { (*self.waker.get()).is_some() }
}
#[inline]
/// Registers the waker to be notified on calls to `wake`.
pub fn register(&self, waker: &Waker) {
///
/// Returns `true` if waker was registered before.
pub fn register(&self, waker: &Waker) -> bool {
unsafe {
*self.waker.get() = Some(waker.clone());
let w = self.waker.get();
let is_registered = (*w).is_some();
*w = Some(waker.clone());
is_registered
}
}