package eio

  1. Overview
  2. Docs
Effect-based direct-style IO API for OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

eio-0.8.1.tbz
sha256=c4222f9b081465486a1c1a8dde6aa00178936d7c7b3a8565e0883a421e0e3547
sha512=d63d8b9500b492be93df4f29159aa6955588ca1e35e6a5817856e32ee4fec3395604dc7b64fc5a973ee8bd436bd65831e7b08fca9bf909f41afec4a65c4443b8

doc/eio.utils/Eio_utils/Zzz/index.html

Module Eio_utils.ZzzSource

A set of timers.

Sourcemodule Key : sig ... end

A handle to a registered timer.

Sourcetype t

A set of timers (implemented as a priority queue).

Sourceval create : unit -> t

create () is a fresh empty queue.

Sourceval add : t -> Mtime.t -> unit Suspended.t -> Key.t

add t time thread adds a new event, due at time, and returns its ID. You must use Eio.Private.Fiber_context.set_cancel_fn on thread before calling pop. Your cancel function should call remove (in addition to resuming thread).

Sourceval remove : t -> Key.t -> unit

remove t key removes an event previously added with add.

Sourceval pop : t -> now:Mtime.t -> [ `Due of unit Suspended.t | `Wait_until of Mtime.t | `Nothing ]

pop ~now t removes and returns the earliest thread due by now. It also clears the thread's cancel function. If no thread is due yet, it returns the time the earliest thread becomes due.

OCaml

Innovation. Community. Security.