blob: ae041fcee965105e5d383f7a7e37c364068ade4a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
module Make (S : Abstract.Storage.STORAGE) = struct
module BM = BranchManager.Make (S)
let initialize ?(evaluators = []) conn =
let open Utilities.Result in
let open Protocols in
let root = Namespace.make () in
let registry = Registry.from root |> Option.get in
let* branch_manager = BM.make conn "rnt-head" in
let* _ = Registry.update registry "branch" None (Some branch_manager) in
let evaluator_namespace = Namespace.make () in
let evaluator_registry = Registry.from evaluator_namespace |> Option.get in
let* _ =
List.fold_left
(fun acc (name, handle) ->
let* _ = acc in
Registry.update evaluator_registry name None (Some handle))
(Ok true) evaluators
in
let* _ = Registry.update registry "evaluator" None (Some evaluator_namespace) in
Ok root
end
|