4个版本
0.1.16-alpha.0 | 2023年3月31日 |
---|---|
0.1.13-alpha.0 | 2023年3月17日 |
0.1.12-alpha.0 | 2023年1月19日 |
0.1.10-alpha.0 | 2023年1月18日 |
#14 in #user-key
538 每月下载量
在 119 个crate(13个直接)中使用
720KB
1K SLoC
bitcoinleveldb-key
这个Rust包是Bitcoin Core C++代码库中用于LevelDB中键相关组件的直接翻译。
注意:此包是比特币核心从C++直接翻译到Rust的一部分。因此,某些函数体可能仍在翻译过程中。请注意,翻译完成后,此系统将可测试。
令牌
InternalFilterPolicy
这是LevelDB中使用的内部过滤器策略。
InternalKey
这是LevelDB中用于排序键的内部键。
InternalKeyComparator
这是LevelDB中用于排序内部键的内部比较器。
KVMap
这是LevelDB中使用的键值对映射。
KVMapConstIterator
这是LevelDB中键值映射的常量迭代器。
LookupKey
这是LevelDB中用于搜索的查找键。
ParsedInternalKey
这是LevelDB中用于排序内部键的解析内部键。
SequenceNumber
这是LevelDB中使用的序列号。
TLLessThan
这是LevelDB中用于排序内部键的比较器。
ValueType
这是LevelDB中使用的值类型。
and
这是LevelDB中使用的逻辑AND运算符。
append_internal_key
此函数用于将内部键追加到缓冲区。
clear
此函数用于清除内部键。
compare
此函数用于比较两个切片。
compare_internal_key
此函数用于比较两个内部键。
compare_slices
此函数用于比较两个切片。
create_filter
此函数用于创建过滤器。
debug_string
此函数用于为内部键创建调试字符串。
decode_from
此函数用于从切片中解码内部键。
default
此函数用于创建默认的内部键比较器。
drop
此函数用于删除内部键。
encode
此函数用于将内部键编码到缓冲区。
extract_user_key
此函数用于从内部键中提取用户键。
find_short_successor
此函数用于找到两个内部键之间最短的分隔符。
find_shortest_separator
此函数用于找到内部键的短后继。
internal_key
此函数用于创建内部键。
internal_key_encoding_length
此函数用于计算内部键的编码长度。
invoke
此函数用于调用内部键。
is
此函数用于确定一个值类型是否有效。
key
此函数用于创建一个键。
key_may_match
此函数用于确定一个键是否可能与过滤器匹配。
memtable_key
此函数用于创建一个内存表键。
name
此函数用于获取内部过滤器策略的名称。
pack_sequence_and_type
此函数用于打包序列号和值类型。
parse_internal_key
此函数用于从切片中解析内部键。
set_from
此函数用于设置内部键的值。
user_comparator
此函数用于从内部键中获取用户比较器。
user_key
此函数用于从内部键中获取用户键。
value
此函数用于创建一个值。
FormatTest
这是LevelDB中键格式化的测试套件。
dbdbformat_test_main
这是LevelDB中键格式化的主测试函数。
34>这个接口如何应用于leveldb?
bitcoinleveldb-key
crate提供了LevelDB键值存储中使用的结构和函数的Rust实现。具体来说,它包括内部键、解析内部键和用于在LevelDB中访问数据的查找键的实现。这些结构用于表示和操作数据库中存储的键和值,以及定义用于对数据库中的键进行排序的排序和比较函数。
InternalKey
结构体代表数据库中存储的键,包含用户数据(用户键)以及LevelDB使用的元数据(如序列号和值类型)。ParsedInternalKey
结构体用于将 InternalKey
解析为其组成部分,包括用户键、序列号和值类型。《code>LookupKey 是一个便利的结构体,它封装了一个 InternalKey
并提供了用于高效搜索数据库中键的方法。
InternalKeyComparator
结构体为 InternalKey
对象提供比较函数,该函数考虑了它们的序列号和值类型。《code>TLLessThan 结构体为用户键提供比较函数,忽略任何序列号或值类型。
create_filter
函数从一组键生成一个Bloom过滤器,可以用于高效地测试键是否存在于数据库中,而无需进行磁盘查找。
总的来说,这些数据结构和函数构成了LevelDB数据库的核心,允许高效地存储和检索键值对。
依赖项
~89MB
~847K SLoC