DTNHost类代表的是仿真世界中的节点,也是ONE最重要的类之一。
数据域:
int address:节点地址
Coord location:节点的位置
Coord destination:节点目的地
MessageRouter router:节点路由协议
MovementModel movement:节点采用的移动模型
Path path:节点路径
double speed:移动速度
double nextTimeToMove:下一次移动的时间
String name:节点名称
List<MessageListener> msgListeners:MessageListener列表
List<MovementListener> movListener:MovementListener列表
List<NetworkInterface> net:节点网络接口列表
ModuleCommunicationBus comBus:通信模型总线
函数域:
构造函数:节点location由移动模型中函数getInitialLocation()定义,nextTimeToMove由移动模型中函数nextPathAvailable()定义。
void forceConnection(DTNHost anotherHost, String interfaceID, boolean up):强制连接某个节点的某个接口
void move(double timeIncrement):possibleMovement表示在timeIncrement时间段内,节点可能移动的距离,如果大于到节点的目的距离,则节点移动到目的地,通过setNextWaypoint()根据移动模型确定下一个目的地。如果没有新的目的地,则返回;若有新的目的地,继续计算当前location(前面一次的目的地)到更新后的目的地的距离,再与减去之前移动距离的possibleMovement比较,循环往复,直到possiblemovement小于当前的location到目的地的距离。