ONE源代码分析——core1

接口:

ApplicationListener:用于host之间通知信息的接口

ConnectionListener:用于host之间连接信息的接口

MessageListener:用于host之间通知信息的接口

ModuleCommunicationListener:由在ModuleCommunicationBuses中有变量改变的通知的类继承

MovementListener:用于节点了解移动模型的接口

UpdateListener:用于通知每个World更新发起

类:

Application:应用程序的基类

CBRConnection:两个DTN节点间恒定比特率的连接

Connection:两个DTN节点间的连接

Coord:2D坐标系,可以进行简单的算术和转换

Debug:随时间戳进行debug信息的打印输出

DTN2Manager:Manages the external convergence layer connections to dtnd.

DTN2Manager.EIDHost:EID用于DTNhost寻址

DTNHost:一个具有DTN能力的节点

DTNSim:仿真平台main函数

Message:由一个节点创造并在节点间传递

ModuleCommunicationBus:内部模块通信总线

NetworkInterface:一个DTN节点的网络接口

ParetoRNG:满足Pareto分布的随机数生成器

Settings:仿真平台设置存储接口

SimClock:仿真平台时钟

SimScenario:用于设置和存储一次仿真运行的设置

Tuple<K, V>:普通的 key—value元组

VBRConnection:DTN节点间的连接

World:包括所有的节点,并负责更新它们的位置和连接


core.DTNSim:

BATCH_MODE_FLAG:-b表示batch模式,终端模式使用

RANGE_DELIMETER:表示批处理模式的分隔符

RESET_METHOD_NAME:所有能够重设类所必需的静态方法的名字


resetList:存储批处理模式下可以重设的类的名字


static void registerForReset(className):注册一个重设类,将一个类(名字)加入ResetList。

下面主要来看一下main函数:

initSettings(String[] confFiles,int firstConfIndex):用于初始化用户设定的setting文件,主要由Settings类中的init,add函数处理。

后面进行setRunIndex,接着创建一个新的DTNSimGUI对象,并start()。

涉及最多的类就是Settings类,下面我们来看一下Setting类。


core.Settings:

Settings类应该在使用前进行初始化,若没有初始化Settings,将使用DEF_SETTINGS_FILE(默认的配置文件"default_settings.txt")。

通常情况下,初始化之后,所给配置文件将覆盖默认配置文件中的所有配置数据,或定义一个新的配置。

所有的配置都满足“键-值”对格式。值可以是单独的或者由逗号分隔的一组值。CSV(逗号分隔值文件)由getCsvInts(String, int)函数读取。配置值不能以括号开头或结尾,表示文件路径的必须是”/“。

static java.util.Properties props:配置文件读入的对象。

SETTING_OUTPUT_S:设置定义写所有读入文件的文件名

两种构造函数带参数表示创建一个带有命名空间(是setting的前缀)的setting。


static void addSettings(String propFile):读取另一个配置文件,并将键值对加入到目前配置中,将已经存在的相同键上的值覆盖。

void assertValidRange(int[] range, String sname):检查参数整数数组包含有效地范围。

boolean contains(String name):如果配置中有name,并非空,返回true。

Object createIntializedObject(String className):使用目前Settings对象中的配置信息,创建(动态加载)一个Object对象

Object createObject(String className):使用没有参数的构造函数创建一个Obejct对象。

static void init(String propFile):将默认配置文件(”default_settings.txt“)读入prop。如果指定了配置文件,将指定配置文件读入prop,覆盖默认配置文件。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ymaym

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

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

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

打赏作者

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

抵扣说明:

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

余额充值