abstract class RetryWithDelay extends Policy
- Alphabetic
- By Inheritance
- RetryWithDelay
- Policy
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new RetryWithDelay(logger: TracedLogger, operationName: String, longDescription: String, actionable: Option[String], initialDelay: FiniteDuration, totalMaxRetries: Int, flagCloseable: FlagCloseable, retryLogLevel: Option[Level])
Abstract Value Members
- abstract def nextDelay(nextCount: Int, delay: FiniteDuration): FiniteDuration
- Attributes
- protected
Concrete 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
- def apply[T](task: => Future[T], retryable: ExceptionRetryable)(implicit success: Success[T], executionContext: ExecutionContext, traceContext: TraceContext): Future[T]
A com.digitalasset.canton.util.retry.Success criteria is supplied to determine whether the future-based task has succeeded, or if it should perhaps be retried.
A com.digitalasset.canton.util.retry.Success criteria is supplied to determine whether the future-based task has succeeded, or if it should perhaps be retried. Retries are not performed after the com.digitalasset.canton.lifecycle.FlagCloseable has been closed. In that case, the Future is completed with the last result (even if it is an outcome that doesn't satisfy the
success
predicate).- Definition Classes
- RetryWithDelay → Policy
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- val directExecutionContext: DirectExecutionContext
- Attributes
- protected
- Definition Classes
- Policy
- 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
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def unlessShutdown[T](task: => FutureUnlessShutdown[T], retryable: ExceptionRetryable)(implicit success: Success[T], executionContext: ExecutionContext, traceContext: TraceContext): FutureUnlessShutdown[T]
In contrast to com.digitalasset.canton.util.retry.RetryWithDelay.apply, this Policy completes the returned future with
AbortedDueToShutdown
if the retry is aborted due to the corresponding com.digitalasset.canton.lifecycle.FlagCloseable being closed or if the task itself reports a shutdown (and not with the last result).In contrast to com.digitalasset.canton.util.retry.RetryWithDelay.apply, this Policy completes the returned future with
AbortedDueToShutdown
if the retry is aborted due to the corresponding com.digitalasset.canton.lifecycle.FlagCloseable being closed or if the task itself reports a shutdown (and not with the last result).Unless your task does already naturally return a
FutureUnlessShutdown[T]
, using com.digitalasset.canton.util.retry.RetryWithDelay.apply is likely sufficient to make it robust against shutdowns.- Definition Classes
- RetryWithDelay → Policy
- 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])