1#![feature(anonymous_lifetime_in_impl_trait)]
50#![feature(assert_matches)]
51#![feature(associated_type_defaults)]
52#![feature(box_patterns)]
53#![feature(btree_cursors)]
54#![feature(error_reporter)]
55#![feature(impl_trait_in_assoc_type)]
56#![feature(never_type)]
57#![feature(panic_update_hook)]
58#![feature(type_alias_impl_trait)]
59#![feature(trait_alias)]
60#![deny(missing_docs)]
61
62pub mod accum;
63pub mod actor;
64pub mod actor_local;
65pub mod channel;
66pub mod config;
67pub mod context;
68pub mod host;
69pub mod id;
70mod init;
71pub mod introspect;
72pub mod mailbox;
73pub mod message;
74pub mod metrics;
75pub mod ordering;
76pub mod panic_handler;
77pub mod port;
78pub mod proc;
79pub mod ref_;
80pub mod reference;
81pub mod remote;
82mod signal_handler;
83mod stdio_redirect;
84pub mod supervision;
85pub mod sync;
86pub mod testing;
88pub mod time;
89
90#[cfg(fbcode_build)]
91mod meta;
92
93#[doc(hidden)]
96pub mod internal_macro_support {
97 pub use anyhow;
98 pub use async_trait;
99 pub use inventory;
100 pub use opentelemetry;
101 pub use paste::paste;
102 pub use serde_json;
103 pub use tracing;
104 pub use typeuri;
105}
106
107pub use actor::Actor;
108pub use actor::ActorHandle;
109pub use actor::Handler;
110pub use actor::HandlerInfo;
111pub use actor::RemoteHandles;
112pub use actor::RemoteSpawn;
113pub use actor_local::ActorLocal;
114#[doc(inline)]
115pub use hyperactor_macros::Bind;
116#[doc(inline)]
117pub use hyperactor_macros::HandleClient;
118#[doc(inline)]
119pub use hyperactor_macros::Handler;
120#[doc(inline)]
121pub use hyperactor_macros::RefClient;
122#[doc(inline)]
123pub use hyperactor_macros::Unbind;
124#[doc(inline)]
125pub use hyperactor_macros::behavior;
126#[doc(inline)]
127pub use hyperactor_macros::export;
128#[doc(inline)]
129pub use hyperactor_macros::handle;
130#[doc(inline)]
131pub use hyperactor_macros::instrument;
132#[doc(inline)]
133pub use hyperactor_macros::instrument_infallible;
134pub use hyperactor_macros::observe_async;
135pub use hyperactor_macros::observe_result;
136#[doc(inline)]
137pub use hyperactor_macros::uid;
138pub use hyperactor_telemetry::declare_static_counter;
139pub use hyperactor_telemetry::declare_static_gauge;
140pub use hyperactor_telemetry::declare_static_histogram;
141pub use hyperactor_telemetry::declare_static_timer;
142pub use hyperactor_telemetry::key_value;
143pub use hyperactor_telemetry::kv_pairs;
144pub use id::Label;
145pub use id::Uid;
146#[doc(inline)]
147pub use init::initialize;
148#[doc(inline)]
149pub use init::initialize_with_current_runtime;
150#[doc(inline)]
151pub use init::initialize_with_log_prefix;
152pub use mailbox::Data;
153pub use mailbox::Mailbox;
154pub use mailbox::Message;
155pub use mailbox::OncePortHandle;
156pub use mailbox::PortHandle;
157pub use mailbox::RemoteMessage;
158pub use proc::Context;
159pub use proc::Instance;
160pub use proc::InstanceCell;
161pub use proc::Proc;
162pub use proc::WeakProc;
163#[doc(hidden)]
165pub use reference::ActorRef;
166pub use remote::Accepts;
167#[doc(inline)]
168pub use signal_handler::SignalCleanupGuard;
169#[doc(inline)]
170pub use signal_handler::SignalDisposition;
171#[doc(inline)]
172pub use signal_handler::query_signal_disposition;
173#[doc(inline)]
174pub use signal_handler::register_signal_cleanup;
175#[doc(inline)]
176pub use signal_handler::register_signal_cleanup_scoped;
177#[doc(inline)]
178pub use signal_handler::sigpipe_disposition;
179#[doc(inline)]
180pub use signal_handler::unregister_signal_cleanup;
181
182mod private {
183 pub trait Sealed {}
186
187 impl<A: crate::Actor> Sealed for crate::proc::Instance<A> {}
189 impl<A: crate::Actor> Sealed for &crate::proc::Instance<A> {}
190 impl<A: crate::Actor> Sealed for crate::proc::Context<'_, A> {}
191 impl<A: crate::Actor> Sealed for &crate::proc::Context<'_, A> {}
192 impl Sealed for crate::mailbox::Mailbox {}
193 impl Sealed for &crate::mailbox::Mailbox {}
194}