NED File src/inet/applications/tcpapp/TcpServerListener.ned¶
Name |
Type |
Description |
|---|---|---|
simple module |
Opens a TCP socket to listen on a port, accepts incoming connections, and dynamically creates modules to handle them. The type of modules to be created can be specified in a parameter. The new modules will be appended to the connection[] submodule array of the parent of this module, i.e., they will be siblings of this module. |
Source code¶
//
// Copyright (C) 2020 OpenSim Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later
//
package inet.applications.tcpapp;
import inet.common.SimpleModule;
import inet.applications.contract.IApp;
//
// Opens a TCP socket to listen on a port, accepts incoming
// connections, and dynamically creates modules to handle them. The type of
// modules to be created can be specified in a parameter. The new modules
// will be appended to the connection[] submodule array of the parent of
// this module, i.e., they will be siblings of this module.
//
// Accepted TCP connections will inherit the `autoRead` setting of this module. To
// allow rate limiting on the connections, set autoRead=false here, and use
// corresponding parameters of the connection handling module (e.g., `readSize` and
// `readDelay`) to set a rate limit. This will allow TCP flow control to come into
// effect.
//
// @see ~TcpServerApp, ~TcpServerConnection
//
simple TcpServerListener extends SimpleModule
{
parameters:
@class(TcpServerListener);
string localAddress = default(""); // May be left empty ("")
int localPort = default(1000); // Port number to listen on
string serverConnectionModuleType = default("inet.applications.tcpapp.TcpServerConnection"); // Module type of "connection" module to launch on incoming connections
bool autoRead = default(true); // Defines the autoRead setting for connection handling modules
@display("i=block/server");
gates:
input socketIn;
output socketOut;
}