TcpLwipConnection

Package: inet.transportlayer.tcp_lwip

TcpLwipConnection

simple module

C++ definition

Represents a single TCP connection in the LwIP (Lightweight IP) TCP stack implementation. Manages connection state, processes application commands, handles data transfer through send and receive queues, and provides statistics about connection parameters such as window sizes and sequence numbers.

Properties

Name Value Description

Signals

Name Type Unit Description
rcvAck

Received ackNo (=snd_una)

rcvSeq

Received seqNo

sndAck

Sent ackNo

rcvWnd

Rcv_wnd

state

FSM state

sndNxt

Sent seqNo

sndWnd

Snd_wnd

Statistics

Name Title Source Record Unit Interpolation Mode Description
rcvAck vector sample-hold

Received ackNo (=snd_una)

rcvSeq vector sample-hold

Received seqNo

sndAck vector sample-hold

Sent ackNo

rcvWnd vector sample-hold

Rcv_wnd

sndNxt vector sample-hold

Sent seqNo

sndWnd vector sample-hold

Snd_wnd

Source code

//
// Represents a single TCP connection in the LwIP (Lightweight IP) TCP stack
// implementation. Manages connection state, processes application commands,
// handles data transfer through send and receive queues, and provides
// statistics about connection parameters such as window sizes and sequence
// numbers.
//
simple TcpLwipConnection
{
    parameters:
        @signal[state];    // FSM state
        @signal[sndWnd];    // Snd_wnd
        @signal[sndNxt];    // Sent seqNo
        @signal[sndAck];    // Sent ackNo
        @signal[rcvWnd];    // Rcv_wnd
        @signal[rcvSeq];    // Received seqNo
        @signal[rcvAck];    // Received ackNo (=snd_una)

        @statistic[sndWnd](record=vector; interpolationmode=sample-hold);    // Snd_wnd
        @statistic[sndNxt](record=vector; interpolationmode=sample-hold);    // Sent seqNo
        @statistic[sndAck](record=vector; interpolationmode=sample-hold);    // Sent ackNo
        @statistic[rcvWnd](record=vector; interpolationmode=sample-hold);    // Rcv_wnd
        @statistic[rcvSeq](record=vector; interpolationmode=sample-hold);    // Received seqNo
        @statistic[rcvAck](record=vector; interpolationmode=sample-hold);    // Received ackNo (=snd_una)
}

File: src/inet/transportlayer/tcp_lwip/TcpLwipConnection.ned