From 1ac893c201034981c780561c3e3f891a024e4f02 Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Wed, 8 Feb 2023 10:23:07 +1000 Subject: wasm: return amount of bytes sent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since we do not know how many bytes were sent until the asynchronous send callback has been called, we just assume all bytes have been send if the call returns successful. Fixes: QTBUG-110951 Change-Id: I1c21d23e278b0e48ac0c73e4ea5a7dccfbd5e198 Reviewed-by: MÃ¥rten Nordheim (cherry picked from commit a43383a74d4928ed4be6afe657af2781baaf6e7a) Reviewed-by: Qt Cherry-pick Bot --- src/websockets/qwebsocket_wasm_p.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/websockets/qwebsocket_wasm_p.cpp b/src/websockets/qwebsocket_wasm_p.cpp index 9e73e1d..c861fcf 100644 --- a/src/websockets/qwebsocket_wasm_p.cpp +++ b/src/websockets/qwebsocket_wasm_p.cpp @@ -80,9 +80,12 @@ qint64 QWebSocketPrivate::sendTextMessage(const QString &message) emscripten_websocket_get_ready_state(m_socketContext, &m_readyState); if (m_readyState == 1) { - result = emscripten_websocket_send_utf8_text(m_socketContext, message.toUtf8()); + QByteArray messageArray = message.toUtf8(); + result = emscripten_websocket_send_utf8_text(m_socketContext, messageArray); if (result < 0) emitErrorOccurred(QAbstractSocket::UnknownSocketError); + else + return messageArray.length(); } else qWarning() << "Could not send message. Websocket is not open"; @@ -99,6 +102,8 @@ qint64 QWebSocketPrivate::sendBinaryMessage(const QByteArray &data) data.size()); if (result < 0) emitErrorOccurred(QAbstractSocket::UnknownSocketError); + else + return data.size(); } else qWarning() << "Could not send message. Websocket is not open"; -- cgit v1.2.1