#![forbid(unsafe_code)]
#![forbid(missing_docs)]
pub(crate) mod common;
pub(crate) mod actor;
pub(crate) mod message;
pub(crate) mod traits;
#[cfg(feature = "ipc")]
pub mod ipc {
pub use crate::common::ipc::{
socket_exists, socket_is_alive, start_listener, ActorInfo, ConfigSource, ConnectionId,
IpcClient, IpcClientConfig, IpcConfig, IpcDiscoverRequest, IpcDiscoverResponse, IpcEnvelope,
IpcError, IpcLimitsConfig, IpcListenerHandle, IpcListenerStats, IpcPushNotification,
IpcResponse, IpcStreamFrame, IpcSubscribeRequest, IpcSubscriptionResponse,
IpcTimeoutsConfig, IpcTypeRegistry, IpcUnsubscribeRequest, PeerCredentials,
ProtocolCapabilities, ProtocolVersionInfo, RateLimitConfig, ShutdownConfig, ShutdownResult,
SocketConfig, SubscriptionManager, CONNECTION_LIMIT_REACHED_CODE,
CONNECTION_REJECTED_CORRELATION_ID,
};
pub use crate::common::IpcNameInUse;
pub mod protocol {
pub use crate::common::ipc::protocol::{
is_discover, is_heartbeat, is_stream, is_subscribe, is_unsubscribe, read_envelope,
read_frame, read_response, write_discover, write_discover_with_format,
write_discovery_response, write_discovery_response_with_format, write_envelope,
write_envelope_with_format, write_frame, write_heartbeat, write_push_with_format,
write_response, write_response_with_format, write_stream_frame,
write_stream_frame_with_format, write_subscribe_with_format,
write_subscription_response, write_subscription_response_with_format,
write_unsubscribe_with_format, Format, ProtocolVersion, HEADER_SIZE, HEADER_SIZE_V1,
HEADER_SIZE_V2, MAX_FRAME_SIZE, MAX_SUPPORTED_VERSION, MIN_SUPPORTED_VERSION,
MSG_TYPE_DISCOVER, MSG_TYPE_ERROR, MSG_TYPE_HEARTBEAT, MSG_TYPE_PUSH, MSG_TYPE_REQUEST,
MSG_TYPE_RESPONSE, MSG_TYPE_STREAM, MSG_TYPE_SUBSCRIBE, MSG_TYPE_UNSUBSCRIBE,
PROTOCOL_VERSION,
};
}
}
#[cfg_attr(
feature = "ipc",
doc = "* [`crate::ipc::IpcTypeRegistry`]: Registry for IPC message type deserialization.
* [`crate::ipc::IpcEnvelope`]: Envelope format for IPC messages.
* [`crate::ipc::IpcResponse`]: Response envelope format for IPC.
* [`crate::ipc::IpcError`]: Error types for IPC operations.
* [`crate::ipc::IpcConfig`]: Configuration for IPC listener.
* [`crate::ipc::IpcListenerHandle`]: Handle for managing IPC listener lifecycle.
* [`crate::ipc::IpcListenerStats`]: Statistics for IPC listener."
)]
pub mod prelude {
pub use acton_macro::*;
pub use acton_ern::*;
pub use async_trait::async_trait;
pub use tokio;
pub use crate::actor::{
ActorConfig, BackoffDelay, ChildIndex, ChildRestarted, ChildSupervised, Escalation, Idle,
ManagedActor, RestartGeneration, RestartLimitExceeded, RestartLimiter,
RestartLimiterConfig, RestartPolicy, RestartStats, Started, SupervisedChild,
SupervisionDecision, SupervisionError, SupervisionEscalated, SupervisionState,
SupervisionStatus, SupervisionStrategy, TerminationReason, MAX_SUPERVISION_DEPTH,
};
pub use crate::common::{
ActonApp, ActorHandle, ActorRuntime, AskError, Broker, BrokerRef, ParentRef, Reply,
DEFAULT_ASK_TIMEOUT,
};
pub use crate::message::{
BroadcastsFlushed, BrokerRequest, BrokerRequestEnvelope, ChildTerminated, FlushBroadcasts,
MessageAddress, OutboundEnvelope, SystemSignal,
};
pub use crate::traits::{
ActonMessage, ActorHandleInterface, Broadcaster, Request, Subscribable, Subscriber,
};
#[cfg(feature = "ipc")]
pub use crate::common::ipc::{
IpcClient, IpcClientConfig, IpcConfig, IpcEnvelope, IpcError, IpcListenerHandle,
IpcListenerStats, IpcResponse, IpcTypeRegistry, RemoteActorRef, ShutdownResult,
};
#[cfg(feature = "ipc")]
pub use crate::traits::RemoteRequest;
}