Yat Ho
88fe76781c
perf: connectable pool housekeeping ( #6111 )
2023-10-19 13:05:19 -05:00
Charles Kerr
0c3f65e1c6
fix: FTBFS on FreeBSD with clang 14 ( #6110 )
2023-10-16 19:39:14 -05:00
Yat Ho
6cec60f1fb
refactor: store outgoing handshake in tr_peer_info
objects ( #6103 )
2023-10-14 12:58:15 -05:00
Yat Ho
5808f72f50
fix: assertion failed: port_empty in tr_swarm::remove_peer()
( #6062 )
2023-10-02 11:57:48 -05:00
Yat Ho
cfa26d0da8
chore: more specific peer error log ( #6029 )
2023-10-01 10:43:17 -05:00
Yat Ho
85a120faea
feat: add preferred-transport
to settings.json ( #5939 )
2023-09-15 20:23:34 -05:00
luzpaz
3be0d728dd
Fix typos ( #5980 )
2023-09-10 22:31:49 -05:00
Yat Ho
d566695b33
fix: always move duplicate peer_info to graveyard pool ( #5941 )
2023-09-10 21:12:11 -05:00
Yat Ho
eea7d4d886
refactor: re-organise net.h
member functions ( #5878 )
2023-08-17 22:13:01 -05:00
tearfur
449549c84f
fix: do not mark peer as not connectable when we are currently connected ( #5889 )
2023-08-14 16:46:09 -05:00
tearfur
0c7992baa2
fix: cover all pex disabled cases in get_peer_candidate()
( #5806 )
2023-08-14 09:56:43 -05:00
tearfur
72f604dbf8
fixup! perf: improve sorting performance in tr_peerMgrGetPeers()
( #5807 )
2023-08-13 22:02:11 -05:00
tearfur
a2849219f7
feat: split connectable and non-connectable pool ( #5801 )
2023-08-01 09:56:26 -05:00
tearfur
f758cb3597
refactor: avoid code duplication ( #5793 )
2023-07-17 08:56:57 -05:00
tearfur
01f25b030c
perf: improve sorting performance in tr_peerMgrGetPeers()
( #5792 )
2023-07-15 08:18:37 -05:00
Charles Kerr
32af004248
perf: reuse the vector in receonnectPulse(). ( #5788 )
2023-07-14 17:46:10 -05:00
Charles Kerr
c867f00153
refactor: replace peer_atom
with tr_peer_info
( #5773 )
2023-07-14 07:06:25 -05:00
tearfur
2ec19e694d
chore: minor code cleanup ( #5760 )
2023-07-13 09:10:43 -05:00
Charles Kerr
a9a6e54858
refactor: make tr_socket_address a class ( #5772 )
2023-07-12 17:29:47 -05:00
Charles Kerr
bc562eb9a5
perf: avoid atom lookup in tr_peerMgrSetUtpSupported() ( #5766 )
2023-07-12 10:10:20 -05:00
tearfur
78367c098f
perf: use std::unordered_map
for tr_swarm.pool
and Handshakes ( #5740 )
2023-07-11 11:57:29 -05:00
Charles Kerr
8169d524ea
feat: do not auto-disconnect when a known seed initiates a connection and we are seeding ( #5756 )
2023-07-08 14:27:31 -05:00
tearfur
8e822a3cbb
perf: avoid copying/moving elements in peer candidate list ( #5755 )
2023-07-08 13:09:34 -05:00
tearfur
5ec4ca550e
chore: iwyu ( #5746 )
2023-07-08 10:24:03 -05:00
Charles Kerr
82f08420fd
fix: crash regression in tr_peerMgr::make_new_peer_connections()
2023-07-08 09:32:20 -05:00
Charles Kerr
fdf042d32c
refactor: add tr_compare_3way() ( #5742 )
...
* refactor: add tr_compare_3way()
This is a small templated utility function to make libtransmission's
sorting / comparison code more consistent and easier to read.
2023-07-06 18:51:08 -05:00
Charles Kerr
685e245f4a
perf: faster get peer candidates ( #5734 )
2023-07-05 23:16:18 -05:00
Charles Kerr
f83a60830a
refactor: add tr_socket_address typedef ( #5730 )
2023-07-05 11:33:50 -05:00
tearfur
6482d78852
perf: reduce copying in enforceSwarmPeerLimit()
( #5731 )
...
* reduce copying in `enforceSwarmPeerLimit()`
* clearer comparator naming
2023-07-05 10:10:04 -05:00
tearfur
2a9c30a616
add constexpr noexcept ( #5729 )
2023-07-04 23:50:39 -05:00
tearfur
8543555584
refactor: use std::pair
to store socket addresses ( #5723 )
2023-07-04 20:29:12 -05:00
Charles Kerr
5b38e819da
perf: minor cleanups ( #5728 )
...
* refactor: in torrent_metainfo.is_private(), cheaper to return a bool than a bool const&
* refactor: in tr_torrent::id(), cheaper to return an int than an int const&
* refactor: in tr_metainfo_builder.is_private(), cheaper to return a bool than a bool const&
* refactor: break peer_atom.flags2 into separate bools
2023-07-04 19:47:51 -05:00
Charles Kerr
56b27057fd
refactor: add lightweight observable / observer for decoupling ( #5716 )
2023-07-04 15:47:18 -05:00
Charles Kerr
ce66e5c442
iwyu: remove, add std headers where used ( #5694 )
...
* chore: remove unused #include <array>
* chore: remove unused #include <chrono>
* chore: remove unused #include <set>
* chore: remove unused #include <algorithm>
* chore: remove unused #include "interned-string.h"
* chore: remove unused #include <list>
* chore: remove unused #include <optional>
* chore: iwyu <cstddef>
* chore: iwyu <ctime>
* chore: remove unused #include <cerrno>
* chore: remove unused #include <deque>
* chore: remove unused #include <vector>
* chore: remove unused #include <memory>
* chore: remove unused #include <unordered_set>
* chore: remove unused #include <array>
* chore: remove unused #include <mutex>
* chore: remove unused #include <functional>
* chore: remove unused #include <cmath>
2023-06-29 23:51:55 -05:00
tearfur
b79de0b431
perf: convert comparator functors to static constexpr ( #5687 )
2023-06-29 13:13:25 -05:00
tearfur
699b3d8416
perf: use a std::map to store peers in tr_swarm
( #5645 )
2023-06-22 15:21:44 -05:00
tearfur
548f840b8d
fixup: refactor handshake objects to use socket address as key as well ( #5644 )
2023-06-20 13:10:26 -05:00
tearfur
64261685d8
fix: use both address + port together as a key for peer lookup ( #5619 )
2023-06-19 20:26:39 -05:00
Charles Kerr
0d3b321bac
refactor: use snake_case for libtransmission class methods ( #5497 )
2023-05-05 23:11:05 -05:00
Charles Kerr
9d2507c7e3
refactor: snake_case in libtransmission class methods ( #5428 )
2023-04-22 20:25:55 -05:00
Charles Kerr
7d86d67bc7
chore: prefer fmt/core.h over fmt/format.h ( #5404 )
2023-04-16 15:34:19 -05:00
Charles Kerr
d445c7f061
fix: crash in peer stats ( #5279 )
2023-04-14 16:03:08 -05:00
Charles Kerr
d72cb67cfb
chore: include directory name in libtransmission #includes ( #5308 )
2023-04-14 14:33:23 -05:00
Pierre Dubouilh
ebfba686b0
feat: sequential download ( #4795 )
2023-04-14 11:47:54 -05:00
Charles Kerr
d63165e8a4
perf: fix wishlist cpu load regression, pt. 2 ( #5273 )
2023-03-22 10:24:10 -05:00
Charles Kerr
5cc3bf8a97
fix: generate peer-id on launch ( #5233 )
2023-03-15 20:53:48 -05:00
Charles Kerr
86fd89fff4
fix: remove interest strategy code that could contribute to oscillating download speeds. ( #5176 )
2023-03-10 13:21:51 -06:00
Charles Kerr
ac319321b5
fix: assertion failure in std::clamp() when called from rechokeDownloads() ( #5080 )
2023-02-27 11:59:00 -06:00
Charles Kerr
f551b4adbf
fix: magnet links are always paused when added ( #4856 )
2023-02-13 12:33:33 -06:00
Charles Kerr
b7099270b6
fix: tr_swarm order of destruction ( #4847 )
2023-02-12 00:30:30 -06:00