package irmin-tezos

  1. Overview
  2. Docs

Low level IO abstraction. A typical implementation is unix. This abstraction is meant to be dead simple. Not a lot of documentation is required.

type t
val find : t -> int -> string option
val index : t -> string -> int option
val create_rw : overwrite:bool -> path:string -> (t, [> Io.create_error ]) Stdlib.result
val open_rw : size:Optint.Int63.t -> dead_header_size:int -> string -> (t, [> Io.open_error | Io.read_error | `Inconsistent_store ]) Stdlib.result
val open_ro : size:Optint.Int63.t -> dead_header_size:int -> string -> (t, [> Io.open_error | Io.read_error | `Inconsistent_store ]) Stdlib.result
val refresh_end_poff : t -> Optint.Int63.t -> (unit, [> Io.read_error | `Rw_not_allowed ]) Stdlib.result
val empty_buffer : t -> bool
val end_poff : t -> Optint.Int63.t
val close : t -> (unit, [> Io.close_error | `Pending_flush ]) Stdlib.result
val fsync : t -> (unit, [> Io.write_error ]) Stdlib.result
val flush : t -> (unit, [> Io.write_error ]) Stdlib.result