Throughput

Package: inet.examples.wireless.hosttohost

Throughput

network

(no description)

visualizer : like IIntegratedVisualizer

IIntegratedVisualizer: Interface allows configuring different ~IIntegratedVisualizer submodules from INI files.

Source:
visualizer: <default(firstAvailableOrEmpty("IntegratedCanvasVisualizer"))> like IIntegratedVisualizer if typename != "" {
    parameters:
        @display("p=100,200;is=s");
} radioMedium : Ieee80211ScalarRadioMedium

This radio medium model uses scalar transmission power in the analog representation.

Source:
radioMedium: Ieee80211ScalarRadioMedium {
    parameters:
        @display("p=100,100;is=s");
} cliHost[numCli] : ThroughputClient

Source:
cliHost[numCli]: ThroughputClient {
    parameters:
        @display("r=,,#707070");
} srvHost : ThroughputServer

Source:
srvHost: ThroughputServer {
    parameters:
        @display("p=350,350;r=,,#707070");
} ap : AccessPoint

A wireless access point device that connects wireless stations (like WirelessHost) to a wired...

Source:
ap: AccessPoint {
    parameters:
        @display("p=200,200;r=,,#707070");
        wlan[*].mgmt.typename = "Ieee80211MgmtApSimplified";
        wlan[*].agent.typename = "";
}

Usage diagram

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

Parameters

Name Type Default value Description
numCli int

Properties

Name Value Description
isNetwork

Unassigned submodule parameters

Name Type Default value Description
radioMedium.neighborCache.refillPeriod double
cliHost.cli.displayStringTextFormat string ""

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

cliHost.cli.interfaceTableModule string
cliHost.cli.destAddress string ""

Destination MAC address, or module path name of destination station; empty means off

cliHost.cli.startTime double this.sendInterval

Time of sending the first request

cliHost.cli.stopTime double -1s

Time of finishing sending, negative values mean forever

cliHost.cli.localSAP int 0xf0

Local service access point

cliHost.cli.remoteSAP int 0xf1

Remote service access point

cliHost.cli.sendInterval double uniform(0s,1s)

Interval between sending requests

cliHost.cli.reqLength int 100B

Length of request packets

cliHost.cli.respLength int 1KiB

Length of response packets

cliHost.cli.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation finished

cliHost.cli.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

cliHost.wlan.pcapRecorder.displayStringTextFormat string "rec: %n pks"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

cliHost.wlan.pcapRecorder.verbose bool true

Whether to log packets on the module output

cliHost.wlan.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

cliHost.wlan.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

cliHost.wlan.pcapRecorder.pcapFile string ""

The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap"

cliHost.wlan.pcapRecorder.fileFormat string "pcapng"
cliHost.wlan.pcapRecorder.snaplen int 65535

Maximum number of bytes to record per packet

cliHost.wlan.pcapRecorder.timePrecision int 6

Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format).

cliHost.wlan.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

cliHost.wlan.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

cliHost.wlan.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

cliHost.wlan.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

Space-separated list of protocol names as defined in the Protocol class

cliHost.wlan.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

cliHost.wlan.pcapRecorder.helpers string ""

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

cliHost.wlan.pcapRecorder.alwaysFlush bool false

Flush the pcapFile after each write to ensure that all packets are captured in case of a crash

cliHost.wlan.mib.displayStringTextFormat string ""

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

cliHost.wlan.mgmt.macModule string

The path to the MAC module

cliHost.interfaceTable.displayStringTextFormat string ""

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

cliHost.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

cliHost.mobility.displayStringTextFormat string "p: %p\nv: %v"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

cliHost.mobility.subjectModule string "^"

The module path that determines the subject module, the motion of which this mobility model describes. The default value is the parent module

cliHost.mobility.coordinateSystemModule string ""

The module path of the geographic coordinate system module

cliHost.mobility.updateDisplayString bool true

Enables continuous update of the subject module's position by modifying its display string

cliHost.mobility.constraintAreaMinX double -inf m

The minimum x position of the constraint area. It is unconstrained by default (negative infinity)

