class SimpleExecutionQueue extends PrettyPrinting with NamedLogging with FlagCloseableAsync

Functions executed with this class will only run when all previous calls have completed executing. This can be used when async code should not be run concurrently.

The default semantics is that a task is only executed if the previous tasks have completed successfully, i.e., they did not fail nor was the task aborted due to shutdown.

If the queue is shutdown, the tasks' execution is aborted due to shutdown too.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SimpleExecutionQueue
  2. FlagCloseableAsync
  3. FlagCloseable
  4. AutoCloseable
  5. NamedLogging
  6. PrettyPrinting
  7. PrettyUtil
  8. ShowUtil
  9. ShowSyntax
  10. ToShowOps
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new SimpleExecutionQueue(name: String, futureSupervisor: FutureSupervisor, timeouts: ProcessingTimeout, loggerFactory: NamedLoggerFactory, logTaskTiming: Boolean = false)

Type Members

  1. case class ReaderState(count: Int, readers: MultiSet[String]) extends Product with Serializable
    Definition Classes
    FlagCloseable
  2. implicit class ShowAnyRefSyntax extends AnyRef
    Definition Classes
    ShowUtil
  3. implicit class ShowEitherSyntax[L, R] extends AnyRef

    Enables the syntax show"${myEither.showMerged}".

    Enables the syntax show"${myEither.showMerged}".

    Definition Classes
    ShowUtil
  4. implicit class ShowLengthLimitedStringSyntax extends StringOperators
    Definition Classes
    ShowUtil
  5. implicit class ShowLengthLimitedStringWrapperSyntax extends StringOperators
    Definition Classes
    ShowUtil
  6. implicit class ShowOptionSyntax[T] extends AnyRef
    Definition Classes
    ShowUtil
  7. implicit class ShowProductSyntax extends AnyRef
    Definition Classes
    ShowUtil
    Annotations
    @SuppressWarnings()
  8. implicit class ShowStringSyntax extends StringOperators
    Definition Classes
    ShowUtil
  9. implicit class ShowTraversableSyntax[T] extends AnyRef

    Enables syntax like show"Found several elements: ${myCollection.mkShow()}".

    Enables syntax like show"Found several elements: ${myCollection.mkShow()}".

    Definition Classes
    ShowUtil
  10. abstract class StringOperators extends AnyRef

    Enables syntax like show"This is a string: ${myString.doubleQuoted}" and show"This is a hash: ${myHash.readableHash}".

    Enables syntax like show"This is a string: ${myString.doubleQuoted}" and show"This is a hash: ${myHash.readableHash}".

    Definition Classes
    ShowUtil

