ITCPApp

Package: inet.applications.contract

ITCPApp

module interface

Template for TCP applications. It shows what gates a TCP app needs, to be able to be used in StandardHost etc.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Implemented by

Name Type Description
BGPRouting simple module

Implements BGP Version 4. TODO config file!

HttpBrowser simple module

The component is derived from HttpBrowseBase and is intended to be used with the INET frameworks StandardHost and TCP/IP stack modeling.

HttpServer simple module

A Web server module for OMNeT++ simulations. This module is intended for use with the INET StandardHost module and plugs in as a tcpApp. The INET TCP/IP stack modeling is used for transport. See the INET documentation for more details.

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

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.

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).

TCPGenericSrvApp simple module

Generic server application for modelling TCP-based request-reply style protocols or applications.

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, and works with TCPVirtualBytesSendQueue/RcvQueue as sendQueue/receiveQueue setting for TCP. Compatible with both IPv4 (IPv4) and IPv6.

TCPSinkApp simple module

Accepts any number of incoming TCP connections, and discards whatever arrives on them. Compatible with both IPv4 and IPv6.

TCPSrvHostApp simple module

This module hosts TCP-based server applications. It dynamically creates and launches a new "thread" object for each incoming connection.

TelnetApp simple module

Models Telnet sessions with a specific user behaviour. The server app should be TCPGenericSrvApp. Compatible with both IPv4 and IPv6.

Used in compound modules

Name Type Description
StandardHost compound module

IPv4 host with SCTP, TCP, UDP layers and applications. IP forwarding is disabled by default (see forwarding).

Known subclasses

Name Type Description
IBGPRouting module interface

Interface for BGP routing module.

Properties

Name Value Description
display i=block/app

Source code

//
// Template for TCP applications. It shows what gates a TCP app
// needs, to be able to be used in ~StandardHost etc.
//
moduleinterface ITCPApp
{
    parameters:
        @display("i=block/app");

    gates:
        input tcpIn @labels(TCPCommand/up);
        output tcpOut @labels(TCPCommand/down);
}

File: src/inet/applications/contract/ITCPApp.ned