📄 pm.cpp
字号:
#include "stdafx.h"
#include "network.h"
#include "PM.h"
extern NODE_TYPE nodeT[350];
extern NETWORK_TYPE net;
void NodeSchedulingInit(){
int i = 0;
if(net.PM_ENABLED == false ) return ;
switch(net.PM_TYPE){
case RANDOM_PM:
for( i = 0 ; i < net.NUM_NODES ; i++){
nodeT[i].Period = net.PM_PERIOD;
nodeT[i].WakeupDuration = net.WAKEUP_DURATION;
nodeT[i].WakeupPoint = rand()%net.PM_PERIOD;
}
break;
case SYNCHRONIZED:
break;
case COORDINATED:
break;
case FULL_COVERED:
break;
default: assert(false);
}
return ;
}
bool CheckNodeStatus(int nodeID, int t){
int i= 0;
if(net.PM_ENABLED == false ) return true;
//time point with in a period
int t_ = t%nodeT[nodeID].Period;
switch(net.PM_TYPE){
case RANDOM:
if( t_ > nodeT[i].WakeupPoint &&
t_ < nodeT[nodeID].WakeupPoint+ nodeT[nodeID].WakeupDuration )
return true;
else if( t_+ nodeT[nodeID].Period > nodeT[i].WakeupPoint &&
t_ +nodeT[nodeID].Period < nodeT[nodeID].WakeupPoint+ nodeT[nodeID].WakeupDuration )
return true;
else return false;
break;
case SYNCHRONIZED:
break;
case COORDINATED:
break;
case FULL_COVERED:
break;
default: assert(false);
}
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -