Commit a4097659 authored by Max-Wilhelm Bruker's avatar Max-Wilhelm Bruker
Browse files

made server threading optional

parent c67bc657
...@@ -97,13 +97,6 @@ ...@@ -97,13 +97,6 @@
<file>resources/counters/general.svg</file> <file>resources/counters/general.svg</file>
<file>resources/counters/general_highlight.svg</file> <file>resources/counters/general_highlight.svg</file>
<file>resources/sounds/draw.raw</file>
<file>resources/sounds/notification.raw</file>
<file>resources/sounds/playcard.raw</file>
<file>resources/sounds/shuffle.raw</file>
<file>resources/sounds/tap.raw</file>
<file>resources/sounds/untap.raw</file>
<file>resources/userlevels/normal.svg</file> <file>resources/userlevels/normal.svg</file>
<file>resources/userlevels/registered.svg</file> <file>resources/userlevels/registered.svg</file>
<file>resources/userlevels/judge.svg</file> <file>resources/userlevels/judge.svg</file>
......
...@@ -3,6 +3,7 @@ port=4747 ...@@ -3,6 +3,7 @@ port=4747
statusupdate=15000 statusupdate=15000
logfile=server.log logfile=server.log
id=1 id=1
threaded=0
[authentication] [authentication]
method=none method=none
......
...@@ -26,11 +26,21 @@ ...@@ -26,11 +26,21 @@
#include "serversocketinterface.h" #include "serversocketinterface.h"
#include "serversocketthread.h" #include "serversocketthread.h"
#include "protocol.h" #include "protocol.h"
#include "server_logger.h"
#include "main.h"
void Servatrice_TcpServer::incomingConnection(int socketDescriptor) void Servatrice_TcpServer::incomingConnection(int socketDescriptor)
{ {
if (threaded) {
ServerSocketThread *sst = new ServerSocketThread(socketDescriptor, server, this); ServerSocketThread *sst = new ServerSocketThread(socketDescriptor, server, this);
sst->start(); sst->start();
} else {
QTcpSocket *socket = new QTcpSocket;
socket->setSocketDescriptor(socketDescriptor);
logger->logMessage(QString("incoming connection: %1").arg(socket->peerAddress().toString()));
new ServerSocketInterface(server, socket);
}
} }
Servatrice::Servatrice(QSettings *_settings, QObject *parent) Servatrice::Servatrice(QSettings *_settings, QObject *parent)
...@@ -55,7 +65,8 @@ Servatrice::Servatrice(QSettings *_settings, QObject *parent) ...@@ -55,7 +65,8 @@ Servatrice::Servatrice(QSettings *_settings, QObject *parent)
statusUpdateClock->start(statusUpdateTime); statusUpdateClock->start(statusUpdateTime);
} }
tcpServer = new Servatrice_TcpServer(this); bool threaded = settings->value("server/threaded", false).toInt();
tcpServer = new Servatrice_TcpServer(this, threaded);
int port = settings->value("server/port", 4747).toInt(); int port = settings->value("server/port", 4747).toInt();
qDebug() << "Starting server on port" << port; qDebug() << "Starting server on port" << port;
if (tcpServer->listen(QHostAddress::Any, port)) if (tcpServer->listen(QHostAddress::Any, port))
......
...@@ -36,9 +36,10 @@ class Servatrice_TcpServer : public QTcpServer { ...@@ -36,9 +36,10 @@ class Servatrice_TcpServer : public QTcpServer {
Q_OBJECT Q_OBJECT
private: private:
Servatrice *server; Servatrice *server;
bool threaded;
public: public:
Servatrice_TcpServer(Servatrice *_server, QObject *parent = 0) Servatrice_TcpServer(Servatrice *_server, bool _threaded, QObject *parent = 0)
: QTcpServer(parent), server(_server) { } : QTcpServer(parent), server(_server), threaded(_threaded) { }
protected: protected:
void incomingConnection(int socketDescriptor); void incomingConnection(int socketDescriptor);
}; };
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment