class Phase37Synchronizer extends NamedLogging

Synchronizes the request processing of phases 3 and 7. At the end of phase 3, every request must signal that it has reached com.digitalasset.canton.participant.protocol.RequestJournal.RequestState.Confirmed via markConfirmed. At the beginning of phase 7, requests can wait on the completion of phase 3 via awaitConfirmed.

Eventually, all requests above initRc should signal via markConfirmed or skipRequestCounter. Otherwise, the synchronizer becomes a memory leak. This class assumes that the timestamps in request IDs grow strictly with the non-skipped request counters.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Phase37Synchronizer
  2. NamedLogging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Phase37Synchronizer(initRc: RequestCounter, loggerFactory: NamedLoggerFactory)

    initRc

    The request counter of the first request to synchronize.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def awaitConfirmed(requestId: RequestId)(implicit traceContext: TraceContext): Future[Unit]

    The returned future completes after the given request has reached com.digitalasset.canton.participant.protocol.RequestJournal.RequestState.Confirmed.

  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  13. val loggerFactory: NamedLoggerFactory
    Definition Classes
    Phase37SynchronizerNamedLogging
  14. implicit def loggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  15. def markConfirmed(requestCounter: RequestCounter, requestId: RequestId)(implicit traceContext: TraceContext): Unit

    Marks the given request as having reached com.digitalasset.canton.participant.protocol.RequestJournal.RequestState.Confirmed.

    Exceptions thrown

    • If the maximum request counter Long.MaxValue is used
    • If the same request counter was marked with a different timestamp or skipped and not all requests since the initial request counter initRc have been marked as confirmed or skipped.
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. def skipRequestCounter(requestCounter: RequestCounter)(implicit traceContext: TraceContext): Unit

    Skips the given request counter without specifying a timestamp.

    Skips the given request counter without specifying a timestamp.

    Exceptions thrown

    • If the maximum request counter Long.MaxValue is used
    • If the same request counter was marked as confirmed and not all requests since the initial request counter initRc have been marked as confirmed or skipped.
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. 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 NamedLogging

Inherited from AnyRef

Inherited from Any

Ungrouped