Commit Graph

666 Commits

Author SHA1 Message Date
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
Charles Kerr 19b3a84133 (trunk libT) fix oops 2009-09-10 03:07:54 +00:00
Charles Kerr fb83a0464e (trunk libT) #2395: caching too many peers between sessions makes startup slow and uses too much memory (KyleK, stdisease, et al) 2009-09-10 02:20:35 +00:00
Charles Kerr 9a02f9e48e fix r9073 oops; I committed a few debugging changes by accident too 2009-09-08 20:02:51 +00:00
Charles Kerr b7821bfb16 delete the obsolete zsh bindings 2009-09-08 20:01:12 +00:00
Charles Kerr 23b3faada4 (trunk libT) #2372: 'Unregistered Torrent Pass' Pauses Download 2009-08-31 16:41:54 +00:00
Charles Kerr ed512c215f (trunk, libT) #2365: Peer settings for an individual torrent should override the global limit. 2009-08-31 15:59:43 +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 cb79214854 (trunk) remove trailing spaces 2009-08-10 20:04:08 +00:00
Charles Kerr b2e26ea90a (trunk libT) #2318: improve the peer lists used in the .resume file and in PEX 2009-08-07 05:41:33 +00:00
Charles Kerr 24bb159bfe (trunk libT) #2137: .resume file gets saved too frequently 2009-08-07 05:29:37 +00:00
Charles Kerr 67c1c6db95 (trunk libT) possible fix for #2301, which is a valgrind complaint about uninitialized memory being written to disk while saving the bencoded .resume file. this commit theorizes that the warning is caused by not zeroing out the tr_peer array before filling it, so the extra bits in tr_addresses' ipv4/ipv6 union were never initialized. if this theory is correct, this commit (which zeros the memory first) should fix the bug. 2009-08-07 00:58:34 +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 33b45e72c6 (trunk libT) fix r8781 oops 2009-07-06 12:27:24 +00:00
Charles Kerr 90097785ca (trunk libT) #1841: Transmission doesn't stick to maximum peer limits 2009-07-05 18:28:36 +00:00
Charles Kerr 24746cff7f (trunk libT) minor #include futzing 2009-07-01 14:58:57 +00:00
Charles Kerr 8d52cc2adb (trunk libT) scrimp & save a few more bytes per each peer 2009-06-24 04:14:39 +00:00
Charles Kerr 5e208a2909 (trunk libT) save some memory, and an unnecessary malloc/free, for each torrent 2009-06-24 03:54:11 +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 8504baf7aa (trunk libT) #2022: Torrentbar shows wrong speeds: Webseed-peers aren't taken into account 2009-05-28 02:28:14 +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 8807c286c0 (trunk libT) fix r8394 oops reported by Ryoujin. hooray for having many eyes 2009-05-15 02:12:50 +00:00
Charles Kerr 1fc7f10b6c (trunk libT) #2035: Transmission causes wakeups by unnecessary polling 2009-05-13 20:54:35 +00:00
Charles Kerr 76d8410f7e (trunk libT) remove r8370's testing assertions 2009-05-11 16:04:31 +00:00
Charles Kerr f9aa317998 (trunk) improvements to peer-mgr.c. also, new temporary assert()s to help test them. 2009-05-09 06:08:21 +00:00
Charles Kerr 6559fbbd16 (trunk) support an X-Transmission-Session-Id header in the RPC server. Yesterday's approach of including the session_id in posted forms -- which is a typical approach -- isn't sufficient for Transmission, since it also allows remote access via JSON/RPC. (part 1 of 2. part 2 is kjg's web ui patch) 2009-05-08 14:56:11 +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 73b546c817 (trunk libT) possible fix for #1894: Crash when download finishes and seed ratio is already met 2009-03-30 05:30:28 +00:00
Charles Kerr f1d92708e7 (trunk) more speedlimit work 2009-03-28 16:47:01 +00:00
Erick Turnquist 2f8d56e77f (trunk libT) make IPv6's two IPv4-compatible address formats invalid peer addresses
IPv4 peers should only be seen from an IPv4-connected tracker.
2009-03-27 01:31:17 +00:00
Erick Turnquist dd7eb76718 (trunk libT) remove tr_suspectAddress() since all seems well 2009-03-27 01:14:25 +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
Charles Kerr c07180fa49 (trunk libT) #1829: age out the refill list every 10 seconds, not every 1 second 2009-02-25 22:15:04 +00:00
Charles Kerr 91940d1c07 (trunk libT) #1829: high CPU use in refillPiece() 2009-02-25 13:04:51 +00:00
Charles Kerr 3ce4f44a6e (trunk libT) more #1829 2009-02-18 22:25:13 +00:00
Charles Kerr f9e400a22d (trunk libT) a little more work on #1829 2009-02-18 21:27:44 +00:00
Charles Kerr b322fb2e54 (trunk libT) experimental fix for #1829: High CPU use in refillPulse() 2009-02-18 17:19:36 +00:00
Mitchell Livingston 3d1cf6ba0d assorted trivial cleanup 2009-02-17 04:00:53 +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 509465a85b (trunk libT) partial revert of r7825: back out the refillPulse() changes 2009-02-11 16:34:35 +00:00
Charles Kerr 08289b9d13 (trunk libT) #1748: possible fix for the kqueue corruption errors by consolidating the three per-torrent libevent timers into three session-wide timers. Since most people reporting this error have lots of torrents loaded, consider a hypothetical example: if you had 500 torrents, this patch will reduce 1,500 libevent timers down to just three timers. On top of that, those three have simpler life cycles too... 2009-02-04 16:58:52 +00:00
Charles Kerr 5812b9f05b (trunk libT) more debugging messages 2009-01-24 17:20:07 +00:00
Charles Kerr 06887c9e9e (trunk libT) better implementation of r7761 to take into account feedback from repattila in the forums 2009-01-20 15:47:25 +00:00
Charles Kerr 4cbbefd656 (trunk libT) bah, fix r7761 oops 2009-01-20 05:45:03 +00:00
Charles Kerr 69404a8c36 (trunk libT) when pruning out slow peers, don't prune if we don't have good candidates to replace them. 2009-01-20 03:32:54 +00:00
Charles Kerr 9c9c94a81d (trunk libT) discard peers from the tracker or pex that have a port of 0 or a multicast address. 2009-01-17 23:14:35 +00:00
Charles Kerr 7a91840639 (trunk libT) Remove tr_peerMgrHasConnections, it isn't used anywhere 2009-01-14 01:37:24 +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 8b72408948 (trunk libT) Get rid of peer-mgr-private.h (from wereHamster) 2009-01-13 16:32:43 +00:00
Charles Kerr a13e0755f0 (trunk libT) close open files immediately after they're done downloading 2009-01-12 21:59:53 +00:00
Charles Kerr 2f6b56671f (trunk libT) win32 portability patch from Alexey 2009-01-11 17:02:04 +00:00
Charles Kerr fe816d8135 (trunk) update the GPL code's copyright dates 2009-01-10 23:09:07 +00:00
Charles Kerr 2702fc289a (trunk libT) finally get around to making upload-slots-per-torrent a settings.json option, thanks to friendly prodding from ful in #transmission 2009-01-09 15:45:44 +00:00
Charles Kerr 73d32850ed (trunk libT) fix refcount error in the new peer-io refcount code 2009-01-06 03:21:22 +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 30a989f1df (trunk libT) fix the new-code errors reported by ZogG and Rolcol and Spaham 2009-01-05 18:20:47 +00:00
Charles Kerr 1b527610dd (trunk libT) yet another step in the debugging cycle, crash report from ZogG and Rolcol 2009-01-05 07:57:10 +00:00
Charles Kerr 124658791a (trunk libT) probably fix r7618 reported in #transmission by Rolcol 2009-01-05 06:45:08 +00:00
Charles Kerr 5ccd5a7700 (trunk libT) fix the much-hated "Assertion failed: (tr_isPeerIo( io ))". Also, repeated calls to tr_date() were taking up about 78% of the time in tr_stat(), so instead of calling multiple times, call it once in tr_stat() and pass that value around to the functions that need it. 2009-01-05 04:27:54 +00:00
Charles Kerr ca6dd89e10 (trunk libT) minor tr_ptrArray API cleanup 2009-01-04 16:59:15 +00:00
Charles Kerr 78cf80d3c0 (trunk libT) experimental code to get more peers faster 2009-01-03 07:23:26 +00:00
Charles Kerr 0d2d375125 (trunk libT) inline a few more torrent methods 2009-01-03 00:25:27 +00:00
Charles Kerr d756d6b58f (trunk libT) commit some debugging messages that were added to trackdown the multicast filter issue 2009-01-02 21:50:51 +00:00
Charles Kerr d202c5ecea (trunk libT) inline the ptrarray one-liners 2009-01-02 20:19:10 +00:00
Charles Kerr b41cf9f231 (trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_bandwidth, contain the it directly rather than a pointer to one allocated elsewhere on the heap. 2009-01-02 19:56:06 +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 82c5aca513 (trunk libT) Remove UNUSED attribute, the function argument is being used 2009-01-01 18:36:58 +00:00
Charles Kerr 5381e20e9b (trunk libT) improve piece verification speed by providing a larger buffer, and add a mechanism to reuse it when verifying an entire torrent at once. 2008-12-31 18:08:13 +00:00
Charles Kerr 71864c18e2 (trunk libT) blockIteratorNew() was overallocating much more memory than it used. 2008-12-30 21:18:30 +00:00
Charles Kerr 2b4193b200 (trunk libT) remove obsolete tr_peerMgr.c's getConnectedPeers() 2008-12-30 08:20:16 +00:00
Charles Kerr 427f639664 (trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_ptrArray, contain the tr_ptrArray directly rather than a pointer to one allocated elsewhere on the heap. 2008-12-29 08:54:36 +00:00
Charles Kerr 6f8e5352ab (trunk libT) fix connectivity error reported by Stargazer. Also, add more debug statements to track down errors like this in the future 2008-12-24 02:50:08 +00:00
Charles Kerr dfcc9173e5 (trunk libT) #include "session.h" cleanup from wereHamster 2008-12-23 17:27:15 +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
Erick Turnquist 38efb62100 add some debugging stuff to track down where some bogus addresses are coming from 2008-12-21 19:13:52 +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 d4b4f39754 test commit for vraa 2008-12-18 03:22:08 +00:00
Charles Kerr de24179d05 (trunk libT) fix assertion error reported by Rolcol earlier today in #transmission 2008-12-17 03:38:02 +00:00
Charles Kerr 1a7ab297ea (trunk libT) more runtime safety checks 2008-12-16 23:31:05 +00:00
Charles Kerr 69b8caa93b (trunk libT) yet another assertion commit 2008-12-16 22:52:04 +00:00
Charles Kerr 15ecde281b (trunk libT) fix jhujhiti's pex crash 2008-12-16 22:28:19 +00:00
Charles Kerr 31e49df302 (trunk libT) add a similar check to the peer->addr in the place where crash is occurring 2008-12-16 21:12:14 +00:00
Charles Kerr 3739f5c72c (trunk libT) fix oops: accidentally committed an fprintf() debug message. hi, titer. 2008-12-16 06:35:51 +00:00
Charles Kerr 9594112d27 updated email address 2008-12-16 00:20:44 +00:00
Charles Kerr e813ea69ab (trunk libT) probable fix for the "greedy peer" bug 2008-12-15 21:22:08 +00:00
Charles Kerr 54be88dec3 (trunk libT) add ipv6 support by jhujhiti. I think this is the largest user-contributed patch we've ever used... thanks jhujhiti :) 2008-12-15 00:17:08 +00:00
Charles Kerr 0272708d32 (trunk libT) remove a couple of redundant and/or unused fields from struct peer_atom and tr_peermsgs. 2008-12-12 02:44:21 +00:00
Charles Kerr 451058d5cd (libT) add some documentation about the three separate peer structs and how they are related. 2008-12-11 17:02:34 +00:00
Charles Kerr 65fe66c470 (trunk libT) fix bug which caused libtransmission to hold onto nonproductive peers for longer than it should've 2008-12-11 07:04:46 +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 761d7dba8e (libT) when picking peers to connect to, all other things being equal, pick peers from more reliable sources 2008-12-03 01:22:24 +00:00
Charles Kerr 166c6e5f3c (libT) add tr_peer_stat.isSeed 2008-12-02 23:16:01 +00:00
Charles Kerr d4ee0d714a (libT) #1379: support "partial seeds" BEP 22 2008-12-02 19:46:51 +00:00
Charles Kerr c414377c1a (libT) fix r7234 bug reported by John_Clay 2008-12-02 19:06:08 +00:00
Charles Kerr f927ea5d63 (libT) #1549: support fast exensions' "reject" and "have all/none" messages 2008-12-02 17:10:54 +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
Charles Kerr c910993b68 #1379 lay some very early groundwork for "partial seeds" -- change tr_completion's enum to use the partial seed terminology 2008-11-30 01:52:45 +00:00
Charles Kerr a2ad4f6543 (libT) patch from jhujhiti to add ipv6 support. 2008-11-30 00:47:18 +00:00
Charles Kerr 40b5fc5351 (libT) #1532: patch from jhujhiti to remove (unused) fast extensions 2008-11-29 20:37:34 +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 9de7ccf7da (libT) slightly more accurate reporting of piece data vs. raw data 2008-11-26 15:58:26 +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 24deca88e4 oops, turn off a debugging message 2008-11-24 04:35:34 +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 9571f3b714 (libT) #1468: speed display is very jumpy 2008-11-23 16:31:28 +00:00
Charles Kerr d7b3024dbc (libT) #1488: peer port missing in json rpc interface 2008-11-20 20:39:19 +00:00
Charles Kerr f172e8f96e (libT) another possible fix for #1468: Speed display is very jumpy 2008-11-20 03:07:26 +00:00
Charles Kerr a0fd42c5c3 (libT) better possible fix for #1468: Speed display is very jumpy 2008-11-17 04:00:57 +00:00
Charles Kerr 1619652997 revert 7120; it was not a fix 2008-11-16 21:15:37 +00:00
Charles Kerr f385cd4e02 (libT) possible fix for #1468: Speed display is very jumpy 2008-11-16 17:47:42 +00:00
Charles Kerr d42fae7dce (libT) fix r7109 oops spotted by BentMyWookie 2008-11-15 01:07:08 +00:00
Charles Kerr 930b94a4de (libT) some people have complained that Transmission doesn't upload enough until after downloading is complete. This commit ought to fix that. 2008-11-15 00:46:51 +00:00
Charles Kerr 73197c53f3 tweak the bandwidth manager code a little more to try & prevent oscillation 2008-11-08 15:39:48 +00:00
Charles Kerr 9e6b768f3d (libT) fix minor r7069 oops: remove a console debug message 2008-11-08 02:54:17 +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 c8a07d7ca6 (libT) fix r7055 bug reported by BentMyWookie. Also, narrow the bandwidth allocator's `clamp' range to lessen oscillation 2008-11-06 04:16:53 +00:00
Charles Kerr 8e4fa83c77 update NEWS 2008-11-06 02:56:51 +00:00
Charles Kerr 17b8624ca7 (libT) #1417: revert r7039 2008-11-04 21:33:24 +00:00
Charles Kerr 9859578a7d (libT) #1417: overhead should be counted in the global stats 2008-11-04 17:37:51 +00:00
Charles Kerr 631d9d9a8f (libT) fold together some redundant sanity tests that were taking up 6.6% in softwareelves' profile 2008-10-27 04:27:55 +00:00
Charles Kerr 06939cafa6 (libT) low-hanging fruit discovered from softwareelves' shark profile. 2008-10-26 15:39:04 +00:00
Charles Kerr d03f0283dd (libT) minor code cleanup for r6954 2008-10-25 15:19:46 +00:00
Charles Kerr e15114e2aa new & improved fix for #617: Transmission goes above the set bandwidth limits 2008-10-25 02:20:16 +00:00
Charles Kerr 84dcaab5f4 remove dead code 2008-10-22 13:57:30 +00:00
Charles Kerr aba2849375 #1302: possible fix 2008-10-21 19:27:57 +00:00
Charles Kerr ea668ca9ff (libT) possible fix for the up/down display inconsistency reported by BentMyWookie. 2008-10-20 03:47:48 +00:00
Charles Kerr b5c2f14387 (libT) dead code removal 2008-10-14 20:44:41 +00:00
Charles Kerr e660acc669 fix oops 2008-10-14 01:29:33 +00:00
Charles Kerr ef5bc3f150 (libT) more win32 work copied from spry's code:
(1) add #define for {read,write,strncasecmp} -> {_read,_write,_strnicmp}
(2) fix a couple more variadic macros that didn't get fixed in the last commit
(3) use evutil_strtoll() instead of strtoll()
2008-10-14 01:00:15 +00:00
Charles Kerr f00c8ff34d possible fix for #1305 "Transmission losing data - Session Transfer significantly higher than actual download". This patch may need more user testing and will definitely make webseeds slower. suck it up. 2008-10-11 04:07:50 +00:00
Charles Kerr 413211288b #1338: fix win32 build errors 2008-10-10 02:14:51 +00:00
Charles Kerr 964d7e193c (libT) #1338: EMSGSIZE and EPROTO not found on Windows 2008-10-10 00:38:37 +00:00
Charles Kerr 178008650e (libT) remove dead code 2008-10-06 19:44:38 +00:00
Charles Kerr 5391f768f4 fix a null pointer dereference 2008-10-05 22:51:18 +00:00
Charles Kerr 4fab4c9e9b (libT) finish killing tr_errno. 2008-10-03 04:49:06 +00:00
Charles Kerr 79d8a5cdf3 (libT) eliminating tr_errno, part 1: make tr_ioTestPiece return an int instead of a tr_errno. 2008-10-02 20:30:29 +00:00
Charles Kerr b1ef118e3f (libT) housekeeping: tr_torrent.handle --> tr_torrent.session 2008-10-02 15:53:33 +00:00
Charles Kerr cc89872dd4 run libT, cli, daemon, gtk through the source-code formatter "uncrustify" as promised/threatened 2008-09-23 19:11:04 +00:00
Charles Kerr 9c2c4ca08d fix at least one possible cause for the new crash reported by persept 2008-09-19 17:03:25 +00:00
Charles Kerr b5efa86ad7 add new compile-time throttle options suggested by persept 2008-09-18 03:55:31 +00:00
Charles Kerr 4fe1e1dae3 first draft at having more accurate speed controls 2008-09-17 19:44:24 +00:00
Charles Kerr 5184119948 (libT) possible solution to the peer hammering problem reported by Switeck 2008-09-05 05:14:49 +00:00
Charles Kerr 64e08510f0 (libT) maybe fix the hangs reported by users in the recent nightlies. 2008-08-27 18:50:21 +00:00
Charles Kerr 82815a74d2 #1214: add RPC support for per-peer status,ul,dl,address info 2008-08-22 17:59:31 +00:00
Mukund Sivaraman 318ca1fb7e Don't use memmove() for simple assignment 2008-08-22 16:34:16 +00:00
Mukund Sivaraman c10a612f90 Use stricter type for enums 2008-08-22 16:30:07 +00:00
Mukund Sivaraman 196ae72a85 Don't move all the rest of peers if current peer is choked
Only move the last peer into place.
2008-08-22 16:30:02 +00:00
Mukund Sivaraman 75d2e74a64 Use stricter type for enums 2008-08-22 16:13:52 +00:00