Struct mz_repr::refresh_schedule::RefreshSchedule
source · pub struct RefreshSchedule {
pub everies: Vec<RefreshEvery>,
pub ats: Vec<Timestamp>,
}
Fields§
§everies: Vec<RefreshEvery>
§ats: Vec<Timestamp>
Implementations§
source§impl RefreshSchedule
impl RefreshSchedule
sourcepub fn round_up_timestamp(&self, timestamp: Timestamp) -> Option<Timestamp>
pub fn round_up_timestamp(&self, timestamp: Timestamp) -> Option<Timestamp>
Rounds up the timestamp to the time of the next refresh. Returns None if there is no next refresh. It saturates, i.e., if the next refresh would be larger than the maximum timestamp, then it returns the maximum timestamp. Note that this function is monotonic.
sourcepub fn round_down_timestamp_m1(&self, timestamp: Timestamp) -> Option<Timestamp>
pub fn round_down_timestamp_m1(&self, timestamp: Timestamp) -> Option<Timestamp>
Rounds down timestamp - 1
to the time of the previous refresh.
Returns None if there is no previous refresh.
It saturates, i.e., if the previous refresh would be smaller than the minimum timestamp,
then it returns the minimum timestamp.
Note that this fn is monotonic.
sourcepub fn last_refresh(&self) -> Option<Timestamp>
pub fn last_refresh(&self) -> Option<Timestamp>
Returns the time of the last refresh. Returns None if there is no last refresh (e.g., for a periodic refresh).
(If there is no last refresh, then we have a REFRESH EVERY
, in which case the saturating
roundup puts a refresh at the maximum possible timestamp. This means that it would make
some sense to return the maximum possible timestamp instead of None. Indeed, some of our
callers handle our None return value in exactly this way. However, some other callers do
something else with None, and therefore we don’t want to hardcode this behavior in this
function.)
Trait Implementations§
source§impl Arbitrary for RefreshSchedule
impl Arbitrary for RefreshSchedule
§type Strategy = BoxedStrategy<RefreshSchedule>
type Strategy = BoxedStrategy<RefreshSchedule>
Strategy
used to generate values of type Self
.§type Parameters = ()
type Parameters = ()
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.source§fn arbitrary_with(_: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_: Self::Parameters) -> Self::Strategy
source§impl Clone for RefreshSchedule
impl Clone for RefreshSchedule
source§fn clone(&self) -> RefreshSchedule
fn clone(&self) -> RefreshSchedule
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for RefreshSchedule
impl Debug for RefreshSchedule
source§impl Default for RefreshSchedule
impl Default for RefreshSchedule
source§fn default() -> RefreshSchedule
fn default() -> RefreshSchedule
source§impl<'de> Deserialize<'de> for RefreshSchedule
impl<'de> Deserialize<'de> for RefreshSchedule
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>,
source§impl Ord for RefreshSchedule
impl Ord for RefreshSchedule
source§fn cmp(&self, other: &RefreshSchedule) -> Ordering
fn cmp(&self, other: &RefreshSchedule) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for RefreshSchedule
impl PartialEq for RefreshSchedule
source§impl PartialOrd for RefreshSchedule
impl PartialOrd for RefreshSchedule
source§impl RustType<ProtoRefreshSchedule> for RefreshSchedule
impl RustType<ProtoRefreshSchedule> for RefreshSchedule
source§fn into_proto(&self) -> ProtoRefreshSchedule
fn into_proto(&self) -> ProtoRefreshSchedule
Self
into a Proto
value.source§fn from_proto(proto: ProtoRefreshSchedule) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoRefreshSchedule) -> Result<Self, TryFromProtoError>
source§fn into_proto_owned(self) -> Proto
fn into_proto_owned(self) -> Proto
Self::into_proto
that types can
optionally implement, otherwise, the default implementation
delegates to Self::into_proto
.source§impl Serialize for RefreshSchedule
impl Serialize for RefreshSchedule
impl Eq for RefreshSchedule
impl StructuralPartialEq for RefreshSchedule
Auto Trait Implementations§
impl Freeze for RefreshSchedule
impl RefUnwindSafe for RefreshSchedule
impl Send for RefreshSchedule
impl Sync for RefreshSchedule
impl Unpin for RefreshSchedule
impl UnwindSafe for RefreshSchedule
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<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
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
key
and return true
if they are equal.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>
T
in a tonic::Request
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> PreferredContainer for T
impl<T> PreferredContainer for T
source§impl<T> ProgressEventTimestamp for T
impl<T> ProgressEventTimestamp 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>
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
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)
std::ops::AddAssign
, for types that do not implement AddAssign
.