diff --git a/storage/memorybysubnet/peer_store.go b/storage/memorybysubnet/peer_store.go index 417536e..d5f1b47 100644 --- a/storage/memorybysubnet/peer_store.go +++ b/storage/memorybysubnet/peer_store.go @@ -547,6 +547,9 @@ func (s *peerStore) collectGarbage(cutoff time.Time) error { delete(shard.swarms[ih].leechers[subnet], pk) } } + if len(shard.swarms[ih].leechers[subnet]) == 0 { + delete(shard.swarms[ih].leechers, subnet) + } } for subnet := range shard.swarms[ih].seeders { @@ -555,6 +558,9 @@ func (s *peerStore) collectGarbage(cutoff time.Time) error { delete(shard.swarms[ih].seeders[subnet], pk) } } + if len(shard.swarms[ih].seeders[subnet]) == 0 { + delete(shard.swarms[ih].seeders, subnet) + } } // TODO(jzelinskie): fix this to sum all peers in all subnets