You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Suppose the following scenario:
Writer QoS: KEEP_ALL_HISTORY_QOS + RELIABLE_RELIABILITY_QOS + VOLATILE_DURABILITY_QOS.
Reader QoS: KEEP_ALL_HISTORY_QOS + RELIABLE_RELIABILITY_QOS + VOLATILE_DURABILITY_QOS.
It seems that the sample written in on_publication_matched() callback function can't be delivered to reader reliably.
void on_publication_matched(fdds::DataWriter *writer, const fdds::PublicationMatchedStatus &info) {
if (info.current_count_change >= 1) { // Write on publication matched
writer->write(&sample);
}
}
I got the following logs according to time sequence:
Writer discovers reader and invoke on_publication_matched() callback function.
Writer writes sample in on_publication_matched() callback function.
Reader discovers writer and invoke on_superscription_matched() callback function.
And the sample written in on_publication_matched() lost. The matched current_count in Writer.log is 2 is because that I have two readers. One reader can receive the sample, but the other one can't.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Suppose the following scenario:
Writer QoS:
KEEP_ALL_HISTORY_QOS
+RELIABLE_RELIABILITY_QOS
+VOLATILE_DURABILITY_QOS
.Reader QoS:
KEEP_ALL_HISTORY_QOS
+RELIABLE_RELIABILITY_QOS
+VOLATILE_DURABILITY_QOS
.It seems that the sample written in
on_publication_matched()
callback function can't be delivered to reader reliably.I got the following logs according to time sequence:
on_publication_matched()
callback function.on_publication_matched()
callback function.on_superscription_matched()
callback function.Writer.log
Reader.log
And the sample written in
on_publication_matched()
lost. Thematched current_count
in Writer.log is 2 is because that I have two readers. One reader can receive the sample, but the other one can't.Beta Was this translation helpful? Give feedback.
All reactions