PassivePacketSource

Package: inet.queueing.source

PassivePacketSource

simple module

This module is a passive packet source which can be popped for packets from the connected packet collector.

PassivePacketSource

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
ResponseProducer compound module

This module is capable of generating several different streams of packets, one after the other. For each traffic category, the packets are produced by a separate token based server. The traffic stream can be started by adding tokens the corresponding server module. The packet data, packet length, and timing distributions can be configured in the corresponding packet provider.

Extends

Name Type Description
PacketSourceBase simple module

This is a base module for various packet source modules. Packets are created randomly with regard to packet length and packet data. The representation of packet data can also be configured.

Parameters

Name Type Default value Description
displayStringTextFormat string "created %p pk (%l)"

determines the text that is written on top of the submodule

packetNameFormat string "%n-%c"

%n module name, %c packet number, %l packet length, %d packet data, %t simulation time, %e event number

packetRepresentation string "byteCount"

determines the chunk of the packet data

packetLength int
packetData int -1
providingInterval double 0s

elapsed time between subsequent packets allowed to be popped by the connected packet collector, 0 means any number of packets can be popped at the same simulation time

Properties

Name Value Description
class PassivePacketSource
display i=block/source

Gates

Name Direction Size Description
out output

Signals

Name Type Unit
packetCreated inet::Packet
packetPopped inet::Packet

Statistics

Name Title Source Record Unit Interpolation Mode
packetCreated packets created count, sum(packetBytes), vector(packetBytes) none
packetPopped packets popped count, sum(packetBytes), vector(packetBytes) none

Source code

//
// This module is a passive packet source which can be popped for packets from
// the connected packet collector.
//
simple PassivePacketSource extends PacketSourceBase like IPassivePacketSource
{
    parameters:
        volatile double providingInterval @unit(s) = default(0s); // elapsed time between subsequent packets allowed to be popped by the connected packet collector, 0 means any number of packets can be popped at the same simulation time
        @class(PassivePacketSource);
        @signal[packetPopped](type=inet::Packet);
        @signal[packetCreated](type=inet::Packet);
        @statistic[packetPopped](title="packets popped"; record=count,sum(packetBytes),vector(packetBytes); interpolationmode=none);
        @statistic[packetCreated](title="packets created"; record=count,sum(packetBytes),vector(packetBytes); interpolationmode=none);
    gates:
        output out @labels(pop);
}
File: src/inet/queueing/source/PassivePacketSource.ned