public class RoutingTable extends Object
Constructor and Description |
---|
RoutingTable(DistributionInterface distribution,
long localNodeId)
Erzeugt ein neues Objekt mit den gegebenen Parametern.
|
Modifier and Type | Method and Description |
---|---|
void |
addConnection(RoutingConnectionInterface connection)
Diese Methode wird von der Wegverwaltung aufgerufen und es wird überprüft, ob ein Eintrag mit dem spezifizierten Repräsentanten der Datenverteilerverbindung
vorhanden ist.
|
void |
dumpRoutingTable() |
RoutingConnectionInterface |
findBestConnection(long destinationNodeId)
Diese Methode wird von der Wegverwaltung aufgerufen.
|
void |
removeConnection(RoutingConnectionInterface connection)
Diese Methode wird von der Wegverwaltung aufgerufen und es wird überprüft, ob ein Eintrag mit dem spezifizierten Repräsentanten der Datenverteilerverbindung
connection vorhanden ist.
|
String |
toString()
Diese Methode schreibt alle Ziele, die von dem Ausgangsknoten(Ausgangs-DAV) zu erreichen sind in einen String, und gibt diesen zurück.
|
String |
toString(boolean showAll)
Diese Methode schreibt alle Ziele, die von dem Ausgangsknoten(Ausgangs-DAV) zu erreichen sind in einen String, und gibt diesen zurück.
|
void |
update(long fromNodeId,
RoutingUpdate[] routingUpdates)
Diese Methode wird von der Wegverwaltung aufgerufen und es wird überprüft, ob ein Eintrag mit der als Parameter spezifizierten
fromNodeId
vorhanden ist. |
public RoutingTable(DistributionInterface distribution, long localNodeId)
distribution
- Die über Änderungen zu benachrichtigende Komponente.localNodeId
- ID des lokalen Datenverteilerspublic RoutingConnectionInterface findBestConnection(long destinationNodeId)
destinationNodeId
- ID des Zielknotensnull
, falls es keine Verbindung zum Zielknoten gibt.public void addConnection(RoutingConnectionInterface connection)
DistributionInterface
darüber benachrichtigt. Haben sich die Gewichte der
einzelnen Wege über einen bestimmten Datenverteiler geändert, so werden die Änderungen in ein TransmitterBestWayUpdate
-Telegramm verpackt und über
die Datenverteiler gesendet.connection
- Repräsentant der Datenverteilerverbindungpublic void removeConnection(RoutingConnectionInterface connection)
DistributionInterface
darüber benachrichtigt. Haben sich die Gewichte der einzelnen Wege über einen bestimmten Datenverteiler geändert, so werden die
Änderungen in ein TransmitterBestWayUpdate
-Telegramm verpackt und über die Protokollsteuerung DaV-DaV zu diesem Datenverteiler gesendet.connection
- Repräsentant der Datenverteilerverbindungpublic void update(long fromNodeId, RoutingUpdate[] routingUpdates)
fromNodeId
vorhanden ist. Wenn der Eintrag vorhanden ist, werden die Gewichte der Wege zwischen dem aktuellen Datenverteiler und den Datenverteilern, die in
RoutingUpdate spezifiziert sind, aktualisiert. Dabei muß der Datenverteiler mit der ID fromNodeId
auf diesem Weg liegen. Die Aktualisierung
erfolgt durch das Addieren des Gewichts der Verbindung zwischen aktuellem Datenverteiler und fromNodeId
und die jeweiligen
RoutingUpdate-Gewichte. Hat sich durch diese Änderung der beste Weg zu einem Datenverteiler geändert, so wird DistributionInterface
darüber
benachrichtigt. Haben sich die Gewichte der einzelnen Wege zu einem bestimmten Datenverteiler geändert, so werden die Änderungen in ein TransmitterBestWayUpdate
-Telegramm verpackt und über die Protokollsteuerung DaV-DaV zu den Nachbardatenverteilern gesendet.fromNodeId
- ID eines Eintrags in routingTableroutingUpdates
- Gewichte der Wege zwischen dem aktuellen Datenverteiler und den Datenverteilernpublic final String toString()
public final String toString(boolean showAll)
public void dumpRoutingTable()