Commit graph

44 commits

Author SHA1 Message Date
Igor Katson
3398babba9 Mmap custom storage example 2024-05-02 12:29:46 +04:00
Igor Katson
cd33f99352 Move files around a bit 2024-05-02 12:29:46 +04:00
Igor Katson
6c3dfbc52f Add storage example 2024-05-02 12:29:46 +04:00
Igor Katson
1b49257019 Storages 2024-05-02 12:29:46 +04:00
Igor Katson
7c83240a1a
Fix merging DHT and tracker streams 2024-04-29 13:57:29 +01:00
Igor Katson
3d46d7cb97
Fix clippy lints related to recent bug 2024-04-24 14:19:04 +01:00
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
2fb3da9dc5
Update rust-cache to v2 in github tests to make it faster (#113) 2024-04-05 10:52:27 +01: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
a6ebecee97
Report size to trackers 2024-03-01 07:54:27 +00:00
Igor Katson
15c078619c
Compile times are even worse now 2024-02-26 22:41:36 +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
d5d98aff60
Extract ReadBuf logic into a separate struct 2024-01-02 18:36:07 +00:00
Igor Katson
fc28e18ffd
Try to increase limits on start 2023-12-17 13:01:59 +00:00
Igor Katson
2017c5ec94
Add an HTTP API endpoint + UI widgets to stream logs (#49)
* Added JSON logs to Desktop

* Move logging config into librqbit for reuse

* Log printer now available in both Desktop and Web UI

* Fix JS type error
2023-12-09 00:26:14 +00:00
Igor Katson
9385524a1a
Desktop: button to show a modal with logs (#48)
* Add an endpoint to stream logs /stream_logs
* Display logs in desktop app
* UI component to stream logs
2023-12-08 19:47:48 +00:00
Igor Katson
2d43f41664
Desktop: run HTTP API, show version 2023-12-06 12:14:26 +00:00
Igor Katson
006d83d6a7
Update docs, cleanup for 4.0.0 release 2023-12-03 12:14:50 +00:00
Igor Katson
e9d4dc4e3a
Made Api struct public 2023-12-02 15:19:05 +00:00
Igor Katson
137d12cb9c
Tweak some things so that we can embed Web UI into Tauri 2023-12-02 12:48:03 +00:00
Igor Katson
1bea1f9235
Better API for stats printing 2023-11-25 10:11:40 +00:00
Igor Katson
739666ff88
HUGE REFACTOR to suppor multiple states. Incomplete, broken 2023-11-24 09:30:21 +00:00
Igor Katson
edaf3e0997
split up librqbit torrent state into smaller files 2023-11-23 16:27:55 +00:00
Igor Katson
48a14823fa
Changed log to tracing 2023-11-19 13:05:42 +00:00
Igor Katson
8b621059c1
Reorder code in http_api 2022-12-08 15:56:09 +00:00
Igor Katson
a8efcfdd26 Completely change the CLI so that we have a server and a client. 2021-10-22 21:01:23 +01:00
Igor Katson
1667efdaa7 Start refactoring code to support running in background and adding multiple torrents 2021-10-09 15:03:42 +01:00
Igor Katson
6eef3b9b66 A small refactor 2021-07-12 21:59:08 +01:00
Igor Katson
ad867e8e3c Move everything to workspaces 2021-07-03 19:10:59 +01:00
Igor Katson
2061fe56bb The sucker now works with dht too! Albeit hacky JS one, but still! 2021-07-03 15:22:17 +01:00
Igor Katson
897517521e Peer info reader done 2021-07-03 00:22:46 +01:00
Igor Katson
1f299247d2 Abstract away peer handler 2021-07-02 10:12:48 +01:00
Igor Katson
5f60f9e1b4 Make a serde bencode serializer 2021-07-01 23:37:57 +01:00
Igor Katson
47966e094c Add speed estimator 2021-06-30 23:26:22 +01:00
Igor Katson
a3e84e4a99 Add http api for debugging 2021-06-30 10:14:33 +01:00
Igor Katson
34dd074310 Openssl + a bunch of other refactorings 2021-06-28 20:40:13 +01:00
Igor Katson
a799ff1219 Move all file operatiosn into a separate file 2021-06-28 15:17:57 +01:00
Igor Katson
e0ffb3afe1 File ops moved out 2021-06-28 15:10:28 +01:00
Igor Katson
1e478aabac Move peer state to a separate file 2021-06-28 14:23:28 +01:00
Igor Katson
0d85eb9f2a Split the huge torrent manager into 3 classes. All public access members but ok for the start 2021-06-28 12:30:23 +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
87d6fe27ce Initial commit 2021-06-25 13:47:51 +01:00