3个稳定版本
1.0.2 | 2020年12月8日 |
---|---|
1.0.1 | 2020年11月10日 |
1.0.0 | 2020年10月28日 |
在异步中排名第1003
27KB
386行(不包括注释)
食品储藏室
Pantry
对于临时存储可能随时间“衰减”(变得不可用)的值很有用,例如
- 为了后续重用而保持网络连接,如果对端没有关闭其端点
- 可能被用户或其他程序从文件系统中删除的文件
- 可能在任何时候由其他参与者释放的资源的“弱引用”
更多信息可以在crate文档中找到。
用法
创建一个Pantry
值,并使用其store
函数存储用于后续使用的值。与值一起提供了一个键,以便可以使用相同的键在以后检索该值。启动一个工作线程,它监控值,并自动丢弃任何“衰减”的值。值必须实现Perishable
特质,其perished
函数会在值衰减后异步完成。
使用Pantry
上的fetch
异步函数和一个键来检索以前使用该键存储的值。只有当值使用相同的键存储并且自存储以来尚未衰减时,才会返回值。
多个值可能具有相同的键,但要注意,存储在给定键下的值可能不会按存储的顺序返回。
格式化
此crate使用自定义配置的rustfmt
,该配置依赖于不稳定的功能。在稳定工具链上尝试cargo fmt
可能会失败。请使用cargo +nightly fmt
格式化代码。
许可
根据MIT许可授权。
依赖关系
~0.9–1.5MB
~32K SLoC