这个Report子类用于报告转发message的时延(每个转发的message为一行),根据时延将累计的转发概率排序,warm up时期产生的message将被忽略。
MessageDelayReport类:
继承自Report类,并实现MessageListener接口类。
数据域:
static final String HEADER = "# messageDelay cumulativeProbability"
List<Double> delays:所有messages的时延
int nrofCreated:创建的messages个数
函数域:
构造函数MessageDelayReport()直接调用init()函数。
void init()初始化MessageDelayReport类。先调用Report.init()函数,将HEADER写入文件,作为表头,新建delays表。
void newMessage(Message m)如果是在warmup时期,将message的ID加入到warmupId表中,否则nrofCreated++。
void messageTransferred(Message m, DTNHost from, DTNHost to, boolean firstDelivery)如果message不是在warmup时期产生的,而且第一次传递就到达了目的节点dealys表中添加目前仿真时间-message产生时间。(实现MessageListener抽象方法)
void done()输出时延的累计概率分布。