@@ -15,9 +15,8 @@ import (
15
15
"sync/atomic"
16
16
"time"
17
17
18
- "github.com/33cn/chain33/common"
19
-
20
18
"github.com/33cn/chain33/client"
19
+ "github.com/33cn/chain33/common"
21
20
dbm "github.com/33cn/chain33/common/db"
22
21
"github.com/33cn/chain33/common/log/log15"
23
22
"github.com/33cn/chain33/p2p"
@@ -34,6 +33,7 @@ import (
34
33
core "github.com/libp2p/go-libp2p-core"
35
34
"github.com/libp2p/go-libp2p-core/crypto"
36
35
"github.com/libp2p/go-libp2p-core/metrics"
36
+ "github.com/libp2p/go-libp2p-core/peer"
37
37
discovery "github.com/libp2p/go-libp2p-discovery"
38
38
"github.com/multiformats/go-multiaddr"
39
39
)
@@ -266,7 +266,7 @@ func (p *P2P) buildHostOptions(priv crypto.PrivKey, bandwidthTracker metrics.Rep
266
266
if p .subCfg .MaxConnectNum > 0 { //如果不设置最大连接数量,默认允许dht自由连接并填充路由表
267
267
var maxconnect = int (p .subCfg .MaxConnectNum )
268
268
minconnect := maxconnect - int (manage .CacheLimit ) //调整为不超过配置的上限
269
- if minconnect < 0 {
269
+ if minconnect <= 0 {
270
270
minconnect = maxconnect / 2
271
271
}
272
272
//2分钟的宽限期,定期清理
@@ -290,9 +290,15 @@ func (p *P2P) managePeers() {
290
290
return
291
291
case <- time .After (time .Minute * 10 ):
292
292
//Refresh addr book
293
- peersInfo := p .discovery .FindLocalPeers (p .connManager .FetchNearestPeers (50 ))
293
+ var peersInfo []peer.AddrInfo
294
+ for _ , pid := range p .connManager .FetchNearestPeers (50 ) {
295
+ info := p .discovery .FindLocalPeer (pid )
296
+ if len (info .Addrs ) != 0 {
297
+ peersInfo = append (peersInfo , info )
298
+ }
299
+ }
294
300
if len (peersInfo ) != 0 {
295
- p .addrBook .SaveAddr (peersInfo )
301
+ _ = p .addrBook .SaveAddr (peersInfo )
296
302
}
297
303
}
298
304
}
0 commit comments