zisko.multicastor.program.model
Class PacketAnalyzer

java.lang.Object
  extended by zisko.multicastor.program.model.PacketAnalyzer

public class PacketAnalyzer
extends java.lang.Object

PacketAnalyzer wertet die Pakete fuer den Empfaenger aus. Er erstellt auch die Werte fuer die Tabelle.


Constructor Summary
PacketAnalyzer(MulticastData multicastData, java.util.logging.Logger logger, int pLength)
          Erzeugt einen PacketAnalyzer.
 
Method Summary
 void analyzePacket(byte[] mcPacket)
          Analysiert das uebergebene Paket auf, oder speichert zumindest notwendige Informationen fuer: Resetvalue SenderID HostID ThreadID PacketLoss MeasuredPacketRate Jitter PacketCount Senders Hierbei werden in der Regel nur Hilfswerte ermittelt und noch nichts in das MulticastData-Objekt geschrieben.
 void analyzePacketOnce(byte[] mcPacket)
          Analysiert das Paket auf Werte, die sich nicht so oft aendern.
 void resetValues()
          Setzt alle internen Werte zurueck.
 void setComplete(boolean b)
          Setzt den complete Wert.
 void setInternerPacketCount(int packetCount)
          Setzt den internen PacketCount des Packetanalyzers.
 void setLastActivated(int lastActivated)
          Setzt eine Variable, die jede Sekunde dekrementiert wird auf eine ganze Zahl.
 void setTimeout(boolean timeout)
          Mit dieser Methode kann der PacketAnalyzer ueber einen Timeout vom Receiver informiert werden.
 void update()
          Hier werden folgende ermittelten Werte im MulticastData-Objekt aktualisiert: MaxInterruptionTime PacketLength SenderID HostID ThreadID DesiredPacketRade TTL PacketCount PacketSource Senders PacketRateMeasured Traffic PacketLossPerSecond
 void updateMin()
          Aktualisiert folgende ermittelte Durchschnittswerte im MulticastData-Objekt: JitterAvg PacketLossPerSecondAvg PacketRateAvg TrafficAvg
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PacketAnalyzer

public PacketAnalyzer(MulticastData multicastData,
                      java.util.logging.Logger logger,
                      int pLength)
Erzeugt einen PacketAnalyzer.

Parameters:
multicastData - Aus diesem Datenobjekt wird die Multicastgruppe und der Port zur Initialisierung genommen. Ermittelte Werte werden in dieses Objekt geschrieben.
logger - Der Logger wird genutzt um Informationsmeldungen oder Fehlermeldungen auszugeben.
Method Detail

analyzePacket

public void analyzePacket(byte[] mcPacket)
Analysiert das uebergebene Paket auf, oder speichert zumindest notwendige Informationen fuer: Hierbei werden in der Regel nur Hilfswerte ermittelt und noch nichts in das MulticastData-Objekt geschrieben.

Parameters:
mcPacket - Zu anlysierendes Paket.

analyzePacketOnce

public void analyzePacketOnce(byte[] mcPacket)
Analysiert das Paket auf Werte, die sich nicht so oft aendern.

Parameters:
mcPacket - Zu untersuchendes Datenpaket.

setLastActivated

public void setLastActivated(int lastActivated)
Setzt eine Variable, die jede Sekunde dekrementiert wird auf eine ganze Zahl. Die angegebene Anzahl an Sekunden wird senders nicht auf CHANGED_RECENTLY oder MULTIPLE gesetzt.

Parameters:
lastActivated -

update

public void update()
Hier werden folgende ermittelten Werte im MulticastData-Objekt aktualisiert:


updateMin

public void updateMin()
Aktualisiert folgende ermittelte Durchschnittswerte im MulticastData-Objekt:


setComplete

public void setComplete(boolean b)
Setzt den complete Wert.

Parameters:
b - Wird diese Funktion mit TRUE aufgerufen, analisiert der PacketAnalyzer das naechste Paket auf alle Werte.

setInternerPacketCount

public void setInternerPacketCount(int packetCount)
Setzt den internen PacketCount des Packetanalyzers.

Parameters:
packetCount - Neuer PacketCount

setTimeout

public void setTimeout(boolean timeout)
Mit dieser Methode kann der PacketAnalyzer ueber einen Timeout vom Receiver informiert werden.

Parameters:
timeout - Wenn ein Timeout vor liegt, diese Methode mit TRUE aufrufen.

resetValues

public void resetValues()
Setzt alle internen Werte zurueck. Diese werden dann auch ins MulticastData-Objekt geschrieben.