private boolean checkForRefresh(Element elem, long accessTime, long timeToRefreshMillis) { if (elem == null) { return false; } long minAccessForRefreshTime = elem.getCreationTime() + timeToRefreshMillis; return (accessTime >= minAccessForRefreshTime); }
/** * Returns a {@link String} representation of the {@link Element}. */ @Override public final String toString() { StringBuilder sb = new StringBuilder(); sb.append("[ key = ").append(key) .append(", value=").append(value) .append(", version=").append(version) .append(", hitCount=").append(hitCount) .append(", CreationTime = ").append(this.getCreationTime()) .append(", LastAccessTime = ").append(this.getLastAccessTime()) .append(" ]"); return sb.toString(); }
/** * Create a new write operation for a particular element and creation time * * @param element the element to write * @param creationTime the creation time of the operation */ public WriteOperation(Element element, long creationTime) { this.element = new Element(element.getObjectKey(), element.getObjectValue(), element.getVersion(), element.getCreationTime(), element.getLastAccessTime(), element.getHitCount(), false, element.getTimeToLive(), element.getTimeToIdle(), element.getLastUpdateTime()); this.creationTime = creationTime; }
private CacheEntry duplicateCacheEntryElement(CacheEntry entry) { if (null == entry.getElement()) { return entry; } else { Element element = entry.getElement(); return new CacheEntry(entry.getKey(), new Element(element.getObjectKey(), element.getObjectValue(), element.getVersion(), element.getCreationTime(), element.getLastAccessTime(), element.getHitCount(), false, element.getTimeToLive(), element.getTimeToIdle(), element.getLastUpdateTime())); } }
public ElementData(final Element element) { this.value = element.getValue(); this.version = element.getVersion(); this.creationTime = element.getCreationTime(); this.lastAccessTime = element.getLastAccessTime(); this.hitCount = element.getHitCount(); this.cacheDefaultLifespan = element.usesCacheDefaultLifespan(); this.lastUpdateTime = element.getLastUpdateTime(); }
private boolean doPutWithCustomLifespan(String portableKey, Element element) { ElementData value = valueModeHandler.createElementData(element); int creationTimeInSecs = (int) (element.getCreationTime() / 1000); int customTTI = element.isEternal() ? Integer.MAX_VALUE : element.getTimeToIdle(); int customTTL = element.isEternal() ? Integer.MAX_VALUE : element.getTimeToLive(); if (checkContainsKeyOnPut) { return backend.put(portableKey, value, creationTimeInSecs, customTTI, customTTL) == null; } else { backend.putNoReturn(portableKey, value, creationTimeInSecs, customTTI, customTTL); return true; } }
/** * Make a duplicate of an element but using the specified value * * @param element the element to duplicate * @param newValue the new element's value * @return the duplicated element */ public Element duplicateElementWithNewValue(final Element element, final Object newValue) { Element newElement; if (element.usesCacheDefaultLifespan()) { newElement = new Element(element.getObjectKey(), newValue, element.getVersion(), element.getCreationTime(), element.getLastAccessTime(), element.getHitCount(), element.usesCacheDefaultLifespan(), Integer.MIN_VALUE, Integer.MIN_VALUE, element.getLastUpdateTime()); } else { newElement = new Element(element.getObjectKey(), newValue, element.getVersion(), element.getCreationTime(), element.getLastAccessTime(), element.getHitCount(), element.usesCacheDefaultLifespan(), element.getTimeToLive(), element.getTimeToIdle(), element.getLastUpdateTime()); } if (ElementIdHelper.hasId(element)) { ElementIdHelper.setId(newElement, ElementIdHelper.getId(element)); } return newElement; }
private boolean checkForRefresh(Element elem, long accessTime, long timeToRefreshMillis) { if (elem == null) { return false; } long minAccessForRefreshTime = elem.getCreationTime() + timeToRefreshMillis; return (accessTime >= minAccessForRefreshTime); }
private boolean checkForRefresh(Element elem, long accessTime, long timeToRefreshMillis) { if (elem == null) { return false; } long minAccessForRefreshTime = elem.getCreationTime() + timeToRefreshMillis; return (accessTime >= minAccessForRefreshTime); }
private void expireElement(Element element, int adjustTTL) { long lastAccessTime = element.getLastAccessTime(); long creationTime = element.getCreationTime(); // set element eviction to ('now' + expiredTTL) seconds in the future int timeToLive = lastAccessTime == 0 ? expiredTTL : (int) (lastAccessTime - creationTime) / 1000 + expiredTTL; timeToLive += adjustTTL; element.setTimeToLive(timeToLive); }
private void updateTTL(Element dependentElement) { if (dependentElement == null) { return; } long lastAccessTime = dependentElement.getLastAccessTime(); long creationTime = dependentElement.getCreationTime(); int timeToLive = lastAccessTime == 0 ? cacheDependencyTTL : (int) (lastAccessTime - creationTime) / 1000 + cacheDependencyTTL; timeToLive += ADJUST_TTL; dependentElement.setTimeToLive(timeToLive); } }
public IdentityModeElementData(final Element element, long creationTime) { super(element.getObjectValue(), element.getCreationTime(), creationTime == Integer.MIN_VALUE ? element.getCreationTime() : creationTime, element.getLastAccessTime(), element.getHitCount(), element.getTimeToLive(), element.getTimeToIdle(), element.getLastUpdateTime()); }
public SerializationModeElementData(final Element element) { this(element.getObjectValue(), element.getCreationTime(), element.getCreationTime(), element.getLastAccessTime(), element.getHitCount(), element.usesCacheDefaultLifespan(), element.getTimeToLive(), element.getTimeToIdle(), element.getLastUpdateTime()); }
public IdentityModeElementData(final Element element, long creationTime) { super(element.getObjectValue(), element.getCreationTime(), creationTime == Integer.MIN_VALUE ? element.getCreationTime() : creationTime, element.getLastAccessTime(), element.getHitCount(), element.usesCacheDefaultLifespan(), element.getTimeToLive(), element.getTimeToIdle(), element.getLastUpdateTime()); }
/** * Create a new write operation for a particular element and creation time * * @param element the element to write * @param creationTime the creation time of the operation */ public WriteOperation(Element element, long creationTime) { this.element = new Element(element.getObjectKey(), element.getObjectValue(), element.getVersion(), element.getCreationTime(), element.getLastAccessTime(), element.getHitCount(), false, element.getTimeToLive(), element.getTimeToIdle(), element.getLastUpdateTime()); this.creationTime = creationTime; }
/** * Create a new write operation for a particular element and creation time * * @param element the element to write * @param creationTime the creation time of the operation */ public WriteOperation(Element element, long creationTime) { this.element = new Element(element.getObjectKey(), element.getObjectValue(), element.getVersion(), element.getCreationTime(), element.getLastAccessTime(), element.getHitCount(), false, element.getTimeToLive(), element.getTimeToIdle(), element.getLastUpdateTime()); this.creationTime = creationTime; }
private CacheEntry duplicateCacheEntryElement(CacheEntry entry) { if (null == entry.getElement()) { return entry; } else { Element element = entry.getElement(); return new CacheEntry(entry.getKey(), new Element(element.getObjectKey(), element.getObjectValue(), element.getVersion(), element.getCreationTime(), element.getLastAccessTime(), element.getHitCount(), false, element.getTimeToLive(), element.getTimeToIdle(), element.getLastUpdateTime())); } }
private CacheEntry duplicateCacheEntryElement(CacheEntry entry) { if (null == entry.getElement()) { return entry; } else { Element element = entry.getElement(); return new CacheEntry(entry.getKey(), new Element(element.getObjectKey(), element.getObjectValue(), element.getVersion(), element.getCreationTime(), element.getLastAccessTime(), element.getHitCount(), false, element.getTimeToLive(), element.getTimeToIdle(), element.getLastUpdateTime())); } }
/** * Make a duplicate of an element but using the specified value * * @param element the element to duplicate * @param newValue the new element's value * @return the duplicated element */ public Element duplicateElementWithNewValue(final Element element, final Object newValue) { return new Element(element.getObjectKey(), newValue, element.getVersion(), element.getCreationTime(), element.getLastAccessTime(), element.getHitCount(), element.usesCacheDefaultLifespan(), element.getTimeToLive(), element.getTimeToIdle(), element.getLastUpdateTime()); }
public ElementSnapshot(Element element) { this.version = element.getVersion(); this.hitCount = element.getHitCount(); this.timeToLive = element.getTimeToLive(); this.timeToIdle = element.getTimeToIdle(); this.creationTime = element.getCreationTime(); this.lastAccessTime = element.getLastAccessTime(); this.lastUpdateTime = element.getLastUpdateTime(); }