nano IO event loop
Find a file
Simon Cruanes 3deea9e585
add readme
2025-02-15 16:56:38 -05:00
.github/workflows add CI 2025-02-15 00:07:48 -05:00
examples/echo add tracing; improve echo 2025-02-14 21:53:15 -05:00
src feat: handle close properly; read/write callbacks are informed about 2025-02-15 16:47:59 -05:00
tests/unix feat: handle close properly; read/write callbacks are informed about 2025-02-15 16:47:59 -05:00
.gitignore initial commit 2024-10-17 22:54:49 -04:00
.ocamlformat initial commit 2024-10-17 22:54:49 -04:00
dune-project feat: optional dep on trace 2025-02-14 21:52:57 -05:00
echo.sh wip: example 2024-12-09 22:32:09 -05:00
Makefile initial commit 2024-10-17 22:54:49 -04:00
nanoev.opam feat: optional dep on trace 2025-02-14 21:52:57 -05:00
nanoev_tiny_httpd.opam wip: nanoev_tiny_httpd library 2024-12-09 22:20:46 -05:00
README.md add readme 2025-02-15 16:56:38 -05:00

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
  • uring