diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2020-02-23 17:00:44 +0100 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2020-02-26 10:03:54 +0000 |
commit | a844995bb8b48c08c5f6180b727c8f45bd23dfa5 (patch) | |
tree | 26168797a012bbd3ccf42160f6acc03f2e4f3ee8 | |
parent | a246fb2ae2a810b62147cf64d96410a26b93e637 (diff) | |
download | qtwebsockets-a844995bb8b48c08c5f6180b727c8f45bd23dfa5.tar.gz |
WebSocketServer: Add Q_(UN)LIKELY
... to optimize code that is used for error handling.
Change-Id: I62fe11d34d32c6784e960505fccbf529a3265d23
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
-rw-r--r-- | src/websockets/qwebsocketserver_p.cpp | 12 |
1 files 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(); |