aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/utils/SerialSingleThreadExecutor.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/eu/siacs/conversations/utils/SerialSingleThreadExecutor.java')
-rw-r--r--src/main/java/eu/siacs/conversations/utils/SerialSingleThreadExecutor.java34
1 files changed, 0 insertions, 34 deletions
diff --git a/src/main/java/eu/siacs/conversations/utils/SerialSingleThreadExecutor.java b/src/main/java/eu/siacs/conversations/utils/SerialSingleThreadExecutor.java
deleted file mode 100644
index bfb4668d..00000000
--- a/src/main/java/eu/siacs/conversations/utils/SerialSingleThreadExecutor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package eu.siacs.conversations.utils;
-
-import java.util.ArrayDeque;
-import java.util.Queue;
-import java.util.concurrent.Executor;
-import java.util.concurrent.Executors;
-
-public class SerialSingleThreadExecutor implements Executor {
-
- final Executor executor = Executors.newSingleThreadExecutor();
- final Queue<Runnable> tasks = new ArrayDeque();
- Runnable active;
-
- public synchronized void execute(final Runnable r) {
- tasks.offer(new Runnable() {
- public void run() {
- try {
- r.run();
- } finally {
- scheduleNext();
- }
- }
- });
- if (active == null) {
- scheduleNext();
- }
- }
-
- protected synchronized void scheduleNext() {
- if ((active = tasks.poll()) != null) {
- executor.execute(active);
- }
- }
-} \ No newline at end of file