Class for managing a queue of Requests carrying any data. More...
#include <request-queue.hpp>
Classes | |
struct | Request |
Public Member Functions | |
RequestQueue ()=default | |
RequestQueue (const RequestQueue &)=delete | |
RequestQueue & | operator= (const RequestQueue &)=delete |
int | getFD () |
bool | isEmpty () |
void | pushBack (const RequestIdType requestID, const std::shared_ptr< void > &data=nullptr) |
Push data to back of the queue. More... | |
void | pushFront (const RequestIdType requestID, const std::shared_ptr< void > &data=nullptr) |
Push data to back of the queue. More... | |
Request | pop () |
template<typename Predicate > | |
bool | removeIf (Predicate predicate) |
Remove elements from the queue when the predicate returns true. More... | |
Private Types | |
typedef std::unique_lock < std::mutex > | Lock |
Private Attributes | |
std::list< Request > | mRequests |
std::mutex | mStateMutex |
utils::EventFD | mEventFD |
Class for managing a queue of Requests carrying any data.
|
private |
|
default |
|
delete |
int cargo::ipc::RequestQueue< RequestIdType >::getFD | ( | ) |
bool cargo::ipc::RequestQueue< RequestIdType >::isEmpty | ( | ) |
|
delete |
RequestQueue< RequestIdType >::Request cargo::ipc::RequestQueue< RequestIdType >::pop | ( | ) |
void cargo::ipc::RequestQueue< RequestIdType >::pushBack | ( | const RequestIdType | requestID, |
const std::shared_ptr< void > & | data = nullptr |
||
) |
Push data to back of the queue.
requestID | request type |
data | data corresponding to the request |
void cargo::ipc::RequestQueue< RequestIdType >::pushFront | ( | const RequestIdType | requestID, |
const std::shared_ptr< void > & | data = nullptr |
||
) |
Push data to back of the queue.
requestID | request type |
data | data corresponding to the request |
bool cargo::ipc::RequestQueue< RequestIdType >::removeIf | ( | Predicate | predicate | ) |
Remove elements from the queue when the predicate returns true.
predicate | condition |
|
private |
|
private |
|
private |