DRCL JavaSim API

drcl.inet
Class CSLBuilder

java.lang.Object
  |
  +--drcl.DrclObj
        |
        +--drcl.comp.Component
              |
              +--drcl.inet.CSLBuilder
All Implemented Interfaces:
java.lang.Cloneable, InetConstants, ObjectDuplicable, java.io.Serializable
Direct Known Subclasses:
CSLBuilder

public abstract class CSLBuilder
extends Component
implements InetConstants

The base class for building a core service layer. An implementation of a core service layer should come with a CSLBuilder class. In particular, a CSLBuilder subclass provides createCSL() to create an instance of the CoreServiceLayer that is known to this builder.

Version:
1.0, 10/17/2000
Author:
Hung-ying Tyan
See Also:
Serialized Form

Inner classes inherited from class drcl.comp.Component
Component.LockPack
 
Field Summary
protected  int bs
          Global buffer size setting (in bytes).
protected  java.lang.String bufferMode
           
protected  double bw
          Global bandwidth setting (in bps).
static CSLBuilder DEFAULT_BUILDER
          The default CSL builder.
protected  boolean linkEmu
          True if link emulation is enabled.
protected  double linkPropDelay
          Global link propagation delay, used with link emulation enabled.
protected  int mtu
          Fragmentation size.
 
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
 
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_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_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
CSLBuilder()
           
CSLBuilder(java.lang.String id_)
           
 
Method Summary
 Port addDownPort(int ifindex_)
           
 Port addUpPort(int pid_)
           
 void build(java.lang.Object c_)
           
abstract  void build(java.lang.Object[] cc_)
          Builds the core service layers inside the specified containers.
abstract  CoreServiceLayer createCSL()
          Creates and returns an instance of the CoreServiceLayer class which is known to this builder.
 void duplicate(java.lang.Object source_)
          Duplicates the content of source_, including ID, name, child components and connections among them, to this component.
abstract  void extract(CoreServiceLayer csl_)
          Extracts the structure of an existing CoreServiceLayer to the builder.
 double getBandwidth()
           
 java.lang.String getBufferMode()
           
 int getBufferSize()
           
 double getLinkPropDelay()
          Returns the (global) emulated link propagation delay.
 int getMTU()
           
 java.lang.String info()
          Returns information regarding this component.
 boolean isLinkEmulationEnabled()
           
 void setBandwidth(double bw_)
          Sets the bandwidth (in bps) for all the interfaces.
 void setBufferMode(java.lang.String mode_)
          Sets the buffer mode of all the interfaces.
 void setBufferSize(int bs_)
          Sets the buffer size (in bytes) for all the interfaces.
 void setLinkEmulationEnabled(boolean enabled_)
           
 void setLinkPropDelay(double delay_)
          Sets the (global) emulated link propagation delay.
 void setMTU(int mtu_)
          Sets the maximum transmission unit (MTU) for all interfaces.
 
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, isDirectOutputEnabled, isEnabled, isErrorNoticeEnabled, isEventExportEnabled, isGarbageDisplayEnabled, isGarbageEnabled, isPortNotificationEnabled, isPortRemovable, isStarted, isStopped, isTraceEnabled, lock, notify, notifyAll, operate, portAdded, portRemoved, process, reboot, removeAll, removeAllComponents, removeAllPorts, removeAllPorts, removeComponent, removeComponent, removePort, removePort, removePort, reset, 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

DEFAULT_BUILDER

public static CSLBuilder DEFAULT_BUILDER
The default CSL builder.

bw

protected double bw
Global bandwidth setting (in bps).

bs

protected int bs
Global buffer size setting (in bytes).

mtu

protected int mtu
Fragmentation size. Default is 0 (no fragmentation).

bufferMode

protected java.lang.String bufferMode

linkEmu

protected boolean linkEmu
True if link emulation is enabled.

linkPropDelay

protected double linkPropDelay
Global link propagation delay, used with link emulation enabled.
Constructor Detail

CSLBuilder

public CSLBuilder()

CSLBuilder

public CSLBuilder(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.
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

extract

public abstract void extract(CoreServiceLayer csl_)
Extracts the structure of an existing CoreServiceLayer to the builder.

build

public abstract void build(java.lang.Object[] cc_)
Builds the core service layers inside the specified containers.

createCSL

public abstract CoreServiceLayer createCSL()
Creates and returns an instance of the CoreServiceLayer class which is known to this builder.

build

public void build(java.lang.Object c_)

addUpPort

public Port addUpPort(int pid_)

addDownPort

public Port addDownPort(int ifindex_)

setBandwidth

public void setBandwidth(double bw_)
Sets the bandwidth (in bps) for all the interfaces.

getBandwidth

public double getBandwidth()

setBufferSize

public void setBufferSize(int bs_)
Sets the buffer size (in bytes) for all the interfaces.

getBufferSize

public int getBufferSize()

setMTU

public void setMTU(int mtu_)
Sets the maximum transmission unit (MTU) for all interfaces. A positive value also enables the fragmentation in the core service layer. Zero disables it. The default value applies if a negative value is given.

getMTU

public int getMTU()

setBufferMode

public void setBufferMode(java.lang.String mode_)
Sets the buffer mode of all the interfaces.
Parameters:
mode_ - can be either "packet" or "byte".

getBufferMode

public java.lang.String getBufferMode()

isLinkEmulationEnabled

public boolean isLinkEmulationEnabled()

setLinkEmulationEnabled

public void setLinkEmulationEnabled(boolean enabled_)

getLinkPropDelay

public double getLinkPropDelay()
Returns the (global) emulated link propagation delay. Used with link emulation enabled.

setLinkPropDelay

public void setLinkPropDelay(double delay_)
Sets the (global) emulated link propagation delay. Used with link emulation enabled.

DRCL JavaSim API

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