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
//! # Rukko
//!
//! A Rust library for communicating with Pekko actors using the Artery TCP protocol.
//!
//! This library provides a Rust implementation of the Pekko Artery remoting protocol,
//! allowing Rust applications to send and receive (string) messages from JVM-based Pekko actors.
//!
//! ## Features
//!
//! - Artery TCP protocol implementation
//! - String-based message support
//! - Connection management and error handling
//!
//! ## Logging
//!
//! This library uses the `tracing` crate for logging. To see log output,
//! initialize a tracing subscriber in your application:
//!
//! ```rust
//! // For text output:
//! tracing_subscriber::fmt::init();
//! ```
//!
//! For JSON output, enable the "json" feature in tracing-subscriber:
//! ```toml
//! tracing-subscriber = { version = "0.3", features = ["json"] }
//! ```
//!
//! ## Quick Start
//!
//! ```rust,no_run
//! use rukko::{ActorSystem, ActorSelection, Message};
//!
//! #[tokio::main]
//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
//! // Initialize logging (optional, but recommended for debugging)
//! tracing_subscriber::fmt::init();
//!
//! let system = ActorSystem::new("MySystem").await?;
//! let remote_actor = system.actor_selection("pekko://RemoteSystem@127.0.0.1:25552/user/myActor").await?;
//!
//! let message = Message::text("Hello, anybody there?");
//! let response = remote_actor.ask(message).await?;
//!
//! println!("Response: {:?}", response);
//! Ok(())
//! }
//! ```
pub use ;
pub use Message;
pub use ;