// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_DOWNLOAD_INTERNAL_BACKGROUND_SERVICE_SCHEDULER_SCHEDULER_IMPL_H_ #define COMPONENTS_DOWNLOAD_INTERNAL_BACKGROUND_SERVICE_SCHEDULER_SCHEDULER_IMPL_H_ #include "base/memory/raw_ptr.h" #include "components/download/internal/background_service/scheduler/scheduler.h" #include <map> #include <vector> #include "components/download/internal/background_service/entry.h" namespace download { class ClientSet; class TaskScheduler; struct Configuration; // Scheduler implementation that // 1. Creates platform background task based on the states of download entries. // 2. Polls the next entry to be processed by the service mainly according to // scheduling parameters and current device status. // // Provides load balancing between download clients using the service. class SchedulerImpl : public Scheduler { … }; } // namespace download #endif // COMPONENTS_DOWNLOAD_INTERNAL_BACKGROUND_SERVICE_SCHEDULER_SCHEDULER_IMPL_H_