Value Members

  1. object ReaderState extends Serializable
    Definition Classes
    FlagCloseable
  2. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  3. final def ##: Int
    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. def adHocPrettyInstance[T <: Product](implicit c: ClassTag[T]): Pretty[T]

    Use this as a temporary solution, to make the code compile during an ongoing migration.

    Use this as a temporary solution, to make the code compile during an ongoing migration. Drawbacks:

    • Instances of Pretty[T] are ignored.
    • No parameter names
    Definition Classes
    PrettyUtil
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. final def close(): Unit

    Blocks until all earlier tasks have completed and then prevents further tasks from being run.

    Blocks until all earlier tasks have completed and then prevents further tasks from being run.

    Definition Classes
    FlagCloseable → AutoCloseable
    Annotations
    @SuppressWarnings()
  9. def closeAsync(): Seq[AsyncOrSyncCloseable]

    closeAsync asynchronously releases resources held by a future

    closeAsync asynchronously releases resources held by a future

    returns

    an ordered sequence of async and sync closeables with async closeables made up of future and timeout

    Attributes
    protected
    Definition Classes
    SimpleExecutionQueueFlagCloseableAsync
  10. def closingTimeout: FiniteDuration
    Attributes
    protected
    Definition Classes
    FlagCloseable
  11. def customParam[T](getValue: (T) => String, cond: (T) => Boolean = (_: T) => true): (T) => Option[Tree]

    Use this if you need a custom representation of a parameter.

    Use this if you need a custom representation of a parameter. Do not use this to create lengthy strings, as line wrapping is not supported.

    Definition Classes
    PrettyUtil
  12. val directExecutionContext: DirectExecutionContext
    Attributes
    protected
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  16. def execute[A](execution: => Future[A], description: String)(implicit loggingContext: ErrorLoggingContext): FutureUnlessShutdown[A]

    Will execute the given function after all previous executions have completed successfully and return the future with the result of this execution.

  17. def executeE[A, B](execution: => EitherT[Future, A, B], description: String)(implicit loggingContext: ErrorLoggingContext): EitherT[FutureUnlessShutdown, A, B]
  18. def executeEUS[A, B](execution: => EitherT[FutureUnlessShutdown, A, B], description: String)(implicit loggingContext: ErrorLoggingContext): EitherT[FutureUnlessShutdown, A, B]
  19. def executeUS[A](execution: => FutureUnlessShutdown[A], description: String)(implicit loggingContext: ErrorLoggingContext): FutureUnlessShutdown[A]
  20. def executeUnderFailures[A](execution: => Future[A], description: String)(implicit loggingContext: ErrorLoggingContext): FutureUnlessShutdown[A]
  21. def executeUnderFailuresUS[A](execution: => FutureUnlessShutdown[A], description: String)(implicit loggingContext: ErrorLoggingContext): FutureUnlessShutdown[A]
  22. def flush(): Future[Unit]

    Returns a future that completes when all scheduled tasks up to now have completed or after a shutdown has been initiated.

    Returns a future that completes when all scheduled tasks up to now have completed or after a shutdown has been initiated. Never fails.

  23. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  25. def internalPerformUnlessClosingF[A](name: String)(f: => Future[A])(implicit ec: ExecutionContext, traceContext: TraceContext): UnlessShutdown[Future[A]]
    Attributes
    protected
    Definition Classes
    FlagCloseable
  26. def isClosing: Boolean

    Check whether we're closing.

    Check whether we're closing. Susceptible to race conditions; unless you're using using this as a flag to the retry lib or you really know what you're doing, prefer performUnlessClosing and friends.

    Definition Classes
    FlagCloseable
  27. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  28. def keepTrackOfOpenFutures: Boolean

    track running futures on shutdown

    track running futures on shutdown

    set to true to get detailed information about all futures that did not complete during shutdown. if set to false, we don't do anything.

    Attributes
    protected
    Definition Classes
    FlagCloseable
  29. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  30. val loggerFactory: NamedLoggerFactory
    Definition Classes
    SimpleExecutionQueueNamedLogging
  31. def maxSleepMillis: Long
    Attributes
    protected
    Definition Classes
    FlagCloseable
  32. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  33. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  34. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  35. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  36. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  37. def onCloseFailure(e: Throwable): Unit
    Attributes
    protected
    Definition Classes
    FlagCloseable
  38. final def onClosed(): Unit
    Definition Classes
    FlagCloseableAsyncFlagCloseable
  39. def param[T, V](name: String, getValue: (T) => V, cond: (T) => Boolean = (_: T) => true)(implicit arg0: Pretty[V]): (T) => Option[Tree]

    A tree representing both parameter name and value.

    A tree representing both parameter name and value.

    Definition Classes
    PrettyUtil
  40. def paramIfDefined[T, V](name: String, getValue: (T) => Option[V])(implicit arg0: Pretty[V]): (T) => Option[Tree]
    Definition Classes
    PrettyUtil
  41. def paramIfNonEmpty[T, V <: IterableOnce[_]](name: String, getValue: (T) => V)(implicit arg0: Pretty[V]): (T) => Option[Tree]
    Definition Classes
    PrettyUtil
  42. def paramIfTrue[T](label: String, getValue: (T) => Boolean): (T) => Option[Tree]
    Definition Classes
    PrettyUtil
  43. def paramWithoutValue[T](name: String, cond: (T) => Boolean = (_: T) => true): (T) => Option[Tree]

    A tree representing a parameter name without a parameter value.

    A tree representing a parameter name without a parameter value. Use this for parameters storing confidential or binary data.

    Definition Classes
    PrettyUtil
  44. def performUnlessClosing[A](name: String)(f: => A)(implicit traceContext: TraceContext): UnlessShutdown[A]

    Performs the task given by f unless a shutdown has been initiated.

    Performs the task given by f unless a shutdown has been initiated. The shutdown will only begin after f completes, but other tasks may execute concurrently with f, if started using this function, or one of the other variants (performUnlessClosingF and performUnlessClosingEitherT). The tasks are assumed to take less than closingTimeout to complete.

    DO NOT CALL this.close as part of f, because it will result in a deadlock.

    f

    The task to perform

    returns

    scala.None$ if a shutdown has been initiated. Otherwise the result of the task.

    Definition Classes
    FlagCloseable
  45. def performUnlessClosingCheckedT[A, N, R](name: String, onClosing: => Checked[A, N, R])(etf: => CheckedT[Future, A, N, R])(implicit ec: ExecutionContext, traceContext: TraceContext): CheckedT[Future, A, N, R]
    Definition Classes
    FlagCloseable
  46. def performUnlessClosingEitherT[E, R](name: String, onClosing: => E)(etf: => EitherT[Future, E, R])(implicit ec: ExecutionContext, traceContext: TraceContext): EitherT[Future, E, R]

    Performs the EitherT[Future] given by etf unless a shutdown has been initiated, in which case the provided error is returned instead.

    Performs the EitherT[Future] given by etf unless a shutdown has been initiated, in which case the provided error is returned instead. Both etf and the error are lazy; etf is only evaluated if there is no shutdown, the error only if we're shutting down. The shutdown will only begin after etf completes, but other tasks may execute concurrently with etf, if started using this function, or one of the other variants (performUnlessClosing and performUnlessClosingF). The tasks are assumed to take less than closingTimeout to complete.

    DO NOT CALL this.close as part of etf, because it will result in a deadlock.

    etf

    The task to perform

    Definition Classes
    FlagCloseable
  47. def performUnlessClosingEitherTF[E, R](name: String, onClosing: => E)(etf: => EitherT[Future, E, Future[R]])(implicit ec: ExecutionContext, traceContext: TraceContext): EitherT[Future, E, Future[R]]
    Definition Classes
    FlagCloseable
  48. def performUnlessClosingEitherU[E, R](name: String)(etf: => EitherT[Future, E, R])(implicit ec: ExecutionContext, traceContext: TraceContext): EitherT[FutureUnlessShutdown, E, R]
    Definition Classes
    FlagCloseable
  49. def performUnlessClosingEitherUSF[E, R](name: String)(etf: => EitherT[FutureUnlessShutdown, E, R])(implicit ec: ExecutionContext, traceContext: TraceContext): EitherT[FutureUnlessShutdown, E, R]
    Definition Classes
    FlagCloseable
  50. def performUnlessClosingF[A](name: String)(f: => Future[A])(implicit ec: ExecutionContext, traceContext: TraceContext): FutureUnlessShutdown[A]

    Performs the Future given by f unless a shutdown has been initiated.

    Performs the Future given by f unless a shutdown has been initiated. The future is lazy and not evaluated during shutdown. The shutdown will only begin after f completes, but other tasks may execute concurrently with f, if started using this function, or one of the other variants (performUnlessClosing and performUnlessClosingEitherT). The tasks are assumed to take less than closingTimeout to complete.

    DO NOT CALL this.close as part of f, because it will result in a deadlock.

    f

    The task to perform

    returns

    The future completes with com.digitalasset.canton.lifecycle.UnlessShutdown.AbortedDueToShutdown if a shutdown has been initiated. Otherwise the result of the task wrapped in com.digitalasset.canton.lifecycle.UnlessShutdown.Outcome.

    Definition Classes
    FlagCloseable
  51. def performUnlessClosingUSF[A](name: String)(f: => FutureUnlessShutdown[A])(implicit ec: ExecutionContext, traceContext: TraceContext): FutureUnlessShutdown[A]
    Definition Classes
    FlagCloseable
  52. def pretty: Pretty[SimpleExecutionQueue]

    Indicates how to pretty print this instance.

    Indicates how to pretty print this instance. See PrettyPrintingTest for examples on how to implement this method.

    Definition Classes
    SimpleExecutionQueuePrettyPrinting
  53. def prettyInfix[T, U, V](first: (T) => U, infixOp: String, second: (T) => V)(implicit arg0: Pretty[U], arg1: Pretty[V]): Pretty[T]
    Definition Classes
    PrettyUtil
  54. def prettyNode[T](label: String, children: (T) => Option[Tree]*): Pretty[T]

    A tree consisting of a labelled node with the given children.

    A tree consisting of a labelled node with the given children.

    Definition Classes
    PrettyUtil
  55. def prettyOfClass[T](getParamTrees: (T) => Option[Tree]*): Pretty[T]

    A tree representing the type name and parameter trees.

    A tree representing the type name and parameter trees.

    Definition Classes
    PrettyUtil
  56. def prettyOfObject[T <: Product]: Pretty[T]

    A tree presenting the type name only.

    A tree presenting the type name only. (E.g., for case objects.)

    Definition Classes
    PrettyUtil
  57. def prettyOfParam[T, V](getValue: (T) => V)(implicit arg0: Pretty[V]): Pretty[T]

    Use this to give a class with a singleton parameter the same pretty representation as the parameter.

    Use this to give a class with a singleton parameter the same pretty representation as the parameter.

    Definition Classes
    PrettyUtil
  58. def prettyOfString[T](toString: (T) => String): Pretty[T]

    Creates a pretty instance from a string function.

    Creates a pretty instance from a string function. Do not use this with lengthy strings, as line wrapping is not supported.

    Definition Classes
    PrettyUtil
  59. def queueSize: Int

    slow and in-efficient queue size, to be used for inspection

  60. def queued: Seq[String]

    Returns a sequence of tasks' descriptions in this execution queue.

    Returns a sequence of tasks' descriptions in this execution queue. The first entry refers to the last known completed task, the others are running or queued.

  61. def runOnShutdown[T](task: RunOnShutdown)(implicit traceContext: TraceContext): Unit

    Register a task to run when shutdown is initiated.

    Register a task to run when shutdown is initiated.

    You can use this for example to register tasks that cancel long-running computations, whose termination you can then wait for in "closeAsync".

    Definition Classes
    FlagCloseable
  62. def runStateChanged(waitingState: Boolean = false): Unit
    Attributes
    protected
    Definition Classes
    FlagCloseable
    Annotations
    @VisibleForTesting()
  63. implicit final def showInterpolator(sc: StringContext): ShowInterpolator
    Definition Classes
    ShowSyntax
  64. implicit def showPretty[T](implicit arg0: Pretty[T]): Show[T]

    Enables the syntax show"This object is pretty: $myPrettyType".

    Enables the syntax show"This object is pretty: $myPrettyType".

    Definition Classes
    ShowUtil
  65. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  66. val timeouts: ProcessingTimeout
    Definition Classes
    SimpleExecutionQueueFlagCloseable
  67. implicit def toShow[A](target: A)(implicit tc: Show[A]): Ops[A]
    Definition Classes
    ToShowOps
  68. final def toString(): String

    Yields a readable string representation based on com.digitalasset.canton.logging.pretty.Pretty.DefaultPprinter.

    Yields a readable string representation based on com.digitalasset.canton.logging.pretty.Pretty.DefaultPprinter. Final to avoid accidental overwriting.

    Definition Classes
    PrettyPrinting → AnyRef → Any
  69. def unnamedParam[T, V](getValue: (T) => V, cond: (T) => Boolean = (_: T) => true)(implicit arg0: Pretty[V]): (T) => Option[Tree]

    A tree representing a parameter value without a parameter name.

    A tree representing a parameter value without a parameter name.

    Definition Classes
    PrettyUtil
  70. def unnamedParamIfDefined[T, V](getValue: (T) => Option[V])(implicit arg0: Pretty[V]): (T) => Option[Tree]
    Definition Classes
    PrettyUtil
  71. def unnamedParamIfNonEmpty[T, V <: IterableOnce[_]](getValue: (T) => V)(implicit arg0: Pretty[V]): (T) => Option[Tree]
    Definition Classes
    PrettyUtil
  72. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  73. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  74. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from FlagCloseableAsync

Inherited from FlagCloseable

Inherited from AutoCloseable

Inherited from NamedLogging

Inherited from PrettyPrinting

Inherited from PrettyUtil

Inherited from ShowUtil

Inherited from ShowSyntax

Inherited from ToShowOps

Inherited from AnyRef

Inherited from Any

Ungrouped