diff options
author | dec05eba <dec05eba@protonmail.com> | 2020-11-16 13:32:49 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2020-11-16 13:32:49 +0100 |
commit | e68ff632e2f54c705ae1d69033e58a8f2d1ca00c (patch) | |
tree | 24f6d1b220767dd393b7ee62b9267ac958d521a2 /include/MessageQueue.hpp | |
parent | f9608af936c39c57633129a62472d315aef62d9c (diff) |
Matrix: show provisional messages as the message is being sent and received
Diffstat (limited to 'include/MessageQueue.hpp')
-rw-r--r-- | include/MessageQueue.hpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/MessageQueue.hpp b/include/MessageQueue.hpp index 4f1e036..7c34d51 100644 --- a/include/MessageQueue.hpp +++ b/include/MessageQueue.hpp @@ -31,6 +31,15 @@ namespace QuickMedia { return data; } + std::optional<T> pop_if_available() { + std::unique_lock<std::mutex> lock(mutex); + if(data_queue.empty()) + return std::nullopt; + T data = std::move(data_queue.front()); + data_queue.pop_front(); + return data; + } + void close() { std::unique_lock<std::mutex> lock(mutex); running = false; |