Skip to main content

downgrade_to_interval_boundary

Function downgrade_to_interval_boundary 

Source
pub(crate) fn downgrade_to_interval_boundary(
    cap: &mut Capability<Timestamp>,
    activator: &Activator,
    now: Instant,
    start_offset: Duration,
    interval_ms: u128,
) -> Timestamp
Expand description

Downgrade cap to the next logging-interval boundary and schedule the operator’s next activation there. Returns the time the capability now holds.

now and start_offset must be the ones the logging dataflow was constructed with, so that every collection in it reports on the same boundaries. Scheduling off the boundary rather than off a fixed delay keeps the output frontier progressing at the logging rate without drifting from wall-clock elapsed time.

NOTE: downgrading the capability asserts the collection is complete up to the new time, so an operator that samples less often than the logging interval publishes a stale value rather than withholding it.