net/Socket.hpp | 1 + net/SslSocket.hpp | 2 +- net/WebSocketHandler.hpp | 15 ++++++++++----- 3 files changed, 12 insertions(+), 6 deletions(-)
New commits: commit 3895897213930c45c63b9ab3049c6bc101ebc114 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Sat Mar 25 21:50:24 2017 -0400 wsd: improved socket logging Change-Id: Ib4751a5a73b7ec0c7ca319f552d5e0aaff06ffea Reviewed-on: https://gerrit.libreoffice.org/35707 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/net/Socket.hpp b/net/Socket.hpp index e0ecc807..56a33de6 100644 --- a/net/Socket.hpp +++ b/net/Socket.hpp @@ -69,6 +69,7 @@ public: /// TODO: Support separate read/write shutdown. virtual void shutdown() { + LOG_TRC("#" << _fd << ": socket shutdown RDWR."); ::shutdown(_fd, SHUT_RDWR); } diff --git a/net/SslSocket.hpp b/net/SslSocket.hpp index 3654c4b7..ec732c1a 100644 --- a/net/SslSocket.hpp +++ b/net/SslSocket.hpp @@ -64,7 +64,7 @@ public: /// Shutdown the TLS/SSL connection properly. void closeConnection() override { - LOG_DBG("SslStreamSocket::performShutdown() #" << getFD()); + LOG_DBG("SslStreamSocket::closeConnection() #" << getFD()); if (SSL_shutdown(_ssl) == 0) { // Complete the bidirectional shutdown. diff --git a/net/WebSocketHandler.hpp b/net/WebSocketHandler.hpp index 64b057b9..08500bf2 100644 --- a/net/WebSocketHandler.hpp +++ b/net/WebSocketHandler.hpp @@ -107,7 +107,9 @@ public: if (socket == nullptr) return; - LOG_TRC("#" << socket->getFD() << ": Shutdown websocket."); + LOG_TRC("#" << socket->getFD() << ": Shutdown websocket, code: " << + static_cast<unsigned>(statusCode) << ", message: " << statusMessage); + _shuttingDown = true; const size_t len = statusMessage.size(); std::vector<char> buf(2 + len); @@ -119,7 +121,6 @@ public: auto lock = socket->getWriteLock(); sendFrame(socket, buf.data(), buf.size(), flags); - _shuttingDown = true; } /// Implementation of the SocketHandlerInterface. @@ -197,16 +198,16 @@ public: socket->_inBuffer.erase(socket->_inBuffer.begin(), socket->_inBuffer.begin() + headerLen + payloadLen); // FIXME: fin, aggregating payloads into _wsPayload etc. - LOG_TRC("#" << socket->getFD() << ": Incoming WebSocket message code " << code << " fin? " << fin << " payload length " << _wsPayload.size()); + LOG_TRC("#" << socket->getFD() << ": Incoming WebSocket message code " << code << " fin? " << fin << ", payload length: " << _wsPayload.size()); switch (code) { case WSOpCode::Pong: _pingTimeUs = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::steady_clock::now() - _pingSent).count(); - LOG_TRC("Pong received: " << _pingTimeUs << " microseconds"); + LOG_TRC("#" << socket->getFD() << ": Pong received: " << _pingTimeUs << " microseconds"); break; case WSOpCode::Ping: - LOG_ERR("Clients should not send pings, only servers"); + LOG_ERR("#" << socket->getFD() << ": Clients should not send pings, only servers"); // drop through case WSOpCode::Close: if (!_shuttingDown) @@ -224,6 +225,10 @@ public: shutdown(statusCode); } } + else + { + LOG_TRC("#" << socket->getFD() << ": Client responded to our shutdown."); + } // TCP Close. socket->closeConnection(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits