📄 asyncnetlayer.h
字号:
/* -*- mode:c++ -*- ********************************************************
* file: AsyncNetwLayer.h
*
* author: Yupeng.hu
*
* copyright: (C) 2006 HUNAN Universtiy, ChangSha China
*
***************************************************************************
* part of: Async Simulation
* description: - Async Description
*
***************************************************************************
* changelog: $Revision$
* last modified: $Date: 2006-7-7 10:21 $
* by: $Author: Yupeng.hu $
***************************************************************************/
//#include <fstream.h>
#ifndef ASYNCNETLAYER_H
#define ASYNCNETLAYER_H
#include <BasicNetwLayer.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <list>
#include <vector>
#include <string>
#define IS_CLUSTER 0
#define NO_CLUSTER 1
#define IS_CONNECT 2
#define NO_CONNECT 3
#define CLUSTER 4
#define CLUSTER_ACK 5
/**
* @brief A simple shortest routing protocol
**/
class AsyncNetLayer : public BasicNetwLayer
{
public:
Module_Class_Members( AsyncNetLayer, BasicNetwLayer, 0 );
/** @brief Initialization of omnetpp.ini parameters*/
virtual void initialize(int);
private:
typedef std::map<int,int> ShortestNetwLayerTable; // destaddr -> port
ShortestNetwLayerTable rtable;
cTopology *topo;
int maxHops;
double delay[14][2];
double mean[14];
protected:
/** @brief Handle self messages such as timer... */
virtual void handleSelfMsg(cMessage*); //Add by Fang-shi
/** @brief Handle messages from upper layer */
virtual void handleUpperMsg(NetwPkt*);
/** @brief Handle messages from lower layer */
virtual void handleLowerMsg(NetwPkt*);
/** @brief Sends a message to the lower layer; waits delay seconds
before sending*/
virtual void sendDown(NetwPkt*, int, int);
/** @brief Sends a message to the lower layer */
virtual void sendDelayedDown(NetwPkt*, double, int, int);
/** @brief Handle upper&lower pkt */
void Routing(NetwPkt*);
/** @brief transfer network layer module id to real index */
int NetModuleID2Index(int);
/** @brief find next hop to other nodes*/
void findNextHop(cTopology *);
cStdDev qstats;
virtual void sendClusterMsg();
virtual void sendClusterAckMsg(); //多的 NetwPkt* buildClusterMsg();
NetwPkt* buildClusterAckMsg();//多的
virtual void finish();
/**@brief shi zhong diao du To jian li cujiegou */
cMessage *clusterEvent; //Add by Fang-shi
int status;//标注节点是否为簇头 int conStatus;//标注节点是否已与簇头建立连接 int clusterHead;
int r;
int clu[15]; //多的,存放簇内节点的地址 int head[8];//存放簇头地址
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -