X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FIPStack%2Ftcp.c;h=a8a059ac61dd3fc5b715743c369a305e4ee07b88;hb=d7dcea0e5a8df0f479e99f168a10b9a9535c7ad6;hp=fcfdaaa44b9aef9476d60e61d3c889c31fc95593;hpb=c1b33e91984102c1aa9a2ffe19f02c315b481726;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/IPStack/tcp.c b/KernelLand/Modules/IPStack/tcp.c index fcfdaaa4..a8a059ac 100644 --- a/KernelLand/Modules/IPStack/tcp.c +++ b/KernelLand/Modules/IPStack/tcp.c @@ -346,6 +346,7 @@ int TCP_INT_HandleServerPacket(tInterface *Interface, tTCPListener *Server, cons conn->LastACKSequence = ntohl( Header->SequenceNumber ); conn->Node.ImplInt = Server->NextID ++; + conn->Node.Size = -1; // Hmm... Theoretically, this lock will never have to wait, // as the interface is locked to the watching thread, and this @@ -900,6 +901,7 @@ tTCPConnection *TCP_int_CreateConnection(tInterface *Interface, enum eTCPConnect conn->LocalPort = -1; conn->RemotePort = -1; + conn->Node.Size = -1; conn->Node.ReferenceCount = 1; conn->Node.ImplPtr = conn; conn->Node.NumACLs = 1; @@ -1265,6 +1267,8 @@ void TCP_INT_SendDataPacket(tTCPConnection *Connection, size_t Length, const voi TCP_SendPacket( Connection, packet, Length, Data ); + // TODO: Start a retransmit time (if data is not ACKed in x seconds, send again) + Connection->NextSequenceSend += Length; }