ONE源代码分析——core2之World类

本文详细介绍了World类的功能,包括节点位置管理、事件队列列表、更新间隔、仿真时钟、事件处理流程及更新机制。重点阐述了类内部的数据域与函数域,以及如何在仿真环境中高效地管理和响应各种事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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程序流程图:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ymaym

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值