pub enum IrqRegisterResult<'cell> {
Registered(IrqWaitToken<'cell>),
ConsumedPending,
NotificationInFlight(IrqWaitToken<'cell>),
Occupied,
}Expand description
Outcome of task-context waiter registration.
Variants§
Registered(IrqWaitToken<'cell>)
The cell owns the sole waiter until notify or unregister.
ConsumedPending
An earlier or concurrent interrupt consumed the registration.
An earlier pending event is returned synchronously without waking the currently running task. The registration is detached on return.
NotificationInFlight(IrqWaitToken<'cell>)
A concurrent notifier owns the registration and will release and wake it.
The task may abort its park once the token is detached, but it must quiesce the token before reusing the registration or wake payload.
Occupied
Another waiter is registered, or this registration is still in use.
Trait Implementations§
Auto Trait Implementations§
impl<'cell> !RefUnwindSafe for IrqRegisterResult<'cell>
impl<'cell> !UnwindSafe for IrqRegisterResult<'cell>
impl<'cell> Freeze for IrqRegisterResult<'cell>
impl<'cell> Send for IrqRegisterResult<'cell>
impl<'cell> Sync for IrqRegisterResult<'cell>
impl<'cell> Unpin for IrqRegisterResult<'cell>
impl<'cell> UnsafeUnpin for IrqRegisterResult<'cell>
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