Should increase writer history depth to fix reader's out of order case. #3580
Replies: 1 comment 2 replies
-
Hi @advancenXX you can either increase writer's depth to a higher value, or modify the QoS to |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
If reliable writer whose depth is 3 sends 4 packages A-B-C-D at the same time, then reader may receive in wrong order like D-A-B-C.
When package D is received, a Heartbeat message shows writer's history has B, C, D, so reader update changes_from_writer_low_mark_ to B, and tell user on_sample_lost.
Then, when package A is received after package D(out of order), package A will not be accepted by fastdds, as,
WriterProxy::change_was_received() {
if (seq_num <= changes_from_writer_low_mark_) {
return true;
}
...
}
So, I find all of package A, B and C will not be accepted by fastdds, and only package D sends on_data_available.
I am wondering if it is the only way to increase writer's depth to 4, so the out of order packages will not be treated as change_was_received.
Beta Was this translation helpful? Give feedback.
All reactions