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

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

?? aodv.h

?? ns-2 simulation code manet
?? H
字號:
/*Copyright (c) 1997, 1998 Carnegie Mellon University.  All RightsReserved. Redistribution and use in source and binary forms, with or withoutmodification, are permitted provided that the following conditions are met:1. Redistributions of source code must retain the above copyright notice,this list of conditions and the following disclaimer.2. Redistributions in binary form must reproduce the above copyright notice,this list of conditions and the following disclaimer in the documentationand/or other materials provided with the distribution.3. The name of the author may not be used to endorse or promote productsderived from this software without specific prior written permission.THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS ORIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIESOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OROTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IFADVISED OF THE POSSIBILITY OF SUCH DAMAGE.The AODV code developed by the CMU/MONARCH group was optimized and tuned by Samir Das and Mahesh Marina, University of Cincinnati. The work was partially done in Sun Microsystems.*/#ifndef __aodv_h__#define __aodv_h__//#include <agent.h>//#include <packet.h>//#include <sys/types.h>//#include <cmu/list.h>//#include <scheduler.h>#include <cmu-trace.h>#include <priqueue.h>#include <aodv/aodv_rtable.h>#include <aodv/aodv_rqueue.h>#include <classifier/classifier-port.h>/*  Allows local repair of routes */#define AODV_LOCAL_REPAIR/*  Allows AODV to use link-layer (802.11) feedback in determining when  links are up/down.*/#define AODV_LINK_LAYER_DETECTION/*  Causes AODV to apply a "smoothing" function to the link layer feedback  that is generated by 802.11.  In essence, it requires that RT_MAX_ERROR  errors occurs within a window of RT_MAX_ERROR_TIME before the link  is considered bad.*/#define AODV_USE_LL_METRIC/*  Only applies if AODV_USE_LL_METRIC is defined.  Causes AODV to apply omniscient knowledge to the feedback received  from 802.11.  This may be flawed, because it does not account for  congestion.*///#define AODV_USE_GOD_FEEDBACKclass AODV;#define MY_ROUTE_TIMEOUT        10                      	// 100 seconds#define ACTIVE_ROUTE_TIMEOUT    10				// 50 seconds#define REV_ROUTE_LIFE          6				// 5  seconds#define BCAST_ID_SAVE           6				// 3 seconds// No. of times to do network-wide search before timing out for // MAX_RREQ_TIMEOUT sec. #define RREQ_RETRIES            3  // timeout after doing network-wide search RREQ_RETRIES times#define MAX_RREQ_TIMEOUT	10.0 //sec/* Various constants used for the expanding ring search */#define TTL_START     5#define TTL_THRESHOLD 7#define TTL_INCREMENT 2 // This should be somewhat related to arp timeout#define NODE_TRAVERSAL_TIME     0.03             // 30 ms#define LOCAL_REPAIR_WAIT_TIME  0.15 //sec// Should be set by the user using best guess (conservative) #define NETWORK_DIAMETER        30             // 30 hops// Must be larger than the time difference between a node propagates a route // request and gets the route reply back.//#define RREP_WAIT_TIME     (3 * NODE_TRAVERSAL_TIME * NETWORK_DIAMETER) // ms//#define RREP_WAIT_TIME     (2 * REV_ROUTE_LIFE)  // seconds#define RREP_WAIT_TIME         1.0  // sec#define ID_NOT_FOUND    0x00#define ID_FOUND        0x01//#define INFINITY        0xff// The followings are used for the forward() function. Controls pacing.#define DELAY 1.0           // random delay#define NO_DELAY -1.0       // no delay // think it should be 30 ms#define ARP_DELAY 0.01      // fixed delay to keep arp happy#define HELLO_INTERVAL          1               // 1000 ms#define ALLOWED_HELLO_LOSS      3               // packets#define BAD_LINK_LIFETIME       3               // 3000 ms#define MaxHelloInterval        (1.25 * HELLO_INTERVAL)#define MinHelloInterval        (0.75 * HELLO_INTERVAL)/*  Timers (Broadcast ID, Hello, Neighbor Cache, Route Cache)*/class BroadcastTimer : public Handler {public:        BroadcastTimer(AODV* a) : agent(a) {}        void	handle(Event*);private:        AODV    *agent;	Event	intr;};class HelloTimer : public Handler {public:        HelloTimer(AODV* a) : agent(a) {}        void	handle(Event*);private:        AODV    *agent;	Event	intr;};class NeighborTimer : public Handler {public:        NeighborTimer(AODV* a) : agent(a) {}        void	handle(Event*);private:        AODV    *agent;	Event	intr;};class RouteCacheTimer : public Handler {public:        RouteCacheTimer(AODV* a) : agent(a) {}        void	handle(Event*);private:        AODV    *agent;	Event	intr;};class LocalRepairTimer : public Handler {public:        LocalRepairTimer(AODV* a) : agent(a) {}        void	handle(Event*);private:        AODV    *agent;	Event	intr;};/*  Broadcast ID Cache*/class BroadcastID {        friend class AODV; public:        BroadcastID(nsaddr_t i, u_int32_t b) { src = i; id = b;  } protected:        LIST_ENTRY(BroadcastID) link;        nsaddr_t        src;        u_int32_t       id;        double          expire;         // now + BCAST_ID_SAVE s};LIST_HEAD(aodv_bcache, BroadcastID);/*  The Routing Agent*/class AODV: public Agent {  /*   * make some friends first    */        friend class aodv_rt_entry;        friend class BroadcastTimer;        friend class HelloTimer;        friend class NeighborTimer;        friend class RouteCacheTimer;        friend class LocalRepairTimer; 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);        /*         * Packet TX Routines         */        void            forward(aodv_rt_entry *rt, Packet *p, double delay);        void            sendHello(void);        void            sendRequest(nsaddr_t dst);        void            sendReply(nsaddr_t ipdst, u_int32_t hop_count,                                  nsaddr_t rpdst, u_int32_t rpseq,                                  u_int32_t lifetime, double timestamp);        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);	/*	 * 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        /*         * Timers         */        BroadcastTimer  btimer;        HelloTimer      htimer;        NeighborTimer   ntimer;        RouteCacheTimer rtimer;        LocalRepairTimer lrtimer;        /*         * Routing Table         */        aodv_rtable          rtable;        /*         *  A "drop-front" queue used by the routing layer to buffer         *  packets to which it does not have a route.         */        aodv_rqueue         rqueue;        /*         * 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);	/* for passing packets up to agents */	PortClassifier *dmux_;	// ktnahm	int nlinkfail;	int beta;};#endif /* __aodv_h__ */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费av高清| 欧美午夜片在线观看| 国产米奇在线777精品观看| 国产福利精品一区二区| 专区另类欧美日韩| 久久综合色8888| 欧美日韩久久久| 91原创在线视频| 国产成人免费高清| 国产精品国产三级国产普通话99| 欧美大片在线观看一区| 91一区二区三区在线观看| 18成人在线观看| 青青草国产精品亚洲专区无| 欧美图片一区二区三区| 久久精品免费看| 视频精品一区二区| 亚洲h在线观看| 欧美一级日韩免费不卡| 91在线一区二区| 91视频免费观看| 日本一区免费视频| 免费观看91视频大全| 99久久精品国产精品久久| 国产精品一区在线观看你懂的| 91久久国产最好的精华液| 一本久久精品一区二区| 日韩欧美国产一区二区三区| 欧美一区二区视频在线观看 | 久久久国际精品| 26uuu亚洲| 亚洲精品在线网站| 欧美一区二区三区啪啪| 国产午夜精品美女毛片视频| 久久久另类综合| 日韩一级精品视频在线观看| 中文字幕巨乱亚洲| 蜜臀av在线播放一区二区三区| 色综合久久天天综合网| 久久精品国产网站| 亚洲第一主播视频| 亚洲一区二区四区蜜桃| 国产欧美一区视频| 国产精品一区二区三区乱码| 国产精品全国免费观看高清| 国产精品亚洲成人| 欧美三级在线播放| 日韩av中文字幕一区二区| 亚洲欧美日韩中文字幕一区二区三区 | 高清不卡一区二区| 久久国产乱子精品免费女| 久久亚洲一级片| 欧美在线观看视频一区二区 | 国产精品视频一二| 欧美国产97人人爽人人喊| 欧美一区二区三区四区久久| 日韩欧美一区二区久久婷婷| 一区二区三区中文免费| 亚洲国产sm捆绑调教视频| 精品国产91久久久久久久妲己| 不卡区在线中文字幕| 国产成人综合在线| 欧美优质美女网站| 国产精品蜜臀在线观看| 亚洲国产日日夜夜| 6080亚洲精品一区二区| 亚洲第四色夜色| 国产一区二区三区四区五区入口| 欧美va亚洲va| 国产精品免费免费| 亚洲国产日韩一区二区| 亚洲一区二区三区国产| 国产69精品久久99不卡| 中文字幕亚洲欧美在线不卡| 成人一区二区三区| 日韩一区二区三区视频在线观看 | 久久99精品久久久久久| 成人免费小视频| 欧美大片在线观看一区二区| 9久草视频在线视频精品| 91精品福利在线一区二区三区| 欧美精品一区二区在线观看| 欧美日本在线看| 国产精品午夜春色av| 色综合色综合色综合色综合色综合| 欧美日本一区二区| 国产精品自拍一区| 欧美在线免费播放| 精品一区二区三区在线播放视频 | 欧美自拍偷拍一区| 日本aⅴ免费视频一区二区三区| 久久久久久久一区| 免费观看在线综合| 久久婷婷成人综合色| 成人一区二区三区视频 | 2023国产精品视频| 精品91自产拍在线观看一区| 99久久久久免费精品国产| 精品国产1区二区| 久久久久久久久99精品| 91免费版在线看| 国产乱码一区二区三区| 亚洲第一二三四区| 欧洲一区在线观看| 日韩欧美综合一区| 久久精品99国产精品日本| youjizz国产精品| 国产精品亚洲第一区在线暖暖韩国| 天天综合色天天综合色h| 99久久婷婷国产| 国产人伦精品一区二区| 麻豆91在线看| 欧美一区二区视频免费观看| 亚洲一区在线观看免费 | 男人的j进女人的j一区| 在线精品观看国产| 1024成人网| av一区二区三区黑人| 2021国产精品久久精品| 免费不卡在线观看| 91精品国产高清一区二区三区蜜臀| 亚洲图片另类小说| 91在线观看免费视频| 国产精品高潮久久久久无| 国产成人免费网站| 国产欧美一区在线| 国产成人精品综合在线观看 | 亚洲丝袜制服诱惑| 成人高清视频免费观看| 欧美激情一区二区三区四区| 国产一区在线精品| 亚洲精品在线电影| 国产一区啦啦啦在线观看| 欧美va日韩va| 国产福利一区二区| 国产精品美女久久久久av爽李琼| 成人午夜av影视| 日韩理论电影院| 色激情天天射综合网| 亚洲欧美成人一区二区三区| 色美美综合视频| 亚洲国产婷婷综合在线精品| 欧美日韩国产高清一区二区三区 | 韩国精品主播一区二区在线观看 | 中文字幕在线不卡国产视频| 91亚洲精品久久久蜜桃| 亚洲精品ww久久久久久p站| 日本精品视频一区二区三区| 一区二区三区四区在线| 欧美老女人在线| 韩国毛片一区二区三区| 国产欧美一区二区精品仙草咪| 成人精品gif动图一区| 亚洲激情中文1区| 在线成人av网站| 精品无码三级在线观看视频| 国产日韩av一区| 91黄视频在线| 免费成人在线观看视频| 久久免费电影网| 色诱视频网站一区| 视频一区视频二区中文字幕| 精品粉嫩aⅴ一区二区三区四区| 国产a区久久久| 亚洲最新视频在线播放| 日韩一区二区免费电影| 成人在线综合网| 亚洲第一会所有码转帖| 久久久久久久综合色一本| 色综合中文字幕| 免费黄网站欧美| 中文字幕在线不卡一区| 6080国产精品一区二区| 成人一区在线看| 亚洲国产wwwccc36天堂| 国产亚洲va综合人人澡精品| 96av麻豆蜜桃一区二区| 蜜臀99久久精品久久久久久软件| 国产欧美日本一区二区三区| 欧美在线视频全部完| 国产在线精品一区二区| 亚洲综合男人的天堂| 欧美精品一区二区在线观看| 一本色道久久综合亚洲91| 久久99国产精品麻豆| 亚洲主播在线观看| 国产亚洲制服色| 制服视频三区第一页精品| youjizz久久| 激情五月播播久久久精品| 亚洲一二三区不卡| 国产午夜精品久久久久久久| 欧美男人的天堂一二区| 不卡av电影在线播放| 精品无人区卡一卡二卡三乱码免费卡| 亚洲蜜桃精久久久久久久| 久久色在线观看| 日韩三区在线观看| 欧美少妇bbb| 99热精品一区二区|