Commit Graph

520 Commits

Author SHA1 Message Date
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 e6d136f724 (trunk libT) #1521 "memory cache to reduce disk IO" -- improve one of the debugging messages 2010-07-01 16:26:30 +00:00
Charles Kerr 77c43d3f66 (trunk libT) add randomness to the peer unchoking algorithm 2010-06-27 01:24:48 +00:00
Charles Kerr acd0e77901 (trunk libT) #3329 "connection problems when downloading" -- when deciding which peer to connect to, take download/seed status into account 2010-06-26 18:49:31 +00:00
Charles Kerr e70ed9a2e8 (trunk libT) #3329 "connection problems when downloading" -- raise MAX_CONNECTIONS_PER_SECOND up the higher value used in 1.93 2010-06-26 17:54:19 +00:00
Charles Kerr 98cec85e46 (trunk libT) #3311 "MingW build of Transmission" -- apply further win32 diffs from rb07 2010-06-25 20:36:10 +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 16f1ebefce (trunk libT) when comparing peer speed to decide which peers to unchoke, use different criteria for seeding, downloading public, and downloading private. Loosely related to #3334. 2010-06-23 04:36:16 +00:00
Charles Kerr 7e9ba59807 (trunk libT) minor procedural tweak to tr_peerMgrPeerStats() inspired by #3334 2010-06-22 20:39:19 +00:00
Charles Kerr 610c912c5a (trunk libT) #3329 "connection problems when downloading" -- randomize the peer arrays so that all untested peers will have an equal chance of being used. Suggested by Longinus00 2010-06-22 16:31:38 +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 e70bebf930 (trunk) #1521 "memory cache to reduce disk IO" -- commit block-cache-rc1.diff to trunk for the nightlies. 2010-06-19 14:25:11 +00:00
Charles Kerr a5e708c824 (trunk libT) rejigger the filter order again, based on profiling in cachegrind 2010-06-14 12:48:28 +00:00
Charles Kerr 38a254ba78 (trunk libT) as long as I'm committing these CPU tweaks, might as well throw in #3289 too. To undo all this, we can revert to r10745 2010-06-14 12:01:50 +00:00
Charles Kerr 89201ab829 (trunk libT) when filtering out peers that aren't candidates, use the fastest filter tests first, so that the more expensive tests will be applied to fewer peers. In particular, call peerIsInUse() last. 2010-06-14 11:57:46 +00:00
Charles Kerr f0a70d77b6 (trunk libT) experimental commit 2010-06-14 03:42:54 +00:00
Charles Kerr ec79257999 (trunk libT) add a much faster (but more complicated) implementation of comparePeerCandidates(). For testing in the nightlies, leave both and the new implementations in the code and run them both (which will make the nightlies slower for awhile) and crash if the results differ from each other. When it doesn't crash anymore I'll remove the old implementation. Happy testing! >:)
-place and compare them to make sure they both give the same results.  If no testers can make it crash
2010-06-14 01:56:03 +00:00
Charles Kerr 48f9d61ba1 (trunk libT) small speed improvements to comparePeerCandidates() 2010-06-13 23:06:50 +00:00
Mitchell Livingston 493f5afa6a trivial improvement to compareSeedProbabilities() 2010-06-13 20:54:03 +00:00
Charles Kerr a33be6c4b8 (trunk libT) speedups to comparePeerCandidates() 2010-06-13 17:17:33 +00:00
Charles Kerr cf3417b2cd (trunk libT) lower the max # of outbound peer connections a little 2010-06-04 16:48:36 +00:00
Charles Kerr fcda98c86f (trunk libT) promote PEX peers up the food chain a little bit 2010-05-19 15:53:09 +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 97affa46a9 (trunk libT) #2609 "Leave 5% of connection slots for incoming connections" -- implemented in trunk for 2.00 2010-04-29 03:21:54 +00:00
Charles Kerr 9d3e02ce5c (trunk libT) #2993 '"Downloaded" much greater than "Have" or "verified"' -- tweak the download throttle algorithm a bit to try & address the slowness reported by Rolcol @ http://trac.transmissionbt.com/ticket/2993#comment:42 2010-04-22 03:12:31 +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 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 0193a577b9 (trunk libT) increase request TTL to 120 seconds 2010-03-22 02:27:57 +00:00
Charles Kerr fe3d9ed95a (trunk) one of the least interesting commits ever: remove trailing spaces from source code lines... 2010-03-17 17:07:40 +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 3aa3ec7d14 (trunk libT) #2993 "'Downloaded' much greater than 'Have' or 'Verified'" -- tweak the new throttle code based on slow download feedback from gn0s1s in irc, from Rascal @ http://trac.transmissionbt.com/ticket/2993#comment:29, and from AGSystem @ http://forum.transmissionbt.com/viewtopic.php?p=45631&f=1#p45631 2010-03-10 15:34:27 +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 b1a29969fe (trunk libT) disable the comparePieceByWeight assertions in trunk too. 2010-03-07 22:56:14 +00:00
Charles Kerr 095cc3e05f (trunk libT) "don't cancel requests for blocks that we're downloading from slow peers" -- fixed in trunk for 1.92 2010-03-06 14:56:15 +00:00
Charles Kerr 2be28fe9dd (trunk libT) #2993 "'Downloaded' much greater than 'Have' or 'Verified'" -- found a weighted piece sorting issue while trying to confirm or refute this issue. 2010-03-03 04:16:18 +00:00
Charles Kerr f1221f958f (trunk libT) dead code removal -- the buffer & buflen arguments to tr_ioTestPiece() were unused 2010-02-23 06:05:18 +00:00
Charles Kerr 1499f5c405 (trunk libT) #2906 "remove unused code: Torrent.requests array is never sorted by time" -- added to trunk for 1.92(trunk libT) #2906 "remove unused code: Torrent.requests array is never sorted by time" -- added to trunk for 1.92(trunk libT) #2906 "remove unused code: Torrent.requests array is never sorted by time" -- added to trunk for 1.92(trunk libT) #2906 "remove unused code: Torrent.requests array is never sorted by time" -- added to trunk for 1.92(trunk libT) #2906 "remove unused code: Torrent.requests array is never sorted by time" -- added to trunk for 1.92(trunk libT) #2906 "remove unused code: Torrent.requests array is never sorted by time" -- added to trunk for 1.92(trunk libT) #2906 "remove unused code: Torrent.requests array is never sorted by time" -- added to trunk for 1.92(trunk libT) #2906 "remove unused code: Torrent.requests array is never sorted by time" -- added to trunk for 1.92(trunk libT) #2906 "remove unused code: Torrent.requests array is never sorted by time" -- added to trunk for 1.92 2010-02-22 15:07:14 +00:00
Charles Kerr a973e38bb5 (trunk libT) #2922 "announce's 'download' field should follow the de facto standard" -- added to trunk for 1.91 2010-02-20 15:36:25 +00:00
Charles Kerr 1724553212 (trunk) per-tier up/down/corrupt byte counts for announcing to trackers 2010-02-08 16:47:30 +00:00
Charles Kerr 9489762d26 (trunk libT) remove the last two experimental commits... nightly users, it's probably safe to use svn again. or at least as safe as usual... ;) 2010-02-03 01:00:08 +00:00
Charles Kerr 825d5c3a5a (trunk libT) this is an experimental commit for a debugging session with people who don't have access to build tools. unless you're one of those testers, or unless you enjoy not connecting to peers, you DO NOT WANT TO USE THIS REVISION 2010-02-03 00:39:27 +00:00
Charles Kerr bdb706edb9 (trunk libT) this is an experimental commit for a debugging session with people who don't have access to build tools. unless you're one of those testers, you might not want to use this revision. 2010-02-03 00:28:07 +00:00
Charles Kerr 30f85172c4 (trunk libT) taper off the number of new connections per pulse per torrent based on how long the torrent's been running. Brand-new torrents get a higher burst of new peer connection attempts, but long-running torrents don't need that kind of activity. 2010-02-03 00:12:19 +00:00
Charles Kerr f010687d81 (trunk libT) #2792 "Since 1.80 update downloads failing" -- a better fix than r10015... 2010-01-25 05:19:54 +00:00
Charles Kerr bfbc126ea0 (trunk libT) #2792 "Since 1.80 update downloads failing" -- fixed in trunk for 1.83 2010-01-25 04:54:04 +00:00
Charles Kerr 8e16b74dad (trunk libT) #2775 "Saving some memory/storage" -- committed for 1.80 2010-01-20 18:48:52 +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 4b0c1ea332 (trunk libT) #2705 "speeding up request queue management" -- committed v1.1.diff for 1.80 2010-01-12 20:17:22 +00:00
Charles Kerr 182cbb8b90 (trunk) one of the less-interesting commits in a while: remove trailing spaces from lines 2010-01-05 23:47:50 +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 1eb0cdd7c6 (trunk libT) fix various minor compiler warnings that show up when you build libtransmission with NDEBUG defined 2009-12-28 23:27:17 +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 d9369718b3 (trunk) #2548 "T's request queue can send out too many duplicate requests" -- (1) fix r9465 implementation bug that caused some peers to get starved of requests if they rejected a request or choked, then unchoked us. (2) increase a block request's TTL by 15 seconds to reduce cancel/req cycles between two or more blocks (3) add a debug mode to the GTK+ client's peer tab to watch the pending requests counts both up & down 2009-12-16 18:20:01 +00:00
Charles Kerr f3e8a29e0f (trunk libT) #2548 "T's request queue can send out too many duplicate requests" -- fix off-by-one when counting how many peers we'll send a given block request to during endgame 2009-12-15 21:33:24 +00:00
Charles Kerr 22e33f784b (trunk libT) #2548 "T's request queue can send out too many duplicate requests" -- experimental revision to r9465 to address further overdownloading issues 2009-12-15 20:13:34 +00:00
Charles Kerr 2d1b6748ec (trunk libT) #2661 "better torrent prioritization when making outbound peer connection attempts" -- implemented for 1.80 2009-12-12 17:05:31 +00:00
Charles Kerr 0f14f62ac1 (trunk libT) new utility function tr_timerAddMsec() 2009-12-10 19:04:10 +00:00
Charles Kerr 1c772bd1fe (trunk libT) finally get rid of the last remnants of tr_timer 2009-12-10 05:52:46 +00:00
Charles Kerr 78ead8c3dd (trunk) update the copyright notices 2009-12-05 02:19:24 +00:00
Charles Kerr 6d008257c8 (trunk libT) minor tweaks: make bencode's int parser code more consistent; make some comments more readable 2009-12-02 15:16:29 +00:00
Charles Kerr 6eec59008c (trunk libT) experimental: Reduce SO_SNDBUF and SO_RCVBUF for tracker announce/scrape messages. Reduce SO_RCVBUF for outgoing peer connections on seeding torrents. 2009-12-02 05:30:46 +00:00
Charles Kerr 03351e9a4e (trunk libT) #2607 "avoid unnecessary calls to getPeerCandidates(), wasted cycles in peerIsInUse()" 2009-11-29 18:35:02 +00:00
Charles Kerr de0d6af06b (trunk libT) remove unnecessary code 2009-11-28 16:25:05 +00:00
Charles Kerr d1f9b8ddee (trunk libT) performance improvements to peer-mgr.c's peerIsInUse() 2009-11-28 07:15:31 +00:00
Charles Kerr 864ae61a70 (trunk libT) tweak the debugging message for the atom manager 2009-11-27 14:27:44 +00:00
Charles Kerr e1c6b792aa (trunk libT) #2610 "avoid unnecessary calls to time(NULL)" 2009-11-26 18:47:08 +00:00
Charles Kerr d096b39f4b (trunk libT) #2430 "peer atom pool grows too large" -- tweak the default atom shelf lives based on discussion in the ticket's comments section 2009-11-26 18:38:37 +00:00
Charles Kerr 1101f6710e (trunk libT) #2430 "Peer atom pool grows too large" -- add an atom expiration system along the lines of the suggestions in this ticket's comments. jch and KyleK, let me know if you think anything in this commit needs improvement. 2009-11-26 05:13:58 +00:00
Charles Kerr d5ae900e4e (trunk) #2096 "magnet links": in libT, cleanup. in GTK+ client, add different status text in the main window for magnet torrents: "downloading .torrent data" 2009-11-24 15:51:16 +00:00
Charles Kerr f69e335291 (trunk) #2096: Magnet, BEP #9 support 2009-11-24 02:16:31 +00:00
Charles Kerr 4322837189 (trunk) remove dead code 2009-11-23 21:57:10 +00:00
Charles Kerr 94a48c4c81 (trunk libT) a very minor commit. remove trailing spaces from lines and other stuff like that 2009-11-22 03:57:36 +00:00
Mitchell Livingston 9dc679ab58 Display the proper seeder/leecher/download count for backup trackers, instead of all zeros. 2009-11-21 03:13:27 +00:00
Charles Kerr 22f7a64aa2 (trunk libT) #2575: PEX is not meant to do forwarding 2009-11-20 07:47:31 +00:00
Charles Kerr 4b563b7bde (trunk libT) #2589: similar to r9529, just removing more redundant calls to time(NULL) 2009-11-19 20:31:34 +00:00
Charles Kerr 2b71014888 (trunk libT) #2589: unnecessary calls to time() cause high CPU load 2009-11-19 03:00:20 +00:00
Charles Kerr 6f54cb01e6 (trunk libT) #2552 "torrent state doesn't change automatically anymore" new version of r9482 that doesn't have the problems pointed out in #2557 2009-11-09 06:36:47 +00:00
Charles Kerr b906c125ac (trunk libT) #2548: T's request queue can send out too many duplicate requests 2009-11-08 23:20:00 +00:00
Charles Kerr acc0ded449 (trunk libT) undo #2552's commit r9482 because it causes new problems. #2552 will need a different fix instead. 2009-11-05 15:41:54 +00:00
Charles Kerr 45e84d9ac6 (trunk libT) #2552: Torrent state doesn't change automatically anymore 2009-11-05 01:31:35 +00:00
Charles Kerr 4d817b0701 (trunk libT) undo r9465 + r9466, which was the experimental new request manager. It still still needs some tinkering before it's ready for the nightlies...(trunk libT) undo r9465 + r9466, which was the experimental new request manager. It still still needs some tinkering before it's ready for the nightlies...(trunk libT) undo r9465 + r9466, which was the experimental new request manager. It still still needs some tinkering before it's ready for the nightlies...(trunk libT) undo r9465 + r9466, which was the experimental new request manager. It still still needs some tinkering before it's ready for the nightlies...(trunk libT) undo r9465 + r9466, which was the experimental new request manager. It still still needs some tinkering before it's ready for the nightlies...(trunk libT) undo r9465 + r9466, which was the experimental new request manager. It still still needs some tinkering before it's ready for the nightlies...(trunk libT) undo r9465 + r9466, which was the experimental new request manager. It still still needs some tinkering before it's ready for the nightlies...(trunk libT) undo r9465 + r9466, which was the experimental new request manager. It still still needs some tinkering before it's ready for the nightlies...(trunk libT) undo r9465 + r9466, which was the experimental new request manager. It still still needs some tinkering before it's ready for the nightlies... 2009-11-02 00:17:30 +00:00
Charles Kerr 296411e093 (trunk libT) turn off a debugging message in the terminal 2009-11-01 03:56:10 +00:00
Charles Kerr 0a4d8602e0 (trunk libT) #2548: T's request queue can send out too many duplicate requests 2009-11-01 02:10:47 +00:00
Charles Kerr 35d8a00912 (trunk libT) another hammer-the-network-less patch like r9414 2009-10-29 18:11:10 +00:00
Charles Kerr 3680896a19 (trunk libT) #2508 atom->port never updated 2009-10-29 16:10:03 +00:00
Charles Kerr 7a4f22ba12 (trunk libT) use part of hexum's patch from <http://forum.transmissionbt.com/viewtopic.php?p=41572#p41572>. The part added sorts peers by their overall speed when deciding which ones to disconnect from first, and which to request from first. 2009-10-27 20:06:55 +00:00
Charles Kerr 2acc006807 (trunk libT) There seems to be a lot of talk about T hosing routers, preventing other network traffic, etc. As an experiment let's try reducing the number of new connections we allow per second and see if/how that affects performance. 2009-10-27 16:08:38 +00:00
Charles Kerr c85ee09fef (trunk) trunk's just been too stable lately. #2119: reload settings.json on SIGHUP 2009-10-23 03:41:36 +00:00
Charles Kerr 00197cc461 (trunk libT) undo today's earlier commit r9381 for #2508 -- looks like I introduced a bug into the patch. 2009-10-22 19:08:45 +00:00
Charles Kerr bb541fc8d6 (trunk libT) #2508: atom->port never updated 2009-10-22 15:05:56 +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 aad2a886be fix oops 2009-10-03 13:17:18 +00:00
Charles Kerr 412f0b40a2 (trunk libT) fix a crash reported by John Clay and silence a gcc warning 2009-10-03 13:15:32 +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 ff260ee2fb (trunk libT) fix a couple of compiler warnings from the last commit. 2009-09-10 03:28:55 +00:00