]> nmode's Git Repositories - signal-cli/commitdiff
Proposal for the Manager class to manage an ExecutorService for all SignalServiceMess...
authorDom <dominik.mautz@tum.de>
Wed, 3 Feb 2021 18:40:12 +0000 (19:40 +0100)
committerGitHub <noreply@github.com>
Wed, 3 Feb 2021 18:40:12 +0000 (19:40 +0100)
* Modified the Manager class to provide an ExecuterService for the SignalServiceMessageSender.

* removed unnesessary comment

* Changed the ExecutorService to a unbounded newCachedThreadPool

Co-authored-by: Cutkh <cutkh@users.noreply.github.com>
lib/src/main/java/org/asamk/signal/manager/Manager.java

index be31493de7f00798650d5c7c4735cba77754e42f..cb28c45b6b2b0bcadeef5cae3f47580e263e67e0 100644 (file)
@@ -167,6 +167,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 import java.util.concurrent.ExecutorService;
 import java.util.Set;
 import java.util.UUID;
 import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.stream.Collectors;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.stream.Collectors;
@@ -189,6 +190,8 @@ public class Manager implements Closeable {
     private final SignalServiceMessageReceiver messageReceiver;
     private final ClientZkProfileOperations clientZkProfileOperations;
 
     private final SignalServiceMessageReceiver messageReceiver;
     private final ClientZkProfileOperations clientZkProfileOperations;
 
+    private final ExecutorService executor = Executors.newCachedThreadPool();
+
     private SignalServiceMessagePipe messagePipe = null;
     private SignalServiceMessagePipe unidentifiedMessagePipe = null;
 
     private SignalServiceMessagePipe messagePipe = null;
     private SignalServiceMessagePipe unidentifiedMessagePipe = null;
 
@@ -526,7 +529,6 @@ public class Manager implements Closeable {
     }
 
     private SignalServiceMessageSender createMessageSender() {
     }
 
     private SignalServiceMessageSender createMessageSender() {
-        final ExecutorService executor = null;
         return new SignalServiceMessageSender(serviceEnvironmentConfig.getSignalServiceConfiguration(),
                 account.getUuid(),
                 account.getUsername(),
         return new SignalServiceMessageSender(serviceEnvironmentConfig.getSignalServiceConfiguration(),
                 account.getUuid(),
                 account.getUsername(),
@@ -2533,6 +2535,8 @@ public class Manager implements Closeable {
     }
 
     void close(boolean closeAccount) throws IOException {
     }
 
     void close(boolean closeAccount) throws IOException {
+        executor.shutdown();
+
         if (messagePipe != null) {
             messagePipe.shutdown();
             messagePipe = null;
         if (messagePipe != null) {
             messagePipe.shutdown();
             messagePipe = null;