@@ -403,7 +403,11 @@ CHIP_ERROR ReadClient::BuildDataVersionFilterList(DataVersionFilterIBs::Builder
403
403
const Span<DataVersionFilter> & aDataVersionFilters,
404
404
bool & aEncodedDataVersionList)
405
405
{
406
- ChipLogProgress (DataManagement, " Attempting to encode %lu data version filters" , static_cast <unsigned long >(aDataVersionFilters.size ()));
406
+ #if CHIP_PROGRESS_LOGGING
407
+ size_t encodedFilterCount = 0 ;
408
+ size_t irrelevantFilterCount = 0 ;
409
+ size_t skippedFilterCount = 0 ;
410
+ #endif
407
411
for (auto & filter : aDataVersionFilters)
408
412
{
409
413
VerifyOrReturnError (filter.IsValidDataVersionFilter (), CHIP_ERROR_INVALID_ARGUMENT);
@@ -421,6 +425,9 @@ CHIP_ERROR ReadClient::BuildDataVersionFilterList(DataVersionFilterIBs::Builder
421
425
422
426
if (!intersected)
423
427
{
428
+ #if CHIP_PROGRESS_LOGGING
429
+ ++irrelevantFilterCount;
430
+ #endif
424
431
continue ;
425
432
}
426
433
@@ -429,25 +436,31 @@ CHIP_ERROR ReadClient::BuildDataVersionFilterList(DataVersionFilterIBs::Builder
429
436
CHIP_ERROR err = EncodeDataVersionFilter (aDataVersionFilterIBsBuilder, filter);
430
437
if (err == CHIP_NO_ERROR)
431
438
{
439
+ #if CHIP_PROGRESS_LOGGING
440
+ ++encodedFilterCount;
441
+ #endif
432
442
aEncodedDataVersionList = true ;
433
443
}
434
444
else if (err == CHIP_ERROR_NO_MEMORY || err == CHIP_ERROR_BUFFER_TOO_SMALL)
435
445
{
436
446
// Packet is full, ignore the rest of the list
437
447
aDataVersionFilterIBsBuilder.Rollback (backup);
438
448
#if CHIP_PROGRESS_LOGGING
439
- ssize_t nonSkippedFilters = &filter - aDataVersionFilters.data ();
440
- size_t skippedFilters = aDataVersionFilters.size () - static_cast <size_t >(nonSkippedFilters);
441
- ChipLogProgress (DataManagement, " Skipped encoding %lu out of %lu data version filters due to lack of space" ,
442
- static_cast <unsigned long >(skippedFilters), static_cast <unsigned long >(aDataVersionFilters.size ()));
449
+ ssize_t nonSkippedFilterCount = &filter - aDataVersionFilters.data ();
450
+ skippedFilterCount = aDataVersionFilters.size () - static_cast <size_t >(nonSkippedFilterCount);
443
451
#endif // CHIP_PROGRESS_LOGGING
444
- return CHIP_NO_ERROR ;
452
+ break ;
445
453
}
446
454
else
447
455
{
448
456
return err;
449
457
}
450
458
}
459
+
460
+ ChipLogProgress (DataManagement,
461
+ " %lu data version filters provided, %lu not relevant, %lu encoded, %lu skipped due to lack of space" ,
462
+ static_cast <unsigned long >(aDataVersionFilters.size ()), static_cast <unsigned long >(irrelevantFilterCount),
463
+ static_cast <unsigned long >(encodedFilterCount), static_cast <unsigned long >(skippedFilterCount));
451
464
return CHIP_NO_ERROR;
452
465
}
453
466
0 commit comments