git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Kernel/IPStack - (minor) TODO retransmit timer
[tpg/acess2.git]
/
KernelLand
/
Modules
/
IPStack
/
tcp.c
diff --git
a/KernelLand/Modules/IPStack/tcp.c
b/KernelLand/Modules/IPStack/tcp.c
index
b7890ad
..
a8a059a
100644
(file)
--- a/
KernelLand/Modules/IPStack/tcp.c
+++ b/
KernelLand/Modules/IPStack/tcp.c
@@
-67,6
+67,7
@@
tVFS_NodeType gTCP_ServerNodeType = {
};
tVFS_NodeType gTCP_ClientNodeType = {
.TypeName = "TCP Client/Connection",
};
tVFS_NodeType gTCP_ClientNodeType = {
.TypeName = "TCP Client/Connection",
+ .Flags = VFS_NODETYPEFLAG_STREAM,
.Read = TCP_Client_Read,
.Write = TCP_Client_Write,
.IOCtl = TCP_Client_IOCtl,
.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->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
// 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->LocalPort = -1;
conn->RemotePort = -1;
+ conn->Node.Size = -1;
conn->Node.ReferenceCount = 1;
conn->Node.ImplPtr = conn;
conn->Node.NumACLs = 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 );
TCP_SendPacket( Connection, packet, Length, Data );
+ // TODO: Start a retransmit time (if data is not ACKed in x seconds, send again)
+
Connection->NextSequenceSend += Length;
}
Connection->NextSequenceSend += Length;
}
UCC
git Repository :: git.ucc.asn.au