2
0
mirror of synced 2025-02-23 22:28:11 +00:00

Move some tracker.CompactPeer into util

This commit is contained in:
Matt Joiner 2014-08-21 21:07:44 +10:00
parent 5c1492bffe
commit cb68c984fa
2 changed files with 17 additions and 18 deletions

View File

@ -1,9 +1,6 @@
package tracker
import (
"bytes"
"encoding"
"encoding/binary"
"errors"
"net"
"net/url"
@ -36,18 +33,6 @@ type Peer struct {
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 (
None AnnounceEvent = iota
Completed // The local peer just completed the torrent.

View File

@ -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) UnmarshalBencode(bb []byte) (err error) {
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 @@ func (me *CompactPeers) UnmarshalBinary(b []byte) (err error) {
}
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
}