13 bool startImmediately):
16 mAcceptingWork(false),
19 mWorkerPrototype(prototype.release())
21 for(
int i=0; i<workers;i++)
36 std::vector<WorkerThread*>::iterator i;
112 std::vector<WorkerThread*>::iterator i;
127 std::vector<WorkerThread*>::iterator i;
bool empty() const
is the queue empty?
resip::TimeLimitFifo< resip::ApplicationMessage > mFifo
virtual bool post(std::unique_ptr< resip::ApplicationMessage > &work)
Posts a message to this thread bank.
std::vector< WorkerThread * > mWorkerThreads
void startAll()
Starts the thread bank.
void shutdownAll()
Shuts down the thread-bank.
void resume()
Resumes accepting work.
Dispatcher(std::unique_ptr< Worker > prototype, resip::SipStack *stack, int workers=2, bool startImmediately=true)
Worker * mWorkerPrototype
time_t fifoTimeDepth() const
void stop()
This Dispatcher will stop accepting new work, but processing will continue normally on the messages a...
size_t fifoCountDepth() const
This is the primary point of interaction between the app-layer and the stack.
virtual size_t getCountDepth() const
gets the depth of the FIFO
Msg * getNext()
Returns the first message available.
virtual time_t getTimeDepth() const
Return the time depth of the queue.
bool add(Msg *msg, DepthUsage usage)
Add a message to the fifo.
virtual Worker * clone() const =0
dcm! – add UnusedChecking(_enum) below;