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 construct/copy/destruct

  1. virtual ~in_order_activation_queue();

in_order_activation_queue public member functions

  1. virtual void 
    push_back(const boost::shared_ptr<method_request_base> & request) ;

    Adds a new method request to the activation queue.

  2. 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.

  3. void wake();

    A call to wake should cause any get_request calls which are waiting for a ready method request to wake up immediately and return an empty shared_ptr.

  4. virtual size_type size() const;

    Returns:

    the number of method requests waiting in the queue.

  5. virtual bool empty() const;

    Returns:

    true if size() is zero.