zisko.multicastor.program.model
Class MulticastMmrpReceiver

java.lang.Object
  extended by zisko.multicastor.program.interfaces.MulticastThreadSuper
      extended by zisko.multicastor.program.model.MulticastMmrpReceiver
All Implemented Interfaces:
java.lang.Runnable

public class MulticastMmrpReceiver
extends MulticastThreadSuper

Die MulticastMmrpReceiver-Klasse kuemmert sich um das tatsaechliche Empfangen der Multicast-Objekte ueber das Netzwerk per MMRP Protokoll. Sie extendedMulticastThreadSuper, ist also ein Runnable. Ein MulticastMmrpReceiver hat eine Grundkonfiguration, die nicht mehr abgeaendert werden kann, wie zum Beispiel die gesetzten MACs. Soll diese Grundkonfiguration geaendert werden, muss eine neue Instanz de Klasse gebildet werden. Das Erleichtert die nachtraegliche Analyse, Da das Objekt eindeutig einem "Test" zuordnungsbar ist.


Constructor Summary
MulticastMmrpReceiver(MulticastData multicastData, java.util.logging.Logger logger)
          Einziger Konstruktor der Klasse (Sieht man vom Konstruktor der Superklasse ab).
 
Method Summary
 void run()
          Hier geschieht das eigentliche Empfangen.
 void setActive(boolean b)
          Wird der Methode true uebergeben, startet der Multicast zu empfangen.
 void update()
          Aktualisiert das MultiCastData-Objekt und resetet den internen Paket-Counter
 void updateMin()
          Aktualisiert das MultiCastData-Objekt.
 
Methods inherited from class zisko.multicastor.program.interfaces.MulticastThreadSuper
getMultiCastData, isStillRunning
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MulticastMmrpReceiver

public MulticastMmrpReceiver(MulticastData multicastData,
                             java.util.logging.Logger logger)
                      throws java.io.IOException
Einziger Konstruktor der Klasse (Sieht man vom Konstruktor der Superklasse ab). Im Konstruktor wird die hostID gesetzt (entspricht dem hostnamen des Geraets), der MMRPReceiver initialisiert und das Datenpaket mit dem PacketBuilder erstellt.

Parameters:
multicastData - Das MulticastData-Object, dass alle fuer den Betrieb nuetigen Daten enthuelt.
logger - Eine Queue, ueber den der Receiver seine Ausgaben an den Controller weitergibt.
Throws:
java.io.IOException
Method Detail

setActive

public void setActive(boolean b)
Wird der Methode true uebergeben, startet der Multicast zu empfangen. Wird der Methode false uebergeben, stoppt sie das empfangen der Multicasts.

Specified by:
setActive in class MulticastThreadSuper
Parameters:
b - boolean

update

public void update()
Aktualisiert das MultiCastData-Objekt und resetet den internen Paket-Counter

Specified by:
update in class MulticastThreadSuper

updateMin

public void updateMin()
Aktualisiert das MultiCastData-Objekt. Dieser Counter summiert die gemessene Paketrate, die mit der update()-Funktion ins MultiCastData-Objekt geschrieben wird. Diese Summe wird bei jedem Aufruf resetet.

Specified by:
updateMin in class MulticastThreadSuper

run

public void run()
Hier geschieht das eigentliche Empfangen. Beim Starten des Threads wird probiert, denn Mmrp Pfad zu registrieren. Gelingt dies nicht, wird ein Fehler ausgegeben und das Empfangen wird garnicht erst gestartet. Gelingt das registrieren, wird so lange gewartet, bis setActive(false) aufgerufen wird.