Charles Kerr
e4a172d39c
fix: sonarcloud ( #2322 )
...
* fix: sonarcloud warning - redundant cast
* fix: sonarcloud warning - init-statement
* fix: sonarcloud warning - init-statement
* fix: sonarcloud warning - move #include to top of file
* fix: sonarcloud warning - implicit conversion loses precision
* fix: sonarcloud warning - confirm safe use of strlen
* fix: sonarcloud warning - refactor code to not nest more than three deep
* iwyu: cstring
* iwyu: algorithm
2021-12-16 16:58:58 -06:00
Charles Kerr
b93f3f0463
refactor: more tr_torrent housekeeping ( #2320 )
2021-12-16 03:43:51 -06:00
Charles Kerr
4ea2429217
refactor: tr_torrent housekeeping ( #2319 )
2021-12-16 02:49:04 -06:00
Charles Kerr
42b1362760
refactor: tidy libtransmission includes ( #2316 )
2021-12-15 15:25:42 -06:00
Charles Kerr
1c848cf174
refactor: add tr_info accessors to tr_torrent ( #2314 )
...
* refactor: add tr_info accessors to tr_torrent
2021-12-15 09:53:20 -06:00
Charles Kerr
d00be0dec7
refactor: tr_torrentIsSeed() -> tr_torrent::isDone() ( #2313 )
2021-12-15 01:04:26 -06:00
Charles Kerr
68518bc307
refactor: make some tr_torrentFoo() methods member functions ( #2312 )
2021-12-14 23:48:56 -06:00
Charles Kerr
1e20d676c1
refactor: make tr_torrentInfo() private ( #2285 )
...
* refactor: make tr_torrentInfo() private
2021-12-14 15:59:44 -06:00
Charles Kerr
656df477f2
refactor: add tr_announce_list ( #2308 )
...
* refactor: add tr_announce_list (#2308 )
2021-12-14 14:59:40 -06:00
Charles Kerr
cec7685a64
refactor: remove unused tr_torrent.dnd_pieces_ ( #2296 )
2021-12-09 20:54:44 -06:00
Charles Kerr
0cedfec630
fixup! refactor: add tr_torrentTrackers() ( #2282 ) ( #2294 )
...
ensure announcer tracker count is correct
2021-12-09 20:03:26 -06:00
Charles Kerr
ab0c49859e
refactor: add tr_torrentTrackers() ( #2282 )
...
* refactor: add tr_torrentTrackers()
2021-12-08 10:55:52 -06:00
Charles Kerr
c46ce2da06
refactor: add tr_torrentWebseed(), tr_torrentWebseedCount() ( #2277 )
...
* refactor: add tr_torrentWebseedCount()
2021-12-07 12:11:28 -06:00
Charles Kerr
5096bbae9b
refactor: add tr_torrent::file() ( #2274 )
...
* refactor: add tr_torrent::fileCount()
2021-12-06 22:18:17 -06:00
Charles Kerr
867a131e1d
refactor: add tr_torrent::fileCount() ( #2273 )
...
Provide an accessor to get a torrent's file count.
This is an incremental step towards making tr_torrent's impl private.
2021-12-06 15:26:04 -06:00
Charles Kerr
e2be142ad6
fix: new warnings ( #2270 )
...
* fix: avoid potential resource leak in metainfo test
Xref: https://scan5.coverity.com/reports.htm#v48014/p10174/fileInstanceId=205022335&defectInstanceId=52337396&mergedDefectId=1494638
* fix: use-init-statement warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX2MsJ_lWODkx6cuASq6&open=AX2MsJ_lWODkx6cuASq6
* fix: omit-redundant-override-specifier warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX2MsJ5GWODkx6cuASq5&open=AX2MsJ5GWODkx6cuASq5
* fix: improper-use-of-negative-value warning
Xref: https://scan5.coverity.com/reports.htm#v48014/p10174/fileInstanceId=205020121&defectInstanceId=52337394&mergedDefectId=1494639
* fix: unchecked return value warning
Xref: https://scan5.coverity.com/reports.htm#v48014/p10174/fileInstanceId=205020168&defectInstanceId=52304887&mergedDefectId=1491438
* fix: potential-divide-by-zero warning
Xref: https://scan5.coverity.com/reports.htm#v48014/p10174/fileInstanceId=205020106&defectInstanceId=52337395&mergedDefectId=1494438
2021-12-05 21:12:21 -06:00
Charles Kerr
c656bee061
refactor: add tr_saveFile() ( #2267 )
...
* refactor: add tr_saveFile()
* refactor: add tr_ctorSaveContents()
2021-12-04 19:32:35 -06:00
Charles Kerr
35fe175f2a
refactor: add file-piece-map ( #2246 )
...
* refactor: add file-piece-map
* refactor: use tr_file_priorities
* refactor: use tr_files_wanted
2021-11-28 19:12:54 -06:00
Charles Kerr
34881f6295
refactor: make parts of tr file private ( #2241 )
...
* refactor: make parts of tr_file private
2021-11-27 21:17:47 -06:00
Charles Kerr
f6f0db75e1
fix: sonarcloud warnings / code smells ( #2242 )
...
* fix: use-init-statement
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX1f6EvHJiycnfA7gfrG\&open\=AX1f6EvHJiycnfA7gfrG
* fix replace-use-of-new warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX1ZNs41ZmlvCveKTzon\&open\=AX1ZNs41ZmlvCveKTzon
* fix has-virtual-functions-but-non-virtual-destructor warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX1ZNs72ZmlvCveKTzo6\&open\=AX1ZNs72ZmlvCveKTzo6
* fix make-variable-const warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX0_a_OVNJn7rAzml_7B\&open\=AX0_a_OVNJn7rAzml_7B
* fix remove-redundant-static-specifiers
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06St-81usi2gyYkPTb\&open\=AX06St-81usi2gyYkPTb
* fix function-should-be-declared-const
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06St-81usi2gyYkPTd\&open\=AX06St-81usi2gyYkPTd
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06St-81usi2gyYkPTc\&open\=AX06St-81usi2gyYkPTc
* fix class-has-virtual-functions-but-non-virtual-destructor warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06Stz41usi2gyYkPTS\&open\=AX06Stz41usi2gyYkPTS
* fix remove-commented-out-code warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06St241usi2gyYkPTT\&open\=AX06St241usi2gyYkPTT
* fix remove-commented-out-code warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06St241usi2gyYkPTV\&open\=AX06St241usi2gyYkPTV
* fix has-virtual-functions-but-non-virtual-destructor warning
https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06St241usi2gyYkPTW\&open\=AX06St241usi2gyYkPTW
* fix remove-commented-out-code warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06SuCA1usi2gyYkPTh\&open\=AX06SuCA1usi2gyYkPTh
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX0rAQvnfJ-O-YIDS9xF\&open\=AX0rAQvnfJ-O-YIDS9xF
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX0rAQvnfJ-O-YIDS9xG\&open\=AX0rAQvnfJ-O-YIDS9xG
* fix remove-redundant-access-specifier warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX1ZNs5tZmlvCveKTzor\&open\=AX1ZNs5tZmlvCveKTzor
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX01Itl7f_SST5i7BN1l\&open\=AX01Itl7f_SST5i7BN1l
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX0wDijI2l89lDvp1C9P\&open\=AX0wDijI2l89lDvp1C9P
* fix use-automatically-managed-memory-instead-of-new warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX1f6E6HJiycnfA7gfrI\&open\=AX1f6E6HJiycnfA7gfrI
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX0l8vknEafnvRiIHUEv\&open\=AX0l8vknEafnvRiIHUEv
* fixup! fix has-virtual-functions-but-non-virtual-destructor warning
2021-11-27 19:58:35 -06:00
Charles Kerr
dc36787378
fix: coverity warnings ( #2229 )
...
* fix: coverity uninitialized member warning
Xref: https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=204371746\&defectInstanceId\=52288281\&mergedDefectId\=1494442\&eventId\=52288281-41
* fix: coverity uninitialized member warning
Xref: https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=204371746\&defectInstanceId\=52288281\&mergedDefectId\=1494442\&eventId\=52288281-43
* fix: coverity unchecked return value
Xref: https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=204371760\&defectInstanceId\=52254984\&mergedDefectId\=1494150
* fix: coverity false nullptr dereference warning
Xref: https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=204369613\&defectInstanceId\=52254971\&mergedDefectId\=1493396
* fix: coverity unchecked return value
Xref: https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=204369625\&defectInstanceId\=52288288\&mergedDefectId\=1491891
2021-11-25 18:14:25 -06:00
Charles Kerr
de169c7ec3
refactor: tr_completion ( #2220 )
...
* refactor: refactor tr_completion + add test coverage for it
2021-11-25 12:26:51 -06:00
Charles Kerr
68e3820ed1
fixup: crash after completing magnet link metainfo ( #2215 )
2021-11-24 14:12:32 -06:00
Charles Kerr
843e486d2a
refactor: tr_block_info class ( #2210 )
...
* refactor: add tr_block_info with tests
2021-11-24 08:48:52 -06:00
Charles Kerr
da855a7257
refactor: use std mutex/lock intead of bespoke ( #2194 )
...
* refactor: use std mutex/lock intead of bespoke
2021-11-20 15:20:45 -06:00
Charles Kerr
073c6af1d6
refactor: swarm ( #2103 )
...
* refactor: encapsulate request tracking in a class
Introduces a new class to peer-mgr, `ClientRequests`, which tracks what
active requests we've got pending: which blocks, when the requests were
sent, and who they were sent to.
This shouldn't change peer-mgr behavior. Its goal is to carve out some
of peer-mgr's data structures and encapsulte them behind an API that's
simpler to understand.
* refactor: move ActiveRequests to its own file
* perf: avoid duplicate call to tr_cpMissingBlocksInPiece
2021-11-19 12:37:38 -06:00
Charles Kerr
a21594b0ce
refactor: add tr_torrent::renamePath ( #2178 )
2021-11-15 22:10:36 -06:00
Charles Kerr
505d2ae428
refactor: tr_torrent.setLocation ( #2175 )
...
member version of tr_torrentSetLocation
2021-11-15 14:53:53 -06:00
Charles Kerr
7b772e73e6
fixup! refactor: remove tr_piece struct ( #2059 ) ( #2153 )
...
fix: off-by-one when marking a range of pieces as untested
2021-11-14 10:12:02 -06:00
Charles Kerr
d1f8c28fcd
refactor: make piece checksums private ( #2130 )
...
* refactor: remove tr_info.pieces
2021-11-12 10:42:51 -06:00
Charles Kerr
d8b57fe4dc
refactor: web_utils ( #2121 )
...
* chore: move web utils from web, utils to web-utils
2021-11-08 21:30:03 -06:00
Charles Kerr
7724111a8b
refactor: increase use of tr sha1 digest t ( #2091 )
...
* refactor: make tr_sha1_digest_t an array of std::byte
* refactor: increase use of tr_sha1_digest_t
2021-11-03 19:55:04 -05:00
Charles Kerr
002b45a95c
fixup! refactor: remove tr_piece struct ( #2059 ) ( #2086 )
...
perf: discard piece priorities when done downloading
2021-11-02 21:55:33 -05:00
Charles Kerr
9dca5f2086
perf: intern the announcer module's URL strings ( #2085 )
...
* perf: intern the announcer module's internal URLs
2021-11-02 18:00:01 -05:00
Charles Kerr
e5225ba8a2
refactor: tr_torrentFindFromHashString() takes a std::string_view ( #2082 )
...
* refactor: tr_torrentFindFromHashString() takes a string_view
2021-11-01 19:18:09 -05:00
Charles Kerr
cedec74d26
perf: add tr_buildBuf() ( #2068 )
...
* refactor: add tr_buildBuf() utility
2021-10-31 11:38:10 -05:00
Charles Kerr
d6032f829b
refactor: remove tr_piece struct ( #2059 )
...
* refactor: remove tr_piece struct
2021-10-29 13:24:30 -05:00
Charles Kerr
93d8a03d55
refactor: remove outvar args from tr_torGetFooBlockRange() functions ( #2041 )
2021-10-24 22:39:19 -05: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
3b019ada3d
refactor: remove redundant assertions ( #2009 )
2021-10-21 19:02:38 -05:00
Charles Kerr
236a0965fa
refactor: tr_variant*Str() functions now take a std::string_view ( #1990 )
...
* refactor tr_variant*Str functions now take a std::string_view
* refactor: tr_torrentPrimaryMimeType returns a string-view
2021-10-19 21:30:50 -05:00
Charles Kerr
d7773c47b6
fix: crash on torrent with 65536 blocks per piece ( #1988 )
...
Fixes #1411 .
2021-10-18 19:25:00 -05:00
Dmytro Lytovchenko
953f07375a
Modernize bitfield.cc: Storage changes and refactor ( #1927 )
...
* Modernize bitfield.cc: Storage changed to vector of bytes, return vector from getRaw, new Span readonly memory view
Modernize bitfield.cc: Code style/review notes
Modernize bitfield.cc: Code format
* Modernize bitfield.cc: Swap end and begin in bit counting code assertion
* Modernize bitfield.cc: Rewrite states and simplify code
* Modernize bitfield.cc: Fixing the code and tests
* Modernize bitfield.cc: Fixing tests
* Modernize bitfield.cc: Formatting; +std::size, +const
2021-10-16 09:04:19 -05:00
Dmytro Lytovchenko
a4d7e11a14
Bandwidth.cc bring naming closer to C++ style of code in qt/ ( #1914 )
...
* Modernize bitfield.cc: Rename tr_bandwidth to Bandwidth; Move dependent structs and consts into it
* Modernize bitfield.cc: Rename internal fields to lower_snake_case_ with suffix underscore
* Modernize bitfield.cc: Remove struct in 'struct Bandwidth' type usages
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-10-09 20:12:03 -05:00
Charles Kerr
0783e9691d
refactor: make tr_swarm a class ( #1915 )
2021-10-09 19:13:40 -05:00
Dmytro Lytovchenko
c287b82c00
Modernize bandwidth.cc: Moved functions inside struct ( #1895 )
...
* Modernize bandwidth.cc: Move functions inside struct
* Modernize bandwidth.cc: Review notes - remove extraneous checks, move small functions into .H file, etc
* Modernize bandwidth.cc: Construction and destruction is now via C++ new/delete
* Modernize bandwidth.cc: Rename used() to notifyBandwidthConsumed()
* Modernize bandwidth.cc: Children is now unordered_set
* Modernize bandwidth.cc: Allocation functions for peer bandwidth are now using std::vector instead of ptrArrays
* Modernize bandwidth.cc: Code formatting
* Modernize bandwidth.cc: Private fields after public; Minor review notes
* Modernize bandwidth.cc: Ungroup enums into constants; Docs minor update
* Modernize bitfield.cc: Docs comments changes; Using constexpr instead of const
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-10-09 07:52:09 -05:00
Charles Kerr
83f21b8e0e
refactor: prefer constexpr functions over static inline ones ( #1887 )
...
* refactor: prefer constexpr functions over static inline ones
2021-10-06 17:24:04 -05:00
Charles Kerr
003685b40a
refactor: use nullptr instead of NULL ( #1884 )
...
* refactor: use nullptr instead of NULL.
No functional changes; just more C++ification
2021-10-06 11:32:17 -05:00
Charles Kerr
cc204e0b2c
refactor: prefer "using" over "typedef" ( #1883 )
...
* refactor: prefer "using" over "typedef"
2021-10-06 09:26:07 -05:00
Charles Kerr
baafb68bfd
refactor: use std::unordered_set for tr_torrent.labels ( #1856 )
2021-09-29 14:52:19 -05:00
Charles Kerr
17ee032dd8
refactor: remove TR_BEGIN_DECLS, TR_END_DECLS ( #1837 )
...
* refactor: remove TR_BEGIN_DECLS, TR_END_DECLS
2021-09-25 11:07:22 -05:00
Charles Kerr
b92c609ed9
refactor: use std container for session torrents ( #1832 )
...
* refactor: use std container for session's torrents
2021-09-24 18:31:02 -05:00
Dmytro Lytovchenko
43d1ece562
C++ modernization: Replace NULLs with typesafe nullptrs ( #1799 )
...
Fixing CI errors and build errors
Reverted changes: NULL in EV_SET macro; Clang-formatting
Reverted changes: MacosX *.m files reverted from master
2021-09-14 19:18:09 -05:00
Charles Kerr
40868d1621
perf: faster tr_sessionCountQueueFreeSlots() ( #1785 )
...
The previous code had some redundant calculations, e.g. calling
tr_torrentGetActivity() a couple of times per torrent, once in
tr_sessionCountQueueFreeSlots() and once in tr_torrentIsStalled().
Only one call is necessary.
tr_sessionCountQueueFreeSlots() used to keep iterating through all
torrents even if the number of free slots had already been decremented
to zero, even though further iteration does not change the zero return
value :) This PR checks the return value while looping to prevent this.
2021-09-10 15:15:35 -05:00
Mitch Livingston
e9a39fb608
Merge branch 'master' into prefetch-magnet
2021-08-22 18:56:58 -04:00
Mike Gelfand
db3d40d0ed
Switch to clang-format for code formatting, include Mac client
2021-08-16 00:38:29 +03:00
Charles Kerr
0bfbc3eba7
Sonarcloud warnings 4 ( #1499 )
...
* chore: fix some sonarcloud html warnings (e.g. deprecated attribute use)
* chore: uppercase literal suffixes
* chore: remove redundant casts
* chore: remove commented-out code
* chore: use qInfo() instead of std::cerr
2020-11-02 09:16:12 -06:00
Charles Kerr
f59118d1fe
feat: add torrent-get 'primary-mime-type' to RPC. ( #1464 )
...
* feat: add torrent-get 'primary-mime-type' to RPC.
This is a cheap way for RPC clients to know what type of content is in a
torrent. This info can be used to display the torrent, e.g. by using an
icon that corresponds to the mime type.
* use size_t for content byte count
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
* explicit boolean expressions
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
* use uint64_t for content byte counts
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
* avoid unnecessary logic branches
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
* explicit cast
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
* refactor: add an autogenerated mime-type.h header
* chore: maybe fix the win32 FTBFS
* chore: add mime-types.[ch] to xcode
* Squashed commit of the following:
commit 4c7153fa48
Author: Mike Gelfand <mikedld@users.noreply.github.com>
Date: Tue Oct 13 03:15:19 2020 +0300
Remove autotools-based build system (#1465 )
* Support .git files (e.g. for worktrees, submodules)
* Fix symlinks in source tarball, switch to TXZ, adjust non-release name
* Remove autotools stuff
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
2020-10-13 10:33:56 -05:00
Charles Kerr
677dc73eac
refactor: use GTest for running tests ( #1383 )
...
* refactor: use google-test on libtransmission tests
2020-08-11 13:11:55 -05:00
Guido Cella
d3c55f2b0e
Fetch metadata of stopped magnets
2019-12-15 17:18:11 +01:00
Charles Kerr
44fc571a67
feat: add editDate to RPC ( #1056 )
...
* feat: add tr_stat.infoDate to note tr_info changes
The last time during this session that any tr_info field changed
(e.g. trackers/filenames edited or magnet torrent got metadata).
RPC clients can monitor this to know when to reload fields which
don't usually change.
2019-11-12 17:13:42 -06:00
Charles Kerr
abac811dd2
fix: gcc warnings in libtransmission/ and utils/ ( #843 )
...
* fix: __attribute__(__printf__) warnings
* fix: implicit fallthrough warning
* fixup! fix: implicit fallthrough warning
* fix: disable warnings for 3rd party code
Since we want to leave upstream code as-is
* fixup! fix: disable warnings for 3rd party code
* fixup! fix: disable warnings for 3rd party code
* silence spurious alignment warning
Xrefs
Discussion: https://stackoverflow.com/a/35554349
Macro inspiration: 90ac46f710/f/src/util/util_safealign.h (_35)
* fixup! fix: disable warnings for 3rd party code
* fixup! fix: implicit fallthrough warning
* make uncrustify happy
* remove uncrustify-test.sh
that's probably off-topic for this PR
* fixup! fix: __attribute__(__printf__) warnings
* Update libtransmission/CMakeLists.txt
Co-Authored-By: ckerr <ckerr@github.com>
* fixup! silence spurious alignment warning
* use -w for DISABLE_WARNINGS in Clang
* refactor: fix libtransmission deprecation warnings
* fix: pthread_create's start_routine's return value
This was defined as `void` on non-Windows but should have been `void*`
* chore: uncrustify
* fix: add DISABLE_WARNINGS option for SunPro Studio
* fix "unused in lambda capture" warnings by clang++
* fix 'increases required alignment' warning
Caused from storing int16_t's in a char array.
* fix net.c 'increases required alignment' warning
The code passes in a `struct sockaddr_storage*` which is a padded struct
large enough for the necessary alignment. Unfortunately it was recast as
a `struct sockaddr*` which has less padding and a smaller alignment. The
warning occrred because of these differing alignments.
* make building quieter so warnings are more visible
* fixup! fix 'increases required alignment' warning
* Fix -Wcast-function-type warnings in GTK+ app code
https://gitlab.gnome.org/GNOME/gnome-terminal/issues/96 talks about both
the issue and its solution.
GCC 8's -Wcast-function-type, enabled by -Wextra, is problematic in glib
applications because it's idiomatic there to recast function signatures,
e.g. `g_slist_free(list, (GFunc)g_free, NULL);`.
Disabling the warning with pragmas causes "unrecognized pragma" warnings
on clang and older versions of gcc, and disabling the warning could miss
actual bugs. GCC defines `void (*)(void)` as a special case that matches
anything so we can silence warnings by double-casting through GCallback.
In the previous example, the warning is silenced by changing the code to
read `g_slist_free(list, (GFunc)(GCallback)g_free, NULL);`).
* fixup! fix "unused in lambda capture" warnings by clang++
* fixup! fix "unused in lambda capture" warnings by clang++
* fix two more libtransmission compiler warnings
* fix: in watchdir, use TR_ENABLE_ASSERTS not NDEBUG
2019-11-06 11:27:03 -06:00
qu1ck
7aa12a025d
Add labels feature ( #822 )
...
* applied changes from https://github.com/Elbandi/transmission/tree/elbandi/labels to official transmission repo
* Fix compilation errors
* Address review comments
Changed `tr_ptrArray* labels` to `tr_ptrArray labels`;
Removed tr_ptrArrayNew() tr_ptrArrayDup() tr_ptrArrayFree()
Use tr_strsep() to split string by delimiters
Update transmission-remote.1
Update rpc-spec.txt
* Fix warning, address comments
* Rebase, fix formatting and address comments
Use uncrustify to format changed files
Fix "const <type>" -> "<type> const"
Fix small comments
* Lock torrent for setLabels, check for duplicates
* Check for empty labels in daemon
* Stop on first error
2019-02-17 04:33:57 -05:00
Mike Gelfand
5b29fe1556
Ensure include guard is the first non-comment line
2017-11-14 23:21:28 +03:00
Mike Gelfand
98695fe3c1
Introduce our own assertion macros with finer control
2017-06-08 10:24:12 +03:00
Mike Gelfand
a762c770f2
Make conditional expressions explicitly boolean
2017-04-30 19:26:01 +03:00
Mike Gelfand
4f9d9ad92b
Code style change leftovers
...
For some reason, GTK client wasn't fully processed. All the rest of changes
are mostly in comments.
2017-04-21 10:40:57 +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
Mike Gelfand
3523277e7f
Ongoing refactoring (use size_t instead of int)
2015-12-25 11:34:35 +00:00
Mike Gelfand
2e6d5c8bc9
Add more booleans to the picture
2015-05-31 22:13:31 +00:00
Mike Gelfand
440f482d01
Replace tabs with spaces; remove trailing spaces
2015-01-02 11:15:31 +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
b342c2c180
(trunk, libT) #4089 : 'magnet download not verified for existing data' -- patch by cfpp2p
2014-01-19 05:03:27 +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
4c8bda8805
function pointer type correctness. mikedld
2013-09-08 17:08:18 +00:00
Jordan Lee
35638e210e
add inline wrapper functions to tr_torrent to decouple the rest of the code from tr_completion
2013-08-18 13:06:39 +00:00
Jordan Lee
058e430251
fix bug #5372 , 'wrong peer states displayed'.
2013-07-08 16:41:12 +00:00
Jordan Lee
3fb74c4e00
(trunk, libT) fix tr_torrentStat() regression in the nightlies reported in #5294 by mw3demo
2013-05-27 21:04:48 +00:00
Jordan Lee
1f2bccd17b
(libT) recycle the peer id used for public torrents after N hours of use
2013-02-02 13:42:50 +00:00
Jordan Lee
e85ece214e
(libT) rename internal struct 'tr_torrent_peers' as 'tr_swarm'
2013-01-27 21:03:52 +00:00
Jordan Lee
388da24dd0
(libT) add package-visible API hook for when a block is downloaded. Add unit test to confirm that when the last file finishes downloading, its .part suffix is removed and it's moved from the incomplete to complete dir
2013-01-26 23:08:51 +00:00
Jordan Lee
a9657d56ec
replace tr_torrent's 'float etaSpeed_KBps' field with an 'unsigned int etaSpeed_Bps' field
2013-01-06 20:15:11 +00:00
Jordan Lee
aea6d7cd6f
(trunk, libT) #5168 'make libtransmission's public funcs nonblocking when possible' -- remove tr_torrentRef() and tr_torrentUnref() as discussed in https://trac.transmissionbt.com/ticket/5168#comment:8
2012-12-14 20:04:37 +00:00
Jordan Lee
079c78981c
(trunk) #5168 'make libtransmission's public funcs nonblocking when possible' -- first attempt.
2012-12-12 20:22: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
3398a48e57
(trunk libT) #4402 "Transmission Bandwidth allocation getting overflows" -- use gvdl's patch '4402-uint-bpsoverflow.patch'
2012-07-01 02:17:35 +00:00
Jordan Lee
ae89e4683d
add user_data (void *) to the queue callback
2011-08-03 23:40:51 +00:00
Jordan Lee
ce77935009
Add a callback to be invoked when the queue starts a torrent.
2011-08-03 03:14:57 +00:00
Jordan Lee
307754e807
#671 "torrent queuing" -- modify the queue implementation s.t. every torrent has a queuePosition, even if it's not currently in the queue.
2011-08-02 03:59:54 +00:00
Jordan Lee
61174b007e
(trunk) #671 "torrent queuing" -- Preliminary implementation. Covers libtransmission; GTK+ and Qt clients, and rudimentary web client support.
2011-08-01 22:24:24 +00:00
Jordan Lee
0245703634
(trunk libT) tr_torrentGetFileMTime() used to require two stat() calls.. now it only requires one.
2011-04-02 07:36:34 +00:00
Jordan Lee
e6c0bdef6a
(trunk libT) save 48 bytes per tr_torrent object. whoo!
2011-03-31 16:08:31 +00:00
Jordan Lee
1b02eb8641
(trunk libT) use aggregation for the tr_bandwidth objects owned by tr_session and tr_torrent
2011-03-31 14:53:22 +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
896c9b54e1
(trunk libT) Add an enumeration for the peer id length. Use that enum for the peer_id fields in tr_session and tr_torrent.
...
This also avoids an extra malloc/free per-torrent and per-session, but mostly this tweak is for the extra readability of the PEER_ID_LEN=20 enum.
2011-03-10 12:35:23 +00:00
Jordan Lee
9bf2434e14
(trunk) copyediting: remove trailing spaces from source code lines in daemon/ gtk/ libtransmission/ and utils/
2011-03-04 23:26:10 +00:00
Mitchell Livingston
73956c6a4f
store secondsDownloading and secondsSeeding as ints instead of time_t
2011-02-26 15:01:07 +00:00
Mitchell Livingston
6092362c1e
revert the last commit
2011-02-26 14:59:05 +00:00
Mitchell Livingston
39709abd6e
store secondsDownloading and secondsSeeding as ints instead of time_t
2011-02-26 14:56:58 +00:00
Jordan Lee
2b9db3c242
(trunk libT) #4048 "use bitsets instead of bitfield in tr_completion" -- done.
...
Excuse the sprawl. Much of this didn't fit into self-contained commits.
2011-02-23 03:54:04 +00:00
Jordan Lee
72f9ab91fa
(trunk) make tr_torrentName() a public function.
...
This has been a private function in libtransmission for awhile now but it makes more sense as a public function.
2011-02-15 15:18:51 +00:00
Jordan Lee
06948a8514
(trunk libT) #2955 "verify pieces only when necessary, or when the user requests it." -- improvements to .resume file
...
As pointed out by longinus00 and ijuxda, storing per-piece timestamps in the .resume file can involve a lot of overhead. This commit reduces the overhead by adding a couple of optimizations: (1) in cases where *all* or *none* of the files' pieces were checked after the file's mtime, we can safely fold all the pieces' mtimes into a single per-file mtime. (2) since unix time takes up a lot of space when rendered as a benc integer, find a common per-file "baseline" number, then store the pieces' timestamps as offsets from that number. Also add documentation explaining this new format, and also better explaining the pre-2.20 progress format.
2011-02-02 21:17:16 +00:00
Jordan Lee
ba7e856ce2
(trivial) make the implementation of tr_torPieceCountBlocks(), tr_torPieceCountBytes(), and tr_torBlockCountBytes() consistent.
2011-02-01 21:32:03 +00:00
Jordan Lee
bbe51e1faf
(trunk libT) #3955 "tr_torrentNext() should be inlined" -- fixed.
2011-01-29 18:54:43 +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
Jordan Lee
8aa0f36a37
cleanup of who calls the libtransmission thread locking functions.
...
In some cases we were calling them from deep inside libtransmission, when they should have been called directly from the public-visible API functions: tr_torrentWebSpeeds_KBps(), tr_torrentPeers(), tr_torrentTrackers().
2011-01-18 23:44:36 +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
16a5fa4073
(trunk) #1408 "total downloading and seeding time per torrent" -- add patch to track how long a torrent has been seeding or downloading
2010-12-23 19:32:59 +00:00
Charles Kerr
27a1b2dc33
(trunk) one of the periodic, banal "remove-trailing-spaces from lines of source code" cleanup commits
2010-12-12 16:43:19 +00:00
Charles Kerr
43ed57b278
(trunk libT) #2955 "Lazy Verification (aka Just-in-Time Verification)" -- implemented.
2010-12-09 20:43:23 +00:00
Mitchell Livingston
b3c8ca4604
#3513 inactive limit should set torrent state as finished, not stopped
2010-09-12 18:58:49 +00:00
Charles Kerr
3655047e85
(trunk) #2560 : rename "inactive limit" to "idle limit". Add support in GTK+ client and preliminary support to Qt client
2010-07-24 02:57:39 +00:00
Mitchell Livingston
feb6e6b785
fix inactivity typo
2010-07-23 11:02:57 +00:00
Mitchell Livingston
fd0dd10419
First go at #2560 "inactive seeding time limit". libtransmission and Mac support are currently implemented.
2010-07-16 03:12:57 +00:00
Charles Kerr
6e5af03d78
(trunk) #3045 "speed units" -- change the public API of libtransmission based on feedback from livings
2010-07-04 06:07:21 +00:00
Charles Kerr
cdcc4705aa
(trunk) #3045 "make libtransmission's API byte-oriented instead of KiB-oriented." -- implemented. This is a largish commit and will break the mac build for a little while.
2010-07-03 00:25:22 +00:00
Charles Kerr
a5a1f38393
(trunk libT) fix more issues found by -Wconversion
2010-07-01 05:14:34 +00:00
Charles Kerr
254a1f15cb
(trunk libT) down the rabbit hole: various minor type correctness changes unearthed by -Wconversion
2010-06-30 16:40:19 +00:00
Charles Kerr
7e239e932e
(trunk) #3320 : "If the seed ratio is already met when download completes, the Mac callback options do not occur" -- possible fix. needs confirmation from OP or BMW
2010-06-25 06:57:34 +00:00
Charles Kerr
41f9ae0500
(trunk) #3339 "crash when download some magnet links" -- fixed
2010-06-24 20:36:05 +00:00
Charles Kerr
db44d81b24
(trunk) #3256 "libtransmission/publish.[ch] should be replaced" -- apply publish.diff for 2.10
2010-06-19 14:33:10 +00:00
Charles Kerr
13b073fcdc
(libT) #3291 "tr_torrent.infoDictOffset should be lazily evaluated"
2010-06-16 03:05:23 +00:00
Charles Kerr
5ca8d41816
(trunk libT) #2929 "persistent tracker error messages in main window" -- experimental fix
2010-05-19 19:02:25 +00:00
Charles Kerr
8a83a4bf79
(trunk libT) remove dead function tr_torrentPromoteTracker()
2010-05-19 18:23:47 +00:00
Charles Kerr
f7d4377fa1
(trunk libT) minor API cleanup: constify array arguments in tr_torrentSetFilePriorities(), tr_torrentInitFileDLs(), and tr_torrentSetFileDLs()
2010-05-12 03:03:29 +00:00
Charles Kerr
2b9ab542cb
(trunk) #3060 "Local Peer Discovery" -- in the code, rename LDS as LPD for Local Peer Discovery
2010-05-08 08:42:45 +00:00
Charles Kerr
5a34347f4f
(trunk) #3060 -- Local Peer Discovery patch from Eszet
2010-05-01 16:04:00 +00:00
Charles Kerr
b7827565ee
(trunk libT) #1869 "new status for torrents that reach seed ratio" -- possible fix for the bug reported by leena
2010-04-15 13:43:54 +00:00
Charles Kerr
1d8d9d8447
(trunk libT) code cleanup: after r10346, we don't need to keep the per-torrent cancel/block histories anymore
2010-03-10 15:55:00 +00:00
Charles Kerr
b850349479
(trunk) #2993 "'Downloaded' much greater than 'Have' or 'verified'" -- add new congestion-based throttle for 2.0
2010-03-08 04:29:58 +00:00
Charles Kerr
36d97610bd
(trunk) #2802 , #2716 , #2717 -- remember magnet links and their settings between sessions, and allow their trackers to be modified
2010-02-02 22:45:22 +00:00
Charles Kerr
9eb07e9b16
(trunk) No code changes here... filling in some of the blanks in the "peers" and "utils" doxygen groups' documentation.
2010-01-19 19:37:00 +00:00
Charles Kerr
5c26afdb52
happy new year!
2010-01-04 21:00:47 +00:00
Charles Kerr
6f68e30f37
(trunk libT) consistency tweak: rename tr_global{Lock,Unlock,IsLocked} as tr_session{Lock,Unlock,IsLocked}
2010-01-04 09:05:02 +00:00
Charles Kerr
6b8fb48d64
(trunk libT) replace the TR_INLINE macro with the standard "inline" keyword, since we require inline functions anyway
2010-01-01 22:26:35 +00:00
Charles Kerr
3e2269e5e3
(trunk libT) #2632 "Add streaming capability to libtransmission (but not the Transmission GUI clients)" -- revert this feature due to pushback from devs and users and the 1.80 freeze
2009-12-24 18:01:48 +00:00
Charles Kerr
12ffdb7d87
(trunk libT) #2632 "Add streaming capability to libtransmission (but not the Transmission GUI clients)" -- implemented
2009-12-24 01:02:54 +00:00
Charles Kerr
907c67ba78
(trunk libT) remove unnecessary #includes
2009-12-07 03:57:55 +00:00
Charles Kerr
78ead8c3dd
(trunk) update the copyright notices
2009-12-05 02:19:24 +00:00
Charles Kerr
cebcc3b6ef
(trunk libT) #2096 "magnet links" -- add a callback for clients to know when a magnet torrent's metainfo is finished downloading.
2009-11-26 17:58:44 +00:00
Charles Kerr
f69e335291
(trunk) #2096 : Magnet, BEP #9 support
2009-11-24 02:16:31 +00:00
Charles Kerr
1cbbcf9fa1
(trunk libT) jch's patches 0001 through 0004 for ticket #2576 , IPv6 support for DHT (BEP #32 )
2009-11-24 01:59:51 +00:00
Mitchell Livingston
be85dc0fac
a couple of more swarm speed removals
2009-11-22 01:12:44 +00:00
Charles Kerr
1fbcab8880
(trunk libT) make tr_findTorrentFromHash() a public API
2009-11-13 16:41:00 +00:00
Mitchell Livingston
9254de1a36
smooth out the upload eta the same way as the download eta
2009-10-25 02:42:57 +00:00
Charles Kerr
0df58b9ab4
(trunk libT) change the new public API a little bit -- clearer, but a little wordier
2009-10-20 04:43:51 +00:00
Charles Kerr
27b9f6e27d
(trunk libT) make the ".part" suffix an optional feature as per BMW's request. Clean up the code a little.
2009-10-20 03:14:44 +00:00
Charles Kerr
5a96ee9fc4
(trunk libT) make tr_torrentFindFile() a public API
2009-10-19 13:55:42 +00:00
Charles Kerr
05c77cc975
(trunk) #1483 : move completed torrents to a user-specified directory + #629 : different file extension for incomplete files
2009-10-19 05:05:00 +00:00
Charles Kerr
86ada18266
(trunk)
...
#1699 : Announce to multiple trackers at once
#2424 : Tracker address is not listed in GTK client.
2009-09-25 21:05:59 +00:00
Charles Kerr
034d14639a
(trunk libT) use tr_torrentName() instead of tor->info.name
2009-09-17 03:24:35 +00:00
Charles Kerr
deb25906d0
(trunk libT) fix #1765 : "if a downloaded file disappears, stop the torrent instead of redownloading it"
2009-08-13 17:50:41 +00:00
Charles Kerr
11717de1d0
(trunk libT) fix #2332 : filesystem-based error messages lack context
2009-08-13 17:25:26 +00:00
Charles Kerr
784464450a
(trunk libT) fix #2162 : .resume file doesn't get saved often enough when its contents change
2009-08-13 14:47:56 +00:00
Charles Kerr
bf1a544939
(trunk) all this commit does is remove trailing whitespace from some c, c++, and javascript source
2009-08-12 14:40:32 +00:00
Charles Kerr
24bb159bfe
(trunk libT) #2137 : .resume file gets saved too frequently
2009-08-07 05:29:37 +00:00
Charles Kerr
a4767894e7
(trunk) #1400 , #2308 : differentiate warnings and errors; differentiate between local messages and messages from the tracker
2009-08-05 01:25:36 +00:00
Charles Kerr
a8619eb645
(trunk libT) #529 : Time remaining for downloads is unreliable
2009-07-02 01:50:07 +00:00
Charles Kerr
39330501e4
(trunk) #2222 : Make DHT support a compile-time option, enabled by default
2009-06-21 08:57:26 +00:00
Charles Kerr
683073855e
(trunk libT) revert most of r8693 as a quick fix for a possible alignment issue on a NAS
2009-06-16 19:31:17 +00:00
Charles Kerr
deb679dab0
(trunk libT) avoid an extra per-torrent malloc/free by aggregating its tr_bandwidth into its struct
2009-06-14 22:19:19 +00:00
Charles Kerr
3d7cc36424
(trunk) #7 : DHT support. This is a work in progress... no gui/rpc support yet
2009-05-19 18:38:26 +00:00
Charles Kerr
29b1d3e2cc
(trunk) #920 : add "move data" to libT so all clients can use it
2009-05-13 15:54:04 +00:00
Charles Kerr
7f60d9db17
(trunk gtk) #1473 : Properties dialog should let you edit/view multiple torrents at once
2009-04-24 01:37:04 +00:00
Charles Kerr
f4dde1eb67
(trunk libT) omit some unnecessary tests on the bitfield checks. these seem small, but bitfields are always the top CPU abuser when I profile...
2009-04-11 03:24:36 +00:00
Charles Kerr
81766a8dcb
(trunk libT) another possible fix for #1894 : Crash when download finishes and seed ratio is already met
2009-04-09 14:10:31 +00:00
Charles Kerr
b6daa50ecf
(trunk rpc) add the ability to set file priorities and download flags when adding a new torrent via rpc
2009-04-02 20:43:42 +00:00
Charles Kerr
cc1a4ec1e9
(trunk) rpc changes:
...
1. new field "blocklist-size" to session-info, so RPC clients can know how big the blocklist is
2. new method "torrent-reannounce" so RPC clients can ask the tracker for more peers
2009-03-26 18:06:54 +00:00
Charles Kerr
41b0cc8cdd
(trunk) libT and gtk+ parts for #1889 : per-torrent vs. global speed limit confusion
2009-03-04 19:52:57 +00:00
Charles Kerr
857b3dab10
(trunk libT) #1823 : Ratio limit is only checked when peers are active
2009-03-01 13:56:22 +00:00
Mitchell Livingston
39b0108366
have the mac ui use libT's ratio settings (attempt 1); when seed ratio is reached in libT, set the seed ratio setting to "seed forever"
2009-02-14 21:15:57 +00:00
Charles Kerr
3f9a1d090b
(trunk) #1787 : add support for seeding ratio limiting in libtransmission
2009-02-13 18:23:56 +00:00
Charles Kerr
6c7097d1f4
(trunk libT) more assertions
2009-01-30 00:41:08 +00:00
Charles Kerr
486c55c1ed
(trunk libT) peerMgr: operate directly on tr_torrent and not peerMgr+torrentHash
2009-01-13 21:00:05 +00:00
Charles Kerr
08403324bd
(trunk libT) Remove tr_torrentNext() from the public libT API (wereHamster)
2009-01-13 16:39:19 +00:00
Charles Kerr
2f6b56671f
(trunk libT) win32 portability patch from Alexey
2009-01-11 17:02:04 +00:00
Charles Kerr
141847b902
(trunk libT) update the copyrights on some files that no longer have old code in them
2009-01-07 06:53:29 +00:00
Charles Kerr
0d2d375125
(trunk libT) inline a few more torrent methods
2009-01-03 00:25:27 +00:00
Charles Kerr
86d3e70121
(trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_ratecontrol, contain the it directly rather than a pointer to one allocated elsewhere on the heap.
2009-01-02 20:42:35 +00:00
Charles Kerr
199e38dd66
(trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_completion, contain the it directly rather than a pointer to one allocated elsewhere on the heap.
2009-01-02 17:01:55 +00:00
Charles Kerr
d6b4db4a78
(trunk libT) add "inline" hint to several one-liner functions
2009-01-02 06:28:22 +00:00
Charles Kerr
7a4002dd3a
(trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_bitfield, contain it directly rather than a pointer to one allocated elsewhere on the heap.
2008-12-29 09:51:54 +00:00
Charles Kerr
f1419a95c0
(trunk libT) semantic cleanup: int -> tr_bool
2008-12-13 23:39:12 +00:00
Charles Kerr
5d36543c40
(libT) #1557 : handshake peer-id doesn't match the peer-id sent in the tracker announce
2008-12-04 05:27:59 +00:00
Charles Kerr
aa9b1d2b8e
(libT) misc cleanup: use tr_bool and tr_port where appropriate
2008-12-03 04:55:10 +00:00
Charles Kerr
d12af295c1
use tr_bool instead of C bitfields. ( http://blogs.msdn.com/oldnewthing/archive/2008/11/26/9143050.aspx )
2008-11-28 22:11:41 +00:00
Charles Kerr
f44248a7d7
(libT) yet another stab at getting bandwidth management under control. this version may suck less than previous attempts. It also breaks the mac build until someone adds iobuf.[ch] to xcode...
2008-11-25 21:35:17 +00:00
Charles Kerr
a1cd6d85dc
(libT) add #ifdefs to ensure that client apps don't #include private libtransmission headers.
2008-11-24 20:17:36 +00:00
Charles Kerr
be5e6774ad
(libT) #1468 : another stab at getting the peer transfer speeds both fast and a little more consistent.
2008-11-24 04:21:23 +00:00
Charles Kerr
42fe27c067
more fucking around with the speed measurements.
2008-11-08 02:49:04 +00:00
Charles Kerr
58ea9e4be8
(libT) revise r7065
2008-11-07 05:37:59 +00:00
Charles Kerr
c8b51fb734
#1429 (libT) cleaner handling of the special case where the upload or download speed limit is zero
2008-11-07 04:10:27 +00:00
Charles Kerr
8e4fa83c77
update NEWS
2008-11-06 02:56:51 +00:00
Charles Kerr
06939cafa6
(libT) low-hanging fruit discovered from softwareelves' shark profile.
2008-10-26 15:39:04 +00:00
Charles Kerr
0c4f300f1b
#1369 : clarify the different torrent status & callbacks' APIs and typenames
2008-10-20 17:54:56 +00:00
Charles Kerr
2adcf84784
#1366 : move tr_ctor{Set,Get}Save() to a package-private header.
2008-10-20 16:00:14 +00:00