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. - Manifest
Row - 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.