trait MessageDispatcher extends AnyRef

Dispatches the incoming messages of the com.digitalasset.canton.sequencing.client.SequencerClient to the different processors. It also informs the conflictdetection.RequestTracker about the passing of time for messages that are not processed by the TransactionProcessor.

Self Type
MessageDispatcher with NamedLogging
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MessageDispatcher
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type ProcessingResult
    Attributes
    protected

Abstract Value Members

  1. abstract def acsCommitmentProcessor: ProcessorType
    Attributes
    protected
  2. abstract def badRootHashMessagesRequestProcessor: BadRootHashMessagesRequestProcessor
    Attributes
    protected
  3. abstract def doProcess[A](kind: MessageKind[A], run: => FutureUnlessShutdown[A]): FutureUnlessShutdown[(MessageDispatcher.this)#ProcessingResult]
    Attributes
    protected
  4. abstract def domainId: DomainId
    Attributes
    protected
  5. implicit abstract val ec: ExecutionContext
    Attributes
    protected
  6. abstract def flush(): Future[Unit]

    Returns a future that completes when all calls to handleAll whose returned scala.concurrent.Future has completed prior to this call have completed processing.

    Returns a future that completes when all calls to handleAll whose returned scala.concurrent.Future has completed prior to this call have completed processing.

    Annotations
    @VisibleForTesting()
  7. abstract def handleAll(events: Traced[Seq[PossiblyIgnoredProtocolEvent]]): HandlerResult
  8. abstract def inFlightSubmissionTracker: InFlightSubmissionTracker
    Attributes
    protected
  9. abstract def participantId: ParticipantId
    Attributes
    protected
  10. implicit abstract def processingResultMonoid: Monoid[(MessageDispatcher.this)#ProcessingResult]
    Attributes
    protected
  11. abstract def recordOrderPublisher: RecordOrderPublisher
    Attributes
    protected
  12. abstract def repairProcessor: RepairProcessor
    Attributes
    protected
  13. abstract def requestCounterAllocator: RequestCounterAllocator
    Attributes
    protected
  14. abstract def requestProcessors: RequestProcessors
    Attributes
    protected
  15. abstract def requestTracker: RequestTracker
    Attributes
    protected
  16. abstract def topologyProcessor: (SequencerCounter, CantonTimestamp, Traced[List[DefaultOpenEnvelope]]) => HandlerResult
    Attributes
    protected
  17. abstract def tracker: SingleDomainCausalTracker
    Attributes
    protected

Concrete 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. def alarm(sc: SequencerCounter, ts: CantonTimestamp, msg: String)(implicit traceContext: TraceContext): Future[Unit]
    Attributes
    protected
  5. lazy val alarmer: LoggingAlarmStreamer
    Attributes
    protected
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. def filterBatchForDomainId(batch: Batch[DefaultOpenEnvelope], sc: SequencerCounter, ts: CantonTimestamp)(implicit traceContext: TraceContext): List[DefaultOpenEnvelope]
    Attributes
    protected
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def observeDeliverError(error: DeliverError)(implicit traceContext: TraceContext): FutureUnlessShutdown[(MessageDispatcher.this)#ProcessingResult]
    Attributes
    protected
  18. def observeSequencing(events: Seq[RawProtocolEvent])(implicit traceContext: TraceContext): FutureUnlessShutdown[(MessageDispatcher.this)#ProcessingResult]
    Attributes
    protected
  19. def processBatch(event: SignedContent[Deliver[DefaultOpenEnvelope]])(implicit traceContext: TraceContext): FutureUnlessShutdown[(MessageDispatcher.this)#ProcessingResult]

    Rules for processing batches of envelopes:

    Rules for processing batches of envelopes:

    - Request messages originate from untrusted participants. If the batch contains exactly one com.digitalasset.canton.protocol.messages.RootHashMessage that is sent to the participant and the mediator only, the participant processes only request messages with the same root hash. If there are no such root hash message or multiple thereof, the participant does not process the request at all because the mediator will reject the request as a whole.

    Attributes
    protected
  20. def processCausalityMessages(envelopes: List[DefaultOpenEnvelope])(implicit tc: TraceContext): FutureUnlessShutdown[(MessageDispatcher.this)#ProcessingResult]
    Attributes
    protected
  21. def processTopologyTransactions(sc: SequencerCounter, ts: CantonTimestamp, envelopes: List[DefaultOpenEnvelope])(implicit traceContext: TraceContext): FutureUnlessShutdown[(MessageDispatcher.this)#ProcessingResult]
    Attributes
    protected
  22. def repairProcessorWedging(timestamp: CantonTimestamp)(implicit traceContext: TraceContext): FutureUnlessShutdown[(MessageDispatcher.this)#ProcessingResult]
    Attributes
    protected
  23. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  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()
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

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

Inherited from AnyRef

Inherited from Any

Ungrouped