Charles Kerr
42b09b22df
refactor: reduce utils.h includes ( #6431 )
2023-12-24 11:02:54 -06:00
Yat Ho
1dca5fe480
chore: minor bandwidth code housekeeping ( #6306 )
2023-11-28 10:18:38 -06:00
Charles Kerr
a952a0731f
refactor: remove the tr_error** idiom ( #6198 )
...
* refactor: remove the tr_error** idiom
* fix: tr_error::message() is only constexpr in c++20 and up
* chore: silence a couple of g++-12 Wshadow warnings
2023-11-04 11:39:41 -05:00
Yat Ho
a2b547fb50
chore: iwyu ( #6201 )
2023-11-03 12:03:26 -05:00
Julien
8ac323d5d6
chore: removed copyright timespans in headers ( #4850 )
2023-11-01 16:11:11 -05:00
Yat Ho
c70c49e87b
fix: encode `ip` in network byte order for udp announce ( #6126 )
2023-10-18 09:46:57 -05:00
Yat Ho
7973d873ff
feat: BT and MSE handshake rework ( #6025 )
2023-09-26 12:50:41 -05:00
Charles Kerr
ec54e7f11e
fixup! refactor: remove libtransmission::Buffer ( #5676 ) ( #5748 )
2023-07-08 02:25:57 -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
9afced725a
refactor: remove libtransmission::Buffer ( #5676 )
...
* refactor: use StackBuffer in announcer-udp
* chore: update buffer tests
* refactor: remove unused libtransmission::Buffer
superseded by libtransmission::StackBuffer
2023-06-27 19:06:25 -05:00
Charles Kerr
24bc3d135d
perf: add StackBuffer using small::vector ( #5672 )
...
* perf: use libtransmission::StackBuffer in variant-benc
* perf: use libtransmission::StackBuffer in variant-json
* perf: use libtransmission::StackBuffer in handshake
* perf: use libtransmission::StackBuffer in peer-msgs
* perf: use libtransmission::StackBuffer in peer-io
2023-06-27 10:51:20 -05:00
Charles Kerr
df1adf0e0f
chore: revert small buffer ( #5654 )
...
* Revert "perf: use libsmall in libtransmission, pt 3 (#5653 )"
This reverts commit 3b03494580
.
* Revert "perf: use small in libtransmission (#5650 )"
This reverts commit 559f6f0332
.
2023-06-22 18:42:48 -05:00
Charles Kerr
3b03494580
perf: use libsmall in libtransmission, pt 3 ( #5653 )
...
* refactor: use BufferReader, BufferWriter in peer-socket
* feat: expose GrowthFactor in tr-buffer
* perf: choose better defaults for the peer message buffers
* chore: sync tests
* refactor: use small::map in ActiveRequests::Impl
2023-06-22 00:24:42 -05:00
Charles Kerr
559f6f0332
perf: use small in libtransmission ( #5650 )
...
* refactor: reimplement Buffer using small
* refactor: use SmallBuffer in announcer-udp
* refactor: use SmallBuffer in variant-json
* refactor: use SmallBuffer in variant-benc
* refactor: use SmallBuffer in handshake
* refactor: use SmallBuffer in peer-msgs
* refactor: delete move semantics on stack-based buffers
2023-06-21 22:41:09 -05:00
Charles Kerr
e171cbae9c
refactor: move Buffer::add_socket() to BufferWriter::add_socket() ( #5543 )
2023-05-19 23:06:26 -05:00
Charles Kerr
52b03c2489
refactor: migrate methods to buffer reader ( #5533 )
2023-05-18 16:56:29 -05:00
Charles Kerr
b9698210ef
refactor: restore part of Buffer::reserve_space() ( #5529 )
2023-05-16 21:46:41 -05:00
Charles Kerr
2cf9678737
fix: revert buffer reserve space ( #5528 )
...
* Revert "refactor: use BufferReader, BufferWriter as function args (#5518 )"
This reverts commit c2d48a7d11
.
* Revert "fixup! refactor: add BufferReader, BufferWriter::reserve_space() (#5513 )"
This reverts commit b08e17beef
.
* Revert "refactor: add BufferReader, BufferWriter::reserve_space() (#5513 )"
This reverts commit 51fd7056ba
.
2023-05-14 17:24:42 -05:00
Charles Kerr
b08e17beef
fixup! refactor: add BufferReader, BufferWriter::reserve_space() ( #5513 )
...
chore: remove tracer fmt::print() statements
2023-05-12 11:47:01 -05:00
Charles Kerr
51fd7056ba
refactor: add BufferReader, BufferWriter::reserve_space() ( #5513 )
2023-05-12 11:15:15 -05:00
Charles Kerr
9f8a7a656e
fix: Buffer::Buffer(Buffer&&) bug ( #5435 )
2023-04-22 16:10:09 -05:00
Charles Kerr
3044c14b10
perf: in Buffer::Iterator, defer evbuffer API calls ( #5420 )
2023-04-19 16:00:30 -05:00
Charles Kerr
a8e01ac38d
fix: minor warnings ( #5409 )
...
* chore: fix readability-qualified-auto warnings
* chore: fix clang-analyzer-core.uninitialized.Branch warning
* fix: collision of key 'ERROR' in transmission-qt
* chore: silence -Wshadow warning
* chore: silence warning C4100: 'iter': unreferenced formal parameter
* chore: fix warning C4127: conditional expression is constant warning
2023-04-17 23:11:09 -05:00
Charles Kerr
ed4919a4f4
feat: Add BufferWriter class ( #5154 )
2023-04-14 17:08:01 -05:00
Charles Kerr
7f9ef4730e
fix: assertion failure in readBtPiece() ( #5097 )
2023-03-03 17:43:51 -06:00
Julien
4b8cfa2e57
chore: update copyrights to 2023 ( #4834 )
2023-02-11 14:49:42 -06:00
Charles Kerr
948f597d15
refactor: buffer snake case ( #4682 )
2023-01-27 20:12:09 -06:00
Charles Kerr
c75f9a4a7a
refactor: tidy libtransmission symbol visibility ( #4680 )
2023-01-27 14:25:08 -06:00
Charles Kerr
c81d0b130c
refactor: add tr_error_set_from_errno() ( #4662 )
2023-01-25 12:20:10 -06:00
Charles Kerr
1402cb2949
refactor: add TR_CONSTEXPR20 to make future C++20 migration easier ( #4457 )
2022-12-23 15:21:40 -06:00
Charles Kerr
28b12f091f
perf: remove libtransmission::Buffer.vecs() ( #4401 )
...
Its two calls to evbuffer_peek() used 3.5% of CPU use (measured with perf
when built with RelWithDebInfo). I added vecs() so that libtransmsision
could send noncontiguous buffers via utp_writev(); but in my testing, all
the buffers being sent are contiguous and so this is unnecessary work.
2022-12-18 12:09:02 -06:00
Charles Kerr
e6d75a4b77
refactor: tr_peerIo ( #4372 )
2022-12-16 01:23:12 -06:00
Charles Kerr
0efb96124b
perf: remove cpu bottleneck in tr_peerIo::write() ( #4258 )
2022-11-27 20:46:03 -06:00
Charles Kerr
43c57fb02a
perf: buffer iterators ( #4220 )
2022-11-21 23:54:28 -06:00
Charles Kerr
76bea25f6e
perf: minor perf wins ( #4216 )
...
* perf: faster tr_buffer::toString()
* perf: faster tr_buffer::Iterator
* perf: get mutex lock in reconnectPulse() instead of closeBadPeers()
2022-11-21 09:28:46 -06:00
Charles Kerr
4d8509c180
refactor: add libtransmission::evhelpers ( #4104 )
2022-11-06 15:11:30 -06:00
Charles Kerr
cdf817f2e7
fix: FTBFS on Windows ( #4036 )
...
* refactor: getPiececLength() now returns size_t
* refactor: tr_torrentSetMetadataPiece() length arg is now size_t
* refactor: tr_peerIo::flushOutgoingProtocolMsgs() returns size_t, takes a tr_error** for reporting errors
* refactor: define tr_mode_t for convenience
* fix: suseconds_t portability fix
2022-10-28 19:12:37 -05:00
Charles Kerr
798e873b87
fix: sonarcloud warnings ( #4023 )
2022-10-24 22:13:09 -05:00
Charles Kerr
b32f3e0a24
refactor: add tr_address::toCompact() ( #4014 )
...
* refactor: add tr_address::toCompact()
* test: use the theory.org compact ipv4/6 examples in NetTest.compact4, NetTest.compact6
* refactor: add tr_address::toCompact()
* test: add toCompact, fromCompact tests
* refactor: add compact <--> sockaddr_storage conversion
2022-10-24 13:40:12 -05:00
Charles Kerr
d191a04228
refactor: decouple tr_announcer_udp ( #4002 )
2022-10-21 13:15:14 -05:00
Charles Kerr
450f1dcadc
refactor: extract `tr_buffer` class from `tr_peerIo` ( #3986 )
2022-10-19 11:42:08 -05:00