c

com.digitalasset.canton.participant.protocol

DefaultMessageDispatcher

class DefaultMessageDispatcher extends MessageDispatcher with Spanning with NamedLogging

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

Instance Constructors

  1. new DefaultMessageDispatcher(protocolVersion: ProtocolVersion, uniqueContractKeys: Boolean, domainId: DomainId, participantId: ParticipantId, requestTracker: RequestTracker, requestProcessors: RequestProcessors, topologyProcessor: (SequencerCounter, SequencedTime, Traced[List[DefaultOpenEnvelope]]) => HandlerResult, acsCommitmentProcessor: ProcessorType, requestCounterAllocator: RequestCounterAllocator, recordOrderPublisher: RecordOrderPublisher, badRootHashMessagesRequestProcessor: BadRootHashMessagesRequestProcessor, repairProcessor: RepairProcessor, inFlightSubmissionTracker: InFlightSubmissionTracker, loggerFactory: NamedLoggerFactory, metrics: SyncDomainMetrics)(implicit ec: ExecutionContext, tracer: Tracer)

Type Members

  1. type ProcessingResult = Unit
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher

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
    DefaultMessageDispatcherMessageDispatcher
  5. def alarm(sc: SequencerCounter, ts: CantonTimestamp, msg: String)(implicit traceContext: TraceContext): Unit
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. val badRootHashMessagesRequestProcessor: BadRootHashMessagesRequestProcessor
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  9. def doProcess[A](kind: MessageKind[A], run: => FutureUnlessShutdown[A]): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  10. val domainId: DomainId
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  11. implicit val ec: ExecutionContext
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  15. def filterBatchForDomainId(batch: Batch[DefaultOpenEnvelope], sc: SequencerCounter, ts: CantonTimestamp)(implicit traceContext: TraceContext): List[DefaultOpenEnvelope]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  16. 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
    DefaultMessageDispatcherMessageDispatcher
    Annotations
    @VisibleForTesting()
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. def handleAll(tracedEvents: Traced[Seq[Either[Traced[EventWithErrors[SequencedEvent[DefaultOpenEnvelope]]], PossiblyIgnoredProtocolEvent]]]): HandlerResult
  19. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. val inFlightSubmissionTracker: InFlightSubmissionTracker
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. def logDeliveryError(sc: SequencerCounter, ts: CantonTimestamp, msgId: MessageId, status: Status)(implicit traceContext: TraceContext): Unit
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  23. def logEvent(sc: SequencerCounter, ts: CantonTimestamp, msgId: Option[MessageId], evt: SignedContent[SequencedEvent[DefaultOpenEnvelope]])(implicit traceContext: TraceContext): Unit
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  24. def logFaultyEvent(sc: SequencerCounter, ts: CantonTimestamp, msgId: Option[MessageId], err: EventWithErrors[SequencedEvent[DefaultOpenEnvelope]])(implicit traceContext: TraceContext): Unit
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  25. def logTimeProof(sc: SequencerCounter, ts: CantonTimestamp)(implicit traceContext: TraceContext): Unit
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  26. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  27. val loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherNamedLogging
  28. val metrics: SyncDomainMetrics
  29. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  30. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  31. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  32. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  33. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  34. def observeDeliverError(error: DeliverError)(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  35. def observeSequencing(events: Seq[RawProtocolEvent])(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  36. val participantId: ParticipantId
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  37. def processBatch(eventE: Either[EventWithErrors[Deliver[DefaultOpenEnvelope]], 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.

    - We do not know the submitting member of a particular submission because such a submission may be sequenced through an untrusted individual sequencer node (e.g., on a BFT domain). Such a sequencer node could lie about the actual submitting member. These lies work even with signed submission requests when an earlier submission request is replayed. So we cannot rely on honest domain nodes sending their messages only once and instead must deduplicate replays on the recipient side.

    Attributes
    protected
    Definition Classes
    MessageDispatcher
  38. def processTopologyTransactions(sc: SequencerCounter, ts: SequencedTime, envelopes: List[DefaultOpenEnvelope])(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  39. implicit val processingResultMonoid: Monoid[ProcessingResult]
  40. val protocolVersion: ProtocolVersion
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  41. val recordOrderPublisher: RecordOrderPublisher
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  42. val repairProcessor: RepairProcessor
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  43. def repairProcessorWedging(upToExclusive: CantonTimestamp)(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  44. val requestCounterAllocator: RequestCounterAllocator
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  45. val requestProcessors: RequestProcessors
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  46. val requestTracker: RequestTracker
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  47. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  48. def toString(): String
    Definition Classes
    AnyRef → Any
  49. val topologyProcessor: (SequencerCounter, SequencedTime, Traced[List[DefaultOpenEnvelope]]) => HandlerResult
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  50. val uniqueContractKeys: Boolean
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  51. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  52. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  53. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  54. def withNewTrace[A](description: String)(f: (TraceContext) => (SpanWrapper) => A)(implicit tracer: Tracer): A
    Attributes
    protected
    Definition Classes
    Spanning
  55. def withSpan[A](description: String)(f: (TraceContext) => (SpanWrapper) => A)(implicit traceContext: TraceContext, tracer: Tracer): A
    Attributes
    protected
    Definition Classes
    Spanning
  56. 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
    Deprecated

Inherited from NamedLogging

Inherited from Spanning

Inherited from MessageDispatcher

Inherited from AnyRef

Inherited from Any

Ungrouped