Struct tokio::util::idle_notified_set::EntryInOneOfTheLists
source · pub(crate) struct EntryInOneOfTheLists<'a, T> {
entry: Arc<ListEntry<T>>,
set: &'a mut IdleNotifiedSet<T>,
}
Expand description
A handle to an entry that is guaranteed to be stored in the idle or notified
list of its IdleNotifiedSet
. This value borrows the IdleNotifiedSet
mutably to prevent the entry from being moved to the Neither
list, which
only the IdleNotifiedSet
may do.
The main consequence of being stored in one of the lists is that the value
field has not yet been consumed.
Note: This entry can be moved from the idle to the notified list while this object exists by waking its waker.
Fields§
§entry: Arc<ListEntry<T>>
§set: &'a mut IdleNotifiedSet<T>
Implementations§
source§impl<'a, T> EntryInOneOfTheLists<'a, T>
impl<'a, T> EntryInOneOfTheLists<'a, T>
sourcepub(crate) fn remove(self) -> T
pub(crate) fn remove(self) -> T
Remove this entry from the list it is in, returning the value associated with the entry.
This consumes the value, since it is no longer guaranteed to be in a list.
sourcepub(crate) fn with_value_and_context<F, U>(&mut self, func: F) -> U
pub(crate) fn with_value_and_context<F, U>(&mut self, func: F) -> U
Access the value in this entry together with a context for its waker.
Auto Trait Implementations§
impl<'a, T> Freeze for EntryInOneOfTheLists<'a, T>
impl<'a, T> !RefUnwindSafe for EntryInOneOfTheLists<'a, T>
impl<'a, T> Send for EntryInOneOfTheLists<'a, T>where
T: Send,
impl<'a, T> Sync for EntryInOneOfTheLists<'a, T>where
T: Sync,
impl<'a, T> Unpin for EntryInOneOfTheLists<'a, T>
impl<'a, T> !UnwindSafe for EntryInOneOfTheLists<'a, T>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more