summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros/jscanner/ProducerState.java
diff options
context:
space:
mode:
authorGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-07-05 06:34:35 +0200
committerGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-07-09 09:59:28 +0200
commitf3462e68dc8f92dce42f8d53efd8c257fbbb38dd (patch)
tree06fee653e4930da8809f35d4d11a84a0b027cbde /src/main/java/com/it_jaros/jscanner/ProducerState.java
parentce81b98a9c7e117e0a70081e1c543fe64cc262fa (diff)
Moved producer thread into custom method which encapsulates logic for
that producer -> reduced complexity of runScan method
Diffstat (limited to 'src/main/java/com/it_jaros/jscanner/ProducerState.java')
-rw-r--r--src/main/java/com/it_jaros/jscanner/ProducerState.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/com/it_jaros/jscanner/ProducerState.java b/src/main/java/com/it_jaros/jscanner/ProducerState.java
new file mode 100644
index 0000000..36a5841
--- /dev/null
+++ b/src/main/java/com/it_jaros/jscanner/ProducerState.java
@@ -0,0 +1,13 @@
+package com.it_jaros.jscanner;
+
+import java.util.concurrent.CompletionService;
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
+public record ProducerState<OUTPUT>(
+ AtomicBoolean running,
+ AtomicInteger inPipeline,
+ Semaphore activeWorkers,
+ CompletionService<OUTPUT> completionService
+) {}