From e4ab0873bca612a3b30f2f972b32e13eea52a653 Mon Sep 17 00:00:00 2001 From: 0xboobface <0xboobface@gmail.com> Date: Fri, 12 Apr 2019 21:57:32 +0200 Subject: [PATCH] Remove online check for currently running recordings For models, which are currently recorded, a online check is not necessary. INstead we can assume, that the model is online and continue with the next one --- .../java/ctbrec/recorder/OnlineMonitor.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/common/src/main/java/ctbrec/recorder/OnlineMonitor.java b/common/src/main/java/ctbrec/recorder/OnlineMonitor.java index ab4088e1..48aa74f3 100644 --- a/common/src/main/java/ctbrec/recorder/OnlineMonitor.java +++ b/common/src/main/java/ctbrec/recorder/OnlineMonitor.java @@ -2,10 +2,14 @@ package ctbrec.recorder; import static ctbrec.Model.State.*; +import java.io.IOException; import java.io.InterruptedIOException; import java.net.SocketTimeoutException; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; import java.time.Duration; import java.time.Instant; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -52,8 +56,21 @@ public class OnlineMonitor extends Thread { } } + List activeRecordings = null; + try { + activeRecordings = recorder.getCurrentlyRecording(); + } catch (InvalidKeyException | NoSuchAlgorithmException | IllegalStateException | IOException e1) { + activeRecordings = Collections.emptyList(); + } + // update the currently recorded models for (Model model : models) { + if(activeRecordings.contains(model)) { + // ctbrec is recording this model, no need to check the online state + EventBusHolder.BUS.post(new ModelIsOnlineEvent(model)); + continue; + } + try { if(model.isOnline(IGNORE_CACHE)) { EventBusHolder.BUS.post(new ModelIsOnlineEvent(model));