World类
数据域:
int sizeX,sizeY:表示节点位置
List<EventQueue> eventQueues:事件队列列表
double updateInterval:更新间隔
SimClock simClock:仿真时钟
double nextQueueEventTime:下一次事件队列触发时间
EventQueue nextEventQueue:下一个事件队列
List<DTNHost> hosts:节点列表,排序根据其网络地址
boolean simulateConnection:
ArrayList<DTNHost> updateOrder:节点以这个列表中的顺序被更新
boolean isCancelled:仿真是否在UI界面被终止
List<UpdateListener> updateListeners:UpdateListener存储列表
ScheduleUpdatesQueue scheduleUpdates:计划更新需求列表,该类是EventQueue接口的一个实现,可以满足在特殊的仿真时间触发一个更新事件。
boolean simulateConOnce:
boolean isConSimulated:
函数域:
构造函数World(List<DTNHost> hosts, int sizeX, int sizeY, double updateInterval, List<UpdateListener> updateListeners, boolean simulateConnections, List<EventQueue> eventQueues):初始化World对象
initSettings():创建一个命名空间为“optimization”的Settings对象,设置节点组的更新次序
void update():double runUntil表示本次更新运行时间,然后设置下一次的EventQueue;进入循环,在下次EventQueue时间之前处理本次更新,从本次EventQueue中提取事件,通过事件处理函数processEvent(World world)进行处理,通过函数moveHosts()updateHosts(double),移动节点,处理事件后更新所有节点;通知所有的UpdateListener,本次更新内容。此过程循环到整个仿真时间到,或有外部终止。
附一张ONE程序流程图:
世界类:节点与事件管理
本文详细介绍了World类的功能,包括节点位置管理、事件队列列表、更新间隔、仿真时钟、事件处理流程及更新机制。重点阐述了类内部的数据域与函数域,以及如何在仿真环境中高效地管理和响应各种事件。
2666

被折叠的 条评论
为什么被折叠?



