DRCL JavaSim API

drcl.intserv.scheduler
Class scheduler_PGPS

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

public class scheduler_PGPS
extends Scheduler

The Packetized Generalized Processor Sharing scheduler. Accepts any type of SpecR.

See Also:
Serialized Form

Inner Class Summary
protected static class scheduler_PGPS.vparam
           
 
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_PGPS()
           
scheduler_PGPS(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.
 java.lang.String info()
          Returns information regarding 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, 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_PGPS

public scheduler_PGPS()

scheduler_PGPS

public scheduler_PGPS(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

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 Scheduler

DRCL JavaSim API

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