final case class Directly(logger: TracedLogger, flagCloseable: FlagCloseable, maxRetries: Int, operationName: String, longDescription: String = "", retryLogLevel: Option[Level] = None) extends RetryWithDelay with Product with Serializable
Retry immediately after failure for a max number of times
- Alphabetic
- By Inheritance
- Directly
- Serializable
- Product
- Equals
- RetryWithDelay
- Policy
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Directly(logger: TracedLogger, flagCloseable: FlagCloseable, maxRetries: Int, operationName: String, longDescription: String = "", retryLogLevel: Option[Level] = None)
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
- val flagCloseable: FlagCloseable
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val logger: TracedLogger
- val longDescription: String
- val maxRetries: Int
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def nextDelay(nextCount: Int, delay: FiniteDuration): FiniteDuration
- Definition Classes
- Directly → RetryWithDelay
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val operationName: String
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val retryLogLevel: Option[Level]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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])