Charles Kerr
44e30bf092
perf: avoid excess filesystem checks ( #2786 )
2022-03-18 16:31:25 -05:00
Charles Kerr
22499c677a
refactor: aggregate bandwidth objects ( #2783 )
2022-03-18 11:34:29 -05:00
Matan Ziv-Av
c07bac4e19
Limit bandwidth used by a group of torrents ( #2761 )
...
* Add support for bandwidth groups. i.e. Bandwidth limit for a (user specified) group of torrents,
2022-03-18 08:11:59 -05:00
Charles Kerr
fa8aaf7631
refactor: remove remaining vararg log messages ( #2776 )
2022-03-17 17:39:06 -05:00
Charles Kerr
5df252d1e1
fix: calculate ratio as uploaded / sizeWhenDone ( #2770 )
2022-03-17 13:41:48 -05:00
Charles Kerr
d2f8e1d4e0
refactor: set logging levels ( #2755 )
2022-03-11 15:09:22 -06:00
SweetPPro
943b57979f
support for resuming magnet links ( #2702 )
...
* support for resuming magnet links
magnet links are now saved as a text file the `Torrents` folder as `.magnet` files.
2022-02-24 15:52:29 -06:00
Charles Kerr
13ad2b58dc
refactor: always use a blocksize of 16 KB ( #2694 )
...
Fixes #99 .
2022-02-23 14:25:06 -06:00
Charles Kerr
7238724318
refactor: webseed ( #2689 )
...
* refactor: reduce nested conditional webseed logic
* refactor: use tr_block_info::Location in webseed
* request larger chunks at a time from webseeds
* fix: CURLOPT_MAXREDIRS to safeguard against loops
Discussion at https://trac.transmissionbt.com/ticket/6110 .
Reported by @x190 and @cfpp2p a few years back.
2022-02-23 07:38:18 -06:00
Charles Kerr
78ad90a4c5
refactor: use tr_block_info::Location in inout.cc ( #2658 )
2022-02-19 10:07:08 -06:00
Charles Kerr
f88f3c4b03
Feat: add tr_block_info::Location ( #2649 )
2022-02-18 17:17:19 -06:00
Charles Kerr
02b6cc76d1
feat: add tr_torrentSetTrackerList(), tr_torrentGetTrackerList() ( #2642 )
...
Add a getter/setter for torrent announce URLs as text that can be copied
and pasted: one URL per line, with a blank line between tiers.
C API: tr_torrentGetTrackerList() and tr_torrentSetTrackerList()
RPC APi: `trackerList` in `torrent-get` and `torrent-set`.
This deprecates `trackerAdd`, `trackerRemove`, and `trackerEdit`
from the RPC API.
2022-02-18 11:52:01 -06:00
LaserEyess
5565255d85
add labels to torrent-add rpc method ( #2539 )
...
This commit adds labels to the torrent-add method, allowing RPC users to
specify labels when adding a torrent. Labels metadata is commonly known
when adding torrents, so this removes the need to send another
torrent-set call to add labels.
Additionally, transmission-remote is updated to handle labels in
torrent-add.
Co-authored-by: LaserEyess <LaserEyess@users.noreply.github.com>
2022-02-03 00:02:30 -06:00
Charles Kerr
26bb9f3440
fix: sonarcloud code smells ( #2486 )
2022-01-23 18:53:35 -06:00
Charles Kerr
b45c831bcb
refactor: use C++ objects in announcer ( #2474 )
2022-01-22 23:41:01 -06:00
Charles Kerr
df1cca9b57
chore: update copyright years, make notices consistent ( #2463 )
2022-01-20 12:27:56 -06:00
Charles Kerr
8d75736ad1
fix: empty torrent filename ( #2435 )
...
fix torrents readded due to unremoved cfg files.
2022-01-17 23:14:00 -06:00
Charles Kerr
aa2183c9c5
fix: torrents readded due to unremoved cfg files ( #2433 )
...
Fixes #2430 .
When removing a torrent, try to remove config filenames under both old
and new filename formats. This prevents torrents from being incorrectly
re-added when old-format files aren't removed.
2022-01-17 20:36:41 -06:00
Charles Kerr
db23ca4c6b
refactor: replace tr_info with tr_torrent_metainfo ( #2397 )
...
* refactor: replace tr_info with tr_torrent_metafo
2022-01-15 13:33:57 -06:00
Charles Kerr
b0ee4007ff
refactor: include cleanups ( #2392 )
...
* refactor: include <memory> when using shared_ptr or unique_ptr
* refactor: include <cstdio> iff we use it
* refactor: include <cstring> iff we use it
* refactor: include <cstdlib> iff we use it
* refactor: include <string_view> or <string> iff we use it
* refactor: include <array> iff we use it
* refactor: include <ctime> iff we use it
* refactor: include <cctype> iff we use it
* refactor: misc #include cleanups in libtransmission
2022-01-12 20:13:58 -06:00
Charles Kerr
dfc06fe918
refactor: use std::vector in tr_info ( #2386 )
2022-01-09 10:55:09 -06:00
Charles Kerr
49f2823d6f
refactor: use std::string in tr_info ( #2384 )
2022-01-08 17:41:05 -06:00
Charles Kerr
79d244db82
refactor: rename tr_torrent.infoDictSize() ( #2383 )
2022-01-08 14:05:38 -06:00
Charles Kerr
8b65b660c8
refactor: use std::string in tr_file ( #2382 )
2022-01-08 12:53:35 -06:00
Charles Kerr
385a119fb1
refactor: make tr_torrent aggregates tr_block_info instead of subclassing ( #2376 )
2022-01-07 13:13:37 -06:00
Charles Kerr
a5c6168805
refactor: make tr_buildPath() private ( #2374 )
2022-01-02 11:51:59 -06:00
Charles Kerr
eafbf59832
refactor: avoid referencing tr_file struct directly ( #2373 )
2022-01-01 19:25:25 -06:00
Charles Kerr
6149870540
refactor: remove tr_file.priv ( #2349 )
2021-12-26 16:04:20 -06:00
Charles Kerr
af183b1423
chore: remove tr_pieceOffset() ( #2346 )
2021-12-26 11:25:51 -06:00
Charles Kerr
a515c1d94b
refactor: use tr_torrent_metainfo in tr ctor ( #2345 )
2021-12-26 10:25:07 -06:00
Charles Kerr
f3228e9670
refactor: further decouple tr_torrent and tr_info ( #2336 )
2021-12-24 15:12:33 -06:00
Charles Kerr
deee2b043e
refactor: take string_view in tr_loadFile(), tr_saveFile() ( #2335 )
2021-12-24 13:37:34 -06:00
Charles Kerr
33553c5331
refactor: move tr_ioFindFileLocation() to tr_file_piece_manager ( #2334 )
2021-12-24 00:39:55 -06:00
Charles Kerr
dd1379b0b6
refactor: add tr_interned_string ( #2332 )
2021-12-23 11:16:05 -06:00
Charles Kerr
bd68d3a2fd
refactor: use tr_sha1_digest_t everywhere ( #2330 )
2021-12-21 16:14:15 -06:00
Charles Kerr
b9406dfebb
refactor: even more torrent housekeeping ( #2323 )
2021-12-16 22:51:53 -06:00
Charles Kerr
e4a172d39c
fix: sonarcloud ( #2322 )
...
* fix: sonarcloud warning - redundant cast
* fix: sonarcloud warning - init-statement
* fix: sonarcloud warning - init-statement
* fix: sonarcloud warning - move #include to top of file
* fix: sonarcloud warning - implicit conversion loses precision
* fix: sonarcloud warning - confirm safe use of strlen
* fix: sonarcloud warning - refactor code to not nest more than three deep
* iwyu: cstring
* iwyu: algorithm
2021-12-16 16:58:58 -06:00
Charles Kerr
b93f3f0463
refactor: more tr_torrent housekeeping ( #2320 )
2021-12-16 03:43:51 -06:00
Charles Kerr
4ea2429217
refactor: tr_torrent housekeeping ( #2319 )
2021-12-16 02:49:04 -06:00
Charles Kerr
42b1362760
refactor: tidy libtransmission includes ( #2316 )
2021-12-15 15:25:42 -06:00
Charles Kerr
1c848cf174
refactor: add tr_info accessors to tr_torrent ( #2314 )
...
* refactor: add tr_info accessors to tr_torrent
2021-12-15 09:53:20 -06:00
Charles Kerr
d00be0dec7
refactor: tr_torrentIsSeed() -> tr_torrent::isDone() ( #2313 )
2021-12-15 01:04:26 -06:00
Charles Kerr
68518bc307
refactor: make some tr_torrentFoo() methods member functions ( #2312 )
2021-12-14 23:48:56 -06:00
Charles Kerr
1e20d676c1
refactor: make tr_torrentInfo() private ( #2285 )
...
* refactor: make tr_torrentInfo() private
2021-12-14 15:59:44 -06:00
Charles Kerr
656df477f2
refactor: add tr_announce_list ( #2308 )
...
* refactor: add tr_announce_list (#2308 )
2021-12-14 14:59:40 -06:00
Charles Kerr
cec7685a64
refactor: remove unused tr_torrent.dnd_pieces_ ( #2296 )
2021-12-09 20:54:44 -06:00
Charles Kerr
0cedfec630
fixup! refactor: add tr_torrentTrackers() ( #2282 ) ( #2294 )
...
ensure announcer tracker count is correct
2021-12-09 20:03:26 -06:00
Charles Kerr
ab0c49859e
refactor: add tr_torrentTrackers() ( #2282 )
...
* refactor: add tr_torrentTrackers()
2021-12-08 10:55:52 -06:00
Charles Kerr
c46ce2da06
refactor: add tr_torrentWebseed(), tr_torrentWebseedCount() ( #2277 )
...
* refactor: add tr_torrentWebseedCount()
2021-12-07 12:11:28 -06:00
Charles Kerr
5096bbae9b
refactor: add tr_torrent::file() ( #2274 )
...
* refactor: add tr_torrent::fileCount()
2021-12-06 22:18:17 -06:00