[infinispan-commits] Infinispan SVN: r1432 - trunk/core/src/main/java/org/infinispan/container/entries.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Tue Feb 2 08:48:43 EST 2010
Author: manik.surtani at jboss.com
Date: 2010-02-02 08:48:43 -0500 (Tue, 02 Feb 2010)
New Revision: 1432
Modified:
trunk/core/src/main/java/org/infinispan/container/entries/TransientCacheEntry.java
trunk/core/src/main/java/org/infinispan/container/entries/TransientMortalCacheEntry.java
Log:
Better calculation of ExpiryTime
Modified: trunk/core/src/main/java/org/infinispan/container/entries/TransientCacheEntry.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/TransientCacheEntry.java 2010-02-02 13:48:13 UTC (rev 1431)
+++ trunk/core/src/main/java/org/infinispan/container/entries/TransientCacheEntry.java 2010-02-02 13:48:43 UTC (rev 1432)
@@ -8,6 +8,8 @@
import java.io.ObjectInput;
import java.io.ObjectOutput;
+import static java.lang.Math.min;
+
/**
* A cache entry that is transient, i.e., it can be considered expired afer a period of not being used.
*
@@ -64,7 +66,7 @@
}
public long getExpiryTime() {
- return -1;
+ return cacheValue.maxIdle > -1 ? cacheValue.lastUsed + cacheValue.maxIdle : -1;
}
public final long getMaxIdle() {
Modified: trunk/core/src/main/java/org/infinispan/container/entries/TransientMortalCacheEntry.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/TransientMortalCacheEntry.java 2010-02-02 13:48:13 UTC (rev 1431)
+++ trunk/core/src/main/java/org/infinispan/container/entries/TransientMortalCacheEntry.java 2010-02-02 13:48:43 UTC (rev 1432)
@@ -8,6 +8,8 @@
import java.io.ObjectInput;
import java.io.ObjectOutput;
+import static java.lang.Math.min;
+
/**
* A cache entry that is both transient and mortal.
*
@@ -65,7 +67,11 @@
}
public final long getExpiryTime() {
- return cacheValue.lifespan > -1 ? cacheValue.created + cacheValue.lifespan : -1;
+ long lset = cacheValue.lifespan > -1 ? cacheValue.created + cacheValue.lifespan : -1;
+ long muet = cacheValue.maxIdle > -1 ? cacheValue.lastUsed + cacheValue.maxIdle : -1;
+ if (lset == -1) return muet;
+ if (muet == -1) return lset;
+ return min(lset, muet);
}
public InternalCacheValue toInternalCacheValue() {
More information about the infinispan-commits
mailing list