peerSim配置文件解析
来源:互联网 发布:天原集团历史交易数据 编辑:程序博客网 时间:2024/04/29 22:55
配置文件的功能是定义一些协议类、控制类、初始化类以及一些常数,这个配置文件会被ParsedProperties解析出来,在运行过程中将定义的各种类进行实例化。 配置文件是一个明文文本文件,扩展名为*.txt,基本由一些字符型键值对来表示java中的java.util.Properties。 调用配置文件可用以下方式: (1)命令行:java peersim.Simulator config_file.txt (2)在“run configurations”的“program arguments”中填入配置文件的名字 (3)main方法中使用语句:String args[]={“example/config_flooding.txt”} 配置实例解读: # PEERSIM EXAMPLE 1 //表示注释 02 03 random.seed 1234567890 //定义随机数种子 04 simulation.cycles 30 //定义周期数,如果有该参数表示使用Cycle- based模式,如果此处为simulation.endtime则表示使用Event-driven插入 05 06 control.shf Shuffle //Shuffle类用来打乱每个周期节点的顺序,这个类只对Cycle-based类型的仿真起作用 07 08 network.size 50000 //定义网络大小,50000个节点 09 10 protocol.lnk IdleProtocol //定义一个名为lnk的IdleProtocol协议组件,IdleProtocol包含在peersim包内,IdleProtocol是存储邻居节点链路的一个静态容器,在进行静态拓扑建模的时候尤其有用,这个协议的唯一功能是作为其它协议的邻居信息的源,它没有实现CDProtocol接口但实现了Linkable接口,Linkable接口提供了到邻居节点的链路。 11 12 protocol.avg example.aggregation.AverageFunction //定义一个名为avg的AverageFunction协议组件,用于计算平均值。AverageFunction是聚集协议的求平均数版本。它的参数(linkable)是很重要的,aggregation协议需要与邻居节点交流但是本身没有邻居节点列表。它能应用于任何覆盖网络;定义覆盖网的协议栈应当在这里指定,参数linkable的值是实现了Linkable接口的协议的类名(在这里是IdleProtocol)。 13 protocol.avg.linkable lnk //avg的参数linkable的值是lnk(实现Linkable接口的IdleProtocol类协议) 14 //声明3个初始化器 15 init.rnd WireKOut //定义一个名为rnd的WireKOut的初始化器,WireKOut进行的是对静态覆盖网的布线,节点以度数k随机地与其它节点相连 16 init.rnd.protocol lnk //rnd的protocol参数的值是lnk 17 init.rnd.k 20 //rnd的k参数的值为20 18 19 init.peak example.aggregation.PeakDistributionInitializer //定义一个名为peak的peak分布初始化组件,peak分布将用0初始化所有节点的值,除了取得value参数的那个节点。 20 init.peak.value 10000 //peak的value参数值为10000 21 init.peak.protocol avg //peak的protocol参数值为avg 22 23 init.lin LinearDistribution //定义一个名为lin的线性分布初始化器,线性分布则代表节点拥有一个线性增加的值。 24 init.lin.protocol avg // 25 init.lin.max 100 // 26 init.lin.min 1 // 27 28 # you can change this to select the peak initializer instead 29 include.init rnd lin //使用peak还是linear分布是由include.init属性来决定的(29行),它指定了选择哪个初始化器。这个属性也定义了组件运行的顺序,注意默认的顺序(即如果没有include属性),是根据字母排序的,对于protocol和control的include属性也是如此。 30 31 control.avgo example.aggregation.AverageObserver //定义一个名为avgo的control组件用来监测平均值计算 32 control.avgo.protocol avg 注意: 定义组件的格式: <protocol|init|control>.string_id [full_path_]classname 定义组件参数的格式: <protocol|init|control>.string_id.parameter_name 每个组件有一个名字,例如lnk,如果是协议组件,该名字由PeerSim引擎与一个数值型索引号(protocol ID)映射起来,这个索引号不会出现在配置文件中,但在模拟过程中访问协议时非常必要。【转自:http://blog.sina.com.cn/s/blog_70e9ecab0100o28l.html】
PeerSim的配置文件 ※
- peerSim配置文件解析
- Peersim如何解析文件
- (二)PeerSim的配置文件
- Peersim 学习日记 03 关于配置文件
- 关于Peersim的配置管理器的解析
- peersim简介
- PeerSIm简介
- PeerSim初学
- 剑指PeerSim
- 解析配置文件
- P2P模拟器之peersim
- 研究PeerSim中
- Peersim kademlia manual - note
- PeerSim的基本概念
- Peersim导入Eclipse中
- Chord implementation for Peersim
- 总结:PeerSim cycle-based
- make menuconfig配置文件解析
- 在Vi中查找目标字段【UNIX晓习笔记】
- return语句
- Instagram 代码背后的免费午餐(续)
- Delphi 的多线程已经非常易用了
- android 使用AsyncTask代替thread进行网络请求
- peerSim配置文件解析
- 在线练习unix网站地址
- Spring小结
- STM32(Cortex-M3)中的优先级概念
- 在RHEL 5.3(Tikanga)上配置Apache + FastCGI(mod_fastcgi) + PHP
- 虚函数和纯虚函数的作用与区别
- 判断Shift,Alt,Ctrl是否被按下
- 建立DBLINK
- 文章里的图片说明