pub trait Interrupt {
type Error;
// Required methods
fn enable(&mut self) -> Result<(), Self::Error>;
fn disable(&mut self) -> Result<(), Self::Error>;
fn poll_interrupt(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
) -> Poll<Result<(), Self::Error>>;
// Provided methods
fn poll_interrupt_unpin(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Result<(), Self::Error>>
where Self: Unpin { ... }
fn interrupts(&mut self) -> Interrupts<'_, Self>
where Self: Unpin { ... }
}Required Associated Types§
Required Methods§
fn enable(&mut self) -> Result<(), Self::Error>
fn disable(&mut self) -> Result<(), Self::Error>
fn poll_interrupt( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<(), Self::Error>>
Provided Methods§
fn poll_interrupt_unpin(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Result<(), Self::Error>>where
Self: Unpin,
Sourcefn interrupts(&mut self) -> Interrupts<'_, Self>where
Self: Unpin,
fn interrupts(&mut self) -> Interrupts<'_, Self>where
Self: Unpin,
Enable the interrupt and return a Stream of events.
This will disable the interrupt on drop.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".