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