Pol
Revision:cb584c9
|
#include <message_queue.h>
Classes | |
struct | Canceled |
Public Member Functions | |
message_queue () | |
~message_queue () | |
void | cancel () |
bool | empty () const |
void | pop_remaining (std::list< Message > *msgs) |
void | pop_wait (Message *msg) |
void | pop_wait (std::list< Message > *msgs) |
void | push (Message const &msg) |
void | push (std::list< Message > &msg_list) |
void | push_move (Message &&msg) |
std::size_t | size () const |
bool | try_pop (Message *msg) |
tries to get a message true on success false otherwise More... | |
Private Attributes | |
bool | _cancel |
std::mutex | _mutex |
std::condition_variable | _notifier |
std::list< Message > | _queue |
Definition at line 21 of file message_queue.h.
Pol::Clib::message_queue< Message >::message_queue | ( | ) |
Definition at line 62 of file message_queue.h.
Pol::Clib::message_queue< Message >::~message_queue | ( | ) |
Definition at line 67 of file message_queue.h.
References Pol::Clib::message_queue< Message >::cancel().
void Pol::Clib::message_queue< Message >::cancel | ( | ) |
Definition at line 171 of file message_queue.h.
References Pol::Clib::message_queue< Message >::_cancel, Pol::Clib::message_queue< Message >::_mutex, and Pol::Clib::message_queue< Message >::_notifier.
Referenced by Pol::Network::ClientTransmit::Cancel(), Pol::threadhelp::TaskThreadPool::deinit_pool(), Pol::Clib::ThreadedOFStreamWriter::flush_file(), Pol::threadhelp::DynTaskThreadPool::~DynTaskThreadPool(), and Pol::Clib::message_queue< Message >::~message_queue().
bool Pol::Clib::message_queue< Message >::empty | ( | ) | const |
Definition at line 116 of file message_queue.h.
References Pol::Clib::message_queue< Message >::_mutex, and Pol::Clib::message_queue< Message >::_queue.
void Pol::Clib::message_queue< Message >::pop_remaining | ( | std::list< Message > * | msgs | ) |
Definition at line 165 of file message_queue.h.
References Pol::Clib::message_queue< Message >::_mutex, and Pol::Clib::message_queue< Message >::_queue.
Referenced by Pol::threadhelp::TaskThreadPool::init(), and Pol::Clib::ThreadedOFStreamWriter::start_worker().
void Pol::Clib::message_queue< Message >::pop_wait | ( | Message * | msg | ) |
Definition at line 142 of file message_queue.h.
References Pol::Clib::message_queue< Message >::_cancel, Pol::Clib::message_queue< Message >::_mutex, Pol::Clib::message_queue< Message >::_notifier, and Pol::Clib::message_queue< Message >::_queue.
Referenced by Pol::threadhelp::TaskThreadPool::init(), Pol::Network::ClientTransmit::NextQueueEntry(), Pol::threadhelp::DynTaskThreadPool::PoolWorker::run(), and Pol::Clib::ThreadedOFStreamWriter::start_worker().
void Pol::Clib::message_queue< Message >::pop_wait | ( | std::list< Message > * | msgs | ) |
Definition at line 154 of file message_queue.h.
References Pol::Clib::message_queue< Message >::_cancel, Pol::Clib::message_queue< Message >::_mutex, Pol::Clib::message_queue< Message >::_notifier, and Pol::Clib::message_queue< Message >::_queue.
void Pol::Clib::message_queue< Message >::push | ( | Message const & | msg | ) |
Definition at line 73 of file message_queue.h.
References Pol::Clib::message_queue< Message >::_mutex, Pol::Clib::message_queue< Message >::_notifier, and Pol::Clib::message_queue< Message >::_queue.
Referenced by Pol::threadhelp::TaskThreadPool::checked_push(), Pol::threadhelp::DynTaskThreadPool::checked_push(), Pol::threadhelp::TaskThreadPool::deinit_pool(), Pol::Clib::ThreadedOFStreamWriter::flush(), Pol::Clib::ThreadedOFStreamWriter::flush_file(), Pol::threadhelp::TaskThreadPool::push(), Pol::threadhelp::DynTaskThreadPool::push(), and Pol::threadhelp::DynTaskThreadPool::~DynTaskThreadPool().
void Pol::Clib::message_queue< Message >::push | ( | std::list< Message > & | msg_list | ) |
Definition at line 103 of file message_queue.h.
References Pol::Clib::message_queue< Message >::_mutex, Pol::Clib::message_queue< Message >::_notifier, and Pol::Clib::message_queue< Message >::_queue.
void Pol::Clib::message_queue< Message >::push_move | ( | Message && | msg | ) |
Definition at line 88 of file message_queue.h.
References Pol::Clib::message_queue< Message >::_mutex, Pol::Clib::message_queue< Message >::_notifier, and Pol::Clib::message_queue< Message >::_queue.
Referenced by Pol::Network::ClientTransmit::AddToQueue(), Pol::Network::ClientTransmit::QueueDelete(), and Pol::Network::ClientTransmit::QueueDisconnection().
std::size_t Pol::Clib::message_queue< Message >::size | ( | ) | const |
Definition at line 123 of file message_queue.h.
References Pol::Clib::message_queue< Message >::_mutex, and Pol::Clib::message_queue< Message >::_queue.
bool Pol::Clib::message_queue< Message >::try_pop | ( | Message * | msg | ) |
tries to get a message true on success false otherwise
Definition at line 131 of file message_queue.h.
References Pol::Clib::message_queue< Message >::_mutex, and Pol::Clib::message_queue< Message >::_queue.
|
private |
Definition at line 58 of file message_queue.h.
Referenced by Pol::Clib::message_queue< Message >::cancel(), and Pol::Clib::message_queue< Message >::pop_wait().
|
mutableprivate |
Definition at line 56 of file message_queue.h.
Referenced by Pol::Clib::message_queue< Message >::cancel(), Pol::Clib::message_queue< Message >::empty(), Pol::Clib::message_queue< Message >::pop_remaining(), Pol::Clib::message_queue< Message >::pop_wait(), Pol::Clib::message_queue< Message >::push(), Pol::Clib::message_queue< Message >::push_move(), Pol::Clib::message_queue< Message >::size(), and Pol::Clib::message_queue< Message >::try_pop().
|
private |
Definition at line 57 of file message_queue.h.
Referenced by Pol::Clib::message_queue< Message >::cancel(), Pol::Clib::message_queue< Message >::pop_wait(), Pol::Clib::message_queue< Message >::push(), and Pol::Clib::message_queue< Message >::push_move().
|
private |
Definition at line 55 of file message_queue.h.
Referenced by Pol::Clib::message_queue< Message >::empty(), Pol::Clib::message_queue< Message >::pop_remaining(), Pol::Clib::message_queue< Message >::pop_wait(), Pol::Clib::message_queue< Message >::push(), Pol::Clib::message_queue< Message >::push_move(), Pol::Clib::message_queue< Message >::size(), and Pol::Clib::message_queue< Message >::try_pop().