Packages

trait SequenceHelper extends AnyRef

A collection of helper functions to compose a preemptable-sequence

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SequenceHelper
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def go[T](body: => T): Future[T]

    Wrap a CBN (lazy) synchronous function in a Future, which is only started if the PreemptableSequence is not yet aborted/shut down.

    Wrap a CBN (lazy) synchronous function in a Future, which is only started if the PreemptableSequence is not yet aborted/shut down.

    body

    The lazy synchronous body

    returns

    the wrapped future

  2. abstract def goF[T](f: => Future[T]): Future[T]

    Wrap a CBN (lazy) Future, so it is only started if the PreemptableSequence is not yet aborted/shut down.

    Wrap a CBN (lazy) Future, so it is only started if the PreemptableSequence is not yet aborted/shut down.

    f

    The lazy Future

    returns

    the wrapped future

  3. abstract def handle: Handle

    The handle of the PreemptableSequence.

    The handle of the PreemptableSequence. This handle is available for sequence construction as well.

    returns

    the Handle

  4. abstract def merge(handle: Handle): Future[Unit]

    Delegate the preemptable-future sequence to another Handle - the completion Future future of the PreemptableSequence will only finish after this Handle finishes, and previously registered release functions all completed - KillSwitch events will be replayed to this handle - In case of abort/shutdown the PreemptableSequence's completion result will conform to the KillSwitch usage, not to the completion of this handle (although it will wait for it naturally)

    Delegate the preemptable-future sequence to another Handle - the completion Future future of the PreemptableSequence will only finish after this Handle finishes, and previously registered release functions all completed - KillSwitch events will be replayed to this handle - In case of abort/shutdown the PreemptableSequence's completion result will conform to the KillSwitch usage, not to the completion of this handle (although it will wait for it naturally)

    handle

    The handle to delegate to

    returns

    the completion of the Handle

  5. abstract def registerRelease(release: => Unit): Unit

    Register at any point in time a synchronous release function, which will be ensured to run before the completion future of the handle completes.

    Register at any point in time a synchronous release function, which will be ensured to run before the completion future of the handle completes.

    release

    the release lambda

  6. abstract def retry[T](waitMillisBetweenRetries: Long, maxAmountOfRetries: Long = -1, retryable: (Throwable) => Boolean = _ => true)(body: => T): Future[T]

    Wrap a synchronous call into a Future sequence, which - will be preemptable - will retry to execute the body if Exception-s thrown, and the exception is retryable

    Wrap a synchronous call into a Future sequence, which - will be preemptable - will retry to execute the body if Exception-s thrown, and the exception is retryable

    returns

    the preemptable, retrying Future sequence

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped