DRCL JavaSim API

drcl.inet.protocol
Class Routing

java.lang.Object
  |
  +--drcl.DrclObj
        |
        +--drcl.comp.Component
              |
              +--drcl.net.Module
                    |
                    +--drcl.inet.Protocol
                          |
                          +--drcl.inet.protocol.Routing
All Implemented Interfaces:
java.lang.Cloneable, InetConstants, ObjectDuplicable, java.io.Serializable
Direct Known Subclasses:
DV, DVMRP, OSPF

public abstract class Routing
extends Protocol

The base class for implementing a unicast/multicast routing protocol. In particular, it provides a set of methods to access/maintain the routing table in the core service layer.

See Also:
Serialized Form

Inner classes inherited from class drcl.comp.Component
Component.LockPack
 
Field Summary
protected  Port queryPort
          The port for resolving ``route query'' from the core service layer.
protected  Port rtconfigPort
          The port that is bound with RTConfig as initiator.
 
Fields inherited from class drcl.net.Module
address, downPort, PortGroup_DOWN, PortGroup_UP, timerPort, upPort
 
Fields inherited from class drcl.comp.Component
FLAG_COMPONENT_NOTIFICATION, FLAG_DEBUG_ENABLED, FLAG_DIRECT_OUTPUT_ENABLED, FLAG_ENABLED, FLAG_ERROR_ENABLED, FLAG_EVENT_ENABLED, FLAG_GARBAGE_DISPLAY_ENABLED, FLAG_GARBAGE_ENABLED, FLAG_PORT_NOTIFICATION, FLAG_STARTED, FLAG_STOPPED, FLAG_TRACE_ENABLED, FLAG_UNDEFINED_START, id, infoPort, lockHead, name, parent, PortGroup_DEFAULT_GROUP, PortGroup_EVENT, PortGroup_SERVICE, Root, Trace_DATA, Trace_SEND
 
Fields inherited from interface drcl.inet.InetConstants
BYTE_MODE, DEFAULT_BANDWIDTH, DEFAULT_BUFFER_SIZE, DEFAULT_MTU, EVENT_ID_CHANGED_PORT_ID, EVENT_IDENTITY_ADDED, EVENT_IDENTITY_REMOVED, EVENT_IF_NEIGHBOR_DOWN, EVENT_IF_NEIGHBOR_UP, EVENT_IF_PORT_ID, EVENT_MCAST_HOST_PORT_ID, EVENT_PKT_ARRIVAL, EVENT_PKT_ARRIVAL_PORT_ID, EVENT_RT_ENTRY_ADDED, EVENT_RT_ENTRY_MODIFIED, EVENT_RT_ENTRY_REMOVED, EVENT_RT_MCAST_CHANGED_PORT_ID, EVENT_RT_UCAST_CHANGED_PORT_ID, EVENT_VIF_NEIGHBOR_DOWN, EVENT_VIF_NEIGHBOR_UP, EVENT_VIF_PORT_ID, HOST_ENTRY_EXT, ID_CSL, MCAST_QUERY_PORT_ID, PACKET_MODE, PID_DV, PID_DVMRP, PID_HELLO, PID_IGMP, PID_OSPF, PID_RSVP, PID_TCP, PID_UDP, SERVICE_CONFIGSW_PORT_ID, SERVICE_ID_PORT_ID, SERVICE_IF_PORT_ID, SERVICE_MCAST_PORT_ID, SERVICE_RT_PORT_ID, UCAST_QUERY_PORT_ID
 
Constructor Summary
Routing()
           
Routing(java.lang.String id_)
           
 
Method Summary
protected  void addRTEntry(RTEntry entry_, double timeout)
          Adds/replaces a route entry via rtconfigPort.
protected  void addRTEntry(RTKey key_, BitSet interfaces, java.lang.Object entryExtension_, double timeout)
          Adds/replaces a route entry via rtconfigPort.
protected  void addRTEntry(RTKey key_, int[] interfaces, java.lang.Object entryExtension_, double timeout)
          Adds/replaces a route entry via rtconfigPort.
protected  void addRTEntry(RTKey key_, int interfaces, java.lang.Object entryExtension_, double timeout)
          Adds/replaces a route entry via rtconfigPort.
 void addRTEntry(RTKey key_, long nexthop_, BitSet interfaces, java.lang.Object entryExtension_, double timeout)
          Adds/replaces a route entry via rtconfigPort.
protected  void addRTEntry(RTKey key_, long nexthop_, int[] interfaces, java.lang.Object entryExtension_, double timeout)
          Adds/replaces a route entry via rtconfigPort.
 void addRTEntry(RTKey key_, long nexthop_, int interfaces, java.lang.Object entryExtension_, double timeout)
          Adds/replaces a route entry via rtconfigPort.
 void graftRTEntry(RTKey key_, BitSet interfaces, java.lang.Object entryExtension_, double timeout)
          Grafts a route entry to a list of outgoing interfaces via rtconfigPort.
 void graftRTEntry(RTKey key_, int[] interfaces, java.lang.Object entryExtension_, double timeout)
          Grafts a route entry to a list of outgoing interfaces via rtconfigPort.
 void graftRTEntry(RTKey key_, int interfaces, java.lang.Object entryExtension_, double timeout)
          Grafts a route entry to a list of outgoing interfaces via rtconfigPort.
 void pruneRTEntry(RTKey key_, BitSet interfaces, java.lang.Object entryExtension_, double timeout)
          Prunes a route entry from a list of outgoing interfaces via rtconfigPort.
 void pruneRTEntry(RTKey key_, int[] interfaces, java.lang.Object entryExtension_, double timeout)
          Prunes a route entry from a list of outgoing interfaces via rtconfigPort.
 void pruneRTEntry(RTKey key_, int interfaces, java.lang.Object entryExtension_, double timeout)
          Prunes a route entry from a list of outgoing interfaces via rtconfigPort.
 RTEntry[] removeAllRTEntries()
          Retrieves all the route entries via rtconfigPort.
 java.lang.Object removeRTEntry(long destination)
          Removes all route entries associated with a multicast group via rtconfigPort.
 java.lang.Object removeRTEntry(RTKey key_, java.lang.String type)
          Removes a route entry via rtconfigPort.
protected  void replaceRTEntry(RTKey key_, java.lang.Object entryExtension_)
          Replaces the route entry extension object and leaves other fields intact via rtconfigPort.
protected  void replaceRTEntry(RTKey key_, java.lang.Object entryExtension_, double timeout_)
          Replaces the route entry extension object and timeout, and leaves other fields intact via rtconfigPort.
 RTEntry[] retrieveAllRTEntries()
          Retrieves all the route entries via rtconfigPort.
 java.lang.Object retrieveRTEntry(RTKey key_, java.lang.String type)
          Retrieves matched route entries via rtconfigPort.
 java.lang.Object retrieveRTEntryDest(long destination)
          Retrieves all the route entries of the same destination field via rtconfigPort.
 java.lang.Object retrieveRTEntrySrc(long source)
          Retrieves all the route entries of the same source field via rtconfigPort.
 
Methods inherited from class drcl.inet.Protocol
broadcast, broadcast, broadcast, broadcast, broadcast, broadcast, createConfigSwitchPort, createIDChangedEventPort, createIDServicePort, createIFEventPort, createIFQueryPort, createMcastHostEventPort, createMcastQueryPort, createMulticastRTChangedEventPort, createPktArrivalEventPort, createRTServicePort, createUcastQueryPort, createUnicastRTChangedEventPort, createVIFEventPort, duplicate, forward, forward, forward, forward, forward, forward, idAddedEventHandler, idRemovedEventHandler, mcastHostJoinEventHandler, mcastHostLeaveEventHandler, mcastQueryHandler, neighborDownEventHandler, neighborUpEventHandler, pktArrivalHandler, processOther, rtAddedEventHandler, rtModifiedEventHandler, rtRemovedEventHandler, ucastQueryHandler, vNeighborDownEventHandler, vNeighborUpEventHandler
 
