| 1234567891011121314151617181920212223242526272829303132333435 |
- package torrent
- import (
- "github.com/anacrolix/dht/v2/krpc"
- "github.com/anacrolix/torrent/peer_protocol"
- "github.com/anacrolix/torrent/tracker"
- )
- // Helper-type used to bulk-manage PeerInfos.
- type peerInfos []PeerInfo
- func (me *peerInfos) AppendFromPex(nas []krpc.NodeAddr, fs []peer_protocol.PexPeerFlags) {
- for i, na := range nas {
- var p PeerInfo
- var f peer_protocol.PexPeerFlags
- if i < len(fs) {
- f = fs[i]
- }
- p.FromPex(na, f)
- *me = append(*me, p)
- }
- }
- func (ret peerInfos) AppendFromTracker(ps []tracker.Peer) peerInfos {
- for _, p := range ps {
- _p := PeerInfo{
- Addr: ipPortAddr{p.IP, p.Port},
- Source: PeerSourceTracker,
- }
- copy(_p.Id[:], p.ID)
- ret = append(ret, _p)
- }
- return ret
- }
|