在设置文件中,我们一般将信息事件设置成如下形式:
Events2.class = MessageEventGenerator
Events2.interval = 5
Events2.size = 1k,2k
Events2.prefix = M
Events2.hosts = 0,9
Events2.tohosts = 0,9
其中,interval代表时间间隔,size代表信息大小,prefix代表信息的前缀,host代表源节点,tohost代表目的节点,Events2.hosts = 0,9代表再0-8节点中随机选择一个节点最为源节点。
查看源码:
protected int[] hostRange = {0, 0};
/** Range of host addresses that can be receivers */
protected int[] toHostRange = null;
/** Next identifier for a message */
可以看到,host和tohost都是把节点地址放在放在一个数组中,获取源节点源码如下
protected int drawHostAddress(int hostRange[]) {
if (hostRange[1] == hostRange[0]) {
return hostRange[0];
}
return hostRange[0] + rng.nextInt(hostRange[1] - hostRange[0]);
}
随机选择一个sender和receiver,其中rng为;
protected Random rng;
可以考虑重写获取节点方法从而指定节点,而不是从中随机选择。
网友评论