Documentation ¶
Index ¶
- type ChainTempDb
- type IMemDag
- type KeyValue
- type MemDag
- func (chain *MemDag) AddUnit(unit *modules.Unit, txpool txspool.ITxPool, isGenerate bool) (common2.IUnitRepository, common2.IUtxoRepository, common2.IStateRepository, ...)
- func (pmg *MemDag) Close()
- func (chain *MemDag) GetChainUnits() map[common.Hash]*modules.Unit
- func (chain *MemDag) GetHeaderByHash(hash common.Hash) (*modules.Header, error)
- func (chain *MemDag) GetHeaderByNumber(number *modules.ChainIndex) (*modules.Header, error)
- func (chain *MemDag) GetLastMainChainUnit() *modules.Unit
- func (chain *MemDag) GetLastStableUnitInfo() (common.Hash, uint64)
- func (chain *MemDag) GetUnstableRepositories() (common2.IUnitRepository, common2.IUtxoRepository, common2.IStateRepository, ...)
- func (pmg *MemDag) SetStableThreshold(count int)
- func (chain *MemDag) SetUnitGroupSign(uHash common.Hash, groupSign []byte, txpool txspool.ITxPool) error
- func (pmg *MemDag) SubscribeToGroupSignEvent(ch chan<- modules.ToGroupSignEvent) event.Subscription
- type Tempdb
- func (db *Tempdb) Clear()
- func (db *Tempdb) Close()
- func (db *Tempdb) Delete(key []byte) error
- func (db *Tempdb) Get(key []byte) ([]byte, error)
- func (db *Tempdb) Has(key []byte) (bool, error)
- func (db *Tempdb) Len() int
- func (db *Tempdb) NewBatch() ptndb.Batch
- func (db *Tempdb) NewIterator() iterator.Iterator
- func (db *Tempdb) NewIteratorWithPrefix(prefix []byte) iterator.Iterator
- func (db *Tempdb) Put(key []byte, value []byte) error
- type TempdbIterator
- func (i *TempdbIterator) Error() error
- func (i *TempdbIterator) First() bool
- func (i *TempdbIterator) Key() []byte
- func (i *TempdbIterator) Last() bool
- func (i *TempdbIterator) Next() bool
- func (i *TempdbIterator) Prev() bool
- func (i *TempdbIterator) Release()
- func (i *TempdbIterator) Seek(key []byte) bool
- func (i *TempdbIterator) SetReleaser(releaser util.Releaser)
- func (i *TempdbIterator) Valid() bool
- func (i *TempdbIterator) Value() []byte
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChainTempDb ¶ added in v1.0.1
type ChainTempDb struct { Tempdb *Tempdb UnitRep comm2.IUnitRepository UtxoRep comm2.IUtxoRepository StateRep comm2.IStateRepository PropRep comm2.IPropRepository UnitProduceRep comm2.IUnitProduceRepository Validator validator.Validator Unit *modules.Unit }
func NewChainTempDb ¶ added in v1.0.1
func NewChainTempDb(db ptndb.Database, cache palletcache.ICache, tokenEngine tokenengine.ITokenEngine) (*ChainTempDb, error)
func (*ChainTempDb) AddUnit ¶ added in v1.0.1
func (chain_temp *ChainTempDb) AddUnit(unit *modules.Unit, saveHeaderOnly bool) (*ChainTempDb, error)
type IMemDag ¶
type IMemDag interface { AddUnit(unit *modules.Unit, txpool txspool.ITxPool, isProd bool) (common2.IUnitRepository, common2.IUtxoRepository, common2.IStateRepository, common2.IPropRepository, common2.IUnitProduceRepository, error) GetLastStableUnitInfo() (common.Hash, uint64) GetLastMainChainUnit() *modules.Unit GetChainUnits() map[common.Hash]*modules.Unit SetStableThreshold(threshold int) GetUnstableRepositories() (common2.IUnitRepository, common2.IUtxoRepository, common2.IStateRepository, common2.IPropRepository, common2.IUnitProduceRepository) SetUnitGroupSign(uHash common.Hash, groupSign []byte, txpool txspool.ITxPool) error GetHeaderByHash(hash common.Hash) (*modules.Header, error) GetHeaderByNumber(number *modules.ChainIndex) (*modules.Header, error) SubscribeToGroupSignEvent(ch chan<- modules.ToGroupSignEvent) event.Subscription Close() }
type MemDag ¶
type MemDag struct {
// contains filtered or unexported fields
}
func NewMemDag ¶
func NewMemDag(token modules.AssetId, threshold int, saveHeaderOnly bool, db ptndb.Database, stableUnitRep common2.IUnitRepository, propRep common2.IPropRepository, stableStateRep common2.IStateRepository, cache palletcache.ICache, tokenEngine tokenengine.ITokenEngine) *MemDag
func (*MemDag) AddUnit ¶
func (chain *MemDag) AddUnit(unit *modules.Unit, txpool txspool.ITxPool, isGenerate bool) (common2.IUnitRepository, common2.IUtxoRepository, common2.IStateRepository, common2.IPropRepository, common2.IUnitProduceRepository, error)
func (*MemDag) GetChainUnits ¶
查询所有不稳定单元(不包括孤儿单元)
func (*MemDag) GetHeaderByHash ¶
func (*MemDag) GetHeaderByNumber ¶
func (*MemDag) GetLastMainChainUnit ¶
func (*MemDag) GetLastStableUnitInfo ¶ added in v1.0.1
func (*MemDag) GetUnstableRepositories ¶
func (chain *MemDag) GetUnstableRepositories() (common2.IUnitRepository, common2.IUtxoRepository, common2.IStateRepository, common2.IPropRepository, common2.IUnitProduceRepository)
func (*MemDag) SetStableThreshold ¶
func (*MemDag) SetUnitGroupSign ¶
func (*MemDag) SubscribeToGroupSignEvent ¶
func (pmg *MemDag) SubscribeToGroupSignEvent(ch chan<- modules.ToGroupSignEvent) event.Subscription
type Tempdb ¶
type Tempdb struct {
// contains filtered or unexported fields
}
func (*Tempdb) NewIterator ¶
func (*Tempdb) NewIteratorWithPrefix ¶
NewIteratorWithPrefix returns a iterator to iterate over subset of database content with a particular prefix. 这个最复杂,需要先去db数据库查询出map,然后把temp的列举出来,同样key的会被替换成新值,如果出现在del里面就删除,然后map转KeyValue数组
type TempdbIterator ¶
type TempdbIterator struct {
// contains filtered or unexported fields
}
func (*TempdbIterator) Error ¶
func (i *TempdbIterator) Error() error
func (*TempdbIterator) Key ¶
func (i *TempdbIterator) Key() []byte
func (*TempdbIterator) Last ¶
func (i *TempdbIterator) Last() bool
func (*TempdbIterator) Next ¶
func (i *TempdbIterator) Next() bool
func (*TempdbIterator) Prev ¶
func (i *TempdbIterator) Prev() bool
func (*TempdbIterator) Release ¶
func (i *TempdbIterator) Release()
func (*TempdbIterator) Seek ¶
func (i *TempdbIterator) Seek(key []byte) bool
func (*TempdbIterator) SetReleaser ¶
func (i *TempdbIterator) SetReleaser(releaser util.Releaser)
func (*TempdbIterator) Valid ¶
func (i *TempdbIterator) Valid() bool
func (*TempdbIterator) Value ¶
func (i *TempdbIterator) Value() []byte
Click to show internal directories.
Click to hide internal directories.