report property
Future<PortScannerTaskReport>
get
report
Requests the current scan report.
Implementation
Future<PortScannerTaskReport> get report async {
if (!_isRunning) {
throw PortScannerTaskException('Scanning is not in progress');
}
var reports = await Future.wait(_scanners.map((scanner) => scanner.report));
// Aggregate partial results
var partialReport = Report(host, ports, status: ReportStatus.progress);
for (var report in reports) {
partialReport.addOpen(ports: report.openPorts);
partialReport.addClosed(ports: report.closedPorts);
partialReport.addFiltered(ports: report.filteredPorts);
if (partialReport.status != ReportStatus.progress) {
partialReport.status = report.status;
}
}
return _reportToPortScannerTaskReport(partialReport);
}