pub struct ZeroCopyBuffer { /* private fields */ }Expand description
A zero-copy buffer with reference counting and memory pooling
Implementations§
Source§impl ZeroCopyBuffer
impl ZeroCopyBuffer
Sourcepub fn reserve(&self, len: usize) -> Option<BufferSlice>
pub fn reserve(&self, len: usize) -> Option<BufferSlice>
Get a slice of the buffer for writing Returns None if there’s not enough space
Sourcepub unsafe fn get_mut_slice(&self, offset: usize, len: usize) -> &mut [u8] ⓘ
pub unsafe fn get_mut_slice(&self, offset: usize, len: usize) -> &mut [u8] ⓘ
Get a mutable slice for the reserved range
§Safety
Caller must ensure exclusive access to this range. The mutable borrow from immutable self is intentional - this is interior mutability via raw pointers with atomic coordination for lock-free access.
Trait Implementations§
Source§impl Debug for ZeroCopyBuffer
impl Debug for ZeroCopyBuffer
Source§impl Drop for ZeroCopyBuffer
impl Drop for ZeroCopyBuffer
impl Send for ZeroCopyBuffer
impl Sync for ZeroCopyBuffer
Auto Trait Implementations§
impl !Freeze for ZeroCopyBuffer
impl RefUnwindSafe for ZeroCopyBuffer
impl Unpin for ZeroCopyBuffer
impl UnwindSafe for ZeroCopyBuffer
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more