Documentation
¶
Index ¶
- Constants
- func FmtComparedStat(v uint8) string
- func FmtConsensusBitsetEntry(v uint8) string
- func FmtConsensusStat(v uint8) string
- func PrepareSubVectorsComparison(sr ComparedBitsetRow, hasOtherTrusted, hasOtherDoubted bool) (SubVectorCompared, SubVectorCompared)
- type AnnouncementSequenceCalc
- func (p *AnnouncementSequenceCalc) AddNext(nodeData VectorEntryData, zeroPower bool)
- func (p *AnnouncementSequenceCalc) FinishSequence() cryptkit.DigestHolder
- func (p *AnnouncementSequenceCalc) ForkSequence() VectorEntryDigester
- func (p *AnnouncementSequenceCalc) ForkSequenceOf(s AnnouncementSequenceCalc)
- func (p *AnnouncementSequenceCalc) IsEmpty() bool
- type ComparedBitsetRow
- func (r *ComparedBitsetRow) Get(column int) ComparedState
- func (r *ComparedBitsetRow) GetSummaryByValue(value ComparedState) uint16
- func (r *ComparedBitsetRow) HasAllValues(value ComparedState) bool
- func (r *ComparedBitsetRow) HasAllValuesOf(value0, value1 ComparedState) bool
- func (r *ComparedBitsetRow) HasValues(value ComparedState) bool
- func (r *ComparedBitsetRow) Set(column int, value ComparedState) ComparedState
- func (r ComparedBitsetRow) String() string
- func (r ComparedBitsetRow) StringFull() string
- func (r ComparedBitsetRow) StringSummary() string
- type ComparedState
- type ConsensusBitsetEntry
- type ConsensusBitsetRow
- func (r *ConsensusBitsetRow) Get(column int) ConsensusBitsetEntry
- func (r *ConsensusBitsetRow) GetSummaryByValue(value ConsensusBitsetEntry) uint16
- func (r *ConsensusBitsetRow) HasAllValues(value ConsensusBitsetEntry) bool
- func (r *ConsensusBitsetRow) HasAllValuesOf(value0, value1 ConsensusBitsetEntry) bool
- func (r *ConsensusBitsetRow) HasValues(value ConsensusBitsetEntry) bool
- func (r *ConsensusBitsetRow) Set(column int, value ConsensusBitsetEntry) ConsensusBitsetEntry
- func (r ConsensusBitsetRow) String() string
- type ConsensusStat
- type ConsensusStatColumn
- type ConsensusStatRow
- func (r *ConsensusStatRow) Get(column int) ConsensusStat
- func (r *ConsensusStatRow) GetSummaryByValue(value ConsensusStat) uint16
- func (r *ConsensusStatRow) HasAllValues(value ConsensusStat) bool
- func (r *ConsensusStatRow) HasAllValuesOf(value0, value1 ConsensusStat) bool
- func (r *ConsensusStatRow) HasValues(value ConsensusStat) bool
- func (r *ConsensusStatRow) Set(column int, value ConsensusStat) ConsensusBitsetEntry
- func (r ConsensusStatRow) String() string
- type ConsensusStatTable
- func (t *ConsensusStatTable) AddRow(row *ConsensusStatRow) int
- func (t *ConsensusStatTable) AsText(header string) string
- func (t *ConsensusStatTable) EqualsTyped(o *ConsensusStatTable) bool
- func (t *ConsensusStatTable) GetColumn(colIndex int) *ConsensusStatColumn
- func (t *ConsensusStatTable) GetRow(rowIndex int) (*ConsensusStatRow, bool)
- func (t *ConsensusStatTable) NewRow() *ConsensusStatRow
- func (t *ConsensusStatTable) PutRow(rowIndex int, row *ConsensusStatRow)
- type EntryApplyFunc
- type EntryFilterFunc
- type LocalHashedNodeVector
- type MemberBitsetRow
- func (r *MemberBitsetRow) Get(column int) member.BitsetEntry
- func (r *MemberBitsetRow) GetSummaryByValue(value member.BitsetEntry) uint16
- func (r *MemberBitsetRow) HasAllValues(value member.BitsetEntry) bool
- func (r *MemberBitsetRow) HasAllValuesOf(value0, value1 member.BitsetEntry) bool
- func (r *MemberBitsetRow) HasValues(value member.BitsetEntry) bool
- func (r *MemberBitsetRow) Set(column int, value member.BitsetEntry) member.BitsetEntry
- type NodeVerificationResult
- func (v NodeVerificationResult) AllOf(f NodeVerificationResult) bool
- func (v NodeVerificationResult) AnyOf(f NodeVerificationResult) bool
- func (v *NodeVerificationResult) SetDoubted(valid bool, altered bool) bool
- func (v *NodeVerificationResult) SetTrusted(valid bool, altered bool) bool
- func (v NodeVerificationResult) String() string
- func (v NodeVerificationResult) StringPart(b *strings.Builder)
- type StateAndRankSequenceCalc
- func (p *StateAndRankSequenceCalc) AddNext(nodeData VectorEntryData, zeroPower bool)
- func (p *StateAndRankSequenceCalc) FinishSequence() (cryptkit.DigestHolder, member.FullRank, member.Index)
- func (p *StateAndRankSequenceCalc) ForkSequence() VectorEntryDigester
- func (p *StateAndRankSequenceCalc) ForkSequenceOf(s StateAndRankSequenceCalc)
- func (p *StateAndRankSequenceCalc) IsEmpty() bool
- type SubVectorCompared
- type VectorBuilder
- func (p *VectorBuilder) BuildAllGlobulaAnnouncementHashes() (proofs.GlobulaAnnouncementHash, proofs.GlobulaAnnouncementHash)
- func (p *VectorBuilder) BuildGlobulaAnnouncementHashes(buildTrusted, buildDoubted bool, ...) (trustedHash, doubtedHash proofs.GlobulaAnnouncementHash)
- func (p *VectorBuilder) BuildGlobulaStateHashWithFilter(nodeID node.ShortNodeID, apply EntryApplyFunc, filter EntryFilterFunc) statevector.CalcStateWithRank
- func (p *VectorBuilder) BuildGlobulaStateHashesAndRanks(buildTrusted, buildDoubted bool, nodeID node.ShortNodeID, ...) (trustedHash, doubtedHash statevector.CalcStateWithRank)
- func (p *VectorBuilder) CreateDerived(comparedStats ComparedBitsetRow) VectorBuilder
- func (p *VectorBuilder) FillBitset()
- func (p *VectorBuilder) GetBitset() member.StateBitset
- func (p *VectorBuilder) GetEntryScanner() VectorEntryScanner
- type VectorEntryData
- type VectorEntryDigester
- type VectorEntryScanner
Constants ¶
View Source
const ( CbsIncluded = ConsensusBitsetEntry(member.BeHighTrust) CbsSuspected = ConsensusBitsetEntry(member.BeBaselineTrust) CbsExcluded = ConsensusBitsetEntry(member.BeTimeout) CbsFraud = ConsensusBitsetEntry(member.BeFraud) )
View Source
const ConsensusStatMissingHere = ConsensusStatUnknown
View Source
const NvrHashlessFlags = NvrSenderFault | NvrMissingNodes
Variables ¶
This section is empty.
Functions ¶
func FmtComparedStat ¶
func FmtConsensusBitsetEntry ¶
func FmtConsensusStat ¶
func PrepareSubVectorsComparison ¶
func PrepareSubVectorsComparison(sr ComparedBitsetRow, hasOtherTrusted, hasOtherDoubted bool) (SubVectorCompared, SubVectorCompared)
Types ¶
type AnnouncementSequenceCalc ¶
type AnnouncementSequenceCalc struct {
// contains filtered or unexported fields
}
func NewAnnouncementSequenceCalc ¶
func NewAnnouncementSequenceCalc(digestFactory transport.ConsensusDigestFactory) AnnouncementSequenceCalc
func (*AnnouncementSequenceCalc) AddNext ¶
func (p *AnnouncementSequenceCalc) AddNext(nodeData VectorEntryData, zeroPower bool)
func (*AnnouncementSequenceCalc) FinishSequence ¶
func (p *AnnouncementSequenceCalc) FinishSequence() cryptkit.DigestHolder
func (*AnnouncementSequenceCalc) ForkSequence ¶
func (p *AnnouncementSequenceCalc) ForkSequence() VectorEntryDigester
func (*AnnouncementSequenceCalc) ForkSequenceOf ¶
func (p *AnnouncementSequenceCalc) ForkSequenceOf(s AnnouncementSequenceCalc)
func (*AnnouncementSequenceCalc) IsEmpty ¶
func (p *AnnouncementSequenceCalc) IsEmpty() bool
type ComparedBitsetRow ¶
type ComparedBitsetRow struct {
// contains filtered or unexported fields
}
func CompareToStatRow ¶
func CompareToStatRow(b member.StateBitset, otherDataBitset member.StateBitset) ComparedBitsetRow
func NewComparedBitsetRow ¶
func NewComparedBitsetRow(columnCount int) ComparedBitsetRow
func (*ComparedBitsetRow) Get ¶
func (r *ComparedBitsetRow) Get(column int) ComparedState
func (*ComparedBitsetRow) GetSummaryByValue ¶
func (r *ComparedBitsetRow) GetSummaryByValue(value ComparedState) uint16
func (*ComparedBitsetRow) HasAllValues ¶
func (r *ComparedBitsetRow) HasAllValues(value ComparedState) bool
func (*ComparedBitsetRow) HasAllValuesOf ¶
func (r *ComparedBitsetRow) HasAllValuesOf(value0, value1 ComparedState) bool
func (*ComparedBitsetRow) HasValues ¶
func (r *ComparedBitsetRow) HasValues(value ComparedState) bool
func (*ComparedBitsetRow) Set ¶
func (r *ComparedBitsetRow) Set(column int, value ComparedState) ComparedState
func (ComparedBitsetRow) String ¶
func (r ComparedBitsetRow) String() string
func (ComparedBitsetRow) StringFull ¶
func (r ComparedBitsetRow) StringFull() string
func (ComparedBitsetRow) StringSummary ¶
func (r ComparedBitsetRow) StringSummary() string
type ComparedState ¶
type ComparedState uint8
const ( ComparedSame ComparedState = iota ComparedLessTrustedHere ComparedLessTrustedThere ComparedMissingThere ComparedDoubtedMissingHere ComparedMissingHere )
type ConsensusBitsetEntry ¶
type ConsensusBitsetEntry member.BitsetEntry
MUST be based on BitsetEntry to reuse serialization
func (ConsensusBitsetEntry) String ¶
func (s ConsensusBitsetEntry) String() string
type ConsensusBitsetRow ¶
type ConsensusBitsetRow struct {
// contains filtered or unexported fields
}
func NewConsensusBitsetRow ¶
func NewConsensusBitsetRow(columnCount int) ConsensusBitsetRow
func (*ConsensusBitsetRow) Get ¶
func (r *ConsensusBitsetRow) Get(column int) ConsensusBitsetEntry
func (*ConsensusBitsetRow) GetSummaryByValue ¶
func (r *ConsensusBitsetRow) GetSummaryByValue(value ConsensusBitsetEntry) uint16
func (*ConsensusBitsetRow) HasAllValues ¶
func (r *ConsensusBitsetRow) HasAllValues(value ConsensusBitsetEntry) bool
func (*ConsensusBitsetRow) HasAllValuesOf ¶
func (r *ConsensusBitsetRow) HasAllValuesOf(value0, value1 ConsensusBitsetEntry) bool
func (*ConsensusBitsetRow) HasValues ¶
func (r *ConsensusBitsetRow) HasValues(value ConsensusBitsetEntry) bool
func (*ConsensusBitsetRow) Set ¶
func (r *ConsensusBitsetRow) Set(column int, value ConsensusBitsetEntry) ConsensusBitsetEntry
func (ConsensusBitsetRow) String ¶
func (r ConsensusBitsetRow) String() string
type ConsensusStat ¶
type ConsensusStat uint8
const ( ConsensusStatUnknown ConsensusStat = iota ConsensusStatTrusted ConsensusStatDoubted ConsensusStatMissingThere ConsensusStatFraudSuspect ConsensusStatFraud )
type ConsensusStatColumn ¶
type ConsensusStatColumn struct {
// contains filtered or unexported fields
}
func (*ConsensusStatColumn) GetSummaryByValue ¶
func (c *ConsensusStatColumn) GetSummaryByValue(value ConsensusStat) uint16
func (*ConsensusStatColumn) String ¶
func (c *ConsensusStatColumn) String() string
type ConsensusStatRow ¶
type ConsensusStatRow struct {
// contains filtered or unexported fields
}
func NewConsensusStatRow ¶
func NewConsensusStatRow(columnCount int) ConsensusStatRow
func StateToConsensusStatRow ¶
func StateToConsensusStatRow(b member.StateBitset) ConsensusStatRow
func SummarizeStats ¶
func SummarizeStats(otherDataBitset member.StateBitset, verifyRes NodeVerificationResult, sr ComparedBitsetRow) ConsensusStatRow
func (*ConsensusStatRow) Get ¶
func (r *ConsensusStatRow) Get(column int) ConsensusStat
func (*ConsensusStatRow) GetSummaryByValue ¶
func (r *ConsensusStatRow) GetSummaryByValue(value ConsensusStat) uint16
func (*ConsensusStatRow) HasAllValues ¶
func (r *ConsensusStatRow) HasAllValues(value ConsensusStat) bool
func (*ConsensusStatRow) HasAllValuesOf ¶
func (r *ConsensusStatRow) HasAllValuesOf(value0, value1 ConsensusStat) bool
func (*ConsensusStatRow) HasValues ¶
func (r *ConsensusStatRow) HasValues(value ConsensusStat) bool
func (*ConsensusStatRow) Set ¶
func (r *ConsensusStatRow) Set(column int, value ConsensusStat) ConsensusBitsetEntry
func (ConsensusStatRow) String ¶
func (r ConsensusStatRow) String() string
type ConsensusStatTable ¶
type ConsensusStatTable struct {
// contains filtered or unexported fields
}
func NewConsensusStatTable ¶
func NewConsensusStatTable(nodeCount int) ConsensusStatTable
func (*ConsensusStatTable) AddRow ¶
func (t *ConsensusStatTable) AddRow(row *ConsensusStatRow) int
func (*ConsensusStatTable) AsText ¶
func (t *ConsensusStatTable) AsText(header string) string
func (*ConsensusStatTable) EqualsTyped ¶
func (t *ConsensusStatTable) EqualsTyped(o *ConsensusStatTable) bool
func (*ConsensusStatTable) GetColumn ¶
func (t *ConsensusStatTable) GetColumn(colIndex int) *ConsensusStatColumn
func (*ConsensusStatTable) GetRow ¶
func (t *ConsensusStatTable) GetRow(rowIndex int) (*ConsensusStatRow, bool)
func (*ConsensusStatTable) NewRow ¶
func (t *ConsensusStatTable) NewRow() *ConsensusStatRow
func (*ConsensusStatTable) PutRow ¶
func (t *ConsensusStatTable) PutRow(rowIndex int, row *ConsensusStatRow)
type EntryApplyFunc ¶
type EntryApplyFunc func(nodeData VectorEntryData, postponed bool, filter uint32)
type EntryFilterFunc ¶
type EntryFilterFunc func(index int, nodeData VectorEntryData, parentFilter uint32) (bool, uint32)
type LocalHashedNodeVector ¶
type LocalHashedNodeVector struct { statevector.Vector TrustedGlobulaStateVector proofs.GlobulaStateHash DoubtedGlobulaStateVector proofs.GlobulaStateHash }
type MemberBitsetRow ¶
type MemberBitsetRow struct {
// contains filtered or unexported fields
}
TODO unused
func NewMemberBitsetRow ¶
func NewMemberBitsetRow(columnCount int) MemberBitsetRow
func (*MemberBitsetRow) Get ¶
func (r *MemberBitsetRow) Get(column int) member.BitsetEntry
func (*MemberBitsetRow) GetSummaryByValue ¶
func (r *MemberBitsetRow) GetSummaryByValue(value member.BitsetEntry) uint16
func (*MemberBitsetRow) HasAllValues ¶
func (r *MemberBitsetRow) HasAllValues(value member.BitsetEntry) bool
func (*MemberBitsetRow) HasAllValuesOf ¶
func (r *MemberBitsetRow) HasAllValuesOf(value0, value1 member.BitsetEntry) bool
func (*MemberBitsetRow) HasValues ¶
func (r *MemberBitsetRow) HasValues(value member.BitsetEntry) bool
func (*MemberBitsetRow) Set ¶
func (r *MemberBitsetRow) Set(column int, value member.BitsetEntry) member.BitsetEntry
type NodeVerificationResult ¶
type NodeVerificationResult uint16
const ( NvrSenderFault NodeVerificationResult = 1 << iota NvrMissingNodes NvrTrustedValid NvrTrustedFraud NvrTrustedAlteredNodeSet NvrDoubtedValid NvrDoubtedFraud NvrDoubtedAlteredNodeSet )
const NvrNotVerified NodeVerificationResult = 0
func (NodeVerificationResult) AllOf ¶
func (v NodeVerificationResult) AllOf(f NodeVerificationResult) bool
func (NodeVerificationResult) AnyOf ¶
func (v NodeVerificationResult) AnyOf(f NodeVerificationResult) bool
func (*NodeVerificationResult) SetDoubted ¶
func (v *NodeVerificationResult) SetDoubted(valid bool, altered bool) bool
func (*NodeVerificationResult) SetTrusted ¶
func (v *NodeVerificationResult) SetTrusted(valid bool, altered bool) bool
func (NodeVerificationResult) String ¶
func (v NodeVerificationResult) String() string
func (NodeVerificationResult) StringPart ¶
func (v NodeVerificationResult) StringPart(b *strings.Builder)
type StateAndRankSequenceCalc ¶
type StateAndRankSequenceCalc struct {
// contains filtered or unexported fields
}
func NewStateAndRankSequenceCalc ¶
func NewStateAndRankSequenceCalc(digestFactory transport.ConsensusDigestFactory, nodeID node.ShortNodeID, roleCountHint int) StateAndRankSequenceCalc
func (*StateAndRankSequenceCalc) AddNext ¶
func (p *StateAndRankSequenceCalc) AddNext(nodeData VectorEntryData, zeroPower bool)
func (*StateAndRankSequenceCalc) FinishSequence ¶
func (p *StateAndRankSequenceCalc) FinishSequence() (cryptkit.DigestHolder, member.FullRank, member.Index)
func (*StateAndRankSequenceCalc) ForkSequence ¶
func (p *StateAndRankSequenceCalc) ForkSequence() VectorEntryDigester
func (*StateAndRankSequenceCalc) ForkSequenceOf ¶
func (p *StateAndRankSequenceCalc) ForkSequenceOf(s StateAndRankSequenceCalc)
func (*StateAndRankSequenceCalc) IsEmpty ¶
func (p *StateAndRankSequenceCalc) IsEmpty() bool
type SubVectorCompared ¶
type SubVectorCompared uint8
const (
SvcIgnore SubVectorCompared = iota
)
func (SubVectorCompared) IsNeeded ¶
func (v SubVectorCompared) IsNeeded() bool
func (SubVectorCompared) IsRecalc ¶
func (v SubVectorCompared) IsRecalc() bool
func (SubVectorCompared) UpdateVerify ¶
func (v SubVectorCompared) UpdateVerify(n SubVectorCompared) SubVectorCompared
type VectorBuilder ¶
type VectorBuilder struct {
// contains filtered or unexported fields
}
func NewVectorBuilder ¶
func NewVectorBuilder(df transport.ConsensusDigestFactory, s VectorEntryScanner, bitset member.StateBitset) VectorBuilder
func (*VectorBuilder) BuildAllGlobulaAnnouncementHashes ¶
func (p *VectorBuilder) BuildAllGlobulaAnnouncementHashes() (proofs.GlobulaAnnouncementHash, proofs.GlobulaAnnouncementHash)
func (*VectorBuilder) BuildGlobulaAnnouncementHashes ¶
func (p *VectorBuilder) BuildGlobulaAnnouncementHashes(buildTrusted, buildDoubted bool, defaultTrusted, defaultDoubted proofs.GlobulaAnnouncementHash) (trustedHash, doubtedHash proofs.GlobulaAnnouncementHash)
func (*VectorBuilder) BuildGlobulaStateHashWithFilter ¶
func (p *VectorBuilder) BuildGlobulaStateHashWithFilter(nodeID node.ShortNodeID, apply EntryApplyFunc, filter EntryFilterFunc) statevector.CalcStateWithRank
func (*VectorBuilder) BuildGlobulaStateHashesAndRanks ¶
func (p *VectorBuilder) BuildGlobulaStateHashesAndRanks(buildTrusted, buildDoubted bool, nodeID node.ShortNodeID, defaultTrusted, defaultDoubted statevector.CalcStateWithRank) (trustedHash, doubtedHash statevector.CalcStateWithRank)
func (*VectorBuilder) CreateDerived ¶
func (p *VectorBuilder) CreateDerived(comparedStats ComparedBitsetRow) VectorBuilder
func (*VectorBuilder) FillBitset ¶
func (p *VectorBuilder) FillBitset()
func (*VectorBuilder) GetBitset ¶
func (p *VectorBuilder) GetBitset() member.StateBitset
func (*VectorBuilder) GetEntryScanner ¶
func (p *VectorBuilder) GetEntryScanner() VectorEntryScanner
type VectorEntryData ¶
type VectorEntryData struct { RequestedPower member.Power RequestedMode member.OpMode TrustLevel member.TrustLevel Profile profiles.ActiveNode // Node *NodeAppearance // common.MembershipAnnouncement proofs.NodeAnnouncedState }
type VectorEntryDigester ¶
type VectorEntryDigester interface { AddNext(nodeData VectorEntryData, zeroPower bool) ForkSequence() VectorEntryDigester }
type VectorEntryScanner ¶
type VectorEntryScanner interface { GetIndexedCount() int GetSortedCount() int ScanIndexed(apply func(index int, nodeData VectorEntryData)) ScanSorted(apply EntryApplyFunc, filterValue uint32) ScanSortedWithFilter(parentFilter uint32, apply EntryApplyFunc, filter EntryFilterFunc) }
Click to show internal directories.
Click to hide internal directories.