Apollo 11.0
自动驾驶开放平台
apollo::cyber::service_discovery::SubscriberListener类 参考

#include <subscriber_listener.h>

类 apollo::cyber::service_discovery::SubscriberListener 继承关系图:
apollo::cyber::service_discovery::SubscriberListener 的协作图:

Public 类型

using NewMsgCallback = std::function< void(const std::string &)>
 

Public 成员函数

 SubscriberListener (const NewMsgCallback &callback)
 
virtual ~SubscriberListener ()
 
void onNewDataMessage (eprosima::fastrtps::Subscriber *sub)
 
void onSubscriptionMatched (eprosima::fastrtps::Subscriber *sub, eprosima::fastrtps::MatchingInfo &info)
 

详细描述

在文件 subscriber_listener.h33 行定义.

成员类型定义说明

◆ NewMsgCallback

using apollo::cyber::service_discovery::SubscriberListener::NewMsgCallback = std::function<void(const std::string&)>

在文件 subscriber_listener.h35 行定义.

构造及析构函数说明

◆ SubscriberListener()

apollo::cyber::service_discovery::SubscriberListener::SubscriberListener ( const NewMsgCallback callback)
explicit

在文件 subscriber_listener.cc27 行定义.

28 : callback_(callback) {}

◆ ~SubscriberListener()

apollo::cyber::service_discovery::SubscriberListener::~SubscriberListener ( )
virtual

在文件 subscriber_listener.cc30 行定义.

30 {
31 std::lock_guard<std::mutex> lck(mutex_);
32 callback_ = nullptr;
33}

成员函数说明

◆ onNewDataMessage()

void apollo::cyber::service_discovery::SubscriberListener::onNewDataMessage ( eprosima::fastrtps::Subscriber *  sub)

在文件 subscriber_listener.cc35 行定义.

35 {
36 RETURN_IF_NULL(callback_);
37
38 std::lock_guard<std::mutex> lock(mutex_);
39 eprosima::fastrtps::SampleInfo_t m_info;
40 cyber::transport::UnderlayMessage m;
41 RETURN_IF(!sub->takeNextData(reinterpret_cast<void*>(&m), &m_info));
42 RETURN_IF(m_info.sampleKind != eprosima::fastrtps::ALIVE);
43
44 callback_(m.data());
45}
#define RETURN_IF_NULL(ptr)
Definition log.h:90
#define RETURN_IF(condition)
Definition log.h:106

◆ onSubscriptionMatched()

void apollo::cyber::service_discovery::SubscriberListener::onSubscriptionMatched ( eprosima::fastrtps::Subscriber *  sub,
eprosima::fastrtps::MatchingInfo &  info 
)

在文件 subscriber_listener.cc47 行定义.

49 {
50 (void)sub;
51 (void)info;
52}

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