Skip to main content

SimNodeErased

Trait SimNodeErased 

Source
pub trait SimNodeErased<const MAX_FRAME: usize, const MAX_OUTBOX: usize> {
    // Required methods
    fn address(&self) -> &NodeAddress;
    fn handle(&mut self, src: &NodeAddress, data: &[u8], now: Instant);
    fn tick(&mut self, now: Instant);
    fn drain_outbox(
        &mut self,
        out: &mut Vec<(NodeAddress, Vec<u8, MAX_FRAME>), MAX_OUTBOX>,
    ) -> usize;
}

Required Methods§

Source

fn address(&self) -> &NodeAddress

Source

fn handle(&mut self, src: &NodeAddress, data: &[u8], now: Instant)

Source

fn tick(&mut self, now: Instant)

Source

fn drain_outbox( &mut self, out: &mut Vec<(NodeAddress, Vec<u8, MAX_FRAME>), MAX_OUTBOX>, ) -> usize

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl<const MAX_FRAME: usize, const MAX_OUTBOX: usize, T> SimNodeErased<MAX_FRAME, MAX_OUTBOX> for T
where T: SimNode<MAX_FRAME, MAX_OUTBOX>, T::Error: Debug,

Blanket impl - any SimNode becomes a SimNodeErased by discarding errors.