From a844995bb8b48c08c5f6180b727c8f45bd23dfa5 Mon Sep 17 00:00:00 2001 From: Andre Hartmann Date: Sun, 23 Feb 2020 17:00:44 +0100 Subject: WebSocketServer: Add Q_(UN)LIKELY MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ... to optimize code that is used for error handling. Change-Id: I62fe11d34d32c6784e960505fccbf529a3265d23 Reviewed-by: Christian Ehrlicher Reviewed-by: MÃ¥rten Nordheim --- src/websockets/qwebsocketserver_p.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp index 8c75721..3196ca7 100644 --- a/src/websockets/qwebsocketserver_p.cpp +++ b/src/websockets/qwebsocketserver_p.cpp @@ -439,7 +439,7 @@ void QWebSocketServerPrivate::handshakeReceived() //then we don't have our header complete yet //check that no one is trying to exhaust our virtual memory const qint64 maxHeaderLength = MAX_HEADERLINE_LENGTH * MAX_HEADERLINES + endOfHeaderMarker.size(); - if (byteAvailable > maxHeaderLength) { + if (Q_UNLIKELY(byteAvailable > maxHeaderLength)) { pTcpSocket->close(); setError(QWebSocketProtocol::CloseCodeTooMuchData, QWebSocketServer::tr("Header is too large.")); @@ -453,7 +453,7 @@ void QWebSocketServerPrivate::handshakeReceived() bool success = false; bool isSecure = (m_secureMode == SecureMode); - if (m_pendingConnections.length() >= maxPendingConnections()) { + if (Q_UNLIKELY(m_pendingConnections.length() >= maxPendingConnections())) { pTcpSocket->close(); setError(QWebSocketProtocol::CloseCodeAbnormalDisconnection, QWebSocketServer::tr("Too many pending connections.")); @@ -465,7 +465,7 @@ void QWebSocketServerPrivate::handshakeReceived() //remove our header from the tcpSocket qint64 skippedSize = pTcpSocket->skip(headerSize); - if (skippedSize != headerSize) { + if (Q_UNLIKELY(skippedSize != headerSize)) { pTcpSocket->close(); setError(QWebSocketProtocol::CloseCodeProtocolError, QWebSocketServer::tr("Read handshake request header failed.")); @@ -487,16 +487,16 @@ void QWebSocketServerPrivate::handshakeReceived() supportedProtocols(), supportedExtensions()); - if (response.isValid()) { + if (Q_LIKELY(response.isValid())) { QTextStream httpStream(pTcpSocket); httpStream << response; httpStream.flush(); - if (response.canUpgrade()) { + if (Q_LIKELY(response.canUpgrade())) { QWebSocket *pWebSocket = QWebSocketPrivate::upgradeFrom(pTcpSocket, request, response); - if (pWebSocket) { + if (Q_LIKELY(pWebSocket)) { finishHandshakeTimeout(pTcpSocket); addPendingConnection(pWebSocket); Q_EMIT q->newConnection(); -- cgit v1.2.1