2 个不稳定版本

0.2.0 2021 年 1 月 1 日
0.1.0 2020 年 12 月 31 日

#1416 in 异步

Apache-2.0

32KB
717

另一个演员框架

一个简单、本地的演员框架。

示例

use ::std::time::Duration;
use ::tokio::time::sleep;
use ::yaaf::prelude::*;

#[derive(Clone, Debug)]
struct MyMessage;

#[derive(Actor)]
#[handle(MyMessage)]
struct MyActor;

#[async_trait]
impl Handler<MyMessage> for MyActor {
    async fn handle(&mut self, _ctx: &mut Context<Self>, _message: MyMessage) {
        println!("Received message");
    }
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn ::std::error::Error>> {
    let mut system = System::new().await?;

    let actor = MyActor;

    let addr = system.add_actor(actor).await?;
    addr.tell(MyMessage);

    sleep(Duration::from_millis(100));

    system.shutdown().await?;
    Ok(())
}

许可证

本软件根据 Apache 许可证版本 2.0 许可。


除非你明确声明,否则你根据 Apache-2.0 许可证定义的贡献,将按上述方式许可,不附加任何额外条款或条件。


依赖关系

~2.3–4MB
~65K SLoC