Message由节点产生,并在节点之间进行传递。
Message类:
数据域:
static final String TTL_SECONDS_S
DTNHost from:源节点
DTNHost to:目的节点
String id
int size:message的大小
List<DTNHost> path:message所经过的节点
static int nextUniqueId:下一的id
int uniqueId:本message的唯一标示符
double timeReceived:接收时间
double timeCreated:创建时间
int initTtl
int responseSize:如果对于该message要求一个回应,该对象表示回应message大小
Message requestMsg:回应Message
Map<String, Object> properties:普通message属性容器。所有存储的值都是不可变的。
String appID:创建message的app的ID
函数域:
构造函数Message(DTNHost from, DYNHost to, String id, int size)创建一个Message。将from节点加入path中。
void addProperty(String key, Object value)将value对象存入代表该message的key对应的值中。
void updateProperty(String key, Object value)将新的键值对应组加入属性列表。
MessageListener类:
这个接口类用于想要被通知关于节点间message信息的类。
void newMessage(Message m)当一个新的message创建的时候,调用该函数。
void messageTransferStarted(Message m, DTNHost from, DTNHost to)当一个message转发开始的时候调用该函数。
void messageDeleted(Message m, DTNHost where, boolean droppped)当一个message被删除时,调用该函数。where参数表示message在哪个节点被删除,dropped为真表示message是被丢掉的,为假表示message是被remove的。
void messageTransferAborted(Message m, DTNHost from, DTNHost to)当一个message的传递在结束前被终止时,调用该函数。参数to表示目前该message身在何处。
void messageTransferred(Message m, DTNHost from, DTNHost to, boolean firstDelivery)当一个message从一个节点成功传递到另一个节点时,调用该函数。参数firstDelivery表示目标节点是message的最终目的地并且第一次接收到该message。