pub struct Stash {
buffers: UnsafeCell<Vec<Vec<u8>>>,
mmaps: UnsafeCell<Vec<Mmap>>,
}
Expand description
A simple arena allocator for byte buffers.
Fields§
§buffers: UnsafeCell<Vec<Vec<u8>>>
§mmaps: UnsafeCell<Vec<Mmap>>
Implementations§
Source§impl Stash
impl Stash
pub fn new() -> Stash
Sourcepub fn allocate(&self, size: usize) -> &mut [u8] ⓘ
pub fn allocate(&self, size: usize) -> &mut [u8] ⓘ
Allocates a buffer of the specified size and returns a mutable reference to it.
Sourcepub fn cache_mmap(&self, map: Mmap) -> &[u8] ⓘ
pub fn cache_mmap(&self, map: Mmap) -> &[u8] ⓘ
Stores a Mmap
for the lifetime of this Stash
, returning a pointer
which is scoped to just this lifetime.
Auto Trait Implementations§
impl !Freeze for Stash
impl !RefUnwindSafe for Stash
impl !Send for Stash
impl !Sync for Stash
impl Unpin for Stash
impl UnwindSafe for Stash
Blanket Implementations§
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> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)] const IS_ZST: bool = _
#[doc(hidden)] const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const LAYOUT: Layout = _
#[doc(hidden)] const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const MAX_SLICE_LEN: usize = _
#[doc(hidden)] const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)The largest safe length for a
[Self]
. Read more