pub struct TokioMonitor<T> { /* private fields */ }Expand description
Asynchronous monitor built on Tokio synchronization primitives.
TokioMonitor protects one state value with a Tokio mutex and coordinates
waiters with a Tokio notification primitive. Notification semantics follow
Tokio’s Notify behavior.
Implementations§
Source§impl<T> TokioMonitor<T>
impl<T> TokioMonitor<T>
Sourcepub async fn async_read<R, F>(&self, f: F) -> R
pub async fn async_read<R, F>(&self, f: F) -> R
Sourcepub async fn async_write<R, F>(&self, f: F) -> R
pub async fn async_write<R, F>(&self, f: F) -> R
Sourcepub async fn async_write_notify_one<R, F>(&self, f: F) -> R
pub async fn async_write_notify_one<R, F>(&self, f: F) -> R
Sourcepub async fn async_write_notify_all<R, F>(&self, f: F) -> R
pub async fn async_write_notify_all<R, F>(&self, f: F) -> R
Sourcepub fn notify_one(&self)
pub fn notify_one(&self)
Wakes one async waiter.
Sourcepub fn notify_all(&self)
pub fn notify_all(&self)
Wakes all async waiters.
Trait Implementations§
Source§impl<T> AsRef<TokioMonitor<T>> for ArcTokioMonitor<T>
impl<T> AsRef<TokioMonitor<T>> for ArcTokioMonitor<T>
Source§fn as_ref(&self) -> &TokioMonitor<T>
fn as_ref(&self) -> &TokioMonitor<T>
Returns a reference to the wrapped Tokio monitor.
Source§impl<T: Send> AsyncConditionWaiter for TokioMonitor<T>
impl<T: Send> AsyncConditionWaiter for TokioMonitor<T>
Source§fn async_wait_until<'a, R, P, F>(
&'a self,
predicate: P,
action: F,
) -> AsyncMonitorFuture<'a, R>
fn async_wait_until<'a, R, P, F>( &'a self, predicate: P, action: F, ) -> AsyncMonitorFuture<'a, R>
Returns a future that waits until the predicate becomes true.
Source§fn async_wait_while<'a, R, P, F>(
&'a self,
predicate: P,
action: F,
) -> AsyncMonitorFuture<'a, R>
fn async_wait_while<'a, R, P, F>( &'a self, predicate: P, action: F, ) -> AsyncMonitorFuture<'a, R>
Returns a future that waits while the predicate remains true.
Source§impl<T: Send> AsyncNotificationWaiter for TokioMonitor<T>
impl<T: Send> AsyncNotificationWaiter for TokioMonitor<T>
Source§fn async_wait<'a>(&'a self) -> AsyncMonitorFuture<'a, ()>
fn async_wait<'a>(&'a self) -> AsyncMonitorFuture<'a, ()>
Returns a future that resolves after a Tokio notification.
Source§impl<T: Send> AsyncTimeoutConditionWaiter for TokioMonitor<T>
impl<T: Send> AsyncTimeoutConditionWaiter for TokioMonitor<T>
Source§fn async_wait_until_for<'a, R, P, F>(
&'a self,
timeout: Duration,
predicate: P,
action: F,
) -> AsyncMonitorFuture<'a, WaitTimeoutResult<R>>
fn async_wait_until_for<'a, R, P, F>( &'a self, timeout: Duration, predicate: P, action: F, ) -> AsyncMonitorFuture<'a, WaitTimeoutResult<R>>
Returns a future that waits until the predicate becomes true or times out.
Source§fn async_wait_while_for<'a, R, P, F>(
&'a self,
timeout: Duration,
predicate: P,
action: F,
) -> AsyncMonitorFuture<'a, WaitTimeoutResult<R>>
fn async_wait_while_for<'a, R, P, F>( &'a self, timeout: Duration, predicate: P, action: F, ) -> AsyncMonitorFuture<'a, WaitTimeoutResult<R>>
Returns a future that waits while the predicate remains true or times out.
Source§impl<T: Send> AsyncTimeoutNotificationWaiter for TokioMonitor<T>
impl<T: Send> AsyncTimeoutNotificationWaiter for TokioMonitor<T>
Source§fn async_wait_for<'a>(
&'a self,
timeout: Duration,
) -> AsyncMonitorFuture<'a, WaitTimeoutStatus>
fn async_wait_for<'a>( &'a self, timeout: Duration, ) -> AsyncMonitorFuture<'a, WaitTimeoutStatus>
Returns a future that resolves after notification or timeout.
Source§impl<T: Default> Default for TokioMonitor<T>
impl<T: Default> Default for TokioMonitor<T>
Source§impl<T> From<T> for TokioMonitor<T>
impl<T> From<T> for TokioMonitor<T>
Source§impl<T> Notifier for TokioMonitor<T>
impl<T> Notifier for TokioMonitor<T>
Source§fn notify_one(&self)
fn notify_one(&self)
Wakes one async waiter.
Source§fn notify_all(&self)
fn notify_all(&self)
Wakes all async waiters.