pub fn new<I, F>(
        initial: I,
        compaction_window_ms: Option<T>,
        since_action: F,
    ) -> (Self, AntichainToken<T>)
    where
        I: IntoIterator<Item = T>,
        F: FnMut(Antichain<T>) + 'static,
    {
        let mut upper = MutableAntichain::new();
        // Upper must always start at minimum ("0"), even if we initialize since to
        // something in advance of it.
        upper.update_iter(Some((T::minimum(), 1)));
        let durability = upper.clone();
        let frontier = Self {
            upper,
            durability,
            since: Rc::new(RefCell::new(MutableAntichain::new())),
            compaction_window_ms,
            since_action: Rc::new(RefCell::new(since_action)),
        };
        let handle = frontier.since_handle(initial);
        (frontier, handle)
    }
/// Creates an empty index state from a function to run when the since changes.
/// Returns the initial since handle.
Creates an empty index state from a function to run when the since changes.
Returns the initial since handle.
Creates an empty index state from a function to run when the since changes . Returns the initial since handle .
pub fn new<I, F>(
        initial: I,
        compaction_window_ms: Option<T>,
        since_action: F,
    ) -> (Self, AntichainToken<T>)
    where
        I: IntoIterator<Item = T>,
        F: FnMut(Antichain<T>) + 'static,
    {
        let mut upper = MutableAntichain::new();
        // Upper must always start at minimum ("0"), even if we initialize since to
        // something in advance of it.
        upper.update_iter(Some((T::minimum(), 1)));
        let durability = upper.clone();
        let frontier = Self {
            upper,
            durability,
            since: Rc::new(RefCell::new(MutableAntichain::new())),
            compaction_window_ms,
            since_action: Rc::new(RefCell::new(since_action)),
        };
        let handle = frontier.since_handle(initial);
        (frontier, handle)
    }
pub fn new < I , F > ( initial : I , compaction_window_ms : Option < T > , since_action : F , ) -> ( Self , AntichainToken < T > ) where I : IntoIterator < Item = T > , F : FnMut ( Antichain < T > ) + ' static , { let mut upper = MutableAntichain :: new ( ) ; // Upper must always start at minimum ("0"), even if we initialize since to // something in advance of it. upper . update_iter ( Some ( ( T :: minimum ( ) , 1 ) ) ) ; let durability = upper . clone ( ) ; let frontier = Self { upper , durability , since : Rc :: new ( RefCell :: new ( MutableAntichain :: new ( ) ) ) , compaction_window_ms , since_action : Rc :: new ( RefCell :: new ( since_action ) ) , } ; let handle = frontier . since_handle ( initial ) ; ( frontier , handle ) }
Creates an empty index state from a function to run when the since changes.
Creates an empty index state from a function to run when the since changes .
initial
I
compaction_window_ms
Option<T>
since_action
F
initial
I
compaction_window_ms
Option<T>
since_action
F