package peer import ( "bytes" "net" "dim13.org/btget/bitfield" ) 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 }