pub trait VirtualAllocator: Send + Sync {
// Required methods
fn allocate_contiguous(&self, len: usize) -> Result<Page, AllocError>;
fn allocate_contiguous_at(
&self,
at: Page,
len: usize,
) -> Result<Page, AllocError>;
fn deallocate_contiguous(&self, base: Page, len: usize);
}
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)Required Methods§
fn allocate_contiguous(&self, len: usize) -> Result<Page, AllocError>
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)fn allocate_contiguous_at( &self, at: Page, len: usize, ) -> Result<Page, AllocError>
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)fn deallocate_contiguous(&self, base: Page, len: usize)
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)Implementations on Foreign Types§
Source§impl<'a, T: 'a + VirtualAllocator + ?Sized> VirtualAllocator for &'a Twhere
&'a T: Send + Sync,
impl<'a, T: 'a + VirtualAllocator + ?Sized> VirtualAllocator for &'a Twhere
&'a T: Send + Sync,
Source§fn allocate_contiguous(&self, len: usize) -> Result<Page, AllocError>
fn allocate_contiguous(&self, len: usize) -> Result<Page, AllocError>
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)Source§fn allocate_contiguous_at(
&self,
at: Page,
len: usize,
) -> Result<Page, AllocError>
fn allocate_contiguous_at( &self, at: Page, len: usize, ) -> Result<Page, AllocError>
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)Source§fn deallocate_contiguous(&self, base: Page, len: usize)
fn deallocate_contiguous(&self, base: Page, len: usize)
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)Source§impl<T: VirtualAllocator + ?Sized> VirtualAllocator for Arc<T>where
Arc<T>: Send + Sync,
impl<T: VirtualAllocator + ?Sized> VirtualAllocator for Arc<T>where
Arc<T>: Send + Sync,
Source§fn allocate_contiguous(&self, len: usize) -> Result<Page, AllocError>
fn allocate_contiguous(&self, len: usize) -> Result<Page, AllocError>
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)Source§fn allocate_contiguous_at(
&self,
at: Page,
len: usize,
) -> Result<Page, AllocError>
fn allocate_contiguous_at( &self, at: Page, len: usize, ) -> Result<Page, AllocError>
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)Source§fn deallocate_contiguous(&self, base: Page, len: usize)
fn deallocate_contiguous(&self, base: Page, len: usize)
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)Source§impl<T: VirtualAllocator + ?Sized> VirtualAllocator for Box<T>where
Box<T>: Send + Sync,
impl<T: VirtualAllocator + ?Sized> VirtualAllocator for Box<T>where
Box<T>: Send + Sync,
Source§fn allocate_contiguous(&self, len: usize) -> Result<Page, AllocError>
fn allocate_contiguous(&self, len: usize) -> Result<Page, AllocError>
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)Source§fn allocate_contiguous_at(
&self,
at: Page,
len: usize,
) -> Result<Page, AllocError>
fn allocate_contiguous_at( &self, at: Page, len: usize, ) -> Result<Page, AllocError>
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)Source§fn deallocate_contiguous(&self, base: Page, len: usize)
fn deallocate_contiguous(&self, base: Page, len: usize)
🔬This is a nightly-only experimental API. (
kernel_virtual_memory
)