Skip to main content

IrqHandler

Trait IrqHandler 

Source
pub trait IrqHandler: Send + 'static {
    // Required method
    fn handle_irq(&mut self) -> Event;
}
Expand description

Owned interrupt endpoint for a network device.

Drivers that can split their control/data-plane state from the IRQ top-half should return this through Interface::take_irq_handler. The handler is then moved into the platform IRQ callback, so hard IRQ context no longer needs to lock the complete network device object.

Required Methods§

Source

fn handle_irq(&mut self) -> Event

Acknowledge/snapshot the device IRQ source and publish queue-local event bits. Packet copies, descriptor refills, DMA reclaim, and waker execution must stay in task/deferred context.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§