FIX: fixed automated deletion of tracks after time
This commit is contained in:
@@ -113,16 +113,16 @@ namespace TrackList
|
||||
void TrackList::checkTrackStore()
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mx_);
|
||||
for (auto [key, value] : TrackStore_)
|
||||
|
||||
for (auto iter = TrackStore_.begin(); iter != TrackStore_.end();)
|
||||
{
|
||||
// value->getSensorTrackMessage()
|
||||
if(value->getLastUpdateTime() >= std::chrono::system_clock::now() + std::chrono::seconds(trackNoUpdateTime))
|
||||
|
||||
if(duration_cast<std::chrono::seconds>(std::chrono::system_clock::now() - iter->second->getLastUpdateTime()).count() >= trackNoUpdateTime)
|
||||
{
|
||||
auto it = TrackStore_.find(key);
|
||||
TrackStore_.erase(it);
|
||||
iter = TrackStore_.erase(iter);
|
||||
}else {
|
||||
iter++;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -244,7 +244,7 @@ SCENARIO("Testing the SimCore SensorManager with local sensors")
|
||||
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(10000));
|
||||
|
||||
REQUIRE(SensorManager_->getTrackListUpdateRaw()->getSensors().at(0).getTracksCount() == 0);
|
||||
REQUIRE(SensorManager_->getSensorListAsVector().at(0)->TrackStore.getSize() == 0);
|
||||
|
||||
|
||||
SensorManager_->stop();
|
||||
|
||||
Reference in New Issue
Block a user