package misc
- Source
- package.scala
- Alphabetic
- By Inheritance
- misc
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- trait CanBindLocals[R] extends AnyRef
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
orTask
, because Local is meant to be used in a side effectful way. Instances of this type class can't be implemented for data types likeTask
, as a technical limitation, becauseTask
would also need a suspendedContext
evaluation inbindContext
.- Annotations
- @implicitNotFound("""Cannot find an implicit value for CanBindLocals[${R}].
If ${R} is the result of a synchronous action, either build an implicit with
CanBindLocals.synchronous or import CanBindLocals.Implicits.synchronousAsDefault.""")
- trait HygieneUtilMacros extends AnyRef
Utilities for macro-hygiene.
- trait InlineMacros extends AnyRef
- final class Local[A] extends LocalDeprecated[A]
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.
- final class ThreadLocal[A] extends AnyRef
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.
Deprecated Type Members
- type AsyncQueue[A] = execution.AsyncQueue[A]
- Annotations
- @deprecated
- Deprecated
(Since version 3.0.0) Switch to monix.execution.AsyncQueue
- type AsyncSemaphore = execution.AsyncSemaphore
- Annotations
- @deprecated
- Deprecated
(Since version 3.0.0) Switch to monix.execution.AsyncSemaphore
- type AsyncVar[A] = execution.AsyncVar[A]
- Annotations
- @deprecated
- Deprecated
(Since version 3.0.0) Switch to monix.execution.AsyncVar
Value Members
- object CanBindLocals extends CanIsolateInstancesLevel1
- object Local extends LocalCompanionDeprecated
- object ThreadLocal
Deprecated Value Members
- def AsyncQueue: execution.AsyncQueue
- Annotations
- @deprecated
- Deprecated
(Since version 3.0.0) Switch to monix.execution.AsyncQueue
- def AsyncSemaphore: execution.AsyncSemaphore
- Annotations
- @deprecated
- Deprecated
(Since version 3.0.0) Switch to monix.execution.AsyncSemaphore
- def AsyncVar: execution.AsyncVar
- Annotations
- @deprecated
- Deprecated
(Since version 3.0.0) Switch to monix.execution.AsyncVar
This is the API documentation for the Monix library.
Package Overview
monix.execution exposes lower level primitives for dealing with asynchronous execution:
Atomic
types, as alternative tojava.util.concurrent.atomic
monix.catnap exposes pure abstractions built on top of the Cats-Effect type classes:
monix.eval is for dealing with evaluation of results, thus exposing Task and Coeval.
monix.reactive exposes the
Observable
pattern:Observable
implementationsmonix.tail exposes Iterant for purely functional pull based streaming:
Batch
andBatchCursor
, the alternatives to Scala'sIterable
andIterator
respectively that we are using within Iterant's encodingYou can control evaluation with type you choose - be it Task, Coeval, cats.effect.IO or your own as long as you provide correct cats-effect or cats typeclass instance.