Commit Graph

350 Commits

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