package uwt
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=d905040767d62475b29d97279d1f723225a17ba318ef5037acf5e1381e02431f
md5=475c47665a2f3fd9929c2bfca07132c1
Description
uwt provides OCaml bindings for libuv. The main loop of libuv is integrated into lwt, the light-weight cooperative threads library.
README
Uwt
Uwt provides OCaml bindings for libuv - on top of lwt.
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 furtherLwt_engine
in addition toselect
andlibev
. However, the findlib packageuwt.ext
provides alternatives to the higher level modules oflwt.unix
with a nearly identic interface (Uwt_io, Uwt_process, Uwt_log). You can also open the moduleUwt_compat
(packageuwt.compat
) that provides aliases with module names as found in lwt (e.g.Lwt_main
instead ofUwt.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)
-
lwt
>= "2.6.0"
- result
-
omake
build
-
cppo
build & >= "1.3"
-
ocamlfind
build
-
conf-pkg-config
build
- base-bytes
- base-threads
- base-bigarray
- base-unix
-
ocaml
>= "4.02.1" & < "4.12"
Dev Dependencies (4)
-
ppx_import
with-test & >= "1.0" & < "2.0"
-
ppx_deriving
with-test & >= "2.0"
-
ounit
with-test & >= "2.0"
-
lwt_log
with-test
Used by (2)
- distributed-uwt
-
vpnkit
>= "0.1.1"
Conflicts
None