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

Side by Side Diff: lib/src/subscription_stream.dart

Issue 1491923005: Add a LazyStream class. (Closed) Base URL: git@github.com:dart-lang/async.git@master
Patch Set: Created 5 years 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 async.subscription_stream; 5 library async.subscription_stream;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import "delegate/stream_subscription.dart"; 9 import "delegate/stream_subscription.dart";
10 10
11 /// A [Stream] adapter for a [StreamSubscription]. 11 /// A [Stream] adapter for a [StreamSubscription].
12 /// 12 ///
13 /// This class allows as `StreamSubscription` to be treated as a `Stream`. 13 /// This class allows a `StreamSubscription` to be treated as a `Stream`.
14 /// 14 ///
15 /// The subscription is paused until the stream is listened to, 15 /// The subscription is paused until the stream is listened to,
16 /// then it is resumed and the events are passed on to the 16 /// then it is resumed and the events are passed on to the
17 /// stream's new subscription. 17 /// stream's new subscription.
18 /// 18 ///
19 /// This class assumes that is has control over the original subscription. 19 /// This class assumes that is has control over the original subscription.
20 /// If other code is accessing the subscription, results may be unpredictable. 20 /// If other code is accessing the subscription, results may be unpredictable.
21 class SubscriptionStream<T> extends Stream<T> { 21 class SubscriptionStream<T> extends Stream<T> {
22 /// The subscription providing the events for this stream. 22 /// The subscription providing the events for this stream.
23 StreamSubscription _source; 23 StreamSubscription _source;
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 } else { 92 } else {
93 if (handleError is ZoneBinaryCallback) { 93 if (handleError is ZoneBinaryCallback) {
94 handleError(error, stackTrace); 94 handleError(error, stackTrace);
95 } else { 95 } else {
96 handleError(error); 96 handleError(error);
97 } 97 }
98 } 98 }
99 }); 99 });
100 } 100 }
101 } 101 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698