Struct txn_lock::TxnLock

source ·
pub struct TxnLock<TxnId, T> { /* private fields */ }
Expand description

A futures-aware read-write lock which supports transaction-specific versioning

Implementations§

Create a new transactional lock.

Lock this value for reading at the given txn_id.

Synchronously Lock this value for reading at the given txn_id, if possible.

Lock this value for exclusive reading at the given txn_id.

Synchronously lock this value for exclusive reading at the given txn_id, if possible.

Lock this value for writing at the given txn_id.

Synchronously lock this value for writing at the given txn_id, if possible.

Commit the value of this TxnLock at the given txn_id. This will wait until any earlier write locks have been committed or rolled back.

Panics:

  • when called with a txn_id which has already been finalized.
  • when attempting to commit a version at a txn_id less than the last committed version

Roll back the value of this TxnLock at the given txn_id.

Returns the version that was rolled back, if any lock was acquired at txn_id.

Panics:

  • if the initial version is rolled back
  • if a committed version is rolled back

Drop all values of this TxnLock as old as than the given txn_id up to the last commit.

Returns Some(Arc<T>) with the finalized version, if any lock was acquired at txn_id.

Panics:

  • if the initial version is finalized before being committed
  • if the last commit is finalized

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.