Class/Object

org.squbs.streams

RetryBidi

Related Docs: object RetryBidi | package streams

Permalink

final class RetryBidi[In, Out, Context] extends GraphStage[BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)]]

A bidi GraphStage that can be joined with flows that produce Try's to add Retry functionality when there are any failures. When the joined Flow has a failure then based on the provided max retries count, it will retry the failures.

Emits when a Success is available from joined flow or a failure has been retried the maximum number of retries

Backpressures when the element is not a failure and downstream backpressures or the retry buffer is full

Completes when upstream completes

Cancels when downstream cancels

         upstream      +------+      downstream
      (In, Context) ~> |      | ~> (In, Context)
           In1         | bidi |        Out1
(Try[Out], Context) <~ |      | <~ (Try[Out], Context)
          Out2         +------+        In2
In

the type of elements pulled from the upstream along with the Context

Out

the type of the elements that are pushed by the joined Flow along with the Context. This then gets wrapped with a Try and pushed downstream with a Context

Context

the type of the context that is carried around along with the elements.

Linear Supertypes
GraphStage[BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)]], GraphStageWithMaterializedValue[BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)], NotUsed], Graph[BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)], NotUsed], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RetryBidi
  2. GraphStage
  3. GraphStageWithMaterializedValue
  4. Graph
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Shape = BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)]

    Permalink
    Definition Classes
    Graph

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. def addAttributes(attr: Attributes): Graph[BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)], NotUsed]

    Permalink
    Definition Classes
    Graph
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def async: Graph[BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)], NotUsed]

    Permalink
    Definition Classes
    Graph
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def createLogic(inheritedAttributes: Attributes): GraphStageLogic

    Permalink
    Definition Classes
    RetryBidi → GraphStage
  9. final def createLogicAndMaterializedValue(inheritedAttributes: Attributes): (GraphStageLogic, NotUsed)

    Permalink
    Definition Classes
    GraphStage → GraphStageWithMaterializedValue
  10. final def eq(arg0: AnyRef): Boolean

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

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  15. def initialAttributes: Attributes

    Permalink
    Attributes
    protected
    Definition Classes
    GraphStageWithMaterializedValue
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. final lazy val module: Module

    Permalink
    Definition Classes
    GraphStageWithMaterializedValue → Graph
  18. def named(name: String): Graph[BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)], NotUsed]

    Permalink
    Definition Classes
    Graph
  19. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  22. val shape: BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)]

    Permalink
    Definition Classes
    RetryBidi → Graph
  23. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def withAttributes(attr: Attributes): Graph[BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)], NotUsed]

    Permalink
    Definition Classes
    GraphStageWithMaterializedValue → Graph

Inherited from GraphStage[BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)]]

Inherited from GraphStageWithMaterializedValue[BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)], NotUsed]

Inherited from Graph[BidiShape[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context)], NotUsed]

Inherited from AnyRef

Inherited from Any

Ungrouped