Methods inherited from class drcl.net.Module
cancelTimeout, dataArriveAtDownPort, dataArriveAtUpPort, deliver, getAddress, process, removeDefaultDownPort, removeDefaultUpPort, removeTimerPort, setAddress, setTimeout, setTimeoutAt, timeout
 
Methods inherited from class drcl.comp.Component
_resume, _start, _stop, addComponent, addComponent, addEventPort, addEventPort, addForkPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addServerPort, addServerPort, cancelFork, componentAdded, componentRemoved, connect, containsComponent, containsComponent, containsPort, debug, disconnectAll, disconnectAllPeers, disconnectAllPorts, drop, drop, error, error, expose, exposeEventPorts, exposePort, exposePort, exposePort, exposePort, exposePort, findAvailable, findAvailable, findAvailable, finishing, fork, forkAt, getAllComponents, getAllPorts, getAllPorts, getAllWiresInside, getAllWiresInsideOut, getAllWiresOut, getComponent, getComponentFlag, getComponentFlag, getContract, getContractHT, getContractHT, getDebugFlagsInBinary, getDebugLevelNames, getForkManager, getID, getName, getParent, getPort, getPort, getRoot, getRuntime, getTime, iduplicate, info, isAncestorOf, isComponentNotificationEnabled, isContainer, isDebugEnabled, isDebugEnabledAt, isDirectOutputEnabled, isEnabled, isErrorNoticeEnabled, isEventExportEnabled, isGarbageDisplayEnabled, isGarbageEnabled, isPortNotificationEnabled, isPortRemovable, isStarted, isStopped, isTraceEnabled, lock, notify, notifyAll, operate, portAdded, portRemoved, reboot, removeAll, removeAllComponents, removeAllPorts, removeAllPorts, removeComponent, removeComponent, removePort, removePort, removePort, reset, resume, run, sduplicate, send, sendAt, setComponentFlag, setComponentFlag, setComponentNotificationEnabled, setContract, setDebugEnabled, setDebugEnabled, setDebugEnabledAt, setDebugEnabledAt, setDebugEnabledAt, setDirectOutputEnabled, setDirectOutputEnabled, setEnabled, setErrorNoticeEnabled, setErrorNoticeEnabled, setEventExportEnabled, setEventExportEnabled, setExecutionBoundary, setGarbageDisplayEnabled, setGarbageDisplayEnabled, setGarbageEnabled, setGarbageEnabled, setID, setID, setName, setPort, setPort, setPortNotificationEnabled, setPortRemovable, setRuntime, setTraceEnabled, setTraceEnabled, sleepFor, sleepUntil, stop, toString, unexpose, unlock, useLocalForkManager, useLocalForkManager, wait
 
Methods inherited from class drcl.DrclObj
clone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

queryPort

protected Port queryPort
The port for resolving ``route query'' from the core service layer. Bound with RTLookup as reactor.

rtconfigPort

protected Port rtconfigPort
The port that is bound with RTConfig as initiator.
Constructor Detail

Routing

public Routing()

Routing

public Routing(java.lang.String id_)
Method Detail

addRTEntry

protected void addRTEntry(RTEntry entry_,
                          double timeout)
Adds/replaces a route entry via rtconfigPort.
See Also:
RTConfig

replaceRTEntry

protected void replaceRTEntry(RTKey key_,
                              java.lang.Object entryExtension_)
Replaces the route entry extension object and leaves other fields intact via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

replaceRTEntry

protected void replaceRTEntry(RTKey key_,
                              java.lang.Object entryExtension_,
                              double timeout_)
Replaces the route entry extension object and timeout, and leaves other fields intact via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

addRTEntry

