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

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

Issue 14103010: Change hasSubscribers to hasListener. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed comments. Created 7 years, 8 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/secure_server_socket.dart ('k') | sdk/lib/web_audio/dart2js/web_audio_dart2js.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 /** 7 /**
8 * A high-level class for communicating securely over a TCP socket, using 8 * A high-level class for communicating securely over a TCP socket, using
9 * TLS and SSL. The [SecureSocket] exposes both a [Stream] and an 9 * TLS and SSL. The [SecureSocket] exposes both a [Stream] and an
10 * [IOSink] interface, making it ideal for using together with 10 * [IOSink] interface, making it ideal for using together with
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 if (_socketClosedWrite) { 384 if (_socketClosedWrite) {
385 _close(); 385 _close();
386 } 386 }
387 } 387 }
388 } 388 }
389 389
390 bool get writeEventsEnabled => _writeEventsEnabled; 390 bool get writeEventsEnabled => _writeEventsEnabled;
391 391
392 void set writeEventsEnabled(bool value) { 392 void set writeEventsEnabled(bool value) {
393 if (value && 393 if (value &&
394 _controller.hasSubscribers && 394 _controller.hasListener &&
395 _secureFilter != null && 395 _secureFilter != null &&
396 _secureFilter.buffers[WRITE_PLAINTEXT].free > 0) { 396 _secureFilter.buffers[WRITE_PLAINTEXT].free > 0) {
397 Timer.run(() => _controller.add(RawSocketEvent.WRITE)); 397 Timer.run(() => _controller.add(RawSocketEvent.WRITE));
398 } else { 398 } else {
399 _writeEventsEnabled = value; 399 _writeEventsEnabled = value;
400 } 400 }
401 } 401 }
402 402
403 bool get readEventsEnabled => _readEventsEnabled; 403 bool get readEventsEnabled => _readEventsEnabled;
404 404
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
494 if (_filterWriteEmpty && _closedWrite && !_socketClosedWrite) { 494 if (_filterWriteEmpty && _closedWrite && !_socketClosedWrite) {
495 // Close _socket for write, by calling shutdown(), to avoid cloning the 495 // Close _socket for write, by calling shutdown(), to avoid cloning the
496 // socket closing code in shutdown(). 496 // socket closing code in shutdown().
497 shutdown(SocketDirection.SEND); 497 shutdown(SocketDirection.SEND);
498 } 498 }
499 if (_status == HANDSHAKE) { 499 if (_status == HANDSHAKE) {
500 try { 500 try {
501 _secureHandshake(); 501 _secureHandshake();
502 } catch (e) { _reportError(e, "RawSecureSocket error"); } 502 } catch (e) { _reportError(e, "RawSecureSocket error"); }
503 } else if (_status == CONNECTED && 503 } else if (_status == CONNECTED &&
504 _controller.hasSubscribers && 504 _controller.hasListener &&
505 _writeEventsEnabled && 505 _writeEventsEnabled &&
506 _secureFilter.buffers[WRITE_PLAINTEXT].free > 0) { 506 _secureFilter.buffers[WRITE_PLAINTEXT].free > 0) {
507 // Reset the one-shot handler. 507 // Reset the one-shot handler.
508 _writeEventsEnabled = false; 508 _writeEventsEnabled = false;
509 _controller.add(RawSocketEvent.WRITE); 509 _controller.add(RawSocketEvent.WRITE);
510 } 510 }
511 } 511 }
512 512
513 void _eventDispatcher(RawSocketEvent event) { 513 void _eventDispatcher(RawSocketEvent event) {
514 if (event == RawSocketEvent.READ) { 514 if (event == RawSocketEvent.READ) {
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 if (!_socketClosedRead || !_socketClosedWrite) { 621 if (!_socketClosedRead || !_socketClosedWrite) {
622 if (_controller.isPaused) { 622 if (_controller.isPaused) {
623 _socketSubscription.pause(); 623 _socketSubscription.pause();
624 } else { 624 } else {
625 _socketSubscription.resume(); 625 _socketSubscription.resume();
626 } 626 }
627 } 627 }
628 } 628 }
629 629
630 void _onSubscriptionStateChange() { 630 void _onSubscriptionStateChange() {
631 if (_controller.hasSubscribers) { 631 if (_controller.hasListener) {
632 // TODO(ajohnsen): Do something here? 632 // TODO(ajohnsen): Do something here?
633 } 633 }
634 } 634 }
635 635
636 void _readEncryptedData() { 636 void _readEncryptedData() {
637 // Read from the socket, and push it through the filter as far as 637 // Read from the socket, and push it through the filter as far as
638 // possible. 638 // possible.
639 var encrypted = _secureFilter.buffers[READ_ENCRYPTED]; 639 var encrypted = _secureFilter.buffers[READ_ENCRYPTED];
640 var plaintext = _secureFilter.buffers[READ_PLAINTEXT]; 640 var plaintext = _secureFilter.buffers[READ_PLAINTEXT];
641 bool progress = true; 641 bool progress = true;
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 void destroy(); 753 void destroy();
754 void handshake(); 754 void handshake();
755 void init(); 755 void init();
756 X509Certificate get peerCertificate; 756 X509Certificate get peerCertificate;
757 int processBuffer(int bufferIndex); 757 int processBuffer(int bufferIndex);
758 void registerBadCertificateCallback(Function callback); 758 void registerBadCertificateCallback(Function callback);
759 void registerHandshakeCompleteCallback(Function handshakeCompleteHandler); 759 void registerHandshakeCompleteCallback(Function handshakeCompleteHandler);
760 760
761 List<_ExternalBuffer> get buffers; 761 List<_ExternalBuffer> get buffers;
762 } 762 }
OLDNEW
« no previous file with comments | « sdk/lib/io/secure_server_socket.dart ('k') | sdk/lib/web_audio/dart2js/web_audio_dart2js.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698