From bd100e777190f68c4da11d4f7a1c4bf8274211d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Tue, 10 Apr 2018 15:04:10 +0200 Subject: QWebSocket: Add 'bytesToWrite' Add the well-known 'bytesToWrite' function to QWebSocket. Previously the only way to know how many bytes were left to be written was to make a guesstimate on the overhead your message would get and then keep track of the amount sent using the 'bytesWritten' signal. The tests compare using '>' because there is overhead from the headers. [ChangeLog][QWebSocket] Added the bytesToWrite function to QWebSocket. Call this function to see how many bytes are left to write. Change-Id: I82f17a98b582ee3bc02f0c47597b4a6717761f12 Reviewed-by: Timur Pocheptsov Reviewed-by: Edward Welbourne --- src/websockets/qwebsocket.cpp | 13 +++++++++++++ src/websockets/qwebsocket.h | 2 ++ 2 files changed, 15 insertions(+) (limited to 'src') diff --git a/src/websockets/qwebsocket.cpp b/src/websockets/qwebsocket.cpp index 1b0fc35..64d5e4c 100644 --- a/src/websockets/qwebsocket.cpp +++ b/src/websockets/qwebsocket.cpp @@ -772,4 +772,17 @@ bool QWebSocket::isValid() const return d->isValid(); } +/*! + \since 5.12 + Returns the number of bytes that are waiting to be written. The bytes are written when control + goes back to the event loop or when flush() is called. + + \sa flush + */ +qint64 QWebSocket::bytesToWrite() const +{ + Q_D(const QWebSocket); + return d->m_pSocket ? d->m_pSocket->bytesToWrite() : 0; +} + QT_END_NAMESPACE diff --git a/src/websockets/qwebsocket.h b/src/websockets/qwebsocket.h index a80c47a..b8742e8 100644 --- a/src/websockets/qwebsocket.h +++ b/src/websockets/qwebsocket.h @@ -113,6 +113,8 @@ public: QSslConfiguration sslConfiguration() const; #endif + qint64 bytesToWrite() const; + public Q_SLOTS: void close(QWebSocketProtocol::CloseCode closeCode = QWebSocketProtocol::CloseCodeNormal, const QString &reason = QString()); -- cgit v1.2.1