diff --git a/Server.cpp b/Server.cpp index 4c1472a96..a3afdeaa6 100644 --- a/Server.cpp +++ b/Server.cpp @@ -37,6 +37,14 @@ #include "Connection.h" #include "Server.h" +#ifdef Q_OS_UNIX +#include +#include +#include +#include +#include +#endif + Server *g_sServer; ServerParams g_sp; @@ -104,6 +112,12 @@ Server::Server() { if (! qusUdp->bind(g_sp.iPort)) qFatal("Server: UDP Bind failed"); +#ifdef Q_OS_UNIX + int val = IPTOS_PREC_FLASHOVERRIDE | IPTOS_LOWDELAY | IPTOS_THROUGHPUT; + if (setsockopt(qusUdp->socketDescriptor(), SOL_IP, IP_TOS, &val, sizeof(val))) + qWarning("Server: Failed to set TOS for UDP Socket"); +#endif + connect(qusUdp, SIGNAL(readyRead()), this, SLOT(udpReady())); log(QString("Server listening on port %1").arg(g_sp.iPort));