UdpSourceApp¶
Package: inet.applications.udpapp
compound module UdpSourceApp
Implements a UDP application that only sends packets.
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
compound module |
Generates traffic for a UDP application. The traffic source and traffic sink modules can be built from queueing model elements. |
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 |
|---|---|---|---|
source.displayStringTextFormat |
string |
“created %p pk (%l)” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
source.packetNameFormat |
string |
“%a-%c” |
See directives in module documentation |
source.packetRepresentation |
string |
“byteCount” |
Determines the chunk of the packet data |
source.packetProtocol |
string |
“unknown” |
|
source.packetLength |
int |
||
source.packetData |
int |
-1 |
|
source.attachCreationTimeTag |
bool |
true |
|
source.attachIdentityTag |
bool |
true |
|
source.attachDirectionTag |
bool |
true |
|
source.clockModule |
string |
“” |
Relative path of a module that implements IClock(1,:ref:2 <neddoc-msg-inet-iclock>); optional |
source.initialProductionOffset |
double |
-1s |
Initial duration before which packets are not produced. When negative, then produce packet in initialize() |
source.productionInterval |
double |
Elapsed time between subsequent packets pushed to the connected packet consumer |
|
source.scheduleForAbsoluteTime |
bool |
true |
When a clock is used, “relative” means that setting the clock will not affect the simulation time of the event |
sink.displayStringTextFormat |
string |
“received %p pk (%l)” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
sink.clockModule |
string |
“” |
Relative path of a module that implements IClock(1,:ref:2 <neddoc-msg-inet-iclock>); optional |
sink.initialConsumptionOffset |
double |
0s |
Initial duration before which packets are not consumed |
sink.consumptionInterval |
double |
0s |
Elapsed time between subsequent packets allowed to be pushed by the connected packet producer, 0 means any number of packets can be pushed at the same simulation time |
sink.scheduleForAbsoluteTime |
bool |
true |
When a clock is used, “relative” means that setting the clock will not affect the simulation time of the event |
io.displayStringTextFormat |
string |
“rcvd: {numReceived} pks\nsent: {numSent} pks” |
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.localPort |
int |
-1 |
|
io.destAddress |
string |
“” |
|
io.destPort |
int |
||
io.timeToLive |
int |
-1 |
If not -1, set the TTL (IPv4) or Hop Limit (IPv6) field of sent packets to this value |
io.dontFragment |
bool |
false |
If true, ask IP to not fragment the message during routing |
io.dscp |
int |
-1 |
If not -1, set the DSCP (IPv4/IPv6) field of sent packets to this value |
io.tos |
int |
-1 |
If not -1, set the Type Of Service (IPv4) / Traffic Class (IPv6) field of sent packets to this value |
io.multicastInterface |
string |
“” |
If not empty, set the multicast output interface option on the socket (interface name expected) |
io.multicastAddresses |
object |
[] |
List of multicast addresses that the application socket joins |
io.receiveBroadcast |
bool |
false |
If true, make the socket receive broadcast packets |
io.joinLocalMulticastGroups |
bool |
false |
If true, make the socket receive packets from all multicast groups set on local interfaces |
io.stopOperationExtraTime |
double |
-1s |
Extra time after lifecycle stop operation finishes |
io.stopOperationTimeout |
double |
2s |
Timeout value for lifecycle stop operation |
Source code¶
//
// Implements a UDP application that only sends packets.
//
module UdpSourceApp extends UdpApp
{
parameters:
sink.typename = "";
}