]> Sergey Matveev's repositories - btrtrc.git/blob - Peers.go
Update all imports of dht to v2
[btrtrc.git] / Peers.go
1 package torrent
2
3 import (
4         "github.com/anacrolix/dht/v2/krpc"
5         "github.com/anacrolix/torrent/peer_protocol"
6         "github.com/anacrolix/torrent/tracker"
7 )
8
9 type Peers []Peer
10
11 func (me *Peers) AppendFromPex(nas []krpc.NodeAddr, fs []peer_protocol.PexPeerFlags) {
12         for i, na := range nas {
13                 var p Peer
14                 var f peer_protocol.PexPeerFlags
15                 if i < len(fs) {
16                         f = fs[i]
17                 }
18                 p.FromPex(na, f)
19                 *me = append(*me, p)
20         }
21 }
22
23 func (ret Peers) AppendFromTracker(ps []tracker.Peer) Peers {
24         for _, p := range ps {
25                 _p := Peer{
26                         IP:     p.IP,
27                         Port:   p.Port,
28                         Source: peerSourceTracker,
29                 }
30                 copy(_p.Id[:], p.ID)
31                 ret = append(ret, _p)
32         }
33         return ret
34 }