SlipWriter

Struct SlipWriter 

Source
pub struct SlipWriter<W> { /* private fields */ }
Expand description

Writer wrapper that encodes outgoing frames as SLIP before forwarding them to the underlying writer.

The wrapper does not buffer beyond the escaping that SLIP requires. Each call to write_frame appends a single SLIP frame to the wrapped writer. See examples/stream.rs for a runnable demonstration.

Implementations§

Source§

impl<W> SlipWriter<W>

Source

pub fn new(inner: W) -> Self

Construct a new SLIP writer around the provided sink.

Source

pub fn get_ref(&self) -> &W

Retrieve an immutable reference to the underlying writer.

Source

pub fn get_mut(&mut self) -> &mut W

Retrieve a mutable reference to the underlying writer.

Source

pub fn into_inner(self) -> W

Consume the wrapper and return the inner writer.

Source§

impl<W: Write> SlipWriter<W>

Source

pub fn write_frame(&mut self, payload: &[u8]) -> Result<()>

Encode the provided payload as a SLIP frame and write it to the underlying sink.

Source

pub fn write_frame_iter<I>(&mut self, payload: I) -> Result<()>
where I: IntoIterator<Item = u8>,

Encode any iterator of bytes as a SLIP frame and write it to the underlying sink.

Source

pub fn flush(&mut self) -> Result<()>

Flush the underlying writer.

Auto Trait Implementations§

§

impl<W> Freeze for SlipWriter<W>
where W: Freeze,

§

impl<W> RefUnwindSafe for SlipWriter<W>
where W: RefUnwindSafe,

§

impl<W> Send for SlipWriter<W>
where W: Send,

§

impl<W> Sync for SlipWriter<W>
where W: Sync,

§

impl<W> Unpin for SlipWriter<W>
where W: Unpin,

§

impl<W> UnwindSafe for SlipWriter<W>
where W: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.