From: Dom Date: Wed, 3 Feb 2021 18:40:12 +0000 (+0100) Subject: Proposal for the Manager class to manage an ExecutorService for all SignalServiceMess... X-Git-Tag: v0.8.0~7 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/23df85ff909bd1bc8088c429ffd63ea3af6591c6 Proposal for the Manager class to manage an ExecutorService for all SignalServiceMessageSender instances (#482) * 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 --- diff --git a/lib/src/main/java/org/asamk/signal/manager/Manager.java b/lib/src/main/java/org/asamk/signal/manager/Manager.java index be31493d..cb28c45b 100644 --- a/lib/src/main/java/org/asamk/signal/manager/Manager.java +++ b/lib/src/main/java/org/asamk/signal/manager/Manager.java @@ -167,6 +167,7 @@ import java.util.Map; 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; @@ -189,6 +190,8 @@ public class Manager implements Closeable { private final SignalServiceMessageReceiver messageReceiver; private final ClientZkProfileOperations clientZkProfileOperations; + private final ExecutorService executor = Executors.newCachedThreadPool(); + private SignalServiceMessagePipe messagePipe = null; private SignalServiceMessagePipe unidentifiedMessagePipe = null; @@ -526,7 +529,6 @@ public class Manager implements Closeable { } private SignalServiceMessageSender createMessageSender() { - final ExecutorService executor = null; return new SignalServiceMessageSender(serviceEnvironmentConfig.getSignalServiceConfiguration(), account.getUuid(), account.getUsername(), @@ -2533,6 +2535,8 @@ public class Manager implements Closeable { } void close(boolean closeAccount) throws IOException { + executor.shutdown(); + if (messagePipe != null) { messagePipe.shutdown(); messagePipe = null;