Package: inet.common.queue
FIFOQueue
simple moduleThis module implements a passive FIFO queue with unlimited buffer space. It can be combined with algorithmic droppers and schedulers to form an IOutputQueue compound module.
The C++ class implements the IQueueAccess and IPassiveQueue interfaces.
Used in compound modules
Name | Type | Description |
---|---|---|
AFxyQueue | compound module |
This is an example queue, that implements one class of the Assured Forwarding PHB group (RFC 2597). |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
queueName | string | "l2queue" |
name of the cQueue object, used in the 'q' tag of the display string |
Properties
Name | Value | Description |
---|---|---|
display | i=block/passiveq |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in [ ] | input | ||
out | output |
Signals
Name | Type | Unit |
---|---|---|
queueLength | long | |
queueingTime | simtime_t | s |
dequeuePk | cPacket | |
dropPkByQueue | cPacket | |
rcvdPk | cPacket | |
enqueuePk | cPacket |
Statistics
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
queueLength | queue length | max, timeavg, vector | sample-hold | ||
queueingTime | queueing time | histogram, vector | none | ||
dropPk | dropped packets | dropPkByQueue | count, sum(packetBytes), vector(packetBytes) | none | |
rcvdPk | received packets | count, sum(packetBytes), vector(packetBytes) | none |
Source code
// // This module implements a passive FIFO queue // with unlimited buffer space. It can be combined // with algorithmic droppers and schedulers to form // an IOutputQueue compound module. // // The C++ class implements the IQueueAccess and IPassiveQueue // interfaces. // simple FIFOQueue { parameters: string queueName = default("l2queue"); // name of the cQueue object, used in the 'q' tag of the display string @display("i=block/passiveq"); @signal[rcvdPk](type=cPacket); @signal[enqueuePk](type=cPacket); @signal[dequeuePk](type=cPacket); @signal[dropPkByQueue](type=cPacket); @signal[queueingTime](type=simtime_t; unit=s); @signal[queueLength](type=long); @statistic[rcvdPk](title="received packets"; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); @statistic[dropPk](title="dropped packets"; source=dropPkByQueue; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); @statistic[queueingTime](title="queueing time"; record=histogram,vector; interpolationmode=none); @statistic[queueLength](title="queue length"; record=max,timeavg,vector; interpolationmode=sample-hold); gates: input in[]; output out; }File: src/inet/common/queue/FIFOQueue.ned