package submission

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. final case class ChangeIdHash(hash: LfHash) extends PrettyPrinting with Product with Serializable
  2. trait CommandDeduplicator extends AnyRef

    Implements the command deduplication logic.

    Implements the command deduplication logic.

    All method calls should be coordinated by the InFlightSubmissionTracker. In particular, checkDeduplication must not be called concurrently with processPublications for the same com.daml.ledger.participant.state.v2.ChangeIds.

  3. class CommandDeduplicatorImpl extends CommandDeduplicator with NamedLogging
  4. class ConfirmationRequestFactory extends NamedLogging

    Factory class for creating confirmation requests from Daml-LF transactions.

  5. case class InFlightSubmission[+SequencingInfo <: SubmissionSequencingInfo](changeIdHash: ChangeIdHash, submissionId: Option[LedgerSubmissionId], submissionDomain: DomainId, messageUuid: UUID, sequencingInfo: SequencingInfo, submissionTraceContext: TraceContext) extends PrettyPrinting with Product with Serializable

    Collects information about an in-flight submission, to be stored in com.digitalasset.canton.participant.store.InFlightSubmissionStore.

    Collects information about an in-flight submission, to be stored in com.digitalasset.canton.participant.store.InFlightSubmissionStore.

    changeIdHash

    The identifier for the intended ledger change. We only include the hash instead of the com.daml.ledger.participant.state.v2.ChangeId so that we do not need to persist and reconstruct the actual contents of the com.daml.ledger.participant.state.v2.ChangeId when we read an InFlightSubmission from the store.

    submissionId

    Optional submission id.

    submissionDomain

    The domain to which the submission is supposed to be/was sent.

    messageUuid

    The message UUID that will be/has been used for the com.digitalasset.canton.sequencing.protocol.SubmissionRequest

    sequencingInfo

    Information about when the request will be/was sequenced

    submissionTraceContext

    The com.digitalasset.canton.tracing.TraceContext of the submission.

  6. class InFlightSubmissionTracker extends FlagCloseable with NamedLogging

    Tracker for in-flight submissions backed by the com.digitalasset.canton.participant.store.InFlightSubmissionStore.

    Tracker for in-flight submissions backed by the com.digitalasset.canton.participant.store.InFlightSubmissionStore.

    A submission is in flight if it is in the com.digitalasset.canton.participant.store.InFlightSubmissionStore. The tracker registers a submission before the com.digitalasset.canton.sequencing.protocol.SubmissionRequest is sent to the com.digitalasset.canton.sequencing.client.SequencerClient of a domain. After the corresponding event has been published into the com.digitalasset.canton.participant.store.MultiDomainEventLog state updates, the submission will be removed from the com.digitalasset.canton.participant.store.InFlightSubmissionStore again. This happens normally as part of request processing after phase 7. If the submission has not been sequenced by the specified com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission.timeout, say because the submission was lost on the way to the sequencer, the participant generates an appropriate update because the submission will never reach request processing. The latter must work even if the participant crashes (if run with persistence).

  7. class SeedGenerator extends AnyRef

    Creates seeds and UUIDs for requests.

  8. case class SequencedSubmission(sequencerCounter: SequencerCounter, sequencingTime: CantonTimestamp) extends SubmissionSequencingInfo with Product with Serializable

    The observed sequencing information of an InFlightSubmission

    The observed sequencing information of an InFlightSubmission

    sequencerCounter

    The com.digitalasset.canton.SequencerCounter assigned to the com.digitalasset.canton.sequencing.protocol.SubmissionRequest

    sequencingTime

    The sequencer timestamp assigned to the com.digitalasset.canton.sequencing.protocol.SubmissionRequest

  9. sealed trait SubmissionSequencingInfo extends Product with Serializable with PrettyPrinting

    Information about when an InFlightSubmission was/will be sequenced

  10. trait SubmissionTrackingData extends Product with Serializable with HasProtoV0[v0.SubmissionTrackingData] with HasVersionedWrapper[VersionedSubmissionTrackingData] with PrettyPrinting

    The data of an in-flight unsequenced submission that suffices to produce a rejection reason.

    The data of an in-flight unsequenced submission that suffices to produce a rejection reason. This data is persisted in the com.digitalasset.canton.participant.store.InFlightSubmissionStore for unsequenced submissions and updated when the corresponding a com.digitalasset.canton.sequencing.protocol.DeliverError is processed or the submission could not be sent to the sequencer.

  11. case class TransactionSubmissionTrackingData(completionInfo: CompletionInfo, rejectionCause: RejectionCause) extends SubmissionTrackingData with Product with Serializable

    Tracking data for transactions

  12. trait TransactionTreeFactory extends AnyRef
  13. class TransactionTreeFactoryImpl extends TransactionTreeFactory with NamedLogging

    Factory class that can create the com.digitalasset.canton.data.GenTransactionTrees from a com.digitalasset.canton.protocol.WellFormedTransaction.

  14. case class UnsequencedSubmission(timeout: CantonTimestamp, trackingData: SubmissionTrackingData) extends SubmissionSequencingInfo with Product with Serializable

    Identifies an InFlightSubmission whose sequencing has not yet been observed.

    Identifies an InFlightSubmission whose sequencing has not yet been observed.

    timeout

    The point in sequencer time after which the submission cannot be sequenced any more. Typically this is the max sequencing time for the com.digitalasset.canton.sequencing.protocol.SubmissionRequest. It can be earlier if the submission logic decided to not send a request at all or the sent request was rejected

    trackingData

    The information required to produce an appropriate rejection event when the timeout has elapsed.

  15. trait WatermarkLookup[Mark] extends AnyRef
  16. class WatermarkTracker[Mark] extends WatermarkLookup[Mark] with NamedLogging

    Keeps track of a boundary WatermarkTracker.highWatermark that increases monotonically.

    Keeps track of a boundary WatermarkTracker.highWatermark that increases monotonically. Clients can do one of the following:

    The WatermarkTracker is effectively used to enforce mutual exclusion between two types of tasks.

Ungrouped