diff --git a/nanoev/Nanoev_unix/index.html b/nanoev/Nanoev_unix/index.html index 5593e0c..a0600d6 100644 --- a/nanoev/Nanoev_unix/index.html +++ b/nanoev/Nanoev_unix/index.html @@ -1,5 +1,5 @@ -
Nanoev_unixNano event loop
include module type of struct include Nanoev endNanoev is a small abstraction over non-blocking IO event loops offered by most operating systems (e.g kqueue on BSD/macOS, poll on posix systems, epoll on linux, completion ports on windows).
The idea is that a Nanoev.t encapsulates a single event loop in a reusable form, and can be used in higher-level concurrency packages or to write async IO code directly. See Nanoev_unix for a Unix.select-based implementation and Nanoev_posix for a poll-based (better) implementation.
type t = Nanoev.tmodule Impl = Nanoev.Implval clear : t -> unitReset the state, similar to creating a new event loop from scratch
val wakeup_from_outside : t -> unitWakeup a sleeping event loop from the outside (another thread, a signal handler, etc.). This must be thread-safe.
val step : t -> unitRun one step of the event loop until something happens. This can potentially block the caller for an interdeterminate duration.
val close : t -> Unix.file_descr -> unitClose the file descriptor and clean it up inside the event loop. Callbacks registered on this FD will be called with ~closed:true.
val max_fds : t -> intMaximum number of file descriptors that can be observed at once. This depends on the syscall underlying the event loop, as well as other system limits (see ulimit -n to change this limit on linux, for example).
val on_readable :
+Nanoev_unix (nanoev.Nanoev_unix) Module Nanoev_unix
Nanoev implementation based on Unix.select
include module type of struct include Nanoev end
Summary
Nanoev is a small abstraction over non-blocking IO event loops offered by most operating systems (e.g kqueue on BSD/macOS, poll on posix systems, epoll on linux, completion ports on windows).
The idea is that a Nanoev.t encapsulates a single event loop in a reusable form, and can be used in higher-level concurrency packages or to write async IO code directly. See Nanoev_unix for a Unix.select-based implementation and Nanoev_posix for a poll-based (better) implementation.
type t = Nanoev.tmodule Impl = Nanoev.Implval clear : t -> unitReset the state, similar to creating a new event loop from scratch
val wakeup_from_outside : t -> unitWakeup a sleeping event loop from the outside (another thread, a signal handler, etc.). This must be thread-safe.
val step : t -> unitRun one step of the event loop until something happens. This can potentially block the caller for an interdeterminate duration.
val close : t -> Unix.file_descr -> unitClose the file descriptor and clean it up inside the event loop. Callbacks registered on this FD will be called with ~closed:true.
val max_fds : t -> intMaximum number of file descriptors that can be observed at once. This depends on the syscall underlying the event loop, as well as other system limits (see ulimit -n to change this limit on linux, for example).
val on_readable :
t ->
Unix.file_descr ->
'a ->
diff --git a/nanoev/index.html b/nanoev/index.html
index 3575834..e6e4388 100644
--- a/nanoev/index.html
+++ b/nanoev/index.html
@@ -1,2 +1,2 @@
-index (nanoev.index) Package nanoev
Nanoev Nano event loop.Nanoev_unix Nano event loop
+index (nanoev.index) Package nanoev
Nanoev Nano event loop.Nanoev_unix Nanoev implementation based on Unix.select