Struct canadensis_can::queue::ArrayQueue
source · pub struct ArrayQueue<I, const N: usize> { /* private fields */ }
Expand description
A frame queue implemented as a ring buffer in a fixed-capacity array
N
is the maximum number of frames that the queue can hold. This should be at least as large
as the number of frames required for the largest outgoing transfer that will be sent.
Implementations§
source§impl<I, const N: usize> ArrayQueue<I, N>where
I: Default,
impl<I, const N: usize> ArrayQueue<I, N>where I: Default,
Trait Implementations§
source§impl<I, const N: usize> FrameQueue<I> for ArrayQueue<I, N>where
I: Clone + Default,
impl<I, const N: usize> FrameQueue<I> for ArrayQueue<I, N>where I: Clone + Default,
source§fn try_reserve(&mut self, additional: usize) -> Result<(), OutOfMemoryError>
fn try_reserve(&mut self, additional: usize) -> Result<(), OutOfMemoryError>
Attempts to reserve memory for some number of additional frames Read more
source§fn shrink_to_fit(&mut self)
fn shrink_to_fit(&mut self)
Attempts to free memory by reducing excess capacity in this queue
source§fn push_frame(&mut self, frame: Frame<I>) -> Result<(), OutOfMemoryError>
fn push_frame(&mut self, frame: Frame<I>) -> Result<(), OutOfMemoryError>
Pushes a frame onto the back of this queue Read more
source§fn peek_frame(&self) -> Option<&Frame<I>>
fn peek_frame(&self) -> Option<&Frame<I>>
Returns a reference to the frame at the front of the queue
source§fn pop_frame(&mut self) -> Option<Frame<I>>
fn pop_frame(&mut self) -> Option<Frame<I>>
Removes and returns the frame at the front of the queue
source§fn return_frame(&mut self, frame: Frame<I>) -> Result<(), OutOfMemoryError>
fn return_frame(&mut self, frame: Frame<I>) -> Result<(), OutOfMemoryError>
Returns a not-yet-transmitted frame to the queue Read more