package carton-git

  1. Overview
  2. Docs

Parameters

module IO : IO with type +'a t = 'a Scheduler.s
module Store : STORE with type +'a fiber = 'a Scheduler.s
module Uid : Carton.UID

Signature

val make : Store.t -> uid_of_major_uid:(Store.uid -> 'uid) -> idx_major_uid_of_uid:(Store.t -> 'uid -> Store.uid) -> (Store.uid, < rd : unit > Store.fd, Uid.t) t IO.t
val add : Store.t -> (Store.uid, < rd : unit > Store.fd, Uid.t) t -> idx:Store.uid -> Store.uid -> (< rd : unit > Store.fd * int64, Store.error) Stdlib.result IO.t
val get : Store.t -> resources: ((< rd : unit > Store.fd * int64) -> ((< rd : unit > Store.fd * int64) buffers -> Carton.Dec.v IO.t) -> Carton.Dec.v IO.t) -> (Store.uid, < rd : unit > Store.fd, Uid.t) t -> Uid.t -> (Carton.Dec.v, [> `Msg of string | `Not_found of Uid.t ]) Stdlib.result IO.t
val exists : Store.t -> (Store.uid, 'm Store.fd, Uid.t) t -> Uid.t -> bool
val list : Store.t -> (Store.uid, 'm Store.fd, Uid.t) t -> Uid.t list
val fds : (Store.uid, 'm Store.fd, Uid.t) t -> ('m Store.fd * int64) list