pub struct PooledBuffer { /* private fields */ }Expand description
An owned, pool-tracked byte buffer.
Created exclusively by TensorPool::acquire and must be returned to the
same pool via TensorPool::release. There is no Drop guard —
callers are responsible for calling release. This is an intentional
design choice to avoid the need for Arc<TensorPool> references inside the
buffer struct and to keep zero-copy paths maximally thin.
Implementations§
Source§impl PooledBuffer
impl PooledBuffer
Sourcepub fn as_mut_slice(&mut self) -> &mut [u8] ⓘ
pub fn as_mut_slice(&mut self) -> &mut [u8] ⓘ
Mutable view of the buffer contents.
Sourcepub fn resize(&mut self, new_len: usize, val: u8)
pub fn resize(&mut self, new_len: usize, val: u8)
Resize the buffer, filling any new bytes with val.
Delegates directly to Vec::resize.
Sourcepub fn into_inner(self) -> Vec<u8> ⓘ
pub fn into_inner(self) -> Vec<u8> ⓘ
Consume the PooledBuffer and return the raw inner Vec<u8>.
The caller takes ownership; the buffer is not returned to the pool.
Prefer TensorPool::release to reuse buffers.
Auto Trait Implementations§
impl Freeze for PooledBuffer
impl RefUnwindSafe for PooledBuffer
impl Send for PooledBuffer
impl Sync for PooledBuffer
impl Unpin for PooledBuffer
impl UnsafeUnpin for PooledBuffer
impl UnwindSafe for PooledBuffer
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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