summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros
diff options
context:
space:
mode:
authorGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-08-24 12:38:27 +0200
committerGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-08-24 12:38:27 +0200
commit744d71a27a0d81db603b9f89079b0fbbc1e92a2f (patch)
treeb4817ec3016596fddb15b5206435e1b1f9dac0cc /src/main/java/com/it_jaros
parent5eb086260022242a736e9e44deebd973b07e540d (diff)
Improved performance at the expense of CPU usageHEADtrunk
Diffstat (limited to 'src/main/java/com/it_jaros')
-rw-r--r--src/main/java/com/it_jaros/jns/scan/engine/ScanPortTask.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main/java/com/it_jaros/jns/scan/engine/ScanPortTask.java b/src/main/java/com/it_jaros/jns/scan/engine/ScanPortTask.java
index 926bffc..5e8aba4 100644
--- a/src/main/java/com/it_jaros/jns/scan/engine/ScanPortTask.java
+++ b/src/main/java/com/it_jaros/jns/scan/engine/ScanPortTask.java
@@ -29,6 +29,8 @@ public class ScanPortTask implements Callable<PortResult> {
private final boolean bannerRecognition;
private final int port;
private final long timeoutInNanos;
+ private final long waitInMillis = 100;
+ final long waitInNanos = TimeUnit.MILLISECONDS.toNanos(waitInMillis);
ScanPortTask(int port, ScanExecutionContext context, ScanHostContext hostContext) {
this.inetAddress = hostContext.hostAddress();
@@ -84,7 +86,6 @@ public class ScanPortTask implements Callable<PortResult> {
socketChannel.configureBlocking(false);
socketChannel.connect(new InetSocketAddress(inetAddress, port));
final long deadlineNanos = System.nanoTime() + timeoutInNanos;
- final long waitInNanos = TimeUnit.MILLISECONDS.toNanos(1000);
boolean isConnected = socketChannel.finishConnect();
while (!cancelledToken.isCancelled() && !isConnected) {
long remainingNanos = deadlineNanos - System.nanoTime();
@@ -134,7 +135,7 @@ public class ScanPortTask implements Callable<PortResult> {
if (remaining <= 0) {
timedout = true;
} else {
- LockSupport.parkNanos(Math.min(remaining, TimeUnit.MILLISECONDS.toNanos(1000)));
+ LockSupport.parkNanos(Math.min(remaining, waitInNanos));
}
}
return byteArrayOutputStream.toByteArray();