Commit Graph

234 Commits

Author SHA1 Message Date
Kleissner
2924f0074d UDT: Redeveloped receiving code to fix the packet reassembly bugs. 2021-11-08 00:14:56 +01:00
Kleissner
bb2a4bac48 Update User Agent, new release! 2021-11-05 03:44:20 +01:00
Kleissner
14f034cc8d Turns out internet MTU must be honored, otherwise packets are dropped/not reassembled. Setting to 1500 bytes for transfer messages. 2021-11-05 03:39:46 +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
8502cb15cf UDT: Fix the first piece of !@#$ heap code. Rewrite from scratch. 2021-11-05 00:41:06 +01:00
Kleissner
bfe2985149 UDT: Remove broken sentAck2. Always send ACK2 in response to an ACK. No need for artificial delay. 2021-11-04 23:43:18 +01:00
Kleissner
1573ded639 UDT: Fix invalid initial packet sequence number when random number was a signed negative int 2021-11-04 22:35:57 +01:00
Kleissner
d0b5db9437 UDT: Removing light ACK. This reduces complexity. 2021-11-04 21:20:47 +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
d9bbdf573e Disable pogreb log output 2021-11-04 18:34:31 +01:00
Kleissner
cce68e9abe UDT: Fix packets being resent are not stored on the to-acknowledge list.
Add return statement in udtSocketSend.processDataMsg which was incorrectly removed with de9b67e751
2021-11-04 18:22:31 +01:00
Kleissner
e6846c232c UDT: Fix another bug, this time in udtSocket.Read. This UDT library is a fucking piece of !@#$ code that deserves a special place in hell. It probably takes longer fixing this piece of !@#$ than writing a new library from scratch. booh! 2021-11-04 17:05:53 +01:00
Kleissner
e141510b9c UDT: Fix divide by zero 2021-11-04 14:17:03 +01:00
Kleissner
cc3384e03e Merge branch 'master' of github.com:PeernetOfficial/core 2021-11-04 14:09:55 +01:00
Kleissner
29061318da UDT: Fix bug in packet.Add 2021-11-04 14:09:48 +01:00
Akilan Selvacoumar
78e46b8daa Merge pull request #53 from PeernetOfficial/Akilan1999-patch-1
Create release-drafter.yml
2021-11-04 00:35:30 +04:00
Akilan Selvacoumar
ed6d6becc8 Delete main.yml 2021-11-04 00:35:05 +04:00
Akilan Selvacoumar
006a8a0479 Create draft.yml 2021-11-04 00:34:08 +04:00
Akilan Selvacoumar
c15f9d4adf Create release-drafter.yml 2021-11-04 00:32:56 +04:00
Akilan Selvacoumar
ca10ee8277 Rename release.yml to main.yml 2021-11-04 00:29:16 +04:00
Akilan Selvacoumar
627d608232 Update release.yml 2021-11-04 00:28:45 +04:00
Akilan Selvacoumar
5489a7c502 Update release.yml 2021-11-04 00:26:34 +04:00
Akilan Selvacoumar
96fac9c56e Update and rename main.yml to release.yml 2021-11-04 00:12:58 +04:00
Kleissner
de9b67e751 UDT: Minor refactor of udtSocketSend.processDataMsg 2021-11-03 21:07:43 +01:00
Kleissner
451aac9c47 Fix bug in transfer code. A wrong transfer size was returned when an offset was used. 2021-11-03 21:02:00 +01:00
Kleissner
4bb8ac7adf UDT: Fix critical bug in udtSocket.Write use after return. CC #43 2021-11-03 20:57:04 +01:00
Kleissner
b04e089fbe Merge branch 'master' of github.com:PeernetOfficial/core 2021-11-03 20:53:08 +01:00
Kleissner
62c262e2b6 UDT: Fixing critical bugs in heap code. Fixing endless loops! #51 #49 2021-11-03 20:52:32 +01:00
Akilan Selvacoumar
997ece717d Create main.yml 2021-11-03 23:46:24 +04:00
Kleissner
4704b5194f webapi: Add cancellation channel to FileStartReader. Add convenience function FileReadAll. 2021-11-01 22:36:10 +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
8b593975b6 UDT: Fix closing channel twice in race condition when calling udtSocket.Close() multiple times 2021-11-01 09:02:35 +01:00
Kleissner
81b409d5a4 UDT: Fix divide by zero. 2021-11-01 08:50:33 +01:00
Kleissner
0368752324 UDT: Fix bug in NativeCongestionControl.OnNAK that causes a crash when the provided losslist is empty 2021-10-28 17:16:14 +02:00
Kleissner
9ddca35277 Transfer: Set max packet size.
udt: Improve error messages. Fix bug in udtSocketSend.processDataMsg, the header was not considered in the max size.
webapi: New /file/view API which is useful for immediate testing of file transfer.
2021-10-28 04:06:10 +02:00
Kleissner
5d9d1bf838 File transfer: New API /file/read 2021-10-27 14:16:13 +02:00
Kleissner
b0f98fdd4f UDT: Simplify closing behavior - removing multiplexer level for reporting close of listener/socket back to upstream provided closer. 2021-10-25 09:56:28 +02:00
Kleissner
13ef42ac39 UDT: Reduce complexity of multiplexer, removes a race condition, increases stability. pktOut was not needed. 2021-10-25 09:46:36 +02:00
Kleissner
e476c7e40b UDT: Remove unnecessary shutdownEvent waiting in udtSocket.Close. permitLinger only allowed for server, unless closed by client. 2021-10-25 09:36:59 +02: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
1ec20e6386 UDT: Fix critical bug in multiplexer.goWrite. It was overwriting packets on the fly. A new buffer is needed for each outgoing packet. 2021-10-25 07:56:35 +02:00
Kleissner
a8592e9975 Fix #46: Transfer receive data function must be started in go routine since it is blocking. 2021-10-25 06:10:12 +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
b0d71c2dc7 UDT: Fix critical bug in reevalSendState 2021-10-25 03:42:04 +02:00
Kleissner
b5266b1c52 File Transfer: Add header to file transfer to indicate file size and transfer size. This is important to know when to stop reading. It will also help when reading only ranges (which is important for video streaming).
New function FileTransferReadHeaderUDT to read the header.
Warehouse: ReadFile return count bytes read
2021-10-25 03:34:28 +02:00
Kleissner
39bc255007 Minor cleanup 2021-10-24 06:31:36 +02:00