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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? aodv_routing.pr.c

?? aodv的仿真代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* Process model C form file: aodv_routing.pr.c *//* Portions of this file copyright 1992-2001 by OPNET Technologies, Inc. *//* This variable carries the header into the object file */static const char aodv_routing_pr_c [] = "MIL_3_Tfile_Hdr_ 80C 30A op_runsim 7 3C064A6F 3C064A6F 1 manet.antd.nist.gov lmiller 0 0 none none 0 0 none 0 0 0 0 0 0                                                                                                                                                                                                                                                                                                                                                                                                        ";#include <string.h>/* OPNET system definitions */#include <opnet.h>#if defined (__cplusplus)extern "C" {#endifFSM_EXT_DECS#if defined (__cplusplus)} /* end of 'extern "C"' */#endif/* Header Block *//* Include directives */#include <math.h>
#include <string.h>#include <stdlib.h>#include <sys/file.h>#include <sys/types.h>#include <sys/stat.h>#include <sys/syscall.h>#include <fcntl.h>#include "Aodv_Utils.h"#include "Aodv_List.h"#include "Aodv_Route_Table_Entry.h"#include "Aodv_Route_Table_Stat.h"

/* Packet types */#define DATA_PK_TYPE 5#define RREQ_PK_TYPE 7#define RREP_PK_TYPE 11#define RERR_PK_TYPE 13/* Input and output streams */
#define UPP_INPUT_STRM      0
 // from upper layer#define LOW_INPUT_STRM      1
 // from mac layer#define LOW_OUTPUT_STRM     0  // toward mac layer#define UPP_OUTPUT_STRM     1  // toward upper layer#define BROADCAST          -1  // broadcast/* Remote intrpt or self intrpt codes */
#define ACK_CODE      10000 // ack was received 
#define NACK_CODE     20000 // error from MAC layer#define NREPLY_CODE   40000
// no reply for request#define HELLO_CODE    60000 // say hello#define STAT_CODE     70000#define MAC_CONN_CODE
80000 // Maintain local connectivity/* Maximum number of nodes in the net */
#define N 55

/* Max time that a node may spend into a node */#define MAX_NODE_TRAVERSAL_TIME 30 // in secs/* Transition macro */
#define END_SIM	                  (op_intrpt_type() == OPC_INTRPT_ENDSIM)#define ACK_TIMEOUT_INTRPT        (op_intrpt_type() == OPC_INTRPT_REMOTE &&  op_intrpt_code() < N)#define LINK_BREAKAGE             (op_intrpt_type() == OPC_INTRPT_REMOTE && op_intrpt_code() == NACK_CODE)
#define ENTRY_EXPIRATION_INTRPT   (op_intrpt_type() == OPC_INTRPT_SELF && (op_intrpt_code() < N) )#define MAC_LAYER_PK_ARVL         (op_intrpt_type() == OPC_INTRPT_STRM && op_intrpt_strm() == LOW_INPUT_STRM)#define APPL_LAYER_PK_ARVL        (op_intrpt_type() == OPC_INTRPT_STRM && op_intrpt_strm() == UPP_INPUT_STRM)
#define HELLO_INTRVL_INTRPT       (op_intrpt_type() == OPC_INTRPT_SELF && (op_intrpt_code() == HELLO_CODE))#define RREP_WAIT_TIMEOUT         (op_intrpt_type() == OPC_INTRPT_SELF && (op_intrpt_code() >= N && op_intrpt_code() <2*N))#define ACK_ARVL                  (op_intrpt_type() == OPC_INTRPT_REMOTE && op_intrpt_code() == ACK_CODE)
#define PHY_ARVL                  (op_intrpt_type() == OPC_INTRPT_REMOTE && op_intrpt_code() == MAC_CONN_CODE)#define COLLECT_STAT              (op_intrpt_type() == OPC_INTRPT_SELF && (op_intrpt_code() == STAT_CODE))/* trace level definitions */#define TRACE_LEV_0 0
#define TRACE_LEV_1 1
#define TRACE_LEV_2 2#define TRACE_LEV_3 3/* error cases definitions */#define case_i      0#define case_ii     1#define case_iii    2/**/** Structure definitions**//* version */#define light 0#define full  1/* connectivty support type */#define NONE        0#define HELLO       1#define MAC         2#define MAC_HELLO   3/* Request sent attributes */typedef struct
	{
	int                  pending;
	int                  attempts_count;	int                  retries_count;	double               emission_time;	double               expi_time;
	Evhandle             evh;
	Packet *             rreq_pk_copy;	} Aodv_Req_Sent_Attr;/* Request seen attributes */typedef struct 
	{
	double  broadcast_id;
	double  expi_time;
	} Aodv_Req_Seen_Attr; /* Ack pending */typedef struct
	{
	Evhandle evh;	int retry_count;	Packet* data_pk_copy;
	} Ack_Pending_Struct;
