package poll

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module Event : sig ... end
module Backend : sig ... end
module Timeout : sig ... end
module Poll_intf : sig ... end
include Poll_intf.S
type t
val create : ?num_events:int -> unit -> t

create ?num_events () creates a new instance of a poller. num_events is an optional input that can be used to specify how many events to look for when a poller waits for new events.

val set : t -> Unix.file_descr -> Event.t -> unit

set t fd event updates the state of the set of file descriptors monitored by the poller. Event.none can be used to delete a fd from the set of descriptors that are monitored.

val wait : t -> Timeout.t -> [ `Ok | `Timeout ]

wait t timeout waits for at least one event to be ready, unless the user provides timeout is reached.

val clear : t -> unit

clear clears the number of i/o events that are ready to be consumed. This should be called after the user consumes all events that are available after wait.

val iter_ready : t -> f:(Unix.file_descr -> Event.t -> unit) -> unit

iter_ready iterates over the events that are ready after a call to wait.

val close : t -> unit

close closes the poller instance.

val create' : ?num_events:int -> (module Poll_intf.S) -> t

create' accepts a user-supplied polling implementation and uses it to create a new poller instance.

val backend : t -> Backend.t

backend returns the io event notification backend (ex: kqueue, epoll, etc) used by the poller instance.