Packages

final class TimeAdvancingTopologySubscriber extends TopologyTransactionProcessingSubscriber with NamedLogging

To avoid flooding with time proofs from clients, we broadcast small messages from sequencers, hoping that it will timely advance the sequencing time for members that are awaiting to observe events.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TimeAdvancingTopologySubscriber
  2. NamedLogging
  3. TopologyTransactionProcessingSubscriber
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new TimeAdvancingTopologySubscriber(clock: Clock, sequencerClient: SequencerClientSend, topologyClient: SynchronizerTopologyClientWithInit, psid: PhysicalSynchronizerId, thisSequencerId: SequencerId, loggerFactory: NamedLoggerFactory)(implicit executionContext: ExecutionContext)

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 clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  9. def executionOrder: Int

    The order in which the subscriber should be executed among all the subscriptions.

    The order in which the subscriber should be executed among all the subscriptions. Lower values are executed first.

    Definition Classes
    TopologyTransactionProcessingSubscriber
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  14. val loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    TimeAdvancingTopologySubscriberNamedLogging
  15. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  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()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. def observed(sequencedTimestamp: SequencedTime, effectiveTimestamp: EffectiveTime, sequencerCounter: SequencerCounter, transactions: Seq[GenericSignedTopologyTransaction])(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit]

    This must be called whenever a topology transaction is committed.

    This must be called whenever a topology transaction is committed. It may be called at additional timestamps with transactions being empty. Calls must have strictly increasing sequencedTimestamp and effectiveTimestamp.

    During crash recovery previous calls of this method may be replayed. Therefore, implementations must be idempotent.

    The effective timestamp may have not yet been reached on the synchronizer.

    Definition Classes
    TimeAdvancingTopologySubscriberTopologyTransactionProcessingSubscriber
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. def updateHead(sequencedTimestamp: SequencedTime, effectiveTimestamp: EffectiveTime, approximateTimestamp: ApproximateTime)(implicit traceContext: TraceContext): Unit

    Move the highest known (effective / approximate) timestamp ahead in the future.

    Move the highest known (effective / approximate) timestamp ahead in the future.

    May only be called if:

    1. All committed topology transactions with effective time up to effectiveTimestamp have been persisted in the topology store.
    2. All committed topology transactions with sequenced time up to sequencedTimestamp have been persisted in the topology store.
    3. sequencedTimestamp <= effectiveTimestamp
    4. approximateTimestamp <= effectiveTimestamp
    5. A sequenced event with timestamp at least approximateTimestamp has been received from the sequencer.

    The effective timestamp may have not yet been reached on the synchronizer.

    Definition Classes
    TopologyTransactionProcessingSubscriber
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

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

    (Since version 9)

Inherited from NamedLogging

Inherited from AnyRef

Inherited from Any

Ungrouped