J-Sim v1.2.1-p7 API

drcl.diffserv
Class TrafficConditioner

java.lang.Object
  extended bydrcl.DrclObj
      extended bydrcl.comp.Component
          extended bydrcl.net.Module
              extended bydrcl.inet.core.PktFilter
                  extended bydrcl.diffserv.TrafficConditioner
All Implemented Interfaces:
java.lang.Cloneable, InetConstants, InetCoreConstants, ObjectDuplicable, java.io.Serializable

public class TrafficConditioner
extends PktFilter

This implements a wrapper class for classifier and profiler(meter, marker). A packet is first classified to find the profile it belongs to by the source, destination and DF fields in the packet header, and then it will be passed to the meter and marker installed for the profile for further processing.

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
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_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
TrafficConditioner()
           
TrafficConditioner(java.lang.String id_)
           
 
Method Summary
 void addProfile(long src_, DFProfile dfp_)
          This method calls addProfile(src_, -1L, 0L, 0L, 0L, 0L, dfp_).
 void addProfile(long src_, long dest_, DFProfile dfp_)
          This method calls addProfile(src_, -1L, dest_, -1L, 0L, 0L, dfp_).
 void addProfile(long src_, long dest_, long dscp_, DFProfile dfp_)
          This method calls addProfile(src_, -1L, dest_, -1L, dscp_, -1L, dfp_).
 void addProfile(long src_, long srcmask_, long dest_, long destmask_, long dscp_, long dscpmask_, DFProfile dfp_)
           
protected  void dataArriveAtUpPort(java.lang.Object data_, Port upPort_)
          The callback which handles the event when a packet arrives at the up port.
 void duplicate(java.lang.Object source_)
          Duplicates the content of source_, including ID, name, child components and connections among them, to this component.
 DFProfile getProfile(long src_, long dest_, long dscp_)
          Returns the longest matched profile.
 java.lang.String info()
          Returns information regarding this component.
 boolean isInspectionEnabled()
          Returns true if inspection of individual flows is enabled.
 void removeProfile(DFProfile dfp_)
           
 void removeProfile(long src_, long dest_, long dscp_)
          Removes the longest matched profile.
 void reset()
          Resets the component for being used anew.
 void setInspectionEnabled(boolean enabled_)
          Enables/disables inspection of individual flows.
 
Methods inherited from class drcl.inet.core.PktFilter
createConfigPort, dataArriveAtDownPort, processOther
 
Methods inherited from class drcl.net.Module
cancelTimeout, 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, 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
 

Constructor Detail

TrafficConditioner

public TrafficConditioner()

TrafficConditioner

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

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 PktFilter

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

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

addProfile

public void addProfile(long src_,
                       long srcmask_,
                       long dest_,
                       long destmask_,
                       long dscp_,
                       long dscpmask_,
                       DFProfile dfp_)

addProfile

public void addProfile(long src_,
                       long dest_,
                       long dscp_,
                       DFProfile dfp_)
This method calls addProfile(src_, -1L, dest_, -1L, dscp_, -1L, dfp_).

See Also:
addProfile(long, long, long, long, long, long, DFProfile)

addProfile

public void addProfile(long src_,
                       long dest_,
                       DFProfile dfp_)
This method calls addProfile(src_, -1L, dest_, -1L, 0L, 0L, dfp_).

See Also:
addProfile(long, long, long, long, long, long, DFProfile)

addProfile

public void addProfile(long src_,
                       DFProfile dfp_)
This method calls addProfile(src_, -1L, 0L, 0L, 0L, 0L, dfp_).

See Also:
addProfile(long, long, long, long, long, long, DFProfile)

getProfile

public DFProfile getProfile(long src_,
                            long dest_,
                            long dscp_)
Returns the longest matched profile.


removeProfile

public void removeProfile(DFProfile dfp_)

removeProfile

public void removeProfile(long src_,
                          long dest_,
                          long dscp_)
Removes the longest matched profile.


dataArriveAtUpPort

protected void dataArriveAtUpPort(java.lang.Object data_,
                                  Port upPort_)
Description copied from class: PktFilter
The callback which handles the event when a packet arrives at the up port. Default behavior is relay the packet to the down port.

Overrides:
dataArriveAtUpPort in class PktFilter

setInspectionEnabled

public void setInspectionEnabled(boolean enabled_)
Enables/disables inspection of individual flows.


isInspectionEnabled

public boolean isInspectionEnabled()
Returns true if inspection of individual flows is enabled.


J-Sim v1.2.1-p7 API

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