pub enum RemoteLogSegmentState {
CopySegmentStarted,
CopySegmentFinished,
DeleteSegmentStarted,
DeleteSegmentFinished,
}Expand description
Lifecycle state of a remote log segment.
Valid transitions (see RemoteLogSegmentState::is_valid_transition):
CopySegmentStarted ──► CopySegmentFinished ──► DeleteSegmentStarted ──► DeleteSegmentFinished
└───────────────────────────────────►┘Variants§
CopySegmentStarted
A copy to the remote tier has begun but not finished. The starting state of every segment.
CopySegmentFinished
The copy finished; the segment is durable in the remote tier and readable.
DeleteSegmentStarted
Deletion from the remote tier has begun.
DeleteSegmentFinished
The segment has been fully removed from the remote tier.
Implementations§
Source§impl RemoteLogSegmentState
impl RemoteLogSegmentState
Sourcepub fn is_valid_transition(self, target: Self) -> bool
pub fn is_valid_transition(self, target: Self) -> bool
true if a segment currently in self may transition to target.
A same-state “transition” is not valid (callers treat it as a no-op / duplicate, not an advance).
Trait Implementations§
Source§impl Clone for RemoteLogSegmentState
impl Clone for RemoteLogSegmentState
Source§fn clone(&self) -> RemoteLogSegmentState
fn clone(&self) -> RemoteLogSegmentState
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 moreimpl Copy for RemoteLogSegmentState
Source§impl Debug for RemoteLogSegmentState
impl Debug for RemoteLogSegmentState
impl Eq for RemoteLogSegmentState
Source§impl Hash for RemoteLogSegmentState
impl Hash for RemoteLogSegmentState
Source§impl PartialEq for RemoteLogSegmentState
impl PartialEq for RemoteLogSegmentState
Source§fn eq(&self, other: &RemoteLogSegmentState) -> bool
fn eq(&self, other: &RemoteLogSegmentState) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RemoteLogSegmentState
Auto Trait Implementations§
impl Freeze for RemoteLogSegmentState
impl RefUnwindSafe for RemoteLogSegmentState
impl Send for RemoteLogSegmentState
impl Sync for RemoteLogSegmentState
impl Unpin for RemoteLogSegmentState
impl UnsafeUnpin for RemoteLogSegmentState
impl UnwindSafe for RemoteLogSegmentState
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
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§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 more