cancel method

Cancel scanner task

Implementation

Future<TcpScannerTaskReport> cancel() async {
  var resultReport;
  if (_isRunning) {
    var scanReport = await report;
    resultReport = TcpScannerTaskReport(scanReport.host, scanReport.ports, scanReport.openPorts,
        scanReport.closedPorts, TcpScannerTaskReportStatus.cancelled);
    _scanners.forEach((scanner) => scanner.cancel());
    _isRunning = false;
  } else {
    throw TcpScannerTaskException('TcpScannerTask can\'t be cancelled');
  }
  return resultReport;
}