Skip to main content

Module static_sorted_file

Module static_sorted_file 

Source

Structs§

BlockCacheLifecycle
Lifecycle hooks for the block cache that prevent eviction of entries still referenced outside the cache (i.e., with Arc strong count > 1).
BlockWeighter
FixedRegions
Where the two regions of a fixed-size key block sit, computed once per block.
StaticSortedFile
An SST file accessed through mmap or positional file reads.
StaticSortedFileIter
An iterator over all entries in a SST file in sorted order.
StaticSortedFileMetaData

Enums§

KeyBlockLayout
Whether a key block stores a hash per entry, and therefore what order its entries are in.
SstLookupResult
The result of a lookup operation.

Constants§

BLOCK_TYPE_FIXED_KEY_NO_HASH
The block header for a fixed-size key block without hash. Entries are ordered by key.
BLOCK_TYPE_FIXED_KEY_WITH_HASH
The block header for a fixed-size key block with 8-byte hash per entry.
BLOCK_TYPE_INDEX
The block header for an index block.
BLOCK_TYPE_KEY_NO_HASH
The block header for a key block without hash. Entries are ordered by key.
BLOCK_TYPE_KEY_WITH_HASH
The block header for a key block with 8-byte hash per entry.
FIXED_KEY_BLOCK_MIXED_VALUE_TYPE
Written in a fixed-size key block header’s value type field when entries share a value size but not a value type. Each entry then carries its own type byte ahead of its value.
KEY_BLOCK_ENTRY_TYPE_BLOB
The tag for the blob value.
KEY_BLOCK_ENTRY_TYPE_INLINE_MIN
The minimum tag for inline values. The actual size is (tag - INLINE_MIN).
KEY_BLOCK_ENTRY_TYPE_KEY_DELETED
The tag for the deleted value. This is a key tombstone: it deletes every value for the key.
KEY_BLOCK_ENTRY_TYPE_KEY_VALUE_DELETED_MIN
The minimum tag for a key-value tombstone, which deletes only the one value it carries and leaves other values for the same key intact. Only meaningful for FamilyKind::MultiValue families.
KEY_BLOCK_ENTRY_TYPE_MEDIUM
The tag for a medium-sized value.
KEY_BLOCK_ENTRY_TYPE_SMALL
The tag for a small-sized value.
KEY_BLOCK_TABLE_ENTRY_SIZE_NO_HASH
Size of one variable-size key block offset table entry when the block stores no hash: 1 byte entry type packed into the top of a 3-byte in-block position.
KEY_BLOCK_TABLE_ENTRY_SIZE_WITH_HASH
Size of one variable-size key block offset table entry when the block stores a hash: the key’s 8-byte hash followed by the type/position word.

Functions§

key_block_table_stride
Bytes per offset table entry for a variable-size key block with the given hash length.

Type Aliases§

BlockCache