Package com.tangosol.net.cache
Class ReadWriteBackingMap.ReadQueue
- java.lang.Object
-
- com.tangosol.util.Base
-
- com.tangosol.license.LicensedObject
-
- com.tangosol.license.CoherenceDataGridEdition
-
- com.tangosol.license.CoherenceApplicationEdition
-
- com.tangosol.license.CoherenceCommunityEdition
-
- com.tangosol.net.cache.ReadWriteBackingMap.ReadQueue
-
- Enclosing class:
- ReadWriteBackingMap
public class ReadWriteBackingMap.ReadQueue extends com.tangosol.license.CoherenceCommunityEdition
A queue of keys that should be read from the underlying CacheStore.- Author:
- jh 2005.02.08
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.tangosol.license.LicensedObject
com.tangosol.license.LicensedObject.LicenseData
-
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ReadQueue()
Construct a ReadQueue.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(Object oKey)
Add a key to the queue.void
clear()
Remove all keys from the queue.protected List
getKeyList()
Return a list of keys in the queue.protected Map<Object,com.tangosol.internal.tracing.Span>
getKeyMap()
Return a map of keys in the queue.Object
peek()
Wait for a key to be added to the queue and return it without removing it from the queue.Object
peek(long cMillis)
Wait for a key (up to the specified wait time) to be added to the queue and return it without removing it from the queue, or null if the specified wait time has passed).boolean
remove(Object oKey)
Remove a key from the queue if the key is in the queue.protected ReadWriteBackingMap.ReadLatch
select(long cWaitMillis)
Select the next key from the refresh-ahead queue that is a candidate for an asynchronous load.int
size()
Return the length of the queue.String
toString()
For debugging purposes, present the queue in human-readable format.-
Methods inherited from class com.tangosol.license.LicensedObject
containsEdition, ensureEdition, getClassLicenseData, getClassLicenseData, getLicenseData, getLicenseFailure, isExpired, main, printLicense, retain, retain, setLicenseData
-
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
-
-
-
-
Method Detail
-
add
public boolean add(Object oKey)
Add a key to the queue. This method has no effect if the key is already queued.- Parameters:
oKey
- the key object- Returns:
- true if the key was added to the queue; false otherwise
-
peek
public Object peek()
Wait for a key to be added to the queue and return it without removing it from the queue.- Returns:
- the next item in the queue (it will only return null when the backing map is no longer active)
-
peek
public Object peek(long cMillis)
Wait for a key (up to the specified wait time) to be added to the queue and return it without removing it from the queue, or null if the specified wait time has passed).- Parameters:
cMillis
- the number of ms to wait for a key in the queue; pass -1 to wait indefinitely or 0 for no wait- Returns:
- the next item in the queue, or null if the wait time has passed or if the backing map is no longer active
-
remove
public boolean remove(Object oKey)
Remove a key from the queue if the key is in the queue.- Parameters:
oKey
- the key object- Returns:
- true if the key was removed from the queue; false otherwise
-
select
protected ReadWriteBackingMap.ReadLatch select(long cWaitMillis)
Select the next key from the refresh-ahead queue that is a candidate for an asynchronous load. A key is a candidate if it can be locked "quickly".This method performs the selection process by iterating through the refresh-ahead queue starting with the first key in the queue. If the queue is empty, this method will block until a key is added to the queue. A key is skipped if it cannot be locked within the specified wait time.
If a candidate key is found, a new ReadLatch for the key is placed in the control map and returned; otherwise, null is returned.
- Parameters:
cWaitMillis
- the maximum amount of time (in milliseconds) to wait to select a key and acquire a latch on it; pass -1 to wait indefinitely- Returns:
- a ReadLatch for the selected key or null if a candidate key was not found and latched within the specified time
-
clear
public void clear()
Remove all keys from the queue.
-
size
public int size()
Return the length of the queue.- Returns:
- the length of the queue
-
toString
public String toString()
For debugging purposes, present the queue in human-readable format.- Overrides:
toString
in classcom.tangosol.license.CoherenceCommunityEdition
- Returns:
- a String representation of this object
-
getKeyList
protected List getKeyList()
Return a list of keys in the queue.- Returns:
- a list of keys in the queue
-
-