10 "github.com/anacrolix/libtorgo/bencode"
13 type CompactPeers []CompactPeer
15 func (me *CompactPeers) UnmarshalBencode(bb []byte) (err error) {
17 err = bencode.Unmarshal(bb, &b)
21 err = me.UnmarshalBinary(b)
25 func (me *CompactPeers) UnmarshalBinary(b []byte) (err error) {
26 for i := 0; i < len(b); i += 6 {
28 err = p.UnmarshalBinary([]byte(b[i : i+6]))
37 func (me CompactPeers) WriteBinary(w io.Writer) error {
38 return binary.Write(w, binary.BigEndian, me)
41 type CompactPeer struct {
46 var _ encoding.BinaryUnmarshaler = &CompactPeer{}
48 func (cp *CompactPeer) UnmarshalBinary(b []byte) (err error) {
49 r := bytes.NewReader(b)
50 err = binary.Read(r, binary.BigEndian, cp)
55 err = fmt.Errorf("%d bytes unused", r.Len())