datum-core 0.9.0

Rust stream-processing library mirroring Akka/Pekko Streams Typed, built on Ractor actors
Documentation
#![forbid(unsafe_code)]
#![doc = include_str!("../README.md")]

mod attributes;

pub mod actor;
pub mod concurrent;
pub mod context;
pub mod dynamic;
pub mod graph;
pub mod io;
pub mod queue;
pub mod stream;
pub mod testkit;

pub use actor::{
    ActorFlow, ActorPubSub, ActorRef, ActorSink, ActorSinkBackpressureMessage, ActorSinkMessage,
    ActorSource, ActorSourceMessage, ActorStatus, ReplyPort, ReplySendError, SinkRef, SourceRef,
    StreamRefFrame, StreamRefId, StreamRefMessage, StreamRefOutbound, StreamRefPayload,
    StreamRefPayloadBatch, StreamRefPayloadBytes, StreamRefProtoConsumer, StreamRefProtoEndpoint,
    StreamRefProtoProducer, StreamRefSettings, StreamRefs, WatchEvent,
};
pub use attributes::{Attribute, Attributes};
pub use concurrent::{
    Signal, Subscription, SubscriptionOverflow, Topic, TopicOverflow, TopicPublishError,
    TopicTryPublishError,
    channel::{Channel, SendError as ChannelSendError, TrySendError},
};
pub use context::{FlowWithContext, SourceWithContext};
pub use dynamic::{
    BroadcastHub, BroadcastHubConsumerSource, KillSwitches, MergeHub, MergeHubDrainingControl,
    PartitionConsumerInfo, PartitionHub, PartitionHubConsumerSource, SharedKillSwitch,
    UniqueKillSwitch,
};
pub use graph::{
    AnyInlet, AnyOutlet, AsyncBoundary, AsyncBoundaryExecutionConfig, Balance, BidiShape,
    Broadcast, Buffer, Concat, FanInShape, FanOutShape, FanOutShape2, FlowShape,
    FlowShape as GraphFlowShape, FusedExecutionConfig, FusedExecutionReport, FusedTerminalReport,
    Graph, GraphBlueprint, GraphBuilder, GraphDsl, GraphStage, GraphStageLogic, Identity,
    ImportedGraph, InHandler, Inlet, InletCursor, Interleave, MapStage, Merge, MergeLatest,
    MergePreferred, MergePreferredShape, MergePrioritized, MergeSequence, MergeSorted, OrElse,
    OutHandler, Outlet, OutletCursor, PartialGraph, Partition, PortAllocator, PortId, PortKind,
    SinkShape, SourceShape, StageSpec, TakeWhile, TimerHandler, Unzip, UnzipWith, WireDsl,
    WirePair, WireSpec, Zip, ZipShape,
};
#[cfg(feature = "io-uring-file")]
pub use io::UringFileIO;
pub use io::{
    Compression, FileIO, Framing, FramingByteOrder, InputStreamHandle, IoResult,
    OutputStreamHandle, StreamConverters, TcpBinding, TcpConnection, TcpIncomingConnection,
    TokioByteSink, TokioByteSource, TokioFileIO, TokioTcp,
};
pub use queue::{BoundedSourceQueue, QueueOfferResult, SinkQueue, SourceQueue};
pub use stream::{
    AggregateTimer, BidiFlow, Cancellable, DelayOverflowStrategy, Demand, Flow, IntoSource, Keep,
    Materializer, MaybeHandle, NotUsed, OverflowStrategy, PushOutlet, RestartFlow, RestartSettings,
    RestartSink, RestartSource, RetryFlow, RunnableGraph, Runtime, Sink, SinkCombineStrategy,
    Source, SourceCombineStrategy, StreamCompletion, StreamError, StreamResult, Supervision,
    SupervisionDecider, SupervisionDirective, ThrottleMode,
};

pub mod prelude {
    pub use crate::{
        AggregateTimer, AsyncBoundary, AsyncBoundaryExecutionConfig, Attributes, Balance, BidiFlow,
        BidiShape, Broadcast, Buffer, Cancellable, Channel, ChannelSendError, Concat,
        DelayOverflowStrategy, Demand, FanInShape, FanOutShape, FanOutShape2, Flow, FlowShape,
        FusedExecutionConfig, FusedExecutionReport, FusedTerminalReport, Graph, GraphBlueprint,
        GraphBuilder, GraphDsl, GraphFlowShape, Identity, ImportedGraph, Inlet, InletCursor,
        Interleave, IntoSource, Keep, MapStage, Materializer, MaybeHandle, Merge, MergeLatest,
        MergePreferred, MergePreferredShape, MergePrioritized, MergeSequence, MergeSorted, NotUsed,
        OrElse, Outlet, OutletCursor, OverflowStrategy, PartialGraph, Partition, PushOutlet,
        RestartFlow, RestartSettings, RestartSink, RestartSource, RetryFlow, RunnableGraph,
        Runtime, Signal, Sink, SinkCombineStrategy, SinkShape, Source, SourceCombineStrategy,
        SourceShape, StreamCompletion, StreamError, StreamResult, Subscription,
        SubscriptionOverflow, Supervision, SupervisionDecider, SupervisionDirective, TakeWhile,
        ThrottleMode, Topic, TopicOverflow, TopicPublishError, TopicTryPublishError, TrySendError,
        Unzip, UnzipWith, WireDsl, WirePair, WireSpec, Zip, ZipShape,
    };
}