X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/6af605f79091fb55f6af46677d11011dc63e244d..704f2d76ba3c24dceecabd3fd473d973c29f7699:/src/main/java/cli/Manager.java diff --git a/src/main/java/cli/Manager.java b/src/main/java/cli/Manager.java index 177cae78..acaa1a0c 100644 --- a/src/main/java/cli/Manager.java +++ b/src/main/java/cli/Manager.java @@ -187,7 +187,7 @@ public class Manager { void handleMessage(TextSecureEnvelope envelope); } - public void receiveMessages(ReceiveMessageHandler handler) throws IOException { + public void receiveMessages(int timeoutSeconds, boolean returnOnTimeout, ReceiveMessageHandler handler) throws IOException { TextSecureMessageReceiver messageReceiver = new TextSecureMessageReceiver(URL, TRUST_STORE, username, password, signalingKey); TextSecureMessagePipe messagePipe = null; @@ -197,9 +197,11 @@ public class Manager { while (true) { TextSecureEnvelope envelope; try { - envelope = messagePipe.read(1, TimeUnit.MINUTES); + envelope = messagePipe.read(timeoutSeconds, TimeUnit.SECONDS); handler.handleMessage(envelope); } catch (TimeoutException e) { + if (returnOnTimeout) + return; } catch (InvalidVersionException e) { System.out.println("Ignoring error: " + e.getMessage()); }