Up

module Unixqueue_select

: sig
#
class type sb_event_system =
#
method new_group : unit -> Unixqueue_util.group
#
method new_wait_id : unit -> Unixqueue_util.wait_id
#
method exists_resource : Unixqueue_util.operation -> bool
#
method add_resource : Unixqueue_util.group -> Unixqueue_util.operation * float -> unit
#
method add_weak_resource : Unixqueue_util.group -> Unixqueue_util.operation * float -> unit
#
method add_close_action : Unixqueue_util.group -> Unix.file_descr * (Unix.file_descr -> unit) -> unit
#
method add_abort_action : Unixqueue_util.group -> (Unixqueue_util.group -> exn -> unit) -> unit
#
method remove_resource : Unixqueue_util.group -> Unixqueue_util.operation -> unit
#
method add_handler : Unixqueue_util.group -> (Unixqueue.event_system -> Unixqueue_util.event Equeue.t -> Unixqueue_util.event -> unit) -> unit
#
method add_event : Unixqueue_util.event -> unit
#
method clear : Unixqueue_util.group -> unit
#
method run : unit -> unit
#
method is_running : bool
#
method when_blocking : (unit -> unit) -> unit
#
method private setup : unit -> Unix.file_descr list * Unix.file_descr list * Unix.file_descr list * float
#
method private queue_events : Unix.file_descr list * Unix.file_descr list * Unix.file_descr list -> bool
#
method private source : Unixqueue_util.event Equeue.t -> unit
#
class select_based_event_system : unit -> sb_event_system

This the old Unix.select-based imeplementation of event systems which was the default one until Ocamlnet-2.2.

Please avoid in new code. This module merely exists to allow comparisons between the old implementation and the new one.

Note that this class definition also includes some private methods. These are required in some other Unixqueue implementations inheriting from this class.

#
val select_based_event_system : unit -> Unixqueue.event_system

Create a new Unix.select-based event system

end