refactor: Peer no longer needs Router

Hooray!
This commit is contained in:
Matthias Radestock committed 2014-12-25 13:05:22 +00:00
1 parent 465915d7d4
commit 3ba5a5024e
4 files changed
+6 -10

No files matched your search

+1 -1
View File
@@ -406,7 +406,7 @@ func (conn *LocalConnection) handshake(acceptNewPeer bool) error {
conn.Decryptor = NewNonDecryptor(conn)
}
toPeer := NewPeer(name, uid, 0, conn.Router)
toPeer := NewPeer(name, uid, 0)
toPeer = conn.Router.Peers.FetchWithDefault(toPeer)
if toPeer == nil {
return fmt.Errorf("Connection appears to be with different version of a peer we already know of")
+3 -7
View File
@@ -7,7 +7,7 @@ import (
"sort"
)
func NewPeer(name PeerName, uid uint64, version uint64, router *Router) *Peer {
func NewPeer(name PeerName, uid uint64, version uint64) *Peer {
if uid == 0 {
uid = randUint64()
}
@@ -16,8 +16,7 @@ func NewPeer(name PeerName, uid uint64, version uint64, router *Router) *Peer {
NameByte: name.Bin(),
connections: make(map[PeerName]Connection),
version: version,
UID: uid,
Router: router}
UID: uid}
}
func (peer *Peer) String() string {
@@ -139,9 +138,6 @@ func (peer *Peer) Routes(stopAt *Peer, symmetric bool) (bool, map[PeerName]PeerN
}
func (peer *Peer) SetVersionAndConnections(version uint64, connections map[PeerName]Connection) {
if peer == peer.Router.Ourself.Peer {
log.Fatal("Attempt to set version and connections on the local peer", peer.Name)
}
peer.Lock()
defer peer.Unlock()
peer.version = version
@@ -149,7 +145,7 @@ func (peer *Peer) SetVersionAndConnections(version uint64, connections map[PeerN
}
func StartLocalPeer(name PeerName, router *Router) *LocalPeer {
peer := &LocalPeer{Peer: NewPeer(name, 0, 0, router)}
peer := &LocalPeer{Peer: NewPeer(name, 0, 0), Router: router}
queryChan := make(chan *PeerInteraction, ChannelSize)
peer.queryChan = queryChan
go peer.queryLoop(queryChan)
+1 -1
View File
@@ -169,7 +169,7 @@ func (peers *Peers) decodeUpdate(update []byte, router *Router) (newPeers map[Pe
return
}
name := PeerNameFromBin(nameByte)
newPeer := NewPeer(name, uid, version, router)
newPeer := NewPeer(name, uid, version)
decodedUpdate = append(decodedUpdate, newPeer)
decodedConns = append(decodedConns, connsBuf)
existingPeer, found := peers.table[name]
+1 -1
View File
@@ -32,12 +32,12 @@ type Peer struct {
connections map[PeerName]Connection
version uint64
UID uint64
Router *Router
localRefCount uint64
}
type LocalPeer struct {
*Peer
Router *Router
queryChan chan<- *PeerInteraction
}