hydro_lang/
lib.rs

1#![cfg_attr(docsrs, feature(doc_cfg))]
2
3stageleft::stageleft_no_entry_crate!();
4
5pub use stageleft::q;
6
7#[cfg(feature = "runtime_support")]
8#[cfg_attr(docsrs, doc(cfg(feature = "runtime_support")))]
9#[doc(hidden)]
10pub mod runtime_support {
11    pub use {bincode, dfir_rs, stageleft, tokio};
12    pub mod launch;
13    pub mod resource_measurement;
14}
15
16#[doc(hidden)]
17pub mod internal_constants {
18    pub const CPU_USAGE_PREFIX: &str = "CPU:";
19    // Should remain consistent with dfir_lang/src/graph/ops/_counter.rs
20    pub const COUNTER_PREFIX: &str = "_counter";
21}
22
23#[cfg(feature = "dfir_context")]
24#[cfg_attr(docsrs, doc(cfg(feature = "dfir_context")))]
25pub mod runtime_context;
26#[cfg(feature = "dfir_context")]
27#[cfg_attr(docsrs, doc(cfg(feature = "dfir_context")))]
28pub use runtime_context::RUNTIME_CONTEXT;
29
30pub mod boundedness;
31pub use boundedness::{Bounded, Unbounded};
32
33pub mod stream;
34pub use stream::{NoOrder, Stream, TotalOrder};
35
36pub mod singleton;
37pub use singleton::Singleton;
38
39pub mod optional;
40pub use optional::Optional;
41
42pub mod location;
43pub use location::cluster::CLUSTER_SELF_ID;
44pub use location::{Atomic, Cluster, ClusterId, ExternalProcess, Location, Process, Tick};
45
46#[cfg(feature = "build")]
47#[cfg_attr(docsrs, doc(cfg(feature = "build")))]
48pub mod deploy;
49
50pub mod deploy_runtime;
51
52pub mod cycle;
53
54pub mod builder;
55pub use builder::FlowBuilder;
56
57pub mod ir;
58
59pub mod rewrites;
60
61mod staging_util;
62
63#[cfg(feature = "deploy")]
64#[cfg_attr(docsrs, doc(cfg(feature = "build")))]
65pub mod test_util;
66
67#[cfg(test)]
68mod test_init {
69    #[ctor::ctor]
70    fn init() {
71        crate::deploy::init_test();
72    }
73}