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 public class DirectBufferManager extends AbstractBufferManager
Deprecated.useJournalBinaryStore
insteadManages a growable direct ByteBuffer.- Since:
- Coherence 2.2
- Author:
- cp 2002.09.16
- See Also:
ByteBuffer
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
-
Field Summary
Fields Modifier and Type Field Description static int
CLEANUP_FINALIZERS
Deprecated.Use Runtime.runFinalization() to trigger finalization (default).static int
CLEANUP_GC
Deprecated.Use Runtime.gc() to trigger finalization.static int
CLEANUP_NONE
Deprecated.Do not perform any buffer cleanup.protected static boolean
MODE_DEBUG
Deprecated.Set to true to use on-heap storage, false to use off-heap.protected static long
s_cbUncollected
Deprecated.Total amount of memory that have not been collected yet.
-
Constructor Summary
Constructors Constructor Description DirectBufferManager(int cbInitial, int cbMaximum)
Deprecated.Construct a DirectBufferManager that supports a buffer of a certain initial and maximum size.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
allocateBuffer()
Deprecated.Allocate a new buffer, copying old data if there is any.protected void
cleanupBuffers()
Deprecated.Determines if and how to induce the JVM to run finalizers.static int
getAllocations()
Deprecated.Return the total number of buffers allocated by the DirectBufferManager.static int
getCleanupMethod()
Deprecated.Return the method used for buffers cleanup when the threshold is met.static float
getCleanupThreshold()
Deprecated.Return the value used to calculate the size threshold for the uncollected buffers that triggers a cleanup operation.static long
getTotalAllocationTime()
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, 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 Detail
-
CLEANUP_NONE
public static final int CLEANUP_NONE
Deprecated.Do not perform any buffer cleanup.- See Also:
- Constant Field Values
-
CLEANUP_FINALIZERS
public static final int CLEANUP_FINALIZERS
Deprecated.Use Runtime.runFinalization() to trigger finalization (default).- See Also:
- Constant Field Values
-
CLEANUP_GC
public static final int CLEANUP_GC
Deprecated.Use Runtime.gc() to trigger finalization.- See Also:
- Constant Field Values
-
MODE_DEBUG
protected static final boolean MODE_DEBUG
Deprecated.Set to true to use on-heap storage, false to use off-heap.- See Also:
- Constant Field Values
-
s_cbUncollected
protected static volatile long s_cbUncollected
Deprecated.Total amount of memory that have not been collected yet.
-
-
Method Detail
-
allocateBuffer
protected void allocateBuffer()
Deprecated.Allocate a new buffer, copying old data if there is any.- Specified by:
allocateBuffer
in classAbstractBufferManager
- See Also:
ByteBuffer.allocateDirect()
-
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
-
-