DRCL J-Sim API

drcl.inet
Class CSLBuilder

java.lang.Object
  extended bydrcl.DrclObj
      extended bydrcl.comp.Component
          extended bydrcl.inet.CSLBuilder
All Implemented Interfaces:
java.lang.Cloneable, InetConstants, ObjectCloneable, 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

Nested Class Summary
 
Nested classes inherited from class drcl.comp.Component
Component.Locks
 
Field Summary
static CSLBuilder DEFAULT_BUILDER
          The default CSL builder.
 
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
 
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, ID_TRACE_RT, MCAST_QUERY_PORT_ID, PACKET_MODE, PID_AODV, PID_DV, PID_DVMRP, PID_HELLO, PID_IGMP, PID_OSPF, PID_RSVP, PID_TCP, PID_TRACE_RT, 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
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, reset, 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

DEFAULT_BUILDER

public static CSLBuilder DEFAULT_BUILDER
The default CSL builder.

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.

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

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 J-Sim API

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