Up

module Ir_sync_ext

: sig

Store Synchronisation.

#
type remote
#
val remote_uri : string -> remote
#
val remote_store : (module Ir_s.STORE with type t = 'a) -> 'a -> remote
#
module type STORE = sig
#
type db
#
type head
#
val fetch : db -> ?depth:int -> remote -> head option Lwt.t
#
val fetch_exn : db -> ?depth:int -> remote -> head Lwt.t
#
val pull : db -> ?depth:int -> remote -> [
| `Merge
| `Update
] -> unit Ir_merge.result Lwt.t
#
val pull_exn : db -> ?depth:int -> remote -> [
| `Merge
| `Update
] -> unit Lwt.t
#
val push : db -> ?depth:int -> remote -> [
| `Ok
| `Error
] Lwt.t
#
val push_exn : db -> ?depth:int -> remote -> unit Lwt.t
end
#
module Make : functor (S : Ir_s.STORE) -> STORE with type db = S.t and type head = S.head
end