1pub use kompact::{
2 KompactLogger,
3 component,
4 config,
5 default_components,
6 executors,
7 lookup,
8 messaging,
9 prelude::*,
10 routing,
11 runtime,
12 timer,
13};
14
15pub mod actors {
16 pub use kompact::prelude::{
17 Actor,
18 ActorPath,
19 Dispatcher,
20 DispatcherRef,
21 DynActorRef,
22 NamedPath,
23 SystemPath,
24 Transport,
25 };
26}
27
28pub mod dispatch {
29 pub use crate::dispatcher::{NetworkConfig, NetworkDispatcher};
30 pub use kompact::lookup;
31}
32
33pub mod net {
34 pub use crate::transport::{
35 Bridge,
36 ConnectionState,
37 NetworkBridgeError,
38 Protocol,
39 events,
40 network_thread,
41 };
42 pub use kompact::net::{SessionId, buffers, frames};
43 pub use std::net::SocketAddr;
44}
45
46mod dispatcher;
47mod events;
48mod queue_manager;
49mod transport;
50
51pub use crate::{
52 dispatcher::{NetworkConfig, NetworkDispatcher},
53 events::{NetworkStatus, NetworkStatusPort, NetworkStatusRequest},
54 transport::net_test_helpers,
55};
56
57pub trait NetworkSystemExt {
58 fn connect_network_status_port(&self, required: &mut RequiredPort<NetworkStatusPort>);
59}
60
61impl NetworkSystemExt for KompactSystem {
62 fn connect_network_status_port(&self, required: &mut RequiredPort<NetworkStatusPort>) {
63 self.with_dispatcher_definition(|dispatcher| {
64 let dispatcher = dispatcher
65 .downcast_mut::<NetworkDispatcher>()
66 .expect("System dispatcher is not provided by kompact-net");
67 biconnect_ports(dispatcher.network_status_port(), required);
68 });
69 }
70}
71
72pub mod prelude {
73 pub use crate::{NetworkConfig, NetworkDispatcher, NetworkSystemExt};
74 pub use kompact::prelude::*;
75}