J-Sim v1.2.1-p7 API

drcl.inet.core
Class RT

java.lang.Object
  extended bydrcl.DrclObj
      extended bydrcl.comp.Component
          extended bydrcl.inet.core.RT
All Implemented Interfaces:
java.lang.Cloneable, InetConstants, InetCoreConstants, ObjectDuplicable, java.io.Serializable

public class RT
extends Component
implements InetCoreConstants

The component that manages the routing table of a network node. It does not distinguish unicast and multicast addresses. To be exact, it does not distinguish the types of addresses at all. Basically, all it does is to maintain the mapping from a set of RTKeys to the corresponding RTEntries.

As a service provider, this component provides the services that are described by the following contracts (contract classes) and the bound ports:

SERVICE PORT
Route Lookup Service
(RTLookup)
.service_rt@
Configuration Service
(RTConfig)
.service_rt@

In addition, this component may export the following events:

EVENT PORT DESCRIPTION
RT Entry Added .rt_ucast@
.rt_mcast@
Event object is the entry or array of entries being added.
RT Entry Removed .rt_ucast@
.rt_mcast@
Event object is the entry or array of entries being removed.
RT Entry Modified .rt_ucast@
.rt_mcast@
Event object is a two-element array that consists of the old and the new entries.

Properties:

NAME DESCRIPTION
staticEntries Array of the static route entries (never timed out) of the node.

See Also:
RTLookup, RTConfig, RTKey, RTEntry, Serialized Form

Nested Class Summary
 
Nested classes inherited from class drcl.comp.Component
Component.Locks
 
Field Summary
static java.lang.String IMPLEMENTATION
           
static java.lang.String MULTIPLE_FIELD
           
static java.lang.String RADIX_TREE
           
 
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_EXPOSED, FLAG_GARBAGE_DISPLAY_ENABLED, FLAG_GARBAGE_ENABLED, FLAG_HAS_EXPOSED_CHILD, 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.core.InetCoreConstants
CONFIG_PORT_ID, PULL_PORT_ID
 
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, MCAST_QUERY_PORT_ID, PACKET_MODE, PID_AODV, 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
RT()
           
RT(java.lang.String id_)
           
 
Method Summary
 RTEntry[] _getAll()
          Returns all the route entry(-ies) stored in this component.
 void _graftprune(boolean graft_, RTKey key_, BitSet bs_, java.lang.Object ext_, double timeout_)
           
 void add(RTKey key_, RTEntry entry_)
          Adds a key-entry pair to the routing table.
 void add(RTKey key_, RTEntry entry_, double timeout_)
          Adds a key-entry pair with timeout to the routing table.
 java.lang.Object clear()
          Removes and returns all the route entries stored in this component.
 java.lang.String diag()
           
 void duplicate(java.lang.Object source_)
          Duplicates the content of source_, including ID, name, child components and connections among them, to this component.
 java.lang.Object get(RTKey key_, java.lang.String matchType_)
          Returns the matched entry(-ies).
 Address getAddress()
          Returns the address scheme.
 RTEntry[] getStaticEntries()
          Returns the static route entries (entries never timed out).
 void graft(RTKey key_, BitSet bs_)
          Grafts the interfaces to the entry exactly matched by the given key.
 void graft(RTKey key_, BitSet bs_, double timeout_)
          Grafts the interfaces to the entry exactly matched by the given key.
 java.lang.String info()
          Returns information regarding this component.
 int[] lookup(InetPacket pkt_, long src_, long dest_, int incomingIf_)
           
protected  void process(java.lang.Object data_, Port inPort_)
          The main callback method of a component.
 void prune(RTKey key_, BitSet bs_)
          Prunes the interfaces from the entry exactly matched by the given key.
 void prune(RTKey key_, BitSet bs_, double timeout_)
          Prunes the interfaces from the entry exactly matched by the given key.
 java.lang.Object remove(RTKey key_, java.lang.String matchType_)
          Removes the matched entry(-ies).
 void reset()
          Resets the component for being used anew.
 void setAddress(Address addr_)
          Sets the address scheme.
 void setStaticEntries(RTEntry[] all_)
          Sets the static route entries (entries never timed out).
 
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, isAncestorOf, isComponentNotificationEnabled, isContainer, isDebugEnabled, isDebugEnabledAt, isDirectlyRelatedTo, 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, 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, yield
 
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

