亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? aodv.h

?? 此代碼是基于moav協(xié)議的qos改進(jìn)代碼
?? H
?? 第 1 頁 / 共 2 頁
字號(hào):
        friend class AODV;
public:
        PacketID(nsaddr_t i, u_int32_t b) { src = i; id = b;  }

protected:
        LIST_ENTRY(PacketID) plink;
        nsaddr_t        src;
        u_int32_t       id;
        double          expire;         // now + BCAST_ID_SAVE ms
};

LIST_HEAD(aodv_pcache, PacketID);
/***************************/


/*
  The Routing Agent
*/
class AODV: public Agent {

  /*
   * make some friends first 
   */

        friend class aodv_rt_entry;
       
        /*** added for multicast ***/
        friend class aodv_mt_entry;
        friend class aodv_glt_entry;
        /****************************/

        friend class BroadcastTimer;
        friend class HelloTimer;

        /*** added for multicast ***/
        friend class GroupHelloTimer;
        /**************************/

        friend class NeighborTimer;
        friend class RouteCacheTimer;
        friend class LocalRepairTimer;

        /*** added for multicast ***/
        friend class RREPWaitTimer;
        friend class PruneTimer;
        friend class PacketTimer;
        /**************************/

 public:
        AODV(nsaddr_t id);

        void		recv(Packet *p, Handler *);

 protected:
        int             command(int, const char *const *);
        int             initialized() { return 1 && target_; }

        /*
         * Route Table Management
         */
        void            rt_resolve(Packet *p);
        void            rt_update(aodv_rt_entry *rt, u_int32_t seqnum,
		     	  	u_int16_t metric, nsaddr_t nexthop,
		      		double expire_time);
        void            rt_down(aodv_rt_entry *rt);
        void            local_rt_repair(aodv_rt_entry *rt, Packet *p);
 public:
        void            rt_ll_failed(Packet *p);
        void            handle_link_failure(nsaddr_t id);

 protected:
        void            rt_purge(void);

        void            enque(aodv_rt_entry *rt, Packet *p);
        Packet*         deque(aodv_rt_entry *rt);

        /*
         * Neighbor Management
         */
        void            nb_insert(nsaddr_t id);
        AODV_Neighbor*       nb_lookup(nsaddr_t id);
        void            nb_delete(nsaddr_t id);
        void            nb_purge(void);

        /*
         * Broadcast ID Management
         */

        void            id_insert(nsaddr_t id, u_int32_t bid);
        bool	        id_lookup(nsaddr_t id, u_int32_t bid);
        void            id_purge(void);


        /*** added for multicast ***/
        /* Packet ID Management */
        void            pid_insert(nsaddr_t addr, u_int32_t pid);
        bool	        pid_lookup(nsaddr_t addr, u_int32_t pid);
        void            pid_purge(void);
        /****************************/

        /*
         * Packet TX Routines
         */
        void            forward(aodv_rt_entry *rt, Packet *p, double delay);
        void            sendHello(void);
        void            sendRequest(nsaddr_t dst);

        /*** modified for multicast ***/
       // void            sendReply(nsaddr_t ipdst, u_int32_t hop_count,
       //                           nsaddr_t rpdst, u_int32_t rpseq,
       //                           u_int32_t lifetime, double timestamp);
        void            sendReply(nsaddr_t ipdst, u_int8_t flags, u_int32_t hop_count,
                                  nsaddr_t rpdst, u_int32_t rpseq,
                                  u_int32_t lifetime, double timestamp,
                                  u_int8_t hops_grp_leader=0, nsaddr_t grp_leader_addr=0);
        /*******************************/

        void            sendError(Packet *p, bool jitter = true);
                                          
        /*
         * Packet RX Routines
         */
        void            recvAODV(Packet *p);
        void            recvHello(Packet *p);
        void            recvRequest(Packet *p);
        void            recvReply(Packet *p);
        void            recvError(Packet *p);

        /*** added for multicast ***/
        void            mt_forward(Packet *p, double delay);
        void            mt_prune(nsaddr_t dst);
        void            mt_resolve(Packet *p);
        void            mt_nb_fail(nsaddr_t next_hop);
        void            mt_repair(aodv_mt_entry *mt, aodv_nh_entry *nh);
        void            mt_link_purge();

