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
|
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 |
|
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 java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
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.
CSLBuilder
public CSLBuilder()
CSLBuilder
public CSLBuilder(java.lang.String id_)
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.
Copyright © 2001 - DRCL, OSU ~ Back to JavaSim Home ~