Skip to main content

Module index

Module index 

Source
Expand description

The index beside each sealed bundle, tile/index/<N>, and the manifest over them. Both derive from the bundles: a rebuild from the entries gives the same bytes, so losing them loses nothing.

A sidecar holds a Bloom filter over every key of the bundle and the sorted (key, offset) pairs. The keys of an entry are its identity hash, SHA-256(entry), and whatever the log’s KeyFn derives from it.

Sidecar bytes: 0x01, big-endian u16 pair count, big-endian u32 filter length, the filter, then each pair as big-endian u16 key length, the key, and the one-byte offset of the entry in the bundle.

Structs§

Manifest
The manifest, manifest: every sealed bundle’s row, in order. JSON, rewritten whole on every change.
ManifestRow
One manifest row: a sealed bundle, its key range and its sidecar’s hash.
Sidecar
The sidecar of one sealed bundle.

Functions§

identity
SHA-256(entry), the key every entry has.
no_keys
A key function that adds no keys beyond the identity hash.

Type Aliases§

KeyFn
Derives the lookup keys of an entry from its bytes. The identity hash is always a key and need not be returned.