Expand description
Metadata SST block handles, builders, and codecs.
Structs§
- Block
Handle - Where one stored section lives inside a segment object, and how to verify it: the CRC32C of the stored bytes and their decoded length.
- Built
Segment Blocks - A finished segment: the object bytes plus everything the manifest descriptor must carry to read them back.
- Decoded
Data Block - One decoded data block: row keys and rows, parallel and in key order.
The row type defaults to
MetadataRow; index segments decode their own row payload throughdecode_data_block_rows. - Segment
Blocks Builder - Builds one segment’s blocks from rows fed in ascending row-key order.
- Segment
Filter - A decoded bloom filter; answers “definitely absent” or “maybe present”.
- Segment
Index Entry - One index entry: the last row key of a data block plus its handle.
Enums§
- SstBlock
Codec Error - Describes a violation encountered while building or validating an SST section.
Constants§
- DEFAULT_
TARGET_ BLOCK_ BYTES - Target uncompressed size of one data block, in bytes. Sized for direct object-store reads: request round-trips dominate transfer time at this scale, so bulk read paths (directory listings read most rows of several families) want few large ranged GETs, and a lookup fetching one block still moves trivial bytes. Benchmarked over 8 KiB, which priced a full listing at one GET per tiny block.
- FILTER_
BITS_ PER_ KEY - Bloom filter sizing: bits reserved per inserted filter key.
- FILTER_
HASH_ COUNT - Bloom filter probe count, chosen for
FILTER_BITS_PER_KEY. - RESTART_
INTERVAL - Entries between restart points inside a data block.
Functions§
- decode_
data_ block - Decodes one data block from exactly the bytes its handle names.
- decode_
data_ block_ rows - Decodes one data block whose rows are
R, for segment families whose row payload is notMetadataRow(gram index segments). - decode_
filter_ block - Decodes the filter block from exactly the bytes its handle names.
- decode_
index_ block - Decodes the index block from exactly the bytes its handle names.
- index_
blocks_ for_ key_ range - Index positions of the blocks that can hold keys in
[lower_bound, upper_bound);Nonebounds the range at the last block. - string_
prefix_ upper_ bound - The exclusive upper bound for every row key beginning with
prefix.