PacketServer

Package: inet.queueing.server

PacketServer

simple module

C++ definition

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.

PacketServer

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