|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.lang.Thread de.tud.dvs1.mmpgp2p.MmpgP2PServiceThread
public abstract class MmpgP2PServiceThread
Diese Klasse abstrahiert einen MMPG Service Thread. Sie stellt Methoden zur Verfügung, die jede abstrahierte Service-Klasse implementieren muss.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.lang.Thread |
---|
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler |
Field Summary | |
---|---|
static java.lang.String |
CR
|
protected long |
logSystemStatsInterval
|
protected long |
logSystemStatsLast
|
protected long |
logSystemStatsStart
|
protected java.io.FileWriter |
logSystemStatsWriter
|
static java.lang.String |
MAGIC
|
Fields inherited from class java.lang.Thread |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Constructor Summary | |
---|---|
protected |
MmpgP2PServiceThread()
|
protected |
MmpgP2PServiceThread(java.util.Properties p)
|
Method Summary | |
---|---|
protected abstract void |
closedConnection(ConnectionWorkerThread t)
Diese Funktion wird aufgerufen, nachem sich ein ConnectionWorkerThread beendet |
protected void |
closeServerConnectionWorker()
|
protected void |
doLogSystemStats()
Statistiken in ein Logfile schreiben |
ConnectionWorkerThread |
getConnectionWorker(java.lang.String server,
int port)
Eine Verbindung aufbauen und diese zurückgeben. |
boolean |
getDebug()
|
java.util.Properties |
getProperties()
Liefert alle Properties zurück |
java.lang.String |
getProperty(java.lang.String name)
|
java.lang.String |
getProperty(java.lang.String name,
java.lang.String def)
|
ConnectionWorkerThread |
getServerConnectionWorker()
|
protected java.lang.String |
getSystemLoad()
Returns /proc/loadavg |
protected int |
getSystemMemory()
|
java.lang.String |
getThreadName()
|
long |
getTime()
Gibt die aktuelle Zeit zurück. |
protected long |
getTraffic()
Byte an Netzwerkverkehr zurückgeben. |
protected abstract ClientRequest |
incomingConnection(ConnectionWorkerThread t)
Verarbeite eine eingehende Verbindung. |
protected abstract void |
incomingData(ConnectionWorkerThread t)
Auf einer Verbindung kommen Daten herein. |
void |
initSystemStats()
|
boolean |
isRunning()
Läuft dieser Thread? |
boolean |
isStarting()
|
void |
log_debug(java.lang.Exception e)
Eine Exception loggen falls debugging aktiviert ist. |
void |
log_debug(java.lang.String text)
Einen Text loggen falls debugging aktiviert ist. |
abstract void |
log(java.lang.Exception e)
|
abstract void |
log(java.lang.String text)
|
protected void |
logSystemStats()
Protokolleintrag schreiben. |
static java.net.Socket |
openConnection(java.lang.String server,
int port)
Öffne eine neue Verbindung zum Server. |
java.net.Socket |
openServerConnection()
Öffne eine neue Verbindung zum. |
protected void |
printSystemStatsFirstLine()
|
protected java.lang.String |
readFirstLine(ConnectionWorkerThread t)
|
void |
resetSystemStats()
Diese Methode setzt die Zähler der internen Protokollierung zurück. |
void |
setDebug(boolean d)
|
java.lang.Object |
setProperty(java.lang.String name,
java.lang.String val)
|
protected void |
setRunning(boolean run)
Setze den Running-Status dieses Threads |
void |
stopThread()
|
boolean |
waitFor(long timeout)
Auf diesen MmpgP2PServiceThread so lange warten, bis sein Status auf "running" gewechselt hat, oder bis ein Timeout erfolgt ist |
boolean |
waitForShutdown(long timeout)
Auf diesen MmpgP2PServiceThread so lange warten, bis sein Status "running" auf FALSE gewechselt hat, oder bis ein Timeout erfolgt ist |
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, run, 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 |
Field Detail |
---|
public static final java.lang.String MAGIC
public static final java.lang.String CR
protected long logSystemStatsInterval
protected long logSystemStatsStart
protected long logSystemStatsLast
protected java.io.FileWriter logSystemStatsWriter
Constructor Detail |
---|
protected MmpgP2PServiceThread()
protected MmpgP2PServiceThread(java.util.Properties p)
Method Detail |
---|
protected abstract ClientRequest incomingConnection(ConnectionWorkerThread t) throws MmpgP2PException
s
- Die eingehende Verbindung
MmpgP2PException
protected abstract void incomingData(ConnectionWorkerThread t) throws MmpgP2PException
s
- Die Verbindung auf der Daten anliegen
MmpgP2PException
protected abstract void closedConnection(ConnectionWorkerThread t)
public abstract void log(java.lang.Exception e)
public abstract void log(java.lang.String text)
public void stopThread()
public java.util.Properties getProperties()
public java.lang.String getProperty(java.lang.String name)
public java.lang.String getProperty(java.lang.String name, java.lang.String def)
public java.lang.Object setProperty(java.lang.String name, java.lang.String val)
public boolean isRunning()
public boolean isStarting()
protected void setRunning(boolean run)
run
- Der neue Status.protected java.lang.String readFirstLine(ConnectionWorkerThread t) throws java.io.IOException
java.io.IOException
protected void closeServerConnectionWorker()
public ConnectionWorkerThread getServerConnectionWorker() throws java.net.UnknownHostException, java.io.IOException, java.lang.InterruptedException
java.net.UnknownHostException
java.io.IOException
java.lang.InterruptedException
public ConnectionWorkerThread getConnectionWorker(java.lang.String server, int port) throws java.net.UnknownHostException, java.io.IOException, java.lang.InterruptedException
java.net.UnknownHostException
java.io.IOException
java.lang.InterruptedException
public java.net.Socket openServerConnection() throws java.io.IOException, java.lang.InterruptedException
java.io.IOException
java.lang.InterruptedException
public static java.net.Socket openConnection(java.lang.String server, int port) throws java.io.IOException, java.lang.InterruptedException
java.io.IOException
java.lang.InterruptedException
public boolean waitFor(long timeout)
timeout
- Die Zeit, die maximal gewartet wird (Angabe in Millisekunden).public boolean waitForShutdown(long timeout)
timeout
- Die Zeit, die maximal gewartet wird (Angabe in Millisekunden).public long getTime()
public void log_debug(java.lang.Exception e)
public void log_debug(java.lang.String text)
public java.lang.String getThreadName()
public boolean getDebug()
protected int getSystemMemory()
protected long getTraffic()
protected java.lang.String getSystemLoad()
public void initSystemStats()
public void resetSystemStats()
protected void logSystemStats()
protected void printSystemStatsFirstLine() throws java.io.IOException
java.io.IOException
protected void doLogSystemStats()
public void setDebug(boolean d)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |