Purges stale entries from the cache.
()
| 114 | * Purges stale entries from the cache. |
| 115 | */ |
| 116 | private void purge() { |
| 117 | for(Object x; (x = queue.poll()) != null;) { |
| 118 | final BucketEntry e = (BucketEntry) x; |
| 119 | final int i = indexFor(e.hash, buckets.length); |
| 120 | BucketEntry prev = buckets[i], p = prev; |
| 121 | while(p != null) { |
| 122 | final BucketEntry next = p.next; |
| 123 | if(p == e) { |
| 124 | delete(i, e, prev, next); |
| 125 | break; |
| 126 | } |
| 127 | prev = p; |
| 128 | p = next; |
| 129 | } |
| 130 | } |
| 131 | } |
| 132 | |
| 133 | /** |
| 134 | * Add a new index entry to the bucket with the specified index. |