Hiva::CreateSteadyTimer
函数功能
创建SteadyTimer定时器。
函数原型
Hiva::SteadyTimer Hiva::CreateSteadyTimer(const Hiva::WallDuration &steadyPeriod, const SteadyTimerCallback &steadyCallback, const std::string &steadyGroupName, const bool oneshot = false, const bool autostart = true)
参数说明
参数名 |
输入/输出 |
说明 |
||
---|---|---|---|---|
steadyPeriod |
输入 |
触发回调函数的周期,为框架标准的Duration类型。 |
||
steadyCallback |
输入 |
定时器到期后的回调函数,参数类型为SteadyTimerCallback,其中WallTimerEvent为: using SteadyTimerCallback = std::function<void (const SteadyTimerEvent &)>;
|
||
steadyGroupName |
输入 |
调用OpenHiva::Init时创建的线程组。如果为确定性组,则使用确定性调度框架;否则使用操作系统的调度框架。 |
||
oneshot |
输入 |
定时器的模式标识。
|
||
autostart |
输入 |
定时器的启动标识。
|
返回值
返回Hiva::SteadyTimer的handle,后续可基于该handle进行start、stop等操作。
使用说明
进程调用该接口,即创建并开始运行一个定时器。
- APP创建SteadyTimer过程中会订阅一个定时器的事件,定时器名称由APP名称+定时器+序列号生成,以保证唯一性。
- APP通过Server/Client的Topic通信方式将定时器name和相关信息发送给定时器Server处理,等时间到期后,定时器Server发布该话题,通知到原APP,执行用户的回调函数。
注意事项
无
父主题: 定时器接口