1#![allow(missing_docs)] #![cfg_attr(docsrs, feature(doc_cfg))]
3
4#[macro_use]
5extern crate static_assertions;
6#[macro_use]
7extern crate elfo_utils;
8
9extern crate self as elfo_core;
11
12pub use crate::{
14 actor::{ActorMeta, ActorStartCause, ActorStartInfo},
15 actor_status::{ActorStatus, ActorStatusKind},
16 addr::Addr,
17 config::Config,
18 context::{Context, RequestBuilder},
19 envelope::Envelope,
20 group::{ActorGroup, Blueprint, TerminationPolicy},
21 local::{Local, MoveOwnership},
22 message::{AnyMessage, AnyMessageRef, Message, Request},
23 request_table::{RequestId, ResponseToken},
24 restarting::{RestartParams, RestartPolicy},
25 source::{SourceHandle, UnattachedSource},
26 topology::Topology,
27};
28pub use elfo_macros::{message_core as message, msg_core as msg};
29
30#[macro_use]
31mod macros;
32
33pub mod addr;
34pub mod config;
35pub mod coop;
36pub mod dumping;
37pub mod errors;
38pub mod init;
39pub mod logging;
40pub mod messages;
41pub mod routers;
42pub mod scope;
43pub mod signal;
44pub mod stream;
45#[cfg(feature = "unstable-stuck-detection")]
46pub mod stuck_detection;
47pub mod task;
48pub mod time;
49pub mod topology;
50pub mod tracing;
51
52mod actor;
53mod actor_status;
54mod address_book;
55mod context;
56mod demux;
57mod envelope;
58mod exec;
59mod group;
60mod local;
61mod mailbox;
62#[cfg(target_os = "linux")]
63mod memory_tracker;
64mod message;
65mod object;
66mod panic;
67mod permissions;
68#[cfg(all(feature = "network", feature = "unstable"))]
69pub mod remote;
70#[cfg(all(feature = "network", not(feature = "unstable")))]
71mod remote;
72mod request_table;
73mod restarting;
74mod runtime;
75mod source;
76mod subscription;
77mod supervisor;
78mod telemetry;
79mod thread;
80
81#[doc(hidden)]
82pub mod _priv {
83 pub use crate::{
84 address_book::AddressBook,
85 envelope::{EnvelopeBorrowed, EnvelopeOwned, MessageKind},
86 init::do_start,
87 message::*,
88 object::{GroupVisitor, Object, OwnedObject},
89 permissions::{AtomicPermissions, Permissions},
90 };
91 pub use erased_serde;
92 pub use idr_ebr::EbrGuard;
93 pub use linkme;
94 pub use metrics;
95 #[cfg(feature = "network")]
96 pub use rmp_serde as rmps;
97 pub use serde;
98 pub use smallbox;
99}