Trait/Object

effects4s

Async

Related Docs: object Async | package effects4s

Permalink

trait Async[F[_]] extends Eventual[F] with Deferrable[F]

Type-class describing F[_] data types capable of executing asynchronous computations that produce a single result.

Annotations
@implicitNotFound( ... )
Linear Supertypes
Deferrable[F], Eventual[F], Catchable[F], Evaluable[F], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Async
  2. Deferrable
  3. Eventual
  4. Catchable
  5. Evaluable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def attempt[A](fa: F[A]): F[Either[Throwable, A]]

    Permalink

    Exposes the exceptions thrown in the Catchable context.

    Exposes the exceptions thrown in the Catchable context.

    Definition Classes
    Catchable
  2. abstract def create[A](register: ((Either[Throwable, A]) ⇒ Unit) ⇒ Unit): F[A]

    Permalink

    Creates an F[A] instance from a provided function that will have a callback injected for signaling the final result of an asynchronous process.

    Creates an F[A] instance from a provided function that will have a callback injected for signaling the final result of an asynchronous process.

    NOTE: compared with unsafeCreate, this version should be stack safe. Implementors can just use effects4s.util.async.safeCreate for building a safe create.

    register

    is a function that will be called with a callback for signaling the result once it is ready

  3. abstract def defer[A](fa: ⇒ F[A]): F[A]

    Permalink

    Returns an F[A] that evaluates the provided by-name fa parameter on each run.

    Returns an F[A] that evaluates the provided by-name fa parameter on each run. In essence it builds an F[A] factory.

    Definition Classes
    Deferrable
  4. abstract def eval[A](f: ⇒ A): F[A]

    Permalink

    Constructor for F[A] that's going to evaluate the given by-name value in the F context, with whatever properties this data-type may have (e.g.

    Constructor for F[A] that's going to evaluate the given by-name value in the F context, with whatever properties this data-type may have (e.g. lazy, async, exceptions catching, etc).

    For pure expressions, in case F[_] also implements the Applicative type-class, then this operation should yield a value that's equivalent with pure(f).

    In case this is an applicative, should be isomorphic to:

    F.pure(()).map(_ => F.pure(f))

    In case F[_] implements ApplicativeError[Throwable, F], then eval(throw ex) should be equivalent with raiseError(ex).

    Definition Classes
    Evaluable
  5. abstract def fail[A](err: Throwable): F[A]

    Permalink

    Lifts any Throwable error in the Catchable context.

    Lifts any Throwable error in the Catchable context.

    Definition Classes
    Catchable
  6. abstract def unsafeCreate[A](register: ((Either[Throwable, A]) ⇒ Unit) ⇒ Unit): F[A]

    Permalink

    Creates an F[A] instance from a provided function that will have a callback injected for signaling the final result of an asynchronous process.

    Creates an F[A] instance from a provided function that will have a callback injected for signaling the final result of an asynchronous process.

    NOTE: this function is "unsafe" in the sense that implementations shouldn't care about stack-safety when invoking the register function or the injected callback for signaling the final result.

    Users shouldn't call this function directly without handling stack safety concerns. One way to avoid stack overflow errors is to trigger thread-local asynchronous execution by means of TrampolinedContext.

    register

    is a function that will be called with a callback for signaling the result once it is ready

  7. abstract def unsafeExtractAsync[A](fa: F[A])(cb: (Either[Throwable, A]) ⇒ Unit): Unit

    Permalink

    Extracts the A value out of the F[_] context, where that value can be the result of an asynchronous computation.

    Extracts the A value out of the F[_] context, where that value can be the result of an asynchronous computation.

    fa

    represents the computation to execute, potentially async

    cb

    is the callback that will get called once a result is ready

    Definition Classes
    Eventual
  8. abstract def unsafeExtractTrySync[A](fa: F[A])(cb: (Either[Throwable, A]) ⇒ Unit): Either[Unit, A]

    Permalink

    Extracts the A value out of the F[_] context, where that value can be the result of an asynchronous computation, returning an immediate result if the underlying computation yielded an immediate (synchronous) result.

    Extracts the A value out of the F[_] context, where that value can be the result of an asynchronous computation, returning an immediate result if the underlying computation yielded an immediate (synchronous) result.

    This operation is an optimization on unsafeExtractAsync because for implementations capable of returning an immediate result there's no need to force an async boundary.

    Note that in case this method needs to return an error (described as a Throwable), then that error should be returned asynchronously (by means of the provided callback), that callback being the only legal way to signal exceptions when calling this method.

    cb

    is the callback that will get called once a result is ready, if the execution was asynchronous

    returns

    Left in case the execution was asynchronous, in which case the caller needs to wait for the result to be signaled by the provided callback, or Right(a) in case the result is available immediately (without further async execution)

    Definition Classes
    Eventual

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Deferrable[F]

Inherited from Eventual[F]

Inherited from Catchable[F]

Inherited from Evaluable[F]

Inherited from AnyRef

Inherited from Any

Ungrouped