Class CacheDispatcher

  extended by java.lang.Thread
      extended by
All Implemented Interfaces:

public class CacheDispatcher
extends java.lang.Thread

Provides a thread for performing cache triage on a queue of requests. Requests added to the specified cache queue are resolved from cache. Any deliverable response is posted back to the caller via a Delivery. Cache misses and responses that require refresh are enqueued on the specified network queue for processing by a NetworkDispatcher.

Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
Field Summary
Fields inherited from class java.lang.Thread
Constructor Summary
CacheDispatcher(java.util.concurrent.BlockingQueue<Request> cacheQueue, java.util.concurrent.BlockingQueue<Request> networkQueue, DiskCache cache, Delivery delivery)
          Creates a new cache triage dispatcher thread.
Method Summary
 void quit()
          Forces this dispatcher to quit immediately.
 void run()
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public CacheDispatcher(java.util.concurrent.BlockingQueue<Request> cacheQueue,
                       java.util.concurrent.BlockingQueue<Request> networkQueue,
                       DiskCache cache,
                       Delivery delivery)
Creates a new cache triage dispatcher thread. You must call Thread.start() in order to begin processing.

cacheQueue - Queue of incoming requests for triage
networkQueue - Queue to post requests that require network to
cache - Cache interface to use for resolution
delivery - Delivery interface to use for posting responses
Method Detail


public void quit()
Forces this dispatcher to quit immediately. If any requests are still in the queue, they are not guaranteed to be processed.


public void run()
Specified by:
run in interface java.lang.Runnable
run in class java.lang.Thread