Skip to main content

datum/concurrent/
mod.rs

1//! Stream-native concurrency primitives.
2//!
3//! `Signal<T>` and `Subscription<T>` are latest-value state cells with an `ArcSwap` read mirror.
4//! State writes run on the caller thread; the actor owns the control plane for subscription
5//! registration, unregistration, close, terminal delivery, and slot-table snapshots. `Signal`
6//! exposes a coalesced change feed; `Subscription` exposes a bounded, lossless-by-default
7//! sequence-ring change feed.
8//!
9//! `Channel<T>` is a closeable bounded MPSC source. `Topic<T>` is a stream-native broadcast hub:
10//! a control actor owns subscriber lifecycle while publishers enqueue directly into lock-free
11//! subscriber slots under a single global publish order.
12
13pub mod channel;
14mod signal;
15mod subscription;
16mod topic;
17
18pub use signal::Signal;
19pub use subscription::{Subscription, SubscriptionOverflow};
20pub use topic::{Topic, TopicOverflow, TopicPublishError, TopicTryPublishError};