final case class SequencerClientConfig(eventInboxSize: PositiveInt = PositiveInt.tryCreate(100), startupConnectionRetryDelay: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(1), initialConnectionRetryDelay: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMillis(10), warnDisconnectDelay: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(5), maxConnectionRetryDelay: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(30), handshakeRetryAttempts: NonNegativeInt = NonNegativeInt.tryCreate(50), handshakeRetryDelay: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(5), defaultMaxSequencingTimeOffset: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMinutes(5), acknowledgementInterval: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMinutes(1), keepAliveClient: Option[KeepAliveClientConfig] = Some(KeepAliveClientConfig()), authToken: AuthenticationTokenManagerConfig = AuthenticationTokenManagerConfig(), optimisticSequencedEventValidation: Boolean = true, skipSequencedEventValidation: Boolean = false, overrideMaxRequestSize: Option[NonNegativeInt] = None, maximumInFlightEventBatches: PositiveInt = PositiveInt.tryCreate(20)) extends Product with Serializable
Client configured options for how to connect to a sequencer
- eventInboxSize
The size of the inbox queue used to store received events. Must be at least one. Events in the inbox are processed in parallel. A larger inbox may result in higher throughput at the price of higher memory consumption, larger database queries, and longer crash recovery.
- startupConnectionRetryDelay
Initial delay before we attempt to establish an initial connection
- initialConnectionRetryDelay
Initial delay before a reconnect attempt
- warnDisconnectDelay
Consider sequencer to be degraded after delay
- maxConnectionRetryDelay
Maximum delay before a reconnect attempt
- handshakeRetryAttempts
How many attempts should we make to get a handshake response
- handshakeRetryDelay
How long to delay between attempts to fetch a handshake response
- defaultMaxSequencingTimeOffset
if no max-sequencing-time is supplied to send, our current time will be offset by this amount
- acknowledgementInterval
Controls how frequently the client acknowledges how far it has successfully processed to the sequencer which allows the sequencer to remove this data when pruning.
- authToken
configuration settings for the authentication token manager
- optimisticSequencedEventValidation
if true, sequenced event signatures will be validated first optimistically and only strict if the optimistic evaluation failed. this means that for a split second, we might still accept an event signed with a key that has just been revoked.
- skipSequencedEventValidation
if true, sequenced event validation will be skipped. the default setting is false. this option should only be enabled if a defective validation is blocking processing. therefore, unless you know what you are doing, you shouldn't touch this setting.
- overrideMaxRequestSize
overrides the maxRequestSize configured in the dynamic domain parameters. If overrideMaxRequestSize, is set, modifying the maxRequestSize won't have any effect.
- maximumInFlightEventBatches
The maximum number of event batches that the system will process concurrently. Setting the
maximumInFlightEventBatches
parameter limits the number of event batches that the system will process simultaneously, preventing overload and ensuring that the system can handle the workload effectively. A higher value ofmaximumInFlightEventBatches
can lead to increased throughput, but at the cost of higher memory consumption and longer processing times for each batch. A lower value ofmaximumInFlightEventBatches
may limit throughput, but can result in more stable and predictable system behavior.
- Alphabetic
- By Inheritance
- SequencerClientConfig
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new SequencerClientConfig(eventInboxSize: PositiveInt = PositiveInt.tryCreate(100), startupConnectionRetryDelay: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(1), initialConnectionRetryDelay: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMillis(10), warnDisconnectDelay: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(5), maxConnectionRetryDelay: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(30), handshakeRetryAttempts: NonNegativeInt = NonNegativeInt.tryCreate(50), handshakeRetryDelay: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(5), defaultMaxSequencingTimeOffset: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMinutes(5), acknowledgementInterval: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMinutes(1), keepAliveClient: Option[KeepAliveClientConfig] = Some(KeepAliveClientConfig()), authToken: AuthenticationTokenManagerConfig = AuthenticationTokenManagerConfig(), optimisticSequencedEventValidation: Boolean = true, skipSequencedEventValidation: Boolean = false, overrideMaxRequestSize: Option[NonNegativeInt] = None, maximumInFlightEventBatches: PositiveInt = PositiveInt.tryCreate(20))
- eventInboxSize
The size of the inbox queue used to store received events. Must be at least one. Events in the inbox are processed in parallel. A larger inbox may result in higher throughput at the price of higher memory consumption, larger database queries, and longer crash recovery.
- startupConnectionRetryDelay
Initial delay before we attempt to establish an initial connection
- initialConnectionRetryDelay
Initial delay before a reconnect attempt
- warnDisconnectDelay
Consider sequencer to be degraded after delay
- maxConnectionRetryDelay
Maximum delay before a reconnect attempt
- handshakeRetryAttempts
How many attempts should we make to get a handshake response
- handshakeRetryDelay
How long to delay between attempts to fetch a handshake response
- defaultMaxSequencingTimeOffset
if no max-sequencing-time is supplied to send, our current time will be offset by this amount
- acknowledgementInterval
Controls how frequently the client acknowledges how far it has successfully processed to the sequencer which allows the sequencer to remove this data when pruning.
- authToken
configuration settings for the authentication token manager
- optimisticSequencedEventValidation
if true, sequenced event signatures will be validated first optimistically and only strict if the optimistic evaluation failed. this means that for a split second, we might still accept an event signed with a key that has just been revoked.
- skipSequencedEventValidation
if true, sequenced event validation will be skipped. the default setting is false. this option should only be enabled if a defective validation is blocking processing. therefore, unless you know what you are doing, you shouldn't touch this setting.
- overrideMaxRequestSize
overrides the maxRequestSize configured in the dynamic domain parameters. If overrideMaxRequestSize, is set, modifying the maxRequestSize won't have any effect.
- maximumInFlightEventBatches
The maximum number of event batches that the system will process concurrently. Setting the
maximumInFlightEventBatches
parameter limits the number of event batches that the system will process simultaneously, preventing overload and ensuring that the system can handle the workload effectively. A higher value ofmaximumInFlightEventBatches
can lead to increased throughput, but at the cost of higher memory consumption and longer processing times for each batch. A lower value ofmaximumInFlightEventBatches
may limit throughput, but can result in more stable and predictable system behavior.
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
- val acknowledgementInterval: NonNegativeFiniteDuration
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val authToken: AuthenticationTokenManagerConfig
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- val defaultMaxSequencingTimeOffset: NonNegativeFiniteDuration
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val eventInboxSize: PositiveInt
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val handshakeRetryAttempts: NonNegativeInt
- val handshakeRetryDelay: NonNegativeFiniteDuration
- val initialConnectionRetryDelay: NonNegativeFiniteDuration
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val keepAliveClient: Option[KeepAliveClientConfig]
- val maxConnectionRetryDelay: NonNegativeFiniteDuration
- val maximumInFlightEventBatches: PositiveInt
- 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 optimisticSequencedEventValidation: Boolean
- val overrideMaxRequestSize: Option[NonNegativeInt]
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val skipSequencedEventValidation: Boolean
- val startupConnectionRetryDelay: NonNegativeFiniteDuration
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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])
- val warnDisconnectDelay: NonNegativeFiniteDuration