Skip to content

Commit eaf896e

Browse files
committed
Refs #24038. Fix
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
1 parent 83c7e16 commit eaf896e

File tree

2 files changed

+23
-17
lines changed

2 files changed

+23
-17
lines changed

src/cpp/rtps/writer/ReaderProxy.cpp

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,6 @@ void ReaderProxy::start(
147147
{
148148
initial_heartbeat_event_->restart_timer();
149149
}
150-
std::cout << "frist_irrelevant_removed_: " << first_irrelevant_removed_ << std::endl;
151150

152151
EPROSIMA_LOG_INFO(RTPS_READER_PROXY, "Reader Proxy started");
153152
}
@@ -178,6 +177,9 @@ void ReaderProxy::stop()
178177
next_expected_acknack_count_ = 0;
179178
last_nackfrag_count_ = 0;
180179
changes_low_mark_ = SequenceNumber_t();
180+
181+
first_irrelevant_removed_ = SequenceNumber_t::unknown();
182+
last_irrelevant_removed_ = SequenceNumber_t::unknown();
181183
}
182184

183185
void ReaderProxy::disable_timers()
@@ -248,7 +250,6 @@ void ReaderProxy::add_change(
248250
{
249251
first_irrelevant_removed_ = seq_num;
250252
last_irrelevant_removed_ = seq_num;
251-
std::cout << "set first_irrelevant_removed_ to " << first_irrelevant_removed_ << std::endl;
252253
}
253254
else if (seq_num == last_irrelevant_removed_ + 1)
254255
{
@@ -354,14 +355,17 @@ bool ReaderProxy::change_is_unsent(
354355
SequenceNumber_t::unknown() != gap_seq)
355356
{
356357
// Check if the hole is due to irrelevant changes removed without informing the reader
357-
if (gap_seq == first_irrelevant_removed_)
358-
{
359-
first_irrelevant_removed_ = SequenceNumber_t::unknown();
360-
last_irrelevant_removed_ = SequenceNumber_t::unknown();
361-
}
362-
else if (gap_seq < last_irrelevant_removed_)
358+
if (first_irrelevant_removed_ <= gap_seq )
363359
{
364-
last_irrelevant_removed_ = gap_seq - 1;
360+
if (gap_seq == first_irrelevant_removed_)
361+
{
362+
first_irrelevant_removed_ = SequenceNumber_t::unknown();
363+
last_irrelevant_removed_ = SequenceNumber_t::unknown();
364+
}
365+
else if (gap_seq < last_irrelevant_removed_)
366+
{
367+
last_irrelevant_removed_ = gap_seq - 1;
368+
}
365369
}
366370
}
367371
}
@@ -483,14 +487,17 @@ bool ReaderProxy::requested_changes_set(
483487
if (SequenceNumber_t::unknown() != first_irrelevant_removed_)
484488
{
485489
// Check if the hole is due to irrelevant changes removed without informing the reader
486-
if (sit == first_irrelevant_removed_)
487-
{
488-
first_irrelevant_removed_ = SequenceNumber_t::unknown();
489-
last_irrelevant_removed_ = SequenceNumber_t::unknown();
490-
}
491-
else if (sit < last_irrelevant_removed_)
490+
if (first_irrelevant_removed_ <= sit )
492491
{
493-
last_irrelevant_removed_ = sit - 1;
492+
if (sit == first_irrelevant_removed_)
493+
{
494+
first_irrelevant_removed_ = SequenceNumber_t::unknown();
495+
last_irrelevant_removed_ = SequenceNumber_t::unknown();
496+
}
497+
else if (sit < last_irrelevant_removed_)
498+
{
499+
last_irrelevant_removed_ = sit - 1;
500+
}
494501
}
495502
}
496503
}

test/blackbox/api/dds-pim/PubSubReader.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,6 @@ class PubSubReader
187187
void on_data_available(
188188
eprosima::fastdds::dds::DataReader* datareader) override
189189
{
190-
std::cout << "yeah" << std::endl;
191190
ASSERT_NE(datareader, nullptr);
192191
{
193192
std::lock_guard<std::mutex> guard(reader_.message_receive_mutex_);

0 commit comments

Comments
 (0)