@Override public void doExpiration() { for (Map.Entry<K, R> entry : records.entrySet()) { K key = entry.getKey(); R value = entry.getValue(); if (isRecordExpired(value)) { invalidate(key); onExpire(key, value); } } }
@Override public R apply(K key, R reservedRecord) { return updateReservedRecordInternal(key, value, reservedRecord, reservationId); } });
@Override protected R removeRecord(K key) { R removedRecord = records.remove(key); if (canUpdateStats(removedRecord)) { nearCacheStats.decrementOwnedEntryMemoryCost(getTotalStorageMemoryCost(key, removedRecord)); } return removedRecord; }
@Override protected R putRecord(K key, R record) { R oldRecord = records.put(key, record); nearCacheStats.incrementOwnedEntryMemoryCost(getTotalStorageMemoryCost(key, record)); if (oldRecord != null) { nearCacheStats.decrementOwnedEntryMemoryCost(getTotalStorageMemoryCost(key, oldRecord)); } return oldRecord; }
@Override @SuppressWarnings("unchecked") protected V updateAndGetReserved(K key, final V value, final long reservationId, boolean deserialize) { R existingRecord = records.applyIfPresent(key, new IBiFunction<K, R, R>() { @Override public R apply(K key, R reservedRecord) { return updateReservedRecordInternal(key, value, reservedRecord, reservationId); } }); if (existingRecord == null || !deserialize) { return null; } Object cachedValue = existingRecord.getValue(); return cachedValue instanceof Data ? toValue(cachedValue) : (V) cachedValue; }
@Override public R apply(K key, R record) { if (canUpdateStats(record)) { nearCacheStats.decrementOwnedEntryCount(); nearCacheStats.decrementOwnedEntryMemoryCost(getTotalStorageMemoryCost(key, record)); nearCacheStats.incrementInvalidations(); } return null; } };
@Override protected R putRecord(K key, R record) { R oldRecord = records.put(key, record); nearCacheStats.incrementOwnedEntryMemoryCost(getTotalStorageMemoryCost(key, record)); if (oldRecord != null) { nearCacheStats.decrementOwnedEntryMemoryCost(getTotalStorageMemoryCost(key, oldRecord)); } return oldRecord; }
@Override @SuppressWarnings("unchecked") protected V updateAndGetReserved(K key, final V value, final long reservationId, boolean deserialize) { R existingRecord = records.applyIfPresent(key, new IBiFunction<K, R, R>() { @Override public R apply(K key, R reservedRecord) { return updateReservedRecordInternal(key, value, reservedRecord, reservationId); } }); if (existingRecord == null || !deserialize) { return null; } Object cachedValue = existingRecord.getValue(); return cachedValue instanceof Data ? toValue(cachedValue) : (V) cachedValue; }
@Override public void doExpiration() { for (Map.Entry<K, R> entry : records.entrySet()) { K key = entry.getKey(); R value = entry.getValue(); if (isRecordExpired(value)) { invalidate(key); onExpire(key, value); } } }
@Override public R apply(K key, R record) { if (canUpdateStats(record)) { nearCacheStats.decrementOwnedEntryCount(); nearCacheStats.decrementOwnedEntryMemoryCost(getTotalStorageMemoryCost(key, record)); nearCacheStats.incrementInvalidations(); } return null; } };
@Override public void onEvict(K key, R record, boolean wasExpired) { super.onEvict(key, record, wasExpired); nearCacheStats.decrementOwnedEntryMemoryCost(getTotalStorageMemoryCost(key, record)); }
@Override public R apply(K key, R reservedRecord) { return updateReservedRecordInternal(key, value, reservedRecord, reservationId); } });
@Override public void onEvict(K key, R record, boolean wasExpired) { super.onEvict(key, record, wasExpired); nearCacheStats.decrementOwnedEntryMemoryCost(getTotalStorageMemoryCost(key, record)); }