Class scheduler
poet::scheduler — Execute method requests in a separate thread.
Synopsis
class scheduler : public poet::scheduler_base { public: // construct/copy/destruct scheduler(const boost::shared_ptr<activation_queue_base> & = boost::shared_ptr<activation_queue_base>(new out_of_order_activation_queue)); virtual ~scheduler(); // public member functions virtual void post_method_request(const boost::shared_ptr<method_request_base> &) ; virtual void kill() ; virtual void join() ; };
Description
A scheduler object creates a new thread of execution which pulls method
requests from an activation queue and executes them.
Example Code
scheduler public construct/copy/destruct
-
scheduler(const boost::shared_ptr<activation_queue_base> & queue = boost::shared_ptr<activation_queue_base>(new out_of_order_activation_queue));
The scheduler constructer will create a new thread of execution, where the scheduler will execute method requests.
Parameters: queueAllows use of a customized activation queue. By default, an
out_of_order_activation_queueis allocated for use. -
virtual ~scheduler();
The scheduler thread will continue to run after the scheduler object is destroyed, until all method requests in its activation queue have been dispatched (unless the
killmethod has been called).
scheduler public member functions
-
virtual void post_method_request(const boost::shared_ptr<method_request_base> & request) ;
Adds
requestto the scheduler's activation queue. -
virtual void kill() ;
Tells scheduler thread to exit as soon as possible. The scheduler thread may still be running after this function returns.
-
virtual void join() ;
Blocks until the scheduler thread exits.