Deprecate WebSocketChannel.

R=kevmoo@google.com

Review URL: https://codereview.chromium.org//1763583003 .
diff --git a/CHANGELOG.md b/CHANGELOG.md
index cda67d2..341ba0b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+## 2.2.0
+
+* `WebSocketChannel` has been moved to
+  [the `web_socket_channel` package][web_socket_channel]. The implementation
+  here is now deprecated.
+
+[web_socket_channel]: https://pub.dartlang.org/packages/web_socket_channel
+
 ## 2.1.0
 
 * Added `WebSocketChannel`, an implementation of `StreamChannel` that's backed
diff --git a/lib/src/web_socket.dart b/lib/src/web_socket.dart
index edc0a18..dee3edf 100644
--- a/lib/src/web_socket.dart
+++ b/lib/src/web_socket.dart
@@ -3,5 +3,5 @@
 // BSD-style license that can be found in the LICENSE file.
 
 export 'web_socket/channel.dart';
-export 'web_socket/deprecated.dart';
+export 'web_socket/compatible.dart';
 export 'web_socket/exception.dart';
diff --git a/lib/src/web_socket/channel.dart b/lib/src/web_socket/channel.dart
index 339f065..fd1e3c5 100644
--- a/lib/src/web_socket/channel.dart
+++ b/lib/src/web_socket/channel.dart
@@ -10,15 +10,12 @@
 
 import '../copy/web_socket_impl.dart';
 
-/// A [StreamChannel] implementation of the WebSocket protocol.
+/// This class is deprecated.
 ///
-/// This is not specific to `dart:io` or to any particular HTTP API. Because of
-/// that, it doesn't handle the initial [WebSocket handshake][]. This needs to
-/// be handled manually by the user of the code. Once that's been done, [new
-/// WebSocketChannel] can be called with the underlying socket and it will
-/// handle the remainder of the protocol.
+/// Use the [`web_socket_channel`][web_socket_channel] package instead.
 ///
-/// [WebSocket handshake]: https://tools.ietf.org/html/rfc6455#section-4
+/// [web_socket_channel]: https://pub.dartlang.org/packages/web_socket_channel
+@Deprecated("Will be removed in 3.0.0.")
 class WebSocketChannel extends StreamChannelMixin {
   /// The underlying web socket.
   ///
@@ -99,10 +96,12 @@
           channel.stream, channel.sink, protocol, serverSide);
 }
 
-/// The sink exposed by a [CompatibleWebSocket].
+/// This class is deprecated.
 ///
-/// This is like a normal [StreamSink], except that it supports extra arguments
-/// to [close].
+/// Use the [`web_socket_channel`][web_socket_channel] package instead.
+///
+/// [web_socket_channel]: https://pub.dartlang.org/packages/web_socket_channel
+@Deprecated("Will be removed in 3.0.0.")
 class WebSocketSink extends DelegatingStreamSink {
   final WebSocketImpl _webSocket;
 
diff --git a/lib/src/web_socket/deprecated.dart b/lib/src/web_socket/compatible.dart
similarity index 94%
rename from lib/src/web_socket/deprecated.dart
rename to lib/src/web_socket/compatible.dart
index c2162d7..35e7d0e 100644
--- a/lib/src/web_socket/deprecated.dart
+++ b/lib/src/web_socket/compatible.dart
@@ -7,9 +7,12 @@
 import 'package:crypto/crypto.dart';
 
 import '../copy/web_socket_impl.dart';
-import 'channel.dart';
 
-/// Use [WebSocketChannel] instead.
+/// This class is deprecated.
+///
+/// Use the [`web_socket_channel`][web_socket_channel] package instead.
+///
+/// [web_socket_channel]: https://pub.dartlang.org/packages/web_socket_channel
 @Deprecated("Will be removed in 3.0.0.")
 abstract class CompatibleWebSocket implements Stream, StreamSink {
   /// The interval for sending ping signals.
diff --git a/lib/src/web_socket/exception.dart b/lib/src/web_socket/exception.dart
index 87f61d8..c1a6473 100644
--- a/lib/src/web_socket/exception.dart
+++ b/lib/src/web_socket/exception.dart
@@ -2,9 +2,12 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'channel.dart';
-
-/// An exception thrown by [WebSocketChannel].
+/// This class is deprecated.
+///
+/// Use the [`web_socket_channel`][web_socket_channel] package instead.
+///
+/// [web_socket_channel]: https://pub.dartlang.org/packages/web_socket_channel
+@Deprecated("Will be removed in 3.0.0.")
 class CompatibleWebSocketException implements Exception {
   final String message;
 
diff --git a/pubspec.yaml b/pubspec.yaml
index 40da558..a572172 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: http_parser
-version: 2.1.0
+version: 2.2.0
 author: "Dart Team <misc@dartlang.org>"
 homepage: https://github.com/dart-lang/http_parser
 description: >