pub trait FrameSink {
// Required methods
fn clear(&mut self);
fn frame_len(&self) -> usize;
fn free_capacity(&self) -> usize;
fn push(&mut self, byte: u8) -> Result<(), FrameSinkError>;
fn extend_from_slice(&mut self, run: &[u8]) -> Result<(), FrameSinkError>;
}Expand description
Writes are all-or-nothing: a push or extend_from_slice that would exceed the sink’s capacity appends nothing and returns FrameSinkError::Full, so a rejected frame never leaves a partial tail behind.
Required Methods§
fn clear(&mut self)
fn frame_len(&self) -> usize
fn free_capacity(&self) -> usize
fn push(&mut self, byte: u8) -> Result<(), FrameSinkError>
fn extend_from_slice(&mut self, run: &[u8]) -> Result<(), FrameSinkError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".