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