Move compactPeers type to util package
This commit is contained in:
parent
17acbb485c
commit
8505a1017e
26
client.go
26
client.go
@ -16,6 +16,7 @@ Simple example:
|
||||
package torrent
|
||||
|
||||
import (
|
||||
"bitbucket.org/anacrolix/go.torrent/util"
|
||||
"bufio"
|
||||
"container/list"
|
||||
"crypto/rand"
|
||||
@ -535,28 +536,9 @@ func (cl *Client) gotMetadataExtensionMsg(payload []byte, t *torrent, c *connect
|
||||
}
|
||||
|
||||
type peerExchangeMessage struct {
|
||||
Added compactPeers `bencode:"added"`
|
||||
AddedFlags []byte `bencode:"added.f"`
|
||||
Dropped []tracker.Peer `bencode:"dropped"`
|
||||
}
|
||||
|
||||
type compactPeers []tracker.CompactPeer
|
||||
|
||||
func (me *compactPeers) UnmarshalBencode(bb []byte) (err error) {
|
||||
var b []byte
|
||||
err = bencode.Unmarshal(bb, &b)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
for i := 0; i < len(b); i += 6 {
|
||||
var p tracker.CompactPeer
|
||||
err = p.UnmarshalBinary([]byte(b[i : i+6]))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
*me = append(*me, p)
|
||||
}
|
||||
return
|
||||
Added util.CompactPeers `bencode:"added"`
|
||||
AddedFlags []byte `bencode:"added.f"`
|
||||
Dropped []tracker.Peer `bencode:"dropped"`
|
||||
}
|
||||
|
||||
func (me *Client) connectionLoop(t *torrent, c *connection) error {
|
||||
|
30
util/types.go
Normal file
30
util/types.go
Normal file
@ -0,0 +1,30 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"bitbucket.org/anacrolix/go.torrent/tracker"
|
||||
"github.com/anacrolix/libtorgo/bencode"
|
||||
)
|
||||
|
||||
type CompactPeers []tracker.CompactPeer
|
||||
|
||||
func (me *CompactPeers) UnmarshalBencode(bb []byte) (err error) {
|
||||
var b []byte
|
||||
err = bencode.Unmarshal(bb, &b)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = me.UnmarshalBinary(b)
|
||||
return
|
||||
}
|
||||
|
||||
func (me *CompactPeers) UnmarshalBinary(b []byte) (err error) {
|
||||
for i := 0; i < len(b); i += 6 {
|
||||
var p tracker.CompactPeer
|
||||
err = p.UnmarshalBinary([]byte(b[i : i+6]))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
*me = append(*me, p)
|
||||
}
|
||||
return
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user