        void            sendMRQ(aodv_mt_entry *mt, u_int8_t flags);
        void            recvMRQ_NOFLAG(Packet *p);
        void            recvMRQ_J(Packet *p);
        void            recvMRQ_R(Packet *p);
        void            recvMRQ_JR(Packet *p);
        void            recvMRP_J(Packet *p);
        void            recvMRP_R(Packet *p);
        void            recvMRP_JR(Packet *p);
        void            sendMACT(nsaddr_t dst, u_int8_t flags, u_int8_t hop_count, nsaddr_t next_hop);
        void            recvMACT(Packet *p);
        void            recvMACT_J(Packet *p);
        void            recvMACT_P(Packet *p);
        void            recvMACT_U(Packet *p);
        void            recvMACT_GL(Packet *p);
        void            sendMWARN(nsaddr_t dst, u_int8_t flags, double breaktime, nsaddr_t next_hop);
        void            recvMWARN(Packet *p);
        void            sendMGRPH();
        void            recvMGRPH(Packet *p);
        void            sendMGRPH_U(aodv_mt_entry *mt, nsaddr_t next_hop = INFINITY8);
        void            recvMGRPH_U(Packet *p);
        void            becomeLeader(aodv_mt_entry *mt);
        void            selectLeader(aodv_mt_entry *mt, nsaddr_t next_hop);
        void            afterWaitRREP(nsaddr_t dst);
        void            clearMReqState(aodv_mt_entry *mt);
        void            clearMRpyState(aodv_mt_entry *mt);
        void            clearMGrpMerge(aodv_mt_entry *mt);
        void            recordMRpy(aodv_mt_entry *mt, Packet *p);
        void            downMT(aodv_mt_entry *mt);
        void            controlNextHello();
        void            setPruneTimer(aodv_mt_entry *mt);
public:
        void            mt_ll_failed(Packet *p);
protected:

        /***************************************/


        /*** added for prediction in unicast ***/
        void  recvLPW(nsaddr_t prev, double breakTime);
        void  sendLPW(nsaddr_t prev, double breakTime);
        void  sendRPE(Packet *p);
        void  recvRPE(Packet *p);
        void  recvRequest_P(Packet *p);
        /*****************************************/


	/*
	 * History management
	 */
	
	double 		PerHopTime(aodv_rt_entry *rt);


        nsaddr_t        index;                  // IP Address of this node
        u_int32_t       seqno;                  // Sequence Number
        int             bid;                    // Broadcast ID

        aodv_rtable         rthead;                 // routing table
        aodv_ncache         nbhead;                 // Neighbor Cache
        aodv_bcache          bihead;                 // Broadcast ID Cache

        /*** added for multicast ***/
        aodv_pcache        pihead;
	double             hello_timeout;
        /*******************************/

        /*
         * Timers
         */
        BroadcastTimer  btimer;
        HelloTimer      htimer;

        /*** added for multicast ***/
       GroupHelloTimer grphtimer;
        /***************************/

        NeighborTimer   ntimer;
        RouteCacheTimer rtimer;
        LocalRepairTimer lrtimer;

        /*** added for multicast ***/
        RREPWaitTimer rtetimer;
		PruneTimer prune_timer;
        PacketTimer         p_timer;
        /****************************/
        
        

        /*
         * Routing Table
         */
        aodv_rtable			rtable;
     
        /*** added for multicast ***/
        aodv_mtable                     mtable;  
        aodv_gltable                    gltable;
        /****************************/

        /*
         *  A "drop-front" queue used by the routing layer to buffer
         *  packets to which it does not have a route.
         */
        aodv_rqueue         rqueue;
		//add by feelree
         NsObject *port_dmux_;
         //add end
        /*
         * A mechanism for logging the contents of the routing
         * table.
         */
        Trace           *logtarget;

        /*
         * A pointer to the network interface queue that sits
         * between the "classifier" and the "link layer".
         */
        PriQueue        *ifqueue;

        /*
         * Logging stuff
         */
        void            log_link_del(nsaddr_t dst);
        void            log_link_broke(Packet *p);
        void            log_link_kept(nsaddr_t dst);
};

