Exemplo n.º 1
0
 public void put(CacheObject r) {
   if (r.isStream()) {
     fifo.put(r);
   } else if (recentlyUsed.get(r.getPos()) != null) {
     lru.put(r);
   } else {
     fifo.put(r);
     lastUsed = r.getPos();
   }
 }
Exemplo n.º 2
0
 public CacheObject get(int pos) {
   CacheObject r = lru.find(pos);
   if (r != null) {
     return r;
   }
   r = fifo.find(pos);
   if (r != null && !r.isStream()) {
     if (recentlyUsed.get(pos) != null) {
       if (lastUsed != pos) {
         fifo.remove(pos);
         lru.put(r);
       }
     } else {
       recentlyUsed.put(pos, this);
     }
     lastUsed = pos;
   }
   return r;
 }