设备基础类,提供判断设备离线的基础功能
更多...
设备基础类,提供判断设备离线的基础功能
这个类主要提供判断设备是否离线的功能,设备离线的判断是基于心跳机制实现的。
设备类应当继承自这个类,并在适当的时候调用tick()方法来更新心跳时间。 如果设备在指定的离线超时时间内没有收到心跳,则认为设备离线。
此外,我们默认每个设备都有自己的task(),但有的设备可能没有,因此在这里提供一个空的task()实现。
在文件 base.hpp 第 36 行定义.
#include <base.hpp>
◆ device_base()
| roboctrl::device::device_base::device_base |
( |
const std::chrono::nanoseconds |
offline_timeout | ) |
|
◆ offline()
| bool roboctrl::device::device_base::offline |
( |
| ) |
|
|
inline |
◆ task()
◆ tick()
| void roboctrl::device::device_base::tick |
( |
| ) |
|
|
inline |
◆ offline_timeout_
| const std::chrono::nanoseconds roboctrl::device::device_base::offline_timeout_ |
|
protected |
◆ terminated_
| bool roboctrl::device::device_base::terminated_ = false |
|
protected |
◆ tick_time_
| std::chrono::nanoseconds roboctrl::device::device_base::tick_time_ |
|
protected |
初始值:{
}
asio::awaitable< T > awaitable
协程任务类型。
auto now()
记录程序启动后的纳秒级时间戳。
const std::chrono::nanoseconds offline_timeout_
设备离线超时时间
上次心跳时间
在文件 base.hpp 第 41 行定义.
被这些函数引用 offline() , 以及 tick().
该结构体的文档由以下文件生成:
- /home/runner/work/GKD.RoboCtrl/GKD.RoboCtrl/include/device/base.hpp
- device/base.cpp