blob: 25c2b3d109a6cf719515f27c008fa0a54400d2fa (
plain) (
tree)
|
|
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
|