1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
[@@@alert "-unstable"]
module Fd = Fd
module Resource = Resource
module Private = Private
include Types
type socket = Net.stream_socket
let await_readable = Private.await_readable
let await_writable = Private.await_writable
let pipe = Private.pipe
type Eio.Exn.Backend.t += Unix_error of Unix.error * string * string
let () =
Eio.Exn.Backend.register_pp (fun f -> function
| Unix_error (code, name, arg) -> Fmt.pf f "Unix_error (%s, %S, %S)" (Unix.error_message code) name arg; true
| _ -> false
)
let sleep d =
Eio.Time.Mono.sleep (Effect.perform Private.Get_monotonic_clock) d
let run_in_systhread = Private.run_in_systhread
module Ipaddr = Net.Ipaddr
module Ctf = Ctf_unix
module Process = Process
module Net = Net
module Stdenv = struct
type base = <
stdin : source;
stdout : sink;
stderr : sink;
net : Eio.Net.t;
domain_mgr : Eio.Domain_manager.t;
process_mgr : Process.mgr;
clock : Eio.Time.clock;
mono_clock : Eio.Time.Mono.t;
fs : Eio.Fs.dir Eio.Path.t;
cwd : Eio.Fs.dir Eio.Path.t;
secure_random : Eio.Flow.source;
debug : Eio.Debug.t;
backend_id: string;
>
end