trait ContextShift[F[_]] extends AnyRef
ContextShift provides support for shifting execution.
The shift method inserts an asynchronous boundary, which moves execution
from the calling thread to the default execution environment of F.
The evalOn method provides a way to evaluate a task on a specific execution
context, shifting back to the default execution context after the task completes.
This is NOT a type class, as it does not have the coherence requirement.
- Annotations
- @implicitNotFound()
- Source
- ContextShift.scala
- Alphabetic
- By Inheritance
- ContextShift
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def evalOn[A](ec: ExecutionContext)(fa: F[A]): F[A]
Evaluates
faon the supplied execution context and shifts evaluation back to the default execution environment ofFat the completion offa, regardless of success or failure.Evaluates
faon the supplied execution context and shifts evaluation back to the default execution environment ofFat the completion offa, regardless of success or failure.The primary use case for this method is executing code on a specific execution context. To execute blocking code, consider using the
blockOn(blocker)method instead.- ec
Execution context where the evaluation has to be scheduled
- fa
Computation to evaluate using
ec
- abstract def shift: F[Unit]
Asynchronous boundary described as an effectful
F[_]that can be used inflatMapchains to "shift" the continuation of the run-loop to another thread or call stack.Asynchronous boundary described as an effectful
F[_]that can be used inflatMapchains to "shift" the continuation of the run-loop to another thread or call stack.This is the Async.shift operation, without the need for an
ExecutionContexttaken as a parameter.
Concrete 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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def blockOn[A](blocker: Blocker)(fa: F[A]): F[A]
Evaluates
faon the supplied blocker and shifts evaluation back to the default execution environment ofFat the completion offa, regardless of success or failure.Evaluates
faon the supplied blocker and shifts evaluation back to the default execution environment ofFat the completion offa, regardless of success or failure.The primary use case for this method is executing blocking code on a dedicated execution context.
- blocker
blocker where the evaluation has to be scheduled
- fa
Computation to evaluate using
blocker
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- 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() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- 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])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated

This is the API documentation for the cats-effect library.
See the cats.effect package for a quick overview.
Links
Canonical documentation links:
Related Cats links (the core):