gov.nist.antd.mpls.mgmt.mpls_interface
Class MPLSREDQueue

java.lang.Object
  |
  +--gov.nist.antd.diffserv.SimplePacketQueue
        |
        +--gov.nist.antd.mpls.mgmt.mpls_interface.MPLSQueue
              |
              +--gov.nist.antd.mpls.mgmt.mpls_interface.MPLSREDQueue

public class MPLSREDQueue
extends MPLSQueue

MPLS RED Queue.

 RED (Random Early Detection) with algorithmic drop
  Ref. 
	[1] RFC 2309 Recommendations on Queue Management and Congestion
	     avoidance in Internet, April 1998.
	[2] Sally Floyd and Van Jacobson, "Random Early Detection Gateways for
	     congestion Avoidance, IEEE/ACM Tansactions on Networking, 
	     Vol. 1, No. 4, August 1993.
 

 This class was developed at the National Institute of Standards and
 Technology by employees of the Federal Government in the course of
 their official duties. Pursuant to title 17 Section 105 of the United
 States Code this software is not subject to copyright protection and
 is in the public domain.
 NIST assumes no responsibility whatsoever for its use by other parties,
 and makes no guarantees, expressed or implied, about its quality,
 reliability, or any other characteristic.
 
We would appreciate acknowledgement if the software is used.
NIST ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.

Author:
EunHyuk Lim (ehlim@antd.nist.gov, othree28@hotmail.com)
, borchert , Chul Kim

Field Summary
 double avgQlength
          Field avgQlength - Average queue length
 int count
          Field count
 int mean_pkt_size
          Field mean_pkt_size - Mean Packet size
 double Pa
          Field Pa, Pb
 double Pb
          Field Pa, Pb
 double Pmax
          Field Pmax
 double q_time
          Field q_time - the time when the queue became empty
 boolean QueueEmpty
          Field QueueEmpty - Queue Emptyr flag
 double QueueWeight
          Field QueueWeight - weighting factor to calculate average queue size
 double THmax
          Field THmax - Maximum Threshold
 double THmin
          Field THmin - Mininum Threshold
 
Fields inherited from class gov.nist.antd.mpls.mgmt.mpls_interface.MPLSQueue
BitRate, BufferSize, debug, dequeueCount, dropBytes, dropCount, HostID, incomingBytes, incomingCount, isActive, isWFQ, localHost, mplsInterfaceInfo, nextEFt, outgoingBytes, outgoingCount, prevdropBytes, prevdropCount, prevEFt, previncomingBytes, previncomingCount, prevoutgoingBytes, prevoutgoingCount, Priority, Rx, Scheduler, SumOfWeight, totalQueueingDelay, Weight
 
Fields inherited from class gov.nist.antd.diffserv.SimplePacketQueue
 
Constructor Summary
MPLSREDQueue()
          Constructor MPLSREDQueue
 
Method Summary
private  void calculateAvgQlength()
           
 MessageWrapper dequeue()
          Method dequeue
 void displayQueueInfo()
          Method displayQueueInfo
 boolean enqueue(ProtocolMessage message, ProtocolSession fromSession)
          Method enqueue Enqueue the packet
 void init(MPLSInterfaceInfo minfo)
          Initializes the Queue.
 java.lang.String toString()
          Method toString
 
Methods inherited from class gov.nist.antd.mpls.mgmt.mpls_interface.MPLSQueue
calculatEFtForWFQ, configWFQParms, configWFQParms, getAvgQueueingDelay, getDropPacketBytes, getDropPacketCount, getIncomingPacketBytes, getIncomingPacketCount, getOutgoingPacketBytes, getOutgoingPacketCount, setBitRate, setBufferSize, setPriorityWeight, setScheduler, setupWFQParms
 
Methods inherited from class gov.nist.antd.diffserv.SimplePacketQueue
getAvailableQLength, getFirstPacket, getMaxSize, getQLength, init, isEmpty, isFull, reset, setMaxSize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

THmin

public double THmin
Field THmin - Mininum Threshold


THmax

public double THmax
Field THmax - Maximum Threshold


Pmax

public double Pmax
Field Pmax


mean_pkt_size

public int mean_pkt_size
Field mean_pkt_size - Mean Packet size


QueueWeight

public double QueueWeight
Field QueueWeight - weighting factor to calculate average queue size


avgQlength

public double avgQlength
Field avgQlength - Average queue length


q_time

public double q_time
Field q_time - the time when the queue became empty


Pa

public double Pa
Field Pa, Pb


Pb

public double Pb
Field Pa, Pb


count

public int count
Field count


QueueEmpty

public boolean QueueEmpty
Field QueueEmpty - Queue Emptyr flag

Constructor Detail

MPLSREDQueue

public MPLSREDQueue()
Constructor MPLSREDQueue

Method Detail

init

public void init(MPLSInterfaceInfo minfo)
Initializes the Queue.

Overrides:
init in class MPLSQueue
Parameters:
minfo - The MPLSInterfaceInfo

calculateAvgQlength

private void calculateAvgQlength()

enqueue

public boolean enqueue(ProtocolMessage message,
                       ProtocolSession fromSession)
Method enqueue Enqueue the packet

Overrides:
enqueue in class MPLSQueue
Parameters:
message -
fromSession -
Returns:
boolean

dequeue

public MessageWrapper dequeue()
Method dequeue

Overrides:
dequeue in class MPLSQueue
Returns:
The dequeued message wrapper.

displayQueueInfo

public void displayQueueInfo()
Method displayQueueInfo

Overrides:
displayQueueInfo in class MPLSQueue

toString

public java.lang.String toString()
Method toString

Overrides:
toString in class MPLSQueue
Returns:
String - XXX