Completes when the socket is open, or with an error if it never opens.
@override Future<void> get ready => _ready.future;