/usr/lib/ocaml/netsys/netsys_global.mli is in libocamlnet-ocaml-dev 4.1.2-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | (* $Id$ *)
(** Global variables
This module provides a place to store global variables that work
across subprocess boundaries. In order to push values to related processes
it needs a [propagator]. The propagator is not included here. The
Netplex library implements a propagator that is automatically activated.
Variables are limited to string type.
*)
type variable
val access : string -> variable
(** [access name]: Create or look up a variable with this name *)
val get : variable -> string
(** Get the value of the variable (after checking for an update) *)
val set : variable -> string -> unit
(** Set the value of the variable *)
val get_v : variable -> string * int64
(** Get the value and the version number of the variable *)
val set_v : variable -> string -> int64
(** Set the value and get the new version number *)
val iter : (string -> string -> int64 -> unit) -> unit
(** [iter f]: for every variable call [f name value version] *)
class type propagator =
object
method propagate : string -> string -> int64
(** [propagate name value version]: push the new [value] of the variable
called [name] to other processes. The version of the new value is
returned.
*)
method update : string -> int64 -> (string * int64) option
(** [update name version]: checks whether there is a new value of
the variable [name] with a version higher than the passed
[version]. If not, [None] is returned. If so, [Some(val,vers)]
is returned where [val] is the value with version [vers].
*)
end
val get_propagator : unit -> propagator option
(** Get the current propagator or return [None] *)
val set_propagator : propagator option -> unit
(** Set the current propagator to [Some p], or remove the propagator with
[None]
*)
(**/**)
val internal_set : string -> string -> int64 -> unit
(* Set the variable without propagation *)
|