Re: [问题] ns2 PSM问题

楼主: kivava (天空快快黑)   2011-01-18 22:46:47
※ 引述《meby (p)》之铭言:
: 请问各位ns2的高手
: 如果我想在ns2中决定每个节点不同的醒睡排程
: ex node1 每10秒醒来一次 其他时间维持省电模式
: node2 每7秒醒来一次 其他时间为持省电模式
: 应该要如何才能做到
: 我已经被这个看似很简单的问题困扰很久了
: 麻烦各位高手给我一些提示 谢谢
你可以用Timer的方式处理
在node commnad start的地方呼叫timer,让他启动
在timer的event handler
void WakeTimer::handle(Event*) {
// 这边设定wake up function
// 执行要做的事情
// 执行完毕就进入省电
// 设定呼叫的间隔时间
double wake_interval;
if(index == 1) {
wake_interval = 10;
} else if(index == 2 ) {
wake_interval = 7;
}
// 设定scheduler,呼叫自己
Scheduler::instance().schedule(this, &intr, wake_interval);
}
-
相关的timer的问题,你可以参考mac/mac-802_11.{h,cc},个人觉得802.11的timer写的蛮经典的
不过他的timer跨了好几个source file,可能会比较难懂
看看aodv/aodv.{h,cc}的timer也是能懂得timer该怎么用的

Links booklink

Contact Us: admin [ a t ] ucptt.com