Commit Graph

448 Commits

Author SHA1 Message Date
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