From 5b379ae2ffe3c2c8c35cf7d9c61b6b4ec9c81b89 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 14 Nov 2014 10:12:34 -0800 Subject: [PATCH] use portable solution for setSockOpt --- libraries/networking/src/LimitedNodeList.cpp | 21 ++++++-------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/libraries/networking/src/LimitedNodeList.cpp b/libraries/networking/src/LimitedNodeList.cpp index fb8beb452c..fd034ab285 100644 --- a/libraries/networking/src/LimitedNodeList.cpp +++ b/libraries/networking/src/LimitedNodeList.cpp @@ -133,28 +133,19 @@ QUdpSocket& LimitedNodeList::getDTLSSocket() { } void LimitedNodeList::changeSocketBufferSizes(int numBytes) { - // change the socket send buffer size to be 1MB - int oldBufferSize = 0; - -#ifdef Q_OS_WIN - int sizeOfInt = sizeof(oldBufferSize); -#else - unsigned int sizeOfInt = sizeof(oldBufferSize); -#endif + // change socket buffer sizes for (int i = 0; i < 2; i++) { - int bufferOpt = (i == 0) ? SO_SNDBUF : SO_RCVBUF; + QAbstractSocket::SocketOption bufferOpt = (i == 0) + ? QAbstractSocket::SendBufferSizeSocketOption : QAbstractSocket::ReceiveBufferSizeSocketOption; - getsockopt(_nodeSocket.socketDescriptor(), SOL_SOCKET, bufferOpt, reinterpret_cast(&oldBufferSize), &sizeOfInt); - - setsockopt(_nodeSocket.socketDescriptor(), SOL_SOCKET, bufferOpt, reinterpret_cast(&numBytes), - sizeof(numBytes)); + int oldBufferSize = _nodeSocket.socketOption(bufferOpt).toInt(); QString bufferTypeString = (i == 0) ? "send" : "receive"; if (oldBufferSize < numBytes) { - int newBufferSize = 0; - getsockopt(_nodeSocket.socketDescriptor(), SOL_SOCKET, bufferOpt, reinterpret_cast(&newBufferSize), &sizeOfInt); + _nodeSocket.setSocketOption(bufferOpt, QVariant(numBytes)); + int newBufferSize = _nodeSocket.socketOption(bufferOpt).toInt(); qDebug() << "Changed socket" << bufferTypeString << "buffer size from" << oldBufferSize << "to" << newBufferSize << "bytes";