Commit Graph

343 Commits

Author SHA1 Message Date
Kleissner
8704b7f657 UDT: Fix close bug. It kept sending ACKs/NAKs even though the underlying socket was already closed. Close #95 2022-02-26 16:29:03 +01:00
Kleissner
5f161c0c38 UDT: Fix ACK/NAK ddos by implementing a simple rate limiter. It uses a min/max time and doubles the wait time in between. 2022-02-26 15:41:35 +01:00
Kleissner
0553c01962 -> Alpha 7 2022-02-24 14:42:40 +01:00
Kleissner
298dbf80d7 Fix bug in PeerConnectNode 2022-02-23 03:16:29 +01:00
Kleissner
ee22bf641a Warehouse.FileExists return fileSize instead of fileInfo 2022-02-21 22:35:20 +01:00
Peter Kleissner
8d62724d0c Merge pull request #92 from PeernetOfficial/udt-nak-fix
added fix to nak interval
2022-02-21 00:31:59 +01:00
Peter Kleissner
332fbbf829 Update congestion_native.go 2022-02-21 00:31:15 +01:00
Peter Kleissner
66e351ca64 Update udtsocket_send.go 2022-02-21 00:30:30 +01:00
Peter Kleissner
e45dddd6f5 Update congestion_native.go
Remove non-used lines
2022-02-21 00:29:49 +01:00
f9f7d48e72 added fix to nak interval 2022-02-21 02:38:58 +04:00
Kleissner
94ed383489 UDT: Fix critical bug in NativeCongestionControl not using pointer. ackEvent immediate parameter. 2022-02-20 18:24:42 +01:00
Kleissner
a41de8a4db UDT: Fix critical bugs: congestion window size was not set on senders side; sentAck was not set in case ACK threshold wasn't reached, which caused resendACKTimer to fail to send 2022-02-19 23:37:04 +01:00
Kleissner
7d9e38a6f5 UDT: Revert removal of udtSocketRecv.ackInterval from b728b939ec close #55 2022-02-19 21:27:21 +01:00
Kleissner
f23315fbde Minor fix in readme 2022-02-19 21:20:31 +01:00
Kleissner
b76601e11c Support custom client config in Init. Now saved on backend.SaveConfig. 2022-02-05 21:05:23 +01:00
Kleissner
c2bfb85eb8 Document support for target systems. Close #86, close #88 2022-02-02 02:21:54 +01:00
Kleissner
700fc30586 UDT: Minor ticker change in recv. Make sure it is always closed. 2022-01-17 17:00:05 +01:00
Kleissner
86cf8e1fe8 Improve performance of Warehouse.ReadFile by detecting file not found error via os.Open, instead of wh.FileExists which is a very expensive function. 2022-01-17 15:39:39 +01:00
Kleissner
1af98ab141 UDT: Improve performance by relying on a single ticker instead of creating new ones for ACK/NAK each outgoing packet.
Creating new tickers was huge stress for the gc reducing performance (according to pprof 35% was spent on runtime.siftdownTimer).
2022-01-17 04:28:39 +01:00
Kleissner
f305e5b158 Lite Packet algorithm for data transfer. It bypasses the CPU expensive Peernet Protocol packet encoding (which uses public key signing). 2022-01-17 03:48:40 +01:00
Kleissner
6a5312d834 New config field LogTarget. Simplified function backend.LogError. 2022-01-12 22:18:34 +01:00
Kleissner
5c8b8eb94b Implement backend.Stdout that can be subscribed/unsubscribed. 2022-01-06 04:11:28 +01:00
Kleissner
a19bac1916 Refactor ReadBlock and ReadFile functions. Close #84 2022-01-03 01:21:05 +01:00
Kleissner
5247d88345 New high-level filters for the blockchain cache. Use new IngestBlock function that records stats. 2022-01-03 00:56:57 +01:00
Kleissner
39d6f71a7f Blockchain multi-store: Provide filter callbacks. Store statistics about blockchains (Count File Records, Size All Files). New iterate function. 2022-01-03 00:52:02 +01:00
Kleissner
8aee4b16f9 Search: Check if search index is available in main functions. 2022-01-03 00:15:20 +01:00
Kleissner
10d39595f6 Store: Add Iterate function 2022-01-03 00:11:25 +01:00
Kleissner
0689543d43 GitHub actions currently unused. Close #62 2021-12-31 01:37:43 +01:00
Kleissner
82ffa7ca3e New function firewallDetectIndicatorFile to detect the presence of the indicator file created by the setup. 2021-12-31 01:36:50 +01:00
Kleissner
38d411bb9a webapi: Fix bug in search job. 2021-12-29 16:57:07 +01:00
Kleissner
0493acce64 Update log file name 2021-12-29 16:07:40 +01:00
Kleissner
9a9a4919e8 Move UPnP fields into networks context 2021-12-29 05:50:33 +01:00
Kleissner
5d598c13f6 webapi: Move search jobs into API context 2021-12-29 05:47:17 +01:00
Kleissner
ec1bfdfac8 webapi: Move download info into api context 2021-12-29 05:41:16 +01:00
Kleissner
f2c344dc96 Major refactoring of the code base into Backend structure. Increase version number to Alpha 6 to prepare for the upcoming release. 2021-12-29 05:29:34 +01:00
Kleissner
ade13d6422 Search results: Immediately (with results) signal if no more results will be available (search terminated). 2021-12-14 17:48:59 +01:00
Kleissner
2806f3abcf Search: support indexing of CamelCase words (breaking them up). 2021-12-14 17:02:15 +01:00
Kleissner
5a89f2b943 Add "webp" file extension as picture. 2021-12-14 16:55:52 +01:00
Kleissner
a67c67b7f9 Fix returned status in /search/result 2021-12-14 16:08:02 +01:00
Kleissner
9262acba88 Search: Support hashtags. Remove # prefix when indexing words. 2021-12-14 15:51:00 +01:00
Kleissner
c053c617c2 Add users blockchain data to the search index and provide it in search results. Updated webapi search and download. 2021-12-14 15:45:03 +01:00
Kleissner
da0a6357de Add config entry for GeoIPDatabase 2021-12-14 14:24:21 +01:00
Kleissner
20a1d45520 webapi: Implement GeoIP. 2021-12-14 03:09:28 +01:00
Kleissner
e41e6820bc Search: Add separator.
webapi: Search results and explore: set tag TagSharedByCount if file owner is active peer.
2021-12-14 02:13:04 +01:00
Kleissner
281622aa49 NodelistLookup function 2021-12-14 02:05:08 +01:00
Kleissner
ced9574e5e webapi: Live download implementation. 2021-12-14 01:27:04 +01:00
Kleissner
b3f1293f3c UDT: closing messageOut results into too fast closing. Don't close it for now as an ugly bush fix. 2021-12-14 01:20:16 +01:00
Kleissner
10e5213944 UDT: Fix the close problem: Have a regular Close() function that may be called after reading/writing is done, and a Terminate() function that can be called anytime. 2021-12-13 22:52:42 +01:00
Kleissner
f18e651f40 webapi: /file/view add parameter 'nocache' to force download from remote peer. This is useful for testing purposes. 2021-12-13 16:52:13 +01:00
Kleissner
cab881ebdb webapi: Add option for some URLs to accept the API key in the parameter, instead of the "x-api-key" HTTP header. By default add /file/read and /file/view.
This allows embedding the URLs into existing code that may not be able to set the special HTTP header.
2021-12-13 16:49:56 +01:00