pub trait TableStreamExt {
    // Required methods
    fn push_input_stream(
        &mut self,
        istream: Box<dyn HostInputStream>
    ) -> Result<u32, TableError>;
    fn get_input_stream_mut(
        &mut self,
        fd: u32
    ) -> Result<&mut dyn HostInputStream, TableError>;
    fn delete_input_stream(
        &mut self,
        fd: u32
    ) -> Result<Box<dyn HostInputStream>, TableError>;
    fn push_output_stream(
        &mut self,
        ostream: Box<dyn HostOutputStream>
    ) -> Result<u32, TableError>;
    fn get_output_stream_mut(
        &mut self,
        fd: u32
    ) -> Result<&mut dyn HostOutputStream, TableError>;
    fn delete_output_stream(
        &mut self,
        fd: u32
    ) -> Result<Box<dyn HostOutputStream>, TableError>;
}
Expand description

Extension trait for managing HostInputStreams and HostOutputStreams in the Table.

Required Methods§

source

fn push_input_stream( &mut self, istream: Box<dyn HostInputStream> ) -> Result<u32, TableError>

Push a HostInputStream into a Table, returning the table index.

source

fn get_input_stream_mut( &mut self, fd: u32 ) -> Result<&mut dyn HostInputStream, TableError>

Get a mutable reference to a HostInputStream in a Table.

source

fn delete_input_stream( &mut self, fd: u32 ) -> Result<Box<dyn HostInputStream>, TableError>

Remove HostInputStream from table:

source

fn push_output_stream( &mut self, ostream: Box<dyn HostOutputStream> ) -> Result<u32, TableError>

Push a HostOutputStream into a Table, returning the table index.

source

fn get_output_stream_mut( &mut self, fd: u32 ) -> Result<&mut dyn HostOutputStream, TableError>

Get a mutable reference to a HostOutputStream in a Table.

source

fn delete_output_stream( &mut self, fd: u32 ) -> Result<Box<dyn HostOutputStream>, TableError>

Remove HostOutputStream from table:

Implementors§