Kernel/IPStack - (minor) TODO retransmit timer
[tpg/acess2.git] / KernelLand / Modules / IPStack / tcp.c
index b7890ad..a8a059a 100644 (file)
@@ -67,6 +67,7 @@ tVFS_NodeType gTCP_ServerNodeType = {
        };
 tVFS_NodeType  gTCP_ClientNodeType = {
        .TypeName = "TCP Client/Connection",
+       .Flags = VFS_NODETYPEFLAG_STREAM,
        .Read  = TCP_Client_Read,
        .Write = TCP_Client_Write,
        .IOCtl = TCP_Client_IOCtl,
@@ -345,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
@@ -899,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;
@@ -1264,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;
 }
 

UCC git Repository :: git.ucc.asn.au