aboutsummaryrefslogtreecommitdiffstats
path: root/lib/protocols/Session.mli
blob: 141c250419936a933eeb1463694df435b882b64e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
type state = {branch: string; snapshot: Concepts.Hash.hash}
type t

class type implementation = object
  method state : state
  method pin : state -> unit
end

val make : #implementation -> Handle.protocol
val from : Handle.t -> t Handle.interface option
val require : Handle.t -> (t Handle.interface, Concepts.Condition.condition) result
val state : t Handle.interface -> state
val pin : t Handle.interface -> state -> unit