From b399c77768bf8c5161fafbedd13f2fbf634814ee Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Wed, 22 Jun 2022 10:10:31 +0200 Subject: [PATCH] remove the peer.Set (#261) --- peer/set.go | 71 ----------------------------------------------------- 1 file changed, 71 deletions(-) delete mode 100644 peer/set.go diff --git a/peer/set.go b/peer/set.go deleted file mode 100644 index c3730cd..0000000 --- a/peer/set.go +++ /dev/null @@ -1,71 +0,0 @@ -package peer - -import ( - "sync" -) - -// PeerSet is a threadsafe set of peers. -type Set struct { - lk sync.RWMutex - ps map[ID]struct{} - - size int -} - -func NewSet() *Set { - ps := new(Set) - ps.ps = make(map[ID]struct{}) - ps.size = -1 - return ps -} - -func NewLimitedSet(size int) *Set { - ps := new(Set) - ps.ps = make(map[ID]struct{}) - ps.size = size - return ps -} - -func (ps *Set) Add(p ID) { - ps.lk.Lock() - ps.ps[p] = struct{}{} - ps.lk.Unlock() -} - -func (ps *Set) Contains(p ID) bool { - ps.lk.RLock() - _, ok := ps.ps[p] - ps.lk.RUnlock() - return ok -} - -func (ps *Set) Size() int { - ps.lk.RLock() - defer ps.lk.RUnlock() - return len(ps.ps) -} - -// TryAdd Attempts to add the given peer into the set. -// This operation can fail for one of two reasons: -// 1) The given peer is already in the set -// 2) The number of peers in the set is equal to size -func (ps *Set) TryAdd(p ID) bool { - var success bool - ps.lk.Lock() - if _, ok := ps.ps[p]; !ok && (len(ps.ps) < ps.size || ps.size == -1) { - success = true - ps.ps[p] = struct{}{} - } - ps.lk.Unlock() - return success -} - -func (ps *Set) Peers() []ID { - ps.lk.Lock() - out := make([]ID, 0, len(ps.ps)) - for p := range ps.ps { - out = append(out, p) - } - ps.lk.Unlock() - return out -}