1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-02-24 23:12:35 +00:00
Commit graph

375 commits

Author SHA1 Message Date
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
Mukund Sivaraman
59351991f6 Further fix/cleanup compare code 2008-08-22 02:15:37 +00:00
Charles Kerr
d323a99cdd undo part of r6616 to address the assertion failure reported by andersos and Waldorf 2008-08-22 01:27:00 +00:00
Charles Kerr
ca45125259 (libT) more dead code removal: tr_compareTime() and tr_compareDouble() 2008-08-21 20:39:57 +00:00
Charles Kerr
1105dc0038 (libT) remove some dead functions: tr_calloc(), tr_compareUint16(), tr_compareUint32() 2008-08-21 19:03:56 +00:00
Mukund Sivaraman
2ed1e6ee9d Use signed integers for storing the random values 2008-08-20 16:19:47 +00:00
Mukund Sivaraman
d712f22b21 Rename function to indicate its stupidity 2008-08-20 14:55:23 +00:00
Mukund Sivaraman
e84275e429 Replace the random number generator inside peer-mgr with a
stupid faster one.
2008-08-20 14:36:15 +00:00
Mukund Sivaraman
4796e40d27 Inline tr_compareUint16() in this case 2008-08-20 13:54:31 +00:00
Mukund Sivaraman
ed7685dd1a Make tr_bitfieldHas() a macro 2008-08-20 13:45:52 +00:00
Charles Kerr
93898401fb more connection management changes 2008-08-16 16:00:49 +00:00
Charles Kerr
c3eb56a6e0 (libT) some more peer connection management: (1) reset `numFails' to zero after a successful connect (2) tweak the reconnect intervals a bit 2008-08-16 06:07:11 +00:00
Charles Kerr
52efe10ec5 a few attempts to reduce the "router death" load: lower the total number of connections made per second. increase the intervals for reconnecting to some peers. simplify the code a bit. 2008-08-16 05:12:55 +00:00
Mukund Sivaraman
de62de3e19 Replace random number generation code 2008-08-14 11:11:25 +00:00
Charles Kerr
2e6443a53d #1168: reading past the end of KTorrent's pex added.f strings 2008-08-10 14:58:11 +00:00
Charles Kerr
822238ca33 that's the trouble with quick fixes. 2008-08-09 23:44:31 +00:00
Charles Kerr
58fb922ac1 silence the logspam described in http://forum.transmissionbt.com/viewtopic.php?f=4&t=5588& 2008-08-09 16:17:59 +00:00
Charles Kerr
6937164c93 back out the changes from r6415. 2008-08-08 22:44:32 +00:00
Charles Kerr
eec87200e1 possible fix for #1149 2008-08-07 05:55:40 +00:00
Charles Kerr
b860119cd3 minor text cleanup 2008-08-01 16:43:22 +00:00
Charles Kerr
61258969c2 dead code removal 2008-08-01 04:05:22 +00:00
Charles Kerr
28db5be802 #1123: unreachable peers need to be handled better 2008-07-29 00:52:02 +00:00
Charles Kerr
72880446d8 (daemon) #1107: transmission-remote -t[n] -i should display webseeding info 2008-07-27 14:10:32 +00:00
Charles Kerr
fd06d85aee part 1 of Aloisius' performance patch 2008-06-27 02:42:44 +00:00
Charles Kerr
cda886028d fix `HAVE' error that broke during the webseed-piece changes last week. Reported by Aloisius in http://forum.transmissionbt.com/viewtopic.php?t=5175 2008-06-21 01:03:31 +00:00
Charles Kerr
81b510bfd1 #1034: fix optimistic unchoke bug reported by Aloisius 2008-06-17 15:19:12 +00:00
Charles Kerr
25a20d172d tr_peerMgrHasConnections(): take webseeds into account, as suggested by BentMyWookie 2008-06-12 16:28:39 +00:00
Charles Kerr
f8314b364b fix an oops from the previous commit. hi, titer 2008-06-11 19:04:48 +00:00
Charles Kerr
85c26e9f7d fix a pair of webseed bugs reported by BentMyWookie 2008-06-11 19:01:16 +00:00
Charles Kerr
f0229ed8ad (libT) allow custom blocklists... now all you need to do is place a file in the blocklists/ folder and Transmission will automatically use it the next time it starts. 2008-06-11 16:15:45 +00:00
Charles Kerr
393ebbc24a more webseed work. 2008-06-10 02:36:52 +00:00
Charles Kerr
61b41adf1a have idle webseeds return a speed of -1 instead of 0 so that we can differentiate between stalled and idle. document this in transmission.h. 2008-06-10 01:46:36 +00:00
Charles Kerr
837f997e6c (libT) new API for webseed statistics: tr_torrentGetWebSpeeds() 2008-06-10 01:38:12 +00:00
Charles Kerr
adbbf82302 (libT) make tr_torrentAmountFinished() look at the same pieces as tr_torrentAvailability() for consistency's sake as requested by BentMyWookie 2008-06-09 23:58:31 +00:00
Charles Kerr
51f1126a6d (libT) make tr_torrentAvailability() a lot faster in the case where the torrent is complete, and a little faster in the genral case too. 2008-06-09 23:11:15 +00:00
Charles Kerr
dce24eb1f0 libT: first cut at implementing the internal peers' request queues as pieces rather than blocks, as discussed with erdgeist and denis, to avoid a couple of nasty CPU bottlenecks. 2008-06-09 22:53:45 +00:00
Charles Kerr
7f8ef25acc whoops, left some test scaffolding code in r6073 2008-06-07 21:28:47 +00:00
Charles Kerr
e3e3bee8b5 #800 initial support for GetRight-style fetching of data through http and ftp servers specified in the .torrent's "url-list" tag 2008-06-07 21:26:41 +00:00
Charles Kerr
041561f232 minor refactoring of tr_bitfield to (a) simplify the tests and (b) make things easier to read 2008-06-07 01:44:54 +00:00
Charles Kerr
2878d0d32e bitfield speedups written by denis__. Thanks! 2008-06-05 20:21:56 +00:00
Charles Kerr
547056b50b #988: Optimistic unchoke can unchoke uninterested peers 2008-06-03 04:29:56 +00:00
Charles Kerr
cdf5cb87d6 another tweak for calculating tr_stat.desiredAvailable faster, suggested by BentMyWookie 2008-05-31 05:22:10 +00:00
Charles Kerr
e9c7e76c07 #980 optimistic unchoking is broken 2008-05-30 12:58:55 +00:00
Charles Kerr
70fcc56beb (libT) (1) shave a few bytes from tr_peer and tr_ratecontrol's footprints. (2) remove some dead code. 2008-05-26 12:14:35 +00:00
Charles Kerr
2c79888a93 RPC/IPC redesign 2008-05-18 16:44:30 +00:00
Charles Kerr
7b25d0476c remove occurrences of "if( 1 )" 2008-05-06 20:31:05 +00:00
Charles Kerr
86c3ae4fa4 #917: Another minor speedup suggested by BentMyWookie. He enjoys giving new suggestions right *after* I hit "svn commit" :) 2008-05-06 19:49:25 +00:00
Charles Kerr
d047c1175d #917: small speedup to r5759 suggested by BentMyWookie 2008-05-06 19:39:16 +00:00
Charles Kerr
0f9ca34848 #917: when seeding, drop peers that have everything you have (instead of just dropping seeds) 2008-05-06 19:06:46 +00:00
Charles Kerr
a362df0a14 #905: update peer_id client lists. add a dozen or so new clients from Azureus (thanks amc1!) 2008-04-29 16:57:16 +00:00
Charles Kerr
47021f1a12 fold most of the "deep logging" functions into a single function 2008-04-25 02:57:33 +00:00
Charles Kerr
3445817a80 peer-msgs: faster upload speeds in situations with few peers. this patch needs wider testing for side-effects wrt speed limits. 2008-04-19 19:37:05 +00:00
Charles Kerr
08b27749ba #890: be smarter about noticing seeds from tracker & pex 2008-04-19 15:07:59 +00:00
Charles Kerr
ea9e0b260f (1) fix choke/unchoke error. (2) if a peer keeps trying to reconnect to us, hang up during the handshake. 2008-04-17 03:48:56 +00:00
Charles Kerr
f12ac60d0a update a couple of the tr_stat fields based on feedback from BMW 2008-04-11 23:05:14 +00:00
Charles Kerr
5890eaef34 encapsulate the blocklist a little better so that we can add more blocklists in the future if necessary 2008-04-01 19:20:21 +00:00
Charles Kerr
def9d1a492 better logging of blocked IP addresses. 2008-03-30 00:57:55 +00:00
Charles Kerr
a20bb8d569 get the blocklist code working & add a unit test for it. 2008-03-29 21:05:51 +00:00
Charles Kerr
c63b548195 fix bug that caused very large torrents to crash Transmission 2008-03-22 18:10:59 +00:00
Charles Kerr
5e3dcb5f6f #751: more digging to try to figure out where the problem is. 2008-03-06 13:24:44 +00:00
Charles Kerr
e00d8bf849 fix some gcc 4.2 warnings 2008-02-28 19:33:11 +00:00
Charles Kerr
f2f24e936d tear out the "fast peer" code from refillPulse() altogether 2008-02-25 01:35:20 +00:00
Charles Kerr
b9a9e1f1a8 disable some fastpeer code that's too expensive. 2008-02-25 01:29:30 +00:00
Charles Kerr
cfe068876e remove unnecessary #includes 2008-02-19 18:39:49 +00:00
Charles Kerr
8d14a789cb #698: have' gets too far ahead of verified' 2008-02-10 04:03:19 +00:00
Charles Kerr
f72ba4b8d8 #663: connection limits don't work correctly. 2008-01-28 21:05:50 +00:00
Charles Kerr
b1cd6ecccc remove unused "max unchoked peers" feature. fix obsolete TR_FLAG_SAVE comment. 2008-01-23 17:06:36 +00:00
Charles Kerr
1b7706e101 finish the trunk/1.0x libT merge: router death & portability 2008-01-21 02:11:57 +00:00
Charles Kerr
de21d77af2 test code to test a "router death" theory in the nightlies 2008-01-20 03:21:51 +00:00
Charles Kerr
3a47dfdb23 (router death) dial down the max number of new sockets per second even lower 2008-01-19 03:44:44 +00:00
Charles Kerr
de515ee339 if the torrent's download path doesn't exist, don't create it -- it's might be a removeable disk that got unplugged. 2008-01-18 19:13:32 +00:00
Charles Kerr
52c3243b4b more test code to address "router death". Based on maxintech's feedback in the forums, try making the peer manager's reconnect intervals and volume more like 1.00 2008-01-17 03:43:08 +00:00
Charles Kerr
377c00a826 a test: if we set the reconnect period to any given peer to > 900 seconds, will that make "router death" go away? 900 seconds is the usual router setting for timing out bad sockets. 2008-01-16 20:24:18 +00:00
Charles Kerr
61fc032dc1 sync peersSendingToUs with isDownloadingFrom, reported by BentMyWookie 2008-01-16 17:52:47 +00:00
Charles Kerr
a1e20dd7e9 more work on "router death": if we can't connect to a given peer, retry it fewer times and wait much longer between retries. 2008-01-16 15:13:02 +00:00
Charles Kerr
ca70ef18bb drive the throttle even lower.. max of 16 connections per second. 2008-01-15 06:02:47 +00:00
Charles Kerr
2c7a7c4253 throttle the number of new connections per second down even further from 48 to 32 because of the continuing "kills my router" reports 2008-01-13 21:05:38 +00:00
Charles Kerr
90f5c61327 tweak the conncetions a little bit 2008-01-11 19:44:45 +00:00
Charles Kerr
876cd4c413 test patch for the "router death" bug: throttle the number of connections made per second 2008-01-11 18:13:09 +00:00
Charles Kerr
39b1db460d follow the spec's suggestion that new connections be 3x as likely for optimistic unchoke 2008-01-11 02:09:20 +00:00
Charles Kerr
6f6adb1d53 try to ramp up fast connections more quickly. 2008-01-11 00:38:26 +00:00
Charles Kerr
3a6396a3cb mingw portability fixes 2008-01-10 18:52:46 +00:00
Mitchell Livingston
bedfab2ccc clarify peer upload and download 2008-01-10 00:52:02 +00:00
Charles Kerr
591f7f8b10 * improve the unchoking algorithm.
* when deciding which peers to connect to, take peer's previous speeds into account
* longer delay interval before reconnecting to peers that didn't give us data
* added uTorrent-inspired "flags" column in tr_peer_stat and gtk's torrent details' "peer" tab
2008-01-09 17:33:43 +00:00
Charles Kerr
4f0f6e150e fix another OpenBSD alignment bug reported by naddy 2008-01-08 01:57:48 +00:00
Charles Kerr
35f73c097c lazy "allowed set" generation. add regression test for "allowed set" generation. 2008-01-06 21:56:30 +00:00
Charles Kerr
6c3eab0a92 #585: 1.00 could be sped up by elminating reconnect intervals for some peers 2008-01-05 18:17:56 +00:00
Charles Kerr
893b0c10a3 to try to prevent router overloads, make (MAX_RECONNECTIONS_PER_PULSE * RECONNECT_PERIOD_MSEC) smaller. 2008-01-03 05:30:45 +00:00
Charles Kerr
ce6c33b7bf set copyright info to 2008 2008-01-01 17:20:20 +00:00