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

Side by Side Diff: runtime/bin/socket_patch.dart

Issue 14753009: Make StreamSubscription be the active part of a stream. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments. Created 7 years, 7 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
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 patch class RawServerSocket { 5 patch class RawServerSocket {
6 /* patch */ static Future<RawServerSocket> bind(address, 6 /* patch */ static Future<RawServerSocket> bind(address,
7 int port, 7 int port,
8 {int backlog: 0, 8 {int backlog: 0,
9 bool v6Only: false}) { 9 bool v6Only: false}) {
10 return _RawServerSocket.bind(address, port, backlog, v6Only); 10 return _RawServerSocket.bind(address, port, backlog, v6Only);
(...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after
835 } 835 }
836 836
837 void write() { 837 void write() {
838 try { 838 try {
839 if (subscription == null) return; 839 if (subscription == null) return;
840 assert(buffer != null); 840 assert(buffer != null);
841 // Write as much as possible. 841 // Write as much as possible.
842 offset += socket._write(buffer, offset, buffer.length - offset); 842 offset += socket._write(buffer, offset, buffer.length - offset);
843 if (offset < buffer.length) { 843 if (offset < buffer.length) {
844 if (!paused) { 844 if (!paused) {
845 paused = true;
846 // TODO(ajohnsen): It would be nice to avoid this check.
847 // Some info: socket._write can emit an event, if it fails to write.
848 // If the user closes the socket in that event, stop() will be called
849 // before we get a change to pause.
850 if (subscription == null) return;
851 subscription.pause(); 845 subscription.pause();
852 } 846 }
853 socket._enableWriteEvent(); 847 socket._enableWriteEvent();
854 } else { 848 } else {
855 buffer = null; 849 buffer = null;
856 if (paused) { 850 if (paused) {
857 paused = false; 851 paused = false;
858 subscription.resume(); 852 subscription.resume();
859 } 853 }
860 } 854 }
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
1094 _raw.onBadCertificate = callback; 1088 _raw.onBadCertificate = callback;
1095 } 1089 }
1096 1090
1097 X509Certificate get peerCertificate { 1091 X509Certificate get peerCertificate {
1098 if (_raw == null) { 1092 if (_raw == null) {
1099 throw new StateError("peerCertificate called on destroyed SecureSocket"); 1093 throw new StateError("peerCertificate called on destroyed SecureSocket");
1100 } 1094 }
1101 return _raw.peerCertificate; 1095 return _raw.peerCertificate;
1102 } 1096 }
1103 } 1097 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698