RADIX_TREE

public static final java.lang.String RADIX_TREE
See Also:
Constant Field Values

MULTIPLE_FIELD

public static final java.lang.String MULTIPLE_FIELD
See Also:
Constant Field Values

IMPLEMENTATION

public static java.lang.String IMPLEMENTATION
Constructor Detail

RT

public RT()

RT

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

reset

public void reset()
Description copied from class: Component
Resets the component for being used anew. All the internal variables must be set to the initial state. All the ports and child components are reset as well.

Overrides:
reset in class Component

duplicate

public void duplicate(java.lang.Object source_)
Description copied from class: Component
Duplicates the content of source_, including ID, name, child components and connections among them, to this component. Subclasses need to override this method to copy its own variables.

Specified by:
duplicate in interface ObjectDuplicable
Overrides:
duplicate in class Component

info

public java.lang.String info()
Description copied from class: Component
Returns information regarding this component. Subclasses should override this method to provide useful information at run time.

Overrides:
info in class Component

diag

public java.lang.String diag()

process

protected void process(java.lang.Object data_,
                       Port inPort_)
Description copied from class: Component
The main callback method of a component. Being invoked when data arrives at a port of its.

Overrides:
process in class Component
Parameters:
data_ - the arrival data.
inPort_ - the port where the data arrives.

lookup

public int[] lookup(InetPacket pkt_,
                    long src_,
                    long dest_,
                    int incomingIf_)

add

public void add(RTKey key_,
                RTEntry entry_,
                double timeout_)
Adds a key-entry pair with timeout to the routing table.


add

public void add(RTKey key_,
                RTEntry entry_)
Adds a key-entry pair to the routing table.


graft

public void graft(RTKey key_,
                  BitSet bs_)
Grafts the interfaces to the entry exactly matched by the given key.


graft

public void graft(RTKey key_,
                  BitSet bs_,
                  double timeout_)
Grafts the interfaces to the entry exactly matched by the given key.


_graftprune

public void _graftprune(boolean graft_,
                        RTKey key_,
                        BitSet bs_,
                        java.lang.Object ext_,
                        double timeout_)

prune

public void prune(RTKey key_,
                  BitSet bs_)
Prunes the interfaces from the entry exactly matched by the given key.


prune

public void prune(RTKey key_,
                  BitSet bs_,
                  double timeout_)
Prunes the interfaces from the entry exactly matched by the given key.


get

public java.lang.Object get(RTKey key_,
                            java.lang.String matchType_)
Returns the matched entry(-ies).

Parameters:
key_ - the key to match.
matchType_ - Map.MATCH_EXACT, Map.MATCH_LONGEST, Map.MATCH_ALL or Map.MATCH_WILDCARD.
Returns:
the matched entry or array of the matched entries.

_getAll

public RTEntry[] _getAll()
Returns all the route entry(-ies) stored in this component.


remove

public java.lang.Object remove(RTKey key_,
                               java.lang.String matchType_)
Removes the matched entry(-ies).

Parameters:
key_ - the key to match.
matchType_ - Map.MATCH_EXACT, Map.MATCH_LONGEST, Map.MATCH_ALL or Map.MATCH_WILDCARD.
Returns:
the matched entry or array of the matched entries.

clear

public java.lang.Object clear()
Removes and returns all the route entries stored in this component.


getStaticEntries

public RTEntry[] getStaticEntries()
Returns the static route entries (entries never timed out).


setStaticEntries

public void setStaticEntries(RTEntry[] all_)
Sets the static route entries (entries never timed out).


setAddress

public void setAddress(Address addr_)
Sets the address scheme.


getAddress

public Address getAddress()
Returns the address scheme.


J-Sim v1.2.1-p7 API

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