org.jlab.coda.cMsg.cMsgDomain.server
Class cMsgMonitorClient

java.lang.Object
  extended by java.lang.Thread
      extended by org.jlab.coda.cMsg.cMsgDomain.server.cMsgMonitorClient
All Implemented Interfaces:
java.lang.Runnable

public class cMsgMonitorClient
extends java.lang.Thread

This class implements an object to monitor the health of a cMsg client. It does this by periodically sending a keepAlive command to the listening thread of the client. If there is an error reading the response, the client is assumed dead. All resources associated with that client are recovered for reuse.

Version:
1.0
Author:
Carl Timmer

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
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
cMsgMonitorClient(cMsgClientInfo info, cMsgDomainServer server, int debug)
          Constructor.
 
Method Summary
 void run()
          This method is executed as a thread.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

cMsgMonitorClient

public cMsgMonitorClient(cMsgClientInfo info,
                         cMsgDomainServer server,
                         int debug)
Constructor. Creates a socket channel with the client.

Parameters:
info - object containing information about the client
server - domain server which created this monitor
debug - level of debug output
Method Detail

run

public void run()
This method is executed as a thread.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread