abortTransfer method
void
abortTransfer()
Implementation
void abortTransfer() async {
if (transferInProgress) {
transferInProgress = false;
try {
dataSocket?.destroy();
} catch (e) {
logger.generalLog('Error destroying data socket during abort: $e');
}
dataSocket = null;
try {
dataListener?.close();
} catch (e) {
logger.generalLog('Error closing data listener during abort: $e');
}
dataListener = null;
try {
_secureDataListener?.close();
} catch (e) {
logger
.generalLog('Error closing secure data listener during abort: $e');
}
_secureDataListener = null;
// RFC 959: ABOR during transfer requires 426 followed by 226
sendResponse('426 Transfer aborted');
sendResponse('226 ABOR command successful');
} else {
// RFC 959: 225 if data connection open but no transfer; 226 otherwise
if (dataSocket != null || dataListener != null) {
sendResponse('225 Data connection open; no transfer in progress');
} else {
sendResponse('226 ABOR command successful');
}
}
}