Plasma GitLab Archive
Projects Blog Knowledge

sig
  type group
  exception Abort of (Unixqueue.group * exn)
  type wait_id
  type operation =
      Wait_in of Unix.file_descr
    | Wait_out of Unix.file_descr
    | Wait_oob of Unix.file_descr
    | Wait of Unixqueue.wait_id
  type event =
      Input_arrived of (Unixqueue.group * Unix.file_descr)
    | Output_readiness of (Unixqueue.group * Unix.file_descr)
    | Out_of_band of (Unixqueue.group * Unix.file_descr)
    | Timeout of (Unixqueue.group * Unixqueue.operation)
    | Signal
    | Extra of exn
  class type event_system =
    object
      method add_abort_action :
        Unixqueue.group -> (Unixqueue.group -> exn -> unit) -> unit
      method add_close_action :
        Unixqueue.group ->
        Unix.file_descr * (Unix.file_descr -> unit) -> unit
      method add_event : Unixqueue.event -> unit
      method add_handler :
        Unixqueue.group ->
        (Unixqueue.event_system ->
         Unixqueue.event Equeue.t -> Unixqueue.event -> unit) ->
        unit
      method add_resource :
        Unixqueue.group -> Unixqueue.operation * float -> unit
      method clear : Unixqueue.group -> unit
      method debug_log : ?label:string -> string -> unit
      method exists_resource : Unixqueue.operation -> bool
      method exn_log :
        ?suppressed:bool ->
        ?to_string:(exn -> string) -> ?label:string -> exn -> unit
      method is_running : bool
      method new_group : unit -> Unixqueue.group
      method new_wait_id : unit -> Unixqueue.wait_id
      method once : Unixqueue.group -> float -> (unit -> unit) -> unit
      method private queue_events :
        Unix.file_descr list * Unix.file_descr list * Unix.file_descr list ->
        bool
      method remove_resource : Unixqueue.group -> Unixqueue.operation -> unit
      method run : unit -> unit
      method private setup :
        unit ->
        Unix.file_descr list * Unix.file_descr list * Unix.file_descr list *
        float
      method private source : Unixqueue.event Equeue.t -> unit
    end
  class unix_event_system : unit -> event_system
  val create_unix_event_system : unit -> Unixqueue.event_system
  val new_group : Unixqueue.event_system -> Unixqueue.group
  val new_wait_id : Unixqueue.event_system -> Unixqueue.wait_id
  val exists_resource : Unixqueue.event_system -> Unixqueue.operation -> bool
  val add_resource :
    Unixqueue.event_system ->
    Unixqueue.group -> Unixqueue.operation * float -> unit
  val add_close_action :
    Unixqueue.event_system ->
    Unixqueue.group -> Unix.file_descr * (Unix.file_descr -> unit) -> unit
  val add_abort_action :
    Unixqueue.event_system ->
    Unixqueue.group -> (Unixqueue.group -> exn -> unit) -> unit
  val remove_resource :
    Unixqueue.event_system -> Unixqueue.group -> Unixqueue.operation -> unit
  val add_handler :
    Unixqueue.event_system ->
    Unixqueue.group ->
    (Unixqueue.event_system ->
     Unixqueue.event Equeue.t -> Unixqueue.event -> unit) ->
    unit
  val add_event : Unixqueue.event_system -> Unixqueue.event -> unit
  val clear : Unixqueue.event_system -> Unixqueue.group -> unit
  val run : Unixqueue.event_system -> unit
  val is_running : Unixqueue.event_system -> bool
  val once :
    Unixqueue.event_system ->
    Unixqueue.group -> float -> (unit -> unit) -> unit
  val exn_log :
    Unixqueue.event_system ->
    ?suppressed:bool ->
    ?to_string:(exn -> string) -> ?label:string -> exn -> unit
  val debug_log : Unixqueue.event_system -> ?label:string -> string -> unit
  val set_debug_mode : bool -> unit
  val init_mt : (unit -> (unit -> unit) * (unit -> unit)) -> unit
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml