com.sleepycat.je.rep.elections
Class ElectionAgentThread

java.lang.Object
  extended by java.lang.Thread
      extended by com.sleepycat.je.utilint.StoppableThread
          extended by com.sleepycat.je.rep.elections.ElectionAgentThread
All Implemented Interfaces:
ExceptionListenerUser, Runnable
Direct Known Subclasses:
Acceptor, Learner

public class ElectionAgentThread
extends StoppableThread

ElectionAgentThread is the base class for the election agent threads underlying the Acceptor and Learner agents.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
protected  BlockingQueue<SocketChannel> channelQueue
           
protected  Formatter formatter
           
protected  Logger logger
           
protected  Protocol protocol
           
 
Fields inherited from class com.sleepycat.je.utilint.StoppableThread
envImpl
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
protected ElectionAgentThread(RepNode repNode, Protocol protocol)
           
protected ElectionAgentThread(RepNode repNode, Protocol protocol, NameIdPair nameIdPair)
           
 
Method Summary
protected  Logger getLogger()
           
protected  int initiateSoftShutdown()
          Threads that use shutdownThread() must define this method.
 void shutdown()
          Shuts down the Agent.
 
Methods inherited from class com.sleepycat.je.utilint.StoppableThread
cleanup, getSavedShutdownException, getTotalCpuTime, getTotalUserTime, isShutdown, saveShutdownException, setExceptionListener, shutdownDone, shutdownThread
 
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, run, 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
 

Field Detail

protocol

protected final Protocol protocol

logger

protected final Logger logger

formatter

protected final Formatter formatter

channelQueue

protected final BlockingQueue<SocketChannel> channelQueue
Constructor Detail

ElectionAgentThread

protected ElectionAgentThread(RepNode repNode,
                              Protocol protocol,
                              NameIdPair nameIdPair)

ElectionAgentThread

protected ElectionAgentThread(RepNode repNode,
                              Protocol protocol)
Method Detail

getLogger

protected Logger getLogger()
Specified by:
getLogger in class StoppableThread
Returns:
a logger to use when logging uncaught exceptions.

shutdown

public void shutdown()
              throws InterruptedException
Shuts down the Agent.

Throws:
InterruptedException

initiateSoftShutdown

protected int initiateSoftShutdown()
Description copied from class: StoppableThread
Threads that use shutdownThread() must define this method. It's invoked by shutdwonThread as an attempt at a soft shutdown. This method makes provisions for this thread to exit on its own. The technique used to make the thread exit can vary based upon the nature of the service being provided by the thread. For example, the thread may be known to poll some shutdown flag on a periodic basis, or it may detect that a channel that it waits on has been closed by this method.

Overrides:
initiateSoftShutdown in class StoppableThread
Returns:
the amount of time in ms that the shutdownThread method will wait for the thread to exit. A -ve value means that the method will not wait. A zero value means it will wait indefinitely.


Copyright (c) 2004-2010 Oracle. All rights reserved.