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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
open Eio.Std
module Fd = Fd
module Resource = Resource
module Private = Private
module Err = Err
include Types
let await_readable = Private.await_readable
let await_writable = Private.await_writable
let pipe = Private.pipe
type Eio.Exn.Backend.t += Unix_error = Err.Unix_error
let sleep d =
Eio.Time.Mono.sleep (Effect.perform Private.Get_monotonic_clock) d
let run_in_systhread = Thread_pool.run_in_systhread
module Ipaddr = Net.Ipaddr
module Process = Process
module Net = Net
module Pty = Pty
module Cap = Cap
module Pi = Pi
module Stdenv = struct
type base = <
stdin : source_ty r;
stdout : sink_ty r;
stderr : sink_ty r;
net : [`Unix | `Generic] Eio.Net.ty r;
domain_mgr : Eio.Domain_manager.ty r;
process_mgr : Process.mgr_ty r;
clock : float Eio.Time.clock_ty r;
mono_clock : Eio.Time.Mono.ty r;
fs : Eio.Fs.dir_ty Eio.Path.t;
cwd : Eio.Fs.dir_ty Eio.Path.t;
secure_random : Eio.Flow.source_ty r;
debug : Eio.Debug.t;
backend_id: string;
>
let override
?stdin ?stdout ?stderr ?net ?domain_mgr
?process_mgr ?clock ?mono_clock ?fs ?cwd
?secure_random ?debug ?backend_id (env : <base; ..>) : base
=
object
method stdin = Option.value ~default:env#stdin stdin
method stdout = Option.value ~default:env#stdout stdout
method stderr = Option.value ~default:env#stderr stderr
method net = Option.value ~default:env#net net
method domain_mgr = Option.value ~default:env#domain_mgr domain_mgr
method process_mgr = Option.value ~default:env#process_mgr process_mgr
method clock = Option.value ~default:env#clock clock
method mono_clock = Option.value ~default:env#mono_clock mono_clock
method fs = Option.value ~default:env#fs fs
method cwd = Option.value ~default:env#cwd cwd
method secure_random = Option.value ~default:env#secure_random secure_random
method debug = Option.value ~default:env#debug debug
method backend_id = Option.value ~default:env#backend_id backend_id
end
end