c

com.digitalasset.canton.participant.protocol

EnterpriseMessageDispatcher

class EnterpriseMessageDispatcher extends MessageDispatcher with NamedLogging with HasFlushFuture with Spanning

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

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EnterpriseMessageDispatcher
  2. Spanning
  3. HasFlushFuture
  4. NamedLogging
  5. MessageDispatcher
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new EnterpriseMessageDispatcher(domainId: DomainId, participantId: ParticipantId, requestTracker: RequestTracker, requestProcessors: RequestProcessors, tracker: SingleDomainCausalTracker, topologyProcessor: (SequencerCounter, CantonTimestamp, Traced[List[DefaultOpenEnvelope]]) => HandlerResult, acsCommitmentProcessor: ProcessorType, requestCounterAllocator: RequestCounterAllocator, recordOrderPublisher: RecordOrderPublisher, badRootHashMessagesRequestProcessor: BadRootHashMessagesRequestProcessor, repairProcessor: RepairProcessor, inFlightSubmissionTracker: InFlightSubmissionTracker, processAsyncronously: (ViewType) => Boolean, loggerFactory: NamedLoggerFactory)(implicit ec: ExecutionContext, tracer: Tracer)

Type Members

  1. type ProcessingResult = AsyncResult
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher

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. val acsCommitmentProcessor: ProcessorType
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  5. def addToFlush(name: String)(future: Future[_]): Unit

    Adds the task future to the flush future so that doFlush completes only after future has completed

    Adds the task future to the flush future so that doFlush completes only after future has completed

    Attributes
    protected
    Definition Classes
    HasFlushFuture
  6. def alarm(sc: SequencerCounter, ts: CantonTimestamp, msg: String)(implicit traceContext: TraceContext): Future[Unit]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  7. lazy val alarmer: LoggingAlarmStreamer
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. val badRootHashMessagesRequestProcessor: BadRootHashMessagesRequestProcessor
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  11. def doFlush(): Future[Unit]

    Returns a future that completes after all added futures have completed.

    Returns a future that completes after all added futures have completed. The returned future never fails.

    Attributes
    protected
    Definition Classes
    HasFlushFuture
  12. def doProcess[A](kind: MessageKind[A], run: => FutureUnlessShutdown[A]): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  13. val domainId: DomainId
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  14. implicit val ec: ExecutionContext
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  17. def filterBatchForDomainId(batch: Batch[DefaultOpenEnvelope], sc: SequencerCounter, ts: CantonTimestamp)(implicit traceContext: TraceContext): List[DefaultOpenEnvelope]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  18. 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.

    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
    Annotations
    @VisibleForTesting()
  19. def flushCloseable(name: String, timeout: TimeoutDuration): SyncCloseable
    Attributes
    protected
    Definition Classes
    HasFlushFuture
  20. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. def handleAll(tracedEvents: Traced[Seq[PossiblyIgnoredProtocolEvent]]): HandlerResult
  22. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. val inFlightSubmissionTracker: InFlightSubmissionTracker
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  24. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  25. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  26. val loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherNamedLogging
  27. implicit def loggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  30. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  31. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  32. def observeDeliverError(error: DeliverError)(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  33. def observeSequencing(events: Seq[RawProtocolEvent])(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  34. val participantId: ParticipantId
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  35. def processBatch(event: SignedContent[Deliver[DefaultOpenEnvelope]])(implicit traceContext: TraceContext): FutureUnlessShutdown[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
    Definition Classes
    MessageDispatcher
  36. def processCausalityMessages(envelopes: List[DefaultOpenEnvelope])(implicit tc: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  37. def processTopologyTransactions(sc: SequencerCounter, ts: CantonTimestamp, envelopes: List[DefaultOpenEnvelope])(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  38. implicit val processingResultMonoid: Monoid[ProcessingResult]
  39. val recordOrderPublisher: RecordOrderPublisher
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  40. val repairProcessor: RepairProcessor
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  41. def repairProcessorWedging(timestamp: CantonTimestamp)(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  42. val requestCounterAllocator: RequestCounterAllocator
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  43. val requestProcessors: RequestProcessors
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  44. val requestTracker: RequestTracker
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  45. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  46. def toString(): String
    Definition Classes
    AnyRef → Any
  47. val topologyProcessor: (SequencerCounter, CantonTimestamp, Traced[List[DefaultOpenEnvelope]]) => HandlerResult
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  48. val tracker: SingleDomainCausalTracker
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  49. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  50. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  51. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  52. def withNewTrace[A](description: String)(f: (TraceContext) => (SpanWrapper) => A)(implicit tracer: Tracer): A
    Attributes
    protected
    Definition Classes
    Spanning
  53. def withSpan[A](description: String)(f: (TraceContext) => (SpanWrapper) => A)(implicit traceContext: TraceContext, tracer: Tracer): A
    Attributes
    protected
    Definition Classes
    Spanning
  54. def withSpanFromGrpcContext[A](description: String)(f: (TraceContext) => (SpanWrapper) => A)(implicit tracer: Tracer): A
    Attributes
    protected
    Definition Classes
    Spanning

Deprecated Value Members

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

Inherited from Spanning

Inherited from HasFlushFuture

Inherited from NamedLogging

Inherited from MessageDispatcher

Inherited from AnyRef

Inherited from Any

Ungrouped