use axiom::prelude::*;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
enum HelloMessages {
Greet,
}
async fn hello(_: (), context: Context, message: Message) -> ActorResult<()> {
if let Some(_msg) = message.content_as::<HelloMessages>() {
println!("Hello World from Actor: {:?}", context.aid);
context.system.trigger_shutdown();
}
Ok(Status::done(()))
}
pub fn main() {
let config = ActorSystemConfig::default();
let system = ActorSystem::create(config);
let aid = system.spawn().with((), hello).unwrap();
aid.send(Message::new(HelloMessages::Greet)).unwrap();
system.await_shutdown(None);
}