package peer import ( "bytes" "net" "dim13.org/btget/bitfield" ) const BlockSize = 1 << 14 // 16k const ( Idle = iota Connecting InHandshake Connected Failed ) type Flags struct { Unchocked bool Interested bool } type Peer struct { conn net.Conn Addr *net.TCPAddr ID []byte Valid bool Local Flags Remote Flags Optimistic bool buf *bytes.Buffer bitField bitfield.BitField } func NewPeer(addr string) (Peer, error) { a, err := net.ResolveTCPAddr("tcp", addr) if err != nil { return Peer{}, err } return Peer{Addr: a}, nil }