Get a future that will complete when the consumer closes, or when an error occurs. This future is identical to the future returned by close.
close
Future<Socket> get done;