对GPSR代码的理解——gpsr_neighbor.h

1

该文件定义gpsr实现所使用的每个节点的邻居列表

  • 邻居列表中的每一项代表一个邻居节点,每个邻居节点有唯一的id,更新其地理位置信息((x,y)坐标),并记录其最近一次收到“hello”消息的时间。
  • 邻居列表中记录有该列表所属节点id、地理位置信息以及该表中所含有节点的个数。
    private中提供了列表更新的方法:在已知节点id的条件下可以对其对应表项进行查看和删除操作、及时清除超时表项、彻底释放当前邻居列表,此外还有三种方法在下面注释下做了标记,暂时不能理解其具体实现意义,等其他文件读到时再进行理解。
    public中则提供了更新当前节点位置信息、添加表项、计算两节点距离以及根据表项节点与目的节点的距离来选择下一跳的方法。
struct gpsr_neighbor {
    //邻居
  nsaddr_t id_; //唯一标识
  double x_;    //地理位置信息((x,y)坐标)
  double y_; 
  
  double ts_;     //该节点hello消息的最后一个time stamp(时间戳)
  struct gpsr_neighbor *next_;  
  struct gpsr_neighbor *prev_;
};

class GPSRNeighbors {
    //网络中每个节点的邻居列表
private:
  //the neighbors list
  struct gpsr_neighbor *head_;
  struct gpsr_neighbor *tail
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值