mirror of
https://github.com/libp2p/go-libp2p-peerstore.git
synced 2025-03-22 12:50:07 +08:00
avoid unnecessary allocation when gc'ing the addrbook
This commit is contained in:
parent
4de8426393
commit
4ff41e6ed1
@ -111,7 +111,6 @@ func (mab *memoryAddrBook) gc() {
|
||||
now := time.Now()
|
||||
for _, s := range mab.segments {
|
||||
s.Lock()
|
||||
var collectedPeers []peer.ID
|
||||
for p, amap := range s.addrs {
|
||||
for k, addr := range amap {
|
||||
if addr.ExpiredBy(now) {
|
||||
@ -120,13 +119,9 @@ func (mab *memoryAddrBook) gc() {
|
||||
}
|
||||
if len(amap) == 0 {
|
||||
delete(s.addrs, p)
|
||||
collectedPeers = append(collectedPeers, p)
|
||||
delete(s.signedPeerRecords, p)
|
||||
}
|
||||
}
|
||||
// remove signed records for peers whose signed addrs have all been removed
|
||||
for _, p := range collectedPeers {
|
||||
delete(s.signedPeerRecords, p)
|
||||
}
|
||||
s.Unlock()
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user