pub enum DefragmentationAlgorithm {
Fast,
Balanced,
Full,
Extensive,
}Expand description
Existing-block relocation policy, derived from the pinned VMA algorithms.
Variants§
Fast
Consolidate sparse blocks into fuller compatible blocks, without same-block moves.
Balanced
Also compact within a block when average allocation/free sizes justify the copy.
Full
Also try every eligible source at a strictly lower offset within its own block.
Extensive
Evacuate blocks, pack compatible resource classes, then compact remaining gaps.
Requires a persistent DefragmentationContext; no native allocation/copy is implicit.
Trait Implementations§
Source§impl Clone for DefragmentationAlgorithm
impl Clone for DefragmentationAlgorithm
impl Copy for DefragmentationAlgorithm
Source§impl Debug for DefragmentationAlgorithm
impl Debug for DefragmentationAlgorithm
Source§impl Default for DefragmentationAlgorithm
impl Default for DefragmentationAlgorithm
impl Eq for DefragmentationAlgorithm
Source§impl PartialEq for DefragmentationAlgorithm
impl PartialEq for DefragmentationAlgorithm
impl StructuralPartialEq for DefragmentationAlgorithm
Auto Trait Implementations§
impl Forget for DefragmentationAlgorithm
impl Freeze for DefragmentationAlgorithm
impl Move for DefragmentationAlgorithm
impl RefUnwindSafe for DefragmentationAlgorithm
impl Send for DefragmentationAlgorithm
impl Sync for DefragmentationAlgorithm
impl Unpin for DefragmentationAlgorithm
impl UnsafeUnpin for DefragmentationAlgorithm
impl UnwindSafe for DefragmentationAlgorithm
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