Package: inet.examples.wireless.throughput
ThroughputClient
compound module(no description)
Usage diagram
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
Used in
| Name | Type | Description |
|---|---|---|
| Throughput | network | (no description) |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=device/wifilaptop | |
| networkNode |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| radioIn | input |
Unassigned submodule parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| cli.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| cli.interfaceTableModule | string | ||
| cli.destAddress | string | "" |
Destination MAC address, or module path name of destination station; empty means off |
| cli.startTime | double | this.sendInterval |
Time of sending the first request |
| cli.stopTime | double | -1s |
Time of finishing sending, negative values mean forever |
| cli.localSAP | int | 0xf0 |
Local service access point |
| cli.remoteSAP | int | 0xf1 |
Remote service access point |
| cli.sendInterval | double | uniform(0s,1s) |
Interval between sending requests |
| cli.reqLength | int | 100B |
Length of request packets |
| cli.respLength | int | 1KiB |
Length of response packets |
| cli.stopOperationExtraTime | double | -1s |
Extra time after lifecycle stop operation finished |
| cli.stopOperationTimeout | double | 2s |
Timeout value for lifecycle stop operation |
| 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 |
| wlan.pcapRecorder.verbose | bool | true |
Whether to log packets on the module output |
| wlan.pcapRecorder.recordEmptyPackets | bool | true |
Specifies if zero length packets are recorded or not |
| wlan.pcapRecorder.enableConvertingPackets | bool | true |
Specifies if converting packets to link type is allowed or not |
| wlan.pcapRecorder.pcapFile | string | "" |
The PCAP file to be written, suggested value: pcapFile = "${resultdir}/${configname}-#${runnumber}" + fullpath() + ".pcap" |
| wlan.pcapRecorder.fileFormat | string | "pcapng" | |
| wlan.pcapRecorder.snaplen | int | 65535 |
Maximum number of bytes to record per packet |
| 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). |
| wlan.pcapRecorder.dumpBadFrames | bool | true |
Enable dump of frames with hasBitError |
| wlan.pcapRecorder.sendingSignalNames | string | "transmissionEnded" |
Space-separated list of outbound packet signals to subscribe to |
| wlan.pcapRecorder.receivingSignalNames | string | "receptionEnded" |
Space-separated list of inbound packet signals to subscribe to |
| wlan.pcapRecorder.dumpProtocols | string | "ethernetmac ppp ieee80211mac" |
Space-separated list of protocol names as defined in the Protocol class |
| wlan.pcapRecorder.packetFilter | object | "*" |
Which packets are considered, matches all packets by default |
| wlan.pcapRecorder.helpers | string | "" |
Usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper" |
| wlan.pcapRecorder.alwaysFlush | bool | false |
Flush the pcapFile after each write to ensure that all packets are captured in case of a crash |
| wlan.mib.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| wlan.mgmt.macModule | string |
The path to the MAC module |
|
| interfaceTable.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| interfaceTable.displayAddresses | bool | false |
Whether to display IP addresses on links |
| 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 |
| 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 |
| mobility.coordinateSystemModule | string | "" |
The module path of the geographic coordinate system module |
| mobility.updateDisplayString | bool | true |
Enables continuous update of the subject module's position by modifying its display string |
| mobility.constraintAreaMinX | double | -inf m |
The minimum x position of the constraint area. It is unconstrained by default (negative infinity) |
| mobility.constraintAreaMinY | double | -inf m |
The minimum y position of the constraint area. It is unconstrained by default (negative infinity) |
| mobility.constraintAreaMinZ | double | -inf m |
The minimum z position of the constraint area. It is unconstrained by default (negative infinity) |
| mobility.constraintAreaMaxX | double | inf m |
The maximum x position of the constraint area. It is unconstrained by default (positive infinity) |
| mobility.constraintAreaMaxY | double | inf m |
The maximum y position of the constraint area. It is unconstrained by default (positive infinity) |
| mobility.constraintAreaMaxZ | double | inf m |
The maximum z position of the constraint area. It is unconstrained by default (positive infinity) |
| mobility.initialX | double | uniform(this.constraintAreaMinX, this.constraintAreaMaxX) | |
| mobility.initialY | double | uniform(this.constraintAreaMinY, this.constraintAreaMaxY) | |
| mobility.initialZ | double | nanToZero(uniform(this.constraintAreaMinZ, this.constraintAreaMaxZ)) | |
| mobility.initialLatitude | double | nan deg | |
| mobility.initialLongitude | double | nan deg | |
| mobility.initialAltitude | double | 0m | |
| mobility.initialHeading | double | 0deg | |
| mobility.initialElevation | double | 0deg | |
| mobility.initialBank | double | 0deg | |
| mobility.initFromDisplayString | bool | true |
Enables one-time initialization from the subject module's display string |
| mobility.updateFromDisplayString | bool | true |
Enables continuous update from the subject module's display string for dragging and rotating it |
Source code
module ThroughputClient { parameters: @display("i=device/wifilaptop"); @networkNode(); *.interfaceTableModule = "^.interfaceTable"; wlan.radio.antenna.mobilityModule = default("^.^.^.mobility"); gates: input radioIn @directIn; submodules: cli: EtherAppClient { parameters: interface = "wlan"; @display("p=300,100"); } wlan: Ieee80211Interface { parameters: @display("p=250,200;q=queue"); mgmt.typename = "Ieee80211MgmtStaSimplified"; agent.typename = ""; } interfaceTable: InterfaceTable { parameters: @display("p=100,100;is=s"); } mobility: StationaryMobility { parameters: @display("p=100,200;is=s"); } connections allowunconnected: wlan.radioIn <-- radioIn; cli.out --> wlan.upperLayerIn; }File: examples/wireless/throughput/Throughput.ned