use act_zero::*;
use futures::executor::LocalPool;
use futures::task::Spawn;
struct HelloWorldActor;
impl Actor for HelloWorldActor {}
impl HelloWorldActor {
async fn say_hello(&mut self) {
println!("Hello, world!");
}
}
async fn run_example(spawner: &impl Spawn) -> Result<(), ActorError> {
let addr = Addr::new(spawner, HelloWorldActor)?;
call!(addr.say_hello()).await?;
Ok(())
}
fn main() -> Result<(), ActorError> {
let mut pool = LocalPool::new();
let spawner = pool.spawner();
pool.run_until(run_example(&spawner))
}