| Index: sdk/lib/io/secure_socket.dart
|
| diff --git a/sdk/lib/io/secure_socket.dart b/sdk/lib/io/secure_socket.dart
|
| index 8590284c9744fa4db3bc19419e2368233ea4bca0..b3c70636f8d4c1ae9138e54e91d8194c2b57df10 100644
|
| --- a/sdk/lib/io/secure_socket.dart
|
| +++ b/sdk/lib/io/secure_socket.dart
|
| @@ -263,10 +263,11 @@ abstract class RawSecureSocket implements RawSocket {
|
| * connection is prepared for TLS handshake.
|
| *
|
| * If the [socket] already has a subscription, pass the existing
|
| - * subscription in the [subscription] parameter. The secure socket
|
| - * will take over the subscription and process any subsequent
|
| - * events. In most cases calling `pause` on this subscription before
|
| - * starting TLS handshake is the right thing to do.
|
| + * subscription in the [subscription] parameter. The [secure]
|
| + * operation will take over the subscription by replacing the
|
| + * handlers with it own secure processing. The caller must not touch
|
| + * this subscription anymore. Passing a paused subscription is an
|
| + * error.
|
| *
|
| * If the [host] argument is passed it will be used as the host name
|
| * for the TLS handshake. If [host] is not passed the host name from
|
| @@ -310,9 +311,11 @@ abstract class RawSecureSocket implements RawSocket {
|
| * connection is going to start the TLS handshake.
|
| *
|
| * If the [socket] already has a subscription, pass the existing
|
| - * subscription in the [subscription] parameter. The secure socket
|
| - * will take over the subscription and process any subsequent
|
| - * events.
|
| + * subscription in the [subscription] parameter. The [secureServer]
|
| + * operation will take over the subscription by replacing the
|
| + * handlers with it own secure processing. The caller must not touch
|
| + * this subscription anymore. Passing a paused subscription is an
|
| + * error.
|
| *
|
| * If some of the data of the TLS handshake has already been read
|
| * from the socket this data can be passed in the [bufferedData]
|
| @@ -535,6 +538,9 @@ class _RawSecureSocket extends Stream<RawSocketEvent>
|
| onError: _reportError,
|
| onDone: _doneHandler);
|
| } else {
|
| + if (_socketSubscription.isPaused) {
|
| + throw new StateError("Subscription passed to TLS upgrade is paused");
|
| + }
|
| _socketSubscription
|
| ..onData(_eventDispatcher)
|
| ..onError(_reportError)
|
|
|