package moonpool

  1. Overview
  2. Docs

This module is specifically intended for users who implement their own runners. Regular users of Moonpool should not need to look at it.

val create : size:(unit -> int) -> num_tasks:(unit -> int) -> shutdown:(wait:bool -> unit -> unit) -> run_async:(ls:Task_local_storage.t -> task -> unit) -> unit -> t

Create a new runner.

NOTE: the runner should support DLA and Suspend_ on OCaml 5.x, so that Fork_join and other 5.x features work properly.

Key that should be used by each runner to store itself in TLS on every thread it controls, so that tasks running on these threads can access the runner. This is necessary for get_current_runner to work.

OCaml

Innovation. Community. Security.