summaryrefslogtreecommitdiffstats
path: root/src/shared
diff options
context:
space:
mode:
authorChristian Klinger2016-09-29 15:40:18 +0200
committerChristian Klinger2016-09-29 15:40:18 +0200
commit3d82bfc698165bb20f3c38d42f2b77ab855c1edf (patch)
tree2c170bcdd5c89259bb0b530fa11fdfe701c99850 /src/shared
parentadded an information dialog that displays ip and hostname. (diff)
downloadpvs2-3d82bfc698165bb20f3c38d42f2b77ab855c1edf.tar.gz
pvs2-3d82bfc698165bb20f3c38d42f2b77ab855c1edf.tar.xz
pvs2-3d82bfc698165bb20f3c38d42f2b77ab855c1edf.zip
astyle.
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/network.cpp3
-rw-r--r--src/shared/networkmessage.cpp80
2 files changed, 28 insertions, 55 deletions
diff --git a/src/shared/network.cpp b/src/shared/network.cpp
index 6dd6a73..392cd43 100644
--- a/src/shared/network.cpp
+++ b/src/shared/network.cpp
@@ -29,8 +29,7 @@ QString interfaceAddressesToString(const QList<QHostAddress>& list)
{
QString ret;
ret.reserve(500);
- for (QList<QHostAddress>::const_iterator it(list.begin()); it != list.end(); ++it)
- {
+ for (QList<QHostAddress>::const_iterator it(list.begin()); it != list.end(); ++it) {
if (*it == QHostAddress::LocalHost || *it == QHostAddress::LocalHostIPv6)
continue; // TODO: Filter other addresses/ranges?
ret.append("|");
diff --git a/src/shared/networkmessage.cpp b/src/shared/networkmessage.cpp
index 6ab5d78..61a29ea 100644
--- a/src/shared/networkmessage.cpp
+++ b/src/shared/networkmessage.cpp
@@ -69,8 +69,7 @@ NetworkMessage::~NetworkMessage()
inline void NetworkMessage::allocBuffer()
{
- if (_lastBufferSize < _bufferSize || _buffer == NULL)
- {
+ if (_lastBufferSize < _bufferSize || _buffer == NULL) {
if (_buffer)
delete[] _buffer;
_lastBufferSize = _bufferSize;
@@ -81,23 +80,19 @@ inline void NetworkMessage::allocBuffer()
int NetworkMessage::readMessage(QAbstractSocket* socket)
{
// Check/Set the _mode variable, so read and write calls are not mixed
- if (_mode != 1)
- {
- if (_mode != 0)
- {
+ if (_mode != 1) {
+ if (_mode != 0) {
qDebug("NetworkMessage::readMessage(TCP) called when class was in mode %d!", _mode);
return NM_READ_FAILED;
}
_mode = 1;
}
// buffer size == 0 means the header hasn't been received yet. do so and set things up
- if (_bufferSize == 0)
- {
+ if (_bufferSize == 0) {
if (socket->bytesAvailable() < HEADER_LEN)
return NM_READ_INCOMPLETE;
char header[HEADER_LEN];
- if (socket->read(header, HEADER_LEN) != HEADER_LEN)
- {
+ if (socket->read(header, HEADER_LEN) != HEADER_LEN) {
qDebug("FIXME: Socket said 8 bytes available, but could not read 8...");
return NM_READ_FAILED;
}
@@ -106,22 +101,18 @@ int NetworkMessage::readMessage(QAbstractSocket* socket)
//qDebug() << "Expecting message of " << _bufferSize << " bytes";
allocBuffer();
}
- if (_bufferSize > _bufferPos)
- {
- while (_bufferSize > _bufferPos && socket->bytesAvailable() > 0)
- {
+ if (_bufferSize > _bufferPos) {
+ while (_bufferSize > _bufferPos && socket->bytesAvailable() > 0) {
const qint64 ret = socket->read(_buffer + _bufferPos, _bufferSize - _bufferPos);
//qDebug() << "Read " << ret << " bytes";
- if (ret < 0)
- {
+ if (ret < 0) {
qDebug("Socket read failed (TCP), return code %d", (int)ret);
return NM_READ_FAILED;
}
_bufferPos += ret;
//qDebug() << "Buffer has now " << _bufferPos << " of " << _bufferSize << " bytes";
}
- if (_bufferSize == _bufferPos)
- {
+ if (_bufferSize == _bufferPos) {
if (!this->parseMessage(_buffer))
return NM_READ_FAILED;
}
@@ -132,24 +123,20 @@ int NetworkMessage::readMessage(QAbstractSocket* socket)
int NetworkMessage::readMessage(char* data, quint32 len)
{
// Check/Set the _mode variable, so read and write calls are not mixed
- if (_mode != 1)
- {
- if (_mode != 0)
- {
+ if (_mode != 1) {
+ if (_mode != 0) {
qDebug("NetworkMessage::readMessage(UDP) called when class was in mode %d!", _mode);
return NM_READ_FAILED;
}
_mode = 1;
}
- if (len < HEADER_LEN)
- {
+ if (len < HEADER_LEN) {
qDebug("UDP message shorter than 8 bytes. ignored.");
return NM_READ_FAILED;
}
if (!this->parseHeader(data))
return NM_READ_FAILED;
- if (len != _bufferSize + HEADER_LEN)
- {
+ if (len != _bufferSize + HEADER_LEN) {
qDebug("UDP packet has wrong size. Is %d, expected %d", (int)_bufferSize, len - HEADER_LEN);
return NM_READ_FAILED;
}
@@ -158,20 +145,17 @@ int NetworkMessage::readMessage(char* data, quint32 len)
bool NetworkMessage::parseHeader(char *header)
{
- if (header[0] != 'P' || header[1] != 'V' || header[2] != 'S' || header[3] != '2')
- {
+ if (header[0] != 'P' || header[1] != 'V' || header[2] != 'S' || header[3] != '2') {
qDebug("Protocol magic wrong.");
return false;
}
_bufferPos = 0;
_bufferSize = _ntohl(*(quint32*)(header + 4));
- if (_bufferSize > MAX_MSG_LEN)
- {
+ if (_bufferSize > MAX_MSG_LEN) {
qDebug("Disconnecting Client: MAX_MSG_LEN exceeded.");
return false;
}
- if (_bufferSize < 4) // TODO: magic number. msg needs to be at least 4 bytes for 1 key/value pair of length 0 each.
- {
+ if (_bufferSize < 4) { // TODO: magic number. msg needs to be at least 4 bytes for 1 key/value pair of length 0 each.
qDebug("A Client sent an empty message.");
return false;
}
@@ -181,16 +165,14 @@ bool NetworkMessage::parseHeader(char *header)
bool NetworkMessage::parseMessage(char *buffer)
{
char *ptr = buffer;
- while (_bufferSize - (ptr - buffer) >= 4)
- {
+ while (_bufferSize - (ptr - buffer) >= 4) {
const quint16 keyLen = _ntohs(*(quint16*)(ptr));
ptr += 2;
const quint16 valLen = _ntohs(*(quint16*)(ptr));
ptr += 2;
- if (_bufferSize - (ptr - buffer) < keyLen + valLen)
- {
+ if (_bufferSize - (ptr - buffer) < keyLen + valLen) {
qDebug() << "Warning: Error parsing message. key(" << keyLen << ")+value(" << valLen
- << ") length > total remaining bytes (" << (_bufferSize - (ptr - buffer)) << ")";
+ << ") length > total remaining bytes (" << (_bufferSize - (ptr - buffer)) << ")";
return false;
}
_fields.insert(QByteArray(ptr, keyLen), QByteArray(ptr + keyLen, valLen));
@@ -203,10 +185,8 @@ bool NetworkMessage::parseMessage(char *buffer)
bool NetworkMessage::writeMessage(QAbstractSocket * const socket)
{
- if (_mode != 2)
- {
- if (_mode == 1)
- {
+ if (_mode != 2) {
+ if (_mode == 1) {
qDebug("NetworkMessage::writeMessage called when class was in mode %d!", _mode);
return false;
}
@@ -214,8 +194,7 @@ bool NetworkMessage::writeMessage(QAbstractSocket * const socket)
_bufferPos = 0;
}
// key/value pairs have not been serialized yet...
- if (_bufferSize == 0)
- {
+ if (_bufferSize == 0) {
this->serializeMessage();
}
const qint64 ret = socket->write(_buffer + _bufferPos, _bufferSize - _bufferPos);
@@ -224,8 +203,7 @@ bool NetworkMessage::writeMessage(QAbstractSocket * const socket)
if (ret < 0)
return false;
_bufferPos += ret;
- if (_bufferPos == _bufferSize)
- {
+ if (_bufferPos == _bufferSize) {
_bufferPos = 0;
_mode = 4;
}
@@ -234,10 +212,8 @@ bool NetworkMessage::writeMessage(QAbstractSocket * const socket)
bool NetworkMessage::writeMessage(QUdpSocket* socket, const QHostAddress& address, quint16 port)
{
- if (_mode != 4)
- {
- if (_mode == 1)
- {
+ if (_mode != 4) {
+ if (_mode == 1) {
qDebug("NetworkMessage::writeMessage called when class was in mode %d!", _mode);
return false;
}
@@ -245,8 +221,7 @@ bool NetworkMessage::writeMessage(QUdpSocket* socket, const QHostAddress& addres
_bufferPos = 0;
}
// key/value pairs have not been serialized yet...
- if (_bufferSize == 0)
- {
+ if (_bufferSize == 0) {
this->serializeMessage();
}
const qint64 ret = socket->writeDatagram(_buffer, _bufferSize, address, port);
@@ -263,8 +238,7 @@ void NetworkMessage::serializeMessage()
QByteArray buf;
//qDebug() << "Default size: " << buf.capacity();
buf.reserve(_lastBufferSize > 0 ? _lastBufferSize : 200);
- for (QHash<QByteArray, QByteArray>::const_iterator it = _fields.begin(); it != _fields.end(); ++it)
- {
+ for (QHash<QByteArray, QByteArray>::const_iterator it = _fields.begin(); it != _fields.end(); ++it) {
const QByteArray &ba = it.key();
const QByteArray &val = it.value();
quint16 keyLen = _htons((quint16)ba.size());