Client app for SCTP-based request-reply protocols. Handles a single session (and SCTP connection) at a time.
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Default value | Description |
---|---|---|---|
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 |
reconnectInterval | double | 0 |
if connection breaks, waits this much before trying to reconnect |
inboundStreams | int | 17 | |
outboundStreams | 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 |
prValue | double | 0 |
for PR-SCTP |
streamReset | bool | false | |
streamRequestTime | double | 0s | |
streamResetType | int | 5 |
NO_RESET=5, RESET_OUTGOING=6, RESET_INCOMING=7, RESET_BOTH=8, SSN_TSN=9 |
streamAnswer | bool | false | |
stopTime | double | -1s |
time of finishing sending, negative values mean forever |
primaryTime | double | 0s | |
newPrimary | string | "" | |
streamRequestLengths | string | "" | |
streamRequestRatio | string | "" | |
streamPriorities | string | "" | |
finishEndsSimulation | bool | false |
Name | Value | Description |
---|
Name | Direction | Size | Description |
---|---|---|---|
sctpIn | input | ||
sctpOut | output |
Name | Type | Unit |
---|---|---|
sentPk | SCTPSimpleMessage | |
rcvdPk | cPacket | |
echoedPk | SCTPSimpleMessage |
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
sentPk | packets sent | sentPk | count, sum(packetBytes), vector(packetBytes) | none | |
rcvdPk | packets received | rcvdPk | count, sum(packetBytes), vector(packetBytes) | none | |
echoedPk | packets echoed | echoedPk | count, sum(packetBytes), vector(packetBytes) | none |
// // Client app for SCTP-based request-reply protocols. // Handles a single session (and SCTP connection) at a time. // simple SCTPClient like ISCTPApp { parameters: 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 volatile 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 connection breaks, waits this much before trying to reconnect int inboundStreams = default(17); int outboundStreams = 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 double prValue = default(0); //for PR-SCTP 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 stopTime @unit(s) = default(-1s); // time of finishing sending, negative values mean forever double primaryTime @unit(s) = default(0s); string newPrimary = default(""); string streamRequestLengths = default(""); string streamRequestRatio = default(""); string streamPriorities = default(""); bool finishEndsSimulation = default(false); @signal[sentPk](type=SCTPSimpleMessage); @signal[rcvdPk](type=cPacket); @signal[echoedPk](type=SCTPSimpleMessage); @statistic[rcvdPk](title="packets received"; source=rcvdPk; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); @statistic[sentPk](title="packets sent"; source=sentPk; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); @statistic[echoedPk](title="packets echoed"; source=echoedPk; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); gates: input sctpIn; output sctpOut; }