Package: inet.transportlayer.tcp
TcpConnection
simple module(no description)
Properties
Name | Value | Description |
---|
Signals
Name | Type | Unit |
---|---|---|
rcvOooSeg | ||
cwnd | ||
tcpRcvQueueDrops | ||
rcvSeq | ||
rcvNASeg | ||
tcpRcvPayloadBytes | ||
rttvar | ||
load | ||
rcvAck | ||
sndAck | ||
pipe | ||
state | ||
unacked | ||
ssthresh | ||
calcLoad | ||
tcpRcvQueueBytes | ||
srtt | ||
markingProb | ||
sndSacks | ||
rto | ||
sackedBytes | ||
rcvSacks | ||
rtt | ||
dupAcks | ||
numRtos | ||
rcvWnd | ||
sndNxt | ||
rcvAdv | ||
sndWnd |
Statistics
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
rcvOooSeg | vector | sample-hold | |||
cwnd | vector | sample-hold | |||
tcpRcvQueueDrops | vector | sample-hold | |||
rcvSeq | vector | sample-hold | |||
rcvNASeg | vector | sample-hold | |||
tcpRcvPayloadBytes | vector | sample-hold | |||
rttvar | vector | sample-hold | |||
load | vector | sample-hold | |||
rcvAck | vector | sample-hold | |||
sndAck | vector | sample-hold | |||
pipe | vector | sample-hold | |||
state | vector | sample-hold | |||
unacked | vector | sample-hold | |||
ssthresh | vector | sample-hold | |||
calcLoad | vector | sample-hold | |||
tcpRcvQueueBytes | vector | sample-hold | |||
srtt | vector | sample-hold | |||
markingProb | vector | sample-hold | |||
sndSacks | vector | sample-hold | |||
rto | vector | sample-hold | |||
sackedBytes | vector | sample-hold | |||
rcvSacks | vector | sample-hold | |||
rtt | vector | sample-hold | |||
dupAcks | vector | sample-hold | |||
numRtos | vector | sample-hold | |||
rcvWnd | vector | sample-hold | |||
sndNxt | vector | sample-hold | |||
rcvAdv | vector | sample-hold | |||
sndWnd | vector | sample-hold |
Scheduled messages (observed)
msg | kind | ctrl | tags | msgname | context |
---|---|---|---|---|---|
omnetpp::cMessage | 0 | DELAYEDACK | filled | ||
omnetpp::cMessage | 0 | NMSL | filled | ||
omnetpp::cMessage | 0 | REXMIT | filled | ||
omnetpp::cMessage | 0 | SYN-REXMIT | filled |
Direct method calls (observed)
call to | function | info |
---|---|---|
Tcp | inet::tcp::Tcp::sendFromConn | sendFromConn |
TcpConnection | inet::tcp::TcpConnection::initClonedConnection | initClonedConnection |
TcpConnection | inet::tcp::TcpConnection::initConnection | initConnection |
Called methods (observed)
function | info | call from |
---|---|---|
inet::tcp::TcpConnection::initClonedConnection | initClonedConnection | TcpConnection |
inet::tcp::TcpConnection::initConnection | initConnection | Tcp, TcpConnection |
inet::tcp::TcpConnection::processAppCommand | processAppCommand | Tcp |
inet::tcp::TcpConnection::processTCPSegment | processTCPSegment | Tcp |
Packet operations (observed)
chunkType | packetAction |
---|---|
peekDataAt | |
ByteCountChunk | insertAtBack |
BytesChunk | insertAtBack |
GenericAppMsg | insertAtBack |
SequenceChunk | insertAtBack |
SliceChunk | insertAtBack |
BgpKeepAliveMessage | insertAtBack |
BgpOpenMessage | insertAtBack |
BgpUpdateMessage | insertAtBack |
TcpHeader | insertAtFront |
Shared Tagging operations (observed)
tagType | tagAction |
---|---|
DispatchProtocolReq | addTagIfAbsent |
EcnReq | addTagIfAbsent |
HopLimitReq | addTag, findTag |
L3AddressReq | addTagIfAbsent |
PacketProtocolTag | addTagIfAbsent |
SocketInd | addTag |
TransportProtocolInd | addTagIfAbsent |
Source code
simple TcpConnection { parameters: @signal[state]; // FSM state @signal[sndWnd]; // snd_wnd @signal[rcvWnd]; // rcv_wnd @signal[rcvAdv]; // current advertised window (=rcv_adv) @signal[sndNxt]; // sent seqNo @signal[sndAck]; // sent ackNo @signal[rcvSeq]; // received seqNo @signal[rcvAck]; // received ackNo (=snd_una) @signal[unacked]; // number of bytes unacknowledged @signal[dupAcks]; // current number of received dupAcks @signal[pipe]; // current sender's estimate of bytes outstanding in the network @signal[sndSacks]; // number of sent Sacks @signal[rcvSacks]; // number of received Sacks @signal[rcvOooSeg]; // number of received out-of-order segments @signal[rcvNASeg]; // number of received not acceptable segments @signal[sackedBytes]; // current number of received sacked bytes @signal[tcpRcvQueueBytes]; // current amount of used bytes in tcp receive queue @signal[tcpRcvQueueDrops]; // number of drops in tcp receive queue @signal[tcpRcvPayloadBytes]; // amount of payload bytes received (including duplicates, out of order etc) for TCP throughput //TcpAlgorithm signals: @signal[cwnd]; // will record changes to snd_cwnd @signal[ssthresh]; // will record changes to ssthresh @signal[rtt]; // will record measured RTT @signal[srtt]; // will record smoothed RTT @signal[rttvar]; // will record RTT variance (rttvar) @signal[rto]; // will record retransmission timeout @signal[numRtos]; // will record total number of RTOs @signal[load]; // will record load (currently only with DcTcp) @signal[calcLoad]; // will record calcLoad (currently only with DcTcp) @signal[markingProb]; // will record marking probability (currently only with DcTcp) @statistic[state](record=vector; interpolationmode=sample-hold); @statistic[sndWnd](record=vector; interpolationmode=sample-hold); // snd_wnd @statistic[rcvWnd](record=vector; interpolationmode=sample-hold); // rcv_wnd @statistic[rcvAdv](record=vector; interpolationmode=sample-hold); // current advertised window (=rcv_adv) @statistic[sndNxt](record=vector; interpolationmode=sample-hold); // sent seqNo @statistic[sndAck](record=vector; interpolationmode=sample-hold); // sent ackNo @statistic[rcvSeq](record=vector; interpolationmode=sample-hold); // received seqNo @statistic[rcvAck](record=vector; interpolationmode=sample-hold); // received ackNo (=snd_una) @statistic[unacked](record=vector; interpolationmode=sample-hold); // number of bytes unacknowledged @statistic[dupAcks](record=vector; interpolationmode=sample-hold); // current number of received dupAcks @statistic[pipe](record=vector; interpolationmode=sample-hold); // current sender's estimate of bytes outstanding in the network @statistic[sndSacks](record=vector; interpolationmode=sample-hold); // number of sent Sacks @statistic[rcvSacks](record=vector; interpolationmode=sample-hold); // number of received Sacks @statistic[rcvOooSeg](record=vector; interpolationmode=sample-hold); // number of received out-of-order segments @statistic[rcvNASeg](record=vector; interpolationmode=sample-hold); // number of received not acceptable segments @statistic[sackedBytes](record=vector; interpolationmode=sample-hold); // current number of received sacked bytes @statistic[tcpRcvQueueBytes](record=vector; interpolationmode=sample-hold); // current amount of used bytes in tcp receive queue @statistic[tcpRcvQueueDrops](record=vector; interpolationmode=sample-hold); // number of drops in tcp receive queue @statistic[tcpRcvPayloadBytes](record=vector; interpolationmode=sample-hold); // current amount of payload bytes received (including duplicates, out of order etc) for TCP throughput @statistic[cwnd](record=vector; interpolationmode=sample-hold); // will record changes to snd_cwnd @statistic[ssthresh](record=vector; interpolationmode=sample-hold); // will record changes to ssthresh @statistic[rtt](record=vector; interpolationmode=sample-hold); // will record measured RTT @statistic[srtt](record=vector; interpolationmode=sample-hold); // will record smoothed RTT @statistic[rttvar](record=vector; interpolationmode=sample-hold); // will record RTT variance (rttvar) @statistic[rto](record=vector; interpolationmode=sample-hold); // will record retransmission timeout @statistic[numRtos](record=vector; interpolationmode=sample-hold); // will record total number of RTOs @statistic[load](record=vector; interpolationmode=sample-hold); // will record load (currently only with DcTcp) @statistic[calcLoad](record=vector; interpolationmode=sample-hold); // will record calcLoad (currently only with DcTcp) @statistic[markingProb](record=vector; interpolationmode=sample-hold); // will record marking probability (currently only with DcTcp) }File: src/inet/transportlayer/tcp/TcpConnection.ned