aboutsummaryrefslogtreecommitdiff
path: root/src/networkmanager.cpp
diff options
context:
space:
mode:
authoroldmud0 <oldmud0@users.noreply.github.com>2020-04-17 21:57:16 -0500
committeroldmud0 <oldmud0@users.noreply.github.com>2020-04-17 21:57:16 -0500
commit13942345c6a3e7e1625c6c26cc2f2f368a3bff23 (patch)
tree73ce940217b57fd47afb6a95e828e6309ed5e683 /src/networkmanager.cpp
parentfaac191f0b9e99b82614ed3959ec5c67f56a1fc3 (diff)
Run clang-format on entire project
Indentation fixed to 2 spaces per tab. Braces set to Stroustrup style. Lines reflow at 80 characters. One-line method bodies are on the same line as the signature. Space always after `//`. No indentation on preprocessor macros. Includes are sorted lexicographically. If you don't want to see this commit on blames, use the hidden whitespace option on GitHub, or use `-w` in git-blame.
Diffstat (limited to 'src/networkmanager.cpp')
-rw-r--r--src/networkmanager.cpp142
1 files changed, 67 insertions, 75 deletions
diff --git a/src/networkmanager.cpp b/src/networkmanager.cpp
index b029eabe..cf89d0ab 100644
--- a/src/networkmanager.cpp
+++ b/src/networkmanager.cpp
@@ -13,21 +13,23 @@ NetworkManager::NetworkManager(AOApplication *parent) : QObject(parent)
ms_reconnect_timer = new QTimer(this);
ms_reconnect_timer->setSingleShot(true);
- QObject::connect(ms_reconnect_timer, SIGNAL(timeout()), this, SLOT(retry_ms_connect()));
-
- QObject::connect(ms_socket, SIGNAL(readyRead()), this, SLOT(handle_ms_packet()));
- QObject::connect(server_socket, SIGNAL(readyRead()), this, SLOT(handle_server_packet()));
- QObject::connect(server_socket, SIGNAL(disconnected()), ao_app, SLOT(server_disconnected()));
-
- QString master_config = ao_app->configini->value("master", "").value<QString>();
+ QObject::connect(ms_reconnect_timer, SIGNAL(timeout()), this,
+ SLOT(retry_ms_connect()));
+
+ QObject::connect(ms_socket, SIGNAL(readyRead()), this,
+ SLOT(handle_ms_packet()));
+ QObject::connect(server_socket, SIGNAL(readyRead()), this,
+ SLOT(handle_server_packet()));
+ QObject::connect(server_socket, SIGNAL(disconnected()), ao_app,
+ SLOT(server_disconnected()));
+
+ QString master_config =
+ ao_app->configini->value("master", "").value<QString>();
if (master_config != "")
ms_nosrv_hostname = master_config;
}
-NetworkManager::~NetworkManager()
-{
-
-}
+NetworkManager::~NetworkManager() {}
void NetworkManager::connect_to_master()
{
@@ -43,11 +45,11 @@ void NetworkManager::connect_to_master()
void NetworkManager::connect_to_master_nosrv()
{
- QObject::connect(ms_socket, SIGNAL(error(QAbstractSocket::SocketError)),
- this, SLOT(on_ms_socket_error(QAbstractSocket::SocketError)));
+ QObject::connect(ms_socket, SIGNAL(error(QAbstractSocket::SocketError)), this,
+ SLOT(on_ms_socket_error(QAbstractSocket::SocketError)));
- QObject::connect(ms_socket, SIGNAL(connected()),
- this, SLOT(on_ms_nosrv_connect_success()));
+ QObject::connect(ms_socket, SIGNAL(connected()), this,
+ SLOT(on_ms_nosrv_connect_success()));
ms_socket->connectToHost(ms_nosrv_hostname, ms_port);
}
@@ -61,12 +63,10 @@ void NetworkManager::connect_to_server(server_type p_server)
void NetworkManager::ship_ms_packet(QString p_packet)
{
- if (!ms_socket->isOpen())
- {
+ if (!ms_socket->isOpen()) {
retry_ms_connect();
}
- else
- {
+ else {
ms_socket->write(p_packet.toUtf8());
}
}
@@ -81,93 +81,86 @@ void NetworkManager::handle_ms_packet()
QByteArray buffer = ms_socket->readAll();
QString in_data = QString::fromUtf8(buffer, buffer.size());
- if (!in_data.endsWith("%"))
- {
+ if (!in_data.endsWith("%")) {
ms_partial_packet = true;
ms_temp_packet += in_data;
return;
}
- else
- {
- if (ms_partial_packet)
- {
+ else {
+ if (ms_partial_packet) {
in_data = ms_temp_packet + in_data;
ms_temp_packet = "";
ms_partial_packet = false;
}
}
- QStringList packet_list = in_data.split("%", QString::SplitBehavior(QString::SkipEmptyParts));
+ QStringList packet_list =
+ in_data.split("%", QString::SplitBehavior(QString::SkipEmptyParts));
- for (QString packet : packet_list)
- {
+ for (QString packet : packet_list) {
AOPacket *f_packet = new AOPacket(packet);
ao_app->ms_packet_received(f_packet);
}
}
-
void NetworkManager::perform_srv_lookup()
{
- #ifdef MS_FAILOVER_SUPPORTED
+#ifdef MS_FAILOVER_SUPPORTED
ms_dns = new QDnsLookup(QDnsLookup::SRV, ms_srv_hostname, this);
connect(ms_dns, SIGNAL(finished()), this, SLOT(on_srv_lookup()));
ms_dns->lookup();
- #endif
+#endif
}
void NetworkManager::on_srv_lookup()
{
- #ifdef MS_FAILOVER_SUPPORTED
+#ifdef MS_FAILOVER_SUPPORTED
bool connected = false;
- if (ms_dns->error() != QDnsLookup::NoError)
- {
+ if (ms_dns->error() != QDnsLookup::NoError) {
qWarning("SRV lookup of the master server DNS failed.");
ms_dns->deleteLater();
}
- else
- {
+ else {
const auto srv_records = ms_dns->serviceRecords();
- for (const QDnsServiceRecord &record : srv_records)
- {
- #ifdef DEBUG_NETWORK
+ for (const QDnsServiceRecord &record : srv_records) {
+#ifdef DEBUG_NETWORK
qDebug() << "Connecting to " << record.target() << ":" << record.port();
- #endif
+#endif
ms_socket->connectToHost(record.target(), record.port());
QTime timer;
timer.start();
- do
- {
+ do {
ao_app->processEvents();
- if (ms_socket->state() == QAbstractSocket::ConnectedState)
- {
+ if (ms_socket->state() == QAbstractSocket::ConnectedState) {
connected = true;
break;
}
- else if (ms_socket->state() != QAbstractSocket::ConnectingState
- && ms_socket->state() != QAbstractSocket::HostLookupState
- && ms_socket->error() != -1)
- {
+ else if (ms_socket->state() != QAbstractSocket::ConnectingState &&
+ ms_socket->state() != QAbstractSocket::HostLookupState &&
+ ms_socket->error() != -1) {
qDebug() << ms_socket->error();
- qWarning() << "Error connecting to master server:" << ms_socket->errorString();
+ qWarning() << "Error connecting to master server:"
+ << ms_socket->errorString();
ms_socket->abort();
ms_socket->close();
break;
}
- } while (timer.elapsed() < timeout_milliseconds); // Very expensive spin-wait loop - it will bring CPU to 100%!
- if (connected)
- {
- // Connect a one-shot signal in case the master server disconnects randomly
- QObject::connect(ms_socket, SIGNAL(error(QAbstractSocket::SocketError)),
- this, SLOT(on_ms_socket_error(QAbstractSocket::SocketError)));
+ } while (timer.elapsed() <
+ timeout_milliseconds); // Very expensive spin-wait loop - it will
+ // bring CPU to 100%!
+ if (connected) {
+ // Connect a one-shot signal in case the master server disconnects
+ // randomly
+ QObject::connect(
+ ms_socket, SIGNAL(error(QAbstractSocket::SocketError)), this,
+ SLOT(on_ms_socket_error(QAbstractSocket::SocketError)));
break;
}
- else
- {
+ else {
ms_socket->abort();
ms_socket->close();
}
@@ -179,29 +172,30 @@ void NetworkManager::on_srv_lookup()
connect_to_master_nosrv();
else
emit ms_connect_finished(connected, false);
- #endif
+#endif
}
void NetworkManager::on_ms_nosrv_connect_success()
{
emit ms_connect_finished(true, false);
- QObject::disconnect(ms_socket, SIGNAL(connected()),
- this, SLOT(on_ms_nosrv_connect_success()));
+ QObject::disconnect(ms_socket, SIGNAL(connected()), this,
+ SLOT(on_ms_nosrv_connect_success()));
- QObject::connect(ms_socket, SIGNAL(error(QAbstractSocket::SocketError)),
- this, SLOT(on_ms_socket_error(QAbstractSocket::SocketError)));
+ QObject::connect(ms_socket, SIGNAL(error(QAbstractSocket::SocketError)), this,
+ SLOT(on_ms_socket_error(QAbstractSocket::SocketError)));
}
void NetworkManager::on_ms_socket_error(QAbstractSocket::SocketError error)
{
- qWarning() << "Master server socket error:" << ms_socket->errorString()
- << "(" << error << ")";
+ qWarning() << "Master server socket error:" << ms_socket->errorString() << "("
+ << error << ")";
// Disconnect the one-shot signal - this way, failover connect attempts
// don't trigger a full retry
QObject::disconnect(ms_socket, SIGNAL(error(QAbstractSocket::SocketError)),
- this, SLOT(on_ms_socket_error(QAbstractSocket::SocketError)));
+ this,
+ SLOT(on_ms_socket_error(QAbstractSocket::SocketError)));
emit ms_connect_finished(false, true);
@@ -210,7 +204,8 @@ void NetworkManager::on_ms_socket_error(QAbstractSocket::SocketError error)
void NetworkManager::retry_ms_connect()
{
- if (!ms_reconnect_timer->isActive() && ms_socket->state() != QAbstractSocket::ConnectingState)
+ if (!ms_reconnect_timer->isActive() &&
+ ms_socket->state() != QAbstractSocket::ConnectingState)
connect_to_master();
}
@@ -219,27 +214,24 @@ void NetworkManager::handle_server_packet()
QByteArray buffer = server_socket->readAll();
QString in_data = QString::fromUtf8(buffer, buffer.size());
- if (!in_data.endsWith("%"))
- {
+ if (!in_data.endsWith("%")) {
partial_packet = true;
temp_packet += in_data;
return;
}
- else
- {
- if (partial_packet)
- {
+ else {
+ if (partial_packet) {
in_data = temp_packet + in_data;
temp_packet = "";
partial_packet = false;
}
}
- QStringList packet_list = in_data.split("%", QString::SplitBehavior(QString::SkipEmptyParts));
+ QStringList packet_list =
+ in_data.split("%", QString::SplitBehavior(QString::SkipEmptyParts));
- for (QString packet : packet_list)
- {
+ for (QString packet : packet_list) {
AOPacket *f_packet = new AOPacket(packet);
ao_app->server_packet_received(f_packet);