4个版本

0.1.16-alpha.02023年3月31日
0.1.13-alpha.02023年3月17日
0.1.12-alpha.02023年1月19日
0.1.10-alpha.02023年1月18日

#14 in #user-key

Download history 227/week @ 2024-04-11 177/week @ 2024-04-18 188/week @ 2024-04-25 175/week @ 2024-05-02 179/week @ 2024-05-09 179/week @ 2024-05-16 177/week @ 2024-05-23 176/week @ 2024-05-30 115/week @ 2024-06-06 156/week @ 2024-06-13 258/week @ 2024-06-20 87/week @ 2024-06-27 79/week @ 2024-07-04 168/week @ 2024-07-11 168/week @ 2024-07-18 123/week @ 2024-07-25

538 每月下载量
119 个crate(13个直接)中使用

MIT 许可证

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