Sunday, July 12, 2009

[AIT09] Output Queue

This question is from Thein Tun Aung:

How is an output queue of a node implemented ?
What will happen if the buffer capacity of output queue is exceeded ?

4 comments:

Unknown said...

(Hasanain/106000) The output queue of a node is implemented as a part of a link, so because of this reason users must specify the queue-type while creating links.
When the buffer capacity of the output queue is exceeded then the packet will be dropped by specify the dropping point with the help of object drophead_ using the command drop-target
e.g. $queue_ drop-target $ drophead_

Unknown said...

The output queue of the node can be implemented by :

$ns duplex-link node1 node2 bandwidth delay queue-type:

If the buffer overflow happens, it dropp the packets.

Teerawat Issariyakul said...

So, queue is not a part of a node, after all.

And, how does the queue knows that its buffer is full?

Unknown said...

Well Sir, there is a function enque(p) first checks whether the incoming packet will cause buffer overflow. If so, it will drop the packet either from the front or from the tail. where function drop(p)
belongs to class Connector.