/* */ #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_