Versions in this module Expand all Collapse all v0 v0.5.0 Apr 17, 2026 v0.4.0 Apr 3, 2026 Changes in this version + var ErrBlobRefEntry = errors.New("outerleaf: blob-ref entry requires nested resolution") + func Decode(payload []byte, scratch []byte) (key []byte, value []byte, ok bool, outScratch []byte, err error) + func DecodeKeysRangeWithVerify(payload []byte, lower []byte, upper []byte, verifyChecksum bool) ([][]byte, error) + func DecodeKeysWithVerify(payload []byte, verifyChecksum bool) ([][]byte, error) + func DecodeLowerBoundAndKeysOnMatchWithVerify(payload []byte, target []byte, verifyChecksum bool) (pos int, below bool, above bool, keys [][]byte, err error) + func DecodeValue(payload []byte, scratch []byte) (value []byte, ok bool, outScratch []byte, err error) + func DecodeValueForKey(payload []byte, key []byte, scratch []byte) (value []byte, ok bool, found bool, outScratch []byte, err error) + func EncodeEntries(dst []byte, entries []Entry, codec uint8, restartInterval int) ([]byte, error) + func EncodeEntriesAssumeSorted(dst []byte, entries []Entry, codec uint8, restartInterval int) ([]byte, error) + func EncodeSingle(dst, key, value []byte, codec uint8, restartInterval int) ([]byte, error) + func EncodeSingleBlobRef(dst, key []byte, ptr page.ValuePtr, codec uint8, restartInterval int) ([]byte, error) + func EncodeTypedEntries(dst []byte, entries []TypedEntry, codec uint8, restartInterval int) ([]byte, error) + func EncodeTypedEntriesAssumeSorted(dst []byte, entries []TypedEntry, codec uint8, restartInterval int) ([]byte, error) + func HasMagic(payload []byte) bool + func NormalizeBlockTargetBytes(target int) int + func NormalizeRestartInterval(interval int) int + type DecodedBlock struct + func DecodeBlock(payload []byte, scratch []byte) (*DecodedBlock, error) + func DecodeBlockLease(payload []byte) (*DecodedBlock, error) + func DecodeBlockLeaseWithScratchAndVerify(payload []byte, scratch []byte, dst *DecodedBlock, verifyChecksum bool) (*DecodedBlock, []byte, error) + func DecodeBlockLeaseWithVerify(payload []byte, verifyChecksum bool) (*DecodedBlock, error) + func DecodeBlockWithVerify(payload []byte, scratch []byte, verifyChecksum bool) (*DecodedBlock, error) + func (d *DecodedBlock) Entries(dst []Entry) ([]Entry, error) + func (d *DecodedBlock) EntryCount() int + func (d *DecodedBlock) EntryForKey(key []byte) (LookupResult, bool, error) + func (d *DecodedBlock) EntryForKeyNoRestartKeys(key []byte) (LookupResult, bool, error) + func (d *DecodedBlock) FirstKind() EntryKind + func (d *DecodedBlock) FirstValue() ([]byte, error) + func (d *DecodedBlock) Keys(dst [][]byte) ([][]byte, error) + func (d *DecodedBlock) KeysRange(dst [][]byte, lower []byte, upper []byte) ([][]byte, error) + func (d *DecodedBlock) KeysRangeLease(lower []byte, upper []byte) (*KeyLease, error) + func (d *DecodedBlock) LowerBound(target []byte) (pos int, below bool, above bool, err error) + func (d *DecodedBlock) RawBytes() []byte + func (d *DecodedBlock) ReclaimTransferredScratchForRelease(scratch []byte) []byte + func (d *DecodedBlock) Release() + func (d *DecodedBlock) TypedEntries(dst []TypedEntry) ([]TypedEntry, error) + func (d *DecodedBlock) ValueForKey(key []byte) ([]byte, bool, error) + func (d *DecodedBlock) VisitTypedEntries(fn func(key []byte, kind EntryKind, value []byte, ptr page.ValuePtr) error) error + type Encoder struct + func (e *Encoder) EncodeEntries(dst []byte, entries []Entry, codec uint8, restartInterval int) ([]byte, error) + func (e *Encoder) EncodeEntriesAssumeSorted(dst []byte, entries []Entry, codec uint8, restartInterval int) ([]byte, error) + func (e *Encoder) EncodeSingle(dst, key, value []byte, codec uint8, restartInterval int) ([]byte, error) + func (e *Encoder) EncodeTypedEntries(dst []byte, entries []TypedEntry, codec uint8, restartInterval int) ([]byte, error) + func (e *Encoder) EncodeTypedEntriesAssumeSorted(dst []byte, entries []TypedEntry, codec uint8, restartInterval int) ([]byte, error) + func (e *Encoder) Reset() + func (e *Encoder) Trim(maxRawCap, maxEncCap, maxRestartsCap int) + type Entry struct + Key []byte + Value []byte + type EntryKind uint8 + const EntryKindBlobRef + const EntryKindInline + type KeyLease struct + func DecodeKeysRangeLeaseWithVerify(payload []byte, lower []byte, upper []byte, verifyChecksum bool) (*KeyLease, error) + func DecodeLowerBoundAndKeysOnMatchLeaseWithVerify(payload []byte, target []byte, verifyChecksum bool) (pos int, below bool, above bool, lease *KeyLease, err error) + func (l *KeyLease) Keys() [][]byte + func (l *KeyLease) Release() + type LookupResult struct + BlobPtr page.ValuePtr + Kind EntryKind + Value []byte + func DecodeEntryForKey(payload []byte, key []byte, scratch []byte) (entry LookupResult, ok bool, found bool, outScratch []byte, err error) + func DecodeEntryForKeyWithVerify(payload []byte, key []byte, scratch []byte, verifyChecksum bool) (entry LookupResult, ok bool, found bool, outScratch []byte, err error) + type TypedEntry struct + BlobPtr page.ValuePtr + Key []byte + Kind EntryKind + Value []byte