class ChainLockTransactionCommon

Defined at line 26 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

ChainLockTransactionCommon is a base class that provides chain lock transaction facilities,

including transaction token and saved state types, reserved token values, and the global token

generator. This base class factors out common functionality from ChainLockTransactionBase that is

not dependent on the runtime environment. ChainLockTransactionBase provides additional

functionality and simplifies adapting chain locks to the runtime environment.

Public Members

static const uint64_t kUnlockedTokenValue
static const uint64_t kReservedTokenValues
static const uint64_t kInitialTokenValue
static const uint64_t kMaxTokenValue
static DoneType Done

Public Methods

void ~ChainLockTransactionCommon ()

Defined at line 28 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

void ChainLockTransactionCommon (const ChainLockTransactionCommon & )

Defined at line 30 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

ChainLockTransactionCommon & operator= (const ChainLockTransactionCommon & )

Defined at line 31 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

void ChainLockTransactionCommon (ChainLockTransactionCommon && )

Defined at line 32 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

ChainLockTransactionCommon & operator= (ChainLockTransactionCommon && )

Defined at line 33 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

Token token ()

Defined at line 66 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

Protected Methods

void ChainLockTransactionCommon ()

Defined at line 125 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

Token NextToken ()

Defined at line 127 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

Token ReservedToken (size_t reserved_index)

Defined at line 131 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

State state ()

Defined at line 142 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

void SetState (State state)

Defined at line 143 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

Enumerations

enum Action
Name Value
Backoff 0
Restart 1

Defined at line 92 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

enum State
Name Value
Started 0
Finalized 1
Complete 2

Defined at line 136 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/chainlock_transaction_common.h

Records

Friends

template <typename Derivedbool DebugAccountingEnabledbool TracingEnabled>
class ChainLockTransaction