diff options
Diffstat (limited to '')
| -rw-r--r-- | lib/kernel/Session.ml | 7 | ||||
| -rw-r--r-- | lib/kernel/Session.mli | 3 |
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/kernel/Session.ml b/lib/kernel/Session.ml index 1abd278..4bce1ac 100644 --- a/lib/kernel/Session.ml +++ b/lib/kernel/Session.ml @@ -2,7 +2,7 @@ module Make (S : Abstract.Storage.STORAGE) = struct module SI = Storage.Make (S) module B = Branch.Make (S) - class session storage state = + class session ?evaluators storage state = object (self) inherit Lifecycle.exclusive inherit Identity.of_id @@ -18,10 +18,11 @@ module Make (S : Abstract.Storage.STORAGE) = struct function | "branch" -> SI.with_read storage (fun tx -> - B.load tx storage (Atomic.get state).Protocols.Session.snapshot ) + B.load ?evaluators tx storage (Atomic.get state).Protocols.Session.snapshot ) |> Result.map Option.some | _ -> Ok None end - let make storage state = new session storage state |> Protocols.Handle.make + let make ?evaluators storage state = + new session ?evaluators storage state |> Protocols.Handle.make end diff --git a/lib/kernel/Session.mli b/lib/kernel/Session.mli index be4451b..77c7d5d 100644 --- a/lib/kernel/Session.mli +++ b/lib/kernel/Session.mli @@ -1,3 +1,4 @@ module Make (S : Abstract.Storage.STORAGE) : sig - val make : S.connection -> Protocols.Session.state -> Protocols.Handle.t + val make : + ?evaluators:Protocols.Handle.t -> S.connection -> Protocols.Session.state -> Protocols.Handle.t end |