#endif /* __aodv_h__ */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
caoporm超碰国产精品| 亚洲精品久久7777| 国内精品自线一区二区三区视频| 美腿丝袜亚洲三区| 日韩视频中午一区| 免费欧美高清视频| 久久综合色播五月| 成人午夜激情片| 中文字幕一区二区在线观看| 99re热这里只有精品免费视频| 亚洲精品国产一区二区精华液 | 亚洲欧美另类在线| 色香色香欲天天天影视综合网| 亚洲精品国产第一综合99久久 | 色呦呦国产精品| 亚洲影院理伦片| 日韩欧美成人激情| 国产不卡一区视频| 亚洲在线视频一区| 亚洲精品在线观| 91色porny蝌蚪| 麻豆国产精品一区二区三区 | 色婷婷综合久久久| 午夜欧美2019年伦理| 精品国产电影一区二区| 成人黄色片在线观看| 午夜精品免费在线观看| 久久久美女毛片| 色综合久久久网| 国产一区二区伦理片| 亚洲品质自拍视频网站| 日韩欧美精品三级| 暴力调教一区二区三区| 日韩高清在线一区| 国产欧美日韩视频在线观看| 欧美日韩在线免费视频| 国产精品一卡二卡| 亚洲高清中文字幕| 国产精品美日韩| 欧美电影精品一区二区| 欧美性淫爽ww久久久久无| 国产一区二区三区香蕉| 午夜精品福利在线| 亚洲欧美中日韩| 久久天天做天天爱综合色| 欧美日韩一级视频| 99精品久久久久久| 国产一区二区精品久久91| 亚洲gay无套男同| 亚洲欧洲日韩av| 国产午夜精品福利| 精品少妇一区二区三区日产乱码| 色噜噜久久综合| 丁香激情综合五月| 韩国女主播成人在线| 三级不卡在线观看| 一区二区三国产精华液| 国产精品久久影院| 久久久精品tv| 欧美精品一区二区三区蜜臀| 欧美视频一区在线| 色综合久久九月婷婷色综合| 国产suv一区二区三区88区| 毛片av一区二区三区| 五月天久久比比资源色| 夜夜嗨av一区二区三区四季av| 国产精品久久久爽爽爽麻豆色哟哟| 日韩欧美一区电影| 91精品中文字幕一区二区三区| 欧美日韩国产系列| 欧美日韩综合一区| 欧美在线视频全部完| 色综合一个色综合亚洲| 91美女在线观看| 91老师片黄在线观看| 91视频com| 在线观看中文字幕不卡| 色94色欧美sute亚洲线路一久| 99re热这里只有精品免费视频| kk眼镜猥琐国模调教系列一区二区| 国产成人av网站| 成人国产精品免费观看动漫| 国产盗摄精品一区二区三区在线| 狠狠色丁香久久婷婷综合_中| 久久丁香综合五月国产三级网站 | 精品久久国产老人久久综合| 欧美一级一区二区| 日韩欧美亚洲国产精品字幕久久久| 欧美精品三级在线观看| 69堂精品视频| 日韩精品一区国产麻豆| 精品国产污网站| 久久精品视频免费| 一区二区中文视频| 亚洲一区二区欧美日韩| 免费观看一级特黄欧美大片| 久久av老司机精品网站导航| 国产一区二区不卡老阿姨| 国产成人免费av在线| va亚洲va日韩不卡在线观看| 欧日韩精品视频| 欧美日韩高清一区| 精品美女一区二区| 国产欧美va欧美不卡在线| 亚洲三级电影网站| 视频精品一区二区| 国内外精品视频| 91性感美女视频| 欧美一区二区黄| 久久久噜噜噜久噜久久综合| 中文字幕一区二区三区四区不卡| 夜夜精品浪潮av一区二区三区| 日精品一区二区三区| 国产精品996| 欧美性色综合网| 精品少妇一区二区三区| 日韩理论片中文av| 青青青爽久久午夜综合久久午夜| 国产高清亚洲一区| 欧美视频在线不卡| 国产肉丝袜一区二区| 亚洲妇女屁股眼交7| 国产福利一区二区三区视频在线| 99re8在线精品视频免费播放| 欧美日韩美少妇| 中文字幕av一区二区三区| 亚洲成人av电影在线| 成人va在线观看| 欧美zozozo| 一区av在线播放| 国产一区二区免费看| 欧美人妖巨大在线| 国产精品久久久久aaaa樱花| 免费成人美女在线观看.| 97精品国产97久久久久久久久久久久 | 成人深夜在线观看| 欧美精品在线视频| 亚洲欧美一区二区三区国产精品| 老司机一区二区| 欧美性猛交xxxxxxxx| 国产精品国产馆在线真实露脸| 日本三级亚洲精品| 欧美在线综合视频| 国产精品成人免费精品自在线观看| 天天色天天爱天天射综合| 色综合久久99| 国产精品成人在线观看| 国产福利精品一区二区| 日韩欧美黄色影院| 日韩国产精品久久| 欧美日韩在线直播| 亚洲一区二区三区视频在线播放| 国产成人99久久亚洲综合精品| 欧美成人欧美edvon| 丝袜国产日韩另类美女| 在线观看中文字幕不卡| 亚洲日本一区二区三区| 成人a级免费电影| 久久久久99精品一区| 国产精一区二区三区| 日韩午夜中文字幕| 日本亚洲电影天堂| 777亚洲妇女| 五月婷婷欧美视频| 在线电影院国产精品| 亚洲风情在线资源站| 欧美日韩中文字幕一区二区| 亚洲成人福利片| 欧美色老头old∨ideo| 亚洲午夜精品一区二区三区他趣| 色婷婷综合久久久| 亚洲国产一二三| 日韩一区二区免费在线观看| 日韩国产欧美三级| 日韩亚洲欧美在线| 国产乱码精品一区二区三| 久久久国产精华| 成人av一区二区三区| 亚洲色图欧美偷拍| 精品视频在线免费看| 日韩vs国产vs欧美| 精品国产乱码久久久久久浪潮 | 欧美韩日一区二区三区| 国产成+人+日韩+欧美+亚洲| 中文无字幕一区二区三区| 不卡av在线免费观看| 亚洲激情自拍偷拍| 欧美剧情片在线观看| 麻豆成人综合网| 国产拍欧美日韩视频二区| 不卡的电影网站| 亚洲gay无套男同| 欧美va在线播放| 99精品视频一区二区三区| 亚洲宅男天堂在线观看无病毒| 制服丝袜在线91| 国产成人免费视频网站| 亚洲色图制服诱惑 | 欧美va日韩va| 99视频在线观看一区三区|