OLD | NEW |
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 1117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1128 if (bytes == null) { | 1128 if (bytes == null) { |
1129 bytes = length; | 1129 bytes = length; |
1130 } else { | 1130 } else { |
1131 bytes = min(bytes, length); | 1131 bytes = min(bytes, length); |
1132 } | 1132 } |
1133 if (bytes == 0) return null; | 1133 if (bytes == 0) return null; |
1134 List<int> result = new Uint8List(bytes); | 1134 List<int> result = new Uint8List(bytes); |
1135 int bytesRead = 0; | 1135 int bytesRead = 0; |
1136 // Loop over zero, one, or two linear data ranges. | 1136 // Loop over zero, one, or two linear data ranges. |
1137 while (bytesRead < bytes) { | 1137 while (bytesRead < bytes) { |
1138 int toRead = min(bytes, linearLength); | 1138 int toRead = min(bytes - bytesRead, linearLength); |
1139 result.setRange(bytesRead, | 1139 result.setRange(bytesRead, |
1140 bytesRead + toRead, | 1140 bytesRead + toRead, |
1141 data, | 1141 data, |
1142 start); | 1142 start); |
1143 advanceStart(toRead); | 1143 advanceStart(toRead); |
1144 bytesRead += toRead; | 1144 bytesRead += toRead; |
1145 } | 1145 } |
1146 return result; | 1146 return result; |
1147 } | 1147 } |
1148 | 1148 |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1267 /** | 1267 /** |
1268 * An exception that happens in the handshake phase of establishing | 1268 * An exception that happens in the handshake phase of establishing |
1269 * a secure network connection, when looking up or verifying a | 1269 * a secure network connection, when looking up or verifying a |
1270 * certificate. | 1270 * certificate. |
1271 */ | 1271 */ |
1272 class CertificateException extends TlsException { | 1272 class CertificateException extends TlsException { |
1273 const CertificateException([String message = "", | 1273 const CertificateException([String message = "", |
1274 OSError osError = null]) | 1274 OSError osError = null]) |
1275 : super._("CertificateException", message, osError); | 1275 : super._("CertificateException", message, osError); |
1276 } | 1276 } |
OLD | NEW |