Package: inet.applications.contract
IApp
module interfaceGeneric application interface.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Implemented by
Name | Type | Description |
---|---|---|
Aodv | simple module |
Ad hoc On-Demand Distance Vector Routing Protocol module. |
Bgp | simple module |
Implements BGP Version 4 routing protocol. |
DhcpClient | simple module |
Implements the DHCP client protocol. DHCP (Dynamic Host Configuration Protocol), described in RFC 2131, provides configuration parameters to Internet hosts. Requires UDP. |
DhcpServer | simple module |
Implements the DHCP server protocol. DHCP (Dynamic Host Configuration Protocol), described in RFC 2131, provides configuration parameters to Internet hosts. Requires UDP. |
HttpBrowser | simple module |
HttpBrowser simulates a browser operating on a single host. It operates in conjunction with the server component to provide a realistic simulation of Web usage patterns. |
HttpServer | simple module |
A Web server module. This module is intended for use with the INET StandardHost module and plugs in as an app. The INET TCP/IP stack modeling is used for transport. |
HttpServerEvilA | simple module |
Demonstrates subclassing the server to create a custom site. This site is an attacker -- a puppetmaster -- which serves HTML pages containing attack code. In this case, we are simulating JavaScript attack code which prompts the unsuspecting browser to request a number of images from a victim site. Delays are specified to simulate hiding the attack from the browser user by use of JavaScript timeouts or similar mechanisms. The generateBody virtual function is redefined to create a page containing the attack code. |
HttpServerEvilB | simple module |
HttpServerEvilB |
Ldp | simple module |
Handles and processes LDP messages. |
NetPerfMeter | simple module |
Application model for comparing the performance of various transport protocols. |
PacketDrillApp | simple module |
This is a port of Google's Packetdrill testing tool into the INET Framework. |
PingApp | simple module |
Generates ping requests to several hosts (or rather, network interfaces), and calculates the packet loss and round trip times of the replies. It works exactly like 'ping' except that it is possible to specify several destination addresses as a space separated list of IP addresses or module names. (The L3AddressResolver class is used to resolve the address.) Specifying '*' allows pinging ALL configured network interfaces in the whole simulation. This is useful to check if a host can reach ALL other hosts in the network (i.e. routing tables were set up properly). |
Rip | simple module |
Routing Information Protocol. |
SctpClient | simple module |
Client app for SCTP-based request-reply protocols. Handles a single session (and SCTP connection) at a time. |
SctpNatPeer | simple module | (no description) |
SctpNatServer | simple module | (no description) |
SctpPeer | simple module | (no description) |
SctpServer | simple module |
Server app for SCTP-based request-reply protocols. Handles a single session (and SCTP connection) at a time. |
SimpleVoipReceiver | simple module |
Receives a VoIP stream generated by a SimpleVoipSender, and records statistics. The most important statistic is MOS (Mean Opinion Score, a value between 1 and 5, representing a human user's view of the voice quality), computed using the E Model defined in the ITU-T G.107 standard. The parameters starting with "emodel_" correspond to the parameters of the E model. |
SimpleVoipSender | simple module |
Implements a simple VoIP source. It is a constant bitrate source, with talkspurt support added. Packets do not contain actual voice data. Connection setup/teardown is not modelled. The peer must be a SimpleVoipReceiver. |
TcpBasicClientApp | simple module |
Client for a generic request-response style protocol over TCP. May be used as a rough model of HTTP or FTP users. Compatible with both IPv4 (Ipv4) and IPv6 (Ipv6). |
TcpClientApp | compound module |
This module is a generic TCP client application. The traffic source and traffic sink modules can be built from queueing model elements. |
TcpEchoApp | simple module |
Accepts any number of incoming TCP connections, and sends back the messages that arrive on them, The lengths of the messages are multiplied by echoFactor before sending them back (echoFactor=1 will result in sending back the same message unmodified.) The reply can also be delayed by a constant time (echoDelay parameter). |
TcpGenericServerApp | simple module |
Generic server application for modelling TCP-based request-reply style protocols or applications. |
TcpRequestResponseApp | compound module |
This module is a generic request/response based server application. For each request it receives, it generates a different traffic based on the data the request contains. The client application can be any source that is capable of generating packets with different data. The first byte of the packet data determines the response traffic, which can be configured to produce complex streams of packets with various data and timing distributions. |
TcpServerApp | compound module |
This module is a generic TCP server application with a TCP server listener that creates TCP server connections. |
TcpServerConnection | compound module |
This module is a generic TCP server connection. The traffic source and traffic sink modules can be built from queueing model elements. |
TcpServerHostApp | simple module |
This module hosts TCP-based server applications. It dynamically creates and launches a new "thread" object for each incoming connection. |
TcpServerListener | simple module |
This module accepts/rejects TCP connections and creates TCP server connections as part of a generic TCP server application. |
TcpSessionApp | simple module |
Single-connection TCP application: it opens a connection, sends the given number of bytes, and closes. Sending may be one-off, or may be controlled by a "script" which is a series of (time, number of bytes) pairs. May act either as client or as server. Compatible with both IPv4 (Ipv4) and IPv6 (Ipv6). |
TcpSinkApp | compound module |
Accepts any number of incoming TCP connections, and discards whatever arrives on them. Compatible with both Ipv4 and Ipv6. |
TelnetApp | simple module |
Models Telnet sessions with a specific user behaviour. The server app should be TcpGenericServerApp. Compatible with both Ipv4 and Ipv6. |
TelnetClientApp | compound module |
This client application contains a configurable pre-composed telnet traffic source and traffic sink. |
TelnetServerApp | compound module |
This server application accepts and creates telnet server connections. |
TelnetServerConnection | compound module |
This module contains a configurable pre-composed telnet traffic source and traffic sink as part of a telnet server application. |
TunLoopbackApp | simple module | (no description) |
TunnelApp | simple module | (no description) |
UdpApp | compound module |
This module generates traffic for a UDP application. The traffic source and traffic sink modules can be built from queueing model elements. |
UdpBasicApp | simple module |
Sends UDP packets to the given IP address at the given interval. Compatible with both Ipv4 and Ipv6. |
UdpBasicBurst | simple module |
Sends UDP packets to the given IP address(es) in bursts, or acts as a packet sink. Compatible with both IPv4 (Ipv4) and IPv6 (Ipv6). |
UdpEchoApp | simple module |
Listens on an UDP port, and sends back each received packet to its sender. Note: when used together with UdpBasicApp, UdpBasicApp's "received packet lifetime" statistic will record round-trip times. |
UdpRequestResponseApp | compound module |
This module is a generic request/response based server application. For each request it receives, it generates a different traffic based on the data the request contains. The client application can be any source that is capable of generating packets with different data. The first byte of the packet data determines the response traffic, which can be configured to produce complex streams of packets with various data and timing distributions. |
UdpSink | simple module |
Consumes and prints packets received from the Udp module. |
UdpVideoStreamClient | simple module |
Video streaming client. |
UdpVideoStreamServer | simple module |
Video stream server. To be used with UdpVideoStreamClient. |
VoipStreamReceiver | simple module |
VoipStreamReceiver listens on an UDP port, and expects to receive VoIP packets on it. The received voice is then saved into a result audio file that can be compared with the original for further evaluation. VoIP packets are numbered, and out-of-order packets are discarded (the corresponding voice interval will be recorded as silence into the file). VoIP packets that miss their deadlines will similarly be discarded. It is assumed that the audio is played back with delay (by default 20ms), which allows some jitter for the incoming packets. The resulting audio file is closed when the simulation completes (i.e. in the OMNeT++ finish() function). Only one voice session ("call") may be underway at a time. |
VoipStreamSender | simple module |
VoipStreamSender accepts an audio file and a destination IP address/port as input, and will transmit the file's contents as voice traffic over UDP n times (by default once). For transmission, the audio is resampled at the specified frequency and depth, and encoded with the specified codec at the specified bit rate, and chopped into packets that each carry specified number of milliseconds of voice. Those values come from module parameters. Packets that are all silence (all samples are below a given threshold in absolute value) are transmitted as special "silence" packets. The module does not simulate any particular VoIP protocol (e.g. RTP), but instead accepts a "header size" parameter that can be set accordingly. |
Used in compound modules
Name | Type | Description |
---|---|---|
ApplicationLayerNodeBase | compound module | (no description) |
ManetRouter | compound module | (no description) |
Router | compound module |
IPv4 router that supports wireless, Ethernet, PPP and external interfaces. By default, no wireless and external interfaces are added; the number of Ethernet and PPP ports depends on the external connections. |
TcpServerApp | compound module |
This module is a generic TCP server application with a TCP server listener that creates TCP server connections. |
Known subclasses
Name | Type | Description |
---|---|---|
IBgp | module interface |
Interface for BGP routing module. |
Properties
Name | Value | Description |
---|---|---|
display | i=block/app |
Source code
// // Generic application interface. // moduleinterface IApp { parameters: @display("i=block/app"); gates: input socketIn; output socketOut; }File: src/inet/applications/contract/IApp.ned