原文出处:http://www.trojx.me/2019/12/30/cloudsim-plus-faq/
作者:trojx
序号 | 相关资源 | 备注 |
---|---|---|
1 | 谷歌代码档案关于CloudSim使用的常见问题 | 需梯子 |
2 | 谷歌CloudSim论坛 | 需梯子 |
3 | CloudSim中比较TPDS和TSC等算法并实现高能效算法的论文2020 | —— |
4 | 上述论文GitHub开源代码 | —— |
import org.cloudbus.cloudsim.core.Simulation;
import org.cloudbus.cloudsim.core.events.SimEvent;
import org.cloudbus.cloudsim.datacenters.DatacenterSimple;
import org.cloudbus.cloudsim.hosts.Host;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
/**
* Created by Trojx on 2019/12/27.
* E-mail: raojianxun@126.com
*/
@Slf4j
class NewDatacenter extends DatacenterSimple {
public static final int PERIODIC_EVENT = 67567;//事件的标签(tag)
public NewDatacenter(Simulation simulation, List<? extends Host> hostList) {
super(simulation, hostList);
}
@Override
public void processEvent(SimEvent ev) {
if (ev == null) {
log.debug("Warning: " + getSimulation().clock() + ": " + this.getName() + ": Null˓→event ignored.");
} else {
int tag = ev.getTag();
switch (tag) {
case PERIODIC_EVENT:
processPeriodicEvent(ev);
break;
default:
log.debug("Warning: " + getSimulation().clock() + ":" + this.getName() +": Unknown event ignored. Tag:" + tag);
}
}
}
private void processPeriodicEvent(SimEvent ev) {
//todo 事件的处理逻辑
float delay=0;//发射下一个事件的延迟
boolean generatePeriodicEvent=false; // 是否会生成新的内部消息并发送
if (generatePeriodicEvent) {
send(this, delay, PERIODIC_EVENT, null);
}
}
}