Object/Class

org.squbs.streams

RetryBidi

Related Docs: class RetryBidi | package streams

Permalink

object RetryBidi

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

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 apply[In, Out, Context](maxRetries: Long, uniqueIdMapper: (Context) ⇒ Option[Any] = (_: Any) => None, failureDecider: Option[(Try[Out]) ⇒ Boolean] = None, overflowStrategy: OverflowStrategy = OverflowStrategy.backpressure): BidiFlow[(In, Context), (In, Context), (Try[Out], Context), (Try[Out], Context), NotUsed]

    Permalink

    Creates a BidiFlow that can be used to provide Retry functionality.

    Creates a BidiFlow that can be used to provide Retry functionality. This API is specifically for flows that are using Try's for elements that may occasionally fail. By default, any Failure is considered a failure that should be retried. However, a failureDecider function can be specified to control what constitutes a failure.

    Retry functionality requires each element passing through this flow to be uniquely identifiable for retrying, so it requires a Context, of any type carried along with the flow's input and output element as a Tuple2 (Scala) or Pair (Java). The requirement is that either the Context type itself or a mapping from Context should be able to uniquely identify each element passing through flow.

    Here are the ways a unique id can be provided:

    uniqueIdMapper

    This stage supports a default in-flight maximum number of elements based on stage Attribute InputBuffer max. This maximum buffer size includes all elements currently failing (and being re-tried) as well as any elements in-flight. To increase this size you can update the stage attribute max value for InputBuffer.

    In

    the type of elements pulled from upstream along with the Context

    Out

    the type of the elements that are pushed to downstream along with the Context

    Context

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

    maxRetries

    the maximum number of retry attempts on any failures before giving up.

    uniqueIdMapper

    the function that maps Context to a unique id

    failureDecider

    function to determine if an element passed by the joined Flow is actually a failure or not

    overflowStrategy

    the overflowStrategy to use on Retry buffer filling

    returns

    a BidiFlow with Retry functionality

  5. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def create[In, Out, Context](maxRetries: Long): BidiFlow[Pair[In, Context], Pair[In, Context], Pair[Try[Out], Context], Pair[Try[Out], Context], NotUsed]

    Permalink

    Java API

    Java API

    See also

    above for details about each parameter.

  8. def create[In, Out, Context](maxRetries: Long, uniqueIdMapper: Function[Context, Optional[Any]], overflowStrategy: OverflowStrategy): BidiFlow[Pair[In, Context], Pair[In, Context], Pair[Try[Out], Context], Pair[Try[Out], Context], NotUsed]

    Permalink

    Java API

    Java API

    See also

    above for details about each parameter.

  9. def create[In, Out, Context](maxRetries: Long, failureDecider: Optional[Function[Try[Out], Boolean]], overflowStrategy: OverflowStrategy): BidiFlow[Pair[In, Context], Pair[In, Context], Pair[Try[Out], Context], Pair[Try[Out], Context], NotUsed]

    Permalink

    Java API

    Java API

    See also

    above for details about each parameter

  10. def create[In, Out, Context](maxRetries: Long, uniqueIdMapper: Function[Context, Optional[Any]], failureDecider: Optional[Function[Try[Out], Boolean]], overflowStrategy: OverflowStrategy): BidiFlow[Pair[In, Context], Pair[In, Context], Pair[Try[Out], Context], Pair[Try[Out], Context], NotUsed]

    Permalink

    Java API Creates a akka.stream.javadsl.BidiFlow that can be joined with a akka.stream.javadsl.Flow to add Retry functionality with uniqueIdMapper, custom failure decider and OverflowStrategy.

  11. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Inherited from AnyRef

Inherited from Any

Ungrouped