template <typename T, typename SeqLockType>

class SeqLockPayload

Defined at line 14 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h

Public Members

static SyncOpt kCopySyncOpt

Public Methods

template <typename... Args>
void SeqLockPayload<T, SeqLockType> (Args &&... args)

Forwarding constructor for our payload, and an explicitly default destructor.

Defined at line 22 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h

void ~SeqLockPayload<T, SeqLockType> ()

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

void SeqLockPayload<T, SeqLockType> (const SeqLockPayload<T, SeqLockType> & )

No copy, no move

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

void SeqLockPayload<T, SeqLockType> (SeqLockPayload<T, SeqLockType> && )

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

SeqLockPayload<T, SeqLockType> & operator= (const SeqLockPayload<T, SeqLockType> & )

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

SeqLockPayload<T, SeqLockType> & operator= (SeqLockPayload<T, SeqLockType> && )

Defined at line 34 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h

void Read (T & dst)

Specific versions of Read/Update which always use the sync-opt dictated to

us by our associated lock type.

Defined at line 38 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h

void Update (const T & src)

Defined at line 39 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h

T & BeginInPlaceUpdate ()

Gain R/W access to the payload in order to perform an in-place update of

the contents fence-to-fence synchronization to protect the payload. All

stores to the payload accessed via this reference should be done using

relaxed atomic stores.

Defined at line 45 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h