Documentation ¶
Index ¶
- type CollElgInfo
- func (*CollElgInfo) Descriptor() ([]byte, []int)
- func (m *CollElgInfo) GetNsCollMap() map[string]*CollNames
- func (*CollElgInfo) ProtoMessage()
- func (m *CollElgInfo) Reset()
- func (m *CollElgInfo) String() string
- func (m *CollElgInfo) XXX_DiscardUnknown()
- func (m *CollElgInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *CollElgInfo) XXX_Merge(src proto.Message)
- func (m *CollElgInfo) XXX_Size() int
- func (m *CollElgInfo) XXX_Unmarshal(b []byte) error
- type CollNames
- func (*CollNames) Descriptor() ([]byte, []int)
- func (m *CollNames) GetEntries() []string
- func (*CollNames) ProtoMessage()
- func (m *CollNames) Reset()
- func (m *CollNames) String() string
- func (m *CollNames) XXX_DiscardUnknown()
- func (m *CollNames) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *CollNames) XXX_Merge(src proto.Message)
- func (m *CollNames) XXX_Size() int
- func (m *CollNames) XXX_Unmarshal(b []byte) error
- type Collections
- func (*Collections) Descriptor() ([]byte, []int)
- func (m *Collections) GetMap() map[string]*TxNums
- func (m *Collections) GetMissingDataMap() map[string]bool
- func (*Collections) ProtoMessage()
- func (m *Collections) Reset()
- func (m *Collections) String() string
- func (m *Collections) XXX_DiscardUnknown()
- func (m *Collections) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *Collections) XXX_Merge(src proto.Message)
- func (m *Collections) XXX_Size() int
- func (m *Collections) XXX_Unmarshal(b []byte) error
- type ErrIllegalArgs
- type ErrIllegalCall
- type ErrOutOfRange
- type ExpiryData
- func (*ExpiryData) Descriptor() ([]byte, []int)
- func (m *ExpiryData) GetMap() map[string]*Collections
- func (*ExpiryData) ProtoMessage()
- func (m *ExpiryData) Reset()
- func (m *ExpiryData) String() string
- func (m *ExpiryData) XXX_DiscardUnknown()
- func (m *ExpiryData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *ExpiryData) XXX_Merge(src proto.Message)
- func (m *ExpiryData) XXX_Size() int
- func (m *ExpiryData) XXX_Unmarshal(b []byte) error
- type Provider
- type Store
- type StoreEnv
- type TxNums
- func (*TxNums) Descriptor() ([]byte, []int)
- func (m *TxNums) GetList() []uint64
- func (*TxNums) ProtoMessage()
- func (m *TxNums) Reset()
- func (m *TxNums) String() string
- func (m *TxNums) XXX_DiscardUnknown()
- func (m *TxNums) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *TxNums) XXX_Merge(src proto.Message)
- func (m *TxNums) XXX_Size() int
- func (m *TxNums) XXX_Unmarshal(b []byte) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CollElgInfo ¶
type CollElgInfo struct { NsCollMap map[string]*CollNames `` /* 159-byte string literal not displayed */ XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*CollElgInfo) Descriptor ¶
func (*CollElgInfo) Descriptor() ([]byte, []int)
func (*CollElgInfo) GetNsCollMap ¶
func (m *CollElgInfo) GetNsCollMap() map[string]*CollNames
func (*CollElgInfo) ProtoMessage ¶
func (*CollElgInfo) ProtoMessage()
func (*CollElgInfo) Reset ¶
func (m *CollElgInfo) Reset()
func (*CollElgInfo) String ¶
func (m *CollElgInfo) String() string
func (*CollElgInfo) XXX_DiscardUnknown ¶
func (m *CollElgInfo) XXX_DiscardUnknown()
func (*CollElgInfo) XXX_Marshal ¶
func (m *CollElgInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*CollElgInfo) XXX_Merge ¶
func (dst *CollElgInfo) XXX_Merge(src proto.Message)
func (*CollElgInfo) XXX_Size ¶
func (m *CollElgInfo) XXX_Size() int
func (*CollElgInfo) XXX_Unmarshal ¶
func (m *CollElgInfo) XXX_Unmarshal(b []byte) error
type CollNames ¶
type CollNames struct { Entries []string `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*CollNames) Descriptor ¶
func (*CollNames) GetEntries ¶
func (*CollNames) ProtoMessage ¶
func (*CollNames) ProtoMessage()
func (*CollNames) XXX_DiscardUnknown ¶
func (m *CollNames) XXX_DiscardUnknown()
func (*CollNames) XXX_Marshal ¶
func (*CollNames) XXX_Unmarshal ¶
type Collections ¶
type Collections struct { //对于pvt数据,会有一个 //进入TxNums Map map[string]*TxNums `` /* 147-byte string literal not displayed */ //对于集合中丢失的任何数量的pvt数据, //地图上会有一个条目 MissingDataMap map[string]bool `` /* 170-byte string literal not displayed */ XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*Collections) Descriptor ¶
func (*Collections) Descriptor() ([]byte, []int)
func (*Collections) GetMap ¶
func (m *Collections) GetMap() map[string]*TxNums
func (*Collections) GetMissingDataMap ¶
func (m *Collections) GetMissingDataMap() map[string]bool
func (*Collections) ProtoMessage ¶
func (*Collections) ProtoMessage()
func (*Collections) Reset ¶
func (m *Collections) Reset()
func (*Collections) String ¶
func (m *Collections) String() string
func (*Collections) XXX_DiscardUnknown ¶
func (m *Collections) XXX_DiscardUnknown()
func (*Collections) XXX_Marshal ¶
func (m *Collections) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*Collections) XXX_Merge ¶
func (dst *Collections) XXX_Merge(src proto.Message)
func (*Collections) XXX_Size ¶
func (m *Collections) XXX_Size() int
func (*Collections) XXX_Unmarshal ¶
func (m *Collections) XXX_Unmarshal(b []byte) error
type ErrIllegalArgs ¶
type ErrIllegalArgs struct {
// contains filtered or unexported fields
}
如果不允许传递的参数,则由store impl引发errilegalargs。
func (*ErrIllegalArgs) Error ¶
func (err *ErrIllegalArgs) Error() string
type ErrIllegalCall ¶
type ErrIllegalCall struct {
// contains filtered or unexported fields
}
如果存储不希望调用Prepare/Commit/Rollback/InitLastCommittedBlock,则由存储impl引发errillegalCall。
func (*ErrIllegalCall) Error ¶
func (err *ErrIllegalCall) Error() string
type ErrOutOfRange ¶
type ErrOutOfRange struct {
// contains filtered or unexported fields
}
对于尚未提交的数据请求,将引发erAutoFrange。
func (*ErrOutOfRange) Error ¶
func (err *ErrOutOfRange) Error() string
type ExpiryData ¶
type ExpiryData struct { Map map[string]*Collections `` /* 147-byte string literal not displayed */ XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*ExpiryData) Descriptor ¶
func (*ExpiryData) Descriptor() ([]byte, []int)
func (*ExpiryData) GetMap ¶
func (m *ExpiryData) GetMap() map[string]*Collections
func (*ExpiryData) ProtoMessage ¶
func (*ExpiryData) ProtoMessage()
func (*ExpiryData) Reset ¶
func (m *ExpiryData) Reset()
func (*ExpiryData) String ¶
func (m *ExpiryData) String() string
func (*ExpiryData) XXX_DiscardUnknown ¶
func (m *ExpiryData) XXX_DiscardUnknown()
func (*ExpiryData) XXX_Marshal ¶
func (m *ExpiryData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ExpiryData) XXX_Merge ¶
func (dst *ExpiryData) XXX_Merge(src proto.Message)
func (*ExpiryData) XXX_Size ¶
func (m *ExpiryData) XXX_Size() int
func (*ExpiryData) XXX_Unmarshal ¶
func (m *ExpiryData) XXX_Unmarshal(b []byte) error
type Store ¶
type Store interface { //init初始化存储。此函数应在使用存储之前调用 Init(btlPolicy pvtdatapolicy.BTLPolicy) //initlastcommittedblockheight将最后一个提交的块高度设置到pvt数据存储中 //此功能用于对等端以区块链启动的特殊情况。 //当pvt数据特性(因此存储)不是 //可用。此函数只能在这种情况下调用,因此 //如果存储不为空,则应引发错误。从这里成功返回 //功能存储区的状态应与调用Prepare/Commit的状态相同。 //块“0”到“blocknum”的函数,没有pvt数据 InitLastCommittedBlock(blockNum uint64) error //getpvtdatabyblocknum仅返回与给定块号对应的pvt数据 //pvt数据由筛选器中提供的“ns/collections”列表筛选。 //nil筛选器不筛选任何结果 GetPvtDataByBlockNum(blockNum uint64, filter ledger.PvtNsCollFilter) ([]*ledger.TxPvtData, error) //GetMissingPvtDataInfoFormsToRecentBlocks返回缺少的 //最新的'maxblock'块,它至少丢失符合条件的集合的私有数据。 GetMissingPvtDataInfoForMostRecentBlocks(maxBlock int) (ledger.MissingPvtDataInfo, error) //准备为提交pvt数据和存储合格和不合格做好准备。 //缺少私有数据--“合格”表示缺少的私有数据属于集合 //此对等方是其成员;“不合格”表示缺少的私有数据属于 //此对等方不是其成员的集合。 //此调用不会提交pvt数据并存储丢失的私有数据。随后,呼叫者 //应调用“commit”或“rollback”函数。从此处返回应确保 //已经做了足够的准备,以便随后调用的“commit”函数可以提交 //数据和存储能够在这个函数调用和下一个函数调用之间的崩溃中幸存 //调用“commit” Prepare(blockNum uint64, pvtData []*ledger.TxPvtData, missingPvtData ledger.TxMissingPvtDataMap) error //commit将上一次调用中传递的pvt数据提交给“prepare”函数 Commit() error //回滚将上一次调用中传递的pvt数据回滚到“prepare”函数 Rollback() error //当对等方有资格接收 //现有集合。参数“committingblk”引用包含相应的 //集合升级事务和参数“nscollmap”包含对等方的集合 //现在有资格接收pvt数据 ProcessCollsEligibilityEnabled(committingBlk uint64, nsCollMap map[string][]string) error //commitpvtdataofoldblocks提交旧块的pvtdata(即以前丢失的数据)。 //参数'block s pvtdata'引用pvtstore中缺少的旧块的pvtdata列表。 //此调用存储了一个名为“lastupdatedodldblockslist”的附加项,该项保留准确的列表 //更新的块。此列表将在恢复过程中使用。一旦statedb更新为 //必须删除这些pvtdata和“lastupdatedodldblockslist”。在对等机启动期间, //如果存在“lastupdatedodldblockslist”,则需要使用适当的pvtdata更新statedb。 CommitPvtDataOfOldBlocks(blocksPvtData map[uint64][]*ledger.TxPvtData) error //getlastupdatedoldblockspvtdata返回“lastupdatedoldblockslist”中列出的块的pvtdata GetLastUpdatedOldBlocksPvtData() (map[uint64][]*ledger.TxPvtData, error) //resetlastupdatedodldblockslist从存储中删除“lastupdatedodldblockslist”条目 ResetLastUpdatedOldBlocksList() error //如果存储区尚未提交任何块,则IsEmpty返回true IsEmpty() (bool, error) //last committed block height返回上一个提交块的高度 LastCommittedBlockHeight() (uint64, error) //如果存储有挂起的批,则返回hasPendingBatch HasPendingBatch() (bool, error) //关机停止存储 Shutdown() }
存储管理分类帐专用写入集的永久存储 因为pvt数据应该与 分类帐,两者都应该在逻辑上发生在原子操作中。整齐 为了实现这一点,该存储的实现应该提供 支持类似于两阶段的提交/回滚功能。 预期用途是-首先将私有数据提供给 此存储(通过“准备”功能),然后将块附加到块存储。 最后,在此基于存储的存储上调用“commit”或“rollback”函数之一 关于块是否成功写入。商店实施 在调用“prepare”和“commit”/“rollback”之间的服务器崩溃后,应该可以存活
type StoreEnv ¶
type StoreEnv struct { TestStoreProvider Provider TestStore Store // contains filtered or unexported fields }
store env提供用于测试的store env
func NewTestStoreEnv ¶
newteststorenv构造用于测试的storeenv
type TxNums ¶
type TxNums struct { List []uint64 `protobuf:"varint,1,rep,packed,name=list,proto3" json:"list,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*TxNums) Descriptor ¶
func (*TxNums) ProtoMessage ¶
func (*TxNums) ProtoMessage()
func (*TxNums) XXX_DiscardUnknown ¶
func (m *TxNums) XXX_DiscardUnknown()
func (*TxNums) XXX_Marshal ¶
func (*TxNums) XXX_Unmarshal ¶
Click to show internal directories.
Click to hide internal directories.