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
Mukund Sivaraman
b79e6561c0
Remove unused missingBlockCount
2008-08-22 16:03:49 +00:00
Charles Kerr
c32491ab3a
(libT) remove a little more dead code
2008-08-22 15:33:55 +00:00
Mukund Sivaraman
7f749d1284
Sort piece_data_time in descending order.
...
Also fix code style in some places.
2008-08-22 02:34:22 +00:00