Trait

swaydb.Tag.Async

Retryable

Related Doc: package Async

Permalink

trait Retryable[T[_]] extends Async[T]

Reserved for Tags that have the ability to check is T.isComplete or not.

zio.Task and monix.Task do not have this ability but scala.Future does.

isComplete is required to add stack-safe read retries if there were failures like async closed files during reads etc.

Self Type
Retryable[T]
Linear Supertypes
Async[T], Tag[T], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Retryable
  2. Async
  3. Tag
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def apply[A](a: ⇒ A): T[A]

    Permalink
    Definition Classes
    Tag
  2. abstract def collectFirst[A](previous: A, stream: Stream[A, T])(condition: (A) ⇒ Boolean): T[Option[A]]

    Permalink
    Definition Classes
    Tag
  3. abstract def complete[A](promise: Promise[A], a: T[A]): Unit

    Permalink
    Definition Classes
    Async
  4. abstract def createSerial(): Serial[T]

    Permalink
    Definition Classes
    Tag
  5. abstract def executionContext: ExecutionContext

    Permalink
    Definition Classes
    Async
  6. abstract def failure[A](exception: Throwable): T[A]

    Permalink
    Definition Classes
    Tag
  7. abstract def flatMap[A, B](fa: T[A])(f: (A) ⇒ T[B]): T[B]

    Permalink
    Definition Classes
    Tag
  8. abstract def foldLeft[A, U](initial: U, after: Option[A], stream: Stream[A, T], drop: Int, take: Option[Int])(operation: (U, A) ⇒ U): T[U]

    Permalink
    Definition Classes
    Tag
  9. abstract def foreach[A, B](a: A)(f: (A) ⇒ B): Unit

    Permalink
    Definition Classes
    Tag
  10. abstract def fromFuture[A](a: Future[A]): T[A]

    Permalink
    Definition Classes
    Async
  11. abstract def fromIO[E, A](a: IO[E, A])(implicit arg0: ExceptionHandler[E]): T[A]

    Permalink
    Definition Classes
    Tag
  12. abstract def fromPromise[A](a: Promise[A]): T[A]

    Permalink
    Definition Classes
    Async
  13. abstract def isComplete[A](a: T[A]): Boolean

    Permalink
  14. abstract def map[A, B](a: A)(f: (A) ⇒ B): T[B]

    Permalink
    Definition Classes
    Tag
  15. abstract def none[A]: T[Option[A]]

    Permalink
    Definition Classes
    Tag
  16. abstract def success[A](value: A): T[A]

    Permalink
    Definition Classes
    Tag
  17. abstract def unit: T[Unit]

    Permalink
    Definition Classes
    Tag

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. def isIncomplete[A](a: T[A]): Boolean

    Permalink
  12. final def isInstanceOf[T0]: Boolean

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

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

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

    Permalink
    Definition Classes
    AnyRef
  16. def point[B](f: ⇒ T[B]): T[B]

    Permalink

    For Async Tags apply will always run asynchronously but to cover cases where the operation might already be executed point is used.

    For Async Tags apply will always run asynchronously but to cover cases where the operation might already be executed point is used.

    Definition Classes
    Tag
    Annotations
    @inline()
    Example:
    1. All SwayDB writes occur synchronously using IO. Running completed IO in a Future will have a performance cost. point is used to cover these cases and IO types that are complete are directly converted to Future in current thread.

  17. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  19. def toTag[X[_]](implicit converter: Converter[T, X]): Async[X]

    Permalink
    Definition Classes
    AsyncTag
  20. final def wait(): Unit

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

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

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

Inherited from Async[T]

Inherited from Tag[T]

Inherited from AnyRef

Inherited from Any

Ungrouped