de.tud.dvs1.mmpgp2p
Class RCQueueWorkerThread

java.lang.Object
  extended by java.lang.Thread
      extended by de.tud.dvs1.mmpgp2p.MmpgP2PServiceThread
          extended by de.tud.dvs1.mmpgp2p.RCQueueWorkerThread
All Implemented Interfaces:
java.lang.Runnable

public class RCQueueWorkerThread
extends MmpgP2PServiceThread

Diese Klasse hält Verbindungen mit den RegionControllern offen. Es wird zu jedem RegionController eine Verbindung geöffnet und bei Bedarf Daten gesendet oder Empfangen.


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 de.tud.dvs1.mmpgp2p.MmpgP2PServiceThread
CR, logSystemStatsInterval, logSystemStatsLast, logSystemStatsStart, logSystemStatsWriter, MAGIC
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
RCQueueWorkerThread(MmpgP2PServiceThread p, SessionTicket t)
           
 
Method Summary
protected  void addCommand(MmpgP2PCommand c)
          Füge der Warteschlange ein Kommando hinzu.
protected  void closedConnection(ConnectionWorkerThread t)
          Diese Funktion wird aufgerufen, nachem sich ein ConnectionWorkerThread beendet
protected  MmpgP2PCommand getNextCommand()
          Holt den nächsten Befehl aus der Warteschlange.
protected  ClientRequest incomingConnection(ConnectionWorkerThread t)
          Eine Verbindung kommt herein.
protected  void incomingData(ConnectionWorkerThread t)
          Daten von einem der ConnectionWorkerThreads kommen herein.
 void log(java.lang.Exception e)
          Log-Ausgaben an den Parent durchreichen.
 void log(java.lang.String s)
          Log-Ausgaben an den Parent durchreichen.
protected  void logout()
          Logout aus dem System.
 void run()
          run().
 java.lang.String toString()
           
 
Methods inherited from class de.tud.dvs1.mmpgp2p.MmpgP2PServiceThread
closeServerConnectionWorker, doLogSystemStats, getConnectionWorker, getDebug, getProperties, getProperty, getProperty, getServerConnectionWorker, getSystemLoad, getSystemMemory, getThreadName, getTime, getTraffic, initSystemStats, isRunning, isStarting, log_debug, log_debug, logSystemStats, openConnection, openServerConnection, printSystemStatsFirstLine, readFirstLine, resetSystemStats, setDebug, setProperty, setRunning, stopThread, waitFor, waitForShutdown
 
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, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RCQueueWorkerThread

public RCQueueWorkerThread(MmpgP2PServiceThread p,
                           SessionTicket t)
Method Detail

logout

protected void logout()
Logout aus dem System. Hier werden Verbindungen noch nicht geschlossen.


run

public void run()
run(). In bestimmten Intervallen werden die Queues überprüft und anliegende Daten verarbeitet.

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

incomingConnection

protected ClientRequest incomingConnection(ConnectionWorkerThread t)
                                    throws MmpgP2PException
Eine Verbindung kommt herein. Dürfte eigentlich nicht aufgerufen werden, da kein Listener gestartet wird.

Specified by:
incomingConnection in class MmpgP2PServiceThread
Returns:
Ein ClientRequest wird erzeugt, über den die Verbindung identifiziert wird.
Throws:
MmpgP2PException

incomingData

protected void incomingData(ConnectionWorkerThread t)
Daten von einem der ConnectionWorkerThreads kommen herein.

Specified by:
incomingData in class MmpgP2PServiceThread

closedConnection

protected void closedConnection(ConnectionWorkerThread t)
Description copied from class: MmpgP2PServiceThread
Diese Funktion wird aufgerufen, nachem sich ein ConnectionWorkerThread beendet

Specified by:
closedConnection in class MmpgP2PServiceThread

addCommand

protected void addCommand(MmpgP2PCommand c)
Füge der Warteschlange ein Kommando hinzu. Die Kommandos in der Warteschlange werden verzögert an die RegionController übertragen.


getNextCommand

protected MmpgP2PCommand getNextCommand()
Holt den nächsten Befehl aus der Warteschlange.

Returns:
Falls sich mindestens ein Kommando in der Warteschlange befindet, dann wird das nächste zu Verarbeitende Kommando zurückgeliefert. Liefert null zurück, falls kein Kommando mehr übrig ist.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Thread

log

public void log(java.lang.String s)
Log-Ausgaben an den Parent durchreichen.

Specified by:
log in class MmpgP2PServiceThread

log

public void log(java.lang.Exception e)
Log-Ausgaben an den Parent durchreichen.

Specified by:
log in class MmpgP2PServiceThread