package eio
Effect-based direct-style IO API for OCaml
Install
Dune Dependency
Authors
Maintainers
Sources
eio-0.14.tbz
sha256=52f85b947d3e0de70940b5bbaac0d3e78841fea5648e73af7d8a754ab51c871b
sha512=944095b1131d2dcc1f0d415fe46fd78b883733e0f95985e3a0feafe73b1703606ec60560abf36c16c364cc60164b7330f236e39569e264c702bb5647e28bfd3c
doc/src/eio.mock/domain_manager.ml.html
Source file domain_manager.ml
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
open Eio.Std let id = Fiber.create_key () let with_domain_tracing fn = Eio.Debug.with_trace_prefix (fun f -> Fiber.get id |> Option.iter (fun id -> Fmt.pf f "[%s] " id) ) fn module Fake_domain_mgr = struct type t = { mutable next_domain_id : int; } let create () = { next_domain_id = 1 } let run t fn = let self = t.next_domain_id in t.next_domain_id <- t.next_domain_id + 1; let cancelled, _ = Promise.create () in Fiber.with_binding id (string_of_int self) (fun () -> fn ~cancelled) let run_raw t fn = let self = t.next_domain_id in t.next_domain_id <- t.next_domain_id + 1; Fiber.with_binding id (string_of_int self) fn end let create = let handler = Eio.Domain_manager.Pi.mgr (module Fake_domain_mgr) in fun () -> Eio.Resource.T (Fake_domain_mgr.create (), handler) let run fn = let dm = create () in with_domain_tracing @@ fun () -> Fiber.with_binding id "0" @@ fun () -> fn dm
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>