43 bool cacheFound =
false;
44 int cacheAge = 999999999;
45 std::map<int, counted_brick>::iterator cache_iter =
brickMap.begin();
46 std::map<int, counted_brick>::iterator cache_icfg =
brickMap.find(cfgId);
47 std::map<int, counted_brick>::iterator cache_iend =
brickMap.end();
48 if (cache_icfg != cache_iend) {
49 std::pair<const int, counted_brick>&
entry = *cache_icfg;
51 cacheAge = cBrick.first;
56 std::map<int, const DTKeyedConfig*> ageMap;
60 while (cache_iter != cache_iend) {
61 std::pair<const int, counted_brick>&
entry = *cache_iter++;
63 int& brickAge = cBrick.first;
64 if (brickAge < cacheAge)
66 if (entry.first == cfgId)
71 while (cache_iter != cache_iend) {
72 std::pair<const int, counted_brick>&
entry = *cache_iter++;
74 ageMap.insert(std::pair<int, const DTKeyedConfig*>(++cBrick.first, entry.second.second));
78 std::shared_ptr<DTKeyedConfig> kBrick;
79 bool brickFound =
false;
83 brickFound = (kBrick->getId() == cfgId);
88 brickMap.insert(std::pair<int, counted_brick>(cfgId, cBrick));
93 while (d_iter != d_iend)
96 std::map<int, const DTKeyedConfig*>::reverse_iterator iter = ageMap.rbegin();
100 int oldestId = oldestBrick->
getId();
105 while (d_iter != d_iend)
117 get(keyList, cfgId,
obj);
122 while (d_iter != d_iend)
123 list.push_back(*d_iter++);
126 while (l_iter != l_iend)
127 getData(keyList, *l_iter++, list);
132 std::map<int, counted_brick>::const_iterator iter =
brickMap.begin();
133 std::map<int, counted_brick>::const_iterator iend =
brickMap.end();
134 while (iter != iend) {
135 delete iter->second.second;
std::map< int, counted_brick > brickMap
std::pair< int, const DTKeyedConfig * > counted_brick
data_iterator dataBegin() const
link_iterator linkBegin() const
link_iterator linkEnd() const
void getData(const cond::persistency::KeyList &keyList, int cfgId, std::vector< std::string > &list)
static const int maxByteNumber
std::vector< int >::const_iterator link_iterator
std::vector< std::string >::const_iterator data_iterator
std::shared_ptr< T > getUsingKey(unsigned long long key) const
static const int maxBrickNumber
static const int maxStringNumber
int get(const cond::persistency::KeyList &keyList, int cfgId, const DTKeyedConfig *&obj)
tuple size
Write out results.
data_iterator dataEnd() const
virtual ~DTKeyedConfigCache()