/***************************************************************************
- * Copyright (C) 2005-2016 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
: Peer(authHandler, parent),
_socket(socket),
_compressor(new Compressor(socket, level, this)),
- _signalProxy(0),
+ _signalProxy(nullptr),
_heartBeatTimer(new QTimer(this)),
_heartBeatCount(0),
_lag(0),
connect(socket, SIGNAL(disconnected()), SIGNAL(disconnected()));
#ifdef HAVE_SSL
- QSslSocket *sslSocket = qobject_cast<QSslSocket *>(socket);
+ auto *sslSocket = qobject_cast<QSslSocket *>(socket);
if (sslSocket)
connect(sslSocket, SIGNAL(encrypted()), SIGNAL(secureStateChanged()));
#endif
if (!proxy) {
_heartBeatTimer->stop();
- disconnect(signalProxy(), 0, this, 0);
- _signalProxy = 0;
+ disconnect(signalProxy(), nullptr, this, nullptr);
+ _signalProxy = nullptr;
if (isOpen())
close();
}
if (isLocal())
return true;
#ifdef HAVE_SSL
- QSslSocket *sslSocket = qobject_cast<QSslSocket *>(socket());
+ auto *sslSocket = qobject_cast<QSslSocket *>(socket());
if (sslSocket && sslSocket->isEncrypted())
return true;
#endif
void RemotePeer::onReadyRead()
{
QByteArray msg;
- while (readMessage(msg))
+ while (readMessage(msg)) {
+ if (SignalProxy::current())
+ SignalProxy::current()->setSourcePeer(this);
+
processMessage(msg);
+
+ if (SignalProxy::current())
+ SignalProxy::current()->setSourcePeer(nullptr);
+ }
}
void RemotePeer::writeMessage(const QByteArray &msg)
{
- quint32 size = qToBigEndian<quint32>(msg.size());
+ auto size = qToBigEndian<quint32>(msg.size());
_compressor->write((const char*)&size, 4, Compressor::NoFlush);
_compressor->write(msg.constData(), msg.size());
}