📄 dvsim.h
字号:
#include <stdio.h>
#include <stdlib.h>
#include <process.h>
#include <io.h>
#include <iostream.h>
#define INF 999
#define NODES 5
#define LINKCHANGES 0
/*--------------------------------------------------------------
* distance_table definition:
*
* costs[i][j]= path cost from this node to node i
* when first hop is node j
*--------------------------------------------------------------*/
struct distance_table
{
int costs[NODES][NODES];
};
#ifdef DVSIM_H
/*------------------------------
* Trace level
*------------------------------*/
int TRACE = 1;
/*--------------------------------------
* distance tables
* minimum path costs
* link costs
*--------------------------------------*/
struct distance_table dt[NODES];
int min_cost[NODES][NODES];
int linkcost[NODES][NODES] = {
{0, 1, 2, INF, INF},
{1, 0, INF, 15, 5},
{2, INF, 0, 1, 2},
{INF, 15, 1, 0, 10},
{INF, 5, 2, 10, 0}
};
#else
extern int TRACE;
extern struct distance_table dt[NODES];
extern int min_cost[NODES][NODES];
extern int linkcost[NODES][NODES];
extern int send0=0;
extern int recv0=0;
//1
extern int send1=0;
extern int recv1=0;
//2
extern int send2=0;
extern int recv2=0;
//3
extern int send3=0;
extern int recv3=0;
//4
extern int send4=0;
extern int recv4=0;
#endif
/*--------------------------------------------------------------
* rtpkt Routing packet
*
* sourceid source router
* destid dest router (must be immediate neighbor)
* mincost[] minimum cost to other nodes
*--------------------------------------------------------------*/
struct rtpkt {
int sourceid;
int destid;
int mincost[NODES];
};
/*------------------------------
* function prototypes
*------------------------------*/
void rtinit0();
void rtinit1();
void rtinit2();
void rtinit3();
void rtinit4();
void rtupdate0 (struct rtpkt *);
void rtupdate1 (struct rtpkt *);
void rtupdate2 (struct rtpkt *);
void rtupdate3 (struct rtpkt *);
void rtupdate4 (struct rtpkt *);
void printdt_0 (struct distance_table *);
void printdt_1 (struct distance_table *);
void printdt_2 (struct distance_table *);
void printdt_3 (struct distance_table *);
void printdt_4 (struct distance_table *);
void linkhandler0 (int, int);
void linkhandler1 (int, int);
double get_clock();
void tolayer2 (struct rtpkt);
/* END DVsim.h ------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -