SctpNatServer

Package: inet.applications.sctpapp

SctpNatServer

simple module

C++ definition

Implements a rendezvous server for SCTP NAT traversal. Facilitates communication between peers behind NAT devices by maintaining connection information and exchanging address details between peers. Handles multi-homed connections and processes address addition notifications. Enables direct peer-to-peer communication by providing each peer with the necessary connection details of the other peer.

Inheritance diagram

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

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

localAddress string ""

May be left empty ("")

localPort int 0

Port number to listen on

numPacketsToSendPerClient int 0

Number of requests sent per session

numPacketsToReceivePerClient int 1
requestLength int 1452

Length of a request (bytes)

waitToClose double 0s

Time to wait between last message sent and abort

outboundStreams int 1
inboundStreams int 1
ordered bool true

Properties

Name Value Description
class SctpNatServer

Gates

Name Direction Size Description
socketIn input
socketOut output

Source code

//
// Implements a rendezvous server for SCTP NAT traversal. Facilitates
// communication between peers behind NAT devices by maintaining connection
// information and exchanging address details between peers. Handles multi-homed
// connections and processes address addition notifications. Enables direct
// peer-to-peer communication by providing each peer with the necessary
// connection details of the other peer.
//
simple SctpNatServer extends SimpleModule like IApp
{
    parameters:
        @class(SctpNatServer);
        string localAddress = default(""); // May be left empty ("")
        int localPort = default(0); // Port number to listen on
        int numPacketsToSendPerClient = default(0);  // Number of requests sent per session
        int numPacketsToReceivePerClient = default(1);
        int requestLength = default(1452); // Length of a request (bytes)
        double waitToClose @unit(s) = default(0s); // Time to wait between last message sent and abort
        int outboundStreams = default(1);
        int inboundStreams = default(1);
        bool ordered = default(true);
    gates:
        input socketIn;
        output socketOut;
}

File: src/inet/applications/sctpapp/SctpNatServer.ned