#include "content/browser/cache_storage/cache_storage_scheduler.h"
#include <string>
#include "base/check_op.h"
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/metrics/field_trial_params.h"
#include "base/metrics/histogram_macros.h"
#include "base/not_fatal_until.h"
#include "base/task/sequenced_task_runner.h"
#include "build/build_config.h"
#include "content/browser/cache_storage/cache_storage_histogram_utils.h"
#include "content/browser/cache_storage/cache_storage_operation.h"
namespace content {
namespace {
constexpr int kDefaultMaxSharedOps = …;
const base::FeatureParam<int> kCacheStorageMaxSharedOps{ … };
bool OpPointerLessThan(const std::unique_ptr<CacheStorageOperation>& left,
const std::unique_ptr<CacheStorageOperation>& right) { … }
}
BASE_FEATURE(…);
CacheStorageScheduler::CacheStorageScheduler(
CacheStorageSchedulerClient client_type,
scoped_refptr<base::SequencedTaskRunner> task_runner)
: … { … }
CacheStorageScheduler::~CacheStorageScheduler() { … }
CacheStorageSchedulerId CacheStorageScheduler::CreateId() { … }
void CacheStorageScheduler::ScheduleOperation(
CacheStorageSchedulerId id,
CacheStorageSchedulerMode mode,
CacheStorageSchedulerOp op_type,
CacheStorageSchedulerPriority priority,
base::OnceClosure closure) { … }
void CacheStorageScheduler::CompleteOperationAndRunNext(
CacheStorageSchedulerId id) { … }
bool CacheStorageScheduler::ScheduledOperations() const { … }
bool CacheStorageScheduler::IsRunningExclusiveOperation() const { … }
void CacheStorageScheduler::DispatchOperationTask(base::OnceClosure task) { … }
void CacheStorageScheduler::MaybeRunOperation() { … }
}