1use std::marker::PhantomData;
6
7use serde::Serialize;
8use serde::de::DeserializeOwned;
9
10use crate::compile::builder::ExternalPortId;
11use crate::live_collections::stream::{Ordering, Retries};
12
13pub struct SimReceiver<T: Serialize + DeserializeOwned, O: Ordering, R: Retries>(
15 pub(crate) ExternalPortId,
16 pub(crate) PhantomData<(T, O, R)>,
17);
18
19pub struct SimSender<T: Serialize + DeserializeOwned, O: Ordering, R: Retries>(
21 pub(crate) ExternalPortId,
22 pub(crate) PhantomData<(T, O, R)>,
23);
24
25pub struct SimClusterReceiver<T: Serialize + DeserializeOwned, O: Ordering, R: Retries>(
30 pub(crate) ExternalPortId,
31 pub(crate) PhantomData<(T, O, R)>,
32);
33
34pub struct SimClusterSender<T: Serialize + DeserializeOwned, O: Ordering, R: Retries>(
39 pub(crate) ExternalPortId,
40 pub(crate) PhantomData<(T, O, R)>,
41);
42
43pub struct SimAtomicSender<T: Serialize + DeserializeOwned, O: Ordering, R: Retries>(
48 pub(crate) SimSender<T, O, R>,
49);
50
51#[cfg(stageleft_runtime)]
52mod builder;
53
54#[cfg(stageleft_runtime)]
55pub mod compiled;
56
57#[cfg(stageleft_runtime)]
58pub(crate) mod graph;
59
60#[cfg(stageleft_runtime)]
61pub mod flow;
62
63#[cfg(stageleft_runtime)]
64#[doc(hidden)]
65pub mod runtime;
66
67#[cfg(test)]
68mod tests;