Trait evegfx::commands::waiter::Waiter[][src]

pub trait Waiter<M: Model, I: Interface> {
    type Error;
    fn wait_for_space(
        &mut self,
        ell: &mut LowLevel<M, I>,
        need: u16
    ) -> Result<u16, WaiterError<Self::Error>>; }

Knows how to block until the coprocessor ring buffer is at least empty enough to receive a forthcoming message.

This is a trait in order to allow for implementations that are able to respond to the EVE's interrupt signal for the buffer to be ready, although the only implementation available directly in this crate is one that busy-polls the register that tracks the buffer usage, because interaction with interrupts is always system-specific.

Associated Types

Loading content...

Required methods

fn wait_for_space(
    &mut self,
    ell: &mut LowLevel<M, I>,
    need: u16
) -> Result<u16, WaiterError<Self::Error>>
[src]

Loading content...

Implementors

impl<M: Model, I: Interface> Waiter<M, I> for PollingWaiter<M, I>[src]

type Error = Error<I>

Loading content...