Commit Graph

5888 Commits

Author SHA1 Message Date
Charles Kerr ea9fd64830
refactor: tr_compare_3way() (#5799) 2023-07-15 21:55:44 -05:00
Charles Kerr 273f943a3b
refactor: make a few more methods `constexpr` (#5798) 2023-07-15 19:02:39 -05:00
tearfur 31f2c7aa29
refactor: `tr_torrent.incompleteMetadata` from raw pointer to `std::optional` (#5791) 2023-07-15 15:38:38 -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
tearfur ca4cb1a675
fix/cleanups to tr_peerMsgsImpl (#5783)
* fix: correct condition to advertise pex support in ltep handshake

1. Advertise pex support regardless of whether the peer had advertised pex support. No reason to give up an opportunity to advertise pex support just because our direct peer does not support it.
2. Check if pex is enabled in global settings as well.
2023-07-14 10:51:52 -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 0350b62248
refactor: remove redundant seed limit check (#5770) 2023-07-12 08:27:06 -05:00
Charles Kerr f036b7c3bf
perf: use small::max_size_vector in tr_torrentGetMetadataPiece() (#5768) 2023-07-12 07:36:16 -05:00
tearfur 8d0788dd9e
fix: incorret log message in `global-ip-cache.cc` (#5769) 2023-07-11 22:16:46 -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 ec54e7f11e
fixup! refactor: remove libtransmission::Buffer (#5676) (#5748) 2023-07-08 02:25:57 -05:00
tearfur 97da2adbca
fix: spelling mistake in `net.h` function call (#5739) 2023-07-07 20:13:02 -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 c364abcb6f
chore: misc-include-cleaner (partial) (#5738) 2023-07-06 10:00:07 -05:00
Charles Kerr 685e245f4a
perf: faster get peer candidates (#5734) 2023-07-05 23:16:18 -05:00
tearfur 2211086338
fix: conform to libcurl requirements to avoid memory leak (#5702) 2023-07-05 22:05:03 -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
tearfur 449da2b53e
fix: assert failure when Transmission quit with pending IP queries (#5721) 2023-07-04 16:33:58 -05:00
Charles Kerr 56b27057fd
refactor: add lightweight observable / observer for decoupling (#5716) 2023-07-04 15:47:18 -05:00
Charles Kerr 6a2a4c3032
perf: move log strings instead of cloning them (#5726) 2023-07-04 14:03:45 -05:00
Charles Kerr 0a6d1806f9
perf: avoid string allocations by using fixed-width hash strings (#5725) 2023-07-04 13:04:03 -05:00
Charles Kerr e68b76bc14
perf: use small::unordered_map in tr_torrent::primary_mime_type() (#5722) 2023-07-04 09:40:36 -05:00
Charles Kerr 7c7771a12b
perf: use small:set in tr_file_piece_map::reset() (#5720) 2023-07-03 21:57:09 -05:00
Charles Kerr d76d26a580
perf: faster Cache::write_contiguous() (#5715) 2023-07-02 15:23:32 -05:00
Charles Kerr d2d30c2734
chore: update mime types (#5712) 2023-07-02 08:32:21 -05:00
Charles Kerr 4c282bdbb4
fix: recent build warnings and errors (#5711)
* fix: use std::empty instead of isEmpty()

* fix: fix trivially assignable warning hicpp-move-const-arg

* fix: fix clang-diagnostic-unused-but-set-variable warning

* fix: fix readability-braces-around-statements warning
2023-07-01 10:22:15 -05:00
tearfur 9c17463a80
fix: revert "perf: improve IPv4 `tr_address` comparison" (#5709)
* Revert "perf: improve IPv4 `tr_address` comparison (#5651)"

This reverts commit 70decc1d9d.

* added tests

* add ipv4 equal test and std header
2023-07-01 09:39:35 -05:00
Charles Kerr 8183d7fddf
refactor: utils naming (#5696)
* chore: rename tr_strvContains to tr_strv_contains

* chore: rename tr_strvStartsWith to tr_strv_starts_with

* chore: rename tr_strvEndsWith to tr_strv_ends_with

* chore: rename tr_strvSep to tr_strv_sep

* chore: rename tr_strvStrip to tr_strv_strip

* chore: rename tr_strvToBuf to tr_strv_to_buf

* refactor: rename tr_saveFile() to tr_file_save()

rename tr_loadFile() to tr_file_read()

rename tr_moveFile() to tr_file_move()

* refactor: rename tr_parseNum() to tr_num_parse()

refactor: rename tr_parseNumRange() to tr_num_parse_range()

* chore: group related functions together in header
2023-06-30 09:49:58 -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
Charles Kerr cb101ec6cf
refactor: make tr_logGetQueueEnabled() private (#5693)
it is only used in log.cc, so remove it from the public header
2023-06-29 14:19:40 -05:00
tearfur b79de0b431
perf: convert comparator functors to static constexpr (#5687) 2023-06-29 13:13:25 -05:00
Charles Kerr 2f2ae61d0c
refactor: remove unused function tr_peer.bandwidth() (#5691) 2023-06-29 11:14:05 -05:00
Charles Kerr 22bb9e5757
refactor: rename tr_dirSpace() to tr_sys_path_capacity() (#5689) 2023-06-29 10:23:00 -05:00
Charles Kerr 3474a1da58
chore: remove tr_wait(); use std::this_thread::sleep_for() (#5683) 2023-06-29 08:51:39 -05:00
Charles Kerr fd4a0b1d16
chore: remove unused function tr_env_get_int() (#5682) 2023-06-28 22:04:07 -05:00
Charles Kerr 7e1ecf2f0f
refactor: remove useless TR_DEBUG_FD env var (#5681)
This feature was originally meant to redirect verbose logging to *any*
fd, but it now only supports writing to stdout or stderr, and defaults
to stderr.

Redirecting to stdout isn't very useful and complicates the code, so
just remove it and always use stderr.
2023-06-28 16:26:15 -05:00
tearfur 7fa1498ed5
perf: make `CompareCacheBlockByKey` constexpr (#5678) 2023-06-28 10:23:38 -05:00
tearfur 6bbe6537cb
feat: bypass disk write cache when `cache-size-mb` is zero 2023-06-28 08:57:26 -05:00