com.sleepycat.je.tree
Class VLSNCache

java.lang.Object
  extended by com.sleepycat.je.tree.VLSNCache
Direct Known Subclasses:
VLSNCache.DefaultCache

public abstract class VLSNCache
extends Object

Caches the VLSN sequence for the LN entries in a BIN, when VLSN preservation and caching are configured. A VLSN is added to the cache when an LN is evicted from a BIN. When the LN is resident, there is no need for caching because the LN contains the VLSN. See BIN.setTarget. This strategy works because an LN is always cached during a read or write operation, and only evicted after that based on eviction policies.


Nested Class Summary
static class VLSNCache.DefaultCache
           
 
Field Summary
static VLSNCache EMPTY_CACHE
          An EMPTY_CACHE is used initially for each BIN until the need arises to add to the cache.
 
Constructor Summary
VLSNCache()
           
 
Method Summary
abstract  VLSNCache copy(int from, int to, int n)
           
abstract  long get(int idx)
           
abstract  long getMemorySize()
           
abstract  VLSNCache set(int idx, long val, IN parent)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_CACHE

public static VLSNCache EMPTY_CACHE
An EMPTY_CACHE is used initially for each BIN until the need arises to add to the cache. The cache will remain empty if LNs are never evicted or version caching is not configured, which is always the case for standalone JE.

Constructor Detail

VLSNCache

public VLSNCache()
Method Detail

get

public abstract long get(int idx)

set

public abstract VLSNCache set(int idx,
                              long val,
                              IN parent)

copy

public abstract VLSNCache copy(int from,
                               int to,
                               int n)

getMemorySize

public abstract long getMemorySize()


Copyright (c) 2004-2012 Oracle. All rights reserved.