peer update
git-svn-id: svn://db.shs.com.ru/pip@31 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -535,6 +535,24 @@ void PIPeer::sendMBcast(const PIByteArray & ba) {
|
||||
}
|
||||
|
||||
|
||||
void PIPeer::removeNeighbour(const PIString & name) {
|
||||
piForeach (PeerInfo & p, peers)
|
||||
p.neighbours.removeOne(name);
|
||||
self_info.removeNeighbour(name);
|
||||
}
|
||||
|
||||
|
||||
bool PIPeer::removePeer(const PIString & name) {
|
||||
removeNeighbour(name);
|
||||
for (int i = 0; i < peers.size_s(); ++i)
|
||||
if (peers[i].name == name) {
|
||||
peers.remove(i);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
void PIPeer::sendPeerInfo(const PeerInfo & info) {
|
||||
PIByteArray ba;
|
||||
ba << int(1) << info.name << info;
|
||||
@@ -589,9 +607,7 @@ void PIPeer::syncPeers() {
|
||||
peers.remove(i);
|
||||
sendPeerRemove(pn);
|
||||
--i;
|
||||
piForeach (PeerInfo & p, peers)
|
||||
p.removeNeighbour(pn);
|
||||
self_info.removeNeighbour(pn);
|
||||
removeNeighbour(pn);
|
||||
peerDisconnected(pn);
|
||||
peerDisconnectedEvent(pn);
|
||||
change = true;
|
||||
|
||||
Reference in New Issue
Block a user