DRCL JavaSim API

drcl.intserv.scheduler
Class scheduler_SCFQ

java.lang.Object
  |
  +--drcl.DrclObj
        |
        +--drcl.comp.Component
              |
              +--drcl.comp.queue.ActiveQueue
                    |
                    +--drcl.inet.core.Queue
                          |
                          +--drcl.intserv.Scheduler
                                |
                                +--drcl.intserv.scheduler.scheduler_SCFQ
All Implemented Interfaces:
java.lang.Cloneable, InetConstants, InetCoreConstants, ObjectDuplicable, java.io.Serializable, Wrapper

public class scheduler_SCFQ
extends Scheduler

The Self-clock Fair Queueing scheduler. Accepts any type of Rspec.

See Also:
Serialized Form

Inner classes inherited from class drcl.comp.Component
Component.LockPack
 
Fields inherited from class drcl.intserv.Scheduler
AVAILABLE_ACTUAL_QoS, AVAILABLE_ALLOCATED_QoS, AVAILABLE_BE, BUFFER_CHANGE_EVENT_NAME, BUFFER_CHANGE_EVENT_PORT, bufferRatio, BW_CHANGE_EVENT_NAME, BW_CHANGE_EVENT_PORT, bwRatio, maxBuffer, maxBW, mtu, nonqosAlloc, pktLossRate, qosAlloc, qosBuffer, qosBW, qosResvBuffer, qosResvBW
 
Fields inherited from class drcl.comp.queue.ActiveQueue
nrequests, outport, OUTPUT_PORT_ID
 
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.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_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
scheduler_SCFQ()
           
scheduler_SCFQ(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.
protected  Packet qosDeque()
          Subclasses must override this method to provide its own dequeuing scheme.
protected  void qosEnque(Packet p_, SpecR rspec_)
          Subclasses must override this method to provide its own enqueuing scheme.
 SpecFlow removeFlowspec(int handle_)
          Removes a flowspec.
 void reset()
          Resets the component for being used anew.
 int setFlowspec(int handle_, long[] tos_, long[] tosmask_, SpecFlow fspec_)
          Adds/modifies the flowspec with the specified handle.
 
Methods inherited from class drcl.intserv.Scheduler
addFlowspec, addFlowspec, addFlowspec, addShaper, allocateBuffer, configure, dequeue, enqueue, freeBuffer, getAdmission, getAllFlowspecs, getAllRspecs, getAvailableBuffer, getAvailableBW, getAvailableCapacity, getAvailableQoSBuffer, getBufferRatio, getBW, getBWRatio, getCapacity, getCurrentLoad, getCurrentLoadByPercentage, getFlowspec, getFlowspec, getMTU, getObject, getPktLossRate, getPropDelay, getRspec, getRspec, getSize, getToSMask, info, isDegradedQoSEnabled, isEmpty, isFull, process, releaseBW, releaseQoSBuffer, removeAllFlowspecs, removeShaper, resvBW, resvinfo, resvQoSBuffer, setAdmission, setBufferRatio, setBW, setBWRatio, setCapacity, setDegradedQoSEnabled, setMTU, setPktLossRate, setToSMask
 
Methods inherited from class drcl.inet.core.Queue
createConfigPort, getMode, info, isByteMode, isPacketMode, setMode
 
Methods inherited from class drcl.comp.queue.ActiveQueue
_getnrequests, _setnrequests, enqueueAt, firstElement, getAvailableSize, getEnqueCount, increaseEnqueCount, lastElement, peekAt, pull, retrieveAt
 
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, 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
 

Constructor Detail

scheduler_SCFQ

public scheduler_SCFQ()

scheduler_SCFQ

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

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 Scheduler

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 Scheduler

qosEnque

protected void qosEnque(Packet p_,
                        SpecR rspec_)
Description copied from class: Scheduler
Subclasses must override this method to provide its own enqueuing scheme.
Overrides:
qosEnque in class Scheduler

qosDeque

protected Packet qosDeque()
Description copied from class: Scheduler
Subclasses must override this method to provide its own dequeuing scheme.
Overrides:
qosDeque in class Scheduler

setFlowspec

public int setFlowspec(int handle_,
                       long[] tos_,
                       long[] tosmask_,
                       SpecFlow fspec_)
Description copied from class: Scheduler
Adds/modifies the flowspec with the specified handle. If no flowspec exists for the handle, the flowspec is added. Otherwise, the flowspec replaces the original one. No admission control is performed in this method. A subclass may need to override this method to create its own data structure for the successfully installed flow.
Overrides:
setFlowspec in class Scheduler
Following copied from class: drcl.intserv.Scheduler
Returns:
the handle.

removeFlowspec

public SpecFlow removeFlowspec(int handle_)
Description copied from class: Scheduler
Removes a flowspec. A subclass may need to override this method to remove its own data structure for the installed flow.
Overrides:
removeFlowspec in class Scheduler

DRCL JavaSim API

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