Package: inet.applications.ethernet
EthernetSocketIo
simple moduleProvides Ethernet socket handling for generic applications.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Used in compound modules
| Name | Type | Description |
|---|---|---|
| EthernetApp | compound module |
Generates traffic as an Ethernet application. The traffic source and traffic sink modules can be built from queueing model elements. |
Extends
| Name | Type | Description |
|---|---|---|
| SimpleModule | 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 |
| interfaceTableModule | string |
Relative module path of the interface table |
|
| interface | string | "" | |
| protocol | string | "" |
Bind the socket to this protocol if specified |
| localAddress | string | "" |
Local Ethernet MAC address |
| remoteAddress | string | "" |
Remote Ethernet MAC address |
| steal | bool | false |
Steal packets |
| stopOperationExtraTime | double | -1s |
Extra time after lifecycle stop operation finished |
| stopOperationTimeout | double | 2s |
Timeout value for lifecycle stop operation |
Properties
| Name | Value | Description |
|---|---|---|
| class | EthernetSocketIo | |
| lifecycleSupport | ||
| display | i=block/socket |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| trafficIn | input | ||
| trafficOut | output | ||
| socketIn | input | ||
| socketOut | output |
Signals
| Name | Type | Unit | Description |
|---|---|---|---|
| packetReceived | inet::Packet | ||
| packetSent | inet::Packet |
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 Ethernet socket handling for generic applications. // simple EthernetSocketIo extends SimpleModule { parameters: @class(EthernetSocketIo); string interfaceTableModule; // Relative module path of the interface table string interface = default(""); // Network interface name string protocol = default(""); // Bind the socket to this protocol if specified string localAddress = default(""); // Local Ethernet MAC address string remoteAddress = default(""); // Remote Ethernet MAC address bool steal = default(false); // Steal packets double stopOperationExtraTime @unit(s) = default(-1s); // Extra time after lifecycle stop operation finished double stopOperationTimeout @unit(s) = default(2s); // Timeout value for lifecycle stop operation @lifecycleSupport(); @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; }File: src/inet/applications/ethernet/EthernetSocketIo.ned