AOMDV协议中的路由表rt

本文深入探讨AOMDV协议中的路由表rt,解析aomdv_rt_entry类及其成员函数,包括对邻居表nb、路径path和先导pc的操作。分析路由表项的组成,如rt_dst、rt_seqno、rt_path_list等,并讨论如何根据数据包类型(RREQ/RREP/RERR)形成不同格式的表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

读了大概一半的aomdv.cc代码,rt出现了很多很多次,导致我如果不研究一下,aomdv的代码完全读不下去……

嗯,看一下rt:aomdv_rt_entry *rt 是一个指向aomdv_rt_entry类的指针。

而aomdv_rt_entry类是在aomdv_rtable.h中定义的,下面具体看一下。


定义路由表节点的类:aomdv_rt_entry:

其中定义的成员函数主要分为:对邻居表nb的操作,对路径path的操作以及对先导pc的操作。而成员函数,在我的理解中,应该就是路由表项包含的具体内容了。

class aomdv_rt_entry {
        friend class aomdv_rtable;
        friend class AOMDV;
	friend class LocalRepairTimer;
 public:
        aomdv_rt_entry();
        ~aomdv_rt_entry();

        void            nb_insert(nsaddr_t id);
        AOMDV_Neighbor*  nb_lookup(nsaddr_t id);

 // AOMDV code
        AOMDV_Path*   path_insert(nsaddr_t nexthop, u_int16_t hopcount, double expire_time, nsaddr_t lasthop=0);

        AOMDV_Path*   path_lookup(nsaddr_t id);  // lookup path by nexthop

        AOMDV_Path*   disjoint_path_lookup(nsaddr_t nexthop, nsaddr_t lasthop);
        bool         new_disjoint_path(nsaddr_t nexthop, nsaddr_t lasthop);

        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值