package index
Module Index
Index
Index is a scalable implementation of persistent indices in OCaml.
Index provides the standard key-value interface: find, mem and replace. It requires three IO instances:
- A `log` IO containing all of the recently-added bindings; this is also kept in memory.
- When the `log` IO is full, it is merged into the `index` IO. Search is done first in `log` then in `index`, which makes recently added bindings search faster.
- A `lock` IO to ensure safe concurrent access.
module type Key = sig ... endThe input of Make for keys.
module Private : sig ... endThese modules should not be used. They are exposed purely for testing purposes.
module type Value = sig ... endThe input of Make for values. The same requirements as for Key apply.
module type IO = sig ... endThe exception raised when a write operation is attempted on a read_only index.
The exception raised when any operation is attempted on a closed index, except for close, which is idempotent.
module type S = sig ... endIndex module signature.