Module Linked_log.Mem

Linked log instantiated using the in-memory backend provided by Irmin_mem, timestamp method Time.Unix and hash Irmin.Hash.SHA1

Parameters

module C : sig ... end
module V : Irmin.Type.S

Signature

module Store : Irmin.KV

Store for the log. All store related operations like branching, cloning, merging, etc are done through this module.

type value = V.t

Type of log entry

val append : path:Store.path -> Store.t -> value -> unit Lwt.t

Append an entry to the log

val read_all : path:Store.path -> Store.t -> value list Lwt.t

Read the entire log

type cursor

Type of cursor. Cursor is like a marker from which a certain number of entries can be read

val get_cursor : path:Store.path -> Store.t -> cursor Lwt.t

Create a new cursor over the log entires at the given path

val read : num_items:int -> cursor -> (value list * cursor) Lwt.t

Read at most num_items entries from the cursor. If the number specified is greater than the number of log entries from the cursor, the log is read till the end. If the input cursor has already reached the end, then an empty list is returned