Commit graph

330 commits

Author SHA1 Message Date
Igor Katson
deee41cd93
Box<[u8]> instead of Vec<u8> for ByteBufOwned 2024-03-29 11:00:58 +00:00
Matt Joiner
b184354c2f
Make the announce info field optional 2024-03-24 18:27:08 +11:00
Igor Katson
56527ae8d7
Bump all e2e test timeouts 3x 2024-03-05 02:00:43 -08:00
Igor Katson
25cd3c75cc
Tests now compile but take too long on github actions 2024-03-05 01:53:41 -08:00
Igor Katson
b8611fdaf4
Fix compilation on win 2024-03-05 01:40:54 -08:00
Igor Katson
2778d46bb3
End-to-end unit test (#90)
* First implementation of create_torrent_file

* Test harness for e2e preparing

* Saving

* Continuing test harness

* Continuing test harness

* Continuing test harness

* All servers are running

* Full e2e harness done

* Test e2e harness working fine

* Remove lints

* injecting faults

* The e2e test runs continuously

* e2e test

* Add a test for create_torrent

* Nothing

* Nothing, just tweaking the numberes

* Update tokio, remove custom tempfile shim
2024-03-05 09:18:22 +00:00
Igor Katson
5d6ecb8065
Tiny refactor for stream types 2024-03-02 11:18:38 +00:00
Igor Katson
466cad06e0
Make a stream merging function 2024-03-02 11:12:08 +00:00
Igor Katson
3a1d0c3ac9
Tiny refactor: simplify a few methods by removing initial_peers propagated too deep down 2024-03-02 10:57:32 +00:00
Igor Katson
a6ebecee97
Report size to trackers 2024-03-01 07:54:27 +00:00
Igor Katson
5488e1d40f
Split up a couple large functions 2024-02-28 20:27:45 +00:00
Igor Katson
340d54eafa
tiny: do not announce if starting paused 2024-02-28 20:06:02 +00:00
Igor Katson
a001bb8c97
Shorten Pin<Box to BoxFuture 2024-02-27 08:14:39 +00:00
Igor Katson
34f3ec6c29
Inline(never) more things for rqbit(bin) to compile faster 2024-02-26 23:08:47 +00:00
Igor Katson
f42007f436
This one makes it better for sure 2024-02-26 22:59:54 +00:00
Igor Katson
15d17355b5
Async http server. Even slower 2024-02-26 22:52:53 +00:00
Igor Katson
15c078619c
Compile times are even worse now 2024-02-26 22:41:36 +00:00
Igor Katson
18f22cf323
Simplify cancellation as peer_rx doesnt need a token no longer 2024-02-26 20:45:21 +00:00
Igor Katson
d3f017430b
Comment updates 2024-02-26 09:57:09 +00:00
Igor Katson
70c59834ba
Simplify the trait for tracker comms 2024-02-26 09:47:46 +00:00
Igor Katson
b30ee13388
Logging for UDP trackers 2024-02-26 09:42:06 +00:00
Igor Katson
e263441fb6
Better cancellation 2024-02-26 09:25:01 +00:00
Igor Katson
51dba8ab67
Remove unused field 2024-02-26 08:55:53 +00:00
Igor Katson
3a7207265f
Make force_tracker_interval be used again 2024-02-18 20:21:12 +00:00
Igor Katson
76b7d23149
Clippy 2024-02-18 20:16:18 +00:00
Igor Katson
f5ccb8632b
Cancellation... It compiles now at least with latest changes, but not sure if they work or are correct 2024-02-18 20:11:12 +00:00
Igor Katson
1582d16cc5
Fix unpause 2024-02-17 21:13:57 +00:00
Igor Katson
95769cca6a
Start calling trackers before going live 2024-02-17 11:14:40 +00:00
Igor Katson
8733538d83
Abstracting tracker comms 2024-02-17 10:51:09 +00:00
Igor Katson
6f3383050e
Implement ser/de for UDP tracker protocol 2024-02-11 12:12:37 +00:00
Igor Katson
5ff88dcad2
Merge pull request #76 from ikatson/fix-66
Fix for #66
2024-01-21 11:06:49 +00:00
Igor Katson
2a60ff2a7f
Remove "previously_requested_pieces"
In https://github.com/ikatson/rqbit/issues/66 from a posted stacktrace
it became clear that setting previously_requested_pieces may panic.

I found a place where it was not initialized - in "on_have" callback.

I wanted to fix that + make it less error-prone, however noticed that
previously_requested_pieces isn't used at all anyway, because its use
was removed during one of the recent refactorings.

As things seem to be working fine without it, just removed it to simplify
code.
2024-01-21 10:58:59 +00:00
Igor Katson
c8189de3d2
Merge pull request #72 from jabedude/bep52-magnet-support
Add support for BTv2 magnet links
2024-01-08 11:27:27 +00:00
Joshua Abraham
0836b651a7 Add support for BTv2 magnet links 2024-01-07 20:57:10 -06:00
Igor Katson
b289f1eeaa
Fix file selection window on Windows that didnt split file with proper separator 2024-01-03 14:36:16 +00:00
Igor Katson
b808382169
Fix a bug when remarking already have pieces broken 2024-01-02 18:52:00 +00:00
Igor Katson
8ee98548f5
A tiny optimisation to not memcpy the buffer as often if we have many messages already buffered 2024-01-02 18:36:07 +00:00
Igor Katson
d5d98aff60
Extract ReadBuf logic into a separate struct 2024-01-02 18:36:07 +00:00
Igor Katson
09252c0397
Remove "read_one" macro 2024-01-02 18:36:07 +00:00
Igor Katson
dfdb6b5fae
Do not ignore errors in reserve_next_needed_piece() 2024-01-02 18:16:16 +00:00
Igor Katson
8cdf44c4fd
Make final stealing less aggressive 2023-12-30 18:27:19 -05:00
Igor Katson
5d4ffae6de
When stealing pieces, only steal from slower peers 2023-12-30 18:27:19 -05:00
Igor Katson
1e525eb91e
Move per-peer piece stats into methods 2023-12-30 18:27:19 -05:00
Igor Katson
fc28e18ffd
Try to increase limits on start 2023-12-17 13:01:59 +00:00
Igor Katson
55f3b23eed
Cors: more finegrained allowlist, make it simpler 2023-12-17 10:25:56 +00:00
Igor Katson
f49346c151
Re-use the open file when logging to file 2023-12-16 18:40:37 +00:00
Igor Katson
1758af98a0
Ignore a test 2023-12-16 11:15:42 +00:00
Igor Katson
325855ba56
Fix only files not working properly (#59)
* 1/n fixing only files - tracking stats better

* 2/n proper tracking of stats when only certain files selected
2023-12-14 11:58:09 +00:00
Igor Katson
50fc7f2f01
Rewrite all styles to tailwind CSS from Bootstrap by @arccik (#58)
* add tailwindcss

* add header component with logo and add torrent buttons

* remove bootstrap from few files replace it with tailwindcss classes, add card which diplay all nessesarry information about torrent and current state

* Add modal component and reorganize components folder

* add useModal hook to render modal though react portal, remove UrlPromptModal and replace it with useModal.

* add taliwindcss to Desctop app

* removed bootstrap from deleteTorrentModal replace it with useModal

* replacing bootstrap with useModal

* saving

* Saving

* Header and cards now look good

* Modals still broken...

* still doesnt work

* Finally it scrolls

* Continuing to fix bugs

* Continuing to fix bugs

* Aler

* Getting better

* Desktop doesnt work with tailwind somehow

* Desktop now works with tailwind

* Styles fully work

* (De)select all buttons

* fix alert styles

* Animate progress bar

* Progress bar + error colors

* Fix error message

* Torrent status icon (#56)

* add statusIcon component to display icon of the torrent status

* change props name and remove isDownloading variable

* Tweak styles for icon

* Tweak styles

* Update styles

---------

Co-authored-by: Artur Lozovski <arccik@gmail.com>
2023-12-14 10:37:29 +00:00
Igor Katson
37f295cb95
Add a message when log channel is lagged 2023-12-09 14:03:42 +00:00