pub struct StateVersionsIter<T> {
cfg: PersistConfig,
metrics: Arc<Metrics>,
state: State<T>,
diffs: Vec<VersionedData>,
key_codec: String,
val_codec: String,
diff_codec: String,
validator: ReferencedBlobValidator<T>,
}
Expand description
An iterator over consecutive versions of State.
Fields§
§cfg: PersistConfig
§metrics: Arc<Metrics>
§state: State<T>
§diffs: Vec<VersionedData>
§key_codec: String
§val_codec: String
§diff_codec: String
§validator: ReferencedBlobValidator<T>
Implementations§
source§impl<T: Timestamp + Lattice + Codec64> StateVersionsIter<T>
impl<T: Timestamp + Lattice + Codec64> StateVersionsIter<T>
fn new( cfg: PersistConfig, metrics: Arc<Metrics>, state: State<T>, diffs: Vec<VersionedData>, key_codec: String, val_codec: String, diff_codec: String, ) -> Self
pub fn len(&self) -> usize
sourcepub fn next<F: for<'a> FnMut(InspectDiff<'a, T>)>(
&mut self,
inspect_diff_fn: F,
) -> Option<&State<T>>
pub fn next<F: for<'a> FnMut(InspectDiff<'a, T>)>( &mut self, inspect_diff_fn: F, ) -> Option<&State<T>>
Advances first to some starting state (in practice, usually the first live state), and then through each successive state, for as many diffs as this iterator was initialized with.
The inspect_diff_fn
callback can be used to inspect diffs directly as
they are applied. The first call to next
returns a
InspectDiff::FromInitial representing a diff from the initial state.
pub fn state(&self) -> &State<T>
pub fn into_rollup_proto_without_diffs(&self) -> impl Serialize
Auto Trait Implementations§
impl<T> Freeze for StateVersionsIter<T>where
T: Freeze,
impl<T> !RefUnwindSafe for StateVersionsIter<T>
impl<T> Send for StateVersionsIter<T>
impl<T> Sync for StateVersionsIter<T>
impl<T> Unpin for StateVersionsIter<T>where
T: Unpin,
impl<T> !UnwindSafe for StateVersionsIter<T>
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
.