protected void addRTEntry(RTKey key_,
                          int[] interfaces,
                          java.lang.Object entryExtension_,
                          double timeout)
Adds/replaces a route entry via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

addRTEntry

protected void addRTEntry(RTKey key_,
                          int interfaces,
                          java.lang.Object entryExtension_,
                          double timeout)
Adds/replaces a route entry via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

addRTEntry

protected void addRTEntry(RTKey key_,
                          BitSet interfaces,
                          java.lang.Object entryExtension_,
                          double timeout)
Adds/replaces a route entry via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

addRTEntry

protected void addRTEntry(RTKey key_,
                          long nexthop_,
                          int[] interfaces,
                          java.lang.Object entryExtension_,
                          double timeout)
Adds/replaces a route entry via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

addRTEntry

public void addRTEntry(RTKey key_,
                       long nexthop_,
                       int interfaces,
                       java.lang.Object entryExtension_,
                       double timeout)
Adds/replaces a route entry via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

addRTEntry

public void addRTEntry(RTKey key_,
                       long nexthop_,
                       BitSet interfaces,
                       java.lang.Object entryExtension_,
                       double timeout)
Adds/replaces a route entry via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

graftRTEntry

public void graftRTEntry(RTKey key_,
                         BitSet interfaces,
                         java.lang.Object entryExtension_,
                         double timeout)
Grafts a route entry to a list of outgoing interfaces via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

graftRTEntry

public void graftRTEntry(RTKey key_,
                         int interfaces,
                         java.lang.Object entryExtension_,
                         double timeout)
Grafts a route entry to a list of outgoing interfaces via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

graftRTEntry

public void graftRTEntry(RTKey key_,
                         int[] interfaces,
                         java.lang.Object entryExtension_,
                         double timeout)
Grafts a route entry to a list of outgoing interfaces via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

pruneRTEntry

public void pruneRTEntry(RTKey key_,
                         int[] interfaces,
                         java.lang.Object entryExtension_,
                         double timeout)
Prunes a route entry from a list of outgoing interfaces via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

pruneRTEntry

public void pruneRTEntry(RTKey key_,
                         int interfaces,
                         java.lang.Object entryExtension_,
                         double timeout)
Prunes a route entry from a list of outgoing interfaces via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

pruneRTEntry

public void pruneRTEntry(RTKey key_,
                         BitSet interfaces,
                         java.lang.Object entryExtension_,
                         double timeout)
Prunes a route entry from a list of outgoing interfaces via rtconfigPort.
Parameters:
entryExtension_ - The extension defined in RTEntry.
See Also:
RTConfig

removeRTEntry

public java.lang.Object removeRTEntry(RTKey key_,
                                      java.lang.String type)
Removes a route entry via rtconfigPort.
Parameters:
type - see RTConfig.

removeRTEntry

public java.lang.Object removeRTEntry(long destination)
Removes all route entries associated with a multicast group via rtconfigPort.
Parameters:
destination - the multicast group address.
See Also:
RTConfig

removeAllRTEntries

public RTEntry[] removeAllRTEntries()
Retrieves all the route entries via rtconfigPort.
See Also:
RTConfig

retrieveRTEntry

public java.lang.Object retrieveRTEntry(RTKey key_,
                                        java.lang.String type)
Retrieves matched route entries via rtconfigPort.
See Also:
RTConfig

retrieveAllRTEntries

public RTEntry[] retrieveAllRTEntries()
Retrieves all the route entries via rtconfigPort.
See Also:
RTConfig

retrieveRTEntryDest

public java.lang.Object retrieveRTEntryDest(long destination)
Retrieves all the route entries of the same destination field via rtconfigPort.
See Also:
RTConfig

retrieveRTEntrySrc

public java.lang.Object retrieveRTEntrySrc(long source)
Retrieves all the route entries of the same source field via rtconfigPort.
See Also:
RTConfig

DRCL JavaSim API

Copyright © 2001 - DRCL, OSU     ~ Back to JavaSim Home ~