package ambient-context

  1. Overview
  2. Docs
Abstraction over thread-local / continuation-local storage mechanisms for communication with transitive dependencies

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ambient-context-0.1.1.tbz
sha256=069907679bb58548d21236de31dd96b9cd94361b764fe0c6b06a5149d14098a8
sha512=519c47993a89fa8b4ab2b5d9dd63b0b80a2a0831fcad2af1ac413e4682435407a9a7c73524706e8ef5d65582ba01097ca20c93e1b8be2f8c556e70dac0a8de00

doc/ambient-context.thread_local/Ambient_context_thread_local/Thread_local/index.html

Module Ambient_context_thread_local.Thread_localSource

Thread/Domain local storage

This allows the creation of global state that is per-domain or per-thread.

Sourcetype 'a t
Sourceval create : unit -> 'a t

Create new storage

Sourceval get : 'a t -> 'a option

Get current value

Sourceval get_exn : 'a t -> 'a

Like get but fails with an exception

Sourceval set : 'a t -> 'a -> unit
Sourceval remove : _ t -> unit
Sourceval get_or_create : create:(unit -> 'a) -> 'a t -> 'a
Sourceval with_ : 'a t -> 'a -> ('a option -> 'b) -> 'b

with_ var x f sets var to x for this thread, calls f prev where prev is the value currently in var (if any), and then restores the old value of var for this thread.