1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//! Provides common types, utilities, and core runtime components for the Acton framework.
//!
//! This module serves as an aggregation point for fundamental building blocks shared across
//! the crate and exposed to users via the prelude. It includes components related to system
//! initialization, runtime management, actor interaction, message brokering, and internal
//! type definitions.
//!
//! # Key Re-exported Components:
//!
//! * [`ActonApp`]: The entry point for initializing the Acton system.
//! * [`ActorRuntime`]: Represents the active Acton runtime environment, used for managing
//! top-level actors and system shutdown.
//! * [`ActorHandle`]: The primary interface for interacting with individual actors (sending
//! messages, stopping, supervising).
//! * [`Broker`]: The central publish-subscribe message broker implementation.
//! * [`Reply`]: A utility struct for creating standard return types for message handlers.
//!
//! Internal types and submodules handle the implementation details for these components.
/*
* Copyright (c) 2024. Govcraft
*
* Licensed under either of
* * Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
* * MIT license: http://opensource.org/licenses/MIT
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the applicable License for the specific language governing permissions and
* limitations under that License.
*/
// --- Public Re-exports ---
pub use ActonApp;
pub use ActorHandle;
pub use Reply;
pub use ActorRuntime;
pub use Broker;
pub use ActonConfig;
// --- Crate-Internal Re-exports ---
pub use crate;
pub use *; // Re-export all types from the internal `types` module // Used by common components
// --- Submodules ---
/// Defines common internal type aliases and structs.
/// Defines the `ActonApp` entry point for system initialization.
/// Defines the internal state (`ActonInner`) of the runtime.
/// Defines the `ActorHandle` for actor interaction.
/// Defines the `Reply` utility.
/// Defines the `ActorRuntime` for managing the system.
/// Defines the `Broker` implementation.
/// Defines the configuration system for the Acton framework.
/// IPC (Inter-Process Communication) support for external process messaging.
///
/// This module provides type registration and serialization infrastructure
/// for sending messages across process boundaries.
///
/// Only available when the `ipc` feature is enabled.