Module Xenstore_server.Transaction

val debug : ('a, unit, string, unit) Stdlib.format4 -> 'b
val none : int32
val test_eagain : bool Stdlib.ref
val check_parents_perms_identical : Store.Node.t -> Store.Node.t -> Store.Path.t -> bool
val get_lowest : Store.Path.t -> Store.Path.t option -> Store.Path.t option
val test_coalesce : Store.Node.t -> Store.Node.t -> Store.Path.t -> bool
val can_coalesce : Store.Node.t -> Store.Node.t -> Store.Path.t -> bool
type ty =
  1. | No
  2. | Full of int32 * Store.Node.t * Store.t
type t = {
  1. ty : ty;
  2. store : Store.t;
  3. quota : Quota.t;
  4. mutable paths : (Xs_protocol.Op.t * Store.Name.t) list;
  5. mutable operations : (Xs_protocol.Request.payload * Xs_protocol.Response.payload) list;
  6. mutable read_lowpath : Store.Path.t option;
  7. mutable write_lowpath : Store.Path.t option;
}
val make : int32 -> Store.t -> t
val get_id : t -> int32
val get_store : t -> Store.t
val get_paths : t -> (Xs_protocol.Op.t * Store.Name.t) list
val add_wop : t -> Xs_protocol.Op.t -> Store.Path.t -> unit
val set_read_lowpath : t -> Store.Path.t -> unit
val set_write_lowpath : t -> Store.Path.t -> unit
val exists : t -> 'a -> Store.Path.t -> bool
val write : t -> int -> Perms.t -> Store.Path.t -> string -> unit
val mkdir : ?with_watch:bool -> t -> int -> Perms.t -> Store.Path.t -> unit
val setperms : t -> Perms.t -> Store.Path.t -> Xs_protocol.ACL.t -> unit
val rm : t -> Perms.t -> Store.Path.t -> unit
val list : t -> Perms.t -> Store.Path.t -> string list
val read : t -> Perms.t -> Store.Path.t -> string
val getperms : t -> Perms.t -> Store.Path.t -> Xs_protocol.ACL.t
val commit : con:string -> t -> bool