package peer import ( "bytes" "net" "dim13.org/btget/bitfield" ) const ( Idle = iota Connecting InHandshake Connected Failed ) type Peer struct { conn net.Conn Addr *net.TCPAddr ID []byte Valid bool Choked bool // remote Interested bool // remote Choking bool // local Intersting bool // local 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, Choked: true, Choking: true}, nil }