object TaskLocal
- Alphabetic
- By Inheritance
- TaskLocal
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply[A](default: A): Task[TaskLocal[A]]
Builds a TaskLocal reference with the given default.
Builds a TaskLocal reference with the given default.
Task returned by this operation produces a new TaskLocal each time it is evaluated. To share a state between multiple consumers, pass TaskLocal values around as plain parameters, instead of keeping shared state.
Another possibility is to use Task.memoize, but note that this breaks referential transparency and can be problematic for example in terms of enabled Task.Options, which don't survive the memoization process.
- default
is a value that gets returned in case the local was never updated (with write) or in case it was cleared (with TaskLocal.clear)
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isolate[A](task: Task[A]): Task[A]
Wraps a provided
task
, such that any changes to any TaskLocal variable during its execution will not be observable outside of that Task. - def lazyDefault[A](default: Coeval[A]): Task[TaskLocal[A]]
Builds a TaskLocal reference with the given
default
, being lazily evaluated, using Coeval to manage evaluation.Builds a TaskLocal reference with the given
default
, being lazily evaluated, using Coeval to manage evaluation.Yes, side effects in the
default
are allowed, Coeval being a data type that's safe for side effects.Task returned by this operation produces a new TaskLocal each time it is evaluated. To share a state between multiple consumers, pass TaskLocal values around as plain parameters, instead of keeping shared state.
Another possibility is to use Task.memoize, but note that this breaks referential transparency and can be problematic for example in terms of enabled Task.Options, which don't survive the memoization process.
- default
is a value that gets returned in case the local was never updated (with write) or in case it was cleared (with TaskLocal.clear), lazily evaluated and managed by Coeval
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def wrap[A](local: Task[Local[A]]): Task[TaskLocal[A]]
Wraps a Local reference (given in the
Task
context) in a TaskLocal value.Wraps a Local reference (given in the
Task
context) in a TaskLocal value.Task returned by this operation produces a new TaskLocal each time it is evaluated. To share a state between multiple consumers, pass TaskLocal values around as plain parameters, instead of keeping shared state.
Another possibility is to use Task.memoize, but note that this breaks referential transparency and can be problematic for example in terms of enabled Task.Options, which don't survive the memoization process.
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.