Differential D2080 Diff 5971 openvidu-server/src/main/java/io/openvidu/server/kurento/kms/KmsManager.java
Changeset View
Changeset View
Standalone View
Standalone View
openvidu-server/src/main/java/io/openvidu/server/kurento/kms/KmsManager.java
Show First 20 Lines • Show All 110 Lines • ▼ Show 20 Lines | public abstract class KmsManager { | ||||
} | } | ||||
public synchronized Kms removeKms(String kmsId) { | public synchronized Kms removeKms(String kmsId) { | ||||
return this.kmss.remove(kmsId); | return this.kmss.remove(kmsId); | ||||
} | } | ||||
public synchronized Kms getLessLoadedConnectedAndRunningKms() throws NoSuchElementException { | public synchronized Kms getLessLoadedConnectedAndRunningKms() throws NoSuchElementException { | ||||
List<KmsLoad> kmsLoads = getKmsLoads().stream().filter(kmsLoad -> kmsLoad.kms.isKurentoClientConnected() | List<KmsLoad> kmsLoads = getKmsLoads().stream().filter(kmsLoad -> kmsLoad.kms.isKurentoClientConnected() | ||||
&& mediaNodeStatusManager.isRunning(kmsLoad.kms.getId())).collect(Collectors.toList()); | && mediaNodeStatusManager.isRunning(kmsLoad.kms.getId()) && kmsLoad.kms.allowMoreElements()).collect(Collectors.toList()); | ||||
if (kmsLoads.isEmpty()) { | if (kmsLoads.isEmpty()) { | ||||
throw new NoSuchElementException(); | throw new NoSuchElementException(); | ||||
} else { | } else { | ||||
return Collections.min(kmsLoads).kms; | return Collections.min(kmsLoads).kms; | ||||
} | } | ||||
} | } | ||||
public synchronized boolean atLeastOneConnectedAndRunningKms() { | public synchronized boolean atLeastOneConnectedAndRunningKms() { | ||||
▲ Show 20 Lines • Show All 252 Lines • Show Last 20 Lines |