pub enum DirtyMarker {
MarkDirty {
collection_id: CollectionUuid,
log_position: u64,
num_records: u64,
reinsert_count: u64,
initial_insertion_epoch_us: u64,
},
Purge {
collection_id: CollectionUuid,
},
Cleared,
}Expand description
Markers for tracking collection compaction state changes.
DirtyMarker represents state transitions in the compaction lifecycle of collections. The enum is designed for forwards/backwards compatibility - new variants can be added and handled independently while maintaining compatibility with older code.
Variants§
MarkDirty
Marks a collection as needing compaction due to new records.
Fields
§
collection_id: CollectionUuidThe collection requiring compaction.
Purge
Removes all compaction scheduling for a collection.
Fields
§
collection_id: CollectionUuidThe collection to purge from the compaction heap.
Cleared
A no-op marker used for log compaction.
When a log contains mark-dirty markers that have been purged, those entries can be replaced with Cleared markers to allow log truncation.
Implementations§
Source§impl DirtyMarker
impl DirtyMarker
Sourcepub fn collection_id(&self) -> CollectionUuid
pub fn collection_id(&self) -> CollectionUuid
The collection ID for a given dirty marker.
Trait Implementations§
Source§impl Clone for DirtyMarker
impl Clone for DirtyMarker
Source§fn clone(&self) -> DirtyMarker
fn clone(&self) -> DirtyMarker
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DirtyMarker
impl Debug for DirtyMarker
Source§impl<'de> Deserialize<'de> for DirtyMarker
impl<'de> Deserialize<'de> for DirtyMarker
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for DirtyMarker
impl PartialEq for DirtyMarker
Source§impl Serialize for DirtyMarker
impl Serialize for DirtyMarker
impl Eq for DirtyMarker
impl StructuralPartialEq for DirtyMarker
Auto Trait Implementations§
impl Freeze for DirtyMarker
impl RefUnwindSafe for DirtyMarker
impl Send for DirtyMarker
impl Sync for DirtyMarker
impl Unpin for DirtyMarker
impl UnwindSafe for DirtyMarker
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)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<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<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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§unsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.