package irmin-containers
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=964512f77697947a73dd1875c634d6804e98f14167c5aadd3c4f85b5f30ffb53
sha512=d56d3285daa2dd36f1eaff867af5c8f44c61bba4de1a5c7bb5347652dbc460c343483ab61de1a9302f664af357eacc964dc5c8b4477f6d01372dc028b162e98b
doc/irmin-containers/Irmin_containers/index.html
Module Irmin_containers
Source
Irmin_containers
is a collection of simple, ready-to-use mergeable data structures. Each data structure works with an arbitrary Irmin backend and is customisable in a variety of ways.
Additionally, Irmin_containers
supplies instantiations of each of these data structures with two backends:
- the in-memory backend provided by
Irmin_mem
- the FS backend provided by
Irmin_fs_unix
.
Data structures
The implementation of an int64
counter. This module supports operations to increment, decrement and read the value of the counter.
The implementation of last-write-wins register. The value to be stored in the register and the timestamp method are provided by the user.
The implementation of log in which it is maintained as a single unit, or blob. Hence, two versions of the log cannot share their common predecessor. The type of values to be stored as well as a method to obtain timestamps are provided by the user.
The linked list implementation of log. Due to the linked property, two versions of the log share their common predecessor. As it is a linked data structure, a content addressable store is required. Along with that, a method to obtain timestamps, a hash for the content addressable store and the type of values stored must also be provided.
Auxiliary signatures and modules
Store_maker
is the signature for the backend input to the data structures. The Irmin stores of the data structures are constructed using modules of this type
Cas_maker
is the signature for the store which will be used to maintain linked data structures. The elements are hashed into this store and the hash value is used to construct the linkages.