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

Issue 16131003: Reapply "Active stream subscriptions". (Closed)

Created:
7 years, 6 months ago by Lasse Reichstein Nielsen
Modified:
7 years, 6 months ago
Reviewers:
Søren Gjesse, floitsch
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Reapply "Active stream subscriptions". Makes subscriptions the active part of a stream, with the stream itself being just an inert creator of subscriptions. This changes the behavior of a "single subscription" stream to match the documentation: After the subscription is canceled, you can't resubscribe to the stream. Previously, you could do that, but it was never documented or intended. This also makes the stream of a StreamController not be paused while before it's subscribed - it is always the subscription that is paused or not, and while there is no subscription, the stream cannot be paused. Previously the stream was set to paused until the first subscription in order to prevent events from being lost. That is handled independently of pauses now. Adds StreamController.multiplex constructor. This name is tentative, and likely to change. Its behavior may change as well. It currently provides a new single-subscription stream each time its "stream" getter is read, and you can subscribe to these. Adds StreamIterator class that allows iterating over a stream's data events using (async) "moveNext()" and "current", like a direct style Iterator (sorry, it won't work in a for-in loop). Committed: https://code.google.com/p/dart/source/detail?r=23237

Patch Set 1 #

Patch Set 2 : Patch from sgjesse fixing file descriptor error. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1623 lines, -1558 lines) Patch
M pkg/mdv_observe/lib/src/observable_list.dart View 1 chunk +2 lines, -1 line 0 comments Download
M pkg/scheduled_test/lib/scheduled_process.dart View 6 chunks +8 lines, -9 lines 0 comments Download
M pkg/scheduled_test/lib/src/mock_clock.dart View 2 chunks +11 lines, -13 lines 0 comments Download
M pkg/scheduled_test/lib/src/utils.dart View 1 chunk +31 lines, -20 lines 0 comments Download
M runtime/bin/socket_patch.dart View 1 4 chunks +3 lines, -7 lines 0 comments Download
M sdk/lib/_internal/pub/lib/src/error_group.dart View 1 chunk +1 line, -1 line 0 comments Download
M sdk/lib/_internal/pub/test/error_group_test.dart View 5 chunks +26 lines, -13 lines 0 comments Download
M sdk/lib/async/stream.dart View 10 chunks +84 lines, -69 lines 0 comments Download
M sdk/lib/async/stream_controller.dart View 3 chunks +302 lines, -45 lines 0 comments Download
M sdk/lib/async/stream_impl.dart View 7 chunks +862 lines, -1013 lines 0 comments Download
M sdk/lib/async/stream_pipe.dart View 13 chunks +59 lines, -131 lines 0 comments Download
M sdk/lib/io/http_impl.dart View 1 chunk +3 lines, -1 line 0 comments Download
M sdk/lib/io/http_parser.dart View 1 chunk +0 lines, -8 lines 0 comments Download
M sdk/lib/io/mime_multipart_parser.dart View 2 chunks +4 lines, -8 lines 0 comments Download
M sdk/lib/mdv_observe_impl/mdv_observe_impl.dart View 3 chunks +8 lines, -8 lines 0 comments Download
M sdk/lib/utf/utf_stream.dart View 1 chunk +0 lines, -10 lines 0 comments Download
M tests/lib/async/stream_controller_async_test.dart View 3 chunks +56 lines, -49 lines 0 comments Download
M tests/lib/async/stream_state_helper.dart View 13 chunks +101 lines, -43 lines 0 comments Download
M tests/lib/async/stream_state_nonzero_timer_test.dart View 3 chunks +22 lines, -22 lines 0 comments Download
M tests/lib/async/stream_state_test.dart View 4 chunks +12 lines, -59 lines 0 comments Download
M tests/standalone/io/http_multipart_test.dart View 1 chunk +0 lines, -1 line 0 comments Download
M tests/standalone/io/http_parser_test.dart View 2 chunks +20 lines, -14 lines 0 comments Download
M tests/standalone/io/http_redirect_test.dart View 1 chunk +5 lines, -9 lines 0 comments Download
M tests/standalone/io/pipe_server_test.dart View 1 chunk +0 lines, -1 line 0 comments Download
M tests/standalone/io/regress_8828_test.dart View 1 chunk +1 line, -1 line 0 comments Download
M tests/standalone/standalone.status View 1 chunk +0 lines, -1 line 0 comments Download
M tools/dom/src/PathObserver.dart View 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 3 (0 generated)
Lasse Reichstein Nielsen
Committed patchset #2 manually as r23237 (presubmit successful).
7 years, 6 months ago (2013-05-28 07:28:56 UTC) #1
Lasse Reichstein Nielsen
TBR
7 years, 6 months ago (2013-05-28 07:31:01 UTC) #2
floitsch
7 years, 6 months ago (2013-05-28 13:05:14 UTC) #3
Message was sent while issue was closed.
LGTM.

Powered by Google App Engine
This is Rietveld 408576698