#buffer #pager #segment #component #index #bvr #seg-str

bvr-core

用于bvr分页器的核心组件

3个版本

0.0.4 2024年1月10日
0.0.3 2024年1月3日
0.0.2 2023年12月22日

#23 in #pager

45 每月下载次数
bvr中使用

MIT许可证

77KB
2K SLoC

BVR核心

此crate包含BVR分页器的核心功能。

组件

段缓冲区

这些缓冲区用于存储和交互行索引数据。缓冲区可以由文件或流创建。

段缓冲区被分为段。段是加载到内存中的最小数据单元。它们目前被配置为1MB大小。

  • 对于文件,段按需加载到内存中,基于LRU缓存卸载。
  • 对于流,所有段都加载到内存中。

SegBytes, SegStr

通过SegBytesSegStr访问段缓冲区中的数据。它们借用并固定段,防止它从内存中卸载。

索引

LineIndex用于在行号和字节偏移量之间进行映射。它主要用于回答像“在这个字节偏移量处是哪一行?”和“行号是多少字节偏移量?”等问题。

匹配

LineMatches用于在缓冲区上存储特定正则表达式的迭代顺序匹配。它们可以被组合成一个单一的LineMatches

依赖项

~4.5–6MB
~103K SLoC