package eio_main

  1. Overview
  2. Docs
Effect-based direct-style IO mainloop for OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

eio-0.15.tbz
sha256=807ecef337dda849b05d3dbd17a928e6f5c636e76eb15e2213667c91127718a7
sha512=8f055aec34c9347eed2cbaa4ee439399bbe3d6a546f2c2b52e27f733fe822f4acdee3e00e4e64ae3eb922c2772535952f8e81b546802fe945fd32d3fab88b7b9

doc/src/eio_main/eio_main.ml.html

Source file eio_main.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
let force run fn =
  run ~fallback:(fun (`Msg msg) -> failwith msg) fn

let run fn =
  match Sys.getenv_opt "EIO_BACKEND" with
  | Some ("io-uring" | "linux") -> force Linux_backend.run fn
  | Some "posix" -> force Posix_backend.run fn
  | Some "windows" -> force Windows_backend.run fn
  | None | Some "" ->
    Linux_backend.run fn ~fallback:(fun _ ->
        Posix_backend.run fn ~fallback:(fun _ ->
            force Windows_backend.run fn
          )
      )
  | Some x -> Fmt.failwith "Unknown Eio backend %S (from $EIO_BACKEND)" x
OCaml

Innovation. Community. Security.