Lwt_engine
Lwt unix main loop engine
Type of events. An event represent a callback registered to be called when some event occurs.
val stop_event : event -> unit
stop_event event
stops the given event.
val fake_event : event
Event which does nothing when stopped.
iter block
performs one iteration of the main loop. If block
is true
the function must block until one event becomes available, otherwise it should just check for available events and return immediately.
val on_readable : Unix.file_descr -> (event -> unit) -> event
on_readable fd f
calls f
each time fd
becomes readable.
val on_writable : Unix.file_descr -> (event -> unit) -> event
on_readable fd f
calls f
each time fd
becomes writable.
on_timer delay repeat f
calls f
one time after delay
seconds. If repeat
is true
then f
is called each delay
seconds, otherwise it is called only one time.
Returns the number of events waiting for a file descriptor to become readable.
Returns the number of events waiting for a file descriptor to become writable.
val fake_io : Unix.file_descr -> unit
Simulates activity on the given file descriptor.
Called internally by Lwt_unix.fork to make sure we don't get strange behaviour
forwards_signal signum
is true
if the engine will call Lwt_unix.handle_signal
when signal signum
occurs. In this case, Lwt will not install its own signal handler.
Normally, this just returns false
, but when Lwt is used in combination with other IO libraries, this allows sharing e.g. the SIGCHLD handler.
An engine represents a set of functions used to register different kinds of callbacks for different kinds of events.
class virtual abstract : object ... end
Abstract class for engines.
class type t = object ... end
Type of engines.
module Ev_backend : sig ... end
Type of libev loops.
class libev : ?backend:Ev_backend.t -> unit -> object ... end
Engine based on libev. If not compiled with libev support, the creation of the class will raise Lwt_sys.Not_available
.
Engine based on Unix.select
.
class virtual select_based : object ... end
Abstract class for engines based on a select-like function.
class virtual poll_based : object ... end
Abstract class for engines based on a poll-like function.
val get : unit -> t
get ()
returns the engine currently in use.
val set : ?transfer:bool -> ?destroy:bool -> t -> unit
set ?transfer ?destroy engine
replaces the current engine by the given one.
If transfer
is true
(the default) all events from the current engine are transferred to the new one.
If destroy
is true
(the default) then the current engine is destroyed before being replaced.
module Versioned : sig ... end