MessageEventGenerator

2019-03-07  本文已影响0人  ShawnCaffeine

在设置文件中,我们一般将信息事件设置成如下形式:

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;

可以考虑重写获取节点方法从而指定节点,而不是从中随机选择。

上一篇 下一篇

猜你喜欢

热点阅读