Connection类:
这个类是一个抽象类。
数据域:
DTNHost toNode:连接到的节点
NetworkInterface toInterface:连接到的节点的接口
DTNHost fromNode:发起连接的节点
NetworkInterface fromInterface:发起连接的节点的接口
DTNHost msgFromNode:信息的源节点
boolean isUp:Connection 是否是连接的
Message msgOnFly:正在传输的信息
int bytesTransferred:这个Connection已经完成传递的字节数
函数域:
构造函数Connection(DTNHost fromNode, NetworkInterface fromInterface,DTNhost toNode, NetworkInterface toInterface)创建一个连接,并将其状态设为up。
boolean isTransferring()该Connection是否正在进行传输,即msgOnFly不为空。
boolean isInitiator(DTNHost node)如果参数节点是该连接的发起者,返回true。
abstract int startTransfer(DTNHost from, Message m)将m使用该connection传输。
void abortTransfer()将目前传输的message 丢弃。
abstract int getRemainingByteCount()返回将要被传输的字节数,如果没有传输或传输完成,返回0。
abstract boolean isMessageTransferred()如果当前传输完成,返回true。
boolean isReadyForTransfer()当前connection状态为up,并且msgOnFly为空,表示该connection准备好进行传输。
int getTotalBytesTransferred()返回这个connection已经完成的传输字节数。
DTNHost getOtherNode(DTNHost node)返回另一端的节点,如果参数是from节点,返回to节点;反之,返回from节点。
void finalizeTransfer()完成当前message传输。将message字节数存入bytesTransferred,然后使得对端(接收端)节点继续传输该message,通过下面的语句实现getOtherNode(msgFromNode).messageTransferred(this.msgOnFly.getId(), msgFromNode);最后清除msgOnFly。