ONE源代码分析——core7之SimScenario

这个类是用来存储和获取Setting文件中的相关配置,为一次仿真提供整体策略。

SimScenario类:

数据域:

static SimScenario myinstance

String类型静态常量,用于从Setting文件中获取相关的配置信息:

SCENARIO_NS = “Scenario”:命名空间

NROF_GROUPS_S = “nrofHostGroups”:节点组的个数

NROF_INTTYPES_S = "nrofInterfaceTypes":接口类型个数

NAME_S = “name”:scenario名字

END_TIME_S = "endTime":结束时间

UP_INT_S = “updateInterval”:更新间隔

SIM_CON_S = “simulateConnections”:仿真连接


INTTYPE_NS = “Interface”:接口类型的命名空间

INTTYPE_S = “type”:接口类型

INTNAME_S = “name”:接口名字


APPTYPE_NS = “Application”:应用的命名空间

APPTYPE_S = “type”:应用的类型

APPCOUNT_S = “nrofApplication”:应用的个数


GROUP_NS = “Group”:节点组的命名空间

GROUP_ID_S = “groupID”:组的id

NROF_HOSTS_S = "nrofHosts":组中节点个数

MOVEMENT_MODEL_S = “movementModel”:移动模型类命名空间

ROUTER_S = “router”:路由协议命名空间

NROF_INTERF_S = “nrofInterfaces”:组中接口的个数

INTERFACENAME_S = “interface”:组中接口的名字

GAPPNAME_S = “application”:组中应用名字


MM_PACKAGE = “movement.”:查询移动模型的包

ROUTING_PACKAGE = “routing.”:查询路由协议的包

INTTYPE_PACKAGE = “interfaces.”:查询接口的包

APP_PACKAGE = “application.”:查询应用的包


World world:仿真使用的World模型

List<DTNHost> hosts:本次仿真所有的节点

String name:本次仿真的名字

int nrofGroups:组的数量

int worldSizeX:World模型的宽度

int worldSizeY:world模型的高度

double maxHostRange:最大节点通信范围

double endTime:仿真结束时间

double updateInterval:更新时间间隔

EventQueueHandler eqHandler:外部事件队列

boolean simulateConnections:节点间的连接是否被仿真

SimMap simMap:节点移动使用的地图文件(如果有的话)


List<ConnectionListener> connectionListeners:全局连接事件监测

List<MessageListener> messageListeners:全局消息事件监测

List<MovementListener> movementListeners:全局移动事件监测

List<UpdateListener> updateListeners:全局更新事件监测

List<ApplicationListener> applicationListeners:全局应用事件监测


函数域:

构造函数SimScenario()从Setting中获取数据,创建SimScenario对象。利用获取的数据,创建一个world模型。


void createHosts()创建仿真策略中的节点。首先,创建一个空节点表,然后进入一个for循环,循环次数等于节点组的个数。每次循环取出一组节点的组名称、节点数量、接口数量、移动模型、路由协议,并检查是否是有效值,接着,根据接口和app数量,安装接口和app;如果移动模型是MapBasedMovement对象,则提取出地图对象;最后,根组中节点数量,进入for循环创建节点。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ymaym

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

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

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

打赏作者

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

抵扣说明:

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

余额充值