1 package reservationSurfPlugin;
3 import org.simgrid.surf.*;
4 import org.simgrid.msg.Msg;
5 import java.util.HashMap;
7 public class ReservationPlugin extends Plugin {
9 public ReservationPlugin() {
10 activateNetworkCommunicateCallback();
13 //HashMap<String,Reservation> reservations;
18 public void limitBandwidthActions(String src, String dst, double bandwidth){
19 this.bandwidth = bandwidth;
24 public void updateBandwidthRoute(String src, String dst, double bandwidth){
25 NetworkLink[] route = Surf.getRoute(src, dst);
26 for (int i =0; i<route.length; i++){
27 Msg.info("Trace: bandwidth of "+route[i].getName()+" before "+route[i].getBandwidth());
28 route[i].updateBandwidth(bandwidth);//getName();
29 Msg.info("Trace: bandwidth of "+route[i].getName()+" after "+route[i].getBandwidth());
33 public void networkCommunicateCallback(NetworkAction action, RoutingEdge src, RoutingEdge dst, double size, double rate){
34 if (src.getName().equals(this.src) && dst.getName().equals(this.dst)) {
35 action.setBound(this.bandwidth);
37 Msg.info("Trace: Communicate message of size "+size+" with rate "+rate+" and bound "+action.getBound()+" from "+src.getName()+" to "+dst.getName());