#actor-model #actor #future #async

thespis

thespis演员模型接口(仅包含特性和模式)

7个版本

0.2.0 2022年5月30日
0.1.1 2022年5月22日
0.1.0 2021年6月20日
0.1.0-alpha.32021年2月18日
0.0.0 2019年8月30日

#1507 in 异步

每月37次下载
thespis_impl中使用

无许可证

18KB
158

thespis

standard-readme compliant Build Status Docs crates.io

thespis演员模型接口。

thespis演员模型接口(仅包含特性和模式)。这定义了可以向演员发送的地址的预期行为,以及Handler特性和Message特性。

曾经有一个Mailbox特性,但结果表明,它不依赖于其他任何组件,因此它的实现可以自由更改,无需接口。

接口和实现分离的目的是双重的

  1. 库可以公开基于演员的接口,而不必依赖于实现。消费者可以选择他们想要的任何实现,一切都将保持互操作性。
  2. 如果您需要与参考实现不同的行为,则可以单独替换和组合每个组件。

参考实现可以在thespis_implcrate中找到。

要开始使用thespis,请查看指南级文档

目录

安装

使用cargo add: cargo add thespis

使用cargo yaml

dependencies:

   thespis: ^0.2

在Cargo.toml中

[dependencies]

   thespis = "0.2"

升级

升级时请查看变更日志

依赖关系

此crate具有少量依赖项。Cargo会自动为您处理依赖项。查看Cargo.yml以获取依赖项列表。

有一个默认启用的可选功能derive,它添加了用于派生Message特性的proc宏,并在实现Handler时删除一些样板代码。

安全性

此crate不使用unsafe,但其依赖项使用了。

使用方法

请参阅 thespis_impl 库以查看使用示例。

API

API 文档可在 docs.rs 上找到。

贡献

请查看 贡献指南

测试

由于此库仅提供特质,因此没有测试。您可以检查 thespis_impl 库中的测试。

行为准则

任何在 公民行为准则第4点“不可接受的行为” 中描述的行为都不受欢迎,并可能导致您被禁止。如果任何人都未能尊重这些/您的限制,包括项目的维护者和管理员,您有权指出。

许可证

许可

依赖关系

~240KB