Package com.tangosol.io.nio
Class DirectBufferManager
java.lang.Object
com.tangosol.util.Base
com.tangosol.io.nio.AbstractBufferManager
com.tangosol.io.nio.DirectBufferManager
- All Implemented Interfaces:
ByteBufferManager
Deprecated.
Manages a growable direct ByteBuffer.
- Since:
- Coherence 2.2
- Author:
- cp 2002.09.16
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Deprecated.Use Runtime.runFinalization() to trigger finalization (default).static final int
Deprecated.Use Runtime.gc() to trigger finalization.static final int
Deprecated.Do not perform any buffer cleanup.protected static final boolean
Deprecated.Set to true to use on-heap storage, false to use off-heap.protected static long
Deprecated.Total amount of memory that have not been collected yet. -
Constructor Summary
ConstructorsConstructorDescriptionDirectBufferManager
(int cbInitial, int cbMaximum) Deprecated.Construct a DirectBufferManager that supports a buffer of a certain initial and maximum size. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Deprecated.Allocate a new buffer, copying old data if there is any.protected void
Deprecated.Determines if and how to induce the JVM to run finalizers.static int
Deprecated.Return the total number of buffers allocated by the DirectBufferManager.static int
Deprecated.Return the method used for buffers cleanup when the threshold is met.static float
Deprecated.Return the value used to calculate the size threshold for the uncollected buffers that triggers a cleanup operation.static long
Deprecated.Return the total time spent allocating buffers, copying the previous content and cleaning up uncollected buffers.protected static void
setCleanupMethod
(int nCleanupMethod) Deprecated.Set the method to be used for buffers cleanup when the threshold is met.protected static void
setCleanupThreshold
(float flCleanupThreshold) Deprecated.Determines how often, to run thecleanupBuffers()
method.Methods inherited from class com.tangosol.io.nio.AbstractBufferManager
calibrate, getBuffer, getCapacity, getGrowthThreshold, getMaxCapacity, getMaxIncrement, getMinCapacity, getShrinkageThreshold, grow, setBuffer, setCapacity, setGrowthThreshold, setMaxCapacity, setMinCapacity, setShrinkageThreshold, shrink
Methods inherited from class com.tangosol.util.Base
azzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, mod, mod, newHashMap, newHashMap, newHashSet, newHashSet, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, wait
-
Field Details
-
CLEANUP_NONE
public static final int CLEANUP_NONEDeprecated.Do not perform any buffer cleanup.- See Also:
-
CLEANUP_FINALIZERS
public static final int CLEANUP_FINALIZERSDeprecated.Use Runtime.runFinalization() to trigger finalization (default).- See Also:
-
CLEANUP_GC
public static final int CLEANUP_GCDeprecated.Use Runtime.gc() to trigger finalization.- See Also:
-
MODE_DEBUG
protected static final boolean MODE_DEBUGDeprecated.Set to true to use on-heap storage, false to use off-heap.- See Also:
-
s_cbUncollected
protected static volatile long s_cbUncollectedDeprecated.Total amount of memory that have not been collected yet.
-
-
Constructor Details
-
DirectBufferManager
public DirectBufferManager(int cbInitial, int cbMaximum) Deprecated.Construct a DirectBufferManager that supports a buffer of a certain initial and maximum size.- Parameters:
cbInitial
- the initial sizecbMaximum
- the maximum size
-
-
Method Details
-
allocateBuffer
protected void allocateBuffer()Deprecated.Allocate a new buffer, copying old data if there is any.- Specified by:
allocateBuffer
in classAbstractBufferManager
- See Also:
-
cleanupBuffers
protected void cleanupBuffers()Deprecated.Determines if and how to induce the JVM to run finalizers. This allows to somewhat mitigate a known JDK bug.When the amount of uncollected garbage reaches the threshold indicated by
the cleanup threshold
frequency, induce the GC. In a 64-bit VMs this issue is probably reduced to a minimum. -
getTotalAllocationTime
public static long getTotalAllocationTime()Deprecated.Return the total time spent allocating buffers, copying the previous content and cleaning up uncollected buffers.- Returns:
- the number of milliseconds spent in allocating, copying and cleaning up uncollected buffers
-
getAllocations
public static int getAllocations()Deprecated.Return the total number of buffers allocated by the DirectBufferManager.- Returns:
- the total number of allocations
-
getCleanupMethod
public static int getCleanupMethod()Deprecated.Return the method used for buffers cleanup when the threshold is met.The possible return values are:
- CLEANUP_FINALIZERS - use Runtime.runFinalization() (default);
- CLEANUP_GC - use Runtime.gc();
- CLEANUP_NONE - do not perform any cleanup.
- Returns:
- one of the CLEANUP_* constants representing the cleanup method
-
setCleanupMethod
protected static void setCleanupMethod(int nCleanupMethod) Deprecated.Set the method to be used for buffers cleanup when the threshold is met.- Parameters:
nCleanupMethod
- a value representing the cleanup method; valid values are the CLEANUP_* constants- Throws:
IllegalArgumentException
- if passed value is not a valid CLEANUP_* constant
-
getCleanupThreshold
public static float getCleanupThreshold()Deprecated.Return the value used to calculate the size threshold for the uncollected buffers that triggers a cleanup operation. Cleanup is performed when the total size of uncollected memory has grown over the product of this value and the maximum Java heap size.- Returns:
- a value between 0.0 and 1.0 used to calculate the cleanup frequency
-
setCleanupThreshold
protected static void setCleanupThreshold(float flCleanupThreshold) Deprecated.Determines how often, to run thecleanupBuffers()
method. Cleanup is performed when the uncollected memory has grown over the product of this value and the maximum Java heap size.- Parameters:
flCleanupThreshold
- a value between 0.0 and 1.0 used to calculate the cleanup frequency- Throws:
IllegalArgumentException
- if the passed value is not valid
-
JournalBinaryStore
instead