24个版本
0.7.12 | 2024年6月24日 |
---|---|
0.7.10 | 2024年5月9日 |
0.7.9 | 2024年1月25日 |
0.7.8 | 2023年12月20日 |
0.2.1 | 2021年7月14日 |
#122 in 网络编程
每月10,062次下载
用于 14 个crate(直接使用4个)
355KB
1.5K SLoC
Metainfo
跨组件传递metainfo。
快速开始
Metainfo旨在通过任务本地传递,因此我们为它提供了一个统一的关键字 metainfo::METAINFO
,我们建议您这样使用
METAINFO.scope(...)
MetaInfo
用于在组件之间甚至客户端-服务器之间传递信息。
它支持两种类型的信息:类型化映射和字符串键值对。
它被设计成树状结构,这意味着您可以将 MetaInfo
与多个子节点共享。
注意:只有当前作用域是可变的。
示例
use metainfo::MetaInfo;
fn test() {
let mut m1 = MetaInfo::new();
m1.insert::<i8>(2);
assert_eq!(*m1.get::<i8>().unwrap(), 2);
let (mut m1, mut m2) = m1.derive();
assert_eq!(*m2.get::<i8>().unwrap(), 2);
m2.insert::<i8>(4);
assert_eq!(*m2.get::<i8>().unwrap(), 4);
m2.remove::<i8>();
assert_eq!(*m2.get::<i8>().unwrap(), 2);
}
相关项目
- Volo:一个高性能且强扩展性的Rust RPC框架,帮助开发者构建微服务。
- Volo-rs:包含许多有用组件的volo生态系统。
- Motore:由GAT支持的中间件抽象层。
- Pilota:一个纯Rust实现的thrift和protobuf,具有高性能和可扩展性。
贡献
有关更多信息,请参阅 CONTRIBUTING.md。
许可证
Metainfo根据MIT许可证和Apache许可证(版本2.0)双许可。
有关详细信息,请参阅 LICENSE-MIT 和 LICENSE-APACHE。
社区
-
电子邮件: [email protected]
-
如何成为成员: 社区成员资格
-
问题: 问题
-
飞书:扫描下面的二维码使用 飞书 或 点击此链接 加入我们的CloudWeGo Volo用户群。
依赖项
~1.5–3MB
~43K SLoC