DRCL J-Sim API

drcl.inet.protocol
Class Routing

java.lang.Object
  extended bydrcl.DrclObj
      extended bydrcl.comp.Component
          extended bydrcl.net.Module
              extended bydrcl.inet.Protocol
                  extended bydrcl.inet.protocol.Routing
All Implemented Interfaces:
java.lang.Cloneable, InetConstants, ObjectCloneable, ObjectDuplicable, java.io.Serializable
Direct Known Subclasses:
AODV, CBT, 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

Nested Class Summary
 
Nested classes inherited from class drcl.comp.Component
Component.Locks
 
Field Summary
 
Fields inherited from class drcl.net.Module
downPort, PortGroup_DOWN, PortGroup_UP, 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, locks, 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_LINK_BROKEN, EVENT_LINK_BROKEN_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, ID_TRACE_RT, MCAST_QUERY_PORT_ID, PACKET_MODE, PID_AODV, PID_DV, PID_DVMRP, PID_HELLO, PID_IGMP, PID_OSPF, PID_RSVP, PID_TCP, PID_TRACE_RT, 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
 void addRTEntry(RTKey key_, long nexthop_, BitSet 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.
 RTEntry[] retrieveAllRTEntries()
          Retrieves all the route entries via #rtconfigPort.
 RTEntry retrieveBestRTEntryDest(long destination)
          Retrieves the best (longest matched) route entry of the same destination field 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, broadcast, createConfigSwitchPort, createIDChangedEventPort, createIDServicePort, createIFEventPort, createIFQueryPort, createLinkBrokenEventPort, createMcastHostEventPort, createMcastQueryPort, createMulticastRTChangedEventPort, createPktArrivalEventPort, createRTServicePort, createUcastQueryPort, createUnicastRTChangedEventPort, createVIFEventPort, duplicate, forward, forward, forward, forward, forward, forward, LinkBrokenEventHandler
 
Methods inherited from class drcl.net.Module
cancelTimeout, setTimeout, setTimeoutAt
 
Methods inherited from class drcl.comp.Component
addComponent, addComponent, addEventPort, addEventPort, addForkPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addServerPort, addServerPort, cancelFork, connect, containsComponent, containsComponent, containsPort, debug, disconnectAll, disconnectAllPeers, disconnectAllPorts, drop, drop, error, error, expose, exposeEventPorts, exposePort, exposePort, exposePort, exposePort, exposePort, findAvailable, findAvailable, findAvailable, fork, forkAt, getAllComponents, getAllPorts, getAllPorts, getAllWiresInside, getAllWiresInsideOut, getAllWiresOut, getComponent, getComponentFlag, getComponentFlag, getContract, getContractHT, getContractHT, getDebugFlagsInBinary, getDebugLevelNames, getID, getName, getParent, getPort, getPort, getRoot, getTime, iduplicate, info, isAncestorOf, isContainer, isDebugEnabled, isDebugEnabledAt, isDirectlyRelatedTo, isDirectOutputEnabled, isEnabled, isErrorNoticeEnabled, isEventExportEnabled, isGarbageDisplayEnabled, isGarbageEnabled, isPortRemovable, isStarted, isStopped, isTraceEnabled, lock, notify, notifyAll, operate, reboot, removeAll, removeAllComponents, removeAllPorts, removeAllPorts, removeComponent, removeComponent, removePort, removePort, removePort, reset, resume, run, sduplicate, send, sendAt, setComponentFlag, setComponentFlag, setDebugEnabled, setDebugEnabled, setDebugEnabledAt, setDebugEnabledAt, setDebugEnabledAt, setDirectOutputEnabled, setDirectOutputEnabled, setEnabled, setErrorNoticeEnabled, setErrorNoticeEnabled, setEventExportEnabled, setEventExportEnabled, setExecutionBoundary, setGarbageDisplayEnabled, setGarbageDisplayEnabled, setGarbageEnabled, setGarbageEnabled, setID, setID, setName, setPort, setPort, 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, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Routing

public Routing()

Routing

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

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

retrieveBestRTEntryDest

public RTEntry retrieveBestRTEntryDest(long destination)
Retrieves the best (longest matched) route entry 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 J-Sim API

Copyright © 1998-2003 Distributed Real-time Computing Lab (DRCL). All Rights Reserved.     ~ To J-Sim Home ~