Package: inet.applications.sctpapp
SctpServer
simple moduleServer 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 to | function | info |
---|---|---|
MessageDispatcher | inet::MessageDispatcher::arrived | arrived |
Incoming messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
socketIn | Indication | 10 (SctpStatusInd::SCTP_I_ABORT) | Sctp | SctpCommandReq, SocketInd | |
socketIn | Indication | 13 (SctpStatusInd::SCTP_I_SHUTDOWN_RECEIVED) | Sctp | SctpCommandReq, SocketInd | |
socketIn | Indication | 2 (SctpStatusInd::SCTP_I_DATA_NOTIFICATION) | Sctp | SctpCommandReq, SocketInd | |
socketIn | Indication | 21 (SctpStatusInd::SCTP_I_SENDSOCKETOPTIONS) | Sctp | SctpCommandReq, SocketInd | |
socketIn | Indication | 22 (SctpStatusInd::SCTP_I_AVAILABLE) | Sctp | SctpAvailableReq, SocketInd | |
socketIn | Indication | 3 (SctpStatusInd::SCTP_I_ESTABLISHED) | Sctp | SctpConnectReq, SocketInd | |
socketIn | Indication | 4 (SctpStatusInd::SCTP_I_PEER_CLOSED) | Sctp | SctpCommandReq, SocketInd | |
socketIn | Indication | 5 (SctpStatusInd::SCTP_I_CLOSED) | Sctp | SctpCommandReq, SocketInd | |
socketIn | Packet | 1 (SctpStatusInd::SCTP_I_DATA) | Sctp | SctpRcvReq, SocketInd |
Outgoing messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
socketOut | Request | 15 (SctpCommandCode::SCTP_C_NO_OUTSTANDING) | Sctp | DispatchProtocolReq, SctpCommandReq, SocketReq | |
socketOut | Request | 2 (SctpCommandCode::SCTP_C_OPEN_PASSIVE) | Sctp | DispatchProtocolReq, SctpOpenReq, SocketReq | |
socketOut | Request | 22 (SctpCommandCode::SCTP_C_GETSOCKETOPTIONS) | Sctp | DispatchProtocolReq, SctpSendReq, SocketReq | |
socketOut | Request | 25 (SctpCommandCode::SCTP_C_ACCEPT_SOCKET_ID) | Sctp | DispatchProtocolReq, SctpAvailableReq, SocketReq | |
socketOut | Request | 6 (SctpCommandCode::SCTP_C_ABORT) | Sctp | DispatchProtocolReq, SctpSendReq, SocketReq | |
socketOut | Request | 8 (SctpCommandCode::SCTP_C_RECEIVE) | Sctp | DispatchProtocolReq, SctpSendReq, SocketReq |
Packet operations (observed)
chunkType | packetAction |
---|---|
peekData |
Shared Tagging operations (observed)
tagType | tagAction |
---|---|
DispatchProtocolReq | addTag, addTagIfAbsent |
SctpAvailableReq | addTag, getTag |
SctpCommandReq | addTag, findTag |
SctpConnectReq | getTag |
SctpOpenReq | addTag |
SctpRcvReq | findTag |
SctpSendReq | addTag |
SocketInd | getTag |
SocketReq | addTag, addTagIfAbsent |
Region Tagging operations (observed)
tagType | tagAction |
---|---|
CreationTimeTag | getAllTags |
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