package nanoev-posix

  1. Overview
  2. Docs
Use mtime+iomux (posix compliant) as a backend for nanoev

Install

Dune Dependency

Authors

Maintainers

Sources

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

Description

Tags

unix select async iomux nanoev

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 (7)

  1. mtime >= "2.0"
  2. nanoev-picos = version
  3. nanoev = version
  4. iomux >= "0.3"
  5. base-unix
  6. dune >= "2.7"
  7. ocaml >= "4.12"

Dev Dependencies (4)

  1. odoc with-doc
  2. trace-tef with-test
  3. trace with-test
  4. moonpool with-test

Used by

None

Conflicts

None

OCaml

Innovation. Community. Security.