Network7

Package: inet.tutorials.protocol

Network7

network

(no description)

ClientHost7 ServerHost7

Usage diagram

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

Properties

Name Value Description
isNetwork

Unassigned submodule parameters

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

determines the text that is written on top of the submodule

client.app.packetNameFormat string "%a-%c"

see directives in module documentation

client.app.packetRepresentation string "byteCount"

determines the chunk of the packet data

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

relative path of a module that implements IClock(1,2); optional

client.app.initialProductionOffset double 0s
client.app.productionInterval double

elapsed time between subsequent packets pushed to the connected packet consumer

client.app.scheduleForAbsoluteTime bool true

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

client.queue.displayStringTextFormat string "contains %p pk (%l) pushed %u\npulled %o removed %r dropped %d"

determines the text that is written on top of the submodule

client.queue.packetCapacity int -1

maximum number of packets in the queue, no limit by default

client.queue.dataCapacity int -1b

maximum total length of packets in the queue, no limit by default

client.queue.dropperClass string ""

determines which packets are dropped when the queue is overloaded, packets are not dropped by default; the parameter must be the name of a C++ class which implements the IPacketDropperFunction C++ interface and is registered via Register_Class

client.queue.comparatorClass string ""

determines the order of packets in the queue, insertion order by default; the parameter must be the name of a C++ class which implements the IPacketComparatorFunction C++ interface and is registered via Register_Class

client.queue.bufferModule string ""

relative module path to the IPacketBuffer module used by this queue, implicit buffer by default

client.server.displayStringTextFormat string "served %p pk (%l)"

determines the text that is written on top of the submodule

client.sequenceNumbering.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

client.resending.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

client.resending.numRetries int
client.fcsInserter.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

client.fcsInserter.fcsMode string "declared"
client.fcsInserter.headerPosition string "back"
client.InterpacketGapInserter.displayStringTextFormat string "delayed %p pk (%l)\nifg: %g"

determines the text that is written on top of the submodule

client.InterpacketGapInserter.clockModule string ""

relative path of a module that implements IClock(1,2); optional

client.InterpacketGapInserter.initialChannelBusy bool false

assume that channel was busy before the simulation started

client.InterpacketGapInserter.duration double
client.transmitter.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

client.transmitter.clockModule string ""

relative path of a module that implements IClock(1,2); optional

client.transmitter.datarate double
server.app.displayStringTextFormat string "received %p pk (%l)"

determines the text that is written on top of the submodule

server.app.clockModule string ""

relative path of a module that implements IClock(1,2); optional

server.app.consumptionInterval double 0s

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

server.app.scheduleForAbsoluteTime bool true

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

server.reordering.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

server.fcsChecker.displayStringTextFormat string "dropped %d/%p pk (%k/%l)"

determines the text that is written on top of the submodule

server.fcsChecker.backpressure bool false
server.fcsChecker.headerPosition string "back"
server.receiver.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

server.receiver.datarate double

Source code

network Network7
{
    submodules:
        client: ClientHost7 {
            @display("p=100,100");
        }
        server: ServerHost7 {
            @display("p=200,100");
        }
    connections allowunconnected:
        client.out --> {  delay = 1us; ber = 1E-5; } --> server.in;
}
File: tutorials/protocol/Network7.ned