Module grin_chain::linked_list

source ·
Expand description

Implements “linked list” storage primitive for lmdb index supporting multiple entries.

Structs§

  • Index supporting multiple duplicate entries.

Enums§

  • Head|Middle|Tail variants for the linked list entries.
  • Wrapper for the list to handle either Single or Multi entries. Optimized for the common case where we have a single entry in the list.

Traits§

  • Index supporting a list of (duplicate) entries per commitment. Each entry will be at a unique MMR pos.
  • Entry maintained in the list index.
  • Something that tracks pos (in an MMR).
  • A pruneable list index supports pruning of old data from the index lists. This allows us to efficiently maintain an index of “recent” kernel data. We can maintain a window of 2 weeks of recent data, discarding anything older than this.
  • Supports “rewind” given the provided commit and a pos to rewind back to.