IpApp
Package: inet.applications.ipapp
IpApp
compound moduleGenerates traffic for a IP application. The traffic source and traffic sink modules can be built from queueing model elements.
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.
Known subclasses
| Name | Type | Description |
|---|---|---|
| IpSinkApp | compound module |
Implements an IP application that only receives packets. |
| IpSourceApp | compound module |
Implements an IP application that only sends packets. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| interfaceTableModule | string |
Properties
| Name | Value | Description |
|---|---|---|
| application | ||
| display | i=block/app |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| socketIn | input | ||
| socketOut | output |
Unassigned submodule parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| io.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| io.interfaceTableModule | string | ||
| io.localAddress | string | "" | |
| io.destAddress | string | "" | |
| io.protocol | string | "" | |
| io.stopOperationExtraTime | double | -1s |
Extra time after lifecycle stop operation finishes |
| io.stopOperationTimeout | double | 2s |
Timeout value for lifecycle stop operation |
Source code
// // Generates traffic for a IP application. The traffic source and // traffic sink modules can be built from queueing model elements. // module IpApp like IApp { parameters: string interfaceTableModule; *.interfaceTableModule = default(absPath(".interfaceTable")); @application; @display("i=block/app"); gates: input socketIn; output socketOut; submodules: source: <default("ActivePacketSource")> like IActivePacketSource if typename != "" { parameters: @display("p=200,150"); } tagger: <default("")> like IPacketFlow { parameters: @display("p=200,300"); } measurementStarter: <default("")> like IPacketFlow { parameters: @display("p=200,450"); } sink: <default("PassivePacketSink")> like IPassivePacketSink if typename != "" { parameters: @display("p=500,150"); } measurementRecorder: <default("")> like IPacketFlow { parameters: @display("p=500,450"); } io: IpSocketIo { parameters: @display("p=350,600"); } connections allowunconnected: source.out --> tagger.in if exists(source); tagger.out --> measurementStarter.in; measurementStarter.out --> io.trafficIn; io.socketOut --> socketOut; socketIn --> io.socketIn; io.trafficOut --> measurementRecorder.in; measurementRecorder.out --> sink.in if exists(sink); }File: src/inet/applications/ipapp/IpApp.ned