[Libreoffice-commits] online.git: 3 commits - net/WebSocketHandler.hpp wsd/Admin.cpp wsd/Admin.hpp wsd/LOOLWSD.cpp

Michael Meeks michael.meeks at collabora.com
Thu Mar 16 17:33:23 UTC 2017


 net/WebSocketHandler.hpp |    7 +++----
 wsd/Admin.cpp            |   18 +++++++++---------
 wsd/Admin.hpp            |    8 ++++----
 wsd/LOOLWSD.cpp          |    2 +-
 4 files changed, 17 insertions(+), 18 deletions(-)

New commits:
commit a6de441ed0577d7c7cb9e431b43e48b543a02b22
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Thu Mar 16 17:32:38 2017 +0000

    rename AdminRequestHandler to AdminSocketHandler.

diff --git a/wsd/Admin.cpp b/wsd/Admin.cpp
index b3b4b765..646ec274 100644
--- a/wsd/Admin.cpp
+++ b/wsd/Admin.cpp
@@ -53,8 +53,9 @@ using Poco::Net::HTTPServerRequest;
 using Poco::Net::HTTPServerResponse;
 using Poco::Util::Application;
 
-    /// Process incoming websocket messages
-void AdminRequestHandler::handleMessage(bool /* fin */, WSOpCode /* code */, std::vector<char> &payload)
+/// Process incoming websocket messages
+void AdminSocketHandler::handleMessage(bool /* fin */, WSOpCode /* code */,
+                                       std::vector<char> &payload)
 {
     // FIXME: check fin, code etc.
     const std::string firstLine = getFirstLine(payload.data(), payload.size());
@@ -226,9 +227,9 @@ void AdminRequestHandler::handleMessage(bool /* fin */, WSOpCode /* code */, std
     }
 }
 
-AdminRequestHandler::AdminRequestHandler(Admin* adminManager,
-                                         const std::weak_ptr<StreamSocket>& socket,
-                                         const Poco::Net::HTTPRequest& request)
+AdminSocketHandler::AdminSocketHandler(Admin* adminManager,
+                                       const std::weak_ptr<StreamSocket>& socket,
+                                       const Poco::Net::HTTPRequest& request)
     : WebSocketHandler(socket, request),
       _admin(adminManager),
       _sessionId(0),
@@ -236,7 +237,7 @@ AdminRequestHandler::AdminRequestHandler(Admin* adminManager,
 {
 }
 
-void AdminRequestHandler::sendTextFrame(const std::string& message)
+void AdminSocketHandler::sendTextFrame(const std::string& message)
 {
     UnitWSD::get().onAdminQueryMessage(message);
     if (_isAuthenticated)
@@ -245,7 +246,7 @@ void AdminRequestHandler::sendTextFrame(const std::string& message)
         LOG_TRC("Skip sending message to non-authenticated client: '" << message << "'");
 }
 
-bool AdminRequestHandler::handleInitialRequest(
+bool AdminSocketHandler::handleInitialRequest(
     const std::weak_ptr<StreamSocket> &socketWeak,
     const Poco::Net::HTTPRequest& request)
 {
@@ -260,7 +261,7 @@ bool AdminRequestHandler::handleInitialRequest(
     if (request.find("Upgrade") != request.end() && Poco::icompare(request["Upgrade"], "websocket") == 0)
     {
         Admin &admin = Admin::instance();
-        auto handler = std::make_shared<AdminRequestHandler>(&admin, socketWeak, request);
+        auto handler = std::make_shared<AdminSocketHandler>(&admin, socketWeak, request);
         socket->setHandler(handler);
 
         { // FIXME: weird locking around subscribe ...
diff --git a/wsd/Admin.hpp b/wsd/Admin.hpp
index da51cdc8..d288658a 100644
--- a/wsd/Admin.hpp
+++ b/wsd/Admin.hpp
@@ -28,12 +28,12 @@
 class Admin;
 
 /// Handle admin client's Websocket requests & replies.
-class AdminRequestHandler : public WebSocketHandler
+class AdminSocketHandler : public WebSocketHandler
 {
 public:
-    AdminRequestHandler(Admin* adminManager,
-                        const std::weak_ptr<StreamSocket>& socket,
-                        const Poco::Net::HTTPRequest& request);
+    AdminSocketHandler(Admin* adminManager,
+                       const std::weak_ptr<StreamSocket>& socket,
+                       const Poco::Net::HTTPRequest& request);
 
     /// Handle the initial Admin WS upgrade request.
     /// @returns true if we should give this socket to the Admin poll.
diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 9c5fb007..5ed485eb 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -1795,7 +1795,7 @@ private:
             else if (reqPathSegs.size() >= 2 && reqPathSegs[0] == "lool" && reqPathSegs[1] == "adminws")
             {
                 LOG_ERR("Admin request: " << request.getURI());
-                if (AdminRequestHandler::handleInitialRequest(_socket, request))
+                if (AdminSocketHandler::handleInitialRequest(_socket, request))
                 {
                     // Hand the socket over to the Admin poll.
                     WebServerPoll.releaseSocket(socket);
commit 4bc71cc86dd5eaf50738a09173b379e5a1973959
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Thu Mar 16 17:29:18 2017 +0000

    Admin: remove debug.

diff --git a/wsd/Admin.cpp b/wsd/Admin.cpp
index f8d9f6f8..b3b4b765 100644
--- a/wsd/Admin.cpp
+++ b/wsd/Admin.cpp
@@ -239,7 +239,6 @@ AdminRequestHandler::AdminRequestHandler(Admin* adminManager,
 void AdminRequestHandler::sendTextFrame(const std::string& message)
 {
     UnitWSD::get().onAdminQueryMessage(message);
-    std::cerr << "Admin: send text frame '" << message << "'\n";
     if (_isAuthenticated)
         sendFrame(message);
     else
commit 69feb165ddbab0c48ac4a6963d432f9ba7fc0d86
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Thu Mar 16 17:23:42 2017 +0000

    Remove websocket assert on performWrites.
    
    Since commit 862d7a07342f1caad5a9474c480b06585c813bea
          wsd: write as many messages to socket as possible:
    
    This can be called even if hasQueuedWrites returns false.

diff --git a/net/WebSocketHandler.hpp b/net/WebSocketHandler.hpp
index 9a72f2a2..feff583b 100644
--- a/net/WebSocketHandler.hpp
+++ b/net/WebSocketHandler.hpp
@@ -225,6 +225,7 @@ public:
             ; // can have multiple msgs in one recv'd packet.
     }
 
+    /// By default rely on the socket buffer.
     bool hasQueuedWrites() const override
     {
         auto socket = _socket.lock();
@@ -233,10 +234,8 @@ public:
         return false;
     }
 
-    void performWrites() override
-    {
-        assert(false && "performWrites not implemented");
-    }
+    /// By default rely on the socket buffer.
+    void performWrites() override {}
 
     /// Sends a WebSocket Text message.
     void sendFrame(const std::string& msg) const


More information about the Libreoffice-commits mailing list