diff options
author | Maran <maran.hidskes@gmail.com> | 2014-06-18 19:06:48 +0800 |
---|---|---|
committer | Maran <maran.hidskes@gmail.com> | 2014-06-18 19:06:48 +0800 |
commit | 1f7917589822d4327147949c610fad3979819ab3 (patch) | |
tree | 0ec1644e26bb4e503623738ea1b6730d42b094ef /ethereum.go | |
parent | 22e16f15a69f53934a61978eb18fdf0244a74a99 (diff) | |
download | go-tangerine-1f7917589822d4327147949c610fad3979819ab3.tar.gz go-tangerine-1f7917589822d4327147949c610fad3979819ab3.tar.zst go-tangerine-1f7917589822d4327147949c610fad3979819ab3.zip |
Reworked peers to check for public key duplication and adding peers to peerlist only after the handshake has come in
Diffstat (limited to 'ethereum.go')
-rw-r--r-- | ethereum.go | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/ethereum.go b/ethereum.go index d9281cd57..a6cb78b1f 100644 --- a/ethereum.go +++ b/ethereum.go @@ -149,7 +149,9 @@ func (s *Ethereum) IsUpToDate() bool { }) return upToDate } - +func (s *Ethereum) PushPeer(peer *Peer) { + s.peers.PushBack(peer) +} func (s *Ethereum) IsListening() bool { return s.listening } @@ -159,14 +161,11 @@ func (s *Ethereum) AddPeer(conn net.Conn) { if peer != nil { if s.peers.Len() < s.MaxPeers { - s.peers.PushBack(peer) peer.Start() } else { ethutil.Config.Log.Debugf("[SERV] Max connected peers reached. Not adding incoming peer.") } } - - s.reactor.Post("peerList", s.peers) } func (s *Ethereum) ProcessPeerList(addrs []string) { @@ -233,12 +232,7 @@ func (s *Ethereum) ConnectToPeer(addr string) error { return nil } - peer := NewOutboundPeer(addr, s, s.serverCaps) - - s.peers.PushBack(peer) - - ethutil.Config.Log.Infof("[SERV] Adding peer (%s) %d / %d\n", addr, s.peers.Len(), s.MaxPeers) - s.reactor.Post("peerList", s.peers) + NewOutboundPeer(addr, s, s.serverCaps) } return nil |