Implementations of various Qubes protocols for MirageOS
Library mirage-qubes
Module Qubes . DB
include S.DB
type t
module KeyMap : Map.S with type key = string
val read : t -> string -> string option

read t key is the last known value of key.

val write : t -> string -> string -> unit Lwt.t

write t key value sets key to value.

val bindings : t -> string KeyMap.t

bindings t is the bindings of t at the time of the call.

val after : t -> string KeyMap.t -> string KeyMap.t Lwt.t

after prev waits until the current bindings are different to prev and then returns the new bindings.

val got_new_commit : t -> string -> string KeyMap.t -> string KeyMap.t Lwt.t

got_new_commit t key prev either waits until a new commit (empty write) has been written to key into the qubesDB t, or the entries starting with key are different from prev. Returns the entries starting with key.

val connect : domid:int -> unit -> t Lwt.t

connect ~domid () is a QubesDB agent which connects to a server in domid.

val disconnect : t -> unit Lwt.t

Close the underlying vchan.