X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Modules%2FIPStack%2Ftcp.h;h=93e5c1ed07d9ff2561983b14d391d6d3a4c44e2e;hb=d42ba7958374f7f19500320d17b34267c9ae416c;hp=87515ce981f910f738d5ef26b8cd26e85861e663;hpb=37e9151e7bc0b7341050286fde4341a8f0f9333c;p=tpg%2Facess2.git diff --git a/Modules/IPStack/tcp.h b/Modules/IPStack/tcp.h index 87515ce9..93e5c1ed 100644 --- a/Modules/IPStack/tcp.h +++ b/Modules/IPStack/tcp.h @@ -75,6 +75,7 @@ struct sTCPListener struct sTCPStoredPacket { struct sTCPStoredPacket *Next; + size_t Length; Uint32 Sequence; Uint8 Data[]; }; @@ -91,13 +92,39 @@ struct sTCPConnection int NextSequenceSend; //!< Next sequence value for outbound packets int NextSequenceRcv; //!< Next expected sequence value for inbound + /** + * \brief Non-ACKed packets + * \note FIFO list + * \{ + */ + tSpinlock lQueuedPackets; tTCPStoredPacket *QueuedPackets; //!< Non-ACKed packets + /** + * \} + */ + /** + * \brief Unread Packets + * \note Double ended list (fifo) + * \{ + */ tSpinlock lRecievedPackets; tTCPStoredPacket *RecievedPackets; //!< Unread Packets tTCPStoredPacket *RecievedPacketsTail; //!< Unread Packets (End of list) + /** + * \} + */ + /** + * \brief Out of sequence packets + * \note Sorted list to improve times + * \{ + */ + tSpinlock lFuturePackets; //!< Future packets spinlock tTCPStoredPacket *FuturePackets; //!< Out of sequence packets + /** + * \} + */ union { tIPv4 v4;