Struct mz_persist_client::internal::gc::GcRollups
source · struct GcRollups {
rollups_lte_seqno_since: Vec<(SeqNo, PartialRollupKey)>,
rollup_seqnos: HashSet<SeqNo>,
}
Fields§
§rollups_lte_seqno_since: Vec<(SeqNo, PartialRollupKey)>
§rollup_seqnos: HashSet<SeqNo>
Implementations§
source§impl GcRollups
impl GcRollups
fn new( rollups_lte_seqno_since: Vec<(SeqNo, PartialRollupKey)>, gc_req: &GcReq, ) -> Self
fn contains_seqno(&self, seqno: &SeqNo) -> bool
sourcefn truncate_seqnos(&self) -> impl Iterator<Item = SeqNo> + '_
fn truncate_seqnos(&self) -> impl Iterator<Item = SeqNo> + '_
Returns the seqnos we can safely truncate state to when performing incremental GC (all rollups with seqnos <= seqno_since).
sourcefn rollups_to_remove_from_state(&self) -> &[(SeqNo, PartialRollupKey)]
fn rollups_to_remove_from_state(&self) -> &[(SeqNo, PartialRollupKey)]
Returns the rollups we can safely remove from state (all rollups
<
than the latest rollup <=
seqno_since).
See the full explanation in crate::internal::state_versions::StateVersions for how this is derived.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for GcRollups
impl RefUnwindSafe for GcRollups
impl Send for GcRollups
impl Sync for GcRollups
impl Unpin for GcRollups
impl UnwindSafe for GcRollups
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> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> 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
Creates a shared type from an unshared type.
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.