Skip to main content

atomr_streams/
lib.rs

1//! atomr-streams. akka.net: `src/core/Akka.Streams`.
2//!
3//! Source/Flow/Sink DSL built on top of `futures::Stream`. The surface
4//! covers the linear operator set and the most common graph-DSL
5//! junctions from upstream:
6//!
7//! * [`Source`], [`Flow`], [`Sink`] — core linear elements.
8//! * [`graph`] — `merge`, `broadcast`, `zip`, `concat` junctions.
9//! * [`Framing`] — delimiter / length-field byte framing.
10//! * [`FileIO`], [`Tcp`] — I/O adapters.
11//! * [`KillSwitch`] — external termination.
12//! * [`RestartSource`] / [`RestartSettings`] — automatic resubscription.
13//! * [`SourceQueue`] / [`Sink::queue`] — explicit backpressure handles.
14//! * [`OverflowStrategy`] — bounded-buffer policies.
15//! * [`BidiFlow`] — bidirectional composition.
16//!
17//! The port delegates pipeline execution to `futures_util::StreamExt`; each
18//! combinator builds a boxed stream closure that mirrors the corresponding
19//! Akka.Streams operator.
20
21mod bidi;
22mod file_io;
23mod flow;
24mod framing;
25mod graph;
26mod hub;
27mod junction;
28mod kill_switch;
29mod lifecycle;
30mod materializer;
31mod overflow;
32mod queue;
33mod recovery;
34mod restart;
35mod routing;
36mod runnable;
37mod sink;
38mod source;
39mod stream_ref;
40mod substream;
41mod supervision;
42mod tcp;
43mod timed;
44
45pub use bidi::BidiFlow;
46pub use file_io::FileIO;
47pub use flow::Flow;
48pub use framing::{Framing, FramingError};
49pub use graph::GraphDsl;
50pub use hub::{BroadcastHub, MergeHub};
51pub use junction::{broadcast, concat, merge, merge_all, zip, zip_with, zip_with_index};
52pub use kill_switch::KillSwitch;
53pub use lifecycle::{count_elements, monitor, watch_termination};
54pub use materializer::ActorMaterializer;
55pub use overflow::OverflowStrategy;
56pub use queue::{QueueOfferResult, SourceQueue};
57pub use recovery::{map_error, recover, recover_with};
58pub use restart::{RestartSettings, RestartSource};
59pub use routing::{balance, partition, unzip};
60pub use runnable::RunnableGraph;
61pub use sink::{Sink, SinkQueue};
62pub use source::Source;
63pub use stream_ref::{SinkRef, SinkRefHandle, SourceRef, SourceRefHandle};
64pub use substream::{group_by, split_when};
65pub use supervision::{deciders, with_decider, Decider, SupervisionDirective};
66pub use tcp::{IncomingConnection, OutgoingConnection, Tcp};
67pub use timed::{grouped_within, idle_timeout};