Versions in this module Expand all Collapse all v1 v1.0.0 Jul 21, 2022 Changes in this version + const BitsPerByte + const NodeIDPrefix + const NumBits + var AliasTests = []func(assert *assert.Assertions, r AliaserReader, w AliaserWriter) + var Empty = ID + var EmptyNodeID = NodeID + var ShortEmpty = ShortID + func AliaserAliasClashTest(assert *assert.Assertions, r AliaserReader, w AliaserWriter) + func AliaserAliasesEmptyTest(assert *assert.Assertions, r AliaserReader, w AliaserWriter) + func AliaserAliasesTest(assert *assert.Assertions, r AliaserReader, w AliaserWriter) + func AliaserLookupErrorTest(assert *assert.Assertions, r AliaserReader, w AliaserWriter) + func AliaserLookupTest(assert *assert.Assertions, r AliaserReader, w AliaserWriter) + func AliaserPrimaryAliasTest(assert *assert.Assertions, r AliaserReader, w AliaserWriter) + func AliaserRemoveAliasTest(assert *assert.Assertions, r AliaserReader, w AliaserWriter) + func EqualSubset(start, stop int, id1, id2 ID) bool + func Equals(a, b []ID) bool + func FirstDifferenceSubset(start, stop int, id1, id2 ID) (int, bool) + func GetRelevantAliases(aliaser Aliaser, ids []ID) (map[ID][]string, error) + func IsSortedAndUniqueIDs(ids []ID) bool + func IsSortedAndUniqueShortIDs(ids []ShortID) bool + func IsUniqueShortIDs(ids []ShortID) bool + func ShortIDsToStrings(ids []ShortID) []string + func SortIDs(ids []ID) + func SortNodeIDs(nodeIDs []NodeID) + func SortShortIDs(ids []ShortID) + func UnsortedEquals(a, b []ID) bool + type Aliaser interface + PrimaryAliasOrDefault func(id ID) string + func NewAliaser() Aliaser + type AliaserReader interface + Aliases func(id ID) ([]string, error) + Lookup func(alias string) (ID, error) + PrimaryAlias func(id ID) (string, error) + type AliaserWriter interface + Alias func(id ID, alias string) error + RemoveAliases func(id ID) + type Bag struct + func (b *Bag) Add(ids ...ID) + func (b *Bag) AddCount(id ID, count int) + func (b *Bag) Count(id ID) int + func (b *Bag) Equals(oIDs Bag) bool + func (b *Bag) Filter(start, end int, id ID) Bag + func (b *Bag) Len() int + func (b *Bag) List() []ID + func (b *Bag) Mode() (ID, int) + func (b *Bag) PrefixedString(prefix string) string + func (b *Bag) SetThreshold(threshold int) + func (b *Bag) Split(index uint) [2]Bag + func (b *Bag) String() string + func (b *Bag) Threshold() Set + type BitSet uint64 + func (bs *BitSet) Add(i uint) + func (bs *BitSet) Clear() + func (bs *BitSet) Difference(s BitSet) + func (bs *BitSet) Intersection(s BitSet) + func (bs *BitSet) Remove(i uint) + func (bs *BitSet) Union(s BitSet) + func (bs BitSet) Contains(i uint) bool + func (bs BitSet) Len() int + func (bs BitSet) String() string + type ID [32]byte + func FromString(idStr string) (ID, error) + func GenerateTestID() ID + func ToID(bytes []byte) (ID, error) + func (id *ID) UnmarshalJSON(b []byte) error + func (id *ID) UnmarshalText(text []byte) error + func (id ID) Bit(i uint) int + func (id ID) Hex() string + func (id ID) MarshalJSON() ([]byte, error) + func (id ID) MarshalText() ([]byte, error) + func (id ID) Prefix(prefixes ...uint64) ID + func (id ID) String() string + type NodeID ShortID + func GenerateTestNodeID() NodeID + func NodeIDFromCert(cert *x509.Certificate) NodeID + func NodeIDFromString(nodeIDStr string) (NodeID, error) + func ToNodeID(bytes []byte) (NodeID, error) + func (id *NodeID) UnmarshalJSON(b []byte) error + func (id *NodeID) UnmarshalText(text []byte) error + func (id NodeID) Bytes() []byte + func (id NodeID) MarshalJSON() ([]byte, error) + func (id NodeID) MarshalText() ([]byte, error) + func (id NodeID) String() string + type NodeIDBag struct + func (b *NodeIDBag) Add(ids ...NodeID) + func (b *NodeIDBag) AddCount(id NodeID, count int) + func (b *NodeIDBag) Count(id NodeID) int + func (b *NodeIDBag) Equals(oIDs NodeIDBag) bool + func (b *NodeIDBag) Len() int + func (b *NodeIDBag) List() []NodeID + func (b *NodeIDBag) PrefixedString(prefix string) string + func (b *NodeIDBag) Remove(id NodeID) + func (b *NodeIDBag) String() string + type NodeIDSet map[NodeID]struct + func NewNodeIDSet(size int) NodeIDSet + func (ids *NodeIDSet) Add(idList ...NodeID) + func (ids *NodeIDSet) Clear() + func (ids *NodeIDSet) Contains(id NodeID) bool + func (ids *NodeIDSet) Difference(idSet NodeIDSet) + func (ids *NodeIDSet) Peek() (NodeID, bool) + func (ids *NodeIDSet) Pop() (NodeID, bool) + func (ids *NodeIDSet) Remove(idList ...NodeID) + func (ids *NodeIDSet) Union(idSet NodeIDSet) + func (ids NodeIDSet) CappedList(size int) []NodeID + func (ids NodeIDSet) Equals(oIDs NodeIDSet) bool + func (ids NodeIDSet) Len() int + func (ids NodeIDSet) List() []NodeID + func (ids NodeIDSet) SortedList() []NodeID + func (ids NodeIDSet) String() string + type QueueSet struct + func (qs *QueueSet) Append(id ID) + func (qs *QueueSet) GetTail() ID + func (qs *QueueSet) SetHead(id ID) + type Set map[ID]struct + func NewSet(size int) Set + func (ids *Set) Add(idList ...ID) + func (ids *Set) Clear() + func (ids *Set) Contains(id ID) bool + func (ids *Set) Difference(set Set) + func (ids *Set) MarshalJSON() ([]byte, error) + func (ids *Set) Overlaps(big Set) bool + func (ids *Set) Pop() (ID, bool) + func (ids *Set) Remove(idList ...ID) + func (ids *Set) Union(set Set) + func (ids Set) CappedList(size int) []ID + func (ids Set) Equals(oIDs Set) bool + func (ids Set) Len() int + func (ids Set) List() []ID + func (ids Set) SortedList() []ID + func (ids Set) String() string + type ShortID [20]byte + func GenerateTestShortID() ShortID + func ShortFromPrefixedString(idStr, prefix string) (ShortID, error) + func ShortFromString(idStr string) (ShortID, error) + func ToShortID(bytes []byte) (ShortID, error) + func (id *ShortID) UnmarshalJSON(b []byte) error + func (id *ShortID) UnmarshalText(text []byte) error + func (id ShortID) Bytes() []byte + func (id ShortID) Hex() string + func (id ShortID) MarshalJSON() ([]byte, error) + func (id ShortID) MarshalText() ([]byte, error) + func (id ShortID) PrefixedString(prefix string) string + func (id ShortID) String() string + type ShortSet map[ShortID]struct + func NewShortSet(size int) ShortSet + func (ids *ShortSet) Add(idList ...ShortID) + func (ids *ShortSet) Clear() + func (ids *ShortSet) Contains(id ShortID) bool + func (ids *ShortSet) Difference(idSet ShortSet) + func (ids *ShortSet) Peek() (ShortID, bool) + func (ids *ShortSet) Pop() (ShortID, bool) + func (ids *ShortSet) Remove(idList ...ShortID) + func (ids *ShortSet) Union(idSet ShortSet) + func (ids ShortSet) CappedList(size int) []ShortID + func (ids ShortSet) Equals(oIDs ShortSet) bool + func (ids ShortSet) Len() int + func (ids ShortSet) List() []ShortID + func (ids ShortSet) SortedList() []ShortID + func (ids ShortSet) String() string + type UniqueBag map[ID]BitSet + func (b *UniqueBag) Add(setID uint, idSet ...ID) + func (b *UniqueBag) Bag(alpha int) Bag + func (b *UniqueBag) Clear() + func (b *UniqueBag) Difference(diff *UniqueBag) + func (b *UniqueBag) DifferenceSet(id ID, set BitSet) + func (b *UniqueBag) GetSet(id ID) BitSet + func (b *UniqueBag) List() []ID + func (b *UniqueBag) PrefixedString(prefix string) string + func (b *UniqueBag) RemoveSet(id ID) + func (b *UniqueBag) String() string + func (b *UniqueBag) UnionSet(id ID, set BitSet) v1.0.0-alpha Nov 22, 2022