| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef BASE_THREADING_SEQUENCED_WORKER_POOL_H_ | 5 #ifndef BASE_THREADING_SEQUENCED_WORKER_POOL_H_ |
| 6 #define BASE_THREADING_SEQUENCED_WORKER_POOL_H_ | 6 #define BASE_THREADING_SEQUENCED_WORKER_POOL_H_ |
| 7 | 7 |
| 8 #include <cstddef> | 8 #include <cstddef> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 const Closure& task, | 281 const Closure& task, |
| 282 TimeDelta delay) OVERRIDE; | 282 TimeDelta delay) OVERRIDE; |
| 283 virtual bool RunsTasksOnCurrentThread() const OVERRIDE; | 283 virtual bool RunsTasksOnCurrentThread() const OVERRIDE; |
| 284 | 284 |
| 285 // Returns true if the current thread is processing a task with the given | 285 // Returns true if the current thread is processing a task with the given |
| 286 // sequence_token. | 286 // sequence_token. |
| 287 bool IsRunningSequenceOnCurrentThread(SequenceToken sequence_token) const; | 287 bool IsRunningSequenceOnCurrentThread(SequenceToken sequence_token) const; |
| 288 | 288 |
| 289 // Blocks until all pending tasks are complete. This should only be called in | 289 // Blocks until all pending tasks are complete. This should only be called in |
| 290 // unit tests when you want to validate something that should have happened. | 290 // unit tests when you want to validate something that should have happened. |
| 291 // This will not flush delayed tasks, delayed tasks get deleted. |
| 291 // | 292 // |
| 292 // Note that calling this will not prevent other threads from posting work to | 293 // Note that calling this will not prevent other threads from posting work to |
| 293 // the queue while the calling thread is waiting on Flush(). In this case, | 294 // the queue while the calling thread is waiting on Flush(). In this case, |
| 294 // Flush will return only when there's no more work in the queue. Normally, | 295 // Flush will return only when there's no more work in the queue. Normally, |
| 295 // this doesn't come up since in a test, all the work is being posted from | 296 // this doesn't come up since in a test, all the work is being posted from |
| 296 // the main thread. | 297 // the main thread. |
| 297 void FlushForTesting(); | 298 void FlushForTesting(); |
| 298 | 299 |
| 299 // Spuriously signal that there is work to be done. | 300 // Spuriously signal that there is work to be done. |
| 300 void SignalHasWorkForTesting(); | 301 void SignalHasWorkForTesting(); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 // Avoid pulling in too many headers by putting (almost) everything | 333 // Avoid pulling in too many headers by putting (almost) everything |
| 333 // into |inner_|. | 334 // into |inner_|. |
| 334 const scoped_ptr<Inner> inner_; | 335 const scoped_ptr<Inner> inner_; |
| 335 | 336 |
| 336 DISALLOW_COPY_AND_ASSIGN(SequencedWorkerPool); | 337 DISALLOW_COPY_AND_ASSIGN(SequencedWorkerPool); |
| 337 }; | 338 }; |
| 338 | 339 |
| 339 } // namespace base | 340 } // namespace base |
| 340 | 341 |
| 341 #endif // BASE_THREADING_SEQUENCED_WORKER_POOL_H_ | 342 #endif // BASE_THREADING_SEQUENCED_WORKER_POOL_H_ |
| OLD | NEW |