Open daohu527 opened 1 month ago
string use fastcdr will cause error, so we should regenerate underlay_message
struct underlay_message {
int32_t m_timestamp;
int32_t m_seq;
std::vector<char> m_data;
std::vector<char> m_datatype;
};
for now we use the string size patch instead.
The above error is temporarily fixed, but the message cannot be received
OnChannelChange
not triggered by the corresponding reader and writer
seems subscriber_
can't receive msg from publisher_
, OnRemoteChange
call just own but need others, for example reader need writer, and writer need reader
bool Manager::CreateSubscriber(RtpsParticipant* participant) {
RtpsSubscriberAttr sub_attr;
RETURN_VAL_IF(
!AttributesFiller::FillInSubAttr(
channel_name_, QosProfileConf::QOS_PROFILE_TOPO_CHANGE, &sub_attr),
false);
listener_ = new SubscriberListener(
std::bind(&Manager::OnRemoteChange, this, std::placeholders::_1));
subscriber_ = eprosima::fastrtps::Domain::createSubscriber(
participant, sub_attr, listener_);
return subscriber_ != nullptr;
}
https://github.com/eProsima/Fast-DDS/discussions/5128
Fastdds cannot send or receive data. I suspect it is due to a parameter problem in Participant::CreateFastRtpsParticipant
.
listener not work