init
This commit is contained in:
56
src/org/cloudbus/cloudsim/sdn/Middlebox.java
Normal file
56
src/org/cloudbus/cloudsim/sdn/Middlebox.java
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Title: CloudSimSDN
|
||||
* Description: SDN extension for CloudSim
|
||||
* Licence: GPL - http://www.gnu.org/copyleft/gpl.html
|
||||
*
|
||||
* Copyright (c) 2015, The University of Melbourne, Australia
|
||||
*/
|
||||
|
||||
package org.cloudbus.cloudsim.sdn;
|
||||
|
||||
import org.cloudbus.cloudsim.Cloudlet;
|
||||
import org.cloudbus.cloudsim.UtilizationModelFull;
|
||||
import org.cloudbus.cloudsim.Vm;
|
||||
import org.cloudbus.cloudsim.core.CloudSimTags;
|
||||
|
||||
/**
|
||||
* Middlebox represent specific VM that acts as a middle box
|
||||
*
|
||||
* @author Jungmin Son
|
||||
* @author Rodrigo N. Calheiros
|
||||
* @since CloudSimSDN 1.0
|
||||
*/
|
||||
public abstract class Middlebox {
|
||||
|
||||
Vm vm;
|
||||
int mipsPerOp;
|
||||
SDNHost host;
|
||||
static int id=0;
|
||||
|
||||
public Middlebox(Vm vm, int misPerOperation){
|
||||
this.vm=vm;
|
||||
this.mipsPerOp=misPerOperation;
|
||||
}
|
||||
|
||||
public abstract void editRequest(Request req);
|
||||
|
||||
public int getId(){
|
||||
return vm.getId();
|
||||
}
|
||||
|
||||
public Vm getVm(){
|
||||
return vm;
|
||||
}
|
||||
|
||||
public void setHost(SDNHost host){
|
||||
this.host=host;
|
||||
}
|
||||
|
||||
public void submitRequest(Request req){
|
||||
Cloudlet cl = new Cloudlet(id++,mipsPerOp,1,0,0,new UtilizationModelFull(),new UtilizationModelFull(),new UtilizationModelFull());
|
||||
cl.setVmId(vm.getId());
|
||||
|
||||
host.schedule(host.getHost().getDatacenter().getId(), 0.0, CloudSimTags.CLOUDLET_SUBMIT, cl);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user