Vladimir Golovnev
b3e9c46eff
Don't miss saving "download path" in SQLite storage
...
PR #18844 .
Closes #18842 .
2023-04-13 06:18:09 +03:00
Chocobo1
77411760a0
Expose 'socket send/receive buffer size' options
...
Closes #18794 .
2023-04-05 18:11:13 +08:00
Vladimir Golovnev
8bcac1bed2
Reduce default file pool size
...
PR #18734 .
2023-03-21 08:39:06 +03:00
Vladimir Golovnev
cdded6cef7
Add (experimental) I2P support
...
PR #18717 .
Closes #16257 .
2023-03-21 08:33:46 +03:00
Chocobo1
a450a7c6e1
Delegate string hashing to standard library
...
Since standard library could have platform dependent specialized hashing functions.
Also the main idea is to let `qHash` handle whatever integer type `std::hash` returns and mix it with `seed` accordingly.
PR #18715 .
2023-03-18 14:09:35 +08:00
Vladimir Golovnev
989b1e6c2c
Improve finished torrent handling
...
PR #18704 .
Closes #18694 .
2023-03-16 09:45:49 +03:00
Vladimir Golovnev
9ef23d524d
Prevent incorrect log message about torrent content deletion
...
PR #18692 .
Closes #18689 .
2023-03-16 09:40:21 +03:00
Vladimir Golovnev
ee6f699b48
Apply adjacent changes within single transaction
...
PR #18635 .
2023-03-04 08:46:19 +03:00
Vladimir Golovnev
ce9bdaef5c
Correctly check for database needs to be updated
...
* Correctly check for database needs to be updated
* Create index only if not exists
* Double check whether database needs to be updated
PR #18638 .
2023-03-02 20:31:38 +03:00
Vladimir Golovnev
c51aa2d573
Index torrents table by queue position
...
PR #18623 .
2023-02-28 08:57:51 +03:00
Vladimir Golovnev
f5b5312cf0
Merge pull request #18528 from glassez/proxy
...
Allow to use proxy per subsystem
2023-02-27 20:34:51 +03:00
Vladimir Golovnev
2f9b313287
Perform own tracking of files progress
...
PR #18597 .
2023-02-26 14:44:58 +03:00
Vladimir Golovnev (Glassez)
cbf591a8b5
Improve SOCKS5 error messages
2023-02-26 14:27:59 +03:00
Vladimir Golovnev (Glassez)
96da685e5d
Expand the scope of "Proxy hostname lookup" option
2023-02-26 14:27:59 +03:00
Vladimir Golovnev (Glassez)
6ac14d0c57
Allow to use proxy per subsystem
2023-02-26 14:27:41 +03:00
Vladimir Golovnev (Glassez)
4745a40f0b
Allow to specify proxy option per request
2023-02-25 17:30:26 +03:00
Hanabishi
d75fd3fcde
Show filtered port numbers in logs
...
PR #18544 .
2023-02-18 08:14:27 +03:00
Vladimir Golovnev
9fb9ca47f6
Update the cached state once recheck is started
...
We have to force update the cached state, otherwise someone will be able to get an incorrect one during the interval until the cached state is updated in a regular way.
PR #18579 .
Closes #18559 .
2023-02-17 07:12:56 +03:00
Vladimir Golovnev
1e913f46f0
Rename isSeed to isFinished to correctly represent its meaning
...
PR #18580 .
2023-02-17 07:08:00 +03:00
Vladimir Golovnev
4c0ebc0e0f
Access some more data in a non-blocking manner
...
* Cache URL seeds to access in a non-blocking manner
* Provide non-blocking way to create magnet URI for torrent
PR #18572 .
2023-02-16 08:49:16 +03:00
Vladimir Golovnev
7600f59f3a
Prevent precise timers from being used when unnecessary
...
The implementation of QTimer::singleShot() uses Qt::PreciseTimer if interval is less than 2 seconds. This isn't mentioned in the docs.
Qt::PreciseTimer increases the system's timer resolution which negatively affects power consumption.
PR #18555 .
Closes #18350 .
2023-02-14 08:26:08 +03:00
Vladimir Golovnev
1be5b3abd8
Revamp torrent content widget
...
PR #18162 .
2023-02-11 15:22:01 +03:00
Vladimir Golovnev
d06f78dbbd
Improve sync API performance
...
PR #18394 .
2023-02-10 17:16:46 +03:00
Vladimir Golovnev
5d4766edbe
Allow to add new torrents to queue top
...
PR #18518 .
Closes #11599 .
2023-02-10 17:15:41 +03:00
Vladimir Golovnev
7227d2b2b2
Revert changes of conflict resolution strategy on automatic move
...
PR #18516 .
Closes #18297 .
Closes #18495 .
2023-02-05 09:29:43 +03:00
Vladimir Golovnev
09e58df03f
Don't increase limits when prefetching metadata for added magnets
...
Adjusting limits was made based on the belief that "forced" torrents (internally used for prefetching metadata)
are still under limits, but ignore only the queue. This is not really the case. "Forced" torrents ignore the limits
like "maximum active torrents/downloads", so adjusting limits is not required, and what's more, it really causes the
problem of unexpectedly activated previously queued torrents when adding some magnet using "Add new torrent" dialog.
PR #18503 .
Fixes #18490 .
2023-02-02 06:16:32 +03:00
Vladimir Golovnev
2b20d5b260
Fix startup performance on Qt5
...
Use more appropriate container (QList) for resume data queue buffer.
QVector in Qt5 has poor performance of the first element taking operation,
which is used to process the resume data queue. In Qt6, QVector is just an
alias for QList, so there was no problem there.
PR #18387 .
Fixes #18341 .
2023-01-16 14:45:12 +03:00
Vladimir Golovnev
719e4afd8c
Remove confusing helpers from Session interface
...
Such helpers do not make practical sense, since they can be trivially implemented on top of the base interface, but at the same time they can lead to undesirable consequences when some calling code requires slightly different behavior than another.
PR #18367 .
Fixes #18338 .
2023-01-16 14:43:36 +03:00
Vladimir Golovnev
594f9e8632
Use "additional trackers" when metadata retrieving
...
This can help when the DHT nodes are few.
PR #18251 .
Closes #18244 .
2022-12-22 08:21:29 +03:00
Vladimir Golovnev
84fabf14c8
Merge pull request #18034 from glassez/fetch-async
...
Fetch data asynchronously
2022-12-15 06:59:29 +03:00
Vladimir Golovnev
0ec47db9cd
Don't drop !qB extension when rename incomplete file
...
PR #18186 .
Closes #18181 .
2022-12-15 06:57:07 +03:00
Vladimir Golovnev (Glassez)
40258f6a2f
Stop async worker at correct place
2022-12-14 10:42:40 +03:00
Vladimir Golovnev (Glassez)
b335114219
Use better method to set bit
2022-12-14 10:41:04 +03:00
Vladimir Golovnev (Glassez)
998b08f5d8
Set metadata asynchronously
2022-12-14 10:41:04 +03:00
Vladimir Golovnev (Glassez)
991c30943a
Allow to fetch data asynchronously
2022-12-14 10:41:04 +03:00
Vladimir Golovnev
ac3ad17a9e
Ensure thread is stopped before deleting QThread
...
PR #18037 .
2022-12-08 08:37:14 +03:00
Vladimir Golovnev
1b2ff0f6f8
Handle tracker status updates asynchronously
...
* Add a helper for performing jobs in Session context
* Handle tracker status updates asynchronously
PR #18010 .
2022-11-30 09:54:30 +03:00
Vladimir Golovnev
a31755bbc8
Switch SQLite to use WAL journaling mode
...
PR #18048 .
2022-11-30 09:50:26 +03:00
Vladimir Golovnev
1cee69da6c
Don't miss to store metadata of new torrent
...
PR #18033 .
2022-11-19 13:33:38 +03:00
Vladimir Golovnev (Glassez)
3563bad5fc
Revamp implementation of port forwarder
2022-11-14 08:28:35 +03:00
Vladimir Golovnev (Glassez)
1f3f96f7aa
Set metadata asynchronously
2022-11-14 08:27:01 +03:00
Vladimir Golovnev (Glassez)
7022adb89b
Change current IP filter asynchronously
2022-11-14 08:26:49 +03:00
Vladimir Golovnev (Glassez)
bac57de5f5
Update listening status using native session extension
2022-11-14 08:22:12 +03:00
Vladimir Golovnev
dcdbd02102
Delete database file only after it is released
...
PR #18005 .
2022-11-13 08:27:48 +03:00
Vladimir Golovnev
b68c4e2106
Save correct resume data when added new torrent
...
PR #18003 .
2022-11-13 08:26:25 +03:00
Vladimir Golovnev
f9eefe866c
Merge pull request #17992 from glassez/preloading-magnet
...
Improve handling of preloading metadata.
This also allows to avoid blocking calls when performing some actions.
2022-11-10 19:22:20 +03:00
Chocobo1
d328eeb5be
Merge pull request #17980 from Chocobo1/model
...
Reserve space before appending elements
2022-11-10 17:24:17 +08:00
Chocobo1
d90ea0d3be
Move increment out of loop
2022-11-10 17:18:28 +08:00
Vladimir Golovnev
6c9c40fd7c
Avoid blocking call when changing libtorrent session settings
...
We don't really need to get currently used settings pack in order to apply changes to session settings. It is enough to apply settings pack that contains only updated settings.
PR #17989 .
2022-11-09 08:02:34 +03:00
Vladimir Golovnev (Glassez)
6aee7f95b7
Add torrent for preloading magnet asynchronously
2022-11-08 08:29:16 +03:00