Skip to main content

OutBufferWrapper

Struct OutBufferWrapper 

Source
pub(crate) struct OutBufferWrapper<'a, 'b, C: WriteBuf + ?Sized> {
    pub(crate) buf: ZSTD_outBuffer,
    pub(crate) parent: &'a mut OutBuffer<'b, C>,
}
Expand description

Interface between a C-level ZSTD_outBuffer and a rust-level OutBuffer.

Will update the parent buffer from the C buffer on drop.

Fields§

§buf: ZSTD_outBuffer§parent: &'a mut OutBuffer<'b, C>

Implementations§

Source§

impl<'a, 'b, C: WriteBuf + ?Sized> OutBufferWrapper<'a, 'b, C>

Source

pub(crate) fn check(&mut self, res: SafeResult) -> SafeResult

Passes res through, and forgets the position reported by zstd if it is an error, so the parent keeps the one from before the call.

zstd.h makes no promise about pos after a failed call, and the legacy decoders report the whole output buffer as written when they fail; only a successful call vouches for the bytes up to pos being initialized.

Trait Implementations§

Source§

impl<'a, 'b: 'a, C: WriteBuf + ?Sized> Deref for OutBufferWrapper<'a, 'b, C>

Source§

type Target = ZSTD_outBuffer_s

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<'a, 'b: 'a, C: WriteBuf + ?Sized> DerefMut for OutBufferWrapper<'a, 'b, C>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl<'a, 'b, C: WriteBuf + ?Sized> Drop for OutBufferWrapper<'a, 'b, C>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

§

impl<'a, 'b, C> !Send for OutBufferWrapper<'a, 'b, C>

§

impl<'a, 'b, C> !Sync for OutBufferWrapper<'a, 'b, C>

§

impl<'a, 'b, C> !UnwindSafe for OutBufferWrapper<'a, 'b, C>

§

impl<'a, 'b, C> Freeze for OutBufferWrapper<'a, 'b, C>
where C: ?Sized,

§

impl<'a, 'b, C> RefUnwindSafe for OutBufferWrapper<'a, 'b, C>
where C: RefUnwindSafe + ?Sized,

§

impl<'a, 'b, C> Unpin for OutBufferWrapper<'a, 'b, C>
where C: ?Sized,

§

impl<'a, 'b, C> UnsafeUnpin for OutBufferWrapper<'a, 'b, C>
where C: ?Sized,

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.