package nanoev

  1. Overview
  2. Docs
Tiny event loop abstraction

Install

Dune Dependency

Authors

Maintainers

Sources

nanoev-0.1.tbz
sha256=2ec6b951b88383b3849240f7cd27e322797fc596dc0b3fc53e9c61b78bab6570
sha512=1e4fe800638102cc5bdcd404d2069f65bc34f429d0b9063c14b0ffebc20e9dad3beff49741304d4b57d98d1895f65ed903f4b11d224505d038fa2afb012d7d4f

Description

Tags

unix select async

Published: 12 May 2025

README

nanoev

A minimalistic but modular abstraction for IO event loops.

The goal of this library is to provide a uniform abstraction over multiple system event loops, in a way that plays well with Picos.

Usage

Very basic usage would look like this:

module EV = Nanoev_picos


let () =
  (* use a backend, eg. select *)
  let ev = Nanoev_unix.create () in

  (* install the backend *)
  Nanoev_picos.setup_bg_thread ev;

  (* setup a picos scheduler and use EV.read, EV.write, etc. *)
  …

Backends

  • select
  • poll/ppoll
  • epoll
  • kqueue
  • uring

Dependencies (3)

  1. base-unix
  2. dune >= "2.7"
  3. ocaml >= "4.12"

Dev Dependencies (1)

  1. odoc with-doc

Conflicts

None

OCaml

Innovation. Community. Security.