pub struct LockedFrameAllocator<const ORDER: usize = 33>(/* private fields */);Expand description
A locked version of FrameAllocator
§Usage
Create a locked frame allocator and add frames to it:
use buddy_system_allocator::*;
// Notice that the max order is `ORDER - 1`.
let mut frame = LockedFrameAllocator::<33>::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> Default for LockedFrameAllocator<ORDER>
impl<const ORDER: usize> Default for LockedFrameAllocator<ORDER>
Source§fn default() -> LockedFrameAllocator<ORDER>
fn default() -> LockedFrameAllocator<ORDER>
Returns the “default value” for a type. Read more
Source§impl<const ORDER: usize> Deref for LockedFrameAllocator<ORDER>
Available on crate feature use_spin only.
impl<const ORDER: usize> Deref for LockedFrameAllocator<ORDER>
Available on crate feature
use_spin only.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 = 33> !Freeze for LockedFrameAllocator<ORDER>
impl<const ORDER: usize = 33> !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