[Libreoffice-commits] online.git: net/Socket.hpp net/SslSocket.hpp net/WebSocketHandler.hpp

Ashod Nakashian ashod.nakashian at collabora.co.uk
Sun Mar 26 05:07:55 UTC 2017


 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.nakashian at 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 <ashnakash at gmail.com>
    Tested-by: Ashod Nakashian <ashnakash at 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();


More information about the Libreoffice-commits mailing list