Commit Graph

16 Commits

Author SHA1 Message Date
Kleissner
7adadf9ad5 UDT: Fix critical bugs that appear during high packet loss. Recv: Implement resending ACKs (until ACK2'ed). Send: Implement unsolicited data resending of unacked data packets. Double sending time each try to prevent ddos. 2021-12-13 16:21:53 +01:00
Kleissner
a26900755b UDT: Resend NAKs every SynTime until missing packets are received. Fix #70
Fix additional divide by 0 bug
2021-12-08 04:09:48 +01:00
Kleissner
eb0ad540fe UDT: Finally fixing this piece of crap by rewriting the send logic. Close #58 2021-11-11 18:47:10 +01:00
Kleissner
c44b05b9c1 UDT: Remove buggy EXP code. It caused wrong termination. It is not needed; the Peernet protocol handles connectivity. 2021-11-08 04:57:21 +01:00
Kleissner
f3d5f23cf9 Transfer: Record close reason of underlying library (UDT). This helps for debugging issues. Close #54 2021-11-08 04:40:53 +01:00
Kleissner
2924f0074d UDT: Redeveloped receiving code to fix the packet reassembly bugs. 2021-11-08 00:14:56 +01:00
Kleissner
0d62c215ee UDT: Fixing #43 #49 #51. File transfer works in test environment.
More tests needed for production testing. Internet MTU needs to be tested.
2021-11-05 03:19:29 +01:00
Kleissner
f76426aa48 UDT: Remove the datapacket_heap with the new heap code 2021-11-05 01:06:02 +01:00
Kleissner
b728b939ec UDT: Remove ackInterval which was never set anyway. Instead, send ACK every few packets depending on congestion window and count of sent packets.
Removing LightACK. The implementation of it was confusing (it competed with ACK in a race condition) and rather pointless. LightACKs will be ditched completely to get to a working version.
2021-11-04 20:47:34 +01:00
Kleissner
0f546caed0 UDT: Fix a bug in udtSocketRecv.ingestData. The wrong sequence identifier was pushed to the lossList. #43 2021-11-01 09:09:30 +01:00
Kleissner
7afc61edef UDT: Remove unnecessary and confusing sockShutdown. Elevate linger mode to full listen/send mode, which is necessary to combat the shutdown message race condition. Close #47 close #45 2021-10-25 09:12:33 +02:00
Kleissner
0c80eb2e3d UDT: Fix ddos in ackEvent. It sets ackTimerEvent which triggers ackEvent ... an endless loop. ackTimerEvent is actually not needed at all. 2021-10-25 08:42:24 +02:00
Kleissner
2984dc6b79 UDT: Fix another critical bug. udtSocketRecv.farNextPktSeq was not incremented.
Note: The open bug #43 is still pending, although it will give a warning now. The warning can be used as debugging point.
2021-10-25 04:50:40 +02:00
Kleissner
2df8dba4fe UDT: Temporary bush fix for buggy code #43. Packet loss is currently ignored, but at least it works now. The function udtSocketRecv.sendNAK is an endless loop and needs a rewrite. 2021-10-25 04:12:44 +02:00
Kleissner
57450e506f UDT: Fix another critical new bug in getRcvSpeeds. CC #43 2021-10-25 04:05:53 +02:00
Kleissner
75e3d9a42e Initial UDT implementation for file transfer.
New function RequestFileTransferUDT to download files from other peers.
2021-10-24 04:26:30 +02:00