refactor: extract helper

This commit is contained in:
Matthias Radestock committed 2015-03-27 12:38:06 +00:00
1 parent 0ef717a7a2
commit a337e981ba
1 file changed
+15 -12
+15 -12
View File
@@ -112,18 +112,7 @@ func (conn *LocalConnection) handshake(enc *gob.Encoder, dec *gob.Decoder, accep
conn.Decryptor = NewNonDecryptor(conn)
}
toPeer := NewPeer(name, nickNameStr, uid, 0)
toPeer = conn.Router.Peers.FetchWithDefault(toPeer)
switch toPeer {
case nil:
return fmt.Errorf("Connection appears to be with different version of a peer we already know of")
case conn.local:
conn.remote = toPeer // have to do assigment here to ensure Shutdown releases ref count
return fmt.Errorf("Cannot connect to ourself")
default:
conn.remote = toPeer
return nil
}
return conn.setRemote(NewPeer(name, nickNameStr, uid, 0))
}
func (conn *LocalConnection) handshakeSendRecv(localConnID uint64, usingPassword bool, enc *gob.Encoder, dec *gob.Decoder) (*FieldValidator, *[32]byte, error) {
@@ -159,3 +148,17 @@ func (conn *LocalConnection) handshakeSendRecv(localConnID uint64, usingPassword
fv.CheckEqual("PeerNameFlavour", PeerNameFlavour)
return &fv, private, nil
}
func (conn *LocalConnection) setRemote(toPeer *Peer) error {
toPeer = conn.Router.Peers.FetchWithDefault(toPeer)
switch toPeer {
case nil:
return fmt.Errorf("Connection appears to be with different version of a peer we already know of")
case conn.local:
conn.remote = toPeer // have to do assigment here to ensure Shutdown releases ref count
return fmt.Errorf("Cannot connect to ourself")
default:
conn.remote = toPeer
return nil
}
}