diff --git a/vendor/vendor.json b/vendor/vendor.json index 4d11c0f6b6..c8a654e75f 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -741,12 +741,6 @@ "revision": "20d25e2804050c1cd24a7eea1e7a6447dd0e74ec", "revisionTime": "2016-12-08T18:13:25Z" }, - { - "checksumSHA1": "NGg7/qIJVUfXi7xnEyyDLocdi6Y=", - "path": "gopkg.in/fatih/set.v0", - "revision": "27c40922c40b43fe04554d8223a402af3ea333f3", - "revisionTime": "2014-12-10T08:48:24Z" - }, { "checksumSHA1": "DQXNV0EivoHm4q+bkdahYXrjjfE=", "path": "gopkg.in/karalabe/cookiejar.v2/collections/prque", diff --git a/whisper/whisperv5/peer.go b/whisper/whisperv5/peer.go index da07631992..2bb5677c7c 100644 --- a/whisper/whisperv5/peer.go +++ b/whisper/whisperv5/peer.go @@ -20,11 +20,11 @@ import ( "fmt" "time" + mapset "github.com/deckarep/golang-set" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/p2p" "github.com/ethereum/go-ethereum/rlp" - set "gopkg.in/fatih/set.v0" ) // Peer represents a whisper protocol peer connection. @@ -34,7 +34,7 @@ type Peer struct { ws p2p.MsgReadWriter trusted bool - known *set.Set // Messages already known by the peer to avoid wasting bandwidth + known mapset.Set // Messages already known by the peer to avoid wasting bandwidth quit chan struct{} } @@ -46,7 +46,7 @@ func newPeer(host *Whisper, remote *p2p.Peer, rw p2p.MsgReadWriter) *Peer { peer: remote, ws: rw, trusted: false, - known: set.New(), + known: mapset.NewSet(), quit: make(chan struct{}), } } @@ -127,7 +127,7 @@ func (peer *Peer) mark(envelope *Envelope) { // marked checks if an envelope is already known to the remote peer. func (peer *Peer) marked(envelope *Envelope) bool { - return peer.known.Has(envelope.Hash()) + return peer.known.Contains(envelope.Hash()) } // expire iterates over all the known envelopes in the host and removes all diff --git a/whisper/whisperv5/whisper.go b/whisper/whisperv5/whisper.go index 62bd1ce179..5898468377 100644 --- a/whisper/whisperv5/whisper.go +++ b/whisper/whisperv5/whisper.go @@ -26,6 +26,7 @@ import ( "sync" "time" + mapset "github.com/deckarep/golang-set" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/log" @@ -34,7 +35,6 @@ import ( "github.com/syndtr/goleveldb/leveldb/errors" "golang.org/x/crypto/pbkdf2" "golang.org/x/sync/syncmap" - set "gopkg.in/fatih/set.v0" ) type Statistics struct { @@ -63,7 +63,7 @@ type Whisper struct { poolMu sync.RWMutex // Mutex to sync the message and expiration pools envelopes map[common.Hash]*Envelope // Pool of envelopes currently tracked by this node - expirations map[uint32]*set.SetNonTS // Message expiration pool + expirations map[uint32]mapset.Set // Message expiration pool peerMu sync.RWMutex // Mutex to sync the active peer set peers map[*Peer]struct{} // Set of currently active peers @@ -90,7 +90,7 @@ func New(cfg *Config) *Whisper { privateKeys: make(map[string]*ecdsa.PrivateKey), symKeys: make(map[string][]byte), envelopes: make(map[common.Hash]*Envelope), - expirations: make(map[uint32]*set.SetNonTS), + expirations: make(map[uint32]mapset.Set), peers: make(map[*Peer]struct{}), messageQueue: make(chan *Envelope, messageQueueLimit), p2pMsgQueue: make(chan *Envelope, messageQueueLimit), @@ -608,9 +608,9 @@ func (w *Whisper) add(envelope *Envelope) (bool, error) { if !alreadyCached { w.envelopes[hash] = envelope if w.expirations[envelope.Expiry] == nil { - w.expirations[envelope.Expiry] = set.NewNonTS() + w.expirations[envelope.Expiry] = mapset.NewThreadUnsafeSet() } - if !w.expirations[envelope.Expiry].Has(hash) { + if !w.expirations[envelope.Expiry].Contains(hash) { w.expirations[envelope.Expiry].Add(hash) } }