class InMemoryInFlightSubmissionStore extends InFlightSubmissionStore with NamedLogging
In-memory implementation of com.digitalasset.canton.participant.store.InFlightSubmissionStore
- Alphabetic
- By Inheritance
- InMemoryInFlightSubmissionStore
- NamedLogging
- InFlightSubmissionStore
- AutoCloseable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new InMemoryInFlightSubmissionStore(loggerFactory: NamedLoggerFactory)(implicit executionContext: ExecutionContext)
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() @HotSpotIntrinsicCandidate()
- def close(): Unit
- Definition Classes
- InMemoryInFlightSubmissionStore → AutoCloseable
- def delete(submissions: Seq[InFlightReference])(implicit traceContext: TraceContext): Future[Unit]
Deletes the referred to in-flight submissions if there are any.
Deletes the referred to in-flight submissions if there are any.
If the com.digitalasset.canton.sequencing.protocol.MessageId in com.digitalasset.canton.participant.store.InFlightSubmissionStore.InFlightByMessageId is not a UUID, there cannot be a matching in-flight submission because register forces a UUID for the message ID.
- Definition Classes
- InMemoryInFlightSubmissionStore → InFlightSubmissionStore
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def logger: TracedLogger
- Attributes
- protected
- Definition Classes
- NamedLogging
- val loggerFactory: NamedLoggerFactory
- Attributes
- protected
- Definition Classes
- InMemoryInFlightSubmissionStore → NamedLogging
- def lookup(changeIdHash: ChangeIdHash)(implicit traceContext: TraceContext): OptionT[Future, InFlightSubmission[SubmissionSequencingInfo]]
Retrieves the in-flight submission for the given com.daml.ledger.participant.state.v2.ChangeId if one exists.
Retrieves the in-flight submission for the given com.daml.ledger.participant.state.v2.ChangeId if one exists.
- Definition Classes
- InMemoryInFlightSubmissionStore → InFlightSubmissionStore
- def lookupEarliest(domainId: DomainId)(implicit traceContext: TraceContext): Future[Option[CantonTimestamp]]
Returns the earliest com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission.timeout or com.digitalasset.canton.participant.protocol.submission.SequencedSubmission.sequencingTime in the store, if any, for the given domain.
Returns the earliest com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission.timeout or com.digitalasset.canton.participant.protocol.submission.SequencedSubmission.sequencingTime in the store, if any, for the given domain.
- Definition Classes
- InMemoryInFlightSubmissionStore → InFlightSubmissionStore
- def lookupSequencedUptoUnordered(domainId: DomainId, sequencingTimeInclusive: CantonTimestamp)(implicit traceContext: TraceContext): Future[Seq[InFlightSubmission[SequencedSubmission]]]
Returns all sequenced in-flight submissions on the given domain whose com.digitalasset.canton.participant.protocol.submission.SequencedSubmission.sequencingTime is no later than
sequencingTimeInclusive
.Returns all sequenced in-flight submissions on the given domain whose com.digitalasset.canton.participant.protocol.submission.SequencedSubmission.sequencingTime is no later than
sequencingTimeInclusive
.The in-flight submissions are not returned in any specific order.
- Definition Classes
- InMemoryInFlightSubmissionStore → InFlightSubmissionStore
- def lookupSomeMessageId(domainId: DomainId, messageId: MessageId)(implicit traceContext: TraceContext): Future[Option[InFlightSubmission[SubmissionSequencingInfo]]]
Returns one of the in-flight submissions with the given com.digitalasset.canton.topology.DomainId and com.digitalasset.canton.sequencing.protocol.MessageId, if any.
Returns one of the in-flight submissions with the given com.digitalasset.canton.topology.DomainId and com.digitalasset.canton.sequencing.protocol.MessageId, if any.
- Definition Classes
- InMemoryInFlightSubmissionStore → InFlightSubmissionStore
- def lookupUnsequencedUptoUnordered(domainId: DomainId, observedSequencingTime: CantonTimestamp)(implicit traceContext: TraceContext): Future[Seq[InFlightSubmission[UnsequencedSubmission]]]
Returns all unsequenced in-flight submissions on the given domain whose com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission.timeout is no later than
observedSequencingTime
.Returns all unsequenced in-flight submissions on the given domain whose com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission.timeout is no later than
observedSequencingTime
.The in-flight submissions are not returned in any specific order.
- Definition Classes
- InMemoryInFlightSubmissionStore → InFlightSubmissionStore
- implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noTracingLogger: Logger
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def observeSequencing(domainId: DomainId, submissions: Map[MessageId, SequencedSubmission])(implicit traceContext: TraceContext): Future[Unit]
Moves the submissions to the given domain with the given com.digitalasset.canton.sequencing.protocol.MessageIds from com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission to com.digitalasset.canton.participant.protocol.submission.SequencedSubmission.
Moves the submissions to the given domain with the given com.digitalasset.canton.sequencing.protocol.MessageIds from com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission to com.digitalasset.canton.participant.protocol.submission.SequencedSubmission.
- Definition Classes
- InMemoryInFlightSubmissionStore → InFlightSubmissionStore
- def register(submission: InFlightSubmission[UnsequencedSubmission]): EitherT[FutureUnlessShutdown, InFlightSubmission[SubmissionSequencingInfo], Unit]
Registers the given submission as being in flight and unsequenced unless there already is an in-flight submission for the same change ID.
Registers the given submission as being in flight and unsequenced unless there already is an in-flight submission for the same change ID.
This method MUST NOT run concurrently with a delete query for the same change ID and message ID. When this method fails with an exception, it is unknown whether the submission was registered.
- returns
A scala.Left$ of the existing in-flight submission with the same change ID and a different com.digitalasset.canton.sequencing.protocol.MessageId if there is any.
- Definition Classes
- InMemoryInFlightSubmissionStore → InFlightSubmissionStore
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def updateUnsequenced(changeIdHash: ChangeIdHash, submissionDomain: DomainId, messageId: MessageId, newSequencingInfo: UnsequencedSubmission)(implicit traceContext: TraceContext): Future[Unit]
Update the in-flight submission identified by the given
changeId
ifsubmissionDomain
andmessageId
match and it is unsequenced and the existing com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission.timeout is not earlier than thenewSequencingInfo
's com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission.timeout.Update the in-flight submission identified by the given
changeId
ifsubmissionDomain
andmessageId
match and it is unsequenced and the existing com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission.timeout is not earlier than thenewSequencingInfo
's com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission.timeout. Only the field com.digitalasset.canton.participant.protocol.submission.InFlightSubmission.sequencingInfo is updated.This is useful to change when and how a rejection is reported, e.g., if the submission logic decided to not send the com.digitalasset.canton.sequencing.protocol.SubmissionRequest to the sequencer after all.
- Definition Classes
- InMemoryInFlightSubmissionStore → InFlightSubmissionStore
- 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])