25
25
#include < fastdds/dds/domain/DomainParticipantFactory.hpp>
26
26
#include < fastdds/dds/domain/qos/DomainParticipantFactoryQos.hpp>
27
27
#include < fastdds/dds/domain/DomainParticipantListener.hpp>
28
+ #include < fastdds/dds/log/Log.hpp>
28
29
#include < fastdds/dds/subscriber/DataReader.hpp>
29
30
#include < fastdds/dds/subscriber/Subscriber.hpp>
30
31
#include < fastdds/dds/topic/Topic.hpp>
@@ -122,7 +123,11 @@ void StatisticsBackendData::on_data_available(
122
123
DataKind data_kind)
123
124
{
124
125
auto monitor = monitors_by_entity_.find (domain_id);
125
- assert (monitor != monitors_by_entity_.end ());
126
+ if (monitor == monitors_by_entity_.end ())
127
+ {
128
+ logWarning (STATISTICS_BACKEND_DATA, " Monitor not found for domain " << domain_id);
129
+ return ;
130
+ }
126
131
127
132
if (should_call_domain_listener (*monitor->second , CallbackKind::ON_DATA_AVAILABLE, data_kind))
128
133
{
@@ -140,7 +145,11 @@ void StatisticsBackendData::on_status_reported(
140
145
StatusKind status_kind)
141
146
{
142
147
auto monitor = monitors_by_entity_.find (domain_id);
143
- assert (monitor != monitors_by_entity_.end ());
148
+ if (monitor == monitors_by_entity_.end ())
149
+ {
150
+ logWarning (STATISTICS_BACKEND_DATA, " Monitor not found for domain " << domain_id);
151
+ return ;
152
+ }
144
153
145
154
if (should_call_domain_listener (*monitor->second , CallbackKind::ON_STATUS_REPORTED))
146
155
{
@@ -228,7 +237,12 @@ void StatisticsBackendData::on_domain_entity_discovery(
228
237
DiscoveryStatus discovery_status)
229
238
{
230
239
auto monitor = monitors_by_entity_.find (domain_id);
231
- assert (monitor != monitors_by_entity_.end ());
240
+ if (monitor == monitors_by_entity_.end ())
241
+ {
242
+ logWarning (STATISTICS_BACKEND_DATA, " Monitor not found for domain " << domain_id);
243
+ return ;
244
+ }
245
+
232
246
switch (entity_kind)
233
247
{
234
248
case EntityKind::PARTICIPANT:
@@ -306,7 +320,7 @@ void StatisticsBackendData::on_domain_entity_discovery(
306
320
}
307
321
default :
308
322
{
309
- assert ( false && " Invalid domain entity kind" );
323
+ logWarning (STATISTICS_BACKEND, " Invalid domain entity kind" );
310
324
}
311
325
}
312
326
}
@@ -316,7 +330,11 @@ void StatisticsBackendData::on_physical_entity_discovery(
316
330
EntityKind entity_kind,
317
331
DiscoveryStatus discovery_status)
318
332
{
319
- assert (discovery_status != DiscoveryStatus::UPDATE);
333
+ if (discovery_status == DiscoveryStatus::UPDATE)
334
+ {
335
+ logWarning (STATISTICS_BACKEND, " UPDATE discovery status is not supported for physical entities" );
336
+ return ;
337
+ }
320
338
321
339
switch (entity_kind)
322
340
{
@@ -370,7 +388,7 @@ void StatisticsBackendData::on_physical_entity_discovery(
370
388
}
371
389
default :
372
390
{
373
- assert ( false && " Invalid physical entity kind" );
391
+ logWarning (STATISTICS_BACKEND, " Invalid physical entity kind" );
374
392
}
375
393
}
376
394
}
0 commit comments