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

Side by Side Diff: sdk/lib/async/stream.dart

Issue 1189873004: Update documentation of Stream.pipe to match behavior. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Change text again, mention addStream explicitly. Created 5 years, 6 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 | « no previous file | no next file » | 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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 part of dart.async; 5 part of dart.async;
6 6
7 // ------------------------------------------------------------------- 7 // -------------------------------------------------------------------
8 // Core Stream types 8 // Core Stream types
9 // ------------------------------------------------------------------- 9 // -------------------------------------------------------------------
10 10
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 * 471 *
472 * The returned stream is a broadcast stream if this stream is. 472 * The returned stream is a broadcast stream if this stream is.
473 * If a broadcast stream is listened to more than once, each subscription 473 * If a broadcast stream is listened to more than once, each subscription
474 * will individually call `convert` and expand the events. 474 * will individually call `convert` and expand the events.
475 */ 475 */
476 Stream expand(Iterable convert(T value)) { 476 Stream expand(Iterable convert(T value)) {
477 return new _ExpandStream<T, dynamic>(this, convert); 477 return new _ExpandStream<T, dynamic>(this, convert);
478 } 478 }
479 479
480 /** 480 /**
481 * Binds this stream as the input of the provided [StreamConsumer]. 481 * Pipe the events of this stream into [streamConsumer].
482 * 482 *
483 * The `streamConsumer` is closed when the stream has been added to it. 483 * The events of this stream are added to `streamConsumer` using
484 * [StreamConsumer.addStream].
485 * The `streamConsumer` is closed when this stream has been successfully added
486 * to it - when the future returned by `addStream` completes without an error.
484 * 487 *
485 * Returns a future which completes when the stream has been consumed 488 * Returns a future which completes when the stream has been consumed
486 * and the consumer has been closed. 489 * and the consumer has been closed.
490 *
491 * The returned future completes with the same result as the future returned
492 * by [StreamConsumer.close].
493 * If the adding of the stream itself fails in some way,
494 * then the consumer is expected to be closed, and won't be closed again.
495 * In that case the returned future completes with the error from calling
496 * `addStream`.
487 */ 497 */
488 Future pipe(StreamConsumer<T> streamConsumer) { 498 Future pipe(StreamConsumer<T> streamConsumer) {
489 return streamConsumer.addStream(this).then((_) => streamConsumer.close()); 499 return streamConsumer.addStream(this).then((_) => streamConsumer.close());
490 } 500 }
491 501
492 /** 502 /**
493 * Chains this stream as the input of the provided [StreamTransformer]. 503 * Chains this stream as the input of the provided [StreamTransformer].
494 * 504 *
495 * Returns the result of [:streamTransformer.bind:] itself. 505 * Returns the result of [:streamTransformer.bind:] itself.
496 * 506 *
(...skipping 1216 matching lines...) Expand 10 before | Expand all | Expand 10 after
1713 class _ControllerEventSinkWrapper<T> implements EventSink<T> { 1723 class _ControllerEventSinkWrapper<T> implements EventSink<T> {
1714 EventSink _sink; 1724 EventSink _sink;
1715 _ControllerEventSinkWrapper(this._sink); 1725 _ControllerEventSinkWrapper(this._sink);
1716 1726
1717 void add(T data) { _sink.add(data); } 1727 void add(T data) { _sink.add(data); }
1718 void addError(error, [StackTrace stackTrace]) { 1728 void addError(error, [StackTrace stackTrace]) {
1719 _sink.addError(error, stackTrace); 1729 _sink.addError(error, stackTrace);
1720 } 1730 }
1721 void close() { _sink.close(); } 1731 void close() { _sink.close(); }
1722 } 1732 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698