common

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2020 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	PendingCommitKey = []byte{0}

	LastUpdatedOldBlocksKey = []byte{7}
)

Functions

func ConstructDataEntriesFromBlocksPvtData

func ConstructDataEntriesFromBlocksPvtData(blocksPvtData map[uint64][]*ledger.TxPvtData) map[uint64][]*DataEntry

func ConstructUpdateBatchFromUpdateEntries

func ConstructUpdateBatchFromUpdateEntries(updateEntries *EntriesForPvtDataOfOldBlocks, batch *leveldbhelper.UpdateBatch) (*leveldbhelper.UpdateBatch, error)

func DecodeDataValue

func DecodeDataValue(datavalueBytes []byte) (*rwset.CollectionPvtReadWriteSet, error)

func DecodeMissingDataValue

func DecodeMissingDataValue(bitmapBytes []byte) (*bitset.BitSet, error)

func DeriveKeys

func DeriveKeys(expiryEntry *ExpiryEntry) (dataKeys []*DataKey, missingDataKeys []*MissingDataKey)

DeriveKeys constructs dataKeys and missingDataKey from an expiryEntry

func EncodeDataKey

func EncodeDataKey(key *DataKey) []byte

func EncodeDataValue

func EncodeDataValue(collData *rwset.CollectionPvtReadWriteSet) ([]byte, error)

func EncodeExpiryKey

func EncodeExpiryKey(expiryKey *ExpiryKey) []byte

func EncodeExpiryValue

func EncodeExpiryValue(expiryData *ExpiryData) ([]byte, error)

func EncodeMissingDataKey

func EncodeMissingDataKey(key *MissingDataKey) []byte

func EncodeMissingDataValue

func EncodeMissingDataValue(bitmap *bitset.BitSet) ([]byte, error)

func GetLastUpdatedOldBlocksList

func GetLastUpdatedOldBlocksList(missingKeysIndexDB dbHandle) ([]uint64, error)

func GetMissingPvtDataInfoForMostRecentBlocks

func GetMissingPvtDataInfoForMostRecentBlocks(maxBlock int, lastCommittedBlk uint64, btlPolicy pvtdatapolicy.BTLPolicy, missingKeysIndexDB dbHandle) (ledger.MissingPvtDataInfo, error)

GetMissingPvtDataInfoForMostRecentBlocks

func IsExpired

func IsExpired(key NsCollBlk, btl pvtdatapolicy.BTLPolicy, latestBlkNum uint64) (bool, error)

func PassesFilter

func PassesFilter(dataKey *DataKey, filter ledger.PvtNsCollFilter) bool

func ProcessCollsEligibilityEnabled

func ProcessCollsEligibilityEnabled(committingBlk uint64, nsCollMap map[string][]string, collElgProcSync *CollElgProc, missingKeysIndexDB dbHandle) error

ProcessCollsEligibilityEnabled

func ResetLastUpdatedOldBlocksList

func ResetLastUpdatedOldBlocksList(missingKeysIndexDB dbHandle) error

func V11DecodeKV

func V11DecodeKV(k, v []byte, filter ledger.PvtNsCollFilter) (*ledger.TxPvtData, error)

func V11Format

func V11Format(datakeyBytes []byte) (bool, error)

func V11RetrievePvtdata

func V11RetrievePvtdata(pvtDataResults map[string][]byte, filter ledger.PvtNsCollFilter) ([]*ledger.TxPvtData, error)

Types

type CollElgProc

type CollElgProc struct {
	// contains filtered or unexported fields
}

func NewCollElgProc

func NewCollElgProc(purgerLock *sync.Mutex, missingKeysIndexDB *leveldbhelper.DBHandle, ledgerconfig *ledger.Config) *CollElgProc

func (*CollElgProc) LaunchCollElgProc

func (c *CollElgProc) LaunchCollElgProc()

func (*CollElgProc) WaitForDone

func (c *CollElgProc) WaitForDone()

type DataEntry

type DataEntry struct {
	Key   *DataKey
	Value *rwset.CollectionPvtReadWriteSet
}

type DataKey

type DataKey struct {
	NsCollBlk
	TxNum uint64
}

func DecodeDatakey

func DecodeDatakey(datakeyBytes []byte) (*DataKey, error)

