From a1cc34a903ece9d73f4707f2cf0b5e07afcf2966 Mon Sep 17 00:00:00 2001 From: Marco Munizaga Date: Fri, 13 Sep 2024 22:11:33 -0700 Subject: [PATCH] Use NextExpiry instead of Peek --- p2p/host/peerstore/pstoremem/addr_book.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/p2p/host/peerstore/pstoremem/addr_book.go b/p2p/host/peerstore/pstoremem/addr_book.go index 893eb58b7a..263b48bc57 100644 --- a/p2p/host/peerstore/pstoremem/addr_book.go +++ b/p2p/host/peerstore/pstoremem/addr_book.go @@ -110,12 +110,15 @@ func (pa *peerAddrs) FindAddr(p peer.ID, addrBytes ma.Multiaddr) (*expiringAddr, return nil, false } -func (pa *peerAddrs) Peek() *expiringAddr { - return pa.expiringHeap[len(pa.expiringHeap)-1] +func (pa *peerAddrs) NextExpiry() time.Time { + if len(pa.expiringHeap) == 0 { + return time.Time{} + } + return pa.expiringHeap[len(pa.expiringHeap)-1].Expires } func (pa *peerAddrs) gc(now time.Time) { - for len(pa.expiringHeap) > 0 && pa.Peek().ExpiredBy(now) { + for len(pa.expiringHeap) > 0 && now.After(pa.NextExpiry()) { heap.Pop(pa) } }