Skip to content

Commit 5e3545b

Browse files
committed
[#24061] Finished IWriter 'update_topic_partitions()' implementation
Signed-off-by: danipiza <dpizarrogallego@gmail.com>
1 parent 19ef297 commit 5e3545b

5 files changed

Lines changed: 14 additions & 6 deletions

File tree

ddspipe_core/include/ddspipe_core/core/DdsPipe.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@ class DdsPipe
126126
DDSPIPE_CORE_DllAPI
127127
utils::ReturnCode disable() noexcept;
128128

129+
DDSPIPE_CORE_DllAPI
130+
void update_filter(
131+
const std::set<std::string> filter_partition_set);
132+
129133
DDSPIPE_CORE_DllAPI
130134
void update_partitions(
131135
std::set<std::string> partitions_set);

ddspipe_core/src/cpp/communication/dds/DdsBridge.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,6 @@ utils::Heritable<DistributedTopic> DdsBridge::create_topic_for_participant_nts_(
306306
{
307307
// Make a copy of the Topic to customize it according to the Participant's configured QoS.
308308
utils::Heritable<DistributedTopic> topic = topic_->copy();
309-
std::cout << "\tDDSBRIDGE. create_topic" << topic_->partition_name.size() << "\n";
310309

311310
// Impose the Topic QoS that have been pre-configured for the Bridge's topic.
312311
// set_qos only overwrites the Topic QoS that have been set with a lower FuzzyLevel.
@@ -349,7 +348,6 @@ void DdsBridge::add_partition_to_topic(
349348
std::string partition)
350349
{
351350
topic_->partition_name[guid] = partition;
352-
std::cout << "\tDDSBRIDGE. add_partition_to_topic" << topic_->partition_name.size() << "\n";
353351
}
354352

355353
} /* namespace core */

ddspipe_core/src/cpp/core/DdsPipe.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ void DdsPipe::discovered_endpoint_nts_(
322322
}
323323
}
324324
}
325-
update_partitions(filter_partition_);
325+
326326
// update readers outside the lock
327327
if (!filter_partition_.empty())
328328
{
@@ -679,6 +679,15 @@ void DdsPipe::update_content_filter(
679679
}
680680
}
681681

682+
void DdsPipe::update_filter(
683+
const std::set<std::string> filter_partition_set)
684+
{
685+
// Avoid possible datarace with partitions filter
686+
std::lock_guard<std::mutex> lock(bridges_mutex_);
687+
688+
filter_partition_ = filter_partition_set;
689+
}
690+
682691
} /* namespace core */
683692
} /* namespace ddspipe */
684693
} /* namespace eprosima */

ddspipe_participants/src/cpp/participant/rtps/CommonParticipant.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,6 @@ bool CommonParticipant::add_topic_partition(
573573
const std::string& writer_guid,
574574
const std::string& partition)
575575
{
576-
std::cout << "Writer guid: " << writer_guid << "\n";
577576
if (partition_names.find(topic_name) != partition_names.end())
578577
{
579578
// the topic exists

ddspipe_participants/src/cpp/reader/dds/CommonReader.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,6 @@ void CommonReader::on_data_available(
143143
EPROSIMA_LOG_INFO(DDSPIPE_DDS_READER,
144144
"On data available in reader in " << participant_id_ << " for topic " << topic_ << ".");
145145

146-
//std::cout << "On data available in reader in " << participant_id_ << " for topic " << topic_ << "\n";
147-
148146
// The CommonReader notifies the reception of a message to the Monitor when a on_data_available event is received.
149147
// An on_data_available event can be received with more than one message, but figuring out the number of messages
150148
// received is not possible with the current API. Thus, the Monitor will be notified once for each on_data_available

0 commit comments

Comments
 (0)