zisko.multicastor.program.model
Class MulticastReceiver

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

public class MulticastReceiver
extends MulticastThreadSuper

Ein MulticastReceiver entspricht genau einem MulticastData-Objekt vom Receiver Typ. Der MulticastReceiver ist fuer das Beitreten und Verlassen der MulticastGruppen zustaending. Er kann gestartet und gestoppt werden. Sie extended MulticastThreadSuper, ist also ein Runnable.


Constructor Summary
MulticastReceiver(MulticastData m, java.util.logging.Logger logger)
          Ein MulticastReceiver entspricht genau einem MulticastData-Objekt vom Receiver Typ.
 
Method Summary
 MulticastData getMultiCastData()
          Gibt eine Referenz auf das MulticastData-Objekt zurueck
 boolean joinGroup()
          Der MulticastReciever tritt der, im MulticastData-Objekt bei der Initialisierung angegebenen, Multicastgruppe bei.
 void run()
          Wartet auf einkommende Pakete bis der MulticastReceiver ueber setActive(false) deaktiviert wird.
 void setActive(boolean b)
          Setzt alle Vorraussetzungen damit der MulticastReceiver mit einem Thread gestartet werden kann.
 void update()
          Updated die Werte im MulticastData-Objekt
 void updateMin()
          Updated die Durchschnittswerte im MulticastData-Objekt
 
Methods inherited from class zisko.multicastor.program.interfaces.MulticastThreadSuper
isStillRunning
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MulticastReceiver

public MulticastReceiver(MulticastData m,
                         java.util.logging.Logger logger)
Ein MulticastReceiver entspricht genau einem MulticastData-Objekt vom Receiver Typ. Der MulticastReceiver ist fuer das Beitreten und Verlassen der MulticastGruppen zustaending. Er kann gestartet und gestoppt werden.

Parameters:
m - MulticastData-Objekt mit GroupIP und Port Informationen. Alle ermittelten Informationen werden hier rein geschrieben.
logger - Wird genutzt um Status- und Fehlermeldungen auszugeben. Diese werden in die MessageQueue geschrieben.
Method Detail

setActive

public void setActive(boolean b)
Setzt alle Vorraussetzungen damit der MulticastReceiver mit einem Thread gestartet werden kann. Hierbei muss der MulticastController sicherstellen, dass kein weiterer Thread mit diesem Objekt laeuft.

Specified by:
setActive in class MulticastThreadSuper

joinGroup

public boolean joinGroup()
Der MulticastReciever tritt der, im MulticastData-Objekt bei der Initialisierung angegebenen, Multicastgruppe bei.

Returns:
Gibt true zurueck, wenn der Multicastgruppe nicht beigetreten werden konnte.

run

public void run()
Wartet auf einkommende Pakete bis der MulticastReceiver ueber setActive(false) deaktiviert wird. Empfangene Pakete werden an den PacketAnalyzer gegeben und dort analysiert.


getMultiCastData

public MulticastData getMultiCastData()
Gibt eine Referenz auf das MulticastData-Objekt zurueck

Overrides:
getMultiCastData in class MulticastThreadSuper
Returns:
MulticastData-Objekt mit dem dieser MulticastReceiver erstellt wurde

updateMin

public void updateMin()
Updated die Durchschnittswerte im MulticastData-Objekt

Specified by:
updateMin in class MulticastThreadSuper

update

public void update()
Updated die Werte im MulticastData-Objekt

Specified by:
update in class MulticastThreadSuper