Trait persist::operators::stream::AllowPersistCompaction[][src]

pub trait AllowPersistCompaction<G: Scope<Timestamp = u64>, D: TimelyData> {
    fn allow_compaction<K, V>(
        &self,
        name: &str,
        write: StreamWriteHandle<K, V>,
        allowed_compaction_frontier: Rc<RefCell<Antichain<u64>>>
    ) -> Stream<G, (D, u64, isize)>
    where
        K: Codec,
        V: Codec
; }
Expand description

Extension trait for Stream.

Required methods

Passes through each element of the stream and allows compaction on the given collection (the write handle) when the input frontier combined with the allowed compaction frontier (the effective input frontier) advance.

NOTE: This does not allow compaction right up to the effective input frontier. Instead, when the frontier advances, we allow compaction up to the latest previous frontier that is strictly dominated (PartialOrder::less()), than the effective input frontier. We do this, because the input frontier is most likely a proxy for an upstream persist or seal frontier and we don’t want to advance up to the seal, so that we can still distinguish between updates that are in front of or beyond the seal frontier.

Implementations on Foreign Types

Implementors