pub enum CompactionOutcome {
Compacted,
ProbeRejected,
NoChange,
}Expand description
Return type from compact_context() that distinguishes between successful compaction,
probe rejection, and no-op.
Gives maybe_compact() enough information to handle probe rejection without triggering
the Exhausted state — which would only be correct if summarization itself is stuck.
Variants§
Compacted
Messages were drained and replaced with a summary.
ProbeRejected
Probe rejected the summary — original messages are preserved.
Caller must NOT check freed_tokens or transition to Exhausted.
NoChange
No compaction was performed (too few messages, empty to_compact, etc.).
Trait Implementations§
Source§impl Clone for CompactionOutcome
impl Clone for CompactionOutcome
Source§fn clone(&self) -> CompactionOutcome
fn clone(&self) -> CompactionOutcome
Returns a duplicate of the value. Read more
1.0.0 · 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 CompactionOutcome
impl Debug for CompactionOutcome
Source§impl PartialEq for CompactionOutcome
impl PartialEq for CompactionOutcome
impl Copy for CompactionOutcome
impl Eq for CompactionOutcome
impl StructuralPartialEq for CompactionOutcome
Auto Trait Implementations§
impl Freeze for CompactionOutcome
impl RefUnwindSafe for CompactionOutcome
impl Send for CompactionOutcome
impl Sync for CompactionOutcome
impl Unpin for CompactionOutcome
impl UnsafeUnpin for CompactionOutcome
impl UnwindSafe for CompactionOutcome
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<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 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::Request