Warning: Reason support is experimental. We are looking for beta-tester and contributors.

Class virtual Lwt_engine.​abstract

class virtual abstract :  object..end

Abstract class for engines.

method destroy : unit

Destroy the engine, remove all its events and free its associated resources.

method transfer : abstract -> unit

transfer engine moves all events from the current engine to engine. Note that timers are reset in the destination engine, i.e. if a timer with a delay of 2 seconds was registered 1 second ago it will occur in 2 seconds in the destination engine.

Event loop methods

method virtual iter : bool -> unit
method on_readable : Unix.file_descr -> (event -> unit) -> event
method on_writable : Unix.file_descr -> (event -> unit) -> event
method on_timer : float -> bool -> (event -> unit) -> event
method fake_io : Unix.file_descr -> unit
method readable_count : int
method writable_count : int
method timer_count : int

Backend methods


  • the callback passed to register methods is of type unit -> unit and not event -> unit
  • register methods return a lazy value which unregisters the event when forced
method private virtual cleanup : unit

Cleanup resources associated with the engine.

method private virtual register_readable : 
Unix.file_descr -> (unit -> unit) -> unit Lazy.t
method private virtual register_writable : 
Unix.file_descr -> (unit -> unit) -> unit Lazy.t
method private virtual register_timer : 
float -> bool -> (unit -> unit) -> unit Lazy.t