20 #ifndef CO_COMMANDQUEUE_H 21 #define CO_COMMANDQUEUE_H 26 #include <lunchbox/thread.h> 45 CO_API
explicit CommandQueue(
const size_t maxSize = ULONG_MAX);
48 CO_API
virtual ~CommandQueue();
56 CO_API
virtual void push(
const ICommand& command);
59 CO_API
virtual void pushFront(
const ICommand& command);
68 CO_API
virtual ICommand pop(
const uint32_t timeout = LB_TIMEOUT_INDEFINITE);
78 const uint32_t timeout = LB_TIMEOUT_INDEFINITE);
93 CO_API
bool isEmpty()
const;
99 CO_API
size_t getSize()
const;
102 virtual void pump(){};
107 detail::CommandQueue*
const _impl;
111 #endif // CO_COMMANDQUEUE_H Defines export visibility macros for library Collage.
A thread-safe, blocking queue for ICommand buffers.
Object-oriented network library.
A class managing received commands.
std::vector< ICommand > ICommands
A vector of input commands.