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 checkSingleRootHashMessage(rootHashMessages: List[OpenEnvelope[RootHashMessage[SerializedRootHashMessagePayload]]], hasEncryptedViews: Boolean, mediatorO: Option[MediatorRef]): Checked[FailedRootHashMessageCheck, String, OpenEnvelope[RootHashMessage[SerializedRootHashMessagePayload]]]
    Definition Classes
    MessageDispatcher
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  10. def doProcess[A](kind: MessageKind[A], run: => FutureUnlessShutdown[A]): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  11. val domainId: DomainId
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  12. implicit val ec: ExecutionContext
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  16. def filterBatchForDomainId(batch: Batch[DefaultOpenEnvelope], sc: SequencerCounter, ts: CantonTimestamp)(implicit traceContext: TraceContext): List[DefaultOpenEnvelope]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  17. 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()
  18. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  19. def handleAll(tracedEvents: Traced[Seq[Either[Traced[EventWithErrors[SequencedEvent[DefaultOpenEnvelope]]], PossiblyIgnoredProtocolEvent]]]): HandlerResult
  20. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  21. val inFlightSubmissionTracker: InFlightSubmissionTracker
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  22. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  23. def logDeliveryError(sc: SequencerCounter, ts: CantonTimestamp, msgId: MessageId, status: Status)(implicit traceContext: TraceContext): Unit
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  24. def logEvent(sc: SequencerCounter, ts: CantonTimestamp, msgId: Option[MessageId], evt: SignedContent[SequencedEvent[DefaultOpenEnvelope]])(implicit traceContext: TraceContext): Unit
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  25. def logFaultyEvent(sc: SequencerCounter, ts: CantonTimestamp, msgId: Option[MessageId], err: EventWithErrors[SequencedEvent[DefaultOpenEnvelope]])(implicit traceContext: TraceContext): Unit
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  26. def logTimeProof(sc: SequencerCounter, ts: CantonTimestamp)(implicit traceContext: TraceContext): Unit
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  27. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  28. val loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherNamedLogging
  29. val metrics: SyncDomainMetrics
  30. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  31. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  33. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  34. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  35. def observeDeliverError(error: DeliverError)(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  36. def observeSequencing(events: Seq[RawProtocolEvent])(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  37. val participantId: ParticipantId
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  38. 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
  39. def processTopologyTransactions(sc: SequencerCounter, ts: SequencedTime, envelopes: List[DefaultOpenEnvelope])(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  40. implicit val processingResultMonoid: Monoid[ProcessingResult]
  41. val protocolVersion: ProtocolVersion
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  42. val recordOrderPublisher: RecordOrderPublisher
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  43. val repairProcessor: RepairProcessor
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  44. def repairProcessorWedging(upToExclusive: CantonTimestamp)(implicit traceContext: TraceContext): FutureUnlessShutdown[ProcessingResult]
    Attributes
    protected
    Definition Classes
    MessageDispatcher
  45. val requestCounterAllocator: RequestCounterAllocator
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  46. val requestProcessors: RequestProcessors
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  47. val requestTracker: RequestTracker
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  48. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  49. def toString(): String
    Definition Classes
    AnyRef → Any
  50. val topologyProcessor: (SequencerCounter, SequencedTime, Traced[List[DefaultOpenEnvelope]]) => HandlerResult
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  51. val uniqueContractKeys: Boolean
    Attributes
    protected
    Definition Classes
    DefaultMessageDispatcherMessageDispatcher
  52. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  53. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  54. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  55. def withNewTrace[A](description: String)(f: (TraceContext) => (SpanWrapper) => A)(implicit tracer: Tracer): A
    Attributes
    protected
    Definition Classes
    Spanning
  56. def withSpan[A](description: String)(f: (TraceContext) => (SpanWrapper) => A)(implicit traceContext: TraceContext, tracer: Tracer): A
    Attributes
    protected
    Definition Classes
    Spanning
  57. 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