Packages

trait TransferStore extends TransferLookup

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TransferStore
  2. TransferLookup
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def addTransfer(transferData: TransferData)(implicit traceContext: TraceContext): EitherT[Future, TransferStoreError, Unit]

    Adds the transfer to the store.

    Adds the transfer to the store.

    Calls to this method are idempotent, independent of the order. Differences in protocol.transfer.TransferData!.transferOutResult between two calls are ignored if the field is scala.None$ in one of the calls. If applicable, the field content is merged.

    Exceptions thrown

    java.lang.IllegalArgumentException if the transfer's target domain is not the domain this TransferStore belongs to.

  2. abstract def addTransferOutResult(transferOutResult: DeliveredTransferOutResult)(implicit traceContext: TraceContext): EitherT[Future, TransferStoreError, Unit]

    Adds the given com.digitalasset.canton.protocol.messages.TransferOutResult to the transfer data in the store, provided that the transfer data has previously been stored.

    Adds the given com.digitalasset.canton.protocol.messages.TransferOutResult to the transfer data in the store, provided that the transfer data has previously been stored.

    The same com.digitalasset.canton.protocol.messages.TransferOutResult can be added any number of times. This includes transfer-out results that are in the protocol.transfer.TransferData!.transferOutResult added with addTransfer.

    transferOutResult

    The transfer-out result to add

    returns

    TransferStore$.UnknownTransferId if the transfer has not previously been added with addTransfer. TransferStore$.TransferOutResultAlreadyExists if a different transfer-out result for the same transfer request has been added before, including as part of addTransfer.

  3. abstract def completeTransfer(transferId: TransferId, timeOfCompletion: TimeOfChange)(implicit traceContext: TraceContext): CheckedT[Future, Nothing, TransferStoreError, Unit]

    Marks the transfer as completed, i.e., a transfer-in request was committed.

    Marks the transfer as completed, i.e., a transfer-in request was committed. If the transfer has already been completed then a TransferStore.TransferAlreadyCompleted is reported, and the com.digitalasset.canton.participant.util.TimeOfChange of the completion is not changed from the old value.

    timeOfCompletion

    Provides the request counter and activeness time of the committed transfer-in request.

  4. abstract def deleteCompletionsSince(criterionInclusive: RequestCounter)(implicit traceContext: TraceContext): Future[Unit]

    Removes all completions of transfers that have been triggered by requests with at least the given counter.

    Removes all completions of transfers that have been triggered by requests with at least the given counter. This method must not be called concurrently with completeTransfer, but may be called concurrently with addTransfer and addTransferOutResult.

    Therefore, this method need not be linearizable w.r.t. completeTransfer. For example, if two requests rc1 complete two transfers while deleteCompletionsSince is running for some rc <= rc1, rc2, then there are no guarantees which of the completions of rc1 and rc2 remain.

  5. abstract def deleteTransfer(transferId: TransferId)(implicit traceContext: TraceContext): Future[Unit]

    Removes the transfer from the store, when the transfer-out request is rejected or the transfer is pruned.

  6. abstract def find(filterOrigin: Option[DomainId], filterRequestTimestamp: Option[CantonTimestamp], filterSubmitter: Option[LfPartyId], limit: Int)(implicit traceContext: TraceContext): Future[Seq[TransferData]]

    Find utility to look for in-flight transfers.

    Find utility to look for in-flight transfers. Queried by com.digitalasset.canton.console.commands.ParticipantAdministration#transfer.search. Results need not be consistent with lookup.

    Definition Classes
    TransferLookup
  7. abstract def findAfter(requestAfter: Option[(CantonTimestamp, DomainId)], limit: Int)(implicit traceContext: TraceContext): Future[Seq[TransferData]]

    Find utility to look for in-flight transfers.

    Find utility to look for in-flight transfers. Transfers are ordered by the tuple (request timestamp, origin domain ID), ie transfers are ordered by request timestamps and ties are broken with lexicographic ordering on domain IDs.

    The ordering here has been chosen to allow a participant to fetch all the pending transfers. The ordering has to be consistent accross calls and uniquely identify a pending transfer, but is otherwise arbitary.

    requestAfter

    optionally, specify a strict lower bound for the transfers returned, according to the (request timestamp, origin domain ID) ordering

    limit

    limit the number of results

    Definition Classes
    TransferLookup
  8. abstract def lookup(transferId: TransferId)(implicit traceContext: TraceContext): EitherT[Future, TransferLookupError, TransferData]

    Looks up the given in-flight transfer and returns the data associated with the transfer.

    Looks up the given in-flight transfer and returns the data associated with the transfer.

    returns

    scala.Left$(TransferStore.UnknownTransferId) if the transfer is unknown; scala.Left$(TransferStore.TransferCompleted) if the transfer has already been completed.

    Definition Classes
    TransferLookup

Concrete 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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from TransferLookup

Inherited from AnyRef

Inherited from Any

Ungrouped