uring

OCaml bindings for Linux io_uring
README

These are OCaml bindings for the Linux io_uring stack
(an alternative to using syscalls such as select or epoll).

The Eio library provides a higher-level effects-based API
that uses this library to implement its Linux backend,
but ocaml-uring may be useful with single-core non-effects versions of OCaml too.

To use the library directly:

  1. Call Uring.create to initialise a ring.

  2. Add IO requests to the ring using functions such as Uring.readv.

  3. Call Uring.submit to notify the kernel of the new requests.

  4. Call Uring.wait to wait until an operation is complete.

The tests directory contains some examples.

License

This library is released under the ISC license (see LICENSE.md),
but note that the repository also vendors liburing -
see vendor/liburing/README.

Install
Published
26 Jun 2021
Maintainers
Sources
uring-v0.1.tbz
sha256=ea46e0118a59d046171d3deba92ed4a0cdaa89b4bcd35e11dc8dab39e7244de9
sha512=154dbb744d78b85f9df23c11a644642a9e1342ad14d49578aab2390ffadf44ff28da246fb031b3871b65c44127972102e2776319149f88ff343edee2be02dd53
Dependencies
odoc
with-doc
alcotest
>= "1.4.0" & with-test
optint
>= "0.1.0"
fmt
>= "0.8.4"
logs
with-test & >= "0.5.0"
bechamel
>= "0.1.0" & with-test
bechamel-notty
>= "0.1.0" & with-test
bos
>= "0.2.0" & with-test
notty
>= "0.2.2" & with-test
lwt
with-test & >= "5.0.0"
ocaml
>= "4.12.0"
cstruct
>= "6.0.0"
dune
>= "2.7"
Reverse Dependencies