diff options
Diffstat (limited to 'lib/kernel/Multigroup.mli')
| -rw-r--r-- | lib/kernel/Multigroup.mli | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/lib/kernel/Multigroup.mli b/lib/kernel/Multigroup.mli index 2df41e6..fab02df 100644 --- a/lib/kernel/Multigroup.mli +++ b/lib/kernel/Multigroup.mli @@ -1,8 +1,22 @@ +(** A multigroup: its schemas, \multigroup\[m]\schema\[s], and its denials, + \multigroup\[m]\denial\[d]. *) module Make (S : Abstract.Storage.STORAGE) : sig - type t + include Merkle.VALUE - val encode : t -> Concepts.Blob.t - val decode : Concepts.Blob.t -> (t, Concepts.Condition.condition) result - val wrap : S.connection -> t -> (Protocols.Handle.t, Concepts.Condition.condition) result + 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 and its denials under \denial, 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 |