type EntriesForPvtDataOfOldBlocks

type EntriesForPvtDataOfOldBlocks struct {
	// for each <ns, coll, blkNum, txNum>, store the dataEntry, i.e., pvtData
	DataEntries map[DataKey]*rwset.CollectionPvtReadWriteSet
	// store the retrieved (& updated) expiryData in expiryEntries
	ExpiryEntries map[ExpiryKey]*ExpiryData
	// for each <ns, coll, blkNum>, store the retrieved (& updated) bitmap in the missingDataEntries
	MissingDataEntries map[NsCollBlk]*bitset.BitSet
}

func ConstructUpdateEntriesFromDataEntries

func ConstructUpdateEntriesFromDataEntries(dataEntries []*DataEntry, btlPolicy pvtdatapolicy.BTLPolicy,
	getExpiryDataOfExpiryKey func(*ExpiryKey) (*ExpiryData, error), getBitmapOfMissingDataKey func(*MissingDataKey) (*bitset.BitSet, error)) (*EntriesForPvtDataOfOldBlocks, error)

func (*EntriesForPvtDataOfOldBlocks) AddDataEntry

func (updateEntries *EntriesForPvtDataOfOldBlocks) AddDataEntry(dataEntry *DataEntry)

func (*EntriesForPvtDataOfOldBlocks) UpdateAndAddExpiryEntry

func (updateEntries *EntriesForPvtDataOfOldBlocks) UpdateAndAddExpiryEntry(expiryEntry *ExpiryEntry, dataKey *DataKey)

func (*EntriesForPvtDataOfOldBlocks) UpdateAndAddMissingDataEntry

func (updateEntries *EntriesForPvtDataOfOldBlocks) UpdateAndAddMissingDataEntry(missingData *bitset.BitSet, dataKey *DataKey)

type ExpiryData

type ExpiryData pvtdatastorage.ExpiryData

func DecodeExpiryValue

func DecodeExpiryValue(expiryValueBytes []byte) (*ExpiryData, error)

func NewExpiryData

func NewExpiryData() *ExpiryData

func (*ExpiryData) AddMissingData

func (e *ExpiryData) AddMissingData(ns, coll string)

func (*ExpiryData) AddPresentData

func (e *ExpiryData) AddPresentData(ns, coll string, txNum uint64)

func (*ExpiryData) ProtoMessage

func (*ExpiryData) ProtoMessage()

func (*ExpiryData) Reset

func (e *ExpiryData) Reset()

func (*ExpiryData) String

func (e *ExpiryData) String() string

type ExpiryEntry

type ExpiryEntry struct {
	Key   *ExpiryKey
	Value *ExpiryData
}

type ExpiryKey

type ExpiryKey struct {
	ExpiringBlk   uint64
	CommittingBlk uint64
}

func DecodeExpiryKey

func DecodeExpiryKey(expiryKeyBytes []byte) (*ExpiryKey, error)

type MissingDataKey

type MissingDataKey struct {
	NsCollBlk
	IsEligible bool
}

type NsCollBlk

type NsCollBlk struct {
	Ns, Coll string
	BlkNum   uint64
}

type StoreEntries

type StoreEntries struct {
	DataEntries        []*DataEntry
	ExpiryEntries      []*ExpiryEntry
	MissingDataEntries map[MissingDataKey]*bitset.BitSet
}

func PrepareStoreEntries

func PrepareStoreEntries(blockNum uint64, pvtData []*ledger.TxPvtData, btlPolicy pvtdatapolicy.BTLPolicy,
	missingPvtData ledger.TxMissingPvtDataMap) (*StoreEntries, error)

type TxPvtdataAssembler

type TxPvtdataAssembler struct {
	// contains filtered or unexported fields
}

func NewTxPvtdataAssembler

func NewTxPvtdataAssembler(blockNum, txNum uint64) *TxPvtdataAssembler

func (*TxPvtdataAssembler) Add

func (a *TxPvtdataAssembler) Add(ns string, collPvtWset *rwset.CollectionPvtReadWriteSet)

func (*TxPvtdataAssembler) GetTxPvtdata

func (a *TxPvtdataAssembler) GetTxPvtdata() *ledger.TxPvtData

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL