de.tud.dvs1.mmpgp2p
Class ConnectionWorkerThread
java.lang.Object
java.lang.Thread
de.tud.dvs1.mmpgp2p.ConnectionWorkerThread
- All Implemented Interfaces:
- java.lang.Runnable
public class ConnectionWorkerThread
- extends java.lang.Thread
Die Klasse hält Verbindungen aufrecht, bearbeitet sie und reicht
Daten an den Vater-Prozess zur Verarbeitung weiter, indem sie
dessen "incomingData(...)" Methode aufruft.
Beim Empfang von zu sendenden Daten werden diese beim nächsten
Zyklus über den Socket zur Gegenseite versand.
Nested classes/interfaces inherited from class java.lang.Thread |
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler |
Fields inherited from class java.lang.Thread |
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
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 |
lastChangeRegion
protected long lastChangeRegion
gzip
public boolean gzip
status
public long status
STATUS_UNDEFINED
public static final long STATUS_UNDEFINED
- See Also:
- Constant Field Values
STATUS_PLAYING
public static final long STATUS_PLAYING
- See Also:
- Constant Field Values
STATUS_PAUSEING
public static final long STATUS_PAUSEING
- See Also:
- Constant Field Values
ConnectionWorkerThread
public ConnectionWorkerThread(java.lang.String host,
int port,
MmpgP2PServiceThread t)
throws java.net.UnknownHostException,
java.io.IOException,
java.lang.InterruptedException
- Throws:
java.net.UnknownHostException
java.io.IOException
java.lang.InterruptedException
ConnectionWorkerThread
public ConnectionWorkerThread(java.net.Socket s,
MmpgP2PServiceThread t)
- Standard Konstruktor
- Parameters:
s
- Der Socket, auf dem Daten ein und ausgehen.t
- Der Vaterprozess, dessen IncomingData-Methode bei anliegenden Daten aufgerufen wird.
isRunning
public boolean isRunning()
setGZIP
public void setGZIP(boolean b)
setID
public void setID(int id)
getID
public int getID()
setSessionID
public void setSessionID(int id)
getSessionID
public int getSessionID()
setDebug
public void setDebug(boolean b)
sendDataNow
public void sendDataNow(java.lang.Object o)
throws MmpgP2PException
- Sende Daten über die Netzwerkverbindung. Ohne Empfangsbestätigung.
- Throws:
MmpgP2PException
sendAccCommand
public void sendAccCommand(MmpgP2PCommand accC)
throws MmpgP2PException
- Acc-Kommando senden. Bestätigt die korrekte Ausführung eines vorherigen Befehls
- Throws:
MmpgP2PException
sendCommand
public void sendCommand(MmpgP2PCommand c)
throws MmpgP2PException
- Throws:
MmpgP2PException
getInputStream
public java.io.InputStream getInputStream()
getOutputStream
public java.io.OutputStream getOutputStream()
getObjectInputStream
public java.io.ObjectInputStream getObjectInputStream()
getObjectOutputStream
public java.io.ObjectOutputStream getObjectOutputStream()
getObjectOutputStream
public java.io.ObjectOutputStream getObjectOutputStream(boolean reset)
resetObjectOutputStream
public void resetObjectOutputStream()
getSocket
public java.net.Socket getSocket()
isFirstTime
public boolean isFirstTime()
getLocalPort
public int getLocalPort()
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Thread
toString
public java.lang.String toString(boolean detail)
run
public void run()
- In einer Schleife auf Daten Warten. Falls die Verbindung geschlossen wurde,
dann kann der Worker sich selbst beenden.
- Specified by:
run
in interface java.lang.Runnable
- Overrides:
run
in class java.lang.Thread
waitFor
public boolean waitFor(long timeout)
close
public void close()