Package: inet.applications.sctpapp
SctpNatPeer
simple moduleImplements a peer application for SCTP NAT traversal. Supports both standard and rendezvous connection establishment methods to traverse NAT devices. Exchanges NAT traversal information with other peers and handles data transfer with configurable parameters. Supports multi-homing with multiple addresses.
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 | "" |
Comma-separated list of addresses |
| localPort | int | 0 |
Port number to listen on |
| connectAddress | string |
Server address (may be symbolic) |
|
| connectPort | int |
Port number to connect to |
|
| startTime | double | 1s |
Time first session begins |
| numRequestsPerSession | int | 1 |
Number of requests sent per session |
| numPacketsToReceive | int | 0 | |
| requestLength | int | 1452 |
Length of a request (bytes) |
| thinkTime | double | 0s |
Time gap between requests |
| waitToClose | double | 0s |
Time to wait between last message sent and abort |
| outboundStreams | int | 1 | |
| inboundStreams | int | 1 | |
| echo | bool | false |
Echoes received packages when true |
| ordered | bool | true | |
| queueSize | int | 0 | |
| prMethod | int | 0 |
0=NONE, 1=PR_TTL, 2=PR_RTX, 3=PR_PRIO, 4=PR_STRRST |
| streamReset | bool | false | |
| streamRequestTime | double | 0s | |
| streamResetType | int | 5 |
NO_RESET=5, RESET_OUTGOING=6, RESET_INCOMING=7, RESET_BOTH=8, SSN_TSN=9 |
| prValue | double | 0 |
bool streamAnswer = default(false); |
| echoDelay | double | 0s |
double stopTime @unit(s) = default(0s); |
| delayFirstRead | double | 0s | |
| numPacketsToSendPerClient | int | 0 |
Number of requests sent per session |
| numPacketsToReceivePerClient | int | 1 | |
| ownName | int | 0 | |
| peerName | int | 0 | |
| rendezvous | bool | false | |
| multi | bool | false | |
| streamPriorities | string | "" |
Properties
| Name | Value | Description |
|---|---|---|
| class | SctpNatPeer |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| socketIn | input | ||
| socketOut | output |
Source code
// // Implements a peer application for SCTP NAT traversal. Supports both standard // and rendezvous connection establishment methods to traverse NAT devices. // Exchanges NAT traversal information with other peers and handles data transfer // with configurable parameters. Supports multi-homing with multiple addresses. // simple SctpNatPeer extends SimpleModule like IApp { parameters: @class(SctpNatPeer); string localAddress = default(""); // Comma-separated list of addresses int localPort = default(0); // Port number to listen on string connectAddress; // Server address (may be symbolic) int connectPort; // Port number to connect to double startTime @unit(s) = default(1s); // Time first session begins int numRequestsPerSession = default(1); // Number of requests sent per session int numPacketsToReceive = default(0); int requestLength = default(1452); // Length of a request (bytes) double thinkTime @unit(s) = default(0s); // Time gap between requests double waitToClose @unit(s) = default(0s); // Time to wait between last message sent and abort //# double reconnectInterval @unit(s) = default(0); // If the connection breaks, wait this much before trying to reconnect int outboundStreams = default(1); int inboundStreams = default(1); bool echo = default(false); // Echoes received packages when true bool ordered = default(true); int queueSize = default(0); int prMethod = default(0); //0=NONE, 1=PR_TTL, 2=PR_RTX, 3=PR_PRIO, 4=PR_STRRST bool streamReset = default(false); double streamRequestTime @unit(s) = default(0s); int streamResetType = default(5); //NO_RESET=5, RESET_OUTGOING=6, RESET_INCOMING=7, RESET_BOTH=8, SSN_TSN=9 //bool streamAnswer = default(false); double prValue = default(0); //for PR-SCTP //double stopTime @unit(s) = default(0s); double echoDelay @unit(s) = default(0s); double delayFirstRead @unit(s) = default(0s); int numPacketsToSendPerClient = default(0); // Number of requests sent per session int numPacketsToReceivePerClient = default(1); int ownName = default(0); int peerName = default(0); bool rendezvous = default(false); bool multi = default(false); string streamPriorities = default(""); gates: input socketIn; output socketOut; }File: src/inet/applications/sctpapp/SctpNatPeer.ned