package uwt

All checked builds fail
  1. Overview
  2. Docs

Description

uwt provides OCaml bindings for libuv. The main loop of libuv is integrated into lwt, the light-weight cooperative threads library.

Tags

clib:libuv

Added to opam-repository:

README

Uwt

Uwt provides OCaml bindings for libuv - on top of lwt.

Travis build Status AppVeyor Build Status

  • Requests are translated to lwt-threads.
  • Callbacks that are called continually are most of the time not translated to the usual lwt semantic.
  • naming conventions mirror the conventions of libuv, so you can easily consult the official libuv manual. Only the differences are explained inside uwt.mli
  • Uwt is not compatible with lwt.unix. It's not a further Lwt_engine in addition to select and libev. However, the findlib package uwt.ext provides alternatives to the higher level modules of lwt.unix with a nearly identic interface (Uwt_io, Uwt_process, Uwt_log). You can also open the module Uwt_compat (package uwt.compat) that provides aliases with module names as found in lwt (e.g. Lwt_main instead of Uwt.Main). This is necessary, if you want to use the camlp4 syntax extension of lwt.
  • Uwt is not thread safe. All uwt functions should be called from your main thread.

Installation

Quick install guide

$ opam install uwt
# or for the latest development version
$ opam pin add uwt --dev-repo

Manual install

Dependencies:

  • OCaml 4.02.1 or later
  • lwt 2.6.0 or later
  • libuv 1.8 or later

Build dependencies:

  • pkg-config / pkgconf
  • findlib
  • omake
  • cppo
  • ppx_deriving (test only)
  • ppx_import (test only)
  • ounit (test only)
  • autoconf (repo pinning only)
$ omake all
$ omake install

libuv will be compiled locally, if is not already installed on your system. You can also explicity enforce one option:

$ omake all BUILD_LIBUV=true
# or
$ omake all BUILD_LIBUV=false

Dependencies (11)

  1. lwt >= "2.6.0"
  2. result
  3. omake build
  4. cppo build & >= "1.3"
  5. ocamlfind build
  6. conf-pkg-config build
  7. base-bytes
  8. base-threads
  9. base-bigarray
  10. base-unix
  11. ocaml >= "4.02.1" & < "4.12"

Dev Dependencies

None

Optional Dependencies

None

Used by (1)

  1. distributed-uwt

Conflicts

None

Build status

Results of building uwt with each compiler on check.ci.ocaml.org, run of against opam-repository 7cdc698. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
0.3.3 (this version) bad n/a n/a n/a n/a
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure