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

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

Issue 25094002: Adapt streams for additional stackTrace argument. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Remove types in closures. Created 7 years, 2 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/http_parser.dart ('k') | sdk/lib/io/secure_socket.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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 /** 7 /**
8 * The [SecureServerSocket] is a server socket, providing a stream of high-level 8 * The [SecureServerSocket] is a server socket, providing a stream of high-level
9 * [Socket]s. 9 * [Socket]s.
10 * 10 *
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 port, 72 port,
73 certificateName, 73 certificateName,
74 backlog: backlog, 74 backlog: backlog,
75 v6Only: v6Only, 75 v6Only: v6Only,
76 requestClientCertificate: requestClientCertificate, 76 requestClientCertificate: requestClientCertificate,
77 requireClientCertificate: requireClientCertificate).then( 77 requireClientCertificate: requireClientCertificate).then(
78 (serverSocket) => new SecureServerSocket._(serverSocket)); 78 (serverSocket) => new SecureServerSocket._(serverSocket));
79 } 79 }
80 80
81 StreamSubscription<SecureSocket> listen(void onData(SecureSocket socket), 81 StreamSubscription<SecureSocket> listen(void onData(SecureSocket socket),
82 {void onError(error), 82 {Function onError,
83 void onDone(), 83 void onDone(),
84 bool cancelOnError}) { 84 bool cancelOnError}) {
85 return _socket.map((rawSocket) => new SecureSocket._(rawSocket)) 85 return _socket.map((rawSocket) => new SecureSocket._(rawSocket))
86 .listen(onData, 86 .listen(onData,
87 onError: onError, 87 onError: onError,
88 onDone: onDone, 88 onDone: onDone,
89 cancelOnError: cancelOnError); 89 cancelOnError: cancelOnError);
90 } 90 }
91 91
92 /** 92 /**
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 bool requireClientCertificate: false}) { 183 bool requireClientCertificate: false}) {
184 return RawServerSocket.bind(address, port, backlog: backlog, v6Only: v6Only) 184 return RawServerSocket.bind(address, port, backlog: backlog, v6Only: v6Only)
185 .then((serverSocket) => new RawSecureServerSocket._( 185 .then((serverSocket) => new RawSecureServerSocket._(
186 serverSocket, 186 serverSocket,
187 certificateName, 187 certificateName,
188 requestClientCertificate, 188 requestClientCertificate,
189 requireClientCertificate)); 189 requireClientCertificate));
190 } 190 }
191 191
192 StreamSubscription<RawSecureSocket> listen(void onData(RawSecureSocket s), 192 StreamSubscription<RawSecureSocket> listen(void onData(RawSecureSocket s),
193 {void onError(error), 193 {Function onError,
194 void onDone(), 194 void onDone(),
195 bool cancelOnError}) { 195 bool cancelOnError}) {
196 return _controller.stream.listen(onData, 196 return _controller.stream.listen(onData,
197 onError: onError, 197 onError: onError,
198 onDone: onDone, 198 onDone: onDone,
199 cancelOnError: cancelOnError); 199 cancelOnError: cancelOnError);
200 } 200 }
201 201
202 /** 202 /**
203 * Returns the port used by this socket. 203 * Returns the port used by this socket.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 } else { 236 } else {
237 _controller.add(secureConnection); 237 _controller.add(secureConnection);
238 } 238 }
239 }).catchError((e) { 239 }).catchError((e) {
240 if (!_closed) { 240 if (!_closed) {
241 _controller.addError(e); 241 _controller.addError(e);
242 } 242 }
243 }); 243 });
244 } 244 }
245 245
246 void _onError(e) { 246 void _onError(e, [StackTrace stackTrace]) {
247 _controller.addError(e); 247 _controller.addError(e, stackTrace);
248 } 248 }
249 249
250 void _onDone() { 250 void _onDone() {
251 _controller.close(); 251 _controller.close();
252 } 252 }
253 253
254 void _onPauseStateChange() { 254 void _onPauseStateChange() {
255 if (_controller.isPaused) { 255 if (_controller.isPaused) {
256 _subscription.pause(); 256 _subscription.pause();
257 } else { 257 } else {
258 _subscription.resume(); 258 _subscription.resume();
259 } 259 }
260 } 260 }
261 261
262 void _onSubscriptionStateChange() { 262 void _onSubscriptionStateChange() {
263 if (_controller.hasListener) { 263 if (_controller.hasListener) {
264 _subscription = _socket.listen(_onData, 264 _subscription = _socket.listen(_onData,
265 onDone: _onDone, 265 onDone: _onDone,
266 onError: _onError); 266 onError: _onError);
267 } else { 267 } else {
268 close(); 268 close();
269 } 269 }
270 } 270 }
271 } 271 }
272 272
273 273
OLDNEW
« no previous file with comments | « sdk/lib/io/http_parser.dart ('k') | sdk/lib/io/secure_socket.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698