📄 802_11_mac.h
字号:
#ifndef _802_11_Mac_H__#define _802_11_Mac_H__#include "CommonIncludes.h"#include "MACLayerBase.h"#include "MAC_802_11_Packet_m.h"#include "Calculations.h"#define minCW 31#define maxCW 1023#define shortRetryLimit 7/*#include <fstream.h>*/class MAC_802_11 : public MACLayerBase{ private: int m_FragmentLength; int m_BitRate; double m_SIFS; double m_DIFS; double m_EIFS; double m_SlotTime; double m_NAVTimer; double m_New_NAVTimer; double tstamp_NAVTimer; double remainingBOffTime; double tstamp_BOffTimer; double iBOffTime; cQueue m_QueueOfFragments; cQueue m_QueueOfCollisionMsgs; cMessage *m_pMsgRTSExpired; cMessage *m_pMsgNAVTimer; cMessage *m_pMsgDIFSTimer; cMessage *m_pMsgCollisionTimer; cMessage *m_pMsgBOffTimer; int testvar; int Bflag; char fName[20]; bool fWrite; char fileb[10]; int originMsgSrc; int cw; int MyNodeId; int ssrc; int RtsExpiredCount; int seq_no; int no_of_nodes; public: MAC_802_11(const char *name, cModule *parentModule, unsigned stacksize = 0) ; void changeNAVTimer(); virtual void initialize(); virtual void handleMessage(cMessage *msg); virtual void handleSelfMessage(cMessage *msg); virtual void HandleMessageFromTopLayer(cMessage *msg); virtual void HandleMessageFromBottomLayer(cMessage *msg); virtual void finish(); cModule *pNode; cModule *pNetwork; private: bool Create_ACK_Message(cMessage *msg, c802_11_Packet **ppAckMsg); bool Create_Data_Message(cMessage *msg, int iFragmentIndex, int numOfFragments, c802_11_Packet **ppDataMsg); bool Create_CTS_Message(cMessage *msg, c802_11_Packet **ppCTSMsg); bool Create_RTS_Message(cMessage *msg, c802_11_Packet **ppRTSMsg); bool Create_BRDCAST_Message( cMessage *msg, c802_11_Packet **ppBTSMsg); bool AddPosInfo(c802_11_Packet* pMACMsg); bool CheckIfMessageIsForMe(cMessage* msg); int CheckWChannelStateAndTransmit(void); double getPropagationDelay( ); void resetCW(){cw = minCW;}; void incContentionWindow(){ (cw= (cw<<1) + 1); if(cw > maxCW) cw=maxCW; /*printf(" cw_ %d = \n", cw );*/ }; };#endif //
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -