openvidu-server: KmsManager#atLeastOneConnectedAndRunningKms

pull/546/head
pabloFuente 2020-09-29 14:20:45 +02:00
parent 12f215ddd9
commit 6a8e85c763
1 changed files with 8 additions and 0 deletions

View File

@ -23,6 +23,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.NoSuchElementException; import java.util.NoSuchElementException;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
@ -121,6 +122,13 @@ public abstract class KmsManager {
} }
} }
public synchronized boolean atLeastOneConnectedAndRunningKms() {
Optional<Kms> optional = this.kmss.values().stream()
.filter(kms -> kms.isKurentoClientConnected() && mediaNodeStatusManager.isRunning(kms.getId()))
.findFirst();
return optional.isPresent();
}
public synchronized List<KmsLoad> getKmssSortedByLoad() { public synchronized List<KmsLoad> getKmssSortedByLoad() {
List<KmsLoad> kmsLoads = getKmsLoads(); List<KmsLoad> kmsLoads = getKmsLoads();
Collections.sort(kmsLoads); Collections.sort(kmsLoads);