// // Created by casic on 25-3-5. // #include "message_queue.hpp" void MessageQueue::enqueue(const std::vector<uint8_t> &command) { std::lock_guard lock(mutex_); queue_.push(command); cond_.notify_one(); } std::vector<uint8_t> MessageQueue::dequeue() { std::unique_lock lock(mutex_); cond_.wait(lock, [this] { return !queue_.empty(); }); std::vector<uint8_t> msg = queue_.front(); queue_.pop(); return msg; }