[][src]Struct bytecodec::io::WriteBuf

pub struct WriteBuf<B> { /* fields omitted */ }

Write buffer.

Methods

impl<B: AsRef<[u8]> + AsMut<[u8]>> WriteBuf<B>[src]

pub fn new(inner: B) -> Self[src]

Makes a new WriteBuf instance.

pub fn len(&self) -> usize[src]

Returns the number of encoded bytes in the buffer.

pub fn room(&self) -> usize[src]

Returns the free space of the buffer.

Invariant: self.len() + self.room() <= self.capacity()

pub fn capacity(&self) -> usize[src]

Returns the capacity of the buffer.

pub fn is_empty(&self) -> bool[src]

Returns true if the buffer is empty, otherwise false.

pub fn is_full(&self) -> bool[src]

Returns true if the buffer is full, otherwise false.

pub fn stream_state(&self) -> StreamState[src]

Returns the state of the stream that operated in the last flush() call.

pub fn stream_state_mut(&mut self) -> &mut StreamState[src]

Returns a mutable reference to the StreamState instance.

pub fn flush<W: Write>(&mut self, writer: W) -> Result<()>[src]

Writes the encoded bytes contained in this buffer to the given writer.

The written bytes will be removed from the buffer.

The flush process continues until one of the following condition is satisfied:

  • The write buffer became empty
  • A write operation returned a WouldBlock error
  • The output stream has reached EOS

pub fn inner_ref(&self) -> &B[src]

Returns a reference to the inner bytes of the buffer.

pub fn inner_mut(&mut self) -> &mut B[src]

Returns a mutable reference to the inner bytes of the buffer.

pub fn into_inner(self) -> B[src]

Takes ownership of ReadBuf and returns the inner bytes of the buffer.

Trait Implementations

impl<B: Debug> Debug for WriteBuf<B>[src]

impl<B: AsRef<[u8]> + AsMut<[u8]>> Write for WriteBuf<B>[src]

Auto Trait Implementations

impl<B> Send for WriteBuf<B> where
    B: Send

impl<B> Sync for WriteBuf<B> where
    B: Sync

impl<B> Unpin for WriteBuf<B> where
    B: Unpin

impl<B> RefUnwindSafe for WriteBuf<B> where
    B: RefUnwindSafe

impl<B> UnwindSafe for WriteBuf<B> where
    B: UnwindSafe

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<W> WriteBytesExt for W where
    W: Write + ?Sized
[src]