[][src]Struct sunrise_kernel::event::IRQEvent

pub struct IRQEvent {
    state: &'static IRQState,
    ack: AtomicUsize,
}

An event waiting for an IRQ.

When created, is_signaled is called and the IRQ was triggered, it will increment the ACK count by 1. This means that if multiple IRQs happened between wait calls, it will immediately return true.

Fields

state: &'static IRQState

The global state of the IRQ this event is listening on. Contains the IRQ trigger count.

ack: AtomicUsize

Acknowledgement counter for this IRQEvent instance. Each time we get signaled, this counter is incremented until it matches the counter in state.

Trait Implementations

impl Debug for IRQEvent[src]

impl Waitable for IRQEvent[src]

Auto Trait Implementations

impl !RefUnwindSafe for IRQEvent

impl Send for IRQEvent

impl Sync for IRQEvent

impl Unpin for IRQEvent

impl !UnwindSafe for IRQEvent

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.