drcl.inet.core.queue
Class FIFO
java.lang.Object
|
+--drcl.DrclObj
|
+--drcl.comp.Component
|
+--drcl.comp.queue.ActiveQueue
|
+--drcl.inet.core.Queue
|
+--drcl.inet.core.queue.FIFO
- All Implemented Interfaces:
- java.lang.Cloneable, InetConstants, InetCoreConstants, ObjectDuplicable, java.io.Serializable
- public class FIFO
- extends Queue
Implements a FIFO queue structure that one may plug in a different queue
logic to form a differnt FIFO implementation. For example, one may plug in
the RED queue logic to form a random-early-detection (RED) queue;
plug in the FRED queue logic to form a fair RED (FRED) queue;
plug in the SRED queue logic to form a stablized RED (SRED) queue.
Without any queue logic, this component works as a simple drop-tail
(by default) or drop-head queue.
- See Also:
- Serialized Form
| 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 |
|
Constructor Summary |
FIFO()
|
FIFO(java.lang.String id_)
|
|
Method Summary |
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. |
QLogic |
getQLogic()
|
int |
getSize()
Returns the current size of the queue. |
java.lang.String |
info(java.lang.String prefix_)
|
boolean |
isDropHeadEnabled()
|
boolean |
isEmpty()
Return true if the queue is empty. |
boolean |
isFull()
Return true if the queue is full. |
java.lang.Object |
lastElement()
Retrieves but not remove the last object in the queue. |
java.lang.Object |
peekAt(int pos_)
Retrieves but not remove the object at the position specified. |
void |
reset()
Resets the component for being used anew. |
void |
setCapacity(int capacity_)
Sets the capacity of the queue. |
void |
setDropHeadEnabled(boolean enabled_)
|
void |
setQLogic(QLogic qlogic_)
|
| 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 java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
EVENT_QSIZE_PORT_ID
public static final java.lang.String EVENT_QSIZE_PORT_ID
- Name of the port that exports the instant queue size change events.
drop_front
protected boolean drop_front
q
protected FIFOQueue q
FIFO
public FIFO()
FIFO
public FIFO(java.lang.String id_)
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 Queue
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 Queue
info
public java.lang.String info(java.lang.String prefix_)
- Overrides:
info in class Queue
setQLogic
public void setQLogic(QLogic qlogic_)
getQLogic
public QLogic getQLogic()
enqueue
public java.lang.Object enqueue(java.lang.Object obj_)
- Enqueues the object at the end of the queue
- Overrides:
enqueue in class ActiveQueue
- Returns:
- the object being dropped due to the enqueue; null otherwise.
dequeue
public java.lang.Object dequeue()
- Dequeues and returns the first object in the queue.
- Overrides:
dequeue in class ActiveQueue
- Returns:
- the object dequeued; null if queue is empty.
peekAt
public java.lang.Object peekAt(int pos_)
- Retrieves but not remove the object at the position specified.
- Overrides:
peekAt in class ActiveQueue
- Returns:
- the object; null if position is not valid.
firstElement
public java.lang.Object firstElement()
- Retrieves but not dequeue the first object in the queue.
- Overrides:
firstElement in class ActiveQueue
- Returns:
- the object; null if queue is empty.
lastElement
public java.lang.Object lastElement()
- Retrieves but not remove the last object in the queue.
- Overrides:
lastElement in class ActiveQueue
- Returns:
- the object; null if queue is empty.
isFull
public boolean isFull()
- Return true if the queue is full.
- Overrides:
isFull in class ActiveQueue
isEmpty
public boolean isEmpty()
- Return true if the queue is empty.
- Overrides:
isEmpty in class ActiveQueue
setCapacity
public void setCapacity(int capacity_)
- Sets the capacity of the queue.
- Overrides:
setCapacity in class Queue
- Following copied from class:
drcl.inet.core.Queue
- Parameters:
capacity_ - the new capacity.
getCapacity
public int getCapacity()
- Returns the capacity of the queue.
- Overrides:
getCapacity in class Queue
getSize
public int getSize()
- Returns the current size of the queue.
- Overrides:
getSize in class Queue
setDropHeadEnabled
public void setDropHeadEnabled(boolean enabled_)
isDropHeadEnabled
public boolean isDropHeadEnabled()
Copyright © 2001 - DRCL, OSU ~ Back to JavaSim Home ~