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:
queue
Allows use of a customized activation queue. By default, an
out_of_order_activation_queue
is 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
kill
method has been called).
scheduler
public member functions
-
virtual void post_method_request(const boost::shared_ptr<method_request_base> & request) ;
Adds
request
to 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.