Skip to content

Commit 8ed8859

Browse files
committed
fix func extractNodes for ipv6 adaptive
1 parent 884033d commit 8ed8859

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

Diff for: internal/protocol/dht/client/server_adapter.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@ package client
33
import (
44
"context"
55
"errors"
6+
"net/netip"
7+
68
"github.com/bitmagnet-io/bitmagnet/internal/protocol"
79
"github.com/bitmagnet-io/bitmagnet/internal/protocol/dht"
810
"github.com/bitmagnet-io/bitmagnet/internal/protocol/dht/server"
9-
"net/netip"
1011
)
1112

1213
type serverAdapter struct {
@@ -92,13 +93,16 @@ func (a serverAdapter) SampleInfoHashes(ctx context.Context, addr netip.AddrPort
9293
}
9394

9495
func extractNodes(msg dht.Msg) []NodeInfo {
95-
if len(msg.R.Nodes) == 0 {
96+
if len(msg.R.Nodes)+len(msg.R.Nodes6) == 0 {
9697
return nil
9798
}
98-
nodes := make([]NodeInfo, 0, len(msg.R.Nodes))
99+
nodes := make([]NodeInfo, 0, len(msg.R.Nodes)+len(msg.R.Nodes6))
99100
for _, n := range msg.R.Nodes {
100101
nodes = append(nodes, NodeInfo{ID: n.ID, Addr: n.Addr.ToAddrPort()})
101102
}
103+
for _, n6 := range msg.R.Nodes6 {
104+
nodes = append(nodes, NodeInfo{ID: n6.ID, Addr: n6.Addr.ToAddrPort()})
105+
}
102106
return nodes
103107
}
104108

0 commit comments

Comments
 (0)