aboutsummaryrefslogblamecommitdiffstats
path: root/lib/kernel/Storage.mli
blob: 9a10984e651f5dfc962781ba3d44e5c081c184a1 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                           








                                                                                                             

                                                                                                                                                  
                                                                                                                
   
module Make : functor (S : Abstract.Storage.STORAGE) -> sig
  module Pointer : sig
    type 'a t

    val make : S.address -> (S.transaction -> S.address -> ('a, Concepts.Condition.condition) result) -> 'a t
    val address_of : 'a t -> S.address
    val swap : 'a t -> S.address -> 'a t
    val deref : S.transaction -> 'a t -> ('a, Concepts.Condition.condition) result
  end

  val finish : S.transaction -> ('a, Concepts.Condition.condition) result -> ('a, Concepts.Condition.condition) result
  val with_transaction : S.connection -> (S.transaction -> ('a, Concepts.Condition.condition) result) -> ('a, Concepts.Condition.condition) result
  val store_blob : S.transaction -> Concepts.Blob.t -> (Concepts.Hash.hash, Concepts.Condition.condition) result
end