Module Loose_git.Make

Parameters

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

Signature

val exists : Store.t -> Uid.t -> bool IO.t
val list : Store.t -> Uid.t list IO.t
val atomic_add : Store.t -> Loose.buffers -> Carton.Dec.v -> (Uid.t * int, [> `Store of Store.error | `Non_atomic ]) Stdlib.result IO.t
val add : Store.t -> Loose.buffers -> ([ `Blob | `Commit | `Tag | `Tree ] * int64) -> (unit -> string option IO.t) -> (Uid.t * int, [> `Store of Store.error ]) Stdlib.result IO.t
val atomic_get : Store.t -> Loose.buffers -> Uid.t -> (Carton.Dec.v, [> `Non_atomic ]) Stdlib.result IO.t
val size_and_kind : Store.t -> Loose.buffers -> Uid.t -> (int64 * Loose.kind, [> `Malformed ]) Stdlib.result IO.t
val get : Store.t -> Loose.buffers -> Uid.t -> (Carton.Dec.v, [> `Msg of string ]) Stdlib.result IO.t