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

Unified Diff: sdk/lib/async/stream_controller.dart

Issue 23926011: Rewrite Futures. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Remove chained future cycle test. Created 7 years, 3 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: sdk/lib/async/stream_controller.dart
diff --git a/sdk/lib/async/stream_controller.dart b/sdk/lib/async/stream_controller.dart
index 5b3d760d85d688f2e67694eb4a436512b5047c5e..194602eb529352faa5e4281585a809d45b3fab79 100644
--- a/sdk/lib/async/stream_controller.dart
+++ b/sdk/lib/async/stream_controller.dart
@@ -250,7 +250,7 @@ abstract class _StreamController<T> implements StreamController<T>,
// TODO(lrn): Could this be stored in the varData field too, if it's not
// accessed until the call to "close"? Then we need to special case if it's
// accessed earlier, or if close is called before subscribing.
- _FutureImpl _doneFuture;
+ _Future _doneFuture;
_StreamController();
@@ -347,7 +347,7 @@ abstract class _StreamController<T> implements StreamController<T>,
// StreamSink interface.
Future addStream(Stream<T> source) {
if (!_mayAddEvent) throw _badEventState();
- if (_isCanceled) return new _FutureImpl.immediate(null);
+ if (_isCanceled) return new _Future.immediate(null);
_StreamControllerAddStreamState addState =
new _StreamControllerAddStreamState(this, _varData, source);
_varData = addState;
@@ -359,8 +359,8 @@ abstract class _StreamController<T> implements StreamController<T>,
Future _ensureDoneFuture() {
if (_doneFuture == null) {
- _doneFuture = new _FutureImpl();
- if (_isCanceled) _doneFuture._setValue(null);
+ _doneFuture = new _Future();
+ if (_isCanceled) _doneFuture._complete(null);
}
return _doneFuture;
}
@@ -479,7 +479,7 @@ abstract class _StreamController<T> implements StreamController<T>,
(_state & ~(_STATE_SUBSCRIBED | _STATE_ADDSTREAM)) | _STATE_CANCELED;
_runGuarded(_onCancel);
if (_doneFuture != null && _doneFuture._mayComplete) {
- _doneFuture._asyncSetValue(null);
+ _doneFuture._asyncComplete(null);
}
}
@@ -649,13 +649,13 @@ class _StreamSinkWrapper<T> implements StreamSink<T> {
*/
class _AddStreamState<T> {
// [_FutureImpl] returned by call to addStream.
- _FutureImpl addStreamFuture;
+ _Future addStreamFuture;
// Subscription on stream argument to addStream.
StreamSubscription addSubscription;
_AddStreamState(_EventSink<T> controller, Stream source)
- : addStreamFuture = new _FutureImpl(),
+ : addStreamFuture = new _Future(),
addSubscription = source.listen(controller._add,
onError: controller._addError,
onDone: controller._close,
@@ -675,7 +675,7 @@ class _AddStreamState<T> {
}
void complete() {
- addStreamFuture._asyncSetValue(null);
+ addStreamFuture._asyncComplete(null);
}
}

Powered by Google App Engine
This is Rietveld 408576698