pub struct LockedFrameAllocator<const ORDER: usize = 32>(/* private fields */);
Expand description
A locked version of FrameAllocator
§Usage
Create a locked frame allocator and add frames to it:
use buddy_system_allocator::*;
let mut frame = LockedFrameAllocator::<32>::new();
assert!(frame.lock().alloc(1).is_none());
frame.lock().add_frame(0, 3);
let num = frame.lock().alloc(1);
assert_eq!(num, Some(2));
let num = frame.lock().alloc(2);
assert_eq!(num, Some(0));
Implementations§
Trait Implementations§
source§impl<const ORDER: usize> Deref for LockedFrameAllocator<ORDER>
impl<const ORDER: usize> Deref for LockedFrameAllocator<ORDER>
source§type Target = Mutex<FrameAllocator<ORDER>>
type Target = Mutex<FrameAllocator<ORDER>>
The resulting type after dereferencing.
source§fn deref(&self) -> &Mutex<FrameAllocator<ORDER>>
fn deref(&self) -> &Mutex<FrameAllocator<ORDER>>
Dereferences the value.
Auto Trait Implementations§
impl<const ORDER: usize = 32> !Freeze for LockedFrameAllocator<ORDER>
impl<const ORDER: usize = 32> !RefUnwindSafe for LockedFrameAllocator<ORDER>
impl<const ORDER: usize> Send for LockedFrameAllocator<ORDER>
impl<const ORDER: usize> Sync for LockedFrameAllocator<ORDER>
impl<const ORDER: usize> Unpin for LockedFrameAllocator<ORDER>
impl<const ORDER: usize> UnwindSafe for LockedFrameAllocator<ORDER>
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