Package: inet.tutorials.protocol
ClientHost6
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 |
|---|---|---|
| Network6 | network | (no description) |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=device/pc |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| out | output |
Unassigned submodule parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| app.displayStringTextFormat | string | "created %p pk (%l)" |
determines the text that is written on top of the submodule |
| app.packetNameFormat | string | "%a-%c" |
see directives in module documentation |
| app.packetRepresentation | string | "byteCount" |
determines the chunk of the packet data |
| app.packetLength | int | ||
| app.packetData | int | -1 | |
| app.attachCreationTimeTag | bool | true | |
| app.attachIdentityTag | bool | true | |
| app.attachDirectionTag | bool | true | |
| app.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| app.initialProductionOffset | double | 0s | |
| app.productionInterval | double |
elapsed time between subsequent packets pushed to the connected packet consumer |
|
| app.scheduleForAbsoluteTime | bool | true |
when a clock is used relative means that setting the clock will not affect the simulation time of the event |
| 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 |
| queue.packetCapacity | int | -1 |
maximum number of packets in the queue, no limit by default |
| queue.dataCapacity | int | -1b |
maximum total length of packets in the queue, no limit by default |
| 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 |
| 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 |
| queue.bufferModule | string | "" |
relative module path to the IPacketBuffer module used by this queue, implicit buffer by default |
| server.displayStringTextFormat | string | "served %p pk (%l)" |
determines the text that is written on top of the submodule |
| resending.displayStringTextFormat | string | "processed %p pk (%l)" |
determines the text that is written on top of the submodule |
| resending.numRetries | int | ||
| fcsInserter.displayStringTextFormat | string | "processed %p pk (%l)" |
determines the text that is written on top of the submodule |
| fcsInserter.fcsMode | string | "declared" | |
| fcsInserter.headerPosition | string | "back" | |
| InterpacketGapInserter.displayStringTextFormat | string | "delayed %p pk (%l)\nifg: %g" |
determines the text that is written on top of the submodule |
| InterpacketGapInserter.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| InterpacketGapInserter.initialChannelBusy | bool | false |
assume that channel was busy before the simulation started |
| InterpacketGapInserter.duration | double | ||
| transmitter.displayStringTextFormat | string | "processed %p pk (%l)" |
determines the text that is written on top of the submodule |
| transmitter.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| transmitter.datarate | double |
Source code
module ClientHost6 { parameters: @display("i=device/pc"); gates: output out; submodules: app: ActivePacketSource { @display("p=150,100"); } queue: PacketQueue { @display("p=150,200"); } server: InstantServer { @display("p=150,300"); } resending: Resending { @display("p=150,400"); } fcsInserter: FcsHeaderInserter { @display("p=150,500"); } InterpacketGapInserter: InterpacketGapInserter { @display("p=150,600"); } transmitter: PacketTransmitter { @display("p=150,700"); } connections: app.out --> queue.in; queue.out --> server.in; server.out --> resending.in; resending.out --> fcsInserter.in; fcsInserter.out --> InterpacketGapInserter.in; InterpacketGapInserter.out --> transmitter.in; transmitter.out --> out; }File: tutorials/protocol/Network6.ned