diff --git a/src/message_queue.cpp b/src/message_queue.cpp index a956a67..2b2c659 100644 --- a/src/message_queue.cpp +++ b/src/message_queue.cpp @@ -34,7 +34,7 @@ inline bot::translated_message make_translated_message(const bot::message &messa void bot::message_queue::add(const bot::message &message) { m_mutex.lock(); - m_queue.push_back(message); + m_queue.push(message); m_mutex.unlock(); } @@ -45,7 +45,7 @@ void bot::message_queue::run(bot::settings::settings *settings, bot::submit_queu m_mutex.lock(); if (!m_queue.empty()) { const bot::message message = m_queue.front(); - m_queue.erase(m_queue.begin()); + m_queue.pop(); m_mutex.unlock(); std::unique_ptr translator = settings->get_translator(); diff --git a/src/message_queue.h b/src/message_queue.h index 9b788a7..e9069a6 100644 --- a/src/message_queue.h +++ b/src/message_queue.h @@ -21,6 +21,7 @@ #include #include #include +#include #include #include "settings.h" #include "submit_queue.h" @@ -44,7 +45,7 @@ namespace bot { private: bool m_running; std::mutex m_mutex; - std::vector m_queue; + std::queue m_queue; }; } diff --git a/src/submit_queue.cpp b/src/submit_queue.cpp index 5a78013..0157bd3 100644 --- a/src/submit_queue.cpp +++ b/src/submit_queue.cpp @@ -24,7 +24,7 @@ using namespace std::chrono_literals; void bot::submit_queue::add(const bot::translated_message &message) { m_mutex.lock(); - m_queue.push_back(message); + m_queue.push(message); m_mutex.unlock(); } @@ -35,7 +35,7 @@ void bot::submit_queue::run(dpp::cluster *bot) m_mutex.lock(); if (!m_queue.empty()) { const bot::translated_message message = m_queue.front(); - m_queue.erase(m_queue.begin()); + m_queue.pop(); m_mutex.unlock(); webhook_push::run(message, bot); diff --git a/src/submit_queue.h b/src/submit_queue.h index 99fe823..1cd12e8 100644 --- a/src/submit_queue.h +++ b/src/submit_queue.h @@ -21,6 +21,7 @@ #include #include #include +#include #include namespace bot { @@ -40,7 +41,7 @@ namespace bot { private: bool m_running; std::mutex m_mutex; - std::vector m_queue; + std::queue m_queue; }; }