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
//! 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 `acton-core` crate and potentially exposed to users via the prelude. It includes
//! components related to system initialization, runtime management, agent interaction,
//! message brokering, and internal type definitions.
//!
//! # Key Re-exported Components:
//!
//! * [`ActonApp`]: The entry point for initializing the Acton system.
//! * [`AgentRuntime`]: Represents the active Acton runtime environment, used for managing
//! top-level agents and system shutdown.
//! * [`AgentHandle`]: The primary interface for interacting with individual agents (sending
//! messages, stopping, supervising).
//! * [`AgentBroker`]: The central publish-subscribe message broker implementation.
//! * [`AgentReply`]: 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 AgentBroker;
pub use AgentHandle;
pub use AgentReply;
pub use AgentRuntime;
// --- Crate-Internal Re-exports ---
pub use ActonInner;
pub use *; // Re-export all types from the internal `types` module
pub use crate; // 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 `AgentHandle` for agent interaction.
/// Defines the `AgentBroker` implementation.
/// Defines the `AgentRuntime` for managing the system.
/// Defines the `AgentReply` utility.
// pub use crate::pool::LoadBalanceStrategy; // This seems unused currently