Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(685)

Unified Diff: chrome/browser/chromeos/drive/job_queue.h

Issue 1215503010: OBSOLETE: Move (most of) chrome/browser/chromeos/drive into components/drive. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@drive-componentize-service
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/drive/job_queue.h
diff --git a/chrome/browser/chromeos/drive/job_queue.h b/chrome/browser/chromeos/drive/job_queue.h
deleted file mode 100644
index ab1bed938c71d1e255fa0b32a3cda59281826111..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/drive/job_queue.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_CHROMEOS_DRIVE_JOB_QUEUE_H_
-#define CHROME_BROWSER_CHROMEOS_DRIVE_JOB_QUEUE_H_
-
-#include <deque>
-#include <set>
-#include <vector>
-
-#include "chrome/browser/chromeos/drive/job_list.h"
-
-namespace drive {
-
-// Priority queue for managing jobs in JobScheduler.
-class JobQueue {
- public:
- // Creates a queue that allows |num_max_concurrent_jobs| concurrent job
- // execution and has |num_priority_levels| levels of priority.
- JobQueue(size_t num_max_concurrent_jobs,
- size_t num_priority_levels,
- size_t num_max_batch_jobs,
- size_t max_batch_size);
- ~JobQueue();
-
- // Pushes a job |id| of |priority|. The job with the smallest priority value
- // is popped first (lower values are higher priority). In the same priority,
- // the queue is "first-in first-out". If multiple jobs with |batchable| = true
- // are pushed continuously, there will be popped at the same time unless the
- // number of jobs exceeds |num_max_batch_jobs_| or the sum of |job_size|
- // exceeds or |max_batch_size_|.
- void Push(JobID id, int priority, bool batchable, uint64 job_size);
-
- // Pops the first job which meets |accepted_priority| (i.e. the first job in
- // the queue with equal or higher priority (lower value)), and the limit of
- // concurrent job count is satisfied.
- //
- // For instance, if |accepted_priority| is 1, the first job with priority 0
- // (higher priority) in the queue is picked even if a job with priority 1 was
- // pushed earlier. If there is no job with priority 0, the first job with
- // priority 1 in the queue is picked.
- //
- // If the first found job and following jobs are batchable, these jobs are
- // popped out at the same time unless the total size of jobs exceeds
- // |max_batch_size_|.
- void PopForRun(int accepted_priority, std::vector<JobID>* jobs);
-
- // Gets queued jobs with the given priority.
- void GetQueuedJobs(int priority, std::vector<JobID>* jobs) const;
-
- // Marks a running job |id| as finished running. This decreases the count
- // of running parallel jobs and makes room for other jobs to be popped.
- void MarkFinished(JobID id);
-
- // Generates a string representing the internal state for logging.
- std::string ToString() const;
-
- // Gets the total number of jobs in the queue.
- size_t GetNumberOfJobs() const;
-
- // Removes the job from the queue.
- void Remove(JobID id);
-
- private:
- // JobID and additional properties that are needed to determine which tasks it
- // runs next.
- struct Item {
- Item();
- Item(JobID id, bool batchable, uint64 size);
- ~Item();
- JobID id;
- bool batchable;
- uint64 size;
- };
-
- const size_t num_max_concurrent_jobs_;
- std::vector<std::deque<Item>> queue_;
- const size_t num_max_batch_jobs_;
- const size_t max_batch_size_;
- std::set<JobID> running_;
-
- DISALLOW_COPY_AND_ASSIGN(JobQueue);
-};
-
-} // namespace drive
-
-#endif // CHROME_BROWSER_CHROMEOS_DRIVE_JOB_QUEUE_H_

Powered by Google App Engine
This is Rietveld 408576698