refactor: Peer no longer needs Router
Hooray!
This commit is contained in:
1 parent
465915d7d4
commit
3ba5a5024e
4 files changed
+6
-10
No files matched your search
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user