1#![warn(rust_2018_idioms, unreachable_pub)] #![cfg_attr(docsrs, feature(doc_cfg))]
3
4#[macro_use]
5extern crate static_assertions;
6#[macro_use]
7extern crate elfo_utils;
8
9pub use crate::{
11 actor::{ActorMeta, ActorStatus, ActorStatusKind},
12 addr::Addr,
13 config::Config,
14 context::{Context, RequestBuilder},
15 envelope::Envelope,
16 group::{ActorGroup, Schema},
17 init::{start, try_start},
18 local::{Local, MoveOwnership},
19 message::{Message, Request},
20 request_table::ResponseToken,
21 topology::Topology,
22};
23
24pub mod config;
25pub mod dumping;
26pub mod errors;
27pub mod group;
28pub mod logging;
29pub mod messages;
30pub mod node;
31pub mod routers;
32pub mod scope;
33pub mod signal;
34pub mod stream;
35#[cfg(feature = "unstable-stuck-detection")]
36pub mod stuck_detection;
37pub mod time;
38#[deprecated(note = "use `elfo::scope` instead")]
39pub mod tls;
40pub mod topology;
41pub mod tracing;
42
43#[deprecated(note = "use `elfo::tracing` instead")]
44pub mod trace_id {
45 pub use crate::tracing::TraceId;
46
47 pub fn generate() -> TraceId {
48 TraceId::generate()
49 }
50}
51
52mod actor;
53mod addr;
54mod address_book;
55mod context;
56mod demux;
57mod envelope;
58mod exec;
59mod init;
60mod local;
61mod macros;
62mod mailbox;
63mod memory_tracker;
64mod message;
65mod object;
66mod permissions;
67mod request_table;
68mod runtime;
69mod source;
70mod subscription;
71mod supervisor;
72mod telemetry;
73mod thread;
74
75#[doc(hidden)]
76pub mod _priv {
77 pub mod node {
78 pub fn set_node_no(node_no: crate::node::NodeNo) {
79 crate::node::set_node_no(node_no)
80 }
81 }
82
83 pub use crate::{
84 envelope::{AnyMessageBorrowed, AnyMessageOwned, EnvelopeBorrowed, EnvelopeOwned},
85 init::do_start,
86 message::{AnyMessage, MessageVTable, MESSAGE_LIST},
87 permissions::{AtomicPermissions, Permissions},
88 };
89 pub use linkme;
90 pub use metrics;
91 pub use serde;
92 pub use smallbox;
93 pub use static_assertions::assert_impl_all;
94}