package albatross

  1. Overview
  2. Docs
type version = [
  1. | `AV3
  2. | `AV4
  3. | `AV5
]

The type of versions of the grammar defined below.

val current : version

current is the current version.

val is_current : version -> bool
val eq_version : version -> version -> bool
val pp_version : version Fmt.t

pp_version ppf version pretty prints version onto ppf.

type since_count = [
  1. | `Since of Ptime.t
  2. | `Count of int
]
type console_cmd = [
  1. | `Console_add
  2. | `Console_subscribe of since_count
]
type stats_cmd = [
  1. | `Stats_add of string * int * (string * string) list
  2. | `Stats_remove
  3. | `Stats_subscribe
  4. | `Stats_initial
]
type unikernel_cmd = [
  1. | `Unikernel_info
  2. | `Unikernel_create of Vmm_core.Unikernel.config
  3. | `Unikernel_force_create of Vmm_core.Unikernel.config
  4. | `Unikernel_destroy
  5. | `Unikernel_get of int
  6. | `Old_unikernel_info
  7. | `Old_unikernel_get
]
type policy_cmd = [
  1. | `Policy_info
  2. | `Policy_add of Vmm_core.Policy.t
  3. | `Policy_remove
]
type block_cmd = [
  1. | `Block_info
  2. | `Block_add of int * bool * Cstruct.t option
  3. | `Block_remove
  4. | `Block_set of bool * Cstruct.t
  5. | `Block_dump of int
]
type t = [
  1. | `Console_cmd of console_cmd
  2. | `Stats_cmd of stats_cmd
  3. | `Unikernel_cmd of unikernel_cmd
  4. | `Policy_cmd of policy_cmd
  5. | `Block_cmd of block_cmd
]
val pp : verbose:bool -> t Fmt.t
type data = [
  1. | `Console_data of Ptime.t * string
  2. | `Stats_data of Vmm_core.Stats.t
]
val pp_data : data Fmt.t
type header = {
  1. version : version;
  2. sequence : int64;
  3. name : Vmm_core.Name.t;
}
val header : ?version:version -> ?sequence:int64 -> Vmm_core.Name.t -> header
type success = [
  1. | `Empty
  2. | `String of string
  3. | `Policies of (Vmm_core.Name.t * Vmm_core.Policy.t) list
  4. | `Old_unikernels of (Vmm_core.Name.t * Vmm_core.Unikernel.config) list
  5. | `Unikernel_info of (Vmm_core.Name.t * Vmm_core.Unikernel.info) list
  6. | `Unikernel_image of bool * Cstruct.t
  7. | `Block_devices of (Vmm_core.Name.t * int * bool) list
  8. | `Block_device_image of bool * Cstruct.t
]
type res = [
  1. | `Command of t
  2. | `Success of success
  3. | `Failure of string
  4. | `Data of data
]
type wire = header * res
val pp_wire : verbose:bool -> wire Fmt.t
val endpoint : t -> Vmm_core.service * [ `End | `Read ]