NS3 Timer类说明

作者: shawn168 | 来源:发表于2017-06-25 20:34 被阅读245次

官方文档介绍

一个简单的Timer类。
定时器用于将延迟保持在一起,延迟到期时调用的函数以及延迟到期时传递给函数的一组参数。
定时器可以暂停,恢复,取消并查询剩余时间,但不能扩展(除了暂停和恢复)。
也可以使用定时器来执行一组预定义的事件生命周期管理策略。 这些政策在构造时规定,以后不能改变。

Timer类似于Simulator::Schedule完成的功能,并且,Timer的本质也是使用的就是Simulator::Schedule,只不过Timer对它做了一层封装,使用起来更加方便、明了。但是如果说代码简洁的角度来说的话,Simulator::Schedule代码更简洁。

Timer的简单使用

Timer m_nudTimer (Timer::CANCEL_ON_DESTROY);
if (m_nudTimer.IsRunning ())
    {
      m_nudTimer.Cancel ();
    }

  m_lastReachabilityConfirmation = Simulator::Now ();
  //设置回调函数
  m_nudTimer.SetFunction (Function);
  //设置时延
  m_nudTimer.SetDelay (MilliSeconds (delay));
  //启动调度
  m_nudTimer.Schedule ();

上面的代码与下面的代码等同:

Simulator::Schedule (MilliSeconds (delay), Function);

也可以设置一些参数:

Timer m_nudTimer (Timer::CANCEL_ON_DESTROY);
if (m_nudTimer.IsRunning ())
    {
      m_nudTimer.Cancel ();
    }

  m_lastReachabilityConfirmation = Simulator::Now ();
  //设置回调函数, 函数属于object对象
  m_nudTimer.SetFunction (&Function, object);
  //设置参数
  m_nudTimer.SetArguments(a1, a2, a3);
  //设置时延
  m_nudTimer.SetDelay (MilliSeconds (delay));
  //启动调度
  m_nudTimer.Schedule ();

上面的代码与下面的代码等同:

Simulator::Schedule (MilliSeconds (delay), &Function, object, a1, a2, a3);

相关文章

  • NS3 Timer类说明

    官方文档介绍 一个简单的Timer类。定时器用于将延迟保持在一起,延迟到期时调用的函数以及延迟到期时传递给函数的一...

  • NS3 MacRxMiddle类说明

    官方文档说明 该类处理片段的重复检测和重组。 也就是说该类的功能主要是检测节点接收到的分组是否重复,以及是否是分片...

  • NS3 MacTxMiddle类说明

    官方文档说明 处理IEEE 802.11数据帧的序列号。 源码分析 位置:/src/wifi/model/mac-...

  • NS3 ObjectBase类API说明

    通常作为基类,派生其他类。每个想要在ns-3类型和属性系统中集成的类都应该从这个基类派生。 这个基类提供: 公共方...

  • NS3 Socket类API说明

    源文件位置: src/netwrok/model/socket.hsocket.cc 描述: 一个基于BSD So...

  • NS3 WifiMacQueue类API说明

    介绍: 此队列实现(第9.19.2.6节“重传过程”第6段; IEEE 802.11-2012)中描述的超时过程。...

  • NS3 BulkSendApplication类API说明

    源文件位置:src/applications/model/bulk-send-application.hbulk-...

  • NS3 Config类API说明

    源文件位置:src/core/model/config.hconfig.cc 配置仿真参数和跟踪。 用法实例: 1...

  • NS3 PacketSink类API说明

    源文件位置: src/applications/model/packet-sink.hpacket-sink.cc...

  • Jmeter定时器

    1、Gaussian Random Timer(高斯定时器) 参数说明 2、Constant Timer 参数说明...

网友评论

    本文标题:NS3 Timer类说明

    本文链接:https://www.haomeiwen.com/subject/hqzlattx.html