+
+ unsigned get_priority() const { return priority; }
+ const Msp::Time::TimeStamp &get_sleep_timeout() const { return sleep_timeout; }
+ protected:
+ void sleep(const Msp::Time::TimeDelta &);
+ };
+
+ class CommandQueueTask: public Task
+ {
+ private:
+ Queue<PendingCommand> queue;
+
+ public:
+ CommandQueueTask();
+
+ virtual bool get_work(PendingCommand &);
+
+ void push(const PendingCommand &);
+ unsigned size() const { return queue.size(); }
+ bool empty() const { return queue.empty(); }