From 81168ca0e8dbd75a31e675e164a0aadc1b401caf Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 18 Jun 2016 15:03:41 +0200 Subject: peer --- peer/peer.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 peer/peer.go diff --git a/peer/peer.go b/peer/peer.go new file mode 100644 index 0000000..3d7c936 --- /dev/null +++ b/peer/peer.go @@ -0,0 +1,35 @@ +package Peer + +import ( + "bytes" + "net" +) + +const ( + Idle = iota + Connecting + Handshake + 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 +} + +func NewPeer(addr string) (Peer, error) { + a, err := net.ResolveTCPAddr(addr) + if err != nil { + return Peer{}, err + } + return Peer{Addr: a, Choked: true, Choking: true} +} -- cgit v1.2.3