@@ -649,6 +649,15 @@ DeliveryRetCode StatefulWriter::deliver_sample_to_network(
649649 {
650650 SequenceNumber_t gap_seq;
651651 FragmentNumber_t next_unsent_frag = 0 ;
652+
653+ if (SequenceNumber_t::unknown () != (*remote_reader)->first_irrelevant_removed ())
654+ {
655+ // Send GAP with irrelevant changes that are not in history.
656+ group.sender (this , (*remote_reader)->message_sender ());
657+ add_gaps_for_removed_irrelevants (**remote_reader, group);
658+ group.sender (this , &locator_selector); // This makes the flush_and_reset().
659+ }
660+
652661 if ((*remote_reader)->change_is_unsent (change->sequenceNumber , next_unsent_frag, gap_seq, get_seq_num_min (),
653662 need_reactivate_periodic_heartbeat) &&
654663 (0 == n_fragments || min_unsent_fragment >= next_unsent_frag))
@@ -665,14 +674,6 @@ DeliveryRetCode StatefulWriter::deliver_sample_to_network(
665674 should_be_sent = true ;
666675 inline_qos |= (*remote_reader)->expects_inline_qos ();
667676
668- if (SequenceNumber_t::unknown () != (*remote_reader)->first_irrelevant_removed ())
669- {
670- // Send GAP with irrelevant changes that are not in history.
671- group.sender (this , (*remote_reader)->message_sender ());
672- add_gaps_for_removed_irrelevants (**remote_reader, group);
673- group.sender (this , &locator_selector); // This makes the flush_and_reset().
674- }
675-
676677 // If there is a hole (removed from history or not relevants) between previous sample and this one,
677678 // send it a personal GAP.
678679 if (SequenceNumber_t::unknown () != gap_seq)
0 commit comments