object RetryFlow
- Source
- RetryFlow.scala
- Alphabetic
- By Inheritance
- RetryFlow
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
-   final  def !=(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def ##: Int- Definition Classes
- AnyRef → Any
 
-   final  def ==(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def asInstanceOf[T0]: T0- Definition Classes
- Any
 
-    def clone(): AnyRef- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
 
-   final  def eq(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def equals(arg0: AnyRef): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def getClass(): Class[_ <: AnyRef]- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
 
-    def hashCode(): Int- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-   final  def ne(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-   final  def notify(): Unit- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
 
-   final  def notifyAll(): Unit- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
 
-   final  def synchronized[T0](arg0: => T0): T0- Definition Classes
- AnyRef
 
-    def toString(): String- Definition Classes
- AnyRef → Any
 
-   final  def wait(arg0: Long, arg1: Int): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-   final  def wait(arg0: Long): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
 
-   final  def wait(): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-    def withBackoff[In, Out, Mat](minBackoff: Duration, maxBackoff: Duration, randomFactor: Double, maxRetries: Int, flow: Flow[In, Out, Mat], decideRetry: Function2[In, Out, Optional[In]]): Flow[In, Out, Mat]Allows retrying individual elements in the stream with an exponential backoff. Allows retrying individual elements in the stream with an exponential backoff. The retry condition is controlled by the decideRetryfunction. It takes the originally emitted element and the response emitted byflow, and may return a request to be retried.The implementation of the RetryFlowrequires thatflowfollows one-in-one-out semantics, the Flow may not filter elements, nor emit more than one element per incoming element. TheRetryFlowwill fail if two elements are emitted from theflow, it will be stuck "forever" if nothing is emitted. Just one element will be emitted into theflowat any time. Theflowneeds to emit an element before the next will be emitted to it.- minBackoff
- minimum duration to backoff between issuing retries 
- maxBackoff
- maximum duration to backoff between issuing retries 
- randomFactor
- adds jitter to the retry delay. Use 0 for no jitter 
- flow
- a flow to retry elements from 
- decideRetry
- retry condition decision function 
 
-    def withBackoffAndContext[In, InCtx, Out, OutCtx, Mat](minBackoff: Duration, maxBackoff: Duration, randomFactor: Double, maxRetries: Int, flow: FlowWithContext[In, InCtx, Out, OutCtx, Mat], decideRetry: Function2[Pair[In, InCtx], Pair[Out, OutCtx], Optional[Pair[In, InCtx]]]): FlowWithContext[In, InCtx, Out, OutCtx, Mat]Allows retrying individual elements in the stream with an exponential backoff. Allows retrying individual elements in the stream with an exponential backoff. The retry condition is controlled by the decideRetryfunction. It takes the originally emitted element with its context, and the response emitted byflow, and may return a request to be retried.The implementation of the RetryFlowrequires thatflowfollows one-in-one-out semantics, the FlowWithContext may not filter elements, nor emit more than one element per incoming element. TheRetryFlowwill fail if two elements are emitted from theflow, it will be stuck "forever" if nothing is emitted. Just one element will be emitted into theflowat any time. Theflowneeds to emit an element before the next will be emitted to it.The wrapped flowanddecideRetrytake the additional context parameters which can be a context, or used to control retrying with other information.- minBackoff
- minimum duration to backoff between issuing retries 
- maxBackoff
- maximum duration to backoff between issuing retries 
- randomFactor
- adds jitter to the retry delay. Use 0 for no jitter 
- flow
- a flow to retry elements from 
- decideRetry
- retry condition decision function