abstract class TargetSelector
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) static class |
TargetSelector.EvictProfile |
(package private) class |
TargetSelector.ScanInfo
Struct returned when selecting a single IN for eviction.
|
(package private) static class |
TargetSelector.SetupInfo
Struct returned when setting up an eviction batch.
|
Constructor and Description |
---|
TargetSelector(EnvironmentImpl envImpl) |
Modifier and Type | Method and Description |
---|---|
abstract void |
addEnvironment(EnvironmentImpl additionalEnvImpl)
Only supported by SharedEvictor.
|
abstract boolean |
checkEnv(EnvironmentImpl targetEnvImpl) |
(package private) abstract StatGroup |
getINListStats(StatsConfig config) |
(package private) abstract IN |
getNextIN()
Returns the next IN in the INList(s), wrapping if necessary.
|
(package private) abstract java.util.Iterator<IN> |
getScanIterator() |
StatGroup |
loadStats(StatsConfig config) |
(package private) static int |
normalizeLevel(IN in,
int evictType)
Normalize the tree level of the given IN.
|
abstract void |
noteINListChange(int nINs)
Called whenever INs are added to, or removed from, the INList.
|
abstract void |
removeEnvironment(EnvironmentImpl targetEnvImpl)
Only supported by SharedEvictor.
|
(package private) TargetSelector.ScanInfo |
selectIN(int maxNodesToIterate)
Select a single node to evict.
|
(package private) abstract void |
setScanIterator(java.util.Iterator<IN> iter) |
(package private) abstract TargetSelector.SetupInfo |
startBatch(boolean doSpecialEviction)
Must be synchronized!
Perform class-specific batch pre-batch processing: Initialize iterator,
and do special eviction (UtilizationTracker eviction) if suitable.
|
final StatGroup stats
TargetSelector(EnvironmentImpl envImpl)
TargetSelector.ScanInfo selectIN(int maxNodesToIterate)
static int normalizeLevel(IN in, int evictType)
abstract TargetSelector.SetupInfo startBatch(boolean doSpecialEviction) throws DatabaseException
doSpecialEviction
- Do non-tree eviction, such as flushing the
UtilizationProfile. Since special eviction is serialized, and does
require I/O, some callers may not want to be blocked doing thisDatabaseException
abstract IN getNextIN()
abstract StatGroup getINListStats(StatsConfig config)
public abstract void noteINListChange(int nINs)
public StatGroup loadStats(StatsConfig config)
public abstract void addEnvironment(EnvironmentImpl additionalEnvImpl)
public abstract void removeEnvironment(EnvironmentImpl targetEnvImpl)
public abstract boolean checkEnv(EnvironmentImpl targetEnvImpl)
abstract java.util.Iterator<IN> getScanIterator()
abstract void setScanIterator(java.util.Iterator<IN> iter)
Copyright (c) 2004-2012 Oracle. All rights reserved.