summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/it_jaros/networkScanner/Progress.java2
-rw-r--r--src/main/java/com/it_jaros/networkScanner/ProgressBar.java6
-rw-r--r--src/main/java/com/it_jaros/networkScanner/Scanner.java4
3 files changed, 7 insertions, 5 deletions
diff --git a/src/main/java/com/it_jaros/networkScanner/Progress.java b/src/main/java/com/it_jaros/networkScanner/Progress.java
index 37a562b..521046d 100644
--- a/src/main/java/com/it_jaros/networkScanner/Progress.java
+++ b/src/main/java/com/it_jaros/networkScanner/Progress.java
@@ -2,4 +2,4 @@ package com.it_jaros.networkScanner;
import java.util.concurrent.atomic.AtomicInteger;
-record Progress(String host, int total, AtomicInteger done, AtomicInteger open) {} \ No newline at end of file
+public record Progress(String host, int total, AtomicInteger done, AtomicInteger open) {} \ No newline at end of file
diff --git a/src/main/java/com/it_jaros/networkScanner/ProgressBar.java b/src/main/java/com/it_jaros/networkScanner/ProgressBar.java
index 2537d9f..ca755a6 100644
--- a/src/main/java/com/it_jaros/networkScanner/ProgressBar.java
+++ b/src/main/java/com/it_jaros/networkScanner/ProgressBar.java
@@ -9,9 +9,10 @@ import java.util.concurrent.locks.ReentrantLock;
public class ProgressBar {
- private ScheduledExecutorService ui = Executors.newSingleThreadScheduledExecutor();
+ private final ScheduledExecutorService ui = Executors.newSingleThreadScheduledExecutor();
+ private final ReentrantLock lock = new ReentrantLock();
+
private List<Progress> hosts;
- private ReentrantLock lock = new ReentrantLock();
public void start() {
this.hosts = new ArrayList<>();
@@ -68,6 +69,7 @@ public class ProgressBar {
// we need to draw one last time for the 100% to appear
drawProgress(true);
} catch (InterruptedException ignored) {
+ Thread.currentThread().interrupt();
}
}
}
diff --git a/src/main/java/com/it_jaros/networkScanner/Scanner.java b/src/main/java/com/it_jaros/networkScanner/Scanner.java
index 6aab60b..e3f90f1 100644
--- a/src/main/java/com/it_jaros/networkScanner/Scanner.java
+++ b/src/main/java/com/it_jaros/networkScanner/Scanner.java
@@ -41,7 +41,7 @@ public class Scanner {
public List<ScanResult> scanTargets(List<String> targets, String ports) {
List<ScanResult> results = new ArrayList<>();
progressBar.start();
- try (ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor();) {
+ try (ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor()) {
List<Future<ScanResult>> futures = new ArrayList<>();
for (String target : targets) {
futures.add(executor.submit(() -> scanTarget(target, ports)));
@@ -72,7 +72,7 @@ public class Scanner {
Progress progress = new Progress(target, portRange.getTotal(), new AtomicInteger(), new AtomicInteger());
progressBar.submit(progress);
- try (ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor();) {
+ try (ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor()) {
List<Future<Integer>> futures = new ArrayList<>();
while (portRange.hasNext()) {
maxWorkers.acquireUninterruptibly();