[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