├── .github └── workflows │ └── workflow.yml ├── .gitignore ├── .ocamlformat ├── README.cpp.md ├── README.md ├── dune ├── dune-project ├── flake.lock ├── flake.nix ├── lev-fiber-csexp.opam ├── lev-fiber-csexp ├── src │ ├── dune │ ├── lev_fiber_csexp.ml │ └── lev_fiber_csexp.mli └── test │ ├── dune │ ├── lev_fiber_csexp_rpc_tests.ml │ └── lev_fiber_csexp_rpc_tests.mli ├── lev-fiber.opam ├── lev-fiber ├── bench │ ├── dune │ ├── ping_pong.ml │ └── ping_pong.mli ├── src │ ├── dune │ ├── lev_fiber.ml │ ├── lev_fiber.mli │ └── util │ │ ├── bip_buffer.ml │ │ ├── bip_buffer.mli │ │ ├── channel.ml │ │ ├── channel.mli │ │ ├── dune │ │ ├── removable_queue.ml │ │ ├── removable_queue.mli │ │ ├── worker.ml │ │ └── worker.mli └── test │ ├── basic.ml │ ├── dune │ ├── lev_fiber_threads.ml │ ├── lev_fiber_threads.mli │ ├── process.ml │ ├── reader_writer.ml │ ├── reader_writer.mli │ ├── sockets.ml │ ├── sockets.mli │ ├── timers.ml │ ├── timers.mli │ └── util │ ├── bip_buffer_tests.ml │ ├── bip_buffer_tests.mli │ ├── channel_tests.ml │ ├── channel_tests.mli │ ├── dune │ ├── removable_queue_tests.ml │ └── removable_queue_tests.mli ├── lev.opam └── lev ├── bench ├── dune ├── ping_pong.ml └── ping_pong.mli ├── dune ├── examples ├── dune └── readme.ml ├── src ├── LICENSE.md ├── config.h ├── dune ├── lev.ml ├── lev.mli └── lev_stubs.c ├── test ├── dune ├── lev_tests.ml ├── lev_tests_signals.ml ├── lev_tests_unix.ml └── sockets.ml └── vendor ├── Changes ├── LICENSE ├── Makefile.am ├── README ├── README.embed ├── Symbols.ev ├── Symbols.event ├── autogen.sh ├── configure.ac ├── ev++.h ├── ev.3 ├── ev.c ├── ev.h ├── ev.pod ├── ev_epoll.c ├── ev_iouring.c ├── ev_kqueue.c ├── ev_linuxaio.c ├── ev_poll.c ├── ev_port.c ├── ev_select.c ├── ev_vars.h ├── ev_win32.c ├── ev_wrap.h ├── event.c ├── event.h ├── event_compat.h ├── import_libevent ├── libev.m4 ├── update_ev_c ├── update_ev_wrap └── update_symbols /.github/workflows/workflow.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/.github/workflows/workflow.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _build 2 | _opam 3 | _coverage 4 | *.install 5 | .vscode/ 6 | -------------------------------------------------------------------------------- /.ocamlformat: -------------------------------------------------------------------------------- 1 | version=0.24.1 2 | -------------------------------------------------------------------------------- /README.cpp.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/README.cpp.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/README.md -------------------------------------------------------------------------------- /dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/dune -------------------------------------------------------------------------------- /dune-project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/dune-project -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/flake.lock -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/flake.nix -------------------------------------------------------------------------------- /lev-fiber-csexp.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber-csexp.opam -------------------------------------------------------------------------------- /lev-fiber-csexp/src/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber-csexp/src/dune -------------------------------------------------------------------------------- /lev-fiber-csexp/src/lev_fiber_csexp.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber-csexp/src/lev_fiber_csexp.ml -------------------------------------------------------------------------------- /lev-fiber-csexp/src/lev_fiber_csexp.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber-csexp/src/lev_fiber_csexp.mli -------------------------------------------------------------------------------- /lev-fiber-csexp/test/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber-csexp/test/dune -------------------------------------------------------------------------------- /lev-fiber-csexp/test/lev_fiber_csexp_rpc_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber-csexp/test/lev_fiber_csexp_rpc_tests.ml -------------------------------------------------------------------------------- /lev-fiber-csexp/test/lev_fiber_csexp_rpc_tests.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lev-fiber.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber.opam -------------------------------------------------------------------------------- /lev-fiber/bench/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/bench/dune -------------------------------------------------------------------------------- /lev-fiber/bench/ping_pong.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/bench/ping_pong.ml -------------------------------------------------------------------------------- /lev-fiber/bench/ping_pong.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lev-fiber/src/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/src/dune -------------------------------------------------------------------------------- /lev-fiber/src/lev_fiber.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/src/lev_fiber.ml -------------------------------------------------------------------------------- /lev-fiber/src/lev_fiber.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/src/lev_fiber.mli -------------------------------------------------------------------------------- /lev-fiber/src/util/bip_buffer.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/src/util/bip_buffer.ml -------------------------------------------------------------------------------- /lev-fiber/src/util/bip_buffer.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/src/util/bip_buffer.mli -------------------------------------------------------------------------------- /lev-fiber/src/util/channel.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/src/util/channel.ml -------------------------------------------------------------------------------- /lev-fiber/src/util/channel.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/src/util/channel.mli -------------------------------------------------------------------------------- /lev-fiber/src/util/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/src/util/dune -------------------------------------------------------------------------------- /lev-fiber/src/util/removable_queue.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/src/util/removable_queue.ml -------------------------------------------------------------------------------- /lev-fiber/src/util/removable_queue.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/src/util/removable_queue.mli -------------------------------------------------------------------------------- /lev-fiber/src/util/worker.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/src/util/worker.ml -------------------------------------------------------------------------------- /lev-fiber/src/util/worker.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/src/util/worker.mli -------------------------------------------------------------------------------- /lev-fiber/test/basic.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/test/basic.ml -------------------------------------------------------------------------------- /lev-fiber/test/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/test/dune -------------------------------------------------------------------------------- /lev-fiber/test/lev_fiber_threads.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/test/lev_fiber_threads.ml -------------------------------------------------------------------------------- /lev-fiber/test/lev_fiber_threads.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lev-fiber/test/process.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/test/process.ml -------------------------------------------------------------------------------- /lev-fiber/test/reader_writer.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/test/reader_writer.ml -------------------------------------------------------------------------------- /lev-fiber/test/reader_writer.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lev-fiber/test/sockets.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/test/sockets.ml -------------------------------------------------------------------------------- /lev-fiber/test/sockets.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lev-fiber/test/timers.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/test/timers.ml -------------------------------------------------------------------------------- /lev-fiber/test/timers.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lev-fiber/test/util/bip_buffer_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/test/util/bip_buffer_tests.ml -------------------------------------------------------------------------------- /lev-fiber/test/util/bip_buffer_tests.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lev-fiber/test/util/channel_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/test/util/channel_tests.ml -------------------------------------------------------------------------------- /lev-fiber/test/util/channel_tests.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lev-fiber/test/util/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/test/util/dune -------------------------------------------------------------------------------- /lev-fiber/test/util/removable_queue_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev-fiber/test/util/removable_queue_tests.ml -------------------------------------------------------------------------------- /lev-fiber/test/util/removable_queue_tests.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lev.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev.opam -------------------------------------------------------------------------------- /lev/bench/dune: -------------------------------------------------------------------------------- 1 | (executable 2 | (name ping_pong) 3 | (libraries lev unix)) 4 | -------------------------------------------------------------------------------- /lev/bench/ping_pong.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/bench/ping_pong.ml -------------------------------------------------------------------------------- /lev/bench/ping_pong.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lev/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/dune -------------------------------------------------------------------------------- /lev/examples/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/examples/dune -------------------------------------------------------------------------------- /lev/examples/readme.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/examples/readme.ml -------------------------------------------------------------------------------- /lev/src/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/src/LICENSE.md -------------------------------------------------------------------------------- /lev/src/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/src/config.h -------------------------------------------------------------------------------- /lev/src/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/src/dune -------------------------------------------------------------------------------- /lev/src/lev.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/src/lev.ml -------------------------------------------------------------------------------- /lev/src/lev.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/src/lev.mli -------------------------------------------------------------------------------- /lev/src/lev_stubs.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/src/lev_stubs.c -------------------------------------------------------------------------------- /lev/test/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/test/dune -------------------------------------------------------------------------------- /lev/test/lev_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/test/lev_tests.ml -------------------------------------------------------------------------------- /lev/test/lev_tests_signals.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/test/lev_tests_signals.ml -------------------------------------------------------------------------------- /lev/test/lev_tests_unix.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/test/lev_tests_unix.ml -------------------------------------------------------------------------------- /lev/test/sockets.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/test/sockets.ml -------------------------------------------------------------------------------- /lev/vendor/Changes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/Changes -------------------------------------------------------------------------------- /lev/vendor/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/LICENSE -------------------------------------------------------------------------------- /lev/vendor/Makefile.am: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/Makefile.am -------------------------------------------------------------------------------- /lev/vendor/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/README -------------------------------------------------------------------------------- /lev/vendor/README.embed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/README.embed -------------------------------------------------------------------------------- /lev/vendor/Symbols.ev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/Symbols.ev -------------------------------------------------------------------------------- /lev/vendor/Symbols.event: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/Symbols.event -------------------------------------------------------------------------------- /lev/vendor/autogen.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/autogen.sh -------------------------------------------------------------------------------- /lev/vendor/configure.ac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/configure.ac -------------------------------------------------------------------------------- /lev/vendor/ev++.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev++.h -------------------------------------------------------------------------------- /lev/vendor/ev.3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev.3 -------------------------------------------------------------------------------- /lev/vendor/ev.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev.c -------------------------------------------------------------------------------- /lev/vendor/ev.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev.h -------------------------------------------------------------------------------- /lev/vendor/ev.pod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev.pod -------------------------------------------------------------------------------- /lev/vendor/ev_epoll.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev_epoll.c -------------------------------------------------------------------------------- /lev/vendor/ev_iouring.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev_iouring.c -------------------------------------------------------------------------------- /lev/vendor/ev_kqueue.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev_kqueue.c -------------------------------------------------------------------------------- /lev/vendor/ev_linuxaio.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev_linuxaio.c -------------------------------------------------------------------------------- /lev/vendor/ev_poll.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev_poll.c -------------------------------------------------------------------------------- /lev/vendor/ev_port.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev_port.c -------------------------------------------------------------------------------- /lev/vendor/ev_select.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev_select.c -------------------------------------------------------------------------------- /lev/vendor/ev_vars.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev_vars.h -------------------------------------------------------------------------------- /lev/vendor/ev_win32.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev_win32.c -------------------------------------------------------------------------------- /lev/vendor/ev_wrap.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/ev_wrap.h -------------------------------------------------------------------------------- /lev/vendor/event.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/event.c -------------------------------------------------------------------------------- /lev/vendor/event.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/event.h -------------------------------------------------------------------------------- /lev/vendor/event_compat.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/event_compat.h -------------------------------------------------------------------------------- /lev/vendor/import_libevent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/import_libevent -------------------------------------------------------------------------------- /lev/vendor/libev.m4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/libev.m4 -------------------------------------------------------------------------------- /lev/vendor/update_ev_c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/update_ev_c -------------------------------------------------------------------------------- /lev/vendor/update_ev_wrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/update_ev_wrap -------------------------------------------------------------------------------- /lev/vendor/update_symbols: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgrinberg/lev/HEAD/lev/vendor/update_symbols --------------------------------------------------------------------------------