/* Node position */typedef struct{	double x;	double y;	}Position;
/* Prototype declaration */void    aodv_initiate_discovery (int dest);void    aodv_continue_discovery (int dest);void    aodv_terminate_discovery(int dest);void    aodv_cancel_pending_request( int dest);void    aodv_rerr_pk_receive(Packet* pk_ptr);void    aodv_rerr_pk_process(Packet* rerr_pk_ptr);void    aodv_non_delete_rerr_pk_process(Packet* rerr_pk_ptr);void    aodv_rerr_pk_generate(int dest_ip_addr, int err_case);void    aodv_generate_non_delete_rerr_pk(int dest_ip_addr);void    aodv_initiate_maintenance(int dest, int source);void    aodv_flag_lost_entries(int node_upstream, int final_destination);void    aodv_rreq_pk_receive(Packet* rreq_pk_ptr);Boolean aodv_is_req_fresh_enough(Packet* rreq_pk_ptr);void    aodv_update_or_create_reverse_entry(Packet* rreq_pk_ptr);void    aodv_rrep_pk_generate_from_destination(Packet* rreq_pk_ptr);void    aodv_gratuitous_rrep_pk_generate(Packet * rreq_pk_ptr);void    aodv_rrep_pk_generate_from_relay(Packet* rreq_pk_ptr);void    aodv_rreq_pk_forward(Packet* rreq_pk_ptr);void    aodv_rrep_pk_receive(Packet* pk_ptr);void    aodv_ack_timeout_schedule(Packet* data_pk_ptr);void    aodv_pk_send(Packet* pk, int next_hop_dest_ip_addr);Boolean aodv_prg_add_prec(int prec, int dest);void    aodv_prg_remove_prec(int prec, int dest);void    aodv_prg_add_successor(int destination, int precursor);void    aodv_prg_remove_from_prec_lists(int precursor);void    aodv_data_pk_receive_from_mac(Packet* pk_ptr);void    aodv_data_pk_receive_from_appl(Packet* pk_ptr);void    aodv_data_pk_queue (Packet* pk);void    aodv_data_pk_queue_head (Packet* pk);Packet* aodv_data_pk_dequeue (int index);Packet* aodv_data_pk_dequeue_tail (int index);void    aodv_buffer_drop (int index);Boolean aodv_buffer_empty (int index);void    aodv_buffer_serve (int dest_index);int     aodv_buffer_size (int index);void    aodv_hello_interval_extend ();void    aodv_maintain_local_conn(int previous_hop);double  max_dbl(double a, double b);int     max_int(int a, int b);int     min_int(int a, int b);void    aodv_print_major(char * msg, int trace_level);void    aodv_print_line();void    aodv_print_minor(char * msg, int trace_level);void    aodv_prg_print_entry(int dest_ip_addr,int trace_lev);void    aodv_prg_print_entry_x(int dest_ip_addr,int trace_lev);void    aodv_prg_print_rt(int trace_lev);/* Global variables */Aodv_Route_Table_Stat * global_rt[N]; //Global route table: holds pointers to all the routing tables in the networkdouble                  avg_deplacement_per_node[N]; // Avg deplacement per node during the whole simulationextern int              connectivity_map[N][N]; // Connectivity matrixextern Position         position_map[N]; // Position of each node at the current timeextern double           total_relative_deplacement[N]; // Total relative deplacement during the whole simulationdouble    avg_hp_cnt = 0.0;int       total_hp_cnt = 0;/* Scenario attributes (scalar stats) */int            hello;int            repair;int            hello_msg;int            net_diameter;double         update_stat_intrvl = 0.2;double         mobility_factor = 0.0;extern double  avg_speed;extern int     nb_links;extern int     NB_FLOWS;/* Stats */int input = 0;int output = 0;
int loops = 0;int data_pk_destroyed = 0;
int data_pk_destroyed_buffer_exp = 0;int data_pk_buffer = 0;int pk_destroyed_discov_fail = 0;int data_pk_destroyed_buffer_full = 0;int pk_destroyed_gen_rerr = 0;int pk_destroyed_rcv_rerr = 0;int discovery_attempts = 0;int discovery_failures = 0;int breakage_count = 0;int repair_attempts = 0;int repair_failures = 0;int error_case_i = 0;int hidden_node = 0;double total_delay_stat = 0;double avg_delay_stat = 0;double total_discovery_time_stat = 0;double avg_discovery_time_stat = 0;int    input_stat = 0;int    output_stat = 0;
int    rreq_rcvd_stat = 0;int    rreq_generated_stat = 0;int    discovery_attempt_stat = 0;double throughput_stat = 0;/* Stathandles */Stathandle  avg_delay_handle;Stathandle  avg_discovery_time_handle;Stathandle  input_handle;Stathandle  output_handle;
Stathandle  rreq_rcvd_handle;Stathandle  throughput_handle;/* End of Header Block */#if !defined (VOSD_NO_FIN)#undef	BIN#undef	BOUT#define	BIN		FIN_LOCAL_FIELD(last_line_passed) = __LINE__ - _block_origin;#define	BOUT	BIN#define	BINIT	FIN_LOCAL_FIELD(last_line_passed) = 0; _block_origin = __LINE__;#else#define	BINIT#endif /* #if !defined (VOSD_NO_FIN) *//* State variable definitions */typedef struct	{	/* Internal state tracking for FSM */	FSM_SYS_STATE	/* State Variables */	Objid	                  		my_node_id;	int	                    		my_node_addr;	Objid	                  		my_net_id;	double	                 		MY_ROUTE_TIMEOUT;	double	                 		ACTIVE_ROUTE_TIMEOUT;	int	                    		ALLOWED_HELLO_LOSS;	double	                 		BROADCAST_RECORD_TIME;	double	                 		HELLO_INTERVAL;	int	                    		LOCAL_ADD_TTL;	double	                 		MAX_REPAIR_TTL;	int	                    		MIN_REPAIR_TTL;	int	                    		NET_DIAMETER;	double	                 		NEXT_HOP_WAIT;	double	                 		NODE_TRAVERSAL_TIME;	double	                 		NET_TRAVERSAL_TIME;	double	                 		REV_ROUTE_LIFE;	int	                    		RREQ_RETRIES;	int	                    		TTL_INCREMENT;	int	                    		TTL_TRESHOLD;	int	                    		TTL_START;	double	                 		DELETE_PERIOD;	int	                    		DEBUG;	double	                 		my_broadcast_id;	int	                    		my_seq_nb;	Aodv_Req_Sent_Attr	     		req_sent_rep[N];	Aodv_Req_Seen_Attr	     		req_seen_rep[N][N];	double	                 		ACK_WAIT_TIME;	Aodv_Route_Table_Stat	  		my_route_table;	Aodv_List *	            		successor_table;	Aodv_List *	            		ack_pending_list;	int	                    		HELLO_MODE;	Packet *	               		hello_msg_template;	Distribution *	         		hello_dist;	Evhandle	               		hello_intrvl_evh;	int	                    		hello_msg_type;	int	                    		REPAIR;	char	                   		current_state_name[26];	double	                 		next_hello_intrvl;	int	                    		trans_window_locked[N];	int	                    		num_nodes;	int	                    		data_retry_limit;	FILE*	                  		aodv_stat_file;	char*	                  		aodv_stat_file_name;	int	                    		CONN_SUPPORT_TYPE;	int	                    		SEND_BUFFER_MAX_SIZE;	int	                    		send_buffer_size;	} aodv_routing_state;#define pr_state_ptr            		((aodv_routing_state*) SimI_Mod_State_Ptr)#define my_node_id              		pr_state_ptr->my_node_id#define my_node_addr            		pr_state_ptr->my_node_addr#define my_net_id               		pr_state_ptr->my_net_id#define MY_ROUTE_TIMEOUT        		pr_state_ptr->MY_ROUTE_TIMEOUT#define ACTIVE_ROUTE_TIMEOUT    		pr_state_ptr->ACTIVE_ROUTE_TIMEOUT#define ALLOWED_HELLO_LOSS      		pr_state_ptr->ALLOWED_HELLO_LOSS#define BROADCAST_RECORD_TIME   		pr_state_ptr->BROADCAST_RECORD_TIME#define HELLO_INTERVAL          		pr_state_ptr->HELLO_INTERVAL#define LOCAL_ADD_TTL           		pr_state_ptr->LOCAL_ADD_TTL#define MAX_REPAIR_TTL          		pr_state_ptr->MAX_REPAIR_TTL#define MIN_REPAIR_TTL          		pr_state_ptr->MIN_REPAIR_TTL#define NET_DIAMETER            		pr_state_ptr->NET_DIAMETER#define NEXT_HOP_WAIT           		pr_state_ptr->NEXT_HOP_WAIT#define NODE_TRAVERSAL_TIME     		pr_state_ptr->NODE_TRAVERSAL_TIME#define NET_TRAVERSAL_TIME      		pr_state_ptr->NET_TRAVERSAL_TIME#define REV_ROUTE_LIFE          		pr_state_ptr->REV_ROUTE_LIFE#define RREQ_RETRIES            		pr_state_ptr->RREQ_RETRIES#define TTL_INCREMENT           		pr_state_ptr->TTL_INCREMENT#define TTL_TRESHOLD            		pr_state_ptr->TTL_TRESHOLD#define TTL_START               		pr_state_ptr->TTL_START#define DELETE_PERIOD           		pr_state_ptr->DELETE_PERIOD#define DEBUG                   		pr_state_ptr->DEBUG#define my_broadcast_id         		pr_state_ptr->my_broadcast_id#define my_seq_nb               		pr_state_ptr->my_seq_nb#define req_sent_rep            		pr_state_ptr->req_sent_rep#define req_seen_rep            		pr_state_ptr->req_seen_rep#define ACK_WAIT_TIME           		pr_state_ptr->ACK_WAIT_TIME#define my_route_table          		pr_state_ptr->my_route_table#define successor_table         		pr_state_ptr->successor_table#define ack_pending_list        		pr_state_ptr->ack_pending_list#define HELLO_MODE              		pr_state_ptr->HELLO_MODE#define hello_msg_template      		pr_state_ptr->hello_msg_template#define hello_dist              		pr_state_ptr->hello_dist#define hello_intrvl_evh        		pr_state_ptr->hello_intrvl_evh#define hello_msg_type          		pr_state_ptr->hello_msg_type#define REPAIR                  		pr_state_ptr->REPAIR#define current_state_name      		pr_state_ptr->current_state_name#define next_hello_intrvl       		pr_state_ptr->next_hello_intrvl#define trans_window_locked     		pr_state_ptr->trans_window_locked#define num_nodes               		pr_state_ptr->num_nodes#define data_retry_limit        		pr_state_ptr->data_retry_limit#define aodv_stat_file          		pr_state_ptr->aodv_stat_file#define aodv_stat_file_name     		pr_state_ptr->aodv_stat_file_name#define CONN_SUPPORT_TYPE       		pr_state_ptr->CONN_SUPPORT_TYPE#define SEND_BUFFER_MAX_SIZE    		pr_state_ptr->SEND_BUFFER_MAX_SIZE

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美优质美女网站| 国产精品一区不卡| 欧美在线制服丝袜| 亚洲最新在线观看| 欧美色精品天天在线观看视频| 亚洲精选一二三| 欧美天天综合网| 图片区小说区国产精品视频| 91精品国产综合久久蜜臀| 久久国产精品72免费观看| 久久综合国产精品| 成人免费高清在线观看| 一区二区在线观看视频在线观看| 欧美三级一区二区| 麻豆精品视频在线观看免费| 精品动漫一区二区三区在线观看| 国产福利一区二区三区视频在线| 国产精品第五页| 欧美日韩免费视频| 久久精品国产99国产精品| 国产午夜精品一区二区三区视频| 成人18视频在线播放| 亚洲激情校园春色| 日韩精品一区在线| 成人网男人的天堂| 偷窥少妇高潮呻吟av久久免费| 精品国产成人在线影院| av中文字幕不卡| 日韩电影在线观看一区| 欧美激情综合在线| 在线看国产一区| 国产一区二区视频在线| 亚洲精品日日夜夜| 日韩小视频在线观看专区| 成人午夜免费av| 婷婷国产在线综合| 国产精品私人影院| 欧美猛男超大videosgay| 国产一区二区在线看| 亚洲一二三四在线观看| 精品国产乱码久久久久久闺蜜| 色综合久久精品| 国产自产高清不卡| 亚洲不卡一区二区三区| 国产欧美一区二区三区鸳鸯浴| 欧美午夜精品久久久久久孕妇| 国产精品一区二区久久不卡| 亚洲国产va精品久久久不卡综合 | 亚洲成人激情社区| 久久久亚洲午夜电影| 在线免费不卡视频| 风间由美一区二区av101| 蜜臂av日日欢夜夜爽一区| 亚洲日本va午夜在线电影| 精品国产欧美一区二区| 精品视频一区二区不卡| av中文字幕在线不卡| 国产一区二区三区综合| 日本午夜一本久久久综合| 亚洲精品乱码久久久久久| 久久精品免视看| 日韩精品在线网站| 3atv在线一区二区三区| 91黄色免费版| 99久久精品久久久久久清纯| 国产在线国偷精品产拍免费yy| 香蕉成人伊视频在线观看| 亚洲色图欧洲色图| 国产精品系列在线| 国产日韩精品一区| 亚洲精品一区二区三区四区高清| 欧美精品一级二级| 欧美亚洲一区三区| 在线观看91视频| 91浏览器在线视频| 99久久婷婷国产综合精品电影 | 国产在线精品国自产拍免费| 日韩不卡一区二区| 日韩av一级电影| 日韩精品电影一区亚洲| 香蕉加勒比综合久久| 午夜不卡在线视频| 首页国产欧美日韩丝袜| 日本在线观看不卡视频| 青娱乐精品视频在线| 奇米色777欧美一区二区| 亚洲成人免费看| 亚洲第一二三四区| 日本人妖一区二区| 蜜桃久久av一区| 激情另类小说区图片区视频区| 久久99久久99精品免视看婷婷 | 亚洲激情欧美激情| 亚洲精品国产a久久久久久| 伊人婷婷欧美激情| 偷拍一区二区三区| 蓝色福利精品导航| 成人做爰69片免费看网站| 91在线无精精品入口| 色综合视频一区二区三区高清| 日本高清成人免费播放| 欧美日韩国产高清一区二区三区 | 99精品欧美一区二区三区综合在线| 成人教育av在线| 91片黄在线观看| 欧美日韩视频第一区| 日韩精品中文字幕一区| 欧美激情一区在线观看| 亚洲欧美电影院| 天天操天天综合网| 国产精品一区免费在线观看| 91丨九色丨黑人外教| 欧美日韩国产系列| 久久久久综合网| 一区二区三区在线免费播放 | 久久不见久久见免费视频7| 国产成人激情av| 在线看日本不卡| 欧美精品一区二区三区四区 | 波多野结衣视频一区| 欧美日韩小视频| 国产偷v国产偷v亚洲高清| 亚洲青青青在线视频| 奇米精品一区二区三区四区| 懂色av中文一区二区三区| 欧美亚洲综合色| 久久亚洲精精品中文字幕早川悠里 | 欧美午夜一区二区| 久久久综合视频| 亚洲综合成人网| 韩国女主播一区二区三区| 色综合色狠狠综合色| 欧美精品一区二区在线观看| 一区二区三区在线免费播放| 国产精品123| 91精品国产综合久久国产大片| 国产精品三级视频| 免费久久99精品国产| 色综合天天综合狠狠| 久久亚区不卡日本| 午夜一区二区三区视频| 成人黄色一级视频| 欧美电影免费提供在线观看| 一区二区高清在线| 成人av免费网站| 精品捆绑美女sm三区| 午夜精品福利久久久| av在线综合网| 久久精品欧美日韩| 久久精品国产亚洲高清剧情介绍| 欧美亚洲尤物久久| 亚洲啪啪综合av一区二区三区| 国产精品资源在线| 日韩欧美一区二区免费| 亚洲国产精品久久久男人的天堂| 成人av在线一区二区| 久久久www免费人成精品| 秋霞国产午夜精品免费视频| 精品视频一区三区九区| 亚洲最大的成人av| 一道本成人在线| 中文字幕一区二区日韩精品绯色| 国产在线视频精品一区| 精品国产一区久久| 另类中文字幕网| 日韩三级在线观看| 免费的成人av| 日韩欧美一区电影| 性做久久久久久久免费看| 欧美私人免费视频| 亚洲午夜精品在线| 日本高清无吗v一区| 日韩毛片在线免费观看| 91网址在线看| 亚洲欧美另类久久久精品| 成人精品电影在线观看| 国产精品毛片a∨一区二区三区| 成人免费毛片高清视频| 成人欧美一区二区三区| 不卡的av网站| 国产精品精品国产色婷婷| 成人涩涩免费视频| 欧美经典一区二区三区| 成人aa视频在线观看| 亚洲视频在线观看三级| 欧洲一区二区三区免费视频| 亚洲一区二区三区四区的| 在线观看亚洲成人| 日韩电影在线免费看| 日韩欧美高清在线| 日本不卡的三区四区五区| 精品美女在线播放| 丰满亚洲少妇av| 亚洲精品免费视频| 777奇米成人网| 国产精品一二一区| 亚洲美女视频在线观看| 欧美精品日韩一区| 黑人精品欧美一区二区蜜桃| 国产精品素人一区二区|