pub fn new() -> (DataflowProgressHandle, DataflowProgress) {
        let (tx, rx) = crossbeam_channel::unbounded();
        let closed = Arc::new(AtomicBool::new(false));
        (
            DataflowProgressHandle {
                core: Arc::new(Mutex::new(DataflowProgressCore {
                    rx,
                    closed: closed.clone(),
                    waiters: BTreeMap::new(),
                    frontier: Antichain::from_elem(0),
                })),
            },
            DataflowProgress { tx, closed },
        )
    }
/// Returns a client for waiting on dataflow progress and the paired handle
/// for transmitting it.
Returns a client for waiting on dataflow progress and the paired handle
for transmitting it.
Returns a client for waiting on dataflow progress and the paired handle for transmitting it .
pub fn new() -> (DataflowProgressHandle, DataflowProgress) {
        let (tx, rx) = crossbeam_channel::unbounded();
        let closed = Arc::new(AtomicBool::new(false));
        (
            DataflowProgressHandle {
                core: Arc::new(Mutex::new(DataflowProgressCore {
                    rx,
                    closed: closed.clone(),
                    waiters: BTreeMap::new(),
                    frontier: Antichain::from_elem(0),
                })),
            },
            DataflowProgress { tx, closed },
        )
    }
pub fn new ( ) -> ( DataflowProgressHandle , DataflowProgress ) { let ( tx , rx ) = crossbeam_channel :: unbounded ( ) ; let closed = Arc :: new ( AtomicBool :: new ( false ) ) ; ( DataflowProgressHandle { core : Arc :: new ( Mutex :: new ( DataflowProgressCore { rx , closed : closed . clone ( ) , waiters : BTreeMap :: new ( ) , frontier : Antichain :: from_elem ( 0 ) , } ) ) , } , DataflowProgress { tx , closed } , ) }
Returns a client for waiting on dataflow progress and the paired handle
for transmitting it.
Returns a client for waiting on dataflow progress and the paired handle for transmitting it .