Package: inet.queueing.server
PacketServer
simple moduleThis module repeatedly pulls packets from the connected packet provider and after a processing delay it pushes the packet into the connected packet consumer. The processing delay is processingTime + packetLength / processingBitrate.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Used in compound modules
| Name | Type | Description |
|---|---|---|
| ExampleInterface | compound module | (no description) |
Used in
| Name | Type | Description |
|---|---|---|
| PeekingUnderTheHoodShowcase | network | (no description) |
| ServerTutorialStep | network | (no description) |
Extends
| Name | Type | Description |
|---|---|---|
| PacketServerBase | simple module |
This is a base module for various packet server modules. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| displayStringTextFormat | string | "served %p pk (%l)\n%s" |
determines the text that is written on top of the submodule |
| clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| processingTime | double |
determines additional processing time per packet |
|
| processingBitrate | double | inf bps |
determines additional processing time per bit |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/server | |
| class | PacketServer |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input | ||
| out | output |
Signals
| Name | Type | Unit |
|---|---|---|
| packetPushed | inet::Packet | |
| packetPulled | inet::Packet |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode |
|---|---|---|---|---|---|
| outgoingDataRate | outgoing datarate | throughput(packetPushed) | vector | bps | linear |
| incomingDataRate | incoming datarate | throughput(packetPulled) | vector | bps | linear |
| outgoingPacketLengths | outgoing packet lengths | packetLength(packetPushed) | sum, histogram, vector | b | none |
| incomingPacketLengths | incoming packet lengths | packetLength(packetPulled) | sum, histogram, vector | b | none |
| incomingPackets | incoming packets | packetPulled | count | pk | |
| outgoingPackets | outgoing packets | packetPushed | count | pk |
Source code
// // This module repeatedly pulls packets from the connected packet provider and // after a processing delay it pushes the packet into the connected packet // consumer. The processing delay is processingTime + packetLength / processingBitrate. // simple PacketServer extends PacketServerBase like IPacketServer { parameters: displayStringTextFormat = default("served %p pk (%l)\n%s"); string clockModule = default(""); // relative path of a module that implements IClock; optional volatile double processingTime @unit(s); // determines additional processing time per packet volatile double processingBitrate @unit(bps) = default(inf bps); // determines additional processing time per bit @class(PacketServer); }File: src/inet/queueing/server/PacketServer.ned