struct BufGuard<'a> {
    buffer: &'a mut [u8],
    encoder_buffered: &'a mut usize,
    encoder_flushed: &'a mut usize,
    flushed: usize,
}
Expand description

Helper struct to ensure the buffer is updated after all the writes are complete. It tracks the number of written bytes and drains them all from the front of the buffer when dropped.

Fields§

§buffer: &'a mut [u8]§encoder_buffered: &'a mut usize§encoder_flushed: &'a mut usize§flushed: usize

Implementations§

source§

impl<'a> BufGuard<'a>

source

fn new( buffer: &'a mut [u8], encoder_buffered: &'a mut usize, encoder_flushed: &'a mut usize ) -> Self

source

fn remaining(&self) -> &[u8] ⓘ

The unwritten part of the buffer

source

fn consume(&mut self, amt: usize)

Flag some bytes as removed from the front of the buffer

source

fn done(&self) -> bool

true if all of the bytes have been written

Trait Implementations§

source§

impl Drop for BufGuard<'_>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for BufGuard<'a>

§

impl<'a> Send for BufGuard<'a>

§

impl<'a> Sync for BufGuard<'a>

§

impl<'a> Unpin for BufGuard<'a>

§

impl<'a> !UnwindSafe for BufGuard<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.

Size: 40 bytes