tracker/tracker.go | 15 --------------- util/types.go | 20 +++++++++++++++++--- diff --git a/tracker/tracker.go b/tracker/tracker.go index 1914eae192f12b63c5c4fb94a79263ba383c7518..ffae4341757f933b3bd4126080eb3bb4a41fc652 100644 --- a/tracker/tracker.go +++ b/tracker/tracker.go @@ -1,9 +1,6 @@ package tracker import ( - "bytes" - "encoding" - "encoding/binary" "errors" "net" "net/url" @@ -34,18 +31,6 @@ type Peer struct { IP net.IP Port int -} - -type CompactPeer struct { - IP [4]byte - Port uint16 -} - -var _ encoding.BinaryUnmarshaler = &CompactPeer{} - -func (cp *CompactPeer) UnmarshalBinary(b []byte) (err error) { - err = binary.Read(bytes.NewReader(b), binary.BigEndian, cp) - return } const ( diff --git a/util/types.go b/util/types.go index ec87462221b3e98533098a5e3fbf0b4a43776dcf..03dcb1fabd0291dea638106cbab74818867ac8dd 100644 --- a/util/types.go +++ b/util/types.go @@ -1,11 +1,13 @@ package util import ( - "bitbucket.org/anacrolix/go.torrent/tracker" + "bytes" + "encoding" + "encoding/binary" "github.com/anacrolix/libtorgo/bencode" ) -type CompactPeers []tracker.CompactPeer +type CompactPeers []CompactPeer func (me *CompactPeers) UnmarshalBencode(bb []byte) (err error) { var b []byte @@ -19,7 +21,7 @@ } func (me *CompactPeers) UnmarshalBinary(b []byte) (err error) { for i := 0; i < len(b); i += 6 { - var p tracker.CompactPeer + var p CompactPeer err = p.UnmarshalBinary([]byte(b[i : i+6])) if err != nil { return @@ -28,3 +30,15 @@ *me = append(*me, p) } return } + +type CompactPeer struct { + IP [4]byte + Port uint16 +} + +var _ encoding.BinaryUnmarshaler = &CompactPeer{} + +func (cp *CompactPeer) UnmarshalBinary(b []byte) (err error) { + err = binary.Read(bytes.NewReader(b), binary.BigEndian, cp) + return +}