aktuelle_id
private int aktuelle_id
anim_delay
public int anim_delay
anim_dicke
private int anim_dicke
anim_flussfeld
private int[] anim_flussfeld
anim_oben
private Point anim_oben
anim_oben_laeuft
private boolean anim_oben_laeuft
anim_punkt
private Point anim_punkt
animation_ende
private boolean animation_ende
animation_laeuft
private boolean animation_laeuft
Variablen fuer die Animation
anzahl_aus
private static int anzahl_aus
anzahl_ein
private static int anzahl_ein
ausstoss
(package private) int ausstoss
beruehrt
private boolean beruehrt
breite
private static final int breite
effels
private boolean effels
flussfeld
private int[] flussfeld
flussfeldgroesse
private int flussfeldgroesse
hoehe
private static final int hoehe
imagefeld
private Image[] imagefeld
maxComponentHeight
private int maxComponentHeight
maxComponentWidth
private int maxComponentWidth
maxknoten
private static final int maxknoten
netzknotenzahl
private int netzknotenzahl
netzwerkthread
(package private) Thread netzwerkthread
qb
private static final int qb
qh
private static final int qh
repaint_laeuft
private boolean repaint_laeuft
sflag
private boolean sflag
startknoten
private int startknoten
threadgroup
private ThreadGroup threadgroup
tracker
(package private) MediaTracker tracker
zflag
private boolean zflag
zielknoten
private int zielknoten
addknoten
public void addknoten(String art)
neuen Knoten einfuegen
aktualisiere_netzknoten
public void aktualisiere_netzknoten()
Netzknoten aktualisieren
anim_ausgang
public void anim_ausgang(int knotenzahl,
int queuezahl)
Ausgangsanimation bei Netzknoten Netzwerk[netzknotenzahl] und der Queue queuezahl
anim_eingang
public void anim_eingang(int knotenzahl,
int queuezahl)
Animation Eingang Netzknoten Netzwerk[t] in Queue queuezahl
berechnungen
public void berechnungen()
Berechnen der Positionen der Netzknoten in der Netzwerkuebersicht
demonetz
public void demonetz()
Standard-Demonstrationsnetzwerk
effelsberg_demonetz
public void effelsberg_demonetz()
Demonstrationsnetzwerk von Prof. Effelsberg
find
public int find(int x,
int y)
Pruefen, ob Mauszeiger ueber einem Netzknoten
gib_akt_knoten
public Netzknoten gib_akt_knoten()
Gibt aktuellen Netzknoten zurueck
gib_aktuelle_id
public int gib_aktuelle_id()
Gibt die ID des aktuellen Netzknotens zurueck
gib_anim_laeuft
public boolean gib_anim_laeuft()
Gibt den Zustand der Animation zureuck
gib_ausstoss
public int gib_ausstoss()
gibt die Zahl der Datenpakete die pro Durchlauf der ``forever´´-Schleife der ``run´´-Methode im Startknoten
erzeugt werden
gib_netzknotenzahl
public int gib_netzknotenzahl()
Gibt die Anzahl an Knoten im dargestellten Netzwerk zurueck
gib_queueraten
public int gib_queueraten(int temp)
Gibt die Ausstossraten der Queues des aktuellen Netzknotens zurueck
loesche_datenpaket
public void loesche_datenpaket()
Wird die Anmation durch den Stop-Button beendet, bleiben die zuletzt gezeichnten Datenpakete stehen,
deshalb muessen sie nachtraeglich geloescht werden
loesche_netzwerk
public void loesche_netzwerk()
Das Array, das das Netzwerk, d.h. die Netzknoten aufnimmt, wird zurueckgesetzt
mouseDown
public boolean mouseDown(Event evt,
int x,
int y)
Pruefung auf klick auf Netzknoten
mouseMove
public boolean mouseMove(Event evt,
int x,
int y)
Mousebewegungen im NetzwerkCanvas abfangen
paint
public void paint(Graphics g)
Netzwerkuebersicht zeichnen
reset
public void reset()
Zuruecksetzten der der Animation zugrundeliegenden Datenstrukturen
reset_flussfeld
public void reset_flussfeld()
Zuruecksetzen der Flussfelder
routing
public int routing(int t,
Datenpaket hilf)
Hier ist der eigentliche HotPotato-Algorithmus implementiert :
Es wird die Queue mit den wenigsten Datenpaketen gesucht und zurueckgegeben.
Wichtig : Einzige Bedingung ist das das Datenpaket nicht direkt wiede zurueck-
geschickt wird
run
public void run()
Run-Methode des Threads. Hier werden alle Aktivitaeten koordiniert.
setqueue
public void setqueue(int von,
int zu)
Knotenverbindungen setzten
setze_effels
public void setze_effels()
Das Demonstrationsnetzwerk von Prof. Effelsberg wird zum aktuellen Netzwerk gemacht
setze_queueraten
public void setze_queueraten(int zahl,
int wert)
Setzt die Ausstossrate der Queue zahl des aktuellen Netzknotens auf den Wert wert
setze_sflag
public void setze_sflag()
Startknoten-Button wurde gedrueckt
setze_standard
public void setze_standard()
Das Standard-Demonstrationsnetzwerk wird zum aktuellen Netzwerk gemacht
setze_zflag
public void setze_zflag()
Zielknoten-Button wurde gedrueckt
start
public void start()
Thread starten
stop
public void stop()
Thread stoppen
zeichne_horizontale_linie
public void zeichne_horizontale_linie(int x_von,
int y_von,
int y_bis,
int dicke,
Graphics g)
horizontale Linie zeichnen
zeichne_knoten
public void zeichne_knoten(Graphics g,
boolean aktualisieren)
Zeichnen des aktuellen Netzknotens
zeichne_netzknoten
public void zeichne_netzknoten(Graphics g)
Netzknoten zeichnen
zeichne_rahmen
public void zeichne_rahmen(int x,
int y,
int width,
int height,
int dicke,
Graphics g)
Rahmen zeichnen
zeichne_rechner
public void zeichne_rechner(Netzknoten aktuell,
Graphics g)
Rechner zeichnen
zeichne_verbindungen
public void zeichne_verbindungen(Graphics g)
Verbindungslinien in der Netzwerkuebersicht zeichnen
zeichne_vertikale_linie
public void zeichne_vertikale_linie(int x_von,
int x_bis,
int y_von,
int dicke,
Graphics g)
vertikale Linie zeichnen