forked from j62/ctbrec
1
0
Fork 0

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
This commit is contained in:
0xboobface 2019-04-12 21:57:32 +02:00
parent ca2ceb7f43
commit e4ab0873bc
1 changed files with 17 additions and 0 deletions

View File

@ -2,10 +2,14 @@ package ctbrec.recorder;
import static ctbrec.Model.State.*; import static ctbrec.Model.State.*;
import java.io.IOException;
import java.io.InterruptedIOException; import java.io.InterruptedIOException;
import java.net.SocketTimeoutException; import java.net.SocketTimeoutException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.time.Duration; import java.time.Duration;
import java.time.Instant; import java.time.Instant;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
@ -52,8 +56,21 @@ public class OnlineMonitor extends Thread {
} }
} }
List<Model> activeRecordings = null;
try {
activeRecordings = recorder.getCurrentlyRecording();
} catch (InvalidKeyException | NoSuchAlgorithmException | IllegalStateException | IOException e1) {
activeRecordings = Collections.emptyList();
}
// update the currently recorded models // update the currently recorded models
for (Model model : 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 { try {
if(model.isOnline(IGNORE_CACHE)) { if(model.isOnline(IGNORE_CACHE)) {
EventBusHolder.BUS.post(new ModelIsOnlineEvent(model)); EventBusHolder.BUS.post(new ModelIsOnlineEvent(model));