ExtLowerUdp¶
Package: inet.emulation.transportlayer.udp
simple module ExtLowerUdp
Provides UDP protocol services suitable for emulation. The lower part of the UDP protocol is realized in the real world using real UDP sockets of the host computer which is running the simulation.
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for all INET simple modules. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
namespace |
string |
“” |
|
packetNameFormat |
string |
“Ext-%p-%t-%n” |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
ExtLowerUdp |
|
display |
i=block/transport |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
appIn |
input |
||
ipIn |
input |
||
appOut |
output |
||
ipOut |
output |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
packetReceived |
|||
packetReceivedFromUpper |
|||
packetSent |
|||
packetSentToUpper |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
packetReceived |
packets received |
packetReceived |
count,”sum(packetBytes)”,”vector(packetBytes)” |
none |
||
packetSent |
packets sent |
packetSent |
count,”sum(packetBytes)”,”vector(packetBytes)” |
none |
Source code¶
//
// Provides UDP protocol services suitable for emulation.
// The lower part of the UDP protocol is realized in the real world using
// real UDP sockets of the host computer which is running the simulation.
//
simple ExtLowerUdp extends SimpleModule like IUdp
{
parameters:
@class(ExtLowerUdp);
string namespace = default("");
string packetNameFormat = default("Ext-%p-%t-%n");
@display("i=block/transport");
@signal[packetSentToUpper](type=inet::Packet);
@signal[packetReceivedFromUpper](type=inet::Packet);
@signal[packetSent](type=inet::Packet);
@signal[packetReceived](type=inet::Packet);
@statistic[packetSent](title="packets sent"; source=packetSent; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none);
@statistic[packetReceived](title="packets received"; source=packetReceived; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none);
gates:
input appIn @labels(UdpCommand/down);
input ipIn @labels(UdpHeader,Ipv4ControlInfo/up,Ipv6ControlInfo/up) @loose;
output appOut @labels(UdpCommand/up);
output ipOut @labels(UdpHeader,Ipv4ControlInfo/down,Ipv6ControlInfo/down) @loose;
}