| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library pool; | |
| 6 | |
| 7 import 'dart:async'; | 5 import 'dart:async'; |
| 8 import 'dart:collection'; | 6 import 'dart:collection'; |
| 9 | 7 |
| 10 import 'package:async/async.dart'; | 8 import 'package:async/async.dart'; |
| 11 import 'package:stack_trace/stack_trace.dart'; | 9 import 'package:stack_trace/stack_trace.dart'; |
| 12 | 10 |
| 13 /// Manages an abstract pool of resources with a limit on how many may be in use | 11 /// Manages an abstract pool of resources with a limit on how many may be in use |
| 14 /// at once. | 12 /// at once. |
| 15 /// | 13 /// |
| 16 /// When a resource is needed, the user should call [request]. When the returned | 14 /// When a resource is needed, the user should call [request]. When the returned |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 257 /// produce additional information later on. For example, an isolate's task | 255 /// produce additional information later on. For example, an isolate's task |
| 258 /// may be complete, but it could still emit asynchronous errors. | 256 /// may be complete, but it could still emit asynchronous errors. |
| 259 void allowRelease(onRelease()) { | 257 void allowRelease(onRelease()) { |
| 260 if (_released) { | 258 if (_released) { |
| 261 throw new StateError("A PoolResource may only be released once."); | 259 throw new StateError("A PoolResource may only be released once."); |
| 262 } | 260 } |
| 263 _released = true; | 261 _released = true; |
| 264 _pool._onResourceReleaseAllowed(onRelease); | 262 _pool._onResourceReleaseAllowed(onRelease); |
| 265 } | 263 } |
| 266 } | 264 } |
| OLD | NEW |