pub struct CompactionCandidate {
pub cid: String,
pub current_offset: u64,
pub target_offset: u64,
pub size_bytes: u64,
}Expand description
A single block that would move during a compaction pass.
Fields§
§cid: StringCID of the block to move.
current_offset: u64Where the block lives today.
target_offset: u64Where the block would land after left-packing.
size_bytes: u64Size of the block in bytes.
Implementations§
Source§impl CompactionCandidate
impl CompactionCandidate
Sourcepub fn bytes_saved(&self) -> u64
pub fn bytes_saved(&self) -> u64
Bytes of gap eliminated by moving this block.
Equivalent to current_offset - target_offset; saturating to avoid
underflow if the caller constructs a candidate where target ≥ current.
Trait Implementations§
Source§impl Clone for CompactionCandidate
impl Clone for CompactionCandidate
Source§fn clone(&self) -> CompactionCandidate
fn clone(&self) -> CompactionCandidate
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompactionCandidate
impl Debug for CompactionCandidate
impl Eq for CompactionCandidate
Source§impl PartialEq for CompactionCandidate
impl PartialEq for CompactionCandidate
Source§fn eq(&self, other: &CompactionCandidate) -> bool
fn eq(&self, other: &CompactionCandidate) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CompactionCandidate
Auto Trait Implementations§
impl Freeze for CompactionCandidate
impl RefUnwindSafe for CompactionCandidate
impl Send for CompactionCandidate
impl Sync for CompactionCandidate
impl Unpin for CompactionCandidate
impl UnsafeUnpin for CompactionCandidate
impl UnwindSafe for CompactionCandidate
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more