embedded_can/
blocking.rs

1//! Blocking CAN API
2
3/// A blocking CAN interface that is able to transmit and receive frames.
4pub trait Can {
5    /// Associated frame type.
6    type Frame: crate::Frame;
7
8    /// Associated error type.
9    type Error: crate::Error;
10
11    /// Puts a frame in the transmit buffer. Blocks until space is available in
12    /// the transmit buffer.
13    fn transmit(&mut self, frame: &Self::Frame) -> Result<(), Self::Error>;
14
15    /// Blocks until a frame was received or an error occured.
16    fn receive(&mut self) -> Result<Self::Frame, Self::Error>;
17}