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

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

Issue 2996143002: Add methods to Result. Bump version to 2.0 and remove deprecated features. (Closed)
Patch Set: Address comments, run dartfmt on tests too. Created 3 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 unified diff | Download patch
« no previous file with comments | « lib/src/result/value.dart ('k') | lib/src/stream_splitter.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 import 'dart:async'; 5 import 'dart:async';
6 import 'dart:collection'; 6 import 'dart:collection';
7 7
8 import 'package:collection/collection.dart'; 8 import 'package:collection/collection.dart';
9 9
10 import "cancelable_operation.dart"; 10 import "cancelable_operation.dart";
11 import "result.dart"; 11 import "result/result.dart";
12 import "subscription_stream.dart"; 12 import "subscription_stream.dart";
13 import "stream_completer.dart"; 13 import "stream_completer.dart";
14 import "stream_splitter.dart"; 14 import "stream_splitter.dart";
15 15
16 /// An asynchronous pull-based interface for accessing stream events. 16 /// An asynchronous pull-based interface for accessing stream events.
17 /// 17 ///
18 /// Wraps a stream and makes individual events available on request. 18 /// Wraps a stream and makes individual events available on request.
19 /// 19 ///
20 /// You can request (and reserve) one or more events from the stream, 20 /// You can request (and reserve) one or more events from the stream,
21 /// and after all previous requests have been fulfilled, stream events 21 /// and after all previous requests have been fulfilled, stream events
(...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after
852 } 852 }
853 } 853 }
854 854
855 /// Request for a [StreamQueue.cancel] call. 855 /// Request for a [StreamQueue.cancel] call.
856 /// 856 ///
857 /// The request needs no events, it just waits in the request queue 857 /// The request needs no events, it just waits in the request queue
858 /// until all previous events are fulfilled, then it cancels the stream queue 858 /// until all previous events are fulfilled, then it cancels the stream queue
859 /// source subscription. 859 /// source subscription.
860 class _CancelRequest<T> implements _EventRequest<T> { 860 class _CancelRequest<T> implements _EventRequest<T> {
861 /// Completer for the future returned by the `cancel` call. 861 /// Completer for the future returned by the `cancel` call.
862 /// TODO(lrn); make this Completer<void> when that is implemented.
862 final _completer = new Completer(); 863 final _completer = new Completer();
863 864
864 ///
865 /// When the event is completed, it needs to cancel the active subscription 865 /// When the event is completed, it needs to cancel the active subscription
866 /// of the `StreamQueue` object, if any. 866 /// of the `StreamQueue` object, if any.
867 final StreamQueue _streamQueue; 867 final StreamQueue _streamQueue;
868 868
869 _CancelRequest(this._streamQueue); 869 _CancelRequest(this._streamQueue);
870 870
871 /// The future completed when the cancel request is completed. 871 /// The future completed when the cancel request is completed.
872 Future get future => _completer.future; 872 Future get future => _completer.future;
873 873
874 bool update(QueueList<Result<T>> events, bool isDone) { 874 bool update(QueueList<Result<T>> events, bool isDone) {
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
971 } 971 }
972 972
973 bool update(QueueList<Result<T>> events, bool isDone) { 973 bool update(QueueList<Result<T>> events, bool isDone) {
974 while (_eventsSent < events.length) { 974 while (_eventsSent < events.length) {
975 events[_eventsSent++].addTo(_controller); 975 events[_eventsSent++].addTo(_controller);
976 } 976 }
977 if (isDone && !_controller.isClosed) _controller.close(); 977 if (isDone && !_controller.isClosed) _controller.close();
978 return false; 978 return false;
979 } 979 }
980 } 980 }
OLDNEW
« no previous file with comments | « lib/src/result/value.dart ('k') | lib/src/stream_splitter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698