case class DomainTimeTrackerConfig(observationLatency: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMillis(250), patienceDuration: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMillis(500), minObservationDuration: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofHours(24), timeRequest: TimeProofRequestConfig = TimeProofRequestConfig()) extends HasProtoV0[time.admin.v0.DomainTimeTrackerConfig] with Product with Serializable
Configuration for the domain time tracker.
- observationLatency
Even if the host and domain clocks are perfectly synchronized there will always be some latency for an event to be delivered (storage, transmission, processing). If the current host time exceeds the next expected timestamp by this observation latency then we will request a time proof (unless we have received a recent event within the patience duration described below).
- patienceDuration
We will only request a time proof if this given duration has elapsed since we last received an event (measured using the host clock). This prevents requesting timestamps when we are observing events from the domain (particularly if the local node is catching up on old activity).
- minObservationDuration
We will try to ensure that we receive a time at least once during this duration (measured using the host clock). This is practically useful if there is no other activity on the domain as the sequencer client will then have an event to acknowledge allowing sequenced events to be pruned before this point. We may in the future use this to monitor clock skews between the host and domain.
- timeRequest
configuration for how we ask for a time proof.
- Alphabetic
- By Inheritance
- DomainTimeTrackerConfig
- Serializable
- Product
- Equals
- HasProtoV0
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new DomainTimeTrackerConfig(observationLatency: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMillis(250), patienceDuration: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMillis(500), minObservationDuration: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofHours(24), timeRequest: TimeProofRequestConfig = TimeProofRequestConfig())
- observationLatency
Even if the host and domain clocks are perfectly synchronized there will always be some latency for an event to be delivered (storage, transmission, processing). If the current host time exceeds the next expected timestamp by this observation latency then we will request a time proof (unless we have received a recent event within the patience duration described below).
- patienceDuration
We will only request a time proof if this given duration has elapsed since we last received an event (measured using the host clock). This prevents requesting timestamps when we are observing events from the domain (particularly if the local node is catching up on old activity).
- minObservationDuration
We will try to ensure that we receive a time at least once during this duration (measured using the host clock). This is practically useful if there is no other activity on the domain as the sequencer client will then have an event to acknowledge allowing sequenced events to be pruned before this point. We may in the future use this to monitor clock skews between the host and domain.
- timeRequest
configuration for how we ask for a time proof.
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
- 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()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val minObservationDuration: NonNegativeFiniteDuration
- 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()
- val observationLatency: NonNegativeFiniteDuration
- val patienceDuration: NonNegativeFiniteDuration
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val timeRequest: TimeProofRequestConfig
- def toProtoV0: admin.v0.DomainTimeTrackerConfig
Yields the proto representation of the class.
Yields the proto representation of the class.
Subclasses should make this method public by default, as this supports composing proto serializations. Keep it protected, if there are good reasons for it (e.g. com.digitalasset.canton.serialization.ProtocolVersionedMemoizedEvidence).
- Definition Classes
- DomainTimeTrackerConfig → HasProtoV0
- 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])