/** * Expunge stale entries from the table. */ private void expungeStaleEntries() { Object r; while ((r = queue.poll()) != null) { Entry entry = (Entry) r; int hash = entry.getHash(); Entry[] tab = table; int index = (hash & 0x7FFFFFFF) % tab.length; for (Entry e = tab[index], prev = null; e != null; prev = e, e = e.getNext()) { if (e == entry) { if (prev != null) prev.setNext(e.getNext()); // otherwise put the bucket after us else tab[index] = e.getNext(); count--; if (keyType == HARD) valueExpired(e.getKey()); else keyExpired(e.getValue()); } } } }
/** * Expunge stale entries from the table. */ private void expungeStaleEntries() { Object r; while ((r = queue.poll()) != null) { Entry entry = (Entry) r; int hash = entry.getHash(); Entry[] tab = table; int index = (hash & 0x7FFFFFFF) % tab.length; for (Entry e = tab[index], prev = null; e != null; prev = e, e = e.getNext()) { if (e == entry) { if (prev != null) prev.setNext(e.getNext()); // otherwise put the bucket after us else tab[index] = e.getNext(); count--; if (keyType == HARD) valueExpired(e.getKey()); else keyExpired(e.getValue()); } } } }
/** * Expunge stale entries from the table. */ private void expungeStaleEntries() { Object r; while ((r = queue.poll()) != null) { Entry entry = (Entry) r; int hash = entry.getHash(); Entry[] tab = table; int index = (hash & 0x7FFFFFFF) % tab.length; for (Entry e = tab[index], prev = null; e != null; prev = e, e = e.getNext()) { if (e == entry) { if (prev != null) prev.setNext(e.getNext()); // otherwise put the bucket after us else tab[index] = e.getNext(); count--; if (keyType == HARD) valueExpired(e.getKey()); else keyExpired(e.getValue()); } } } }
/** * Expunge stale entries from the table. */ private void expungeStaleEntries() { Object r; while ((r = queue.poll()) != null) { Entry entry = (Entry) r; int hash = entry.getHash(); Entry[] tab = table; int index = (hash & 0x7FFFFFFF) % tab.length; for (Entry e = tab[index], prev = null; e != null; prev = e, e = e.getNext()) { if (e == entry) { if (prev != null) prev.setNext(e.getNext()); // otherwise put the bucket after us else tab[index] = e.getNext(); count--; if (keyType == HARD) valueExpired(e.getKey()); else keyExpired(e.getValue()); } } } }