Documentation ¶
Index ¶
- Variables
- type Simple
- func (dao *Simple) DeleteBlock(h common.Hash) error
- func (dao *Simple) DeleteStorageItem(hash common.Address, key []byte)
- func (dao *Simple) GetAndDecode(entity io.Serializable, key []byte) error
- func (dao *Simple) GetBatch() *storage.MemBatch
- func (dao *Simple) GetBlock(hash common.Hash) (*block.Block, *types.Receipt, error)
- func (dao *Simple) GetCurrentBlockHeight() (uint32, error)
- func (dao *Simple) GetCurrentHeaderHeight() (i uint32, h common.Hash, err error)
- func (dao *Simple) GetHeader(hash common.Hash) (*block.Header, error)
- func (dao *Simple) GetHeaderHashes() ([]common.Hash, error)
- func (dao *Simple) GetPrivate() *Simple
- func (dao *Simple) GetReceipt(hash common.Hash) (*types.Receipt, error)
- func (dao *Simple) GetStateSyncPoint() (uint32, error)
- func (dao *Simple) GetStorageItem(address common.Address, key []byte) state.StorageItem
- func (dao *Simple) GetStorageItems(hash common.Address) ([]state.StorageItemWithKey, error)
- func (dao *Simple) GetStorageItemsWithPrefix(hash common.Address, prefix []byte) ([]state.StorageItemWithKey, error)
- func (dao *Simple) GetTransaction(hash common.Hash) (*transaction.Transaction, *types.Receipt, error)
- func (dao *Simple) GetVersion() (Version, error)
- func (dao *Simple) GetWrapped() *Simple
- func (dao *Simple) HasTransaction(hash common.Hash) error
- func (dao *Simple) Persist() (int, error)
- func (dao *Simple) PersistSync() (int, error)
- func (dao *Simple) PutCurrentHeader(h common.Hash, index uint32)
- func (dao *Simple) PutStorageItem(hash common.Address, key []byte, si state.StorageItem)
- func (dao *Simple) PutVersion(v Version)
- func (dao *Simple) Seek(hash common.Address, rng storage.SeekRange, f func(k, v []byte) bool)
- func (dao *Simple) SeekAsync(ctx context.Context, hash common.Address, rng storage.SeekRange) chan storage.KeyValue
- func (dao *Simple) StoreAsBlock(block *block.Block, receipt *types.Receipt) error
- func (dao *Simple) StoreAsCurrentBlock(block *block.Block)
- func (dao *Simple) StoreAsHeader(header *block.Header) error
- func (dao *Simple) StoreAsTransaction(tx *transaction.Transaction, aer *types.Receipt) error
- func (dao *Simple) StoreHeaderHashes(hashes []common.Hash, height uint32) error
- type Version
Constants ¶
This section is empty.
Variables ¶
var ( // ErrAlreadyExists is returned when transaction exists in dao. ErrAlreadyExists = errors.New("transaction already exists") // ErrHasConflicts is returned when transaction is in the list of conflicting // transactions which are already in dao. ErrHasConflicts = errors.New("transaction has conflicts") )
HasTransaction errors.
Functions ¶
This section is empty.
Types ¶
type Simple ¶
type Simple struct { Version Version Store *storage.MemCachedStore // contains filtered or unexported fields }
Simple is memCached wrapper around DB, simple DAO implementation.
func (*Simple) DeleteBlock ¶
DeleteBlock removes block from dao. It's not atomic, so make sure you're using private MemCached instance here.
func (*Simple) DeleteStorageItem ¶
DeleteStorageItem drops storage item for the given id with the given key from the store.
func (*Simple) GetAndDecode ¶
func (dao *Simple) GetAndDecode(entity io.Serializable, key []byte) error
GetAndDecode performs get operation and decoding with serializable structures.
func (*Simple) GetCurrentBlockHeight ¶
GetCurrentBlockHeight returns the current block height found in the underlying store.
func (*Simple) GetCurrentHeaderHeight ¶
GetCurrentHeaderHeight returns the current header height and hash from the underlying store.
func (*Simple) GetHeaderHashes ¶
GetHeaderHashes returns a sorted list of header hashes retrieved from the given underlying store.
func (*Simple) GetPrivate ¶
GetPrivate returns new DAO instance with another layer of private MemCachedStore around the current DAO Store.
func (*Simple) GetReceipt ¶
GetAppExecResults gets application execution results with the specified trigger from the given store.
func (*Simple) GetStateSyncPoint ¶
GetStateSyncPoint returns current state synchronisation point P.
func (*Simple) GetStorageItem ¶
GetStorageItem returns StorageItem if it exists in the given store.
func (*Simple) GetStorageItems ¶
GetStorageItems returns all storage items for a given id.
func (*Simple) GetStorageItemsWithPrefix ¶
func (dao *Simple) GetStorageItemsWithPrefix(hash common.Address, prefix []byte) ([]state.StorageItemWithKey, error)
GetStorageItemsWithPrefix returns all storage items with given id for a given scripthash.
func (*Simple) GetTransaction ¶
func (dao *Simple) GetTransaction(hash common.Hash) (*transaction.Transaction, *types.Receipt, error)
GetTransaction returns Transaction and its height by the given hash if it exists in the store. It does not return dummy transactions.
func (*Simple) GetVersion ¶
GetVersion attempts to get the current version stored in the underlying store.
func (*Simple) GetWrapped ¶
GetWrapped returns new DAO instance with another layer of wrapped MemCachedStore around the current DAO Store.
func (*Simple) HasTransaction ¶
HasTransaction returns nil if the given store does not contain the given Transaction hash. It returns an error in case if transaction is in chain or in the list of conflicting transactions.
func (*Simple) Persist ¶
Persist flushes all the changes made into the (supposedly) persistent underlying store. It doesn't block accesses to DAO from other threads.
func (*Simple) PersistSync ¶
PersistSync flushes all the changes made into the (supposedly) persistent underlying store. It's a synchronous version of Persist that doesn't allow other threads to work with DAO while flushing the Store.
func (*Simple) PutCurrentHeader ¶
PutCurrentHeader stores current header.
func (*Simple) PutStorageItem ¶
PutStorageItem puts given StorageItem for given id with given key into the given store.
func (*Simple) PutVersion ¶
PutVersion stores the given version in the underlying store.
func (*Simple) Seek ¶
Seek executes f for all storage items matching a given `rng` (matching given prefix and starting from the point specified). If key or value is to be used outside of f, they may not be copied. Seek continues iterating until false is returned from f.
func (*Simple) SeekAsync ¶
func (dao *Simple) SeekAsync(ctx context.Context, hash common.Address, rng storage.SeekRange) chan storage.KeyValue
SeekAsync sends all storage items matching a given `rng` (matching given prefix and starting from the point specified) to a channel and returns the channel. Resulting keys and values may not be copied.
func (*Simple) StoreAsBlock ¶
func (*Simple) StoreAsCurrentBlock ¶
StoreAsCurrentBlock stores a hash of the given block with prefix SYSCurrentBlock. It can reuse given buffer for the purpose of value serialization.
func (*Simple) StoreAsTransaction ¶
func (dao *Simple) StoreAsTransaction(tx *transaction.Transaction, aer *types.Receipt) error