|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectdesmoj.core.simulator.NamedObject
desmoj.core.simulator.ModelComponent
verinec.netsim.components.layers.abstractNetworkLayer
public abstract class abstractNetworkLayer
A Network Layer with basic functionalities. A NetworkLayer has an Address and one or more PacketProcessors (Protocollimplementations) each Network Layer has a upper and a lower Layer(Observer).
| Field Summary | |
|---|---|
private Vector |
addresses
|
private String |
layerName
|
private Observer |
lowerobserver
|
private Node |
node
|
private Vector |
processors
|
private Observer |
upperobserver
|
| Constructor Summary | |
|---|---|
abstractNetworkLayer(Model owner,
EventProcessor processor,
String name)
Constructs a new NetworkLayer |
|
| Method Summary | |
|---|---|
void |
addAddress(IAddress address)
adds an address to the layer. |
void |
addProcessor(EventProcessor processor)
adds an packet processor to the layer. |
Iterator |
addresses()
|
void |
attachLower(Observer observer)
Attaches a Observer to this Subject |
void |
attachUpper(Observer observer)
Attaches a Observer to this Subject |
boolean |
compareAddress(IAddress address)
Checks if an address is associated with this layer. |
void |
detachLower()
Detaches the lower Observer |
void |
detachUpper()
Detaches the upper Observer |
void |
getDownEvent(PacketArrivedEventDown event)
Receives a PacketEventArrived from above. |
IAddress |
getFirstAddress()
|
String |
getLayerName()
gets this layers name |
Observer |
getLowerobserver()
gets the lower observer (layer) |
Node |
getNode()
gets the node in which this layer lies |
EventProcessor |
getProcessor(String name)
gets a PacketProcessor that is instancaied in this layer. |
void |
getUpEvent(PacketArrivedEventUp event)
Receives a PacketEventArrived from below. |
protected Enumeration |
processorelements()
enummerates all Processors in this Layer |
void |
sendDown(Packet packet,
double timeoffset,
ILogger logger)
Sends a Packet to the lower Layers(Observers). |
void |
sendUp(Packet packet,
double timeoffset,
ILogger logger)
Sends a Packet to the upper Layers(Observers). |
private void |
setLayerName(String string)
sets this Layers name |
void |
setNode(Node node)
sets the node in which this layer lies |
| Methods inherited from class desmoj.core.simulator.ModelComponent |
|---|
current, currentEntity, currentEvent, currentModel, currentSimProcess, currentTime, debugIsOn, debugOff, debugOn, epsilon, getModel, isExperimentCompatible, isModelCompatible, sendDebugNote, sendMessage, sendTraceNote, sendWarning, skipTraceNote, skipTraceNote, traceIsOn, traceOff, traceOn |
| Methods inherited from class desmoj.core.simulator.NamedObject |
|---|
getName, getQuotedName, rename, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
private Vector addresses
private String layerName
private Observer lowerobserver
private Observer upperobserver
private Node node
private Vector processors
| Constructor Detail |
|---|
public abstractNetworkLayer(Model owner,
EventProcessor processor,
String name)
owner - a Modelprocessor - a packet processor in this layername - Name of this layer| Method Detail |
|---|
public void addAddress(IAddress address)
address - an addresspublic void addProcessor(EventProcessor processor)
processor - a processorpublic void attachLower(Observer observer)
Subject
attachLower in interface Subjectobserver - The observing ObjectSubject.attachLower(verinec.netsim.components.layers.Observer)public void attachUpper(Observer observer)
Subject
attachUpper in interface Subjectobserver - The observing ObjectSubject.attachUpper(verinec.netsim.components.layers.Observer)public boolean compareAddress(IAddress address)
address - an address to compare with
public void detachLower()
Subject
detachLower in interface SubjectSubject.detachLower()public void detachUpper()
Subject
detachUpper in interface SubjectSubject.detachUpper()public void getDownEvent(PacketArrivedEventDown event)
Observer
getDownEvent in interface Observerevent - a PacketEventArrived to be receivedObserver.getDownEvent(verinec.netsim.events.PacketArrivedEventDown)public String getLayerName()
public Observer getLowerobserver()
public Node getNode()
public EventProcessor getProcessor(String name)
throws NetSimException
name - a name of a packet processor
NetSimException - if no Processor with given name is instanciated in this
layer.public void getUpEvent(PacketArrivedEventUp event)
Observer
getUpEvent in interface Observerevent - a PacketEventArrived to be receivedObserver.getUpEvent(verinec.netsim.events.PacketArrivedEventUp)protected Enumeration processorelements()
public void sendDown(Packet packet,
double timeoffset,
ILogger logger)
Subject
sendDown in interface Subjectpacket - The Packet to be sent downtimeoffset - timeoffset added to now, when tje packet should arrivelogger - logger used to log all events caused by this eventSubject.sendDown(verinec.netsim.entities.packets.Packet,
double, verinec.netsim.loggers.ILogger)
public void sendUp(Packet packet,
double timeoffset,
ILogger logger)
Subject
sendUp in interface Subjectpacket - The Packet to be sent uptimeoffset - timeoffset added to now, when tje packet should arrivelogger - logger used to log all events caused by this eventSubject.sendUp(verinec.netsim.entities.packets.Packet,
double, verinec.netsim.loggers.ILogger)private void setLayerName(String string)
string - a Namepublic void setNode(Node node)
node - a Nodepublic IAddress getFirstAddress()
public Iterator addresses()
|
Copyright © 2005 Verinec, DIUF | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||