Changeset 780 for DCWoRMS/trunk/src/test/EventManager.java
- Timestamp:
- 01/15/13 10:12:20 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/trunk/src/test/EventManager.java
r776 r780 3 3 import gridsim.GridSimCore; 4 4 5 import java.util.ArrayList; 6 import java.util.LinkedList; 7 import java.util.List; 5 8 import java.util.Properties; 6 9 10 import schedframe.ResourceController; 11 import schedframe.events.ResourceEventCommand; 12 import schedframe.events.scheduling.EventReason; 7 13 import schedframe.exceptions.ModuleException; 14 import schedframe.resources.computing.ComputingResource; 15 import schedframe.resources.computing.profiles.energy.EnergyEvent; 16 import schedframe.resources.computing.profiles.energy.EnergyEventType; 17 import schedframe.scheduling.Scheduler; 8 18 import schedframe.scheduling.plugin.grid.Module; 9 19 import schedframe.scheduling.plugin.grid.ModuleType; … … 11 21 public class EventManager extends GridSimCore implements Module{ 12 22 23 protected ResourceController resourceController; 24 13 25 public EventManager(String name) throws Exception { 14 26 super(name, 1); … … 30 42 } 31 43 44 public void sendToAllSchedulers(double delay, int tag, Object data){ 45 List<Scheduler> allSchedulers = new ArrayList<Scheduler>(); 46 if (resourceController.getScheduler().getChildren() != null) { 47 LinkedList<Scheduler> toExamine = new LinkedList<Scheduler>(); 48 toExamine.push(resourceController.getScheduler()); 49 allSchedulers.add(resourceController.getScheduler()); 50 51 while (!toExamine.isEmpty()) { 52 Scheduler scheduler = toExamine.pop(); 53 List<Scheduler> schedulers = scheduler.getChildren(); 54 int numberOfSched = schedulers.size(); 55 for (int i = 0; i < numberOfSched; i++) { 56 Scheduler schedulerChild = schedulers.get(i); 57 toExamine.addLast(schedulerChild); 58 allSchedulers.add(schedulerChild); 59 } 60 } 61 } 62 63 for(Scheduler scheduler: allSchedulers){ 64 super.send(scheduler.get_id(), delay, tag, data); 65 } 66 } 67 68 public void sendToAllResources(double delay, int tag, Object data){ 69 List<ComputingResource> allComputingResources = new ArrayList<ComputingResource>(); 70 71 if (resourceController.getComputingResources() != null) { 72 LinkedList<ComputingResource> toExamine = new LinkedList<ComputingResource>(); 73 for(ComputingResource compRes: resourceController.getComputingResources()){ 74 toExamine.push(compRes); 75 allComputingResources.add(compRes); 76 } 77 78 while (!toExamine.isEmpty()) { 79 ComputingResource resource = toExamine.pop(); 80 List<ComputingResource> resources = resource.getChildren(); 81 int numberOfRes = resources.size(); 82 for (int i = 0; i < numberOfRes; i++) { 83 ComputingResource resourceChild = resources.get(i); 84 toExamine.addLast(resourceChild); 85 allComputingResources.add(resourceChild); 86 } 87 } 88 } 89 90 ResourceEventCommand rec; 91 EnergyEvent event; 92 for(ComputingResource compRes: allComputingResources){ 93 rec = new ResourceEventCommand(compRes); 94 event = new EnergyEvent(EnergyEventType.AIRFLOW_STATE_CHANGED, "Resource controller"); 95 event.setReason(EventReason.SIM_INIT); 96 rec.execute(event); 97 //super.send(scheduler.get_id(), delay, tag, data); 98 } 99 100 } 101 102 public void sendTo(List<String> ids){ 103 104 } 105 32 106 public void dispose() throws ModuleException { 33 107 }
Note: See TracChangeset
for help on using the changeset viewer.