TcpRequestResponseApp

Package: inet.applications.tcpapp

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.

IActivePacketSource IPacketFlow IPacketFlow IPassivePacketSink IPacketFlow TcpServerSocketIo

Inheritance diagram

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

Extends

Name Type Description
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.

Parameters

Name Type Default value Description
numKind int 2

Properties

Name Value Description
application
display i=block/cogwheel

Gates

Name Direction Size Description
socketIn input
socketOut output

Source code

//
// 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.
//
module TcpRequestResponseApp extends TcpServerConnection
{
    parameters:
        int numKind = default(2);
        sink.typename = default("RequestConsumer");
        sink.numKind = this.numKind;
        sink.responseProducerModule = default("^.source");
        sink.classifier.classifierClass = default("inet::queueing::PacketDataClassifier");
        source.typename = default("ResponseProducer");
        source.numKind = this.numKind;
}
File: src/inet/applications/tcpapp/TcpRequestResponseApp.ned