cliHost.mobility.constraintAreaMinY double -inf m

The minimum y position of the constraint area. It is unconstrained by default (negative infinity)

cliHost.mobility.constraintAreaMinZ double -inf m

The minimum z position of the constraint area. It is unconstrained by default (negative infinity)

cliHost.mobility.constraintAreaMaxX double inf m

The maximum x position of the constraint area. It is unconstrained by default (positive infinity)

cliHost.mobility.constraintAreaMaxY double inf m

The maximum y position of the constraint area. It is unconstrained by default (positive infinity)

cliHost.mobility.constraintAreaMaxZ double inf m

The maximum z position of the constraint area. It is unconstrained by default (positive infinity)

cliHost.mobility.updateInterval double 0.1s

The simulation time interval used to regularly signal mobility state changes and update the display

cliHost.mobility.faceForward bool true
cliHost.mobility.cx double

X coordinate of the center of the circle

cliHost.mobility.cy double

Y coordinate of the center of the circle

cliHost.mobility.cz double 0m

Z coordinate of the center of the circle

cliHost.mobility.r double

Radius of the circle

cliHost.mobility.speed double 0mps

Speed of the host

cliHost.mobility.startAngle double uniform(0deg, 360deg)

Starting angle

srvHost.sink.displayStringTextFormat string ""

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

srvHost.sink.localSAP int 0xf1
srvHost.sink.stopOperationExtraTime double -1s

Extra time after lifecycle stop operation is finished

srvHost.sink.stopOperationTimeout double 2s

Timeout value for lifecycle stop operation

srvHost.wlan.pcapRecorder.displayStringTextFormat string "rec: %n pks"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

srvHost.wlan.pcapRecorder.verbose bool true

Whether to log packets on the module output

srvHost.wlan.pcapRecorder.recordEmptyPackets bool true

Specifies if zero length packets are recorded or not

srvHost.wlan.pcapRecorder.enableConvertingPackets bool true

Specifies if converting packets to link type is allowed or not

srvHost.wlan.pcapRecorder.pcapFile string ""

The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap"

srvHost.wlan.pcapRecorder.fileFormat string "pcapng"
srvHost.wlan.pcapRecorder.snaplen int 65535

Maximum number of bytes to record per packet

srvHost.wlan.pcapRecorder.timePrecision int 6

Time precision in recorded file. pcap supports only 6 (usec) or 9 (nanosec), pcapng supports more values (see 'if_tsresol' option in pcapng file format).

srvHost.wlan.pcapRecorder.dumpBadFrames bool true

Enable dump of frames with hasBitError

srvHost.wlan.pcapRecorder.sendingSignalNames string "transmissionEnded"

Space-separated list of outbound packet signals to subscribe to

srvHost.wlan.pcapRecorder.receivingSignalNames string "receptionEnded"

Space-separated list of inbound packet signals to subscribe to

srvHost.wlan.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

Space-separated list of protocol names as defined in the Protocol class

srvHost.wlan.pcapRecorder.packetFilter object "*"

Which packets are considered, matches all packets by default

srvHost.wlan.pcapRecorder.helpers string ""

Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

srvHost.wlan.pcapRecorder.alwaysFlush bool false

Flush the pcapFile after each write to ensure that all packets are captured in case of a crash

srvHost.wlan.mib.displayStringTextFormat string ""

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

srvHost.wlan.mgmt.macModule string

The path to the MAC module

srvHost.interfaceTable.displayStringTextFormat string ""

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

srvHost.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

srvHost.mobility.displayStringTextFormat string "p: %p\nv: %v"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

srvHost.mobility.subjectModule string "^"

The module path that determines the subject module, the motion of which this mobility model describes. The default value is the parent module

srvHost.mobility.coordinateSystemModule string ""

The module path of the geographic coordinate system module

srvHost.mobility.updateDisplayString bool true

Enables continuous update of the subject module's position by modifying its display string

srvHost.mobility.constraintAreaMinX double -inf m

The minimum x position of the constraint area. It is unconstrained by default (negative infinity)

srvHost.mobility.constraintAreaMinY double -inf m

The minimum y position of the constraint area. It is unconstrained by default (negative infinity)

srvHost.mobility.constraintAreaMinZ double -inf m

The minimum z position of the constraint area. It is unconstrained by default (negative infinity)

srvHost.mobility.constraintAreaMaxX double inf m

The maximum x position of the constraint area. It is unconstrained by default (positive infinity)

srvHost.mobility.constraintAreaMaxY double inf m

The maximum y position of the constraint area. It is unconstrained by default (positive infinity)

srvHost.mobility.constraintAreaMaxZ double inf m

The maximum z position of the constraint area. It is unconstrained by default (positive infinity)

srvHost.mobility.initialX double uniform(this.constraintAreaMinX, this.constraintAreaMaxX)
srvHost.mobility.initialY double uniform(this.constraintAreaMinY, this.constraintAreaMaxY)
srvHost.mobility.initialZ double nanToZero(uniform(this.constraintAreaMinZ, this.constraintAreaMaxZ))
srvHost.mobility.initialLatitude double nan deg
srvHost.mobility.initialLongitude double nan deg
srvHost.mobility.initialAltitude double 0m
srvHost.mobility.initialHeading double 0deg
srvHost.mobility.initialElevation double 0deg
srvHost.mobility.initialBank double 0deg
srvHost.mobility.initFromDisplayString bool true

Enables one-time initialization from the subject module's display string

srvHost.mobility.updateFromDisplayString bool true

Enables continuous update from the subject module's display string for dragging and rotating it

ap.status.displayStringTextFormat string ""

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

ap.status.initialStatus string "UP"

TODO @signal, @statistic

ap.interfaceTable.displayStringTextFormat string ""

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

ap.interfaceTable.displayAddresses bool false

Whether to display IP addresses on links

ap.macTable.agingTime double
ap.macTable.forwardingTableFile string
ap.bl.displayStringTextFormat string "processed %p pk (%l)"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

ap.bl.interfaceTableModule string

Module path to the ~InterfaceTable module

ap.bl.forwardServiceRegistration bool true
ap.bl.forwardProtocolRegistration bool true
ap.bl.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

ap.bl.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

ap.bl.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

ap.li.displayStringTextFormat string "processed %p pk (%l)"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

ap.li.interfaceTableModule string

Module path to the ~InterfaceTable module

ap.li.forwardServiceRegistration bool true
ap.li.forwardProtocolRegistration bool true
ap.li.interfaceMapping object {}

Maps network interface names to connected submodule names (e.g. {"eth0": "bridging"}), overrides automatically learned dispatching; * overrides all learned network interfaces, ? overrides default

ap.li.serviceMapping object {}

Maps protocols to connected submodule names (e.g. {"ethernetmac": "bridging"}), overrides automatically learned dispatching; * overrides all learned services, ? overrides default

ap.li.protocolMapping object {}

Maps protocols to connected submodule names (e.g. {"ipv4": "bridging"}), overrides automatically learned dispatching; * overrides all learned protocols, ? overrides default

ap.eth.bitrate double

Source code

network Throughput
{
    parameters:
        int numCli;
    submodules:
        visualizer: <default(firstAvailableOrEmpty("IntegratedCanvasVisualizer"))> like IIntegratedVisualizer if typename != "" {
            parameters:
                @display("p=100,200;is=s");
        }
        radioMedium: Ieee80211ScalarRadioMedium {
            parameters:
                @display("p=100,100;is=s");
        }
        cliHost[numCli]: ThroughputClient {
            parameters:
                @display("r=,,#707070");
        }
        srvHost: ThroughputServer {
            parameters:
                @display("p=350,350;r=,,#707070");
        }
        ap: AccessPoint {
            parameters:
                @display("p=200,200;r=,,#707070");
                wlan[*].mgmt.typename = "Ieee80211MgmtApSimplified";
                wlan[*].agent.typename = "";
        }
}
File: examples/wireless/hosttohost/Throughput.ned