Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlockDatabase ¶ added in v0.31.0
type BlockDatabase struct { *primary.BlockData *derived.DerivedBlockData }
BlockDatabase packages the primary index (BlockData) and secondary indices (DerivedBlockData) into a single database via 2PC.
func NewBlockDatabase ¶ added in v0.31.0
func NewBlockDatabase( storageSnapshot snapshot.StorageSnapshot, snapshotTime logical.Time, cachedDerivedBlockData *derived.DerivedBlockData, ) *BlockDatabase
NOTE: storageSnapshot must be thread safe.
func (*BlockDatabase) NewSnapshotReadTransaction ¶ added in v0.31.0
func (database *BlockDatabase) NewSnapshotReadTransaction( parameters state.StateParameters, ) Transaction
func (*BlockDatabase) NewTransaction ¶ added in v0.31.0
func (database *BlockDatabase) NewTransaction( executionTime logical.Time, parameters state.StateParameters, ) ( Transaction, error, )
type SerialTransaction ¶
type SerialTransaction struct { state.NestedTransactionPreparer *derived.DerivedTransactionData }
TODO(patrick): implement proper transaction.
type Transaction ¶
type Transaction interface { TransactionPreparer // SnapshotTime returns the transaction's current snapshot time. SnapshotTime() logical.Time // Finalize convert transaction preparer's intermediate state into // committable state. Finalize() error // Validate returns nil if the transaction does not conflict with // previously committed transactions. It returns an error otherwise. Validate() error // Commit commits the transaction. If the transaction conflict with // previously committed transactions, an error is returned and the // transaction is not committed. Commit() (*snapshot.ExecutionSnapshot, error) }
type TransactionPreparer ¶ added in v0.31.0
type TransactionPreparer interface { state.NestedTransactionPreparer derived.DerivedTransactionPreparer }
Click to show internal directories.
Click to hide internal directories.