package miou

  1. Overview
  2. Docs
Composable concurrency primitives for OCaml

Install

dune-project
 Dependency

Authors

Maintainers

Sources

miou-0.5.0.tbz
sha256=50aa6aa6767d3fe1875e35c69e4b1d92346a5f3a0349ac065f2efce6378c89c3
sha512=58736c04b4c5f11165fc04b7b1ffe7183852e994a3617cebc7ecaa6e88244b583712c3d04e5f82bc52241317b71c8c3262d188a6c8f398a3f7813c75a8fc52dd

doc/miou.sync/Miou_sync/Computation/index.html

Module Miou_sync.ComputationSource

Sourcetype 'a state =
  1. | Cancelled of exn * Printexc.raw_backtrace
  2. | Returned of 'a
  3. | Continue of {
    1. balance : int;
    2. triggers : Trigger.t list;
    }
Sourcetype !'a t = private 'a state Atomic.t
Sourceval create : unit -> 'a t

create () creates a new computation in the running state.

Sourceval try_return : 'a t -> 'a -> bool

try_return c value attempts to complete the computation with the specified value and returns true on success. Otherwise returns false, which means that the computation had already been completed before.

Sourceval try_capture : 'a t -> ('b -> 'a) -> 'b -> bool

try_capture c fn x calls fn x and tries to complete the computation with the value returned or the exception raised by the call and returns true on success. Otherwise returns false, which means that the computation had already been completed before.

Sourceval try_cancel : 'a t -> (exn * Printexc.raw_backtrace) -> bool

try_cancel c (exn, bt) attempts to mark the computation c as cancelled with the specified exception and backtrace and returns true on success. Otherwise returns false, which means that the computation had already been completed before.

Sourceval is_running : 'a t -> bool

is_running c determines whether the computation c is in the running state meaning that it has not yet been completed.

Sourceval cancelled : 'a t -> (exn * Printexc.raw_backtrace) option

cancelled c returns the exception that the computation has been cancelled with or returns None in case the computation has not been cancelled.

Sourceval raise_if_errored : 'a t -> unit

raise_if_errored raises the exception the computation was cancelled with if it was errored.

Sourceval peek : 'a t -> ('a, exn * Printexc.raw_backtrace) result option

peek c returns the result of the computation c or None in case the computation has not completed.

Sourceval try_attach : 'a t -> Trigger.t -> bool

try_attach c trigger tries to attach the trigger to be signaled on completion of the computation and returns true on success. Otherwise, it returns false, which means that the computation has already been completed or the trigger has already been signaled.

Sourceval detach : 'a t -> Trigger.t -> unit

detach c trigger signals the trigger and detaches it from the computation c.

Sourceval clean : 'a t -> unit
Sourceval await : 'a t -> ('a, exn * Printexc.raw_backtrace) result

await c waits for the computation to complete and either returns the value of the completed computation or the exception the computation was cancelled with.

Sourceval await_exn : 'a t -> 'a
Sourceval canceller : from:'a t -> into:'b t -> Trigger.t