@Override
 public void onCancel(PendingFuture<?, ?> task) {
   if (task.getContext() instanceof ConnectTask) killConnect();
   if (task.getContext() instanceof ReadTask) killReading();
   if (task.getContext() instanceof WriteTask) killWriting();
 }