Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrStoreEmpty = errors.New("Transient store is empty")
errstoreEmpty用于指示临时存储中没有条目
Functions ¶
func GetTransientStorePath ¶
func GetTransientStorePath() string
getTransientStorePath返回临时存储私有Rwset的文件系统路径
Types ¶
type EndorserPvtSimulationResults ¶
type EndorserPvtSimulationResults struct { ReceivedAtBlockHeight uint64 PvtSimulationResults *rwset.TxPvtReadWriteSet }
背书人vt模拟结果捕获特定于背书人的模拟结果的详细信息 TODO:一旦根据FAB-5096进行了相关的八卦更改,请删除此结构
type EndorserPvtSimulationResultsWithConfig ¶
type EndorserPvtSimulationResultsWithConfig struct { ReceivedAtBlockHeight uint64 PvtSimulationResultsWithConfig *transientstore.TxPvtReadWriteSetWithConfigInfo }
背书人vt模拟结果thconfig捕获特定于背书人的模拟结果的详细信息
type RWSetScanner ¶
type RWSetScanner interface { //下一步返回RWSetscanner的下一个背书器vt模拟结果。 //如果没有进一步的数据,它可以返回nil,也可以返回错误。 //关于失败 Next() (*EndorserPvtSimulationResults, error) //NextWithConfig返回RWSetscanner中的下一个RemarkerPvSimulationResultsWithConfig。 //如果没有进一步的数据,它可以返回nil,也可以返回错误。 //关于失败 //TODO:一旦根据FAB-5096进行了相关的八卦更改,请删除上述功能 //并将下面的函数重命名为下一个表单NextWithConfig。 NextWithConfig() (*EndorserPvtSimulationResultsWithConfig, error) //关闭释放与此rwsetscanner关联的资源 Close() }
rwsetscanner为背书器vt模拟结果提供迭代器
type RwsetScanner ¶
type RwsetScanner struct {
// contains filtered or unexported fields
}
func (*RwsetScanner) Next ¶
func (scanner *RwsetScanner) Next() (*EndorserPvtSimulationResults, error)
下一步将迭代器移动到下一个键/值对。 它返回迭代器是否耗尽。 TODO: Once the related gossip changes are made as per FAB-5096, remove this function
func (*RwsetScanner) NextWithConfig ¶
func (scanner *RwsetScanner) NextWithConfig() (*EndorserPvtSimulationResultsWithConfig, error)
下一步将迭代器移动到下一个键/值对。 它返回迭代器是否耗尽。 TODO:根据FAB-5096对相关的八卦进行更改后,将此函数重命名为Next
type Store ¶
type Store interface { //持久性将事务的私有写入集存储在临时存储中 //根据TxID和块高度,在 Persist(txid string, blockHeight uint64, privateSimulationResults *rwset.TxPvtReadWriteSet) error //TODO:一旦根据FAB-5096进行了相关的八卦更改,请删除上述功能 //并将下面的函数重命名为persistewithconfig。 //PersisteWithConfig存储事务的私有写入集以及集合配置 //在基于txid和块高度的临时存储中,在 PersistWithConfig(txid string, blockHeight uint64, privateSimulationResultsWithConfig *transientstore.TxPvtReadWriteSetWithConfigInfo) error //gettxpvtrwsetbytxid返回迭代器,因为txid可能有多个private //来自不同代言人的写集(通过八卦) GetTxPvtRWSetByTxid(txid string, filter ledger.PvtNsCollFilter) (RWSetScanner, error) //PurgeByTxids removes private write sets of a given set of transactions from the //瞬态存储 PurgeByTxids(txids []string) error //purgebyHeight删除块高度小于 //给定的最大阻塞数。换句话说,清除只保留私有写集。 //保留在MaxBlockNumtoretain或更高的块高度。尽管是私人的 //用PurgBytxIdx()将存储在瞬态存储中的写集由协调器删除。 //块提交成功后,仍需要purgeByHeight()来删除孤立的条目(如 //transaction that gets endorsed may not be submitted by the client for commit) PurgeByHeight(maxBlockNumToRetain uint64) error //GetMinTransientBlkht返回瞬态存储中剩余的最低块高度 GetMinTransientBlkHt() (uint64, error) Shutdown() }
存储管理LedgerID的私有写入集的存储。 理想情况下,分类帐可以在将数据提交给 某些数据项的永久存储或修剪由策略强制执行
type StoreEnv ¶
type StoreEnv struct { TestStoreProvider StoreProvider TestStore Store // contains filtered or unexported fields }
store env提供用于测试的store env
type StoreProvider ¶
StoreProvider提供TransientStore的实例
func NewStoreProvider ¶
func NewStoreProvider() StoreProvider
Newstoreprovider实例化TransientStoreProvider
Click to show internal directories.
Click to hide internal directories.