A future that will complete when the consumer closes, or when an error occurs.
This future is identical to the future returned by close.
@override Future<dynamic> get done => socket.done;