Class in_order_activation_queue
poet::in_order_activation_queue — An activation queue which always keeps method requests in FIFO order.
Synopsis
class in_order_activation_queue : public poet::activation_queue_base { public: // construct/copy/destruct virtual ~in_order_activation_queue(); // public member functions virtual void push_back(const boost::shared_ptr<method_request_base> &) ; virtual boost::shared_ptr<method_request_base> get_request() ; void wake(); virtual size_type size() const; virtual bool empty() const; };
Description
An in_order_activation_queue
will never skip over method requests that aren't ready yet.
If you don't require the method requests to be executed in the exact order they were received,
use an out_of_order_activation_queue instead.
in_order_activation_queue
public member functions
-
virtual void push_back(const boost::shared_ptr<method_request_base> & request) ;
Adds a new method request to the activation queue.
-
virtual boost::shared_ptr<method_request_base> get_request() ;
Blocks until the oldest method request in the queue becomes ready, then pops the request off the queue and returns it.
Returns:
The oldest method request in the queue, or an empty shared_ptr if interrupted by wake.
-
void wake();
A call to
wake
should cause anyget_request
calls which are waiting for a ready method request to wake up immediately and return an empty shared_ptr. -
virtual size_type size() const;
Returns:
the number of method requests waiting in the queue.
-
virtual bool empty() const;
Returns:
true if size() is zero.