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
Kleissner
f6bbd02a01
Transfer: Change virtual connection from net.PacketConn to channels which is faster and less complex.
...
Improve termination behavior and documentation of it.
2021-10-24 06:27:23 +02:00
Kleissner
153ca78ed7
UDT: Removing MTU in favor of MaxPacketSize.
2021-10-24 04:59:14 +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
Kleissner
6c2d526251
Protocol sequences: Add support for bidirectional responses.
2021-10-24 02:28:33 +02:00
Kleissner
7b732e1232
Create initial virtual net.PacketConn code for embedding other transfer protocols. This is likely going to be replaced with direct channel I/O.
...
Create swarm readme! Swarms are to be introduced soon!
2021-10-24 00:18:04 +02:00
Kleissner
789d177052
New function sendTransfer
2021-10-23 06:53:34 +02:00
Kleissner
f1e30c942f
webapi: /blockchain/file/add and /blockchain/file/update now always overwrite file size field. Update file now fails if ID is not provided.
2021-10-22 16:55:03 +02:00
Kleissner
0c4562e1d3
Protocol: Fixes in Transfer code. Add IsLast convenience functions.
2021-10-22 06:23:56 +02:00
Kleissner
89f9e3a563
New function PublicKeyFromPeerID
2021-10-22 06:17:28 +02:00
Kleissner
2659921cb8
warehouse: Minor refactoring. Use native hash encoding for FileExists.
2021-10-22 00:21:59 +02:00
Kleissner
c7b9facc10
webapi: /search/result always return stats if requested
2021-10-21 16:18:20 +02:00
Kleissner
d2899a4378
Initial Transfer message encoding. Embedded UDT implementation to follow.
...
Documentation of file transfer to follow in upcoming Whitepaper update.
2021-10-20 10:20:56 +02:00
Kleissner
fb9944aaed
Update readme
2021-10-20 09:00:33 +02:00
Kleissner
e45d6fe888
New function to delete account. Create deletion functions for blockchain and warehouse. Add function /account/delete to webapi. Close #42
2021-10-20 08:46:53 +02:00
Kleissner
285bed59e3
webapi: Document time zone behavior.
2021-10-19 17:36:18 +02:00
Kleissner
f954c4777b
Refactor message encoding code into separate files. No code changes.
2021-10-18 04:57:54 +02:00
Kleissner
c9d9be2972
Refactor message encoding into protocol package. User Agent must be now provided in the Init function.
2021-10-18 04:37:02 +02:00
Kleissner
f1e8e0cab8
Finally moving Sequence code into protocol package
2021-10-18 02:41:55 +02:00
Kleissner
5d93a74981
Collecting network vars and functions in networks structure
2021-10-18 02:12:36 +02:00
Kleissner
e2542b3a4d
Create struct ipList from ip listening list
2021-10-18 01:10:40 +02:00
Kleissner
1b9151d6fd
Refactor sequence code into SequenceManager
2021-10-17 21:34:30 +02:00
Kleissner
767181620e
Prepare refactoring of sequence code
2021-10-17 20:02:35 +02:00
Kleissner
be7b596551
Rename field sequence in MessageRaw due to name collision in PacketRaw
2021-10-17 19:42:19 +02:00
Kleissner
77579a8866
Simplify EncodeAnnouncement. Return generic packetsRaw.
...
Fixes also a theoretical bug in announcement encoding for multicast/broadcast.
2021-10-17 19:30:24 +02:00
Kleissner
b51579fb3f
Untangle function IsBadQuality
2021-10-17 18:29:21 +02:00
Kleissner
42ff6d926e
Change msgNewSequence function to use parameters
2021-10-17 17:53:48 +02:00
Kleissner
1b93eac17a
Moving FeatureSupport() and UserBlockchain.Header() calls out of Message Encoding.
...
This paves the way for refactoring the message code into the protocol package.
2021-10-17 17:40:22 +02:00
Kleissner
4d3caaf567
Move message sending code into separate file (no code changes)
2021-10-17 17:20:21 +02:00
Kleissner
7be31a9e34
Refactoring code. Use protocol.HashData and HashSize. Move PublicKey2NodeID into protocol.
2021-10-17 17:15:22 +02:00
Kleissner
39217ab5ef
Untangle connection parameters from msgEncodeTraverseSetAddress
2021-10-17 16:55:31 +02:00
Kleissner
93f10fd3b5
Untangle connection from MessageRaw, paving the way for refactoring the message code into the protocol package.
2021-10-17 16:39:41 +02:00
Kleissner
0c7b1e0e03
Start refactoring protocol code into sub package. Move Packet Encoding and list of Commands. Change SetSelfReportedPorts parameters.
...
More related commits to follow!
2021-10-17 16:28:19 +02:00
Kleissner
2476146949
Add info about other UPnP packages
2021-10-16 13:32:43 +02:00