class DefaultMediatorEventDeduplicator extends MediatorEventDeduplicator with NamedLogging
- Alphabetic
- By Inheritance
- DefaultMediatorEventDeduplicator
- NamedLogging
- MediatorEventDeduplicator
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new DefaultMediatorEventDeduplicator(store: MediatorDeduplicationStore, verdictSender: VerdictSender, getDeduplicationTimeout: (Traced[CantonTimestamp]) => Future[Duration], getDecisionTime: (Traced[CantonTimestamp]) => Future[CantonTimestamp], protocolVersion: ProtocolVersion, loggerFactory: NamedLoggerFactory)(implicit executionContext: ExecutionContext)
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
- implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- 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
- def logger: TracedLogger
- Attributes
- protected
- Definition Classes
- NamedLogging
- val loggerFactory: NamedLoggerFactory
- Attributes
- protected
- Definition Classes
- DefaultMediatorEventDeduplicator → NamedLogging
- implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noTracingLogger: Logger
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def rejectDuplicates(requestTimestamp: CantonTimestamp, envelopes: Seq[DefaultOpenEnvelope])(implicit traceContext: TraceContext, callerCloseContext: CloseContext): Future[(Seq[DefaultOpenEnvelope], Future[Unit])]
See the comment of the other
rejectDuplicates
method.See the comment of the other
rejectDuplicates
method.- returns
(uniqueEnvelopes, storeF)
, whereuniqueEnvelopes
contains those elements ofenvelopes
that have no UUID or a unique UUID andstoreF
completes when the persistent state has been updated and all rejections have been sent.
- Definition Classes
- DefaultMediatorEventDeduplicator → MediatorEventDeduplicator
- def rejectDuplicates(envelopesByEvent: Seq[(TracedProtocolEvent, Seq[DefaultOpenEnvelope])])(implicit executionContext: ExecutionContext, callerCloseContext: CloseContext): Future[(Seq[(TracedProtocolEvent, Seq[DefaultOpenEnvelope])], Future[Unit])]
Reads the request uuids of envelopes and checks for duplicates: If the uuid of an envelope has been used previously and the previous usage has not expired by the sequencer timestamp of the corresponding event, then the event is rejected through the sequencer client.
Reads the request uuids of envelopes and checks for duplicates: If the uuid of an envelope has been used previously and the previous usage has not expired by the sequencer timestamp of the corresponding event, then the event is rejected through the sequencer client. If the uuid of an envelope is fresh, it will be stored as being "in use".
The method should not be called concurrently. The method may be invoked again, as soon as the future returned by the previous invocation has completed, i.e.,
rejectDuplicates(...).isComplete
.- returns
(uniqueEnvelopesByEvent, storeF)
:uniqueEnvelopesByEvent
contains those elements ofenvelopesByEvent
that have no UUID or a unique UUID.storeF
completes when the persistent state has been updated and all rejections have been sent. The methodrejectDuplicates
may be invoked again whilestoreF
is still running; The event should be considered clean only whenstoreF
is completed.
- Definition Classes
- MediatorEventDeduplicator
- 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])