Commit graph

50 commits

Author SHA1 Message Date
Igor Katson
5eb01ac226
Ability to change the list of files at any time, including through UI (#115)
* Now can update the list of files without pausing/unpausing

* Shrink a few functions

* Reopen write when updating files

* Todos

* opened_file abstraction

* iter_pieces_within iterator

* Simplify iter_pieces_within

* Simplify iter_pieces_within

* Add "iter_file_details"

* temporarily broken: readonly by default

* Live torrent - reopen files

* Reopen files after changing the list

* Now reopening files read only when they are completed

* Fix a bug in opened_file.rs

* update todos

* update help

* Reconnect all peers that are idling

* Add a couple fields to OpenedFile

* Add a couple fields to OpenedFile

* Small cleanups - use the new iterator where possible

* size_of_piece_in_file function

* Updating have

* Include file progress

* Almost nothing

* ugly progress bars

* bad UI, saving

* its not so bad

* Works now

* update progress bar a bit

* Reopen read-only on pause

* Zero bytes isnt too bad! Doesnt break anything

* fix per file progress bars

* progress bar not as ugly anymore?

* ui tweaks

* fix a react bug

* TODO.md update

* Fix js + TODOs

* Compute per-file progress on init

* Fix stats updating live

* Nothing

* Nothing

* cleanup ui a bit

* Nothing

* Final fixes

* Trying to fix rust 1.73

* Sorting filenames

* remove unnecessary indentation

* Remove unnecessary comment
2024-04-06 09:20:03 +01:00
Igor Katson
f7b22aa0aa Comments 2024-03-30 20:46:29 +00:00
Igor Katson
5c90e0cdd9 Fix a broken terst 2024-03-30 20:46:29 +00:00
Igor Katson
feae1789a9 Remove dbg! 2024-03-30 20:46:29 +00:00
Igor Katson
51d1a0b0c7 Jeez... 2024-03-30 20:46:29 +00:00
Igor Katson
efcffdd072 Well, it doesnt crash at least 2024-03-30 20:46:29 +00:00
Igor Katson
276a1e175e Add a method to update_only_files to chunk_tracker 2024-03-30 20:46:29 +00:00
Igor Katson
6b8336e2f6 chunks status computed from "have" 2024-03-30 20:22:04 +00:00
Igor Katson
f8c2bdc781 Rewrite compute_chunk_status a bit 2024-03-30 20:22:04 +00:00
Igor Katson
106511f923 A few more tests 2024-03-30 20:22:04 +00:00
Igor Katson
8f3cd291b0 Improve error messages 2024-03-30 20:22:04 +00:00
Igor Katson
70c730a2d3 add tests for compute_chunk_status 2024-03-30 20:22:04 +00:00
Igor Katson
2972b0c87b Remove a redundant method 2024-03-30 20:22:04 +00:00
Igor Katson
3e2fac81b1 Trying to check / simplify / improve math 2024-03-30 20:22:04 +00:00
Igor Katson
9722dd8cb7 Fewer unwraps 2024-03-30 20:22:04 +00:00
Igor Katson
fa05fe8376
Box<[u8]> instead of Vec<u8> for ByteBufOwned 2024-03-29 13:44:10 +00:00
Igor Katson
f42de46878
Revert "Box<[u8]> instead of Vec<u8> for ByteBufOwned"
This reverts commit deee41cd93.
2024-03-29 13:00:57 +00:00
Igor Katson
deee41cd93
Box<[u8]> instead of Vec<u8> for ByteBufOwned 2024-03-29 11:00:58 +00: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
b808382169
Fix a bug when remarking already have pieces broken 2024-01-02 18:52:00 +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
21b644e394
Workaround a crash in dev mode 2023-12-02 13:01:50 +00:00
Igor Katson
79bd41a552
Can now reload RUST_LOG at runtime from HTTP API 2023-11-25 01:24:57 +00:00
Igor Katson
fa97dedb98
Seems alright now 2023-11-25 00:54:21 +00:00
Igor Katson
66d2f224ed
Switch UI to display statuses better 2023-11-24 15:36:37 +00:00
Igor Katson
afbf2a76b9
Should be working ok now 2023-11-24 14:08:02 +00:00
Igor Katson
d8538af25d
[2/n] HUGE REFACTOR to suppor multiple states. Incomplete, broken 2023-11-24 12:44:36 +00:00
Igor Katson
f45a15c89a
Downgrade visibility within librqbit 2023-11-23 16:57:27 +00:00
Igor Katson
2695a8ec26
Preventively fixed other race conditions 2023-11-20 10:14:08 +00:00
Igor Katson
48a14823fa
Changed log to tracing 2023-11-19 13:05:42 +00:00
Cyril Plisko
548fd695d4 clippy::manual_next_back 2023-08-08 11:13:48 +03:00
Igor Katson
a800048b7e
Added --exit-on-download option, only works without the server so far 2023-07-10 11:26:09 +01:00
Igor Katson
ae847ce99c
Upgrade deps 2022-12-04 13:12:23 +00:00
Igor Katson
3a64254971 Fix a couple bugs.
1. Bug one - last_piece_id when only_files is present.
2. Bug two - do not ensure_file_length for files we don't need.
2021-10-18 16:16:42 +01:00
Igor Katson
5de63af783 Prioritize last piece. Dont ask me why :) 2021-10-16 13:18:25 +01:00
Igor Katson
ad867e8e3c Move everything to workspaces 2021-07-03 19:10:59 +01:00
Igor Katson
d722f0edcb Remove all linter warnings 2021-07-02 10:21:19 +01:00
Igor Katson
1cb7a7bbc6 Enable elapsed stats calculation and slow piece stealing 2021-06-30 00:32:38 +01:00
Igor Katson
b26af687b7 Check the chunk before uploading 2021-06-28 22:21:21 +01:00
Igor Katson
14b62b45c5 Downloading chunks now does not copy the chunks, but writes them straight to disk. (Still reads into a buffer first though, but does not allocate on every chunk) 2021-06-28 16:37:15 +01:00
Igor Katson
bde18ab734 Refactor 2021-06-28 11:36:47 +01:00
Igor Katson
205ce3265a Rename 2021-06-28 11:29:20 +01:00
Igor Katson
efaa96a9b5 Something broke computation of initial checks 2021-06-27 11:01:41 +01:00
Igor Katson
5c092389f9 saving 2021-06-27 10:10:59 +01:00
Igor Katson
0f431621b9 It sort of works... Peers are still disconnecting somehow 2021-06-26 21:00:17 +01:00
Igor Katson
34ea225560 Updating 2021-06-26 18:13:46 +01:00
Igor Katson
2b768a5505 Nothing (almost) 2021-06-26 17:32:17 +01:00
Igor Katson
7ed532ae52 Bugs fixed 2021-06-26 17:29:59 +01:00
Igor Katson
e1354e8a85 Something horribly broken. But added downloading 2021-06-26 00:32:52 +01:00
Igor Katson
87d6fe27ce Initial commit 2021-06-25 13:47:51 +01:00