pub trait BufferWriterHost: Send + Any + Debug {
    // Required methods
    fn add_reader(
        &mut self,
        reader_inbox: Sender<BlockMessage>,
        reader_input_id: usize
    ) -> BufferReader;
    fn as_any(&mut self) -> &mut dyn Any;
    fn produce(&mut self, amount: usize, tags: Vec<ItemTag>);
    fn bytes(&mut self) -> (*mut u8, usize);
    fn notify_finished<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn finish(&mut self);
    fn finished(&self) -> bool;
}
Expand description

CPU buffer writer

Required Methods§

source

fn add_reader( &mut self, reader_inbox: Sender<BlockMessage>, reader_input_id: usize ) -> BufferReader

Add a reader

source

fn as_any(&mut self) -> &mut dyn Any

Cast to any

source

fn produce(&mut self, amount: usize, tags: Vec<ItemTag>)

Produce samples

source

fn bytes(&mut self) -> (*mut u8, usize)

Get buffer

source

fn notify_finished<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Notify readers that we are finished

source

fn finish(&mut self)

Mark as finished

source

fn finished(&self) -> bool

Check, if we are marked as finished

Implementors§

source§

impl BufferWriterHost for futuresdr::runtime::buffer::circular::Writer

source§

impl BufferWriterHost for futuresdr::runtime::buffer::slab::Writer