Package com.tangosol.io.journal
Class RamJournalRM.DefaultDependencies
- java.lang.Object
-
- com.tangosol.io.journal.AbstractJournalRM.DefaultDependencies
-
- com.tangosol.io.journal.RamJournalRM.DefaultDependencies
-
- All Implemented Interfaces:
AbstractJournalRM.Dependencies
,RamJournalRM.Dependencies
- Enclosing class:
- RamJournalRM
public static class RamJournalRM.DefaultDependencies extends AbstractJournalRM.DefaultDependencies implements RamJournalRM.Dependencies
The DefaultDependencies class provides a default implementation of Dependencies.
-
-
Field Summary
Fields Modifier and Type Field Description static double
DFT_COLLECT_PCT
Default collection factor (collect files that are 84% or less utilized).static long
DFT_POOL_SIZE
Default pool size (16MB).static long
DFT_TOTAL_SIZE
Default total size of RAM used (1GB).static int
DFT_VALUE_SIZE
Default maximum value size (16KB).static long
MAX_FILE_SIZE
Maximum size of a "file" i.e. a buffer (2GB).static long
MAX_POOL_SIZE
Maximum pool size (64GB).static long
MAX_TOTAL_SIZE
Maximum total size of RAM used (64GB).static int
MAX_VALUE_SIZE
Maximum value size (4MB).static long
MIN_FILE_SIZE
Minimum maximum size of a "file" i.e. a buffer (1MB).static long
MIN_TOTAL_SIZE
Minimum maximum total size of RAM used (16MB).-
Fields inherited from class com.tangosol.io.journal.AbstractJournalRM.DefaultDependencies
m_cbMaxFile, m_cbMaxSize, m_cbMaxValue, m_cCollectorTimeout, m_dflLoadFactorGC, MAX_COLLECT_PCT, MAX_FILE_COUNT, MIN_COLLECT_PCT, MIN_TIMEOUT
-
-
Constructor Summary
Constructors Constructor Description DefaultDependencies()
Construct a DefaultDependencies object.DefaultDependencies(RamJournalRM.Dependencies deps)
Construct a DefaultDependencies object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected double
getDefaultCollectorLoadFactor()
Get the default percentage at which a file is eligible for garbage collection.protected long
getDefaultMaxFileSize()
Get the default maximum file size for this Journal Resource Manager.protected long
getDefaultMaxSize()
Get the default maximum size (capacity) for this Journal Resource Manager.protected int
getDefaultMaxValueSize()
Get the default maximum value size for this Journal Resource Manager.long
getMaxPoolSize()
Return the maximum size (in bytes) of the buffers that can be held by the pool.protected long
getPermittedMaxFileSize()
Return the highest memory size that can be allocated per journal file.protected long
getPermittedMaxJournalSize()
Return the highest memory size that can be allocated per journal.protected int
getPermittedMaxValueSize()
Return the highest memory size permitted for each value stored in the journal.protected long
getPermittedMinFileSize()
Return the lowest memory size that can be allocated per journal file.protected long
getPermittedMinJournalSize()
Return the lowest memory size that can be allocated per journal.boolean
isNioRam()
Return if the journal will use off-heap buffers (NIO RAM) instead of on-heap buffers (byte arrays).RamJournalRM.DefaultDependencies
setMaxPoolSize(long maxPool)
Set the size of the buffers pool.RamJournalRM.DefaultDependencies
setNioRam(boolean fUseNioRam)
Set the journal to use direct buffers (NIO RAM) versus on-heap buffers (byte arrays) to store the journal data.String
toString()
Return the DefautlDependencies in String format.RamJournalRM.DefaultDependencies
validate()
Validate the supplied dependencies.-
Methods inherited from class com.tangosol.io.journal.AbstractJournalRM.DefaultDependencies
calculateMaxFileSize, getCollectorLoadFactor, getCollectorTimeout, getDefaultCollectorTimeout, getMaxFileSize, getMaxJournalSize, getMaxValueSize, setCollectorLoadFactor, setCollectorTimeout, setMaxFileSize, setMaxJournalSize, setMaxValueSize, validateCollectorTimeout, validateJournalSize, validateLoadFactor, validateMaxValueSize
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.tangosol.io.journal.AbstractJournalRM.Dependencies
getCollectorLoadFactor, getCollectorTimeout, getMaxFileSize, getMaxJournalSize, getMaxValueSize
-
-
-
-
Field Detail
-
MIN_FILE_SIZE
public static final long MIN_FILE_SIZE
Minimum maximum size of a "file" i.e. a buffer (1MB).- See Also:
- Constant Field Values
-
MAX_FILE_SIZE
public static final long MAX_FILE_SIZE
Maximum size of a "file" i.e. a buffer (2GB).- See Also:
- Constant Field Values
-
MIN_TOTAL_SIZE
public static final long MIN_TOTAL_SIZE
Minimum maximum total size of RAM used (16MB).- See Also:
- Constant Field Values
-
MAX_TOTAL_SIZE
public static final long MAX_TOTAL_SIZE
Maximum total size of RAM used (64GB).- See Also:
- Constant Field Values
-
DFT_TOTAL_SIZE
public static final long DFT_TOTAL_SIZE
Default total size of RAM used (1GB).- See Also:
- Constant Field Values
-
MAX_VALUE_SIZE
public static final int MAX_VALUE_SIZE
Maximum value size (4MB).- See Also:
- Constant Field Values
-
DFT_VALUE_SIZE
public static final int DFT_VALUE_SIZE
Default maximum value size (16KB).- See Also:
- Constant Field Values
-
DFT_COLLECT_PCT
public static final double DFT_COLLECT_PCT
Default collection factor (collect files that are 84% or less utilized).- See Also:
- Constant Field Values
-
MAX_POOL_SIZE
public static final long MAX_POOL_SIZE
Maximum pool size (64GB).- See Also:
- Constant Field Values
-
DFT_POOL_SIZE
public static final long DFT_POOL_SIZE
Default pool size (16MB).- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultDependencies
public DefaultDependencies()
Construct a DefaultDependencies object.
-
DefaultDependencies
public DefaultDependencies(RamJournalRM.Dependencies deps)
Construct a DefaultDependencies object. Copy the values from the specified Dependencies object.- Parameters:
deps
- the dependencies to copy, or null
-
-
Method Detail
-
isNioRam
public boolean isNioRam()
Return if the journal will use off-heap buffers (NIO RAM) instead of on-heap buffers (byte arrays).- Specified by:
isNioRam
in interfaceRamJournalRM.Dependencies
- Returns:
- true if the journal is configured to use NIO "direct buffer" RAM
-
setNioRam
public RamJournalRM.DefaultDependencies setNioRam(boolean fUseNioRam)
Set the journal to use direct buffers (NIO RAM) versus on-heap buffers (byte arrays) to store the journal data. The default is that the journal data is kept on heap in byte arrays.- Parameters:
fUseNioRam
- pass true to use NIO direct buffers off the heap, or false to use byte arrays on the heap- Returns:
- this object
-
getMaxPoolSize
public long getMaxPoolSize()
Return the maximum size (in bytes) of the buffers that can be held by the pool. This is not a limit of how many buffers can be allocated, since some may be in use at any time, but rather how many will be held by the pool (i.e. recycled) as they are released.- Specified by:
getMaxPoolSize
in interfaceRamJournalRM.Dependencies
- Returns:
- the maximum size in bytes of all of the buffers that the buffer pool can hold onto
-
setMaxPoolSize
public RamJournalRM.DefaultDependencies setMaxPoolSize(long maxPool)
Set the size of the buffers pool. The default is defined byDFT_POOL_SIZE
, with a maximum defined byMAX_POOL_SIZE
and a minimum of zero.- Parameters:
maxPool
- the size, in bytes, for the buffer pool- Returns:
- this object
-
validate
public RamJournalRM.DefaultDependencies validate()
Validate the supplied dependencies.- Overrides:
validate
in classAbstractJournalRM.DefaultDependencies
- Returns:
- this object
- Throws:
IllegalArgumentException
- if the dependencies are not valid
-
getDefaultMaxFileSize
protected long getDefaultMaxFileSize()
Get the default maximum file size for this Journal Resource Manager.- Specified by:
getDefaultMaxFileSize
in classAbstractJournalRM.DefaultDependencies
- Returns:
- the default maximum file size
-
getDefaultMaxValueSize
protected int getDefaultMaxValueSize()
Get the default maximum value size for this Journal Resource Manager.- Specified by:
getDefaultMaxValueSize
in classAbstractJournalRM.DefaultDependencies
- Returns:
- the default maximum value size
-
getDefaultMaxSize
protected long getDefaultMaxSize()
Get the default maximum size (capacity) for this Journal Resource Manager.- Specified by:
getDefaultMaxSize
in classAbstractJournalRM.DefaultDependencies
- Returns:
- the default maximum size
-
getDefaultCollectorLoadFactor
protected double getDefaultCollectorLoadFactor()
Get the default percentage at which a file is eligible for garbage collection.- Specified by:
getDefaultCollectorLoadFactor
in classAbstractJournalRM.DefaultDependencies
- Returns:
- the default garbage collection load factor
-
getPermittedMinJournalSize
protected long getPermittedMinJournalSize()
Return the lowest memory size that can be allocated per journal.- Specified by:
getPermittedMinJournalSize
in classAbstractJournalRM.DefaultDependencies
- Returns:
- the lowest memory size that can be allocated per journal
-
getPermittedMaxJournalSize
protected long getPermittedMaxJournalSize()
Return the highest memory size that can be allocated per journal.- Specified by:
getPermittedMaxJournalSize
in classAbstractJournalRM.DefaultDependencies
- Returns:
- the highest memory size that can be allocated per journal
-
getPermittedMinFileSize
protected long getPermittedMinFileSize()
Return the lowest memory size that can be allocated per journal file.- Specified by:
getPermittedMinFileSize
in classAbstractJournalRM.DefaultDependencies
- Returns:
- the lowest memory size that can be allocated per journal file
-
getPermittedMaxFileSize
protected long getPermittedMaxFileSize()
Return the highest memory size that can be allocated per journal file.- Specified by:
getPermittedMaxFileSize
in classAbstractJournalRM.DefaultDependencies
- Returns:
- the highest memory size that can be allocated per journal file
-
getPermittedMaxValueSize
protected int getPermittedMaxValueSize()
Return the highest memory size permitted for each value stored in the journal.- Specified by:
getPermittedMaxValueSize
in classAbstractJournalRM.DefaultDependencies
- Returns:
- the highest memory size permitted for each value stored in the journal
-
toString
public String toString()
Return the DefautlDependencies in String format.- Overrides:
toString
in classAbstractJournalRM.DefaultDependencies
- Returns:
- the DefautlDependencies in String format
-
-