package picos

  1. Overview
  2. Docs
Pico scheduler framework

Install

Dune Dependency

Authors

Maintainers

Sources

picos-0.1.0.tbz
sha256=0f2dcc67ddd127c68f388f2c36a8725a15723e6aeba7d1ddfcf4e016b54a4674
sha512=bee2a99458a451be285e2f13cc3a9deda8eed4e118bcdfc51c256d2da5bae92eec3386c318fe42dcf451421543b519dc064967158b3f417c9b7b44ce97c5fb75

doc/picos.fifos/Picos_fifos/index.html

Module Picos_fifosSource

Basic single-threaded effects based Picos compatible scheduler for OCaml 5.

ℹ️ This scheduler implementation is mostly meant as an example and for use in testing libraries implemented in Picos.

Briefly:

  • current returns the current fiber.
  • spawn forks a new deep effect handler for each fiber.
  • yield pushes the current fiber to the back of the internal queue and takes the next fiber to run from the head of the internal queue.
  • cancel_after uses a per-domain background thread that runs a Unix.select loop to cancel computations.
  • await stores the current fiber to be resumed through the trigger and takes next fiber to run from the head of the internal queue.

This scheduler also gives priority to fibers woken up from await due to being canceled.

Sourceval run : forbid:bool -> (unit -> 'a) -> 'a

run ~forbid main runs the main thunk with the scheduler. Returns after main and all of the fibers spawned by main have returned.

OCaml

Innovation. Community. Security.