IpSocketIo¶
Package: inet.applications.ipapp
simple module IpSocketIo
Provides IP socket handling for generic applications.
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
Generates traffic for a IP application. The traffic source and traffic sink modules can be built from queueing model elements. |
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for all INET simple modules. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
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 |
interfaceTableModule |
string |
||
localAddress |
string |
“” |
|
destAddress |
string |
“” |
|
protocol |
string |
“” |
|
stopOperationExtraTime |
double |
-1s |
Extra time after lifecycle stop operation finishes |
stopOperationTimeout |
double |
2s |
Timeout value for lifecycle stop operation |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
IpSocketIo |
|
display |
i=block/socket |
|
lifecycleSupport |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
trafficIn |
input |
||
trafficOut |
output |
||
socketIn |
input |
||
socketOut |
output |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
packetReceived |
|||
packetSent |
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 IP socket handling for generic applications.
//
simple IpSocketIo extends SimpleModule
{
parameters:
@class(IpSocketIo);
string interfaceTableModule;
string localAddress = default("");
string destAddress = default("");
string protocol = default("");
double stopOperationExtraTime @unit(s) = default(-1s); // Extra time after lifecycle stop operation finishes
double stopOperationTimeout @unit(s) = default(2s); // Timeout value for lifecycle stop operation
@lifecycleSupport();
displayStringTextFormat = default("rcvd: {numReceived} pks\nsent: {numSent} pks");
@display("i=block/socket");
@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 trafficIn;
output trafficOut;
input socketIn;
output socketOut;
}