Class Network

Implemented Interfaces:
Runnable

public final class Network
extends Netzwerk

original author Robert Denda, changes by Didier Gutacker

Field Summary

private NetworkDemo
demo
private int
prunedNodes
private Lock
prunedNodesLock
private boolean
sendGraftingMessageRequest
private boolean
sendPruningMessageRequest

Fields inherited from class .Netzwerk

DEBUG, canvas, currentLinkNumber, currentNodeNumber, forcedPaintLock, frame, infinity, infinityGuard, inspectRoutingTableRequest, linkAddRequest, linkRemoveRequest, nodeHeight, nodeRemoveRequest, nodeWidth, numLinks, numNodes, numSenders, sizeChangeLock, speed, speedChangeLock, startSendingRequest, stopSendingRequest, text, textLock

Fields inherited from class .SimulationObject

archChangeLock, archComponents, finished, focussedComponent, offsetChangeLock, remoteThread, simulation, tg, xOffset, yOffset

Constructor Summary

Network(Simulation simulation, SimulationFrame frame, NetzCanvas canvas, int nodeWidth, int nodeHeight)
Network Konstruktor bekommt Referenzen auf das Simulationsobjekt, den Frame und das Zeichenbrett übergeben (zudem noch die Breite und Höhe eines Nodes in Pixeln).

Method Summary

Link
addLink(Node node1, Node node2)
Fügt eine neue Verbindung zwischen den übergebenen Routern ein.
Node
addNode(int x, int y)
Fügt einen neuen Router an den übergebenen Koordinaten dem Netz hinzu.
void
decreasePrunedNodes()
Dekrementiert die Anzahl der sich im Netz befindenen ausgetretenen Rechner THREADSAFE
boolean
demoRunning()
Liefert wahr falls die Demonstration gerade aktiv ist.
void
finishUp()
Beendet und löscht alle Netzwerkkomponenten Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE
int
getNumPrunedNodes()
Liefert die Anzahl der sich im Netz befindenen ausgetretenen Rechner THREADSAFE
void
increasePrunedNodes()
Inkrementiert die Anzahl der sich im Netz befindenen ausgetretenen Rechner THREADSAFE
void
inspectRoutingTable(Node n)
Veranlaßt den als Parameter übergebenen Rechner ein Fenster mit seiner aktuellen Leitwegtabelle zu erzeugen Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE
(package private) Link
lookUpLink(int id)
(package private) Node
lookUpNode(int id)
void
mouseDownNotify(Event e, int x, int y)
Reagiere auf Drücken der Maustaste.
void
mouseMoveNotify(Event e, int x, int y)
Reagiere auf Bewegungen des Mauszeigers.
void
removeLink(Link l)
Entfernt die als Parameter übergebene Verbindung Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE
void
removeNode(Node n)
Entfernt den als Parameter übergebenen Rechner Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE
void
resume()
Reaktiviert alle angehaltenen Netzwerkkomponenten Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE
void
run()
void
sendGraftingMessage()
Signalisiert, daß die "Sende Graft" Taste gedrückt wurde
void
sendGraftingMessage(Node n)
Veranlaßt den als Parameter übergebenen Rechner eine Grafting Meldung für den aktuellen Multicast Strohm an seinen strohmaufwärtsliegenden Nachbarn zu senden Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE
void
sendPruningMessage()
Signalisiert, daß die "Sende Prune" Taste gedrückt wurde
void
sendPruningMessage(Node n)
Veranlaßt den als Parameter übergebenen Rechner eine Pruning Message für den aktuellen Multicast Strohm an seinen strohmaufwärtsliegenden Nachbarn zu senden Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE
void
startDemo()
Beendet alle Komponenten und startet die Demonstration THREADSAFE
void
startSending(Node n)
Starte Senden von Multicast Packeten von dem als als Parameter übergebenen Rechner Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE
void
stopDemo()
Beendet die Demonstration THREADSAFE
void
stopSending(Node n)
Stoppe das Senden von Multicast Packeten von dem als als Parameter übergebenen Rechner Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE
void
suspend()
Veranlaßt ein komplettes Anhalten aller aktiven Netzwerkkomponenten Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE

Methods inherited from class .Netzwerk

acquireTextLock, addLink, forcedPaint, getCanvas, getFrame, getInfinity, getNodeHeight, getNodeWidth, getNumLinks, getNumNodes, getNumSenders, getSpeed, inspectRoutingTable, releaseTextLock, removeLink, removeNode, repaintAll, setInfinity, setNodeHeight, setNodeWidth, setSpeed, startSending, stopSending, write, writeln

Methods inherited from class .SimulationObject

getComponent, getSimulation, getThreadGroup, getXOffset, getYOffset, isFinished, startRemote, translate

Field Details

demo

private NetworkDemo demo

prunedNodes

private int prunedNodes

prunedNodesLock

private Lock prunedNodesLock

sendGraftingMessageRequest

private boolean sendGraftingMessageRequest

sendPruningMessageRequest

private boolean sendPruningMessageRequest

Constructor Details

Network

public Network(Simulation simulation,
               SimulationFrame frame,
               NetzCanvas canvas,
               int nodeWidth,
               int nodeHeight)
Network Konstruktor bekommt Referenzen auf das Simulationsobjekt, den Frame und das Zeichenbrett übergeben (zudem noch die Breite und Höhe eines Nodes in Pixeln).

Method Details

addLink

public final Link addLink(Node node1,
                          Node node2)
Fügt eine neue Verbindung zwischen den übergebenen Routern ein. Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE

addNode

public final Node addNode(int x,
                          int y)
Fügt einen neuen Router an den übergebenen Koordinaten dem Netz hinzu. Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet

decreasePrunedNodes

public final void decreasePrunedNodes()
Dekrementiert die Anzahl der sich im Netz befindenen ausgetretenen Rechner THREADSAFE

demoRunning

public final boolean demoRunning()
Liefert wahr falls die Demonstration gerade aktiv ist.

finishUp

public final void finishUp()
Beendet und löscht alle Netzwerkkomponenten Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE

getNumPrunedNodes

public final int getNumPrunedNodes()
Liefert die Anzahl der sich im Netz befindenen ausgetretenen Rechner THREADSAFE

increasePrunedNodes

public final void increasePrunedNodes()
Inkrementiert die Anzahl der sich im Netz befindenen ausgetretenen Rechner THREADSAFE

inspectRoutingTable

public final void inspectRoutingTable(Node n)
Veranlaßt den als Parameter übergebenen Rechner ein Fenster mit seiner aktuellen Leitwegtabelle zu erzeugen Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE

lookUpLink

(package private)  Link lookUpLink(int id)

lookUpNode

(package private)  Node lookUpNode(int id)

mouseDownNotify

public final void mouseDownNotify(Event e,
                                  int x,
                                  int y)
Reagiere auf Drücken der Maustaste. Das Ereignis wird vom NetzCanvas an diese Funktion weitergeleitet.

mouseMoveNotify

public final void mouseMoveNotify(Event e,
                                  int x,
                                  int y)
Reagiere auf Bewegungen des Mauszeigers. Wird vom NetzCanvas bzw. vom SimulationClient aufgerufen

removeLink

public final void removeLink(Link l)
Entfernt die als Parameter übergebene Verbindung Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE

removeNode

public final void removeNode(Node n)
Entfernt den als Parameter übergebenen Rechner Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE

resume

public final void resume()
Reaktiviert alle angehaltenen Netzwerkkomponenten Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE

run

public void run()

sendGraftingMessage

public final void sendGraftingMessage()
Signalisiert, daß die "Sende Graft" Taste gedrückt wurde

sendGraftingMessage

public final void sendGraftingMessage(Node n)
Veranlaßt den als Parameter übergebenen Rechner eine Grafting Meldung für den aktuellen Multicast Strohm an seinen strohmaufwärtsliegenden Nachbarn zu senden Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE
See Also:
Network.sendPruningMessage, Node, SimulationServer

sendPruningMessage

public final void sendPruningMessage()
Signalisiert, daß die "Sende Prune" Taste gedrückt wurde

sendPruningMessage

public final void sendPruningMessage(Node n)
Veranlaßt den als Parameter übergebenen Rechner eine Pruning Message für den aktuellen Multicast Strohm an seinen strohmaufwärtsliegenden Nachbarn zu senden Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE
See Also:
startSending(Node), Network.sendGraftingMessage, Node, SimulationServer

startDemo

public final void startDemo()
Beendet alle Komponenten und startet die Demonstration THREADSAFE

startSending

public final void startSending(Node n)
Starte Senden von Multicast Packeten von dem als als Parameter übergebenen Rechner Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE

stopDemo

public final void stopDemo()
Beendet die Demonstration THREADSAFE

stopSending

public final void stopSending(Node n)
Stoppe das Senden von Multicast Packeten von dem als als Parameter übergebenen Rechner Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE

suspend

public final void suspend()
Veranlaßt ein komplettes Anhalten aller aktiven Netzwerkkomponenten Im Falle des Server-Betriebs wird entsprechendes Ereignis an alle Clients gesendet THREADSAFE