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
- All
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 blocking code on a dedicated execution context.
- 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
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )

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):