aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/Multigroup.mli
blob: 6dcfb2fff2d6dfc69eda187f20e7c5427569284e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(** A multigroup: its schemas, \multigroup\[m]\schema\[s]. *)
module Make (S : Abstract.Storage.STORAGE) : sig
  include Merkle.VALUE

  val load :
    ?bind:EphemeralRelation.binding ->
    S.connection ->
    t ->
    (Protocols.Handle.t, Concepts.Condition.condition) result

  (** a multigroup handed over with no address, as a directory holding its
      schemas under \schema, to store once the write has begun. *)
  val admit :
    string ->
    Protocols.Handle.t ->
    (S.transaction Prototype.Associative.admission, Concepts.Condition.condition) result

  (** an empty one, stored. *)
  val make : S.connection -> (Protocols.Handle.t, Concepts.Condition.condition) result
end