aboutsummaryrefslogblamecommitdiffstats
path: root/lib/backend/managers/Handle.mli
blob: 5fc82b834d1ad6a9a352f6f570c48c43aac48281 (plain) (tree)





















                                                                                        
module type HANDLER = sig
  type t
  type handle
  type cursor

  val open_ : t -> path:Concepts.Path.t -> (handle, Concepts.Condition.condition) result

  val open_cursor :
    handle ->
    args:Concepts.Value.value BatFingerTree.t ->
    (cursor, Concepts.Condition.condition) result

  val next : cursor -> (Concepts.Tuple.t option, Concepts.Condition.condition) result
  val close : cursor -> unit
end

module Make (Store : Abstract.Storage.STORAGE) : sig
  include HANDLER

  val create : Object.rnt_object_tree -> Store.transaction -> t
  val object_ : handle -> Object.registry
end