com.digitalasset.canton.sequencing.client
SequencedEventValidator
Companion object SequencedEventValidator
trait SequencedEventValidator extends AutoCloseable
Validate whether a received event is valid for processing.
- Alphabetic
- By Inheritance
- SequencedEventValidator
- AutoCloseable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def close(): Unit
- Definition Classes
- AutoCloseable
- Annotations
- @throws(classOf[java.lang.Exception])
- abstract def validate(priorEvent: Option[PossiblyIgnoredSerializedEvent], event: OrdinarySerializedEvent, sequencerId: SequencerId): EitherT[FutureUnlessShutdown, SequencedEventValidationError[Nothing], Unit]
Validates that the supplied event is suitable for processing from the prior event.
Validates that the supplied event is suitable for processing from the prior event. If the event is successfully validated it becomes the event that the event in a following call will be validated against. We currently assume this is safe to do as if the event fails to be handled by the application then the sequencer client will halt and will need recreating to restart event processing.
- abstract def validateOnReconnect(priorEvent: Option[PossiblyIgnoredSerializedEvent], reconnectEvent: OrdinarySerializedEvent, sequencerId: SequencerId): EitherT[FutureUnlessShutdown, SequencedEventValidationError[Nothing], Unit]
Validates a sequenced event when we reconnect against the prior event supplied to SequencedEventValidatorFactory.create
- abstract def validatePekko[E](subscription: SequencerSubscriptionPekko[E], priorReconnectEvent: Option[OrdinarySerializedEvent], sequencerId: SequencerId)(implicit arg0: Pretty[E], traceContext: TraceContext): SequencerSubscriptionPekko[SequencedEventValidationError[E]]
Add event validation to the given com.digitalasset.canton.sequencing.client.SequencerSubscriptionPekko.
Add event validation to the given com.digitalasset.canton.sequencing.client.SequencerSubscriptionPekko. Stuttering is interpreted as reconnection and validated accordingly.
The returned com.digitalasset.canton.sequencing.client.SequencerSubscriptionPekko completes after the first event validation failure or the first subscription error. It does not stutter any more.
- priorReconnectEvent
The sequenced event at which the reconnection happens. If scala.Some$, the first received event must be the same
Concrete 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() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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])