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; import test.rewolucja.scheduling.PluginConfiguration; 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; } @Override public double estimateEnergyDissipation(EnergyEvent event, JobRegistryInterface jobRegistry, ComputingResource resourceManager) { // TODO Auto-generated method stub return 0; } @Override public double estimateTemperature(EnergyEvent event, JobRegistryInterface jobRegistry, ComputingResource resourceManager) { // TODO Auto-generated method stub return 0; } @Override public String getName() { // TODO Auto-generated method stub return null; } @Override public void init(Properties properties) { // TODO Auto-generated method stub } @Override public PluginConfiguration getConfiguration() { // TODO Auto-generated method stub return null; } }