SctpServer

Package: inet.applications.sctpapp

SctpServer

simple module

Server app for SCTP-based request-reply protocols. Handles a single session (and SCTP connection) at a time.

Inheritance diagram

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

Parameters

Name Type Default value Description
localAddress string ""

comma separated list of addresses

localPort int 0

port number to listen on

echo bool false

echoes received packages when true

echoDelay double 0s
delayFirstRead double 0s
readingInterval double 0s
messagesToPush int 0
numPacketsToSendPerClient int 0

number of requests sent per session

numPacketsToReceivePerClient int 1
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

finishEndsSimulation bool false
ordered bool true
inboundStreams int 17
outboundStreams int 1
queueSize int 0
prMethod int 0

0=NONE, 1=PR_TTL, 2=PR_RTX, 3=PR_PRIO, 4=PR_STRRST

prValue double 0

for PR-SCTP

streamReset bool false
streamRequestTime double 0s
streamToReset int 0
streamPriorities string ""

Gates

Name Direction Size Description
socketIn input
socketOut output

Direct method calls (observed)

call tofunctioninfo
MessageDispatcherinet::MessageDispatcher::arrivedarrived

Incoming messages (observed)

gatemsgkindctrlsrcModuletags
socketInIndication10 (SctpStatusInd::SCTP_I_ABORT)SctpSctpCommandReq, SocketInd
socketInIndication13 (SctpStatusInd::SCTP_I_SHUTDOWN_RECEIVED)SctpSctpCommandReq, SocketInd
socketInIndication2 (SctpStatusInd::SCTP_I_DATA_NOTIFICATION)SctpSctpCommandReq, SocketInd
socketInIndication21 (SctpStatusInd::SCTP_I_SENDSOCKETOPTIONS)SctpSctpCommandReq, SocketInd
socketInIndication22 (SctpStatusInd::SCTP_I_AVAILABLE)SctpSctpAvailableReq, SocketInd
socketInIndication3 (SctpStatusInd::SCTP_I_ESTABLISHED)SctpSctpConnectReq, SocketInd
socketInIndication4 (SctpStatusInd::SCTP_I_PEER_CLOSED)SctpSctpCommandReq, SocketInd
socketInIndication5 (SctpStatusInd::SCTP_I_CLOSED)SctpSctpCommandReq, SocketInd
socketInPacket1 (SctpStatusInd::SCTP_I_DATA)SctpSctpRcvReq, SocketInd

Outgoing messages (observed)

gatemsgkindctrldestModuletags
socketOutRequest15 (SctpCommandCode::SCTP_C_NO_OUTSTANDING)SctpDispatchProtocolReq, SctpCommandReq, SocketReq
socketOutRequest2 (SctpCommandCode::SCTP_C_OPEN_PASSIVE)SctpDispatchProtocolReq, SctpOpenReq, SocketReq
socketOutRequest22 (SctpCommandCode::SCTP_C_GETSOCKETOPTIONS)SctpDispatchProtocolReq, SctpSendReq, SocketReq
socketOutRequest25 (SctpCommandCode::SCTP_C_ACCEPT_SOCKET_ID)SctpDispatchProtocolReq, SctpAvailableReq, SocketReq
socketOutRequest6 (SctpCommandCode::SCTP_C_ABORT)SctpDispatchProtocolReq, SctpSendReq, SocketReq
socketOutRequest8 (SctpCommandCode::SCTP_C_RECEIVE)SctpDispatchProtocolReq, SctpSendReq, SocketReq

Packet operations (observed)

chunkTypepacketAction
peekData

Shared Tagging operations (observed)

tagTypetagAction
DispatchProtocolReqaddTag, addTagIfAbsent
SctpAvailableReqaddTag, getTag
SctpCommandReqaddTag, findTag
SctpConnectReqgetTag
SctpOpenReqaddTag
SctpRcvReqfindTag
SctpSendReqaddTag
SocketIndgetTag
SocketReqaddTag, addTagIfAbsent

Region Tagging operations (observed)

tagTypetagAction
CreationTimeTaggetAllTags

Source code

//
// Server app for SCTP-based request-reply protocols.
// Handles a single session (and SCTP connection) at a time.
//
simple SctpServer like IApp
{
    parameters:
        string localAddress = default(""); // comma separated list of addresses
        int localPort = default(0); // port number to listen on
        bool echo = default(false);  // echoes received packages when true
        volatile double echoDelay @unit(s) = default(0s);
        double delayFirstRead @unit(s) = default(0s);
        volatile double readingInterval @unit(s) = default(0s);
        int messagesToPush = default(0);
        int numPacketsToSendPerClient = default(0); // number of requests sent per session
        int numPacketsToReceivePerClient = default(1);
        int requestLength = default(1452); // length of a request (bytes)
        volatile 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
        bool finishEndsSimulation = default(false);
        bool ordered = default(true);
        int inboundStreams = default(17);
        int outboundStreams = default(1);
        int queueSize = default(0);
        int prMethod = default(0);  //0=NONE, 1=PR_TTL, 2=PR_RTX, 3=PR_PRIO, 4=PR_STRRST
        double prValue = default(0); //for PR-SCTP
        bool streamReset = default(false);
        double streamRequestTime @unit(s) = default(0s);
        int streamToReset = default(0);
        string streamPriorities = default("");
    gates:
        input socketIn;
        output socketOut;
}

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