J-Sim v1.2.1-p7 API

drcl.diffserv
Class HQS

java.lang.Object
  extended bydrcl.DrclObj
      extended bydrcl.comp.Component
          extended bydrcl.comp.queue.ActiveQueue
              extended bydrcl.inet.core.Queue
                  extended bydrcl.diffserv.HQS
All Implemented Interfaces:
java.lang.Cloneable, InetConstants, InetCoreConstants, ObjectDuplicable, java.io.Serializable
Direct Known Subclasses:
pq, wrr

public abstract class HQS
extends Queue

This component defines the base class for a hierachical queue set.

Propertes:

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class drcl.comp.Component
Component.Locks
 
Field Summary
protected  long classIDMask
           
protected  Map qs
           
 
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_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
HQS()
           
HQS(java.lang.String id)
           
 
Method Summary
 void addQueueSet(Queue child_, long classMask, long classId)
           
protected  java.lang.String configInfo(java.lang.String prefix_)
          Prints the configuration information of this HQS.
protected  java.lang.String configInfo(java.lang.String prefix_, Queue q_)
          Prints out the configuration information associated with the child queue.
 java.lang.Object dequeue()
          Dequeues and returns the first object in the queue.
 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.Object enqueue(java.lang.Object obj_)
          Enqueues the object at the end of the queue
 java.lang.Object firstElement()
          Retrieves but not dequeue the first object in the queue.
 int getCapacity()
          Returns the capacity of the queue.
 long getClassIDMask()
           
 Queue getQueueSet(long classID)
           
 int getSize()
          Returns the current size of the queue.
 java.lang.String info(java.lang.String prefix_)
           
 boolean isEmpty()
          Return true if the queue is empty.
 boolean isFull()
          Return true if the queue is full.
protected abstract  Queue pickEligibleQueue(boolean dequeue_)
          This method is called when this HQS needs to pick a child queue to perform dequeue() or firstElement().
 void removeQueueSet(Queue leaf_)
           
 void setCapacity(int size)
          Not applicable to this class.
 void setClassIDMask(long mask_)
           
 
Methods inherited from class drcl.inet.core.Queue
createConfigPort, getMode, isByteMode, isPacketMode, reset, setMode
 
Methods inherited from class drcl.comp.queue.ActiveQueue
_getnrequests, _setnrequests, enqueueAt, getAvailableSize, getEnqueCount, increaseEnqueCount, info, lastElement, peekAt, process, 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, 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

qs

protected Map qs

classIDMask

protected long classIDMask
Constructor Detail

HQS

public HQS()

HQS

public HQS(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 Queue

configInfo

protected java.lang.String configInfo(java.lang.String prefix_)
Prints the configuration information of this HQS. Subclasses should override this method to print out their own parameters.


configInfo

protected java.lang.String configInfo(java.lang.String prefix_,
                                      Queue q_)
Prints out the configuration information associated with the child queue. Subclasses should override this method to print out their own parameters.


info

public java.lang.String info(java.lang.String prefix_)
Overrides:
info in class Queue

enqueue

public java.lang.Object enqueue(java.lang.Object obj_)
Description copied from class: ActiveQueue
Enqueues the object at the end of the queue

Specified by:
enqueue in class ActiveQueue
Returns:
the object being dropped due to the enqueue; null otherwise.

dequeue

public java.lang.Object dequeue()
Description copied from class: ActiveQueue
Dequeues and returns the first object in the queue.

Specified by:
dequeue in class ActiveQueue
Returns:
the object dequeued; null if position is not valid.

firstElement

public java.lang.Object firstElement()
Description copied from class: ActiveQueue
Retrieves but not dequeue the first object in the queue.

Overrides:
firstElement in class ActiveQueue
Returns:
the object; null if queue is empty.

addQueueSet

public void addQueueSet(Queue child_,
                        long classMask,
                        long classId)

getQueueSet

public Queue getQueueSet(long classID)

removeQueueSet

public void removeQueueSet(Queue leaf_)

pickEligibleQueue

protected abstract Queue pickEligibleQueue(boolean dequeue_)
This method is called when this HQS needs to pick a child queue to perform dequeue() or firstElement(). Subclasses must implement this method.


setClassIDMask

public void setClassIDMask(long mask_)

getClassIDMask

public long getClassIDMask()

isEmpty

public boolean isEmpty()
Description copied from class: ActiveQueue
Return true if the queue is empty.

Specified by:
isEmpty in class ActiveQueue

isFull

public boolean isFull()
Description copied from class: ActiveQueue
Return true if the queue is full.

Specified by:
isFull in class ActiveQueue

getSize

public int getSize()
Description copied from class: Queue
Returns the current size of the queue.

Specified by:
getSize in class Queue

getCapacity

public int getCapacity()
Description copied from class: Queue
Returns the capacity of the queue.

Specified by:
getCapacity in class Queue

setCapacity

public void setCapacity(int size)
Not applicable to this class.

Specified by:
setCapacity in class Queue
Parameters:
size - the new capacity.

J-Sim v1.2.1-p7 API

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