Skip to main content

IrqRegisterResult

Enum IrqRegisterResult 

Source
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§

Source§

impl<'cell> Debug for IrqRegisterResult<'cell>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.