/* */ #ifndef D_DHT_TASK_EXECUTOR_H #define D_DHT_TASK_EXECUTOR_H #include "common.h" #include #include #include "SharedHandle.h" namespace aria2 { class DHTTask; class DHTTaskExecutor { private: size_t numConcurrent_; std::vector > execTasks_; std::deque > queue_; public: DHTTaskExecutor(size_t numConcurrent); ~DHTTaskExecutor(); void update(); void addTask(const SharedHandle& task) { queue_.push_back(task); } size_t getExecutingTaskSize() const { return execTasks_.size(); } size_t getNumConcurrent() const { return numConcurrent_; } size_t getQueueSize() const { return queue_.size(); } }; } // namespace aria2 #endif // D_DHT_TASK_EXECUTOR_H