DRCL JavaSim API

drcl.net.traffic
Class TraceInput

java.lang.Object
  |
  +--drcl.DrclObj
        |
        +--drcl.comp.Component
              |
              +--drcl.net.traffic.TrafficComponent
                    |
                    +--drcl.net.traffic.TrafficSourceComponent
                          |
                          +--drcl.net.traffic.TraceInput
All Implemented Interfaces:
ActiveComponent, java.lang.Cloneable, 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

Inner classes inherited from class drcl.comp.Component
Component.LockPack
 
Field Summary
 int burst
           
 double load
           
 int mtu
           
protected  java.io.Reader reader
           
 
Fields inherited from class drcl.net.traffic.TrafficSourceComponent
r, seed
 
Fields inherited from class drcl.net.traffic.TrafficComponent
downPort, timerPort
 
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
 
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_)
           
protected abstract  double setNextPacket(FooPacket nextpkt_)
          Sets up next packet.
 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, getShaper, info, isSendUnshapedTrafficEnabled, process, setBufferSize, setSendUnshapedTrafficEnabled, setShaper
 
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, 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, 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
 
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

reader

protected transient java.io.Reader reader

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

setNextPacket

protected abstract double setNextPacket(FooPacket nextpkt_)
Description copied from class: TrafficSourceComponent
Sets up next packet. Given the next packet, this method should set its packet size and return the birth time of the packet. The birth time is the time relative to the start time of this traffic source.
Overrides:
setNextPacket in class TrafficSourceComponent

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.
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.
Overrides:
setTrafficModel in class TrafficComponent

getTrafficModel

public TrafficModel getTrafficModel()
Description copied from class: TrafficComponent
Returns the associated traffic model.
Overrides:
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 JavaSim API

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