Apollo 10.0
自动驾驶开放平台
apollo::monitor::ChannelMonitor类 参考

#include <channel_monitor.h>

类 apollo::monitor::ChannelMonitor 继承关系图:
apollo::monitor::ChannelMonitor 的协作图:

Public 成员函数

 ChannelMonitor (const std::shared_ptr< LatencyMonitor > &latency_monitor)
 
void RunOnce (const double current_time) override
 
- Public 成员函数 继承自 apollo::monitor::RecurrentRunner
 RecurrentRunner (const std::string &name, const double interval)
 
virtual ~RecurrentRunner ()=default
 
void Tick (const double current_time)
 

额外继承的成员函数

- Protected 属性 继承自 apollo::monitor::RecurrentRunner
std::string name_
 
unsigned int round_count_ = 0
 

详细描述

在文件 channel_monitor.h30 行定义.

构造及析构函数说明

◆ ChannelMonitor()

apollo::monitor::ChannelMonitor::ChannelMonitor ( const std::shared_ptr< LatencyMonitor > &  latency_monitor)
explicit

在文件 channel_monitor.cc147 行定义.

149 : RecurrentRunner(FLAGS_channel_monitor_name,
150 FLAGS_channel_monitor_interval),
151 latency_monitor_(latency_monitor) {}
RecurrentRunner(const std::string &name, const double interval)

成员函数说明

◆ RunOnce()

void apollo::monitor::ChannelMonitor::RunOnce ( const double  current_time)
overridevirtual

实现了 apollo::monitor::RecurrentRunner.

在文件 channel_monitor.cc153 行定义.

153 {
154 auto manager = MonitorManager::Instance();
155 const auto& mode = manager->GetHMIMode();
156 auto* components = manager->GetStatus()->mutable_components();
157 for (const auto& iter : mode.monitored_components()) {
158 const std::string& name = iter.first;
159 const auto& config = iter.second;
160 if (config.has_channel()) {
161 double freq;
162 const auto update_freq =
163 latency_monitor_->GetFrequency(config.channel().name(), &freq);
164 UpdateStatus(config.channel(),
165 components->at(name).mutable_channel_status(), update_freq,
166 freq);
167 }
168 }
169}

该类的文档由以下文件生成: