X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fsignalproxy.cpp;h=94aa063f55e6b909298ac5ceff66f92cdbd96bc3;hb=cc0cad583046c34cb1296329016e1834995d171d;hp=d9d2b39da4e0013bbc52ddc7b857a57977475efa;hpb=01922b87be01cd5c9844d2a273acd9a71aee8e96;p=quassel.git diff --git a/src/common/signalproxy.cpp b/src/common/signalproxy.cpp index d9d2b39d..94aa063f 100644 --- a/src/common/signalproxy.cpp +++ b/src/common/signalproxy.cpp @@ -206,6 +206,14 @@ void SignalProxy::IODevicePeer::dispatchSignal(const RequestType &requestType, c dispatchPackedFunc(QVariant(packedFunc)); } +QString SignalProxy::IODevicePeer::address() const { + QAbstractSocket *socket = qobject_cast(_device); + if(socket) + return socket->peerAddress().toString(); + else + return QString(); +} + void SignalProxy::SignalProxyPeer::dispatchSignal(const RequestType &requestType, const QVariantList ¶ms) { Qt::ConnectionType type = QThread::currentThread() == receiver->thread() ? Qt::DirectConnection @@ -1139,12 +1147,9 @@ void SignalProxy::sendHeartBeat() { updateLag(ioPeer, ioPeer->sentHeartBeats * _heartBeatTimer.interval()); } if(ioPeer->sentHeartBeats > 1) { - //FIXME: proper disconnect. -// QAbstractSocket *socket = qobject_cast(peerIter.key()); -// qWarning() << "SignalProxy: Disconnecting peer:" -// << (socket ? qPrintable(socket->peerAddress().toString()) : "local client") -// << "(didn't receive a heartbeat for over" << peerIter->sentHeartBeats * _heartBeatTimer.interval() / 1000 << "seconds)"; -// peerIter.key()->close(); + qWarning() << "SignalProxy: Disconnecting peer:" << ioPeer->address() + << "(didn't receive a heartbeat for over" << ioPeer->sentHeartBeats * _heartBeatTimer.interval() / 1000 << "seconds)"; + ioPeer->close(); } else { ioPeer->sentHeartBeats++; } @@ -1167,7 +1172,7 @@ void SignalProxy::receiveHeartBeatReply(AbstractPeer *peer, const QVariantList & ioPeer->sentHeartBeats = 0; if(params.isEmpty()) { - qWarning() << "SignalProxy: received heart beat reply with less params then sent from:" << ioPeer->device(); + qWarning() << "SignalProxy: received heart beat reply with less params then sent from:" << ioPeer->address(); return; }