Documentation ¶
Index ¶
- Variables
- func CtxWithTxID(ctx context.Context, id data.TxID) context.Context
- func TxIDFromCtx(ctx context.Context) data.TxID
- type Algo
- type Data
- type Handle
- type KeyCommitStatus
- type LockStats
- type Locker
- func (v *Locker) LockCreate(ctx context.Context, key string, tid data.TxID) error
- func (v *Locker) LockRead(ctx context.Context, key string, tid data.TxID) error
- func (v *Locker) LockType(key string, tid data.TxID) storage.LockType
- func (v *Locker) LockWrite(ctx context.Context, key string, tid data.TxID) error
- func (v *Locker) LockedPaths(tid data.TxID) []storage.PathLock
- func (v *Locker) StatsAndReset() LockStats
- func (v *Locker) Unlock(ctx context.Context, key string, tid data.TxID) error
- type Monitor
- func (m *Monitor) AbortTx(ctx context.Context, tid data.TxID) error
- func (m *Monitor) BeginTx(_ context.Context, tid data.TxID)
- func (m *Monitor) CommitTx(ctx context.Context, tl storage.TxLog) error
- func (m *Monitor) CommittedValue(ctx context.Context, key string, tid data.TxID) (KeyCommitStatus, error)
- func (m *Monitor) StartRefreshTx(ctx context.Context, tid data.TxID)
- func (m *Monitor) TxStatus(ctx context.Context, tid data.TxID) (storage.TxCommitStatus, error)
- func (m *Monitor) WaitForTx(ctx context.Context, tid data.TxID) <-chan WaitTxResult
- type ReadAccess
- type ReadValue
- type ReadVersion
- type Reader
- type WaitTxResult
- type WriteAccess
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrAlreadyFinalized = errors.New("transaction was already finalized")
View Source
var ErrRetry = errors.New("retry transaction")
Functions ¶
Types ¶
type Data ¶
type Data struct { Reads []ReadAccess Writes []WriteAccess }
type KeyCommitStatus ¶
type KeyCommitStatus struct { Status storage.TxCommitStatus Value storage.TValue }
type Locker ¶
type Locker struct {
// contains filtered or unexported fields
}
Locker implements locking on top of the global storage.
Waits and retries are handled transparently.
func (*Locker) LockCreate ¶
func (*Locker) StatsAndReset ¶
type Monitor ¶
type Monitor struct {
// contains filtered or unexported fields
}
func NewMonitor ¶
func (*Monitor) CommittedValue ¶
func (*Monitor) StartRefreshTx ¶
type ReadAccess ¶
type ReadAccess struct { Path string Version ReadVersion Found bool }
type ReadVersion ¶
func (ReadVersion) IsLocal ¶
func (r ReadVersion) IsLocal() bool
func (ReadVersion) ToStorageVersion ¶
func (r ReadVersion) ToStorageVersion() storage.Version
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
func (Reader) GetMetadata ¶
type WaitTxResult ¶
type WaitTxResult struct { Status storage.TxCommitStatus Err error }
type WriteAccess ¶
Click to show internal directories.
Click to hide internal directories.