This class implements a simple FIFO queue of events. More...
#include <event-queue.hpp>
Public Member Functions | |
EventQueue ()=default | |
~EventQueue ()=default | |
EventQueue (const EventQueue &eventQueue)=delete | |
EventQueue & | operator= (const EventQueue &)=delete |
int | getFD () const |
void | send (const MessageType &message) |
Send an event. More... | |
MessageType | receive () |
Receives the event. More... | |
bool | isEmpty () |
Private Types | |
typedef std::lock_guard < std::mutex > | Lock |
Private Attributes | |
std::mutex | mCommunicationMutex |
std::queue< MessageType > | mMessages |
utils::EventFD | mEventFD |
This class implements a simple FIFO queue of events.
One can listen for the event with select/poll/epoll.
MessageType | type to pass as event's value |
|
private |
|
default |
|
default |
|
delete |
int cargo::ipc::EventQueue< MessageType >::getFD | ( | ) | const |
bool cargo::ipc::EventQueue< MessageType >::isEmpty | ( | ) |
|
delete |
MessageType cargo::ipc::EventQueue< MessageType >::receive | ( | ) |
Receives the event.
Blocks if there is no event.
void cargo::ipc::EventQueue< MessageType >::send | ( | const MessageType & | message | ) |
Send an event.
message | mesage to send |
|
private |
|
private |
|
private |