Completes once the connection is closed, whoever closed it.
Never completes with an error.
@override Future<void> get done => _done.future;