trait TrackedSubmission extends Submission
Submission to be tracked in-flight and with deduplication.
The actual batch to be sent is computed only later by TrackedSubmission.prepareBatch so that tracking information (e.g., the chosen deduplication period) can be incorporated into the batch.
- Alphabetic
- By Inheritance
- TrackedSubmission
- Submission
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def changeIdHash: ChangeIdHash
Change id hash to be used for deduplication of requests.
- abstract def commandDeduplicationFailure(failure: DeduplicationFailed): SubmissionTrackingData
The submission tracking data to be used in case command deduplication failed
- abstract def embedInFlightSubmissionTrackerError(error: InFlightSubmissionTrackerError): SubmissionError
Convert a com.digitalasset.canton.participant.protocol.submission.InFlightSubmissionTracker.InFlightSubmissionTrackerError into a
SubmissionError
to be returned by the com.digitalasset.canton.participant.protocol.ProtocolProcessor.submit method. - abstract def embedSequencerRequestError(error: SequencerRequestError): SubmissionSendError
- abstract def maxSequencingTimeO: OptionT[Future, CantonTimestamp]
Optional timestamp for the max sequencing time of the event.
Optional timestamp for the max sequencing time of the event.
If possible, set it to the upper limit when the event could be successfully processed. If scala.None, then the sequencer client default will be used.
- Definition Classes
- Submission
- abstract def onFailure: SubmissionResult
The
SubmissionResult
to return if something went wrong after having registered the submission for tracking.The
SubmissionResult
to return if something went wrong after having registered the submission for tracking. This result must not generate a completion event.Must not throw an exception.
- abstract def prepareBatch(actualDeduplicationOffset: DeduplicationOffset, maxSequencingTime: CantonTimestamp, sessionKeyStore: SessionKeyStore): EitherT[FutureUnlessShutdown, SubmissionTrackingData, PreparedBatch]
Phase 1, step 1a
Phase 1, step 1a
Prepare the batch of envelopes to be sent off given the com.digitalasset.canton.ledger.api.DeduplicationPeriod.DeduplicationOffset chosen by in-flight submission tracking and deduplication.
Errors will be reported asynchronously by updating the com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission for the changeIdHash.
Must not throw an exception.
- actualDeduplicationOffset
The deduplication offset chosen by command deduplication
- abstract def shutdownDuringInFlightRegistration: SubmissionError
Produce a
SubmissionError
to be returned by the com.digitalasset.canton.participant.protocol.ProtocolProcessor.submit method to indicate that a shutdown has happened during in-flight registration.Produce a
SubmissionError
to be returned by the com.digitalasset.canton.participant.protocol.ProtocolProcessor.submit method to indicate that a shutdown has happened during in-flight registration. The resultingSubmissionError
must convey neither that the submission is in-flight nor that it is not in-flight. - abstract def specifiedDeduplicationPeriod: DeduplicationPeriod
The deduplication period for the submission as specified in the com.digitalasset.canton.ledger.participant.state.v2.SubmitterInfo
- abstract def submissionId: Option[LedgerSubmissionId]
The submission ID of the submission, optional.
- abstract def submissionTimeoutTrackingData: SubmissionTrackingData
The tracking data for the submission to be persisted.
The tracking data for the submission to be persisted. If the submission is not sequenced by the max sequencing time, this data will be used to generate a timely rejection event via com.digitalasset.canton.participant.protocol.submission.SubmissionTrackingData.rejectionEvent.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])