Deferred

cats.effect.kernel.Deferred$
See theDeferred companion class
object Deferred

Attributes

Companion:
class
Source:
Deferred.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Classlikes

final class AsyncDeferred[F[_], A](implicit F: Async[F]) extends Deferred[F, A]

Attributes

Source:
Deferred.scala
Graph
Supertypes
class Deferred[F, A]
trait DeferredSink[F, A]
trait DeferredSource[F, A]
trait Serializable
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply[F[_], A](implicit F: GenConcurrent[F, _]): F[Deferred[F, A]]

Creates an unset Deferred. Every time you bind the resulting F, a new Deferred is created. If you want to share one, pass it as an argument and flatMap once.

Creates an unset Deferred. Every time you bind the resulting F, a new Deferred is created. If you want to share one, pass it as an argument and flatMap once.

Attributes

Source:
Deferred.scala
def in[F[_], G[_], A](implicit F: Sync[F], G: Async[G]): F[Deferred[G, A]]

Like apply but initializes state using another effect constructor

Like apply but initializes state using another effect constructor

Attributes

Source:
Deferred.scala
def unsafe[F[_] : Async, A]: Deferred[F, A]

Like apply but returns the newly allocated Deferred directly instead of wrapping it in F.delay. This method is considered unsafe because it is not referentially transparent -- it allocates mutable state. In general, you should prefer apply and use flatMap to get state sharing.

Like apply but returns the newly allocated Deferred directly instead of wrapping it in F.delay. This method is considered unsafe because it is not referentially transparent -- it allocates mutable state. In general, you should prefer apply and use flatMap to get state sharing.

Attributes

Source:
Deferred.scala

Implicits

Implicits

implicit def catsInvariantForDeferred[F[_] : Functor]: Invariant[[_] =>> Deferred[F, _$10]]

Attributes

Source:
Deferred.scala