summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros/jscanner/Scanner.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/it_jaros/jscanner/Scanner.java')
-rw-r--r--src/main/java/com/it_jaros/jscanner/Scanner.java18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/main/java/com/it_jaros/jscanner/Scanner.java b/src/main/java/com/it_jaros/jscanner/Scanner.java
index 4ac60b1..5fd2d4b 100644
--- a/src/main/java/com/it_jaros/jscanner/Scanner.java
+++ b/src/main/java/com/it_jaros/jscanner/Scanner.java
@@ -86,8 +86,8 @@ public class Scanner implements AutoCloseable {
}
public List<ScanResult> scanHosts(Stream<String> hosts, String ports) throws IOException {
- ScanState scanState = new ScanState(new Counter(), new ProgressBar(quiet), new ArrayList<>());
- scanState.progressBar().start();
+ ScanState scanState = new ScanState(new Counter(), new ProgressBar(quiet));
+ scanState.getProgressBar().start();
try (ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor()) {
CompletionService<ScanResult> completionService = new ExecutorCompletionService<>(executor);
Queue<String> hostsInQueue = hosts.collect(Collectors.toCollection(ArrayDeque::new));
@@ -109,7 +109,7 @@ public class Scanner implements AutoCloseable {
}
activeHostWorkers--;
hostsToProcess--;
- scanState.scanResult().add(finishedHost.get());
+ scanState.addScanResult(finishedHost.get());
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
} catch (ExecutionException e) {
@@ -122,13 +122,13 @@ public class Scanner implements AutoCloseable {
}
}
- scanState.progressBar().stop();
+ scanState.getProgressBar().stop();
System.out.println("--------------------");
System.out.println("Finished scan!");
System.out.println("Stats:");
- System.out.println("Peak concurrent connects: " + scanState.counter().max());
+ System.out.println("Peak concurrent connects: " + scanState.getCounter().max());
System.out.println("--------------------");
- return scanState.scanResult();
+ return scanState.getSnapshotOfScanResults();
}
private ScanResult scanHost(String host, String ports, ScanState scanState) {
@@ -140,7 +140,7 @@ public class Scanner implements AutoCloseable {
// Give progressbar the current progress object which is then updated in the sub virtual threads
Progress progress = new Progress(host, portRange.getTotal(), new AtomicInteger(), new AtomicInteger(), new AtomicInteger());
- scanState.progressBar().submit(progress);
+ scanState.getProgressBar().submit(progress);
if (!disableOnlineCheck && !checkHostOnline(host)) {
// Visually show that this host is basically done
@@ -228,7 +228,7 @@ public class Scanner implements AutoCloseable {
// don't allow more sockets then specified
socketLimit.acquireUninterruptibly();
// count how many ports are concurrently checked
- scanState.counter().inc();
+ scanState.getCounter().inc();
try (Socket socket = new Socket()) {
socket.connect(new InetSocketAddress(host, port), timeoutInMillis);
@@ -244,7 +244,7 @@ public class Scanner implements AutoCloseable {
// NoRouteToHostException: this can be safely ignored because the port is closed if a host is unreachable
// Will happen a lot when scanning for open ports, so not needed
} finally {
- scanState.counter().dec();
+ scanState.getCounter().dec();
socketLimit.release();
}