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

#include <subscriber_listener.h>

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

Public 成员函数

 SubscriberListener (const transport::rtps::subsciber_callback &callback)
 
virtual ~SubscriberListener ()
 
void on_data_available (eprosima::fastdds::dds::DataReader *reader) override
 
void on_subscription_matched (eprosima::fastdds::dds::DataReader *reader, const eprosima::fastdds::dds::SubscriptionMatchedStatus &info) override
 

详细描述

在文件 subscriber_listener.h36 行定义.

构造及析构函数说明

◆ SubscriberListener()

apollo::cyber::service_discovery::SubscriberListener::SubscriberListener ( const transport::rtps::subsciber_callback callback)
explicit

在文件 subscriber_listener.cc34 行定义.

36 : callback_(callback) {}

◆ ~SubscriberListener()

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

在文件 subscriber_listener.cc38 行定义.

38 {
39 std::lock_guard<std::mutex> lck(mutex_);
40 callback_ = nullptr;
41}

成员函数说明

◆ on_data_available()

void apollo::cyber::service_discovery::SubscriberListener::on_data_available ( eprosima::fastdds::dds::DataReader *  reader)
override

在文件 subscriber_listener.cc43 行定义.

44 {
45 RETURN_IF_NULL(callback_);
46
47 eprosima::fastdds::dds::SampleInfo m_info;
48 cyber::transport::UnderlayMessage m;
49 while (reader->take_next_sample(reinterpret_cast<void*>(&m), &m_info) ==
50 eprosima::fastrtps::types::ReturnCode_t::RETCODE_OK) {
51 if (m_info.valid_data) {
52 // parameter 1 and 2 are not used
53 callback_(std::make_shared<std::string>(m.data()), 0, msg_info_);
54 } else {
55 AERROR << "Remote writer for topic "
56 << reader->get_topicdescription()->get_name() << " is dead";
57 }
58 }
59}
#define RETURN_IF_NULL(ptr)
Definition log.h:90
#define AERROR
Definition log.h:44

◆ on_subscription_matched()

void apollo::cyber::service_discovery::SubscriberListener::on_subscription_matched ( eprosima::fastdds::dds::DataReader *  reader,
const eprosima::fastdds::dds::SubscriptionMatchedStatus &  info 
)
override

在文件 subscriber_listener.cc61 行定义.

63 {
64 (void)reader;
65 (void)info;
66}

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