BurstyPacketProducer

Package: inet.queueing.source

BurstyPacketProducer

compound module

This module mixes two different packet sources to generate bursty traffic.

ActivePacketSource ActivePacketSource MarkovScheduler

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Properties

Name Value Description
display i=block/source

Gates

Name Direction Size Description
out output

Unassigned submodule parameters

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

determines the text that is written on top of the submodule

normalProducer.packetNameFormat string "%a-%c"

see directives in module documentation

normalProducer.packetRepresentation string "byteCount"

determines the chunk of the packet data

normalProducer.packetLength int
normalProducer.packetData int -1
normalProducer.attachCreationTimeTag bool true
normalProducer.attachIdentityTag bool true
normalProducer.attachDirectionTag bool true
normalProducer.clockModule string ""

relative path of a module that implements IClock; optional

normalProducer.initialProductionOffset double 0s
normalProducer.productionInterval double

elapsed time between subsequent packets pushed to the connected packet consumer

normalProducer.scheduleForAbsoluteTime bool true

when a clock is used relative means that setting the clock will not affect the simulation time of the event

burstProducer.displayStringTextFormat string "created %p pk (%l)"

determines the text that is written on top of the submodule

burstProducer.packetNameFormat string "%a-%c"

see directives in module documentation

burstProducer.packetRepresentation string "byteCount"

determines the chunk of the packet data

burstProducer.packetLength int
burstProducer.packetData int -1
burstProducer.attachCreationTimeTag bool true
burstProducer.attachIdentityTag bool true
burstProducer.attachDirectionTag bool true
burstProducer.clockModule string ""

relative path of a module that implements IClock; optional

burstProducer.initialProductionOffset double 0s
burstProducer.productionInterval double

elapsed time between subsequent packets pushed to the connected packet consumer

burstProducer.scheduleForAbsoluteTime bool true

when a clock is used relative means that setting the clock will not affect the simulation time of the event

scheduler.displayStringTextFormat string "classified %p pk (%l)\ncurrent state: %s"

determines the text that is written on top of the submodule

scheduler.reverseOrder bool false
scheduler.clockModule string ""

relative path of a module that implements IClock; optional

scheduler.initialState int 0

the start state of the Markov process

scheduler.transitionProbabilities string

the transition matrix (N x N) of the Markov process, specified as a list of probabilities

scheduler.waitIntervals string

the amount of time the Markov process stays in a given state, a list of intervals (N) indexed by the state

Source code

//
// This module mixes two different packet sources to generate bursty traffic.
//
module BurstyPacketProducer like IActivePacketSource
{
    parameters:
        @display("i=block/source");
    gates:
        output out;
    submodules:
        normalProducer: ActivePacketSource {
            @display("p=100,100");
        }
        burstProducer: ActivePacketSource {
            @display("p=300,100");
        }
        scheduler: MarkovScheduler {
            @display("p=200,200");
        }
    connections allowunconnected:
        normalProducer.out --> scheduler.in++;
        burstProducer.out --> scheduler.in++;
        scheduler.out --> out;
}
File: src/inet/queueing/source/BurstyPacketProducer.ned