Commit Graph

864 Commits

Author SHA1 Message Date
Charles Kerr 97a6f1232e
fixup! perf: prioritize announces based on scrape stats (#1782) (#1786)
* fixup! perf: prioritize announces based on scrape stats (#1782)
2021-09-11 08:11:46 -05:00
Charles Kerr d6cb99e57c
perf: use scrape to know when a private swarm is all-seeds (#1780)
* perf: use scrape to know when a swarm is all-seeds

For private torrents, the tracker is the sole source of peers. So when a
private torrent's tracker responds that there are 0 leechers, we can use
that information to mark the entire swarm as seeders and to not initiate
connections to those peers if we are seeding. This can help seedboxes to
more efficiently pick which swarms to prioritize.

This strategy is not used on public torrents, since new seeder-to-seeder
connections can be useful there for pex.

This PR changes tr_peerMgrAddPex() to (1) remove tr_atom.seedProbability
field (which was not as robust as intended) and (2) add batches of peers
instead of a single peer.

* fix: only use all-seeds check for private torrents
2021-09-09 15:25:30 -05:00
Mike Gelfand db3d40d0ed Switch to clang-format for code formatting, include Mac client 2021-08-16 00:38:29 +03:00
Dmitry Serov af3a4d4557
Modern Objective-C syntax (#509)
* Update enabled complier warnings

* Convert to Modern Objective-C syntax using Xcode's tool

* Convert to modern objc syntax manually, fix some PR issues

* Remove unnecessary parentheses

* Use property syntax for all custom properties

* Use property syntax for all system properties

* Fix erroneously autoreleased values

* Revert VDKQueue to old objc syntax

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
Co-authored-by: Mitch Livingston <livings124@mac.com>
2021-08-07 10:27:56 +03:00
Dzmitry Neviadomski e5bff86ae7 Remove redutant statements. 2021-01-18 05:52:38 +03:00
Dzmitry Neviadomski 18266e080e Move ivars to @implementation. 2021-01-12 22:06:30 +03:00
Mitchell Livingston 74189416c6 Remove pre-10.10 codepaths 2020-12-22 22:00:06 -05:00
Mitchell Livingston 470ee010f2 Revert "Merge pull request #1039 from MaddTheSane/patch-4"
This reverts commit c0c463d660, reversing
changes made to cd2587a435.
2020-04-25 10:35:15 -04:00
C.W. Betts f1616c5065 Replace some instances of -UTF8String with -fileSystemRepresentation. 2019-07-20 13:40:33 -06:00
Mike Gelfand 8863e88570 Fix build with Xcode 10
For some reason, Mac client is the only project that references
libtransmission files as if they were a part of its own project, and
inconsistently so. Make the include/import style uniform an in line with
other projects.

Adjust Mac client include directory settings a bit along the way.
2018-09-30 13:37:30 +03:00
Dmitry Serov 18e33c5cdb Remove leftover dealloc empty lines, nullify StatsWindowController instance on close 2017-08-01 17:57:27 +07:00
Dmitry Serov 3ae8f41f71 Correct __bridge_retained and __bridge_transfer casts using ARC 2017-08-01 17:40:39 +07:00
Dmitry Serov 845dfe6017 Transition to ARC 2017-07-29 23:14:22 +07:00
Dmitry Serov 22cabec67b NSDictionary init literals 2017-07-08 22:02:00 +07:00
Dmitry Serov 95ae0688eb NSDictionary subscripting 2017-07-08 21:38:47 +07:00
Dmitry Serov 40a7b8879c NSArray subscripting 2017-07-08 16:16:01 +07:00
Dmitry Serov b743b64262 NSArray init literals 2017-07-08 15:23:05 +07:00
Dmitry Serov 87b6c451ac NSString literals 2017-07-08 15:06:32 +07:00
Dmitry Serov 80a2adc074 NSNumber literals 2017-07-07 17:34:27 +07:00
Mike Gelfand 63b6c11602 Update file icon when its name changes (Mac client) 2017-02-21 23:52:41 +03:00
Mike Gelfand fa504fb27f Bump Mac client deployment target to 10.9, fix deprecation errors 2017-02-05 18:41:47 +03:00
Mike Gelfand 4160743738 Convert tabs to spaces, remove trailing whitespace (Mac client) 2017-01-24 20:53:16 +03:00
Mike Gelfand ee0f7686b5 Fix some warnings revealed by CMake configuration compiler flags 2017-01-11 23:43:56 +03:00
Mike Gelfand 2248d3670f Get rid of $Id$ SVN keywords in source files 2016-09-02 23:10:15 +03:00
Mike Gelfand 2ca7ac7473 Get rid of some more deprecation warnings (OS X) 2016-01-08 10:05:19 +00:00
Mike Gelfand d4232cf08b #6022: Prevent stack overflow when stallness changes for lots of torrents at the same time 2015-11-25 21:53:26 +00:00
Mike Gelfand 88983c1ac1 Use tr_sys_path_remove instead of remove 2015-10-23 04:09:40 +00:00
Mitchell Livingston a7444a21b5 Yosemite: use NSDateComponentsFormatter instead of custom time string code 2014-10-17 05:12:00 +00:00
Jordan Lee e40a7d5359 (trunk) replace the tr_metainfo_builder.isSingleFile and tr_info.isMultifile fields an 'isFolder' bool in both structs.
This makes the variable naming more uniform. It also clarifies the information we're really trying to convey -- previously, isSingleFile was false whenever the torrent held a directory tree, even if there was only a single file in the tree.

Sync the Mac OS X client's use to match the libtransmission variable names.
2014-06-08 22:16:01 +00:00
Mitchell Livingston 3f2549e886 #5501 Zero-sized files not shown correctly 2013-10-27 20:56:10 +00:00
Mitchell Livingston a1ad7d8da3 Simplify the torrent complete callback method. 2013-07-14 14:35:57 +00:00
Mitchell Livingston fefba6c2da Perform callbacks in the Torrent class using GCD. 2013-07-14 14:28:40 +00:00
Jordan Lee 027e3f3066 (trunk, libT) #4682 'Add return id from duplicate torrent torrent-add rpc' -- added. 2013-05-22 20:35:38 +00:00
Mitchell Livingston 6330b49112 fix path bug from r14034 2013-02-19 02:04:42 +00:00
Mitchell Livingston 1de3ddfbc9 retain/autorelease the dictionary when seeding completes, instead of creating a new dictionary 2013-02-19 01:17:53 +00:00
Mitchell Livingston 539aeb2edd remove redundant code when creating a torrent's file list 2013-02-19 00:54:55 +00:00
Mitchell Livingston 313fe8ae94 perform the rename callback in the main thread 2013-02-11 01:47:51 +00:00
Mitchell Livingston 196bbafadb #5286 Files renamed in Mac Inspector are not re-sorted 2013-02-11 01:39:44 +00:00
Jordan Lee 69f3e31230 (libT) change the API signature for tr_torrentVerify() s.t. client code can be notified when the verify is finished 2013-01-31 21:58:25 +00:00
Mitchell Livingston 65b51cb4c7 remove two dictionary subscripts 2013-01-26 19:46:42 +00:00
Mitchell Livingston 94a329b38a update Mac code for logging changes in r13868 2013-01-26 19:17:58 +00:00
Mitchell Livingston 45c8174cc2 Use tr_torrentRenamePath() instead of the removed tr_torrentRename() 2013-01-23 03:44:47 +00:00
Mitchell Livingston 806fdb0314 When renaming a transfer or file, reload the proper tables. 2013-01-22 03:54:51 +00:00
Mitchell Livingston 5a53ea421f use the new rename function for the torrent, instead of the per-file function; update the interface right away when renaming the torrent 2013-01-22 00:44:58 +00:00
Mitchell Livingston 9236571f1c #1220 Initial Mac support for changing file and folder names. Not fully complete. 2013-01-22 00:09:48 +00:00
Mitchell Livingston 1e0f36fda0 #2794 Don't apply auto-grouping until torrent is demagnetized 2012-10-30 00:22:10 +00:00
Mitchell Livingston 9c8395d109 silence several warnings related to printing ints in strings 2012-08-13 00:52:04 +00:00
Mitchell Livingston 97385bcdee don't use the convenient accessor functionality in file parsing 2012-08-12 14:10:18 +00:00
Mitchell Livingston 14d4387807 missed a line 2012-08-06 04:02:18 +00:00
Mitchell Livingston 6bb897d175 #4454 Patch by 0ptional: Time Machine exclusion for partial download does not work on Lion 2012-08-06 03:59:07 +00:00