BurstyPacketProducer

Package: inet.queueing.source

compound module BurstyPacketProducer

Mixes two different packet sources to generate bursty traffic.

Usage diagram

Inheritance 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, supports displaying pars, watches, and module-specific information

normalProducer.packetNameFormat

string

“%a-%c”

See directives in module documentation

normalProducer.packetRepresentation

string

“byteCount”

Determines the chunk of the packet data

normalProducer.packetProtocol

string

“unknown”

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(1,:ref:2 <neddoc-msg-inet-iclock>); optional

normalProducer.initialProductionOffset

double

-1s

Initial duration before which packets are not produced. When negative, then produce packet in initialize()

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, supports displaying pars, watches, and module-specific information

burstProducer.packetNameFormat

string

“%a-%c”

See directives in module documentation

burstProducer.packetRepresentation

string

“byteCount”

Determines the chunk of the packet data

burstProducer.packetProtocol

string

“unknown”

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(1,:ref:2 <neddoc-msg-inet-iclock>); optional

burstProducer.initialProductionOffset

double

-1s

Initial duration before which packets are not produced. When negative, then produce packet in initialize()

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, supports displaying pars, watches, and module-specific information

scheduler.reverseOrder

bool

false

scheduler.clockModule

string

“”

Relative path to a module that implements IClock(1,:ref:2 <neddoc-msg-inet-iclock>); optional

scheduler.initialState

int

0

The starting 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

//
// 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