-
Notifications
You must be signed in to change notification settings - Fork 111
Expand file tree
/
Copy pathcircuit.rs
More file actions
51 lines (44 loc) · 1.77 KB
/
circuit.rs
File metadata and controls
51 lines (44 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//! Synchronous circuits over streams.
//!
//! A circuit consists of [operators](`operator_traits::Operator`) connected by
//! [streams](`circuit_builder::Stream`). At every clock cycle, each operator
//! consumes a single value from each of its input streams and emits a single
//! value to the output stream (except that nested circuits can execute multiple
//! operations for each outer clock tick).
//!
//! Use [`RootCircuit::build`] to create and populate an circuit that executes in
//! the calling thread, or [`Runtime::init_circuit`] to create a multi-circuit,
//! multi-worker threaded runtime. These functions return a [`CircuitHandle`]
//! or [`DBSPHandle`], respectively, that control the circuits' execution,
//! plus, when used in the recommended way, additional input handles for
//! feeding data into the circuits and output handles for obtaining their
//! output.
mod dbsp_handle;
pub(crate) mod runtime;
#[macro_use]
pub mod metadata;
pub mod cache;
pub mod checkpointer;
pub mod circuit_builder;
mod fingerprinter;
pub mod metrics;
pub mod operator_traits;
pub mod schedule;
pub mod tokio;
pub mod trace;
#[cfg(test)]
mod replay_tests;
pub use circuit_builder::{
ChildCircuit, Circuit, CircuitHandle, ExportId, ExportStream, FeedbackConnector, GlobalNodeId,
NestedCircuit, NodeId, OwnershipPreference, RootCircuit, Scope, Stream, WithClock,
};
pub use dbsp_handle::{
splitter_output_chunk_size, CheckpointCommitter, CircuitConfig, CircuitStorageConfig,
DBSPHandle, DevTweaks, Host, Layout, Mode, StorageCacheConfig, StorageConfig, StorageOptions,
};
pub use runtime::{
Error as RuntimeError, LocalStore, LocalStoreMarker, Runtime, RuntimeHandle, WeakRuntime,
};
pub use schedule::Error as SchedulerError;
#[cfg(test)]
pub(crate) use dbsp_handle::tests::mkconfig;