From 31c8476b5dc887e69ee474792c7c581acb82852a Mon Sep 17 00:00:00 2001 From: hermens Date: Tue, 31 Jan 2006 01:04:23 +0000 Subject: [PATCH] plasmaWordIndexCache.getContainer: *) Also get entries from cache *) calculate available remaining time for backend.getContainer correctly git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@1501 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- source/de/anomic/plasma/plasmaWordIndexCache.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/source/de/anomic/plasma/plasmaWordIndexCache.java b/source/de/anomic/plasma/plasmaWordIndexCache.java index 4a85caf45..f15a587ea 100644 --- a/source/de/anomic/plasma/plasmaWordIndexCache.java +++ b/source/de/anomic/plasma/plasmaWordIndexCache.java @@ -408,12 +408,16 @@ public final class plasmaWordIndexCache implements plasmaWordIndexInterface { public plasmaWordIndexEntryContainer getContainer(String wordHash, boolean deleteIfEmpty, long maxTime) { long start = System.currentTimeMillis(); - if (maxTime > 0) maxTime = 8 * maxTime / 10; // reserve time for later adding to backend - plasmaWordIndexEntryContainer container = assortmentCluster.getFromAll(wordHash, maxTime); + plasmaWordIndexEntryContainer container = (plasmaWordIndexEntryContainer) cache.get(wordHash); if (container == null) { container = new plasmaWordIndexEntryContainer(wordHash); } - container.add(backend.getContainer(wordHash, deleteIfEmpty, (maxTime < 0) ? -1 : System.currentTimeMillis() - start)); + container.add(assortmentCluster.getFromAll(wordHash, (maxTime < 1) ? -1 : 8 * maxTime / 10)); + if (maxTime > 0) { + maxTime -= System.currentTimeMillis() - start; + if (maxTime < 0) maxTime = 0; + } + container.add(backend.getContainer(wordHash, deleteIfEmpty, maxTime)); return container; }