diff options
Diffstat (limited to 'src/main/java/com/it_jaros')
| -rw-r--r-- | src/main/java/com/it_jaros/jns/scan/engine/ScanPortTask.java | 5 |
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(); |
