Module Negociator.Make

Parameters

module G : sig ... end

Signature

module Store = G
module Common : Smart.COMMON with type hash := Store.Hash.t and type reference := Store.Reference.t
module Decoder : Smart.DECODER with module Hash := Store.Hash and module Reference := Store.Reference and module Common := Common
type state
type acks = Store.Hash.t Sync.acks
val find_common : Store.t -> (Store.Hash.Set.t * state * (acks -> state -> ([ `Again of Store.Hash.Set.t | `Done | `Ready ] * state) Lwt.t)) Lwt.t