DRCL J-Sim API

drcl.net.traffic
Class TraceInput

java.lang.Object
  extended bydrcl.DrclObj
      extended bydrcl.comp.Component
          extended bydrcl.net.traffic.TrafficComponent
              extended bydrcl.net.traffic.TrafficSourceComponent
                  extended bydrcl.net.traffic.TraceInput
All Implemented Interfaces:
ActiveComponent, java.lang.Cloneable, ObjectCloneable, ObjectDuplicable, java.io.Serializable
Direct Known Subclasses:
SimpleTrace, TCPTrace

public abstract class TraceInput
extends TrafficSourceComponent

TraceInput output packets to down@ port based on a trace file. To use the class, one must assigned to it a java.io.Reader which is associated with the opened trace file.

A subclass must override #setNextPacket(drcl.net.FooPacket) to set the size of next packet and return its birth time based on the trace file. In addition, a subclass also needs to implement the looping operation. When the looping flag is enabled, the trace file is repeated every loopPeriod second. The associated traffic model is made up by the load, burst and MTU properties.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class drcl.comp.Component
Component.Locks
 
Field Summary
 int burst
           
 double load
           
 int mtu
           
 
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
 
Constructor Summary
TraceInput()
           
TraceInput(java.lang.String id_)
           
 
Method Summary
 void duplicate(java.lang.Object source_)
          Duplicates the content of source_, including ID, name, child components and connections among them, to this component.
 int getBurst()
           
 double getLoad()
           
 double getLoopPeriod()
          Returns the looping period.
 int getMTU()
           
 java.io.Reader getReader()
           
 TrafficModel getTrafficModel()
          Returns the associated traffic model.
 java.lang.String info()
          Returns information regarding this component.
 boolean isLoopEnabled()
          Returns true if looping the trace is enabled.
 void load(java.lang.String filename_)
          Loads the trace file into this component.
 void reset()
          Resets the component for being used anew.
 void setBurst(int b_)
           
 void setLoad(double load_)
           
 void setLoopEnabled(boolean v_)
          Enables/disables looping.
 void setLoopPeriod(double p_)
          Sets the looping period.
 void setMTU(int mtu_)
           
 void setReader(java.io.Reader r_)
           
 void setTrafficModel(TrafficModel traffic_)
          Sets the associated traffic model.
 
Methods inherited from class drcl.net.traffic.TrafficSourceComponent
_resume, _start, _stop, getBufferSize, getSeed, getShaper, info, isSendUnshapedTrafficEnabled, isTimestampEnabled, setBufferSize, setSeed, setSendUnshapedTrafficEnabled, setShaper, setTimestampEnabled
 
Methods inherited from class drcl.net.traffic.TrafficComponent
getPacketWrapper, setPacketWrapper
 
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, 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, 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
 

Field Detail

load

public double load

mtu

public int mtu

burst

public int burst
Constructor Detail

TraceInput

public TraceInput()

TraceInput

public TraceInput(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 TrafficSourceComponent

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 TrafficSourceComponent

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 TrafficComponent

load

public void load(java.lang.String filename_)
Loads the trace file into this component.


setReader

public void setReader(java.io.Reader r_)

getReader

public java.io.Reader getReader()

setTrafficModel

public void setTrafficModel(TrafficModel traffic_)
Description copied from class: TrafficComponent
Sets the associated traffic model.

Specified by:
setTrafficModel in class TrafficComponent

getTrafficModel

public TrafficModel getTrafficModel()
Description copied from class: TrafficComponent
Returns the associated traffic model.

Specified by:
getTrafficModel in class TrafficComponent

setLoad

public void setLoad(double load_)

getLoad

public double getLoad()

setBurst

public void setBurst(int b_)

getBurst

public int getBurst()

setMTU

public void setMTU(int mtu_)

getMTU

public int getMTU()

isLoopEnabled

public boolean isLoopEnabled()
Returns true if looping the trace is enabled.


setLoopEnabled

public void setLoopEnabled(boolean v_)
Enables/disables looping.


getLoopPeriod

public double getLoopPeriod()
Returns the looping period.


setLoopPeriod

public void setLoopPeriod(double p_)
Sets the looping period.


DRCL J-Sim API

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