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

Side by Side Diff: sdk/lib/io/http_impl.dart

Issue 16125005: Make new StreamController be async by default. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address review comments Created 7 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 | Annotate | Revision Log
« no previous file with comments | « sdk/lib/io/file_impl.dart ('k') | sdk/lib/io/http_parser.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) 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.io; 5 part of dart.io;
6 6
7 class _HttpIncoming extends Stream<List<int>> { 7 class _HttpIncoming extends Stream<List<int>> {
8 final int _transferLength; 8 final int _transferLength;
9 final Completer _dataCompleter = new Completer(); 9 final Completer _dataCompleter = new Completer();
10 Stream<List<int>> _stream; 10 Stream<List<int>> _stream;
(...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 void _cancel() { 553 void _cancel() {
554 if (_subscription != null) { 554 if (_subscription != null) {
555 StreamSubscription subscription = _subscription; 555 StreamSubscription subscription = _subscription;
556 _subscription = null; 556 _subscription = null;
557 subscription.cancel(); 557 subscription.cancel();
558 } 558 }
559 } 559 }
560 560
561 _ensureController() { 561 _ensureController() {
562 if (_controller != null) return; 562 if (_controller != null) return;
563 _controller = new StreamController(onPause: () => _subscription.pause(), 563 _controller = new StreamController(sync: true,
564 onPause: () => _subscription.pause(),
564 onResume: () => _subscription.resume(), 565 onResume: () => _subscription.resume(),
565 onListen: () => _subscription.resume(), 566 onListen: () => _subscription.resume(),
566 onCancel: _cancel); 567 onCancel: _cancel);
567 _outbound._addStream(_controller.stream) 568 _outbound._addStream(_controller.stream)
568 .then((_) { 569 .then((_) {
569 _cancel(); 570 _cancel();
570 _done(); 571 _done();
571 _closeCompleter.complete(_outbound); 572 _closeCompleter.complete(_outbound);
572 }, 573 },
573 onError: (error) { 574 onError: (error) {
(...skipping 1348 matching lines...) Expand 10 before | Expand all | Expand 10 after
1922 // Indicated if the http server has been closed. 1923 // Indicated if the http server has been closed.
1923 bool closed = false; 1924 bool closed = false;
1924 1925
1925 // The server listen socket. 1926 // The server listen socket.
1926 final ServerSocket _serverSocket; 1927 final ServerSocket _serverSocket;
1927 final bool _closeServer; 1928 final bool _closeServer;
1928 1929
1929 // Set of currently connected clients. 1930 // Set of currently connected clients.
1930 final Set<_HttpConnection> _connections = new Set<_HttpConnection>(); 1931 final Set<_HttpConnection> _connections = new Set<_HttpConnection>();
1931 final StreamController<HttpRequest> _controller 1932 final StreamController<HttpRequest> _controller
1932 = new StreamController<HttpRequest>(); 1933 = new StreamController<HttpRequest>(sync: true);
1933 1934
1934 // TODO(ajohnsen): Use close queue? 1935 // TODO(ajohnsen): Use close queue?
1935 } 1936 }
1936 1937
1937 1938
1938 class _ProxyConfiguration { 1939 class _ProxyConfiguration {
1939 static const String PROXY_PREFIX = "PROXY "; 1940 static const String PROXY_PREFIX = "PROXY ";
1940 static const String DIRECT_PREFIX = "DIRECT"; 1941 static const String DIRECT_PREFIX = "DIRECT";
1941 1942
1942 _ProxyConfiguration(String configuration) : proxies = new List<_Proxy>() { 1943 _ProxyConfiguration(String configuration) : proxies = new List<_Proxy>() {
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
2328 2329
2329 2330
2330 class _RedirectInfo implements RedirectInfo { 2331 class _RedirectInfo implements RedirectInfo {
2331 const _RedirectInfo(int this.statusCode, 2332 const _RedirectInfo(int this.statusCode,
2332 String this.method, 2333 String this.method,
2333 Uri this.location); 2334 Uri this.location);
2334 final int statusCode; 2335 final int statusCode;
2335 final String method; 2336 final String method;
2336 final Uri location; 2337 final Uri location;
2337 } 2338 }
OLDNEW
« no previous file with comments | « sdk/lib/io/file_impl.dart ('k') | sdk/lib/io/http_parser.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698