SctpNatServer

Package: inet.applications.sctpapp

simple module SctpNatServer

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.

inet.applications.sctpapp.SctpNatServerSctpNatServersimple

Inheritance 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