refactor: 更换 mDNS 节点存储组件

This commit is contained in:
lynx
2023-08-01 14:37:34 +08:00
parent d91e6f4d40
commit 80e3b5fbfe
2 changed files with 6 additions and 6 deletions

View File

@@ -21,7 +21,6 @@ import (
"github.com/libp2p/go-libp2p/p2p/discovery/mdns"
"github.com/libp2p/go-libp2p/p2p/discovery/routing"
"github.com/libp2p/go-libp2p/p2p/discovery/util"
"github.com/multiformats/go-multiaddr"
)
const (
@@ -44,7 +43,6 @@ type Engine struct {
dht *dht.IpfsDHT
discovery *routing.RoutingDiscovery
mdns mdns.Service
mdnsMap xsync.Map[peer.ID, []multiaddr.Multiaddr]
relayChan chan peer.AddrInfo
@@ -311,9 +309,9 @@ func (e *Engine) addConn(dst netip.Addr) (PacketChan, error) {
ticker.Stop()
return
case <-ticker.C:
info, ok := e.mdnsMap.Load(id)
if ok && len(info) > 0 {
peerInfo <- peer.AddrInfo{ID: id, Addrs: info}
info := e.host.Peerstore().PeerInfo(id)
if len(info.Addrs) > 0 {
peerInfo <- info
}
}
}

View File

@@ -1,10 +1,12 @@
package engine
import (
"time"
"github.com/libp2p/go-libp2p/core/peer"
)
func (e *Engine) HandlePeerFound(pi peer.AddrInfo) {
e.log.Infof(e.ctx, "find %s by mDNS", pi)
e.mdnsMap.Store(pi.ID, pi.Addrs)
e.host.Peerstore().AddAddrs(peer.ID(pi.ID.String()), pi.Addrs, 5*time.Minute)
}