[Libreoffice-commits] online.git: common/Message.hpp test/TileQueueTests.cpp wsd/ClientSession.cpp wsd/ClientSession.hpp wsd/DocumentBroker.cpp wsd/PrisonerSession.cpp wsd/SenderQueue.hpp wsd/TileCache.cpp
Ashod Nakashian
ashod.nakashian at collabora.co.uk
Mon Jan 23 05:47:31 UTC 2017
common/Message.hpp | 28 +++++++++++++++-------------
test/TileQueueTests.cpp | 22 +++++++++++-----------
wsd/ClientSession.cpp | 2 +-
wsd/ClientSession.hpp | 16 ++++++++--------
wsd/DocumentBroker.cpp | 2 +-
wsd/PrisonerSession.cpp | 8 ++++----
wsd/SenderQueue.hpp | 2 +-
wsd/TileCache.cpp | 12 ++++++------
8 files changed, 47 insertions(+), 45 deletions(-)
New commits:
commit f1de0d0481ab6505e05e8705d36b49424876674c
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
Date: Sat Jan 21 19:51:02 2017 -0500
wsd: MessagePayload -> Message
Change-Id: Ie65f7c707785dbbf85a2f98abf082fbc3ee7a64b
Reviewed-on: https://gerrit.libreoffice.org/33428
Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>
Tested-by: Ashod Nakashian <ashnakash at gmail.com>
diff --git a/common/Message.hpp b/common/Message.hpp
index 42e8833..0ca667a 100644
--- a/common/Message.hpp
+++ b/common/Message.hpp
@@ -14,8 +14,10 @@
#include <string>
#include <vector>
+#include "Protocol.hpp"
+
/// The payload type used to send/receive data.
-class MessagePayload
+class Message
{
public:
@@ -24,9 +26,9 @@ public:
/// Construct a text message.
/// message must include the full first-line.
- MessagePayload(const std::string& message,
- const enum Dir dir,
- const enum Type type = Type::Text) :
+ Message(const std::string& message,
+ const enum Dir dir,
+ const enum Type type = Type::Text) :
_data(message.data(), message.data() + message.size()),
_tokens(LOOLProtocol::tokenize(_data.data(), _data.size())),
_id(makeId(dir)),
@@ -39,10 +41,10 @@ public:
/// Construct a message from a string with type and
/// reserve extra space (total, including message).
/// message must include the full first-line.
- MessagePayload(const std::string& message,
- const enum Dir dir,
- const enum Type type,
- const size_t reserve) :
+ Message(const std::string& message,
+ const enum Dir dir,
+ const enum Type type,
+ const size_t reserve) :
_data(std::max(reserve, message.size())),
_tokens(LOOLProtocol::tokenize(message)),
_id(makeId(dir)),
@@ -55,11 +57,11 @@ public:
}
/// Construct a message from a character array with type.
- /// data must be include the full first-line.
- MessagePayload(const char* p,
- const size_t len,
- const enum Dir dir,
- const enum Type type) :
+ /// Note: p must include the full first-line.
+ Message(const char* p,
+ const size_t len,
+ const enum Dir dir,
+ const enum Type type) :
_data(p, p + len),
_tokens(LOOLProtocol::tokenize(_data.data(), _data.size())),
_id(makeId(dir)),
diff --git a/test/TileQueueTests.cpp b/test/TileQueueTests.cpp
index 3c50e61..2c33c08 100644
--- a/test/TileQueueTests.cpp
+++ b/test/TileQueueTests.cpp
@@ -269,9 +269,9 @@ void TileQueueTests::testPreviewsDeprioritization()
void TileQueueTests::testSenderQueue()
{
- SenderQueue<std::shared_ptr<MessagePayload>> queue;
+ SenderQueue<std::shared_ptr<Message>> queue;
- std::shared_ptr<MessagePayload> item;
+ std::shared_ptr<Message> item;
// Empty queue
CPPUNIT_ASSERT_EQUAL(false, queue.waitDequeue(item, 10));
@@ -286,7 +286,7 @@ void TileQueueTests::testSenderQueue()
for (const auto& msg : messages)
{
- queue.enqueue(std::make_shared<MessagePayload>(msg, MessagePayload::Dir::Out));
+ queue.enqueue(std::make_shared<Message>(msg, Message::Dir::Out));
}
CPPUNIT_ASSERT_EQUAL(3UL, queue.size());
@@ -308,9 +308,9 @@ void TileQueueTests::testSenderQueue()
void TileQueueTests::testSenderQueueTileDeduplication()
{
- SenderQueue<std::shared_ptr<MessagePayload>> queue;
+ SenderQueue<std::shared_ptr<Message>> queue;
- std::shared_ptr<MessagePayload> item;
+ std::shared_ptr<Message> item;
// Empty queue
CPPUNIT_ASSERT_EQUAL(false, queue.waitDequeue(item, 10));
@@ -325,7 +325,7 @@ void TileQueueTests::testSenderQueueTileDeduplication()
for (const auto& msg : part_messages)
{
- queue.enqueue(std::make_shared<MessagePayload>(msg, MessagePayload::Dir::Out));
+ queue.enqueue(std::make_shared<Message>(msg, Message::Dir::Out));
}
CPPUNIT_ASSERT_EQUAL(3UL, queue.size());
@@ -344,7 +344,7 @@ void TileQueueTests::testSenderQueueTileDeduplication()
for (const auto& msg : dup_messages)
{
- queue.enqueue(std::make_shared<MessagePayload>(msg, MessagePayload::Dir::Out));
+ queue.enqueue(std::make_shared<Message>(msg, Message::Dir::Out));
}
CPPUNIT_ASSERT_EQUAL(1UL, queue.size());
@@ -358,9 +358,9 @@ void TileQueueTests::testSenderQueueTileDeduplication()
void TileQueueTests::testInvalidateViewCursorDeduplication()
{
- SenderQueue<std::shared_ptr<MessagePayload>> queue;
+ SenderQueue<std::shared_ptr<Message>> queue;
- std::shared_ptr<MessagePayload> item;
+ std::shared_ptr<Message> item;
// Empty queue
CPPUNIT_ASSERT_EQUAL(false, queue.waitDequeue(item, 10));
@@ -375,7 +375,7 @@ void TileQueueTests::testInvalidateViewCursorDeduplication()
for (const auto& msg : view_messages)
{
- queue.enqueue(std::make_shared<MessagePayload>(msg, MessagePayload::Dir::Out));
+ queue.enqueue(std::make_shared<Message>(msg, Message::Dir::Out));
}
CPPUNIT_ASSERT_EQUAL(3UL, queue.size());
@@ -403,7 +403,7 @@ void TileQueueTests::testInvalidateViewCursorDeduplication()
for (const auto& msg : dup_messages)
{
- queue.enqueue(std::make_shared<MessagePayload>(msg, MessagePayload::Dir::Out));
+ queue.enqueue(std::make_shared<Message>(msg, Message::Dir::Out));
}
CPPUNIT_ASSERT_EQUAL(1UL, queue.size());
diff --git a/wsd/ClientSession.cpp b/wsd/ClientSession.cpp
index e32d53b..3bc76de 100644
--- a/wsd/ClientSession.cpp
+++ b/wsd/ClientSession.cpp
@@ -469,7 +469,7 @@ void ClientSession::senderThread()
while (!stopping())
{
- std::shared_ptr<MessagePayload> item;
+ std::shared_ptr<Message> item;
if (_senderQueue.waitDequeue(item, static_cast<size_t>(COMMAND_TIMEOUT_MS)))
{
const std::vector<char>& data = item->data();
diff --git a/wsd/ClientSession.hpp b/wsd/ClientSession.hpp
index 17904be..cd5c4dc 100644
--- a/wsd/ClientSession.hpp
+++ b/wsd/ClientSession.hpp
@@ -51,23 +51,23 @@ public:
bool sendBinaryFrame(const char* buffer, int length) override
{
- auto payload = std::make_shared<MessagePayload>(buffer, length,
- MessagePayload::Dir::Out,
- MessagePayload::Type::Binary);
+ auto payload = std::make_shared<Message>(buffer, length,
+ Message::Dir::Out,
+ Message::Type::Binary);
enqueueSendMessage(payload);
return true;
}
bool sendTextFrame(const char* buffer, const int length) override
{
- auto payload = std::make_shared<MessagePayload>(buffer, length,
- MessagePayload::Dir::Out,
- MessagePayload::Type::Text);
+ auto payload = std::make_shared<Message>(buffer, length,
+ Message::Dir::Out,
+ Message::Type::Text);
enqueueSendMessage(payload);
return true;
}
- void enqueueSendMessage(const std::shared_ptr<MessagePayload>& data)
+ void enqueueSendMessage(const std::shared_ptr<Message>& data)
{
LOG_TRC(getName() << " enqueueing client message: " << data->abbreviation());
_senderQueue.enqueue(data);
@@ -163,7 +163,7 @@ private:
/// Wopi FileInfo object
std::unique_ptr<WopiStorage::WOPIFileInfo> _wopiFileInfo;
- SenderQueue<std::shared_ptr<MessagePayload>> _senderQueue;
+ SenderQueue<std::shared_ptr<Message>> _senderQueue;
std::thread _senderThread;
std::atomic<bool> _stop;
};
diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp
index d5fb25a..1d699a2 100644
--- a/wsd/DocumentBroker.cpp
+++ b/wsd/DocumentBroker.cpp
@@ -709,7 +709,7 @@ void DocumentBroker::alertAllUsers(const std::string& msg)
{
Util::assertIsLocked(_mutex);
- auto payload = std::make_shared<MessagePayload>(msg, MessagePayload::Dir::Out);
+ auto payload = std::make_shared<Message>(msg, Message::Dir::Out);
LOG_DBG("Alerting all users of [" << _docKey << "]: " << msg);
for (auto& it : _sessions)
diff --git a/wsd/PrisonerSession.cpp b/wsd/PrisonerSession.cpp
index 2a78950..55db938 100644
--- a/wsd/PrisonerSession.cpp
+++ b/wsd/PrisonerSession.cpp
@@ -281,10 +281,10 @@ bool PrisonerSession::forwardToPeer(const std::shared_ptr<ClientSession>& client
LOG_TRC(getName() << " -> " << clientSession->getName() << ": " << message);
- auto payload = std::make_shared<MessagePayload>(buffer, length,
- MessagePayload::Dir::Out,
- binary ? MessagePayload::Type::Binary
- : MessagePayload::Type::Text);
+ auto payload = std::make_shared<Message>(buffer, length,
+ Message::Dir::Out,
+ binary ? Message::Type::Binary
+ : Message::Type::Text);
clientSession->enqueueSendMessage(payload);
return true;
diff --git a/wsd/SenderQueue.hpp b/wsd/SenderQueue.hpp
index 4c06560..c2dc60c 100644
--- a/wsd/SenderQueue.hpp
+++ b/wsd/SenderQueue.hpp
@@ -29,7 +29,7 @@
struct SendItem
{
std::weak_ptr<LOOLWebSocket> Socket;
- std::shared_ptr<MessagePayload> Data;
+ std::shared_ptr<Message> Data;
std::string Meta;
std::chrono::steady_clock::time_point BirthTime;
};
diff --git a/wsd/TileCache.cpp b/wsd/TileCache.cpp
index e8fbebc..9c4b6f4 100644
--- a/wsd/TileCache.cpp
+++ b/wsd/TileCache.cpp
@@ -168,9 +168,9 @@ void TileCache::saveTileAndNotify(const TileDesc& tile, const char *data, const
LOG_DBG("Sending tile message to " << subscriberCount << " subscribers: " + response);
// Send to first subscriber as-is (without cache marker).
- auto payload = std::make_shared<MessagePayload>(response,
- MessagePayload::Dir::Out,
- MessagePayload::Type::Binary,
+ auto payload = std::make_shared<Message>(response,
+ Message::Dir::Out,
+ Message::Type::Binary,
response.size() + 1 + size);
payload->append("\n", 1);
payload->append(data, size);
@@ -189,9 +189,9 @@ void TileCache::saveTileAndNotify(const TileDesc& tile, const char *data, const
// Create a new Payload.
payload.reset();
- payload = std::make_shared<MessagePayload>(response,
- MessagePayload::Dir::Out,
- MessagePayload::Type::Binary,
+ payload = std::make_shared<Message>(response,
+ Message::Dir::Out,
+ Message::Type::Binary,
response.size() + size);
payload->append(data, size);
More information about the Libreoffice-commits
mailing list