pub trait FrameAllocator {
// Required methods
fn alloc(
&mut self,
order: u8,
token: &IrqDisabledToken,
) -> Result<PhysFrame, AllocError>;
fn free(&mut self, frame: PhysFrame, order: u8, token: &IrqDisabledToken);
// Provided method
fn alloc_frame(
&mut self,
token: &IrqDisabledToken,
) -> Result<PhysFrame, AllocError> { ... }
}Expand description
Frame allocator trait
Required Methods§
Sourcefn alloc(
&mut self,
order: u8,
token: &IrqDisabledToken,
) -> Result<PhysFrame, AllocError>
fn alloc( &mut self, order: u8, token: &IrqDisabledToken, ) -> Result<PhysFrame, AllocError>
Allocate 2^order contiguous frames.
Le token interdit les appels depuis un contexte où le verrou global de l’allocateur pourrait être ré-entré par interruption.
Sourcefn free(&mut self, frame: PhysFrame, order: u8, token: &IrqDisabledToken)
fn free(&mut self, frame: PhysFrame, order: u8, token: &IrqDisabledToken)
Free 2^order contiguous frames starting at frame.
Provided Methods§
Sourcefn alloc_frame(
&mut self,
token: &IrqDisabledToken,
) -> Result<PhysFrame, AllocError>
fn alloc_frame( &mut self, token: &IrqDisabledToken, ) -> Result<PhysFrame, AllocError>
Allocate a single frame (convenience method)