我有一种方法可以在 SDN 中接收从交换机到泛光灯控制器的数据包,这意味着每个新的数据包都会触发此方法。我想用这种方法计算每秒的数据包。
这是我的尝试;它是正确的?
int CLoad,avergeLoad =0;
final String switchId = sw.getStringId();
CLoad = CLoad + 1;
avergeLoad = CLoad;
loadTable.put(switchId, avergeLoad);
ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(1);
exec.scheduleAtFixedRate(new Runnable()
{
public void run()
{
avergeLoad =(avergeLoad + CLoad)/2;
loadTable.put(switchId, avergeLoad);
CLoad=0;
}
}, 40, 1000, TimeUnit.SECONDS);