Package: inet.linklayer.acking
AckingWirelessInterface
compound moduleHighly abstracted wireless NIC that consists of a unit disk radio and a trivial MAC protocol. It offers simplicity for scenarios where Layer 1 and 2 effects can be completely ignored, for example testing the basic functionality of a wireless ad-hoc routing protocol.
The most important parameter this model accepts is the transmission range. When a radio transmits a frame, all other radios within transmission range will receive the frame correctly, and radios that are out of range will not be affected at all.
This module requires an UnitDiskRadioMedium instance in the network.
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.
Extends
Name | Type | Description |
---|---|---|
InterfaceEntry | compound module | (no description) |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
displayStringTextFormat | string | "%a (%i)\n%m" | |
interfaceTableModule | string | ||
energySourceModule | string | "" | |
bitrate | double |
Properties
Name | Value | Description |
---|---|---|
class | InterfaceEntry | |
display | i=block/ifcard |
Gates
Name | Direction | Size | Description |
---|---|---|---|
upperLayerIn | input | ||
upperLayerOut | output | ||
radioIn | input |
Source code
// // Highly abstracted wireless NIC that consists of a unit disk radio and a trivial // MAC protocol. It offers simplicity for scenarios where Layer 1 and 2 effects // can be completely ignored, for example testing the basic functionality // of a wireless ad-hoc routing protocol. // // The most important parameter this model accepts is the transmission range. // When a radio transmits a frame, all other radios within transmission range // will receive the frame correctly, and radios that are out of range will not be // affected at all. // // This module requires an ~UnitDiskRadioMedium instance in the network. // module AckingWirelessInterface extends InterfaceEntry like IWirelessInterface { parameters: @class(InterfaceEntry); @display("i=block/ifcard"); string interfaceTableModule; string energySourceModule = default(""); double bitrate @unit(bps); *.interfaceTableModule = default(absPath(interfaceTableModule)); *.energySourceModule = default(absPath(energySourceModule)); **.bitrate = bitrate; gates: input upperLayerIn; output upperLayerOut; input radioIn @labels(Signal); submodules: mac: AckingMac { parameters: @display("p=100,100"); } radio: <default("UnitDiskRadio")> like IRadio { parameters: @display("p=100,200"); } connections: upperLayerIn --> { @display("m=n"); } --> mac.upperLayerIn; mac.lowerLayerOut --> radio.upperLayerIn; mac.upperLayerOut --> { @display("m=n"); } --> upperLayerOut; radioIn --> { @display("m=s"); } --> radio.radioIn; radio.upperLayerOut --> mac.lowerLayerIn; }File: src/inet/linklayer/acking/AckingWirelessInterface.ned