1
0
Fork 0

add refresh function to consolidate maintenance tasks

This commit is contained in:
Kevin Matz 2022-12-12 11:32:26 -05:00
parent f5d99a03e6
commit 64e6ee1c0a
3 changed files with 13 additions and 3 deletions

View File

@ -323,7 +323,7 @@ void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame)
universe->DmpReceiver(block);
// do ArbitratingUniverse maintence tasks
universes_.at(metadata->universe)->rxRate();
universes_.at(metadata->universe)->refresh();
}

View File

@ -41,6 +41,16 @@ UniverseArbitrator::UniverseArbitrator()
}
/**
* @brief UniverseArbitrator::refresh
*/
void UniverseArbitrator::refresh()
{
purge_stale_sources_();
find_dominant_();
}
/**
* @brief UniverseArbitrator::setHoldLastLook
* @param state
@ -268,8 +278,7 @@ uint8_t UniverseArbitrator::slot(const uint16_t address) const
*/
double UniverseArbitrator::rxRate()
{
purge_stale_sources_();
find_dominant_();
refresh();
auto universe = m_dominant.lock();
if (!universe)
return 0.0;

View File

@ -58,6 +58,7 @@ public:
explicit UniverseArbitrator();
uint16_t expectedUniverse; ///< Expected universe number
void refresh();
// Source universes:
void deleteSourceUniverse(const DATA::data_header&);