4 个版本 (2 个稳定版)
2.0.0 | 2021年4月19日 |
---|---|
1.0.0 | 2021年2月3日 |
0.1.1 | 2020年12月11日 |
0.1.0 | 2020年12月3日 |
#10 在 #sharded 中
每月下载量 62 次
用于 forest_actor
175KB
4K SLoC
作为 rust IPLD 数据结构使用的 HAMT 包
基于 @dignifiedquire 在此处开始的工作实现。此实现与 rust HashMap 接口非常接近,但代价是保存多余的值到数据库,并需要使用 unsafe 代码从底层存储更新缓存,以及丢弃任何操作中出现的错误。现有函数签名基于此,但重构以更接近规范并匹配必要的实现。
Hamt 是一种数据结构,模仿了具有分片、持久化和按 Cid 可索引特性的 HashMap。Hamt 支持可变位宽,以调整树在每个高度上可能存在的指针数量。Hamt 可以在任何时候修改,但只有在调用 flush 时,底层值才会持久化到存储。
依赖
~5.5MB
~111K SLoC