package index

  1. Overview
  2. No Docs
A platform-agnostic multi-level index for OCaml

Install

dune-project
 Dependency

Authors

Maintainers

Sources

index-1.5.0.tbz
sha256=2e311cd0bad5b831ac4cebacc83d319b0bca7d5b713ef42dca2bcc064cda34e0
sha512=02d9bfe68daba9c857455244708bf7f25aac50a02a3c14b35cc499dd2a0ccfe5fa47016aea783efadc652bd922c6d4216eac8188400617e98ddc3eb98b9c16c3

doc/index/Index/index.html

Module IndexSource

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.
Sourcemodule Key : sig ... end
Sourcemodule Value : sig ... end

Platform dependencies required by Make.

Sourcemodule Platform : sig ... end
Sourcemodule Cache : sig ... end

Signatures and implementations of caches. Make requires a cache in order to provide instance sharing.

Sourcemodule type S = sig ... end

Index module signature.

Sourceexception RO_not_allowed

The exception raised when a write operation is attempted on a read_only index.

Sourceexception RW_not_allowed

The exception is raised when a sync operation is attempted on a read-write index.

Sourceexception Closed

The exception raised when any operation is attempted on a closed index, except for close, which is idempotent.

Sourcemodule Make (K : Key.S) (V : Value.S) (_ : Platform.S) (C : Cache.S) : S with type key = K.t and type value = V.t
Sourcemodule Stats : sig ... end

Run-time metric tracking for index instances.

Sourcemodule Checks : sig ... end

Offline integrity checking and recovery for Index stores.

Sourcemodule Private : sig ... end

These modules should not be used. They are exposed purely for testing purposes.