}
void SignalProxy::objectRenamed(const QByteArray &classname, const QString &newname, const QString &oldname) {
- if(proxyMode() == Server)
- return;
-
if(_syncSlave.contains(classname) && _syncSlave[classname].contains(oldname) && oldname != newname) {
SyncableObject *obj = _syncSlave[classname][newname] = _syncSlave[classname].take(oldname);
requestInit(obj);
void SignalProxy::sendHeartBeat() {
QVariantList heartBeatParams;
heartBeatParams << QTime::currentTime();
+ QList<IODevicePeer *> toClose;
+
PeerHash::iterator peer = _peers.begin();
while(peer != _peers.end()) {
if((*peer)->type() == AbstractPeer::IODevicePeer) {
if(ioPeer->sentHeartBeats > 0) {
updateLag(ioPeer, ioPeer->sentHeartBeats * _heartBeatTimer.interval());
}
- if(ioPeer->sentHeartBeats > 1) {
- qWarning() << "SignalProxy: Disconnecting peer:" << ioPeer->address()
- << "(didn't receive a heartbeat for over" << ioPeer->sentHeartBeats * _heartBeatTimer.interval() / 1000 << "seconds)";
- ioPeer->close();
- } else {
+ if(ioPeer->sentHeartBeats > 1)
+ toClose.append(ioPeer);
+ else
ioPeer->sentHeartBeats++;
- }
}
- peer++;
+ ++peer;
+ }
+
+ foreach(IODevicePeer *ioPeer, toClose) {
+ qWarning() << "SignalProxy: Disconnecting peer:" << ioPeer->address()
+ << "(didn't receive a heartbeat for over" << ioPeer->sentHeartBeats * _heartBeatTimer.interval() / 1000 << "seconds)";
+ ioPeer->close();
}
}