feat(app): add concurrent message queue

This commit is contained in:
user
2026-07-20 23:00:56 +04:00
parent 31d1fbdb8a
commit a3cd178155
8 changed files with 298 additions and 24 deletions
+23
View File
@@ -0,0 +1,23 @@
#include "thread_test_utils.hpp"
#include <cassert>
#include <cstddef>
#include <thread>
namespace app::tests::helpers {
std::thread createProducer(MessageQueue &queue, std::size_t threadIndex,
std::size_t messagesCount) {
return std::thread([&queue, threadIndex, messagesCount]() {
for (std::size_t messageIndex = 0; messageIndex < messagesCount;
++messageIndex) {
queue.push({
logger::LogLevel::info(),
"Thread " + std::to_string(threadIndex) + ", message " +
std::to_string(messageIndex),
});
}
});
}
} // namespace app::tests::helpers
+13
View File
@@ -0,0 +1,13 @@
#pragma once
#include <cstddef>
#include <thread>
#include "message_queue.hpp"
namespace app::tests::helpers {
std::thread createProducer(MessageQueue &queue, std::size_t threadIndex,
std::size_t messagesCount);
} // namespace app::tests::helpers