|
CoherenceTM v3.3 Copyright© 2000-2007 by Oracle Corporation |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.tangosol.util.Base
com.tangosol.net.cache.AbstractBundler
public abstract class AbstractBundler
An abstract base for processors that implement bundling strategy.
Assume that we receive a continuous and concurrent stream of individual operations on multiple threads in parallel. Let's also assume those individual operations have relatively high latency (network or database-related) and there are functionally analogous [bulk] operations that take a collection of arguments instead of a single one without causing the latency to grow linearly, as a function of the collection size. Examples of operations and topologies that satisfy these assumptions are:NamedCache
API for the partitioned cache service topology;
NamedCache
API for the partitioned cache service topology;
CacheLoader
API for the read-through
backing map topology;
CacheStore
API for the write-through
backing map topology.
Nested Class Summary | |
---|---|
protected class |
AbstractBundler.Bundle
|
protected static class |
AbstractBundler.Statistics
Statistics class contains the latest bundler statistics. |
Field Summary | |
---|---|
static int |
ADJUSTMENT_FREQUENCY
Frequency of the adjustment attempts. |
protected AtomicCounter |
m_countThreads
A counter for the total number of threads that have started any bundle related execution. |
protected double |
m_dPreviousSizeThreshold
The previous bundle size threshold value. |
protected List |
m_listBundle
A pool of Bundle objects. |
Constructor Summary | |
---|---|
AbstractBundler()
Construct the bundler. |
Method Summary | |
---|---|
void |
adjust()
Adjust this Bundler's parameters according to the available statistical information. |
long |
getDelayMillis()
Obtain the timeout delay value. |
protected AbstractBundler.Bundle |
getOpenBundle()
Retrieve any Bundle that is currently in the open state. |
int |
getSizeThreshold()
Obtain the bundle size threshold value. |
int |
getThreadThreshold()
Obtains the minimum number of threads that will trigger the bundler to switch from a pass through to a bundled mode. |
protected abstract AbstractBundler.Bundle |
instantiateBundle()
Instantiate a new Bundle object. |
boolean |
isAllowAutoAdjust()
Check whether or not the auto-adjustment is allowed. |
void |
resetStatistics()
Reset this Bundler statistics. |
void |
setAllowAutoAdjust(boolean fAutoAdjust)
Specify whether or not the auto-adjustment is allowed.. |
void |
setDelayMillis(long lDelay)
Specify the timeout delay value. |
void |
setSizeThreshold(int cSize)
Specify the bundle size threshold value. |
void |
setThreadThreshold(int cThreads)
Specify the minimum number of threads that will trigger the bundler to switch from a pass through to a bundled mode. |
String |
toString()
Provide a human readable description for the Bundler object (for debugging). |
protected void |
updateStatistics()
Update the statistics for this Bundle. |
Field Detail |
---|
public static int ADJUSTMENT_FREQUENCY
protected double m_dPreviousSizeThreshold
protected List m_listBundle
protected AtomicCounter m_countThreads
Constructor Detail |
---|
public AbstractBundler()
Method Detail |
---|
public int getSizeThreshold()
AbstractBundler.Bundle.getBundleSize()
methodpublic void setSizeThreshold(int cSize)
cSize
- the bundle size threshold value; must be positive value
expressed in the same units as the value returned by the
AbstractBundler.Bundle.getBundleSize()
methodpublic int getThreadThreshold()
public void setThreadThreshold(int cThreads)
cThreads
- the number of threads thresholdpublic long getDelayMillis()
public void setDelayMillis(long lDelay)
lDelay
- the timeout delay value in millisecondspublic boolean isAllowAutoAdjust()
public void setAllowAutoAdjust(boolean fAutoAdjust)
fAutoAdjust
- true if the auto-adjustment should be allowed;
false otherwiseprotected void updateStatistics()
public void resetStatistics()
public void adjust()
public String toString()
protected AbstractBundler.Bundle getOpenBundle()
protected abstract AbstractBundler.Bundle instantiateBundle()
|
CoherenceTM v3.3 Copyright© 2000-2007 by Oracle Corporation |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |