J-Sim v1.2.1-p7 API

drcl.inet.core.ni
Class DropTailPointopointNI

java.lang.Object
  extended bydrcl.DrclObj
      extended bydrcl.comp.Component
          extended bydrcl.inet.core.NI
              extended bydrcl.inet.core.QueueNI
                  extended bydrcl.inet.core.ni.DropTailPointopointNI
All Implemented Interfaces:
java.lang.Cloneable, InetConstants, InetCoreConstants, ObjectDuplicable, java.io.Serializable

public class DropTailPointopointNI
extends QueueNI

The class implements the point-to-point network interface and emulates the physical link propagation. It is fully specified by the bandwidth, MTU and propagation delay. As a network interface, only one packet can be transmitted at a time. However as an emulated link, multiple packets may be outstanding, the number of which dependes on the propagation delay, bandwidth and packet size.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class drcl.comp.Component
Component.Locks
 
Field Summary
protected  int capacity
           
static java.lang.String EVENT_QLEN
           
protected  VSFIFOQueue q
           
protected  Port qLenPort
           
protected  int ready
          Time ready to transmit next packet.
 
Fields inherited from class drcl.inet.core.QueueNI
byteMode
 
Fields inherited from class drcl.inet.core.NI
bw, downPort, linkEmulation, mtu, propDelay, pullPort
 
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_EXPOSED, FLAG_GARBAGE_DISPLAY_ENABLED, FLAG_GARBAGE_ENABLED, FLAG_HAS_EXPOSED_CHILD, 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.core.InetCoreConstants
CONFIG_PORT_ID, PULL_PORT_ID
 
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, MCAST_QUERY_PORT_ID, PACKET_MODE, PID_AODV, 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
DropTailPointopointNI()
           
DropTailPointopointNI(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 getCapacity()
          Returns the capacity of the queue.
 int getSize()
          Returns the current size of the queue.
 java.lang.String info()
          Returns information regarding this component.
 boolean isReady()
          Returns true if the interface is ready to transmit more packets.
protected  void process(java.lang.Object data_, Port inPort_)
          The main callback method of a component.
 void reset()
          Resets the component for being used anew.
 void setCapacity(int capacity_)
          Sets the capacity of the queue.
 
Methods inherited from class drcl.inet.core.QueueNI
getMode, setMode, transmit
 
Methods inherited from class drcl.inet.core.NI
getBandwidth, getMTU, getPropDelay, isLinkEmulationEnabled, setBandwidth, setLinkEmulationEnabled, setMTU, setPropDelay
 
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, isDirectlyRelatedTo, 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, yield
 
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

ready

protected int ready
Time ready to transmit next packet.


EVENT_QLEN

public static final java.lang.String EVENT_QLEN
See Also:
Constant Field Values

qLenPort

protected Port qLenPort

q

protected VSFIFOQueue q

capacity

protected int capacity
Constructor Detail

DropTailPointopointNI

public DropTailPointopointNI()

DropTailPointopointNI

public DropTailPointopointNI(java.lang.String id_)
Method Detail

process

protected void process(java.lang.Object data_,
                       Port inPort_)
Description copied from class: Component
The main callback method of a component. Being invoked when data arrives at a port of its.

Overrides:
process in class Component
Parameters:
data_ - the arrival data.
inPort_ - the port where the data arrives.

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 QueueNI

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 NI

isReady

public boolean isReady()
Returns true if the interface is ready to transmit more packets.

Specified by:
isReady in class NI

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 QueueNI

setCapacity

public void setCapacity(int capacity_)
Sets the capacity of the queue.

Specified by:
setCapacity in class QueueNI

getCapacity

public int getCapacity()
Returns the capacity of the queue.

Specified by:
getCapacity in class QueueNI

getSize

public int getSize()
Returns the current size of the queue.

Specified by:
getSize in class QueueNI

J-Sim v1.2.1-p7 API

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