[−][src]Struct context_allocator::allocators::MemoryMapAllocator
This NUMA-aware allocator allocates memory-mapped data, optionally using NUMA policy to allocate on a memory node closest to the current thread.
It is slow and uses system calls.
On non-Linux systems except for NetBSD, this allocator is extremely inefficient when reallocating.
On Android, DragonFlyBSD, FreeBSD, Linux and OpenBSD mappings are omitted from core dumps for data privacy.
When dropped, any memory allocated with this allocator is NOT freed.
Trait Implementations
impl Allocator for MemoryMapAllocator
[src]
fn allocate(
&self,
non_zero_size: NonZeroUsize,
non_zero_power_of_two_alignment: NonZeroUsize
) -> Result<MemoryAddress, AllocErr>
[src]
&self,
non_zero_size: NonZeroUsize,
non_zero_power_of_two_alignment: NonZeroUsize
) -> Result<MemoryAddress, AllocErr>
fn deallocate(
&self,
non_zero_size: NonZeroUsize,
_non_zero_power_of_two_alignment: NonZeroUsize,
current_memory: MemoryAddress
)
[src]
&self,
non_zero_size: NonZeroUsize,
_non_zero_power_of_two_alignment: NonZeroUsize,
current_memory: MemoryAddress
)
fn growing_reallocate(
&self,
non_zero_new_size: NonZeroUsize,
_non_zero_power_of_two_alignment: NonZeroUsize,
non_zero_current_size: NonZeroUsize,
current_memory: MemoryAddress
) -> Result<MemoryAddress, AllocErr>
[src]
&self,
non_zero_new_size: NonZeroUsize,
_non_zero_power_of_two_alignment: NonZeroUsize,
non_zero_current_size: NonZeroUsize,
current_memory: MemoryAddress
) -> Result<MemoryAddress, AllocErr>
fn shrinking_reallocate(
&self,
non_zero_new_size: NonZeroUsize,
_non_zero_power_of_two_alignment: NonZeroUsize,
non_zero_current_size: NonZeroUsize,
current_memory: MemoryAddress
) -> Result<MemoryAddress, AllocErr>
[src]
&self,
non_zero_new_size: NonZeroUsize,
_non_zero_power_of_two_alignment: NonZeroUsize,
non_zero_current_size: NonZeroUsize,
current_memory: MemoryAddress
) -> Result<MemoryAddress, AllocErr>
const ZeroSizedAllocation: MemoryAddress
[src]
The sentinel value used for a zero-sized allocation.
fn adapt<'a>(&'a self) -> AllocatorAdaptor<'a, Self>
[src]
Adapts to a GlobalAlloc
and Alloc
.
fn adapt_reference<'a>(&'a self) -> &'a AllocatorAdaptor<'a, Self>
[src]
Adapts a reference to a GlobalAlloc
and Alloc
reference.
impl Clone for MemoryMapAllocator
[src]
fn clone(&self) -> MemoryMapAllocator
[src]
default fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq<MemoryMapAllocator> for MemoryMapAllocator
[src]
fn eq(&self, other: &MemoryMapAllocator) -> bool
[src]
fn ne(&self, other: &MemoryMapAllocator) -> bool
[src]
impl PartialOrd<MemoryMapAllocator> for MemoryMapAllocator
[src]
fn partial_cmp(&self, other: &MemoryMapAllocator) -> Option<Ordering>
[src]
fn lt(&self, other: &MemoryMapAllocator) -> bool
[src]
fn le(&self, other: &MemoryMapAllocator) -> bool
[src]
fn gt(&self, other: &MemoryMapAllocator) -> bool
[src]
fn ge(&self, other: &MemoryMapAllocator) -> bool
[src]
impl Eq for MemoryMapAllocator
[src]
impl Ord for MemoryMapAllocator
[src]
fn cmp(&self, other: &MemoryMapAllocator) -> Ordering
[src]
default fn max(self, other: Self) -> Self
1.21.0[src]
Compares and returns the maximum of two values. Read more
default fn min(self, other: Self) -> Self
1.21.0[src]
Compares and returns the minimum of two values. Read more
default fn clamp(self, min: Self, max: Self) -> Self
[src]
clamp
)Restrict a value to a certain interval. Read more
impl Hash for MemoryMapAllocator
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
default fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl Debug for MemoryMapAllocator
[src]
Auto Trait Implementations
impl Send for MemoryMapAllocator
impl Sync for MemoryMapAllocator
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,