summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2020-02-23 17:00:44 +0100
committerAndré Hartmann <aha_1980@gmx.de>2020-02-26 10:03:54 +0000
commita844995bb8b48c08c5f6180b727c8f45bd23dfa5 (patch)
tree26168797a012bbd3ccf42160f6acc03f2e4f3ee8
parenta246fb2ae2a810b62147cf64d96410a26b93e637 (diff)
downloadqtwebsockets-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.cpp12
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();