Class Node

Implemented Interfaces:
ImageObserver, Runnable, GraphicalElement

public class Node
extends Knoten

See Also:
Knoten, DVMRPRoutingTable, PeriodicSender, Network, original author Robert Denda, changes made by Didier Gutacker

Field Summary

protected int
multicastSenderID
private boolean
pruned
private DVMRPRoutingTable
routingTable
private PeriodicSender
sender
private boolean
sending

Fields inherited from class .Knoten

NODE_IMAGE, attachedLinks, attachedLinksGuard, fontMetrics, initialized, nodeImage, textHeight, tracker

Fields inherited from class .ArchitectureComponent

DEBUG, absXPos, absYPos, finished, gc, height, id, initialized, marked, net, paintRequested, sizeChangeLock, t, text, wakeUpable, width, xpos, ypos

Constructor Summary

Node(int id, Network net, Graphics gc, int xpos, int ypos, int width, int height)

Method Summary

void
connect(int nodeID, int metric, Link l)
void
disconnect(Link l)
void
finishUp()
Beendet den eigenen Thread und gibt Resourcen frei
void
forwardPacket(int nodeID, Link l)
void
inspectTable()
void
paint()
void
processGraftingAck(int nodeID, Link l)
void
processGraftingMessage(int nodeID, Link l)
void
processPruningMessage(int nodeID, Link l)
void
processRoutingTableUpdate(Link l, Vector entries)
void
resume()
Weckt die zuvor mit suspend() schlafengelegten Thread wieder auf
void
sendGraftingMessage()
void
sendMulticastPackets()
void
sendPruningMessage()
void
sendRoutingEntries(Link l)
void
startSending()
void
stopSending()
void
suspend()
Legt den objekteigenen Thread und den eventuell existierenden Sender schlafen

Methods inherited from class .Knoten

getLinks, unmark

Methods inherited from class .ArchitectureComponent

acquireLocks, atLocation, finishUp, finished, getHeight, getID, getNet, getPositionX, getPositionY, getWidth, imageUpdate, mark, paint, paintRequest, releaseLocks, resume, run, setHeight, setPosition, setWidth, suspend, unmark, wakeUp

Field Details

multicastSenderID

protected int multicastSenderID

pruned

private boolean pruned

routingTable

private DVMRPRoutingTable routingTable

sender

private PeriodicSender sender

sending

private boolean sending

Constructor Details

Node

public Node(int id,
            Network net,
            Graphics gc,
            int xpos,
            int ypos,
            int width,
            int height)

Method Details

connect

public void connect(int nodeID,
                    int metric,
                    Link l)

disconnect

public void disconnect(Link l)

finishUp

public void finishUp()
Beendet den eigenen Thread und gibt Resourcen frei
Overrides:
finishUp in interface ArchitectureComponent

forwardPacket

public final void forwardPacket(int nodeID,
                                Link l)

inspectTable

public void inspectTable()

paint

public void paint()
Overrides:
paint in interface ArchitectureComponent

processGraftingAck

public void processGraftingAck(int nodeID,
                               Link l)

processGraftingMessage

public void processGraftingMessage(int nodeID,
                                   Link l)

processPruningMessage

public void processPruningMessage(int nodeID,
                                  Link l)

processRoutingTableUpdate

public void processRoutingTableUpdate(Link l,
                                      Vector entries)

resume

public void resume()
Weckt die zuvor mit suspend() schlafengelegten Thread wieder auf
Overrides:
resume in interface ArchitectureComponent
See Also:
suspend()

sendGraftingMessage

public void sendGraftingMessage()

sendMulticastPackets

public void sendMulticastPackets()

sendPruningMessage

public void sendPruningMessage()

sendRoutingEntries

public void sendRoutingEntries(Link l)

startSending

public void startSending()

stopSending

public void stopSending()

suspend

public void suspend()
Legt den objekteigenen Thread und den eventuell existierenden Sender schlafen
Overrides:
suspend in interface ArchitectureComponent
See Also:
resume()