Skip to content

Commit fc285b1

Browse files
committed
Refs #23968. Fix
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
1 parent 80cf37b commit fc285b1

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

src/cpp/rtps/writer/StatefulWriter.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -637,6 +637,7 @@ DeliveryRetCode StatefulWriter::deliver_sample_to_network(
637637
FragmentNumber_t min_unsent_fragment {0};
638638
bool need_reactivate_periodic_heartbeat {false};
639639

640+
// If all fragments were sent, start again from fragment 1.
640641
if (n_fragments > 0 && change->writer_info.last_fragment_sent >= n_fragments)
641642
{
642643
change->writer_info.last_fragment_sent = 0;
@@ -1963,6 +1964,8 @@ void StatefulWriter::perform_nack_response()
19631964
{
19641965
// This labmda is called if the ChangeForReader_t pass from REQUESTED to UNSENT.
19651966
assert(nullptr != change.getChange());
1967+
// Reset fragment info to resend from the beginning
1968+
change.getChange()->writer_info.last_fragment_sent = 0;
19661969
flow_controller_->add_old_sample(this, change.getChange());
19671970
}
19681971
);

0 commit comments

Comments
 (0)