Type class describing how Local binding works for specific data types.
Type class describing how Local binding works for specific data types.
This is needed because asynchronous data types, like Future
,
that can be waited on, should also clear the modified context
after completion.
NOTE: this type class does not work for data types that suspend the
execution, like Coeval
or Task
, because Local is meant to
be used in a side effectful way. Instances of this type class
can't be implemented for data types like Task
, as a technical
limitation, because Task
would also need a suspended Context
evaluation in bindContext
.
Utilities for macro-hygiene.
A Local
is a ThreadLocal whose scope is flexible.
A Local
is a ThreadLocal whose scope is flexible. The state
of all Locals may be saved or restored onto the current thread by
the user. This is useful for threading Locals through execution
contexts.
Because it's not meaningful to inherit control from two places, Locals don't have to worry about having to merge two contexts.
Note: the implementation is optimized for situations in which save and restore optimizations are dominant.
Cross-platform equivalent for java.lang.ThreadLocal
,
for specifying thread-local variables.
Cross-platform equivalent for java.lang.ThreadLocal
,
for specifying thread-local variables.
These variables differ from their normal counterparts in that each thread that accesses one (via its ThreadLocal#get or ThreadLocal#set method) has its own, independently initialized copy of the variable.
(Since version 3.0.0) Switch to monix.execution.AsyncQueue
(Since version 3.0.0) Switch to monix.execution.AsyncSemaphore
(Since version 3.0.0) Switch to monix.execution.AsyncVar
(Since version 3.0.0) Switch to monix.execution.AsyncQueue
(Since version 3.0.0) Switch to monix.execution.AsyncSemaphore
(Since version 3.0.0) Switch to monix.execution.AsyncVar