/** * Mark this timestamp as being used and reset the idle timer (if in use). Updates <tt>lastAccessedTime</tt> of this * entry to <tt>usedAtTime</tt> * <p /> * Special case when tti=1; this will update the <tt>lastAccessedTime</tt> at <tt>usedAtTime + 1</tt> instead. This is * because as time is not continuous, the entry will expire in the next second even when the entry is accessed in the * last second continuously. This is a result of time not being continuous. Effectively specifying tti=1 is equivalent * to tti=2 * * @param usedAtTime Mark used at this time */ public final void markUsed(int usedAtTime, final ClusteredLock lock, final CacheConfig config) { final boolean capacityEviction = (config.getTargetMaxInMemoryCount() > 0) || (config.getTargetMaxTotalCount() > 0); final int configTTI = config.getMaxTTISeconds(); if (configTTI == 1) { usedAtTime += 1; } if (shouldUpdateIdleTimer(usedAtTime, configTTI)) { setLastAccessedTime(usedAtTime, lock); } if (capacityEviction) { if (!config.getCapacityEvictionPolicyDataFactory().isProductOfFactory(fastGetCapacityEvictionPolicyData())) { // reinitialize capacityEvictionPolicyData take care of CapacityEviction enabled/changed dynamically setCapacityEvictionPolicyData(config.getCapacityEvictionPolicyDataFactory().newCapacityEvictionPolicyData()); } fastGetCapacityEvictionPolicyData().markUsed(usedAtTime); } }
/** * Mark this timestamp as being used and reset the idle timer (if in use). Updates <tt>lastAccessedTime</tt> of this * entry to <tt>usedAtTime</tt> * <p /> * Special case when tti=1; this will update the <tt>lastAccessedTime</tt> at <tt>usedAtTime + 1</tt> instead. This is * because as time is not continuous, the entry will expire in the next second even when the entry is accessed in the * last second continuously. This is a result of time not being continuous. Effectively specifying tti=1 is equivalent * to tti=2 * * @param usedAtTime Mark used at this time */ public final void markUsed(int usedAtTime, final ClusteredLock lock, final CacheConfig config) { final boolean capacityEviction = (config.getTargetMaxInMemoryCount() > 0) || (config.getTargetMaxTotalCount() > 0); final int configTTI = config.getMaxTTISeconds(); if (configTTI == 1) { usedAtTime += 1; } if (shouldUpdateIdleTimer(usedAtTime, configTTI)) { setLastAccessedTime(usedAtTime, lock); } if (capacityEviction) { if (!config.getCapacityEvictionPolicyDataFactory().isProductOfFactory(fastGetCapacityEvictionPolicyData())) { // reinitialize capacityEvictionPolicyData take care of CapacityEviction enabled/changed dynamically setCapacityEvictionPolicyData(config.getCapacityEvictionPolicyDataFactory().newCapacityEvictionPolicyData()); } fastGetCapacityEvictionPolicyData().markUsed(usedAtTime); } }
/** * Mark this timestamp as being used and reset the idle timer (if in use). Updates <tt>lastAccessedTime</tt> of this * entry to <tt>usedAtTime</tt> * <p /> * Special case when tti=1; this will update the <tt>lastAccessedTime</tt> at <tt>usedAtTime + 1</tt> instead. This is * because as time is not continuous, the entry will expire in the next second even when the entry is accessed in the * last second continuously. This is a result of time not being continuous. Effectively specifying tti=1 is equivalent * to tti=2 * * @param usedAtTime Mark used at this time */ public final void markUsed(int usedAtTime, final ClusteredLock lock, final CacheConfig config) { final boolean capacityEviction = (config.getTargetMaxInMemoryCount() > 0) || (config.getTargetMaxTotalCount() > 0); final int configTTI = config.getMaxTTISeconds(); if (configTTI == 1) { usedAtTime += 1; } if (shouldUpdateIdleTimer(usedAtTime, configTTI)) { setLastAccessedTime(usedAtTime, lock); } if (capacityEviction) { if (!config.getCapacityEvictionPolicyDataFactory().isProductOfFactory(fastGetCapacityEvictionPolicyData())) { // reinitialize capacityEvictionPolicyData take care of CapacityEviction enabled/changed dynamically setCapacityEvictionPolicyData(config.getCapacityEvictionPolicyDataFactory().newCapacityEvictionPolicyData()); } fastGetCapacityEvictionPolicyData().markUsed(usedAtTime); } }
/** * Mark this timestamp as being used and reset the idle timer (if in use). Updates <tt>lastAccessedTime</tt> of this * entry to <tt>usedAtTime</tt> * <p /> * Special case when tti=1; this will update the <tt>lastAccessedTime</tt> at <tt>usedAtTime + 1</tt> instead. This is * because as time is not continuous, the entry will expire in the next second even when the entry is accessed in the * last second continuously. This is a result of time not being continuous. Effectively specifying tti=1 is equivalent * to tti=2 * * @param usedAtTime Mark used at this time */ public final void markUsed(int usedAtTime, final String lockId, final CacheConfig config) { boolean capacityEviction = (config.getTargetMaxInMemoryCount() > 0) || (config.getTargetMaxTotalCount() > 0); int configTTI = config.getMaxTTISeconds(); if (configTTI == 1) usedAtTime += 1; if (shouldUpdateIdleTimer(usedAtTime, configTTI)) { setLastAccessedTime(usedAtTime, lockId); } if (capacityEviction) { if (!config.getCapacityEvictionPolicyDataFactory().isProductOfFactory(fastGetCapacityEvictionPolicyData())) { // reinitialize capacityEvictionPolicyData take care of CapacityEviction enabled/changed dynamically setCapacityEvictionPolicyData(config.getCapacityEvictionPolicyDataFactory().newCapacityEvictionPolicyData()); } fastGetCapacityEvictionPolicyData().markUsed(usedAtTime); } }
private void initCapacityEvictionPolicyFromConfig(final TimestampedValue timestampedValue) { if (isCapacityEvictionEnabled()) { // use CapacityEvictionPolicyData.Factory in config to create a new one if its not an instance of the config's // factory CapacityEvictionPolicyData current = timestampedValue.getCapacityEvictionPolicyData(); if (!getConfig().getCapacityEvictionPolicyDataFactory().isProductOfFactory(current)) { CapacityEvictionPolicyData cep = getConfig().getCapacityEvictionPolicyDataFactory() .newCapacityEvictionPolicyData(); timestampedValue.setCapacityEvictionPolicyData(cep); } } }
private void initCapacityEvictionPolicyFromConfig(final TimestampedValue timestampedValue) { if (isCapacityEvictionEnabled()) { // use CapacityEvictionPolicyData.Factory in config to create a new one if its not an instance of the config's // factory CapacityEvictionPolicyData current = timestampedValue.getCapacityEvictionPolicyData(); if (!getConfig().getCapacityEvictionPolicyDataFactory().isProductOfFactory(current)) { CapacityEvictionPolicyData cep = getConfig().getCapacityEvictionPolicyDataFactory() .newCapacityEvictionPolicyData(); timestampedValue.setCapacityEvictionPolicyData(cep); } } }
private void initCapacityEvictionPolicyFromConfig(final TimestampedValue timestampedValue) { if (isCapacityEvictionEnabled()) { // use CapacityEvictionPolicyData.Factory in config to create a new one if its not an instance of the config's // factory CapacityEvictionPolicyData current = timestampedValue.getCapacityEvictionPolicyData(); if (!getConfig().getCapacityEvictionPolicyDataFactory().isProductOfFactory(current)) { CapacityEvictionPolicyData cep = getConfig().getCapacityEvictionPolicyDataFactory() .newCapacityEvictionPolicyData(); timestampedValue.setCapacityEvictionPolicyData(cep); } } }
private void initCapacityEvictionPolicyFromConfig(final TimestampedValue timestampedValue) { if (isCapacityEvictionEnabled()) { // use CapacityEvictionPolicyData.Factory in config to create a new one if its not an instance of the config's // factory CapacityEvictionPolicyData current = timestampedValue.getCapacityEvictionPolicyData(); if (!getConfig().getCapacityEvictionPolicyDataFactory().isProductOfFactory(current)) { CapacityEvictionPolicyData cep = getConfig().getCapacityEvictionPolicyDataFactory() .newCapacityEvictionPolicyData(); timestampedValue.setCapacityEvictionPolicyData(cep); } } }