Queue with a lock. More...
#include <core/utils/lock_queue.h>
Public Member Functions | |
LockQueue () | |
Constructor. | |
LockQueue (const LockQueue< Type > &ll) | |
Copy constructor. | |
virtual | ~LockQueue () |
Destructor. | |
void | lock () const |
Lock queue. | |
bool | try_lock () const |
Try to lock queue. | |
void | unlock () const |
Unlock list. | |
RefPtr< Mutex > | mutex () const |
Get access to the internal mutex. | |
void | push_locked (const Type &x) |
Push element to queue with lock protection. | |
void | pop_locked () |
Pop element from queue with lock protection. | |
void | clear () |
Clear the queue. |
Queue with a lock.
This class provides a queue that has an intrinsic lock. The lock can be applied with the regular locking methods.
Definition at line 34 of file lock_queue.h.
fawkes::LockQueue< Type >::LockQueue | ( | ) | [inline] |
Constructor.
Definition at line 72 of file lock_queue.h.
fawkes::LockQueue< Type >::LockQueue | ( | const LockQueue< Type > & | ll | ) | [inline] |
fawkes::LockQueue< Type >::~LockQueue | ( | ) | [inline, virtual] |
Destructor.
Definition at line 88 of file lock_queue.h.
void fawkes::LockQueue< Type >::clear | ( | void | ) | [inline] |
Clear the queue.
Definition at line 148 of file lock_queue.h.
Referenced by firevision::FuseImageListWidget::FuseImageListWidget(), FuseTransferWidget::FuseTransferWidget(), BBLoggerThread::init(), fawkes::BlackBoardNetworkHandler::~BlackBoardNetworkHandler(), and fawkes::ConfigNetworkHandler::~ConfigNetworkHandler().
void fawkes::LockQueue< Type >::lock | ( | ) | const [inline] |
Lock queue.
Definition at line 95 of file lock_queue.h.
Referenced by fawkes::FawkesNetworkServerThread::loop(), firevision::FuseClient::loop(), fawkes::InterfaceDispatcher::on_data_changed(), fawkes::InterfaceDispatcher::on_message_received(), fawkes::ConnectionDispatcher::on_message_received(), fawkes::InterfaceDispatcher::on_reader_added(), fawkes::InterfaceDispatcher::on_reader_removed(), fawkes::ServiceModel::on_service_added(), fawkes::ServiceModel::on_service_removed(), fawkes::InterfaceDispatcher::on_writer_added(), fawkes::InterfaceDispatcher::on_writer_removed(), fawkes::FawkesNetworkTransceiver::recv(), fawkes::FawkesNetworkClientRecvThread::recv(), firevision::FuseNetworkTransceiver::recv(), fawkes::FawkesNetworkTransceiver::send(), firevision::FuseNetworkTransceiver::send(), and FuseTransferWidget::~FuseTransferWidget().
RefPtr< Mutex > fawkes::LockQueue< Type >::mutex | ( | ) | const [inline] |
Get access to the internal mutex.
Can be used with MutexLocker.
Definition at line 164 of file lock_queue.h.
void fawkes::LockQueue< Type >::pop_locked | ( | ) | [inline] |
Pop element from queue with lock protection.
Definition at line 138 of file lock_queue.h.
Referenced by fawkes::ConfigNetworkHandler::loop(), fawkes::PluginNetworkHandler::loop(), and fawkes::BlackBoardNetworkHandler::loop().
void fawkes::LockQueue< Type >::push_locked | ( | const Type & | x | ) | [inline] |
Push element to queue with lock protection.
x | element to add |
Definition at line 126 of file lock_queue.h.
Referenced by FuseTransferWidget::add_fountain_service(), fawkes::FawkesNetworkServerThread::dispatch(), firevision::FuseClient::enqueue(), firevision::FuseClient::enqueue_and_wait(), FuseTransferWidget::fuse_connection_died(), firevision::FuseImageListWidget::fuse_connection_died(), fawkes::ConfigNetworkHandler::handle_network_message(), fawkes::PluginNetworkHandler::handle_network_message(), fawkes::BlackBoardNetworkHandler::handle_network_message(), fawkes::AvahiThread::publish_service(), fawkes::ServiceModel::service_added(), fawkes::AvahiDispatcher::service_added(), fawkes::ServiceModel::service_removed(), fawkes::AvahiDispatcher::service_removed(), fawkes::AvahiThread::unpublish_service(), fawkes::AvahiThread::unwatch_service(), fawkes::AvahiThread::watch_service(), firevision::FuseImageListWidget::~FuseImageListWidget(), and FuseTransferWidget::~FuseTransferWidget().
bool fawkes::LockQueue< Type >::try_lock | ( | ) | const [inline] |
Try to lock queue.
Definition at line 106 of file lock_queue.h.
void fawkes::LockQueue< Type >::unlock | ( | ) | const [inline] |
Unlock list.
Definition at line 115 of file lock_queue.h.
Referenced by fawkes::FawkesNetworkServerThread::loop(), firevision::FuseClient::loop(), fawkes::InterfaceDispatcher::on_data_changed(), fawkes::InterfaceDispatcher::on_message_received(), fawkes::ConnectionDispatcher::on_message_received(), fawkes::InterfaceDispatcher::on_reader_added(), fawkes::InterfaceDispatcher::on_reader_removed(), fawkes::ServiceModel::on_service_added(), fawkes::ServiceModel::on_service_removed(), fawkes::InterfaceDispatcher::on_writer_added(), fawkes::InterfaceDispatcher::on_writer_removed(), fawkes::FawkesNetworkTransceiver::recv(), fawkes::FawkesNetworkClientRecvThread::recv(), firevision::FuseNetworkTransceiver::recv(), fawkes::FawkesNetworkTransceiver::send(), firevision::FuseNetworkTransceiver::send(), and FuseTransferWidget::~FuseTransferWidget().