Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.0.0 E15725-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.net.cache
Class ReadWriteBackingMap.ReadQueue

`java.lang.Object
CoherenceApplicationEdition
com.tangosol.net.cache.ReadWriteBackingMap.ReadQueue`

Enclosing class:
  ReadWriteBackingMap

      public class ReadWriteBackingMap.ReadQueue

extends CoherenceApplicationEdition

A queue of keys that should be read from the underlying `CacheStore`.

Author:
  jh 2005.02.08

Constructor Summary
`protected` | `ReadWriteBackingMap.ReadQueue()` Construct a `ReadQueue`.

Method Summary
`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` | `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.
`String` | `toString()` For debugging purposes, present the queue in human-readable format.

Constructor Detail

### ReadWriteBackingMap.ReadQueue

    protected ReadWriteBackingMap.ReadQueue()

  Construct a `ReadQueue`.

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". <p/> 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. <p/> 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.

### toString

    public String toString()

  For debugging purposes, present the queue in human-readable format.
  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

### getKeyMap

    protected Map getKeyMap()

  Return a map of keys in the queue. <p/> Note: The map returned from this method is not thread-safe; therefore, a lock on this `ReadQueue` must be obtained before accessing the map
  Returns:
    a map of keys in the queue

Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.0.0 E15725-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.