pub trait QueueStreamedFn<T>{
// Required methods
fn new(size: UBaseType, message_size: UBaseType) -> Result<Self>
where Self: Sized;
fn fetch(&self, buffer: &mut T, time: TickType) -> Result<()>;
fn fetch_from_isr(&self, buffer: &mut T) -> Result<()>;
fn post(&self, item: &T, time: TickType) -> Result<()>;
fn post_from_isr(&self, item: &T) -> Result<()>;
fn delete(&mut self);
}