Apollo 10.0
自动驾驶开放平台
apollo::cyber::base::TimeoutBlockWaitStrategy类 参考

#include <wait_strategy.h>

类 apollo::cyber::base::TimeoutBlockWaitStrategy 继承关系图:
apollo::cyber::base::TimeoutBlockWaitStrategy 的协作图:

Public 成员函数

 TimeoutBlockWaitStrategy ()
 
 TimeoutBlockWaitStrategy (uint64_t timeout)
 
void NotifyOne () override
 
bool EmptyWait () override
 
void BreakAllWait () override
 
void SetTimeout (uint64_t timeout)
 
- Public 成员函数 继承自 apollo::cyber::base::WaitStrategy
virtual ~WaitStrategy ()
 

详细描述

在文件 wait_strategy.h90 行定义.

构造及析构函数说明

◆ TimeoutBlockWaitStrategy() [1/2]

apollo::cyber::base::TimeoutBlockWaitStrategy::TimeoutBlockWaitStrategy ( )
inline

在文件 wait_strategy.h92 行定义.

92{}

◆ TimeoutBlockWaitStrategy() [2/2]

apollo::cyber::base::TimeoutBlockWaitStrategy::TimeoutBlockWaitStrategy ( uint64_t  timeout)
inlineexplicit

在文件 wait_strategy.h93 行定义.

94 : time_out_(std::chrono::milliseconds(timeout)) {}

成员函数说明

◆ BreakAllWait()

void apollo::cyber::base::TimeoutBlockWaitStrategy::BreakAllWait ( )
inlineoverridevirtual

重载 apollo::cyber::base::WaitStrategy .

在文件 wait_strategy.h106 行定义.

106{ cv_.notify_all(); }

◆ EmptyWait()

bool apollo::cyber::base::TimeoutBlockWaitStrategy::EmptyWait ( )
inlineoverridevirtual

实现了 apollo::cyber::base::WaitStrategy.

在文件 wait_strategy.h98 行定义.

98 {
99 std::unique_lock<std::mutex> lock(mutex_);
100 if (cv_.wait_for(lock, time_out_) == std::cv_status::timeout) {
101 return false;
102 }
103 return true;
104 }

◆ NotifyOne()

void apollo::cyber::base::TimeoutBlockWaitStrategy::NotifyOne ( )
inlineoverridevirtual

重载 apollo::cyber::base::WaitStrategy .

在文件 wait_strategy.h96 行定义.

96{ cv_.notify_one(); }

◆ SetTimeout()

void apollo::cyber::base::TimeoutBlockWaitStrategy::SetTimeout ( uint64_t  timeout)
inline

在文件 wait_strategy.h108 行定义.

108 {
109 time_out_ = std::chrono::milliseconds(timeout);
110 }

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