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 addToFlushAndLogError(name: String)(future: Future[_])(implicit loggingContext: ErrorLoggingContext): 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. Logs an error if the future fails with an exception.

    Attributes
    protected
    Definition Classes
    HasFlushFuture
  6. def addToFlushWithoutLogging(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. The caller is responsible for logging any exceptions thrown inside the future.

    Attributes
    protected
    Definition Classes
    HasFlushFuture
  7. def alarm(sc: SequencerCounter, ts: CantonTimestamp, msg: String)(implicit traceContext: TraceContext): Future[Unit]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  8. lazy val alarmer: LoggingAlarmStreamer
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. val badRootHashMessagesRequestProcessor: BadRootHashMessagesRequestProcessor
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  11. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  12. 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
  13. def doProcess[A](kind: MessageKind[A], run: => FutureUnlessShutdown[A]): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  14. val domainId: DomainId
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  15. implicit val ec: ExecutionContext
  16. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  18. def filterBatchForDomainId(batch: Batch[DefaultOpenEnvelope], sc: SequencerCounter, ts: CantonTimestamp)(implicit traceContext: TraceContext): List[DefaultOpenEnvelope]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  19. 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()
  20. def flushCloseable(name: String, timeout: TimeoutDuration): SyncCloseable
    Attributes
    protected
    Definition Classes
    HasFlushFuture
  21. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  22. def handleAll(tracedEvents: Traced[Seq[PossiblyIgnoredProtocolEvent]]): HandlerResult
  23. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. val inFlightSubmissionTracker: InFlightSubmissionTracker
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  25. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  26. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  27. val loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherNamedLogging
  28. implicit def loggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  29. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  30. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  31. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  32. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  33. def observeDeliverError(error: DeliverError)(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  34. def observeSequencing(events: Seq[RawProtocolEvent])(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  35. val participantId: ParticipantId
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  36. 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
  37. def processCausalityMessages(envelopes: List[DefaultOpenEnvelope])(implicit tc: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  38. def processTopologyTransactions(sc: SequencerCounter, ts: CantonTimestamp, envelopes: List[DefaultOpenEnvelope])(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  39. implicit val processingResultMonoid: Monoid[ProcessingResult]
  40. val recordOrderPublisher: RecordOrderPublisher
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  41. val repairProcessor: RepairProcessor
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  42. def repairProcessorWedging(timestamp: CantonTimestamp)(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  43. val requestCounterAllocator: RequestCounterAllocator
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  44. val requestProcessors: RequestProcessors
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  45. val requestTracker: RequestTracker
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  46. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  47. def toString(): String
    Definition Classes
    AnyRef → Any
  48. val topologyProcessor: (SequencerCounter, CantonTimestamp, Traced[List[DefaultOpenEnvelope]]) => HandlerResult
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  49. val tracker: SingleDomainCausalTracker
    Attributes
    protected
    Definition Classes
    EnterpriseMessageDispatcherMessageDispatcher
  50. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  51. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  52. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  53. def withNewTrace[A](description: String)(f: (TraceContext) => (SpanWrapper) => A)(implicit tracer: Tracer): A
    Attributes
    protected
    Definition Classes
    Spanning
  54. def withSpan[A](description: String)(f: (TraceContext) => (SpanWrapper) => A)(implicit traceContext: TraceContext, tracer: Tracer): A
    Attributes
    protected
    Definition Classes
    Spanning
  55. 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