FreeRTOS-Plus-TCP V2.3.2
FreeRTOS TCP/IP library
TCPSegment_t Struct Reference

#include <FreeRTOS_TCP_WIN.h>

Data Fields

uint32_t ulSequenceNumber
  More...
 
int32_t lMaxLength
  More...
 
int32_t lDataLength
  More...
 
int32_t lStreamPos
  More...
 
TCPTimer_t xTransmitTimer
  More...
 
union {
   struct {
      uint32_t   ucTransmitCount: 8
  More...
 
      uint32_t   ucDupAckCount: 8
  More...
 
      uint32_t   bOutstanding: 1
  More...
 
      uint32_t   bAcked: 1
  More...
 
      uint32_t   bIsForRx: 1
  More...
 
   }   bits
 
   uint32_t   ulFlags
 
u
  More...
 
struct xLIST_ITEM xQueueItem
  More...
 
struct xLIST_ITEM xSegmentItem
  More...
 

Detailed Description

Structure to hold the information about a TCP segment.

Field Documentation

◆ ulSequenceNumber

uint32_t TCPSegment_t::ulSequenceNumber

The sequence number of the first byte in this packet

◆ lMaxLength

int32_t TCPSegment_t::lMaxLength

Maximum space, number of bytes which can be stored in this segment

◆ lDataLength

int32_t TCPSegment_t::lDataLength

Actual number of bytes

◆ lStreamPos

int32_t TCPSegment_t::lStreamPos

reference to the [t|r]xStream of the socket

◆ xTransmitTimer

TCPTimer_t TCPSegment_t::xTransmitTimer

saves a timestamp at the moment this segment gets transmitted (TX only)

◆ ucTransmitCount

uint32_t TCPSegment_t::ucTransmitCount

Number of times the segment has been transmitted, used to calculate the RTT

◆ ucDupAckCount

uint32_t TCPSegment_t::ucDupAckCount

Counts the number of times that a higher segment was ACK'd. After 3 times a Fast Retransmission takes place

◆ bOutstanding

uint32_t TCPSegment_t::bOutstanding

It the peer's turn, we're just waiting for an ACK

◆ bAcked

uint32_t TCPSegment_t::bAcked

This segment has been acknowledged

◆ bIsForRx

uint32_t TCPSegment_t::bIsForRx

pdTRUE if segment is used for reception

◆ 

union { ... } TCPSegment_t::u

Use a union to store the 32-bit flag field and the breakdown in the same location.

◆ xQueueItem

struct xLIST_ITEM TCPSegment_t::xQueueItem

TX only: segments can be linked in one of three queues: xPriorityQueue, xTxQueue, and xWaitQueue

◆ xSegmentItem

struct xLIST_ITEM TCPSegment_t::xSegmentItem

With this item the segment can be connected to a list, depending on who is owning it


The documentation for this struct was generated from the following file: