gov.nist.antd.ssf.net
Class DropTailQueue

java.lang.Object
  |
  +--SSF.Net.droptailQueue
        |
        +--gov.nist.antd.ssf.net.DropTailQueue
All Implemented Interfaces:
packetQueue

public class DropTailQueue
extends droptailQueue

This class extends the SSF.NET.droptailQueue to take care of MPLS. Because MPLS includes the queuing delay if the NIC is a LSR interface, the queue should transmit a message without delay. Otherwise the queue is used as a simple dropTailQueue.

 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:
borchert
, rouil

Field Summary
private  _NIC forNIC
          The _NIC this queue is attached.
private  PacketQueueMonitor myMonitor
          The queue monitor.
 
Fields inherited from class SSF.Net.droptailQueue
pktCount, pktDropCount, pktDropped
 
Constructor Summary
DropTailQueue()
           
 
Method Summary
 void config(NIC nic, com.renesys.raceway.DML.Configuration cfg)
          Overwrite the config method to check if the MPLS module is in the Node
 boolean enqueue(ProtocolMessage msg)
          Overwrite the enqueue to exclude any queuing delay if MPLS is in the Node
 void setMonitor(PacketQueueMonitor mon)
          Set reference to a correctly configured class implementing the Java interface PacketQueueMonitor.
 
Methods inherited from class SSF.Net.droptailQueue
getNumberOfBitsInQueue, init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

forNIC

private _NIC forNIC
The _NIC this queue is attached.


myMonitor

private PacketQueueMonitor myMonitor
The queue monitor.

Constructor Detail

DropTailQueue

public DropTailQueue()
Method Detail

config

public void config(NIC nic,
                   com.renesys.raceway.DML.Configuration cfg)
Overwrite the config method to check if the MPLS module is in the Node

Specified by:
config in interface packetQueue
Overrides:
config in class droptailQueue
Parameters:
nic - The attached NIC
cfg - The configuration of the queue.

enqueue

public boolean enqueue(ProtocolMessage msg)
Overwrite the enqueue to exclude any queuing delay if MPLS is in the Node

Specified by:
enqueue in interface packetQueue
Overrides:
enqueue in class droptailQueue
Parameters:
msg - The ProtocolMessage to enqueue

setMonitor

public void setMonitor(PacketQueueMonitor mon)
Set reference to a correctly configured class implementing the Java interface PacketQueueMonitor.

Overrides:
setMonitor in class droptailQueue