Commit Graph

187 Commits

Author SHA1 Message Date
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
Kleissner
0dc383e767 Moving blockchain code into separate files (no code changes). 2021-10-14 02:40:28 +02:00
Kleissner
e78ca02af7 Housekeeping! Renaming /blockchain functions for simplicity 2021-10-13 22:26:30 +02:00
Kleissner
1c0406dc60 Housekeeping! Removing unnecessary "blockchain" prefix of status codes within the blockchain package. 2021-10-13 21:22:17 +02:00
Kleissner
b556acb86c webapi: New function /blockchain/file/update
blockchain: Add readme.md. Add function ReplaceFiles.
2021-10-13 20:09:09 +02:00
Kleissner
336de68801 Refactor blockchain code into separate files (no code changes). 2021-10-13 15:30:35 +02:00
Kleissner
c2f110169a Automatically delete files from Warehouse in case there are no other references when deleting files from the blockchain via /blockchain/self/delete/file.
New function blockchain.FileExists.
blockchain.DeleteFiles now returns list of deleted files.
2021-10-13 06:00:40 +02:00
Kleissner
335f83d79b /blockchain/self/add/file checks now if the file exists in the Warehouse and aborts with StatusCorruptBlockRecord if not. 2021-10-13 02:42:04 +02:00
Kleissner
cec070b740 Introducing Warehouse - the store for files shared by the user.
New endpoints:
/warehouse/create               Create a file in the warehouse
/warehouse/create/path          Create a file in the warehouse via copy
/warehouse/read                 Read a file in the warehouse
/warehouse/delete               Delete a file in the warehouse
2021-10-13 01:40:58 +02:00
Kleissner
956e6dd76b Sync reuseport sub-package to latest version 2021-10-11 01:38:13 +02:00
Kleissner
fbeb01e7ff Major refactoring of blockchain code into new sub-package. 2021-10-11 01:21:38 +02:00
Kleissner
7495b823e4 webapi search: Implement /search/result/ws 2021-10-10 16:58:09 +02:00
Kleissner
7891bdbeac webapi search: Provide option to embed statistics into /search/result response 2021-10-10 16:07:44 +02:00
Kleissner
4ef002ab57 webapi: Add /search/statistic 2021-10-10 15:32:29 +02:00
Kleissner
7c3fc8938f webapi search: Add min/max file size as filter. 2021-10-10 03:03:35 +02:00