Skip to content

ITransactionalResource Methods

Interface that allows a component to be a transaction participant.

Abort(Guid)

abstract
public abstract Task Abort(Guid transactionId)
One-way message sent by TA to participants to let them know a transaction has aborted.

Parameters

transactionIdGuid
The id of the aborted transaction

Cancel(Guid, DateTime, TransactionalStatus)

abstract
public abstract Task Cancel(Guid transactionId, DateTime timeStamp, TransactionalStatus status)
One-way message sent by TM to participants to let them know a transaction has aborted.

Parameters

transactionIdGuid
The id of the aborted transaction
timeStampDateTime
The commit timestamp of the aborted transaction
statusTransactionalStatus
Reason for abort

CommitReadOnly(Guid, AccessCounter, DateTime)

abstract
public abstract Task<TransactionalStatus> CommitReadOnly(Guid transactionId, AccessCounter accessCount, DateTime timeStamp)
Request sent by TA to all participants of a read-only transaction (one-phase commit). Participants respond after committing or aborting the read.

Parameters

transactionIdGuid
the id of the transaction to prepare
accessCountAccessCounter
number of reads/writes performed on this participant by this transaction
timeStampDateTime
the commit timestamp for this transaction

Confirm(Guid, DateTime)

abstract
public abstract Task Confirm(Guid transactionId, DateTime timeStamp)
Request sent by TM to participants to let them know a transaction has committed. Participants respond after cleaning up all prepare records.

Parameters

transactionIdGuid
The id of the committed transaction
timeStampDateTime
The commit timestamp of the committed transaction

Prepare(Guid, AccessCounter, DateTime, ParticipantId)

abstract
public abstract Task Prepare(Guid transactionId, AccessCounter accessCount, DateTime timeStamp, ParticipantId transactionManager)
One-way message sent by TA to all participants except TM.

Parameters

transactionIdGuid
the id of the transaction to prepare
accessCountAccessCounter
number of reads/writes performed on this participant by this transaction
timeStampDateTime
the commit timestamp for this transaction
transactionManagerParticipantId
the transaction manager for this transaction