Irmin.Storage
Storage
provides Storage.Make
for defining a custom storage layer that can be used to create Irmin stores. Unlike Backend.S
, an implementation of Storage.Make
is only concerned with storing and retrieving keys and values. It can be used to create stores for Backend.S
through something like Storage.Content_addressable
or, primarily, with Of_storage
to automatically construct an Irmin store.
module type S = sig ... end
S
is a storage layer that can be used to build Irmin stores.
module type Make = sig ... end
Make
parameterizes a storage layer over a key Key
and a value Value
. This is the signature to implement when building custom storage for Irmin.
module Read_only (M : Make) : Read_only.Maker
module Content_addressable (M : Make) : Content_addressable.Maker
module Append_only (M : Make) : Append_only.Maker
module Atomic_write (M : Make) : Atomic_write.Maker