package example.energy; import java.util.Properties; import schedframe.resources.PowerState; import test.rewolucja.energy.EnergyEvent; import test.rewolucja.resources.ResourceStatus; import test.rewolucja.resources.physical.base.ComputingResource; import test.rewolucja.resources.physical.implementation.CPU; import test.rewolucja.scheduling.JobRegistryInterface; public class CPUEnergyEstimationPlugin extends BaseEnergyEstimationPlugin { @Override public double estimatePowerConsumption(EnergyEvent event, JobRegistryInterface jobRegistry, ComputingResource resource) { CPU cpu = (CPU)resource; if(resource.getPowerInterface().getPowerState() == PowerState.OFF) return 0; if(resource.getStatus() == ResourceStatus.BUSY) return cpu.getPowerInterface().getPState().getPower(); else return 1; } public String getName() { return getClass().getName(); } public void init(Properties properties) { // TODO Auto-generated method stub } }