| OLD | NEW |
| 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 * SecureSocket provides a secure (SSL or TLS) client connection to a server. | 8 * SecureSocket provides a secure (SSL or TLS) client connection to a server. |
| 9 * The certificate provided by the server is checked | 9 * The certificate provided by the server is checked |
| 10 * using the certificate database (optionally) provided in initialize(). | 10 * using the certificate database (optionally) provided in initialize(). |
| (...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 // If the filter is empty, then we are guaranteed an event when it | 582 // If the filter is empty, then we are guaranteed an event when it |
| 583 // becomes unblocked. Cancel any _secureDataHandler call. | 583 // becomes unblocked. Cancel any _secureDataHandler call. |
| 584 // Otherwise, schedule a _secureDataHandler call since there may data | 584 // Otherwise, schedule a _secureDataHandler call since there may data |
| 585 // available, and this read call enables the data event. | 585 // available, and this read call enables the data event. |
| 586 if (_filterReadEmpty) { | 586 if (_filterReadEmpty) { |
| 587 if (scheduledDataEvent != null) { | 587 if (scheduledDataEvent != null) { |
| 588 scheduledDataEvent.cancel(); | 588 scheduledDataEvent.cancel(); |
| 589 scheduledDataEvent = null; | 589 scheduledDataEvent = null; |
| 590 } | 590 } |
| 591 } else if (scheduledDataEvent == null) { | 591 } else if (scheduledDataEvent == null) { |
| 592 scheduledDataEvent = new Timer(0, (_) => _secureDataHandler()); | 592 scheduledDataEvent = Timer.run(_secureDataHandler); |
| 593 } | 593 } |
| 594 | 594 |
| 595 if (_socketClosedRead) { // An onClose event is pending. | 595 if (_socketClosedRead) { // An onClose event is pending. |
| 596 // _closedRead is false, since we are in a read or readList call. | 596 // _closedRead is false, since we are in a read or readList call. |
| 597 if (!_filterReadEmpty) { | 597 if (!_filterReadEmpty) { |
| 598 // _filterReadEmpty may be out of date since read and readList empty | 598 // _filterReadEmpty may be out of date since read and readList empty |
| 599 // the plaintext buffer after calling _readEncryptedData. | 599 // the plaintext buffer after calling _readEncryptedData. |
| 600 // TODO(whesse): Fix this as part of fixing read and readList. | 600 // TODO(whesse): Fix this as part of fixing read and readList. |
| 601 _readEncryptedData(); | 601 _readEncryptedData(); |
| 602 } | 602 } |
| 603 if (_filterReadEmpty) { | 603 if (_filterReadEmpty) { |
| 604 // This can't be an else clause: the value of _filterReadEmpty changes. | 604 // This can't be an else clause: the value of _filterReadEmpty changes. |
| 605 // This must be asynchronous, because we are in a read or readList call. | 605 // This must be asynchronous, because we are in a read or readList call. |
| 606 new Timer(0, (_) => _secureCloseHandler()); | 606 Timer.run(_secureCloseHandler); |
| 607 } | 607 } |
| 608 } | 608 } |
| 609 } | 609 } |
| 610 | 610 |
| 611 bool get _socketClosed => _closedRead; | 611 bool get _socketClosed => _closedRead; |
| 612 | 612 |
| 613 // _SecureSocket cannot extend _Socket and use _Socket's factory constructor. | 613 // _SecureSocket cannot extend _Socket and use _Socket's factory constructor. |
| 614 Socket socket; | 614 Socket socket; |
| 615 final String host; | 615 final String host; |
| 616 final bool is_server; | 616 final bool is_server; |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 void destroy(); | 677 void destroy(); |
| 678 void handshake(); | 678 void handshake(); |
| 679 void init(); | 679 void init(); |
| 680 X509Certificate get peerCertificate; | 680 X509Certificate get peerCertificate; |
| 681 int processBuffer(int bufferIndex); | 681 int processBuffer(int bufferIndex); |
| 682 void registerBadCertificateCallback(Function callback); | 682 void registerBadCertificateCallback(Function callback); |
| 683 void registerHandshakeCompleteCallback(Function handshakeCompleteHandler); | 683 void registerHandshakeCompleteCallback(Function handshakeCompleteHandler); |
| 684 | 684 |
| 685 List<_ExternalBuffer> get buffers; | 685 List<_ExternalBuffer> get buffers; |
| 686 } | 686 } |
| OLD | NEW |