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.
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Description |
---|---|---|
AFxyQueue | compound module |
This is an example queue, that implements one class of the Assured Forwarding PHB group (RFC 2597). |
DSQueue2 | compound module |
Diffserv Queue used in Experiment 2.1 - 2.4. |
REDQueue | compound module | (no description) |
Name | Type | Default value | Description |
---|---|---|---|
queueName | string | "l2queue" |
name of the cQueue object, used in the 'q' tag of the display string |
Name | Value | Description |
---|---|---|
display | i=block/passiveq |
Name | Direction | Size | Description |
---|---|---|---|
in [ ] | input | ||
out | output |
Name | Type | Unit |
---|---|---|
queueLength | long | |
queueingTime | simtime_t | s |
dequeuePk | cPacket | |
dropPkByQueue | cPacket | |
rcvdPk | cPacket | |
enqueuePk | cPacket |
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 |
// // 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; }