pub mod actor;
pub mod broadcast;
#[cfg(feature = "serde")]
pub mod batched_transport;
pub mod circuit_breaker;
pub mod clock;
pub mod cluster;
pub mod dead_letter;
pub mod dispatch;
pub mod errors;
pub mod group;
pub mod interceptor;
pub mod mailbox;
pub mod message;
#[cfg(feature = "metrics")]
pub mod metrics;
pub mod node;
pub mod outbound_queue;
pub mod persistence;
pub mod pool;
pub mod virtual_pool;
pub mod proto;
pub mod registry;
pub mod remote;
pub mod remote_ref;
pub mod runtime_support;
pub mod stream;
pub mod supervision;
pub mod system_actors;
pub mod system_router;
pub mod throttle;
pub mod timer;
pub mod transport;
pub mod type_registry;
pub mod version;
pub mod wire_interceptor;
pub mod worker_ref;
#[cfg(feature = "test-support")]
pub mod test_support;
pub mod prelude {
pub use crate::actor::*;
pub use crate::broadcast::*;
pub use crate::clock::*;
pub use crate::cluster::*;
pub use crate::errors::*;
pub use crate::group::*;
pub use crate::node::*;
pub use crate::timer::*;
}
pub use actor::cancel_after;
pub use actor::ReduceHandler;
pub use actor::{Actor, ActorContext, ActorError, ActorRef, SpawnConfig};
pub use actor::{AskReply, Handler, ExpandHandler, TransformHandler};
pub use async_trait::async_trait;
pub use broadcast::{BroadcastReceipt, BroadcastRef, BroadcastTellResult, BroadcastTellOutcome};
pub use group::ProcessingGroup;
#[cfg(feature = "serde")]
pub use batched_transport::{
is_batch_envelope, unpack_batch, BatchedTransportSender, WireEnvelopeBatch, BATCH_MESSAGE_TYPE,
};
pub use circuit_breaker::{CircuitBreakerInterceptor, CircuitState};
pub use clock::{Clock, SystemClock};
pub use cluster::{
AdapterCluster, ClusterEventEmitter, HealthChecker, HealthStatus, UnreachableHandler,
};
pub use cluster::{ClusterEvent, ClusterEvents, NodeRejectionReason, SubscriptionId};
pub use dead_letter::{
CollectingDeadLetterHandler, DeadLetterEvent, DeadLetterHandler, DeadLetterInfo,
DeadLetterReason, LoggingDeadLetterHandler,
};
pub use errors::{ActorSendError, ClusterError, GroupError, RuntimeError};
pub use errors::{ErrorAction, ErrorCode, NotSupportedError};
pub use interceptor::{
intercept_outbound_stream_item, Disposition, InboundContext, InboundInterceptor,
InterceptResult, Outcome, SendMode,
};
pub use interceptor::{notify_drop, DropNotice, DropObserver};
pub use interceptor::{OutboundContext, OutboundInterceptor};
pub use mailbox::{MailboxConfig, MessageComparer, OverflowStrategy, StrictPriorityComparer};
pub use message::Message;
pub use message::{HeaderValue, Headers, MessageId, Priority, RuntimeHeaders};
#[cfg(feature = "metrics")]
pub use metrics::{
ActorMetricsHandle, ActorMetricsSnapshot, MetricsInterceptor, MetricsRegistry, RuntimeMetrics,
};
pub use node::{ActorId, NodeId};
pub use outbound_queue::OutboundPriorityQueue;
pub use outbound_queue::{
AgingWireComparer, EnvelopeMetadata, StrictPriorityWireComparer, WireEnvelopeComparer,
};
pub use persistence::{
recover_durable_state, recover_event_sourced, DurableState, EventSourced, InMemoryStorage,
InMemoryStorageProvider, JournalEntry, JournalStorage, PersistError, PersistFailurePolicy,
PersistenceId, PersistentActor, RecoveryFailurePolicy, SaveConfig, SequenceId, SnapshotConfig,
SnapshotEntry, SnapshotStorage, StateStorage, StorageProvider,
};
pub use pool::{Keyed, PoolConfig, PoolRef, PoolRouting};
pub use virtual_pool::VirtualPoolRef;
pub use registry::ActorRegistry;
#[cfg(feature = "serde")]
pub use remote::{build_ask_envelope, build_tell_envelope, build_wire_envelope, JsonSerializer};
pub use remote::{receive_envelope_body, receive_envelope_body_versioned};
pub use remote::{
ClusterDiscovery, ClusterState, DiscoveredPeer, DiscoveryError, HeaderRegistry,
MessageSerializer, MessageVersionHandler, PeerVersionInfo, RemoteMessage,
SerializationError, StaticSeeds, WireEnvelope, WireHeaders,
};
pub use remote_ref::{
ActorRefEnvelope, ActorRefTypeMismatch, RemoteActorRef, RemoteActorRefBuilder,
};
pub use stream::{BatchConfig, BatchReader, BatchWriter, StreamReceiver};
pub use stream::{BoxStream, StreamSendError, StreamSender};
pub use supervision::ChildTerminated;
pub use supervision::{AllForOne, OneForOne, RestForOne, SupervisionAction, SupervisionStrategy};
pub use system_actors::{
CancelManager, CancelRequest, CancelResponse, NodeDirectory, PeerInfo, PeerStatus,
SpawnManager, SpawnRequest, SpawnResponse, UnwatchRequest, WatchManager, WatchNotification,
WatchRequest,
};
pub use system_actors::{
validate_handshake, verify_peer_identity, HandshakeRequest, HandshakeResponse, RejectionReason,
};
pub use system_actors::{
is_system_message_type, SYSTEM_MSG_TYPE_CANCEL, SYSTEM_MSG_TYPE_CONNECT_PEER,
SYSTEM_MSG_TYPE_DISCONNECT_PEER, SYSTEM_MSG_TYPE_SPAWN, SYSTEM_MSG_TYPE_UNWATCH,
SYSTEM_MSG_TYPE_WATCH,
};
pub use system_router::{RoutingError, RoutingOutcome, SystemMessageRouter};
pub use throttle::ActorRateLimiter;
pub use timer::TimerHandle;
pub use timer::{send_after, send_interval};
pub use tokio_util::sync::CancellationToken;
pub use transport::{InMemoryTransport, Transport, TransportError, TransportRegistry};
#[cfg(feature = "serde")]
pub use type_registry::JsonActorFactory;
pub use type_registry::TypeRegistry;
pub use type_registry::{ActorFactory, ErasedActorFactory};
pub use wire_interceptor::{
MaxBodySizeInterceptor, RateLimitWireInterceptor, WireDisposition, WireInterceptor,
WireInterceptorPipeline, WireProcessResult, WireRejectError,
};
pub use worker_ref::WorkerRef;
pub use version::{DACTOR_WIRE_VERSION, ParseWireVersionError, WireVersion};
#[cfg(feature = "test-support")]
pub use test_support::test_clock::TestClock;
#[cfg(feature = "test-support")]
pub use test_support::test_runtime::{SpawnOptions, TestActorRef, TestRuntime};