Charles Kerr
e6d75a4b77
refactor: tr_peerIo ( #4372 )
2022-12-16 01:23:12 -06:00
Charles Kerr
6f1153cae4
refactor: tr_handshake ( #4362 )
2022-12-13 19:58:39 -06:00
Charles Kerr
2f6315b649
refactor: tr_handshake lifecycle ( #4358 )
2022-12-13 11:59:21 -06:00
Charles Kerr
468310300c
refactor: only need a single handshake mediator ( #4322 )
2022-12-05 11:47:11 -06:00
Charles Kerr
79068c512a
refactor: decouple tr-dht from peerMsgs, peerMgr ( #3966 )
...
* refactor: decouple peer-mgr from tr-dht
* refactor: remove tr_dhtPort()
* refactor: decouple peer-msgs from tr-dht
* refactor: make tr_udp_core.udp_port_ const
* refactor: rename tr_udp_core::dhtUninit() as startShutdown()
2022-10-15 08:22:43 -05:00
Charles Kerr
257d98545b
refactor: add tr_port_forwarding::Mediator ( #3855 )
...
* refactor: add a Mediator class to decouple tr_session and tr_port_forwarding
* refactor: add tr_port_forwarding::Mediator::privatePeerPort()
* refactor: add tr_port_forwarding::Mediator::onPortForwarded()
* chore: avoid unnecessary include of timer.h in other headers
* refactor: use a uniform timerMaker() API in mediators
2022-10-01 09:12:49 -05:00
Charles Kerr
d130f7d593
refactor: prefer std::unique_ptr over std::shared_ptr ( #3741 )
2022-08-30 19:30:47 -05:00
Charles Kerr
b7ea4d9f04
refactor: tr_peerIo ref, unref ( #3735 )
...
* refactor: replace manual peerIo refcounting with std::shared_ptr
2022-08-30 12:38:30 -05:00
Greg Hazel
fa8b6a5e0a
option to disable TCP ( #3447 )
2022-08-25 21:27:11 -05:00
Charles Kerr
29f57bc296
chore: iwyu headers ( #3661 )
2022-08-17 11:08:36 -05:00
Charles Kerr
c625ec7e0f
refactor: make tr_session.rpc_server_private_ ( #3646 )
...
* refactor: make tr_session.rpc_server_ private
* chore: sort some fields to reduce number of padding holes
* chore: remove unused forward declarations
* refactor: aggregate tr_bitfield in tr_turtle
* chore: remove unused forward declarations
* chore: remove unused forward declarations
2022-08-15 16:25:55 -05:00
Charles Kerr
b49cccbd3e
refactor: add timer class ( #3603 )
...
Wraps around evtimer so that some of the codebase can use libevent without coupling to it.
2022-08-08 17:53:20 -05:00
Charles Kerr
83ffa6bf1b
chore: fix spdx abbreviations ( #3602 )
2022-08-08 13:05:39 -05:00
Charles Kerr
dab81c1af6
fix: readability-inconsistent-declaration-parameter-name warnings in libtransmission ( #3572 )
2022-08-03 01:15:37 -05:00
Charles Kerr
2bcab6be7e
refactor: remove tr_dh code ( #3443 )
...
Refactor the MSE handshake Diffie-Hellman key code.
2022-07-14 19:54:10 -05:00
Charles Kerr
ba26e79afe
refactor: decouple tr_handshake ( #3435 )
...
Add a shim between the handshake code and the rest of the codebase to
improve decoupling so that a followup PR can add handshake unit tests.
The handshake code no longer directly relies on tr_torrent, tr_session,
tr_dht, or tr_peerMgr.
2022-07-11 18:29:48 -05:00
Charles Kerr
aa2bb367ab
chore: iwyu cleanup ( #2981 )
2022-04-24 20:49:52 -05:00
Charles Kerr
46cc95f72e
refactor: remove unused functions ( #2863 )
...
* refactor: annotate nodiscard, constexpr, noexcept methods
* refactor: remove unused tr_blocklistFileExists()
* refactor: remove unused tr_blocklistFileIsEnabled()
* refactor: remove unused tr_ctorGetContents
* refactor: remove unused tr_error_is_set()
* refactor: remove unused tr_handshakeGetAddr()
* refactor: remove unused tr_ctorSetLabels()
* refactor: remove unused tr_http_escape_sha1()
* refactor: remove unused tr_lpdEnabled()
* refactor: remove unused tr_ptrArrayPop()
* refactor: remove unused tr_torrentClearIdleLimitHitCallback()
* refactor: remove unused tr_torrentFindFromHash()
* refactor: remove unused tr_sha1_to_string()
* refactor: remove unused tr_torrents::get()
* refactor: remove unused tr_isEncryptionMode()
* refactor: remove unused tr_isPreallocationMode()
* refactor: remove unused tr_ptrArrayBack()
* refactor: remove unused tr_ptrArrayClear()
* refactor: remove unused tr_torrents::get()
* refactor: remove unused Session::torrentSet()
* refactor: remove unused peer_atom comparison operators
* refactor: remove unused peer_atom::compare()
* refactor: remove unused Qt variantInit(tr_variant*, unsigned)
2022-04-01 21:55:30 -05:00
Charles Kerr
df1cca9b57
chore: update copyright years, make notices consistent ( #2463 )
2022-01-20 12:27:56 -06:00
Charles Kerr
b491da0ce4
refactor: add tr_peer_id_t ( #2004 )
...
* refactor: move handshake_done args into a convenience struct
* refactor: move peer_id from peerIo to tr_handshake
tr_handshake is a short-term object and tr_peerIo is long-term, so this
effectively narrows the scope of this field.
* chore: remove unused field tr_peerIo.isEncrypted
* refactor: add tr_peer_id_t type to hold peer ids.
this is a 'using' alias to a std::array<> so that code passing peer-ids
around doesn't have to memcmp / memcpy PEER_ID_LEN anymore. Also removes
the now-unused PEER_ID_LEN macro.
2021-10-21 21:40:55 -05:00
Charles Kerr
02b9e17207
refactor: make tr_peerIo a class ( #1928 )
...
* refactor: make tr_peerIo a class
No behavioral changes.
Use `new` and `delete` and change `struct` references to `class`.
* refactor: make some tr_peerIo fields const
* refactor: reorganize tr_peerIo fields to remove padding holes
* refactor: remove redundant field tr_peerIo.isIncoming
* refactor: make tr_peerIo.inbuf, .outbuf fields const*
2021-10-11 16:54:16 -05:00
Charles Kerr
cc204e0b2c
refactor: prefer "using" over "typedef" ( #1883 )
...
* refactor: prefer "using" over "typedef"
2021-10-06 09:26:07 -05:00
Mike Gelfand
db3d40d0ed
Switch to clang-format for code formatting, include Mac client
2021-08-16 00:38:29 +03:00
Charles Kerr
fa6df52d58
chore: remove unused methods ( #1207 )
...
* chore: remove unused methods in qt client
* chore: remove unused libtransmission methods
* chore: remove unused gtk methods
* chore: remove more unused libtransmission methods
* chore: remove more unused code found by @reardonia
2020-05-11 17:20:46 -05:00
Mike Gelfand
5b29fe1556
Ensure include guard is the first non-comment line
2017-11-14 23:21:28 +03:00
Mike Gelfand
dadffa2c0f
Align type qualifiers to the right (code style)
...
This way all the qualifiers (`const`, `volatile`, `mutable`) are grouped
together, e.g. `T const* const x` vs. `const T* const x`. Also helps reading
types right-to-left, e.g. "constant pointer to constant T" vs. "constant
pointer to T which is constant".
2017-04-20 19:53:20 +03:00
Mike Gelfand
d7930984ef
Adjust uncrustify config, reformat all but Mac client
...
There're places where manual intervention is still required as uncrustify
is not ideal (unfortunately), but at least one may rely on it to do the
right thing most of the time (e.g. when sending in a patch).
The style itself is quite different from what we had before but making it
uniform across all the codebase is the key. I also hope that it'll make the
code more readable (YMMV) and less sensitive to further changes.
2017-04-20 10:01:22 +03:00
Mike Gelfand
2248d3670f
Get rid of $Id$ SVN keywords in source files
2016-09-02 23:10:15 +03:00
Jordan Lee
1af60ad6ad
use '#pragma once' instead of #ifndef..#define..#endif guards
2016-03-29 16:37:21 +00:00
Jordan Lee
02cff80c2d
Copyedit the license's revised text: (1) remove unnecessary repitition use of the word 'license' from the top of the header and source files (2) add the standard 'we hope it's useful, but no warranty' clause to COPYING (3) make explicit that linking OpenSSL is allowed (see https://people.gnome.org/~markmc/openssl-and-the-gpl.html for background) (4) sync the Qt and GTK+ clients' license popups with COPYING's revised text
2014-01-21 03:10:30 +00:00
Jordan Lee
4b9626bb83
Licensing changes:
...
1. add the option the code to be used under GPLv2 or GPLv3; previously only GPLv2 was allowed
2. add the "proxy option" as described in GPLv3 so we can add future licenses without having to bulk-edit everything again :)
3. remove the awkward "exception for MIT code in Mac client" clause; it was unnecessary and confusing.
2014-01-19 01:09:44 +00:00
Jordan Lee
4904b923fb
(trunk) restore copyright year as suggested in email by rms
2014-01-18 20:56:57 +00:00
Jordan Lee
3d38723ad9
Follow more common whitespace style conventions in the C code (libtransmission, daemon, utils, cli, gtk).
2012-12-05 17:29:46 +00:00
Jordan Lee
b4d36aeb54
(trunk) #4138 "use stdbool.h instead of tr_bool" -- done.
2011-03-22 15:19:54 +00:00
Jordan Lee
879a2afcbd
Update the copyright year in the source code comments.
...
The Berne Convention says that the copyright year is moot, so instead of adding another year to each file as in previous years, I've removed the year altogether from the source code comments in libtransmission, gtk, qt, utils, daemon, and cli.
Juliusz's copyright notice in tr-dht and Johannes' copyright notice in tr-lpd have been left alone; it didn't seem appropriate to modify them.
2011-01-19 13:48:47 +00:00
Charles Kerr
e5bb3205a1
(trunk) Join the 21st century and use only 1 space at the end sentences. This commit is nearly as important as the semi-annual ones that remove trailing spaces from the ends of lines of code... :)
2010-12-27 19:18:17 +00:00
Charles Kerr
546bca723b
(trunk libT) #3159 "better decision-making when choosing which peers to initiate new connections with" -- experimental commit
2010-04-20 21:54:03 +00:00
Charles Kerr
5c26afdb52
happy new year!
2010-01-04 21:00:47 +00:00
Charles Kerr
78ead8c3dd
(trunk) update the copyright notices
2009-12-05 02:19:24 +00:00
Charles Kerr
452cb27f9e
(trunk libT) re-start work on making libT doxygen friendly. still a long ways to go on this.
2009-05-29 19:17:12 +00:00
Charles Kerr
5812b9f05b
(trunk libT) more debugging messages
2009-01-24 17:20:07 +00:00
Charles Kerr
fe816d8135
(trunk) update the GPL code's copyright dates
2009-01-10 23:09:07 +00:00
Charles Kerr
3ff145f058
(trunk libT) two bugfixes in one: (1) fix leaking tr_handshake objects reported by BentMyWookie (2) fix yet another permutation of the tr_isBandwidth() assertion failure -- maybe the last one? -- reported by Waldorf
2009-01-06 00:24:44 +00:00
Charles Kerr
acdd8c860c
(trunk libT) minor cleanups found while diffing for backport to 1.4x in r7455
2008-12-22 00:52:44 +00:00
Charles Kerr
72ded3b272
try to rework the bandwidth code yet again s.t. it satisfies all three: (1) fairly distributes bandwidth across all peers, (2) scales well in high-bandwidth situations, (3) is good at hitting and staying at bandwidth limits/goals
2008-12-20 22:19:34 +00:00
Charles Kerr
9594112d27
updated email address
2008-12-16 00:20:44 +00:00
Charles Kerr
9e98dcd248
(libT) minor cleanup: using tr_bool, fixing up bad code indentation, using %zu on size_t instead of casting to int...
2008-12-05 22:56:19 +00:00
Charles Kerr
0d5fed6442
(libT) re-apply jhujhiti's IPv6 patch. This merges in my tr_port cleanup, so any new bugs are mine :/
2008-12-02 03:41:58 +00:00
Charles Kerr
a14621c363
(libT) janitorial: use the tr_port type whenever we have a `port' as a function argument or as a field in a struct.
2008-12-01 20:51:01 +00:00
Charles Kerr
7fa9813955
(libT) #252 : revert r7195 (jhujhiti's IPv6 test patch). It seems to be the culprit in a `thrashing' issue reported by Waldorf and m1b in irc -- the behavior appeared between r7183 and r7187 -- so this commit is to trigger off a nightly build w/o the patch to test with in irc.
2008-12-01 20:21:06 +00:00