package org.cloudbus.cloudsim.container.vmSelectionPolicies; import org.cloudbus.cloudsim.container.core.*; import java.util.ArrayList; import java.util.List; /** * Created by sareh on 28/07/15. */ public abstract class PowerContainerVmSelectionPolicy { /** * Gets the vms to migrate. * * @param host the host * @return the vms to migrate */ public abstract ContainerVm getVmToMigrate(PowerContainerHost host); /** * Gets the migratable vms. * * @param host the host * @return the migratable vms */ protected List<PowerContainerVm> getMigratableVms(PowerContainerHost host) { List<PowerContainerVm> migratableVms = new ArrayList<>(); for (PowerContainerVm vm : host.<PowerContainerVm> getVmList()) { if (!vm.isInMigration()) { migratableVms.add(vm); } } return migratableVms; } }