mirror of
https://github.com/c-cube/nanoev.git
synced 2025-12-06 03:05:32 -05:00
34 lines
589 B
Markdown
34 lines
589 B
Markdown
# 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:
|
|
|
|
```ocaml
|
|
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
|
|
|
|
- [x] select
|
|
- [x] poll/ppoll
|
|
- [ ] epoll
|
|
- [ ] kqueue
|
|
- [ ] uring
|