Trait divans::interface::StreamDemuxer [−][src]
pub trait StreamDemuxer<AllocU8: Allocator<u8>> { fn write_linear(&mut self, data: &[u8], m8: &mut AllocU8) -> usize; fn read_buffer(&mut self) -> [ReadableBytes; 2]; fn data_ready(&self, stream_id: StreamID) -> usize; fn peek(&self, stream_id: StreamID) -> &[u8]; fn edit(
&mut self,
stream_id: StreamID
) -> &mut AllocatedMemoryRange<u8, AllocU8>; fn consume(&mut self, stream_id: StreamID, count: usize); fn consumed_all_streams_until_eof(&self) -> bool; fn encountered_eof(&self) -> bool; fn free_demux(&mut self, m8: &mut AllocU8); }
Required Methods
fn write_linear(&mut self, data: &[u8], m8: &mut AllocU8) -> usize
fn read_buffer(&mut self) -> [ReadableBytes; 2]
fn data_ready(&self, stream_id: StreamID) -> usize
fn peek(&self, stream_id: StreamID) -> &[u8]
fn edit(
&mut self,
stream_id: StreamID
) -> &mut AllocatedMemoryRange<u8, AllocU8>
&mut self,
stream_id: StreamID
) -> &mut AllocatedMemoryRange<u8, AllocU8>
fn consume(&mut self, stream_id: StreamID, count: usize)
fn consumed_all_streams_until_eof(&self) -> bool
fn encountered_eof(&self) -> bool
fn free_demux(&mut self, m8: &mut AllocU8)
Implementors
impl<AllocU8: Allocator<u8>> StreamDemuxer<AllocU8> for Mux<AllocU8>
impl<AllocU8: Allocator<u8>> StreamDemuxer<AllocU8> for DevNull<AllocU8>
impl<AllocU8: Allocator<u8>, WorkerInterface: ThreadToMain<AllocU8>> StreamDemuxer<AllocU8> for ThreadToMainDemuxer<AllocU8, WorkerInterface>