Trait VirtualAllocator

Source
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§

Source

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>

🔬This is a nightly-only experimental API. (kernel_virtual_memory)
Source

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 T
where &'a T: Send + Sync,

Source§

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>

🔬This is a nightly-only experimental API. (kernel_virtual_memory)
Source§

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,

Source§

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>

🔬This is a nightly-only experimental API. (kernel_virtual_memory)
Source§

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,

Source§

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>

🔬This is a nightly-only experimental API. (kernel_virtual_memory)
Source§

fn deallocate_contiguous(&self, base: Page, len: usize)

🔬This is a nightly-only experimental API. (kernel_virtual_memory)

Implementors§