}
auto newHandler = std::make_shared<ObserveCache>(pResource);
- newHandler->startCache(std::move(func));
- m_observeCacheList.push_back(newHandler);
+ newHandler->startCache(std::move(func), (rf == REPORT_FREQUENCY::WHENEVER_NOTIFIED));
observeCacheIDmap.insert(std::make_pair(retID, newHandler));
return retID;
if ((dataCacheIns == cacheIDmap.end() && observeIns == observeCacheIDmap.end())
|| id == 0)
{
- lock.~lock_guard();
throw RCSInvalidParameterException {"[cancelResourceCache] CacheID is invaild"};
}
catch (...)
{
(observeIns->second).reset();
- observeCacheIDmap.erase(observeIns);
- lock.~lock_guard();
+ observeCacheIDmap.erase(id);
throw;
}
(observeIns->second).reset();
- observeCacheIDmap.erase(observeIns);
+ observeCacheIDmap.erase(id);
return;
}
if (updateId == 0)
{
- throw RCSInvalidParameterException {"[getCachedData] CacheID is NULL"};
+ throw RCSInvalidParameterException {"[updateResourceCache] CacheID is NULL"};
}
DataCachePtr foundCache = findDataCache(updateId);
if (foundCache == nullptr)
{
- throw RCSInvalidParameterException {"[getCachedData] CacheID is invaild"};
+ throw RCSInvalidParameterException {"[updateResourceCache] CacheID is invaild"};
}
foundCache->requestGet();
}