/* */ #ifndef _D_DHT_TASK_QUEUE_IMPL_H_ #define _D_DHT_TASK_QUEUE_IMPL_H_ #include "DHTTaskQueue.h" #include namespace aria2 { class DHTTaskQueueImpl:public DHTTaskQueue { private: SharedHandle periodicTask1_; SharedHandle periodicTask2_; SharedHandle immediateTask_; std::deque > periodicTaskQueue1_; std::deque > periodicTaskQueue2_; std::deque > immediateTaskQueue_; void executeTask(SharedHandle& task, std::deque >& taskQueue); public: DHTTaskQueueImpl(); virtual ~DHTTaskQueueImpl(); virtual void executeTask(); virtual void addPeriodicTask1(const SharedHandle& task); virtual void addPeriodicTask2(const SharedHandle& task); virtual void addImmediateTask(const SharedHandle& task); }; } // namespace aria2 #endif // _D_DHT_TASK_QUEUE_